krausandre / content-blocks-gui Goto Github PK
View Code? Open in Web Editor NEWLicense: GNU General Public License v2.0
License: GNU General Public License v2.0
There is no readme yet.
I added my custom sitepackage and this was not shown inside the dropdown for selecting the host extension.
Reason could be
The extension is not added, when it has no require-dependency for content blocks in its composer.json.
This should not happen, as we can not be sure if everybody has this dependency set. For example, if you have a composer.json for the whole project, and the dependency is set there, but not in the sitepackage.
I get this error, while having CSP for the backend active:
Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self' 'nonce-WV0EnOPNpeCxINrtDdJ_VX-MpaRqEuE9v55KxxWvRYIlvUf3_hgzYg' 'report-sample'". Either the 'unsafe-inline' keyword, a hash ('sha256-1e5RR2OpHhuX2h0Bat19DsNTmqbo4M3T1pqfeTXCHaA='), or a nonce ('nonce-...') is required to enable inline execution.
t @ VM88914:1
s @ VM88914:1
c @ VM88914:1
(anonymous) @ VM88914:1
Maybe after a save, so the user couldnt click somewhere else, while it is saving.
The Notifications and Modals from TYPO3 can't be used within the vitests and later inside the website which runs outside TYPO3.
We should consider to change the TYPO3 Notifications with some kind of JS or Vue Notifications
Translate the labels inside the Vue App.
Shall we maintain the translations inside Crowdin so other people can translate the labels and download them into their TYPO3 installation?
During ddev start I get the following Error:
src/views/EditCB/PickerView.vue:31:19 - error TS2339: Property 'cloneFieldType' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<{} & VNodeProps & AllowedComponentProps & ComponentCustomProps & Readonly<...>, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...ar...'.
and
Property 'availableFieldTypes' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<{} & VNodeProps & AllowedComponentProps & ComponentCustomProps & Readonly<...>, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...ar...'.
Veelidate or something else to validate all the input fields, checkboxes, select boxes, etc.
It is fine to access the store data directly:
https://pinia.vuejs.org/core-concepts/getters.html
Just mutations need to make sure that object changes are noticed by pinia.
Since our used version of vuedraggable is not maintained anymore (last commit october 2022) we should switch to its successor https://github.com/Alfred-Skyblue/vue-draggable-plus
_save_content_type
expects
'contentBlock' => [
'vendor' => $getParsedBody['contentBlock']['vendor'],
'name' => $getParsedBody['contentBlock']['name'],
]
_get_cb
only sets name
(as "xxx/yyy" compound)
JE: I would prefer just name
in _save_content_type
, too.
We need to get bool/int/string/array in PHP to correctly save it as .yaml.
The HTTP transfer is encoded as multipart/form-data
(because PHP does not understand JSON natively).
Currently that leads to only string/array.
Idea:
We could send a JSON string via multipart/form-data
and json_decode()
the whole thing once in PHP.
Maybe the table view for the overview could be inside one big table with some kind of filtering and sorting
The json schema is now stored in https://github.com/nhovratov/content-blocks-json-schema
Storybook could be interesting for developing the different components.
It could be also helpfull for visual testing
Get translations of a CB: partly done
Save translation of a CB: partly done
Since plugins will be available, we should include them too.
At the moment this is still WIP in nhovratov/content-blocks#95
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.