mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-06-07 18:44:08 +00:00
Upgrade CKEditor and refactor configuration with use of typescript
This commit is contained in:
parent
4b07fe3622
commit
dcfa569e3a
6
.changes/unreleased/Feature-20240531-190242.yaml
Normal file
6
.changes/unreleased/Feature-20240531-190242.yaml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
kind: Feature
|
||||||
|
body: |
|
||||||
|
Upgrade CKEditor and refactor configuration with use of typescript
|
||||||
|
time: 2024-05-31T19:02:42.776662753+02:00
|
||||||
|
custom:
|
||||||
|
Issue: ""
|
13
package.json
13
package.json
@ -6,12 +6,13 @@
|
|||||||
"@apidevtools/swagger-cli": "^4.0.4",
|
"@apidevtools/swagger-cli": "^4.0.4",
|
||||||
"@babel/core": "^7.20.5",
|
"@babel/core": "^7.20.5",
|
||||||
"@babel/preset-env": "^7.20.2",
|
"@babel/preset-env": "^7.20.2",
|
||||||
"@ckeditor/ckeditor5-build-classic": "^35.3.2",
|
"@ckeditor/ckeditor5-build-classic": "^41.4.2",
|
||||||
"@ckeditor/ckeditor5-dev-utils": "^31.1.13",
|
"@ckeditor/ckeditor5-dev-utils": "^40.2.0",
|
||||||
"@ckeditor/ckeditor5-dev-webpack-plugin": "^31.1.13",
|
"@ckeditor/ckeditor5-dev-webpack-plugin": "^31.1.13",
|
||||||
"@ckeditor/ckeditor5-markdown-gfm": "^35.3.2",
|
"@ckeditor/ckeditor5-dev-translations": "^40.2.0",
|
||||||
"@ckeditor/ckeditor5-theme-lark": "^35.3.2",
|
"@ckeditor/ckeditor5-markdown-gfm": "^41.4.2",
|
||||||
"@ckeditor/ckeditor5-vue": "^4.0.1",
|
"@ckeditor/ckeditor5-theme-lark": "^41.4.2",
|
||||||
|
"@ckeditor/ckeditor5-vue": "^5.1.0",
|
||||||
"@symfony/webpack-encore": "^4.1.0",
|
"@symfony/webpack-encore": "^4.1.0",
|
||||||
"@tsconfig/node14": "^1.0.1",
|
"@tsconfig/node14": "^1.0.1",
|
||||||
"@types/dompurify": "^3.0.5",
|
"@types/dompurify": "^3.0.5",
|
||||||
@ -31,7 +32,7 @@
|
|||||||
"select2-bootstrap-theme": "0.1.0-beta.10",
|
"select2-bootstrap-theme": "0.1.0-beta.10",
|
||||||
"style-loader": "^3.3.1",
|
"style-loader": "^3.3.1",
|
||||||
"ts-loader": "^9.3.1",
|
"ts-loader": "^9.3.1",
|
||||||
"typescript": "^4.7.2",
|
"typescript": "^5.4.5",
|
||||||
"vue-loader": "^17.0.0",
|
"vue-loader": "^17.0.0",
|
||||||
"webpack": "^5.75.0",
|
"webpack": "^5.75.0",
|
||||||
"webpack-cli": "^5.0.1"
|
"webpack-cli": "^5.0.1"
|
||||||
|
@ -39,23 +39,5 @@ ClassicEditor.defaultConfig = {
|
|||||||
'redo'
|
'redo'
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
language: 'fr'
|
language: 'fr',
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
let Fields = [];
|
|
||||||
Fields.push.apply(Fields, document.querySelectorAll('textarea[ckeditor]'));
|
|
||||||
// enable for custom fields
|
|
||||||
//Fields.push.apply(Fields, document.querySelectorAll('.cf-fields textarea'));
|
|
||||||
|
|
||||||
Fields.forEach(function(field) {
|
|
||||||
ClassicEditor
|
|
||||||
.create( field )
|
|
||||||
.then( editor => {
|
|
||||||
//console.log( 'CkEditor was initialized', editor );
|
|
||||||
})
|
|
||||||
.catch( error => {
|
|
||||||
console.error( error.stack );
|
|
||||||
})
|
|
||||||
;
|
|
||||||
});
|
|
@ -0,0 +1,15 @@
|
|||||||
|
import ClassicEditor from "./editor_config";
|
||||||
|
|
||||||
|
const ckeditorFields: NodeListOf<HTMLTextAreaElement> = document.querySelectorAll('textarea[ckeditor]');
|
||||||
|
ckeditorFields.forEach((field: HTMLTextAreaElement): void => {
|
||||||
|
ClassicEditor
|
||||||
|
.create( field )
|
||||||
|
.then( editor => {
|
||||||
|
//console.log( 'CkEditor was initialized', editor );
|
||||||
|
})
|
||||||
|
.catch( error => {
|
||||||
|
console.error( error.stack );
|
||||||
|
})
|
||||||
|
;
|
||||||
|
});
|
||||||
|
//Fields.push.apply(Fields, document.querySelectorAll('.cf-fields textarea'));
|
@ -1,10 +1,10 @@
|
|||||||
const CKEditorWebpackPlugin = require( '@ckeditor/ckeditor5-dev-webpack-plugin' );
|
|
||||||
const { styles } = require( '@ckeditor/ckeditor5-dev-utils' );
|
const { styles } = require( '@ckeditor/ckeditor5-dev-utils' );
|
||||||
|
const {CKEditorTranslationsPlugin} = require("@ckeditor/ckeditor5-dev-translations");
|
||||||
|
|
||||||
buildCKEditor = function(encore)
|
buildCKEditor = function(encore)
|
||||||
{
|
{
|
||||||
encore
|
encore
|
||||||
.addPlugin( new CKEditorWebpackPlugin( {
|
.addPlugin( new CKEditorTranslationsPlugin( {
|
||||||
language: 'fr',
|
language: 'fr',
|
||||||
addMainLanguageTranslationsToAllAssets: true,
|
addMainLanguageTranslationsToAllAssets: true,
|
||||||
verbose: !encore.isProduction(),
|
verbose: !encore.isProduction(),
|
||||||
@ -65,7 +65,7 @@ module.exports = function(encore, entries)
|
|||||||
encore.addEntry('mod_collection', __dirname + '/Resources/public/module/collection/index.ts');
|
encore.addEntry('mod_collection', __dirname + '/Resources/public/module/collection/index.ts');
|
||||||
encore.addEntry('mod_forkawesome', __dirname + '/Resources/public/module/forkawesome/index.js');
|
encore.addEntry('mod_forkawesome', __dirname + '/Resources/public/module/forkawesome/index.js');
|
||||||
encore.addEntry('mod_bootstrap', __dirname + '/Resources/public/module/bootstrap/index.js');
|
encore.addEntry('mod_bootstrap', __dirname + '/Resources/public/module/bootstrap/index.js');
|
||||||
encore.addEntry('mod_ckeditor5', __dirname + '/Resources/public/module/ckeditor5/index.js');
|
encore.addEntry('mod_ckeditor5', __dirname + '/Resources/public/module/ckeditor5/index');
|
||||||
encore.addEntry('mod_disablebuttons', __dirname + '/Resources/public/module/disable-buttons/index.js');
|
encore.addEntry('mod_disablebuttons', __dirname + '/Resources/public/module/disable-buttons/index.js');
|
||||||
encore.addEntry('mod_blur', __dirname + '/Resources/public/module/blur/index.js');
|
encore.addEntry('mod_blur', __dirname + '/Resources/public/module/blur/index.js');
|
||||||
encore.addEntry('mod_input_address', __dirname + '/Resources/public/vuejs/Address/mod_input_address_index.js');
|
encore.addEntry('mod_input_address', __dirname + '/Resources/public/vuejs/Address/mod_input_address_index.js');
|
||||||
|
@ -52,7 +52,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import CKEditor from '@ckeditor/ckeditor5-vue';
|
import CKEditor from '@ckeditor/ckeditor5-vue';
|
||||||
import ClassicEditor from "ChillMainAssets/module/ckeditor5";
|
import ClassicEditor from "../../../../../../ChillMainBundle/Resources/public/module/ckeditor5/editor_config";
|
||||||
import { mapState } from "vuex";
|
import { mapState } from "vuex";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
@ -41,7 +41,7 @@
|
|||||||
import Modal from 'ChillMainAssets/vuejs/_components/Modal.vue';
|
import Modal from 'ChillMainAssets/vuejs/_components/Modal.vue';
|
||||||
import { makeFetch } from "ChillMainAssets/lib/api/apiMethods";
|
import { makeFetch } from "ChillMainAssets/lib/api/apiMethods";
|
||||||
import CKEditor from '@ckeditor/ckeditor5-vue';
|
import CKEditor from '@ckeditor/ckeditor5-vue';
|
||||||
import ClassicEditor from "ChillMainAssets/module/ckeditor5";
|
import ClassicEditor from "ChillMainAssets/module/ckeditor5/editor_config";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "WriteComment",
|
name: "WriteComment",
|
||||||
|
@ -331,7 +331,7 @@
|
|||||||
import {mapState, mapGetters,} from 'vuex';
|
import {mapState, mapGetters,} from 'vuex';
|
||||||
import {dateToISO, ISOToDate, ISOToDatetime} from 'ChillMainAssets/chill/js/date';
|
import {dateToISO, ISOToDate, ISOToDatetime} from 'ChillMainAssets/chill/js/date';
|
||||||
import CKEditor from '@ckeditor/ckeditor5-vue';
|
import CKEditor from '@ckeditor/ckeditor5-vue';
|
||||||
import ClassicEditor from 'ChillMainAssets/module/ckeditor5/index.js';
|
import ClassicEditor from 'ChillMainAssets/module/ckeditor5/editor_config';
|
||||||
import AddResult from './components/AddResult.vue';
|
import AddResult from './components/AddResult.vue';
|
||||||
import AddEvaluation from './components/AddEvaluation.vue';
|
import AddEvaluation from './components/AddEvaluation.vue';
|
||||||
import AddPersons from 'ChillPersonAssets/vuejs/_components/AddPersons.vue';
|
import AddPersons from 'ChillPersonAssets/vuejs/_components/AddPersons.vue';
|
||||||
|
@ -195,7 +195,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import {dateToISO, ISOToDate, ISOToDatetime} from 'ChillMainAssets/chill/js/date';
|
import {dateToISO, ISOToDate, ISOToDatetime} from 'ChillMainAssets/chill/js/date';
|
||||||
import CKEditor from '@ckeditor/ckeditor5-vue';
|
import CKEditor from '@ckeditor/ckeditor5-vue';
|
||||||
import ClassicEditor from 'ChillMainAssets/module/ckeditor5/index.js';
|
import ClassicEditor from 'ChillMainAssets/module/ckeditor5/editor_config';
|
||||||
import { mapGetters, mapState } from 'vuex';
|
import { mapGetters, mapState } from 'vuex';
|
||||||
import PickTemplate from 'ChillDocGeneratorAssets/vuejs/_components/PickTemplate.vue';
|
import PickTemplate from 'ChillDocGeneratorAssets/vuejs/_components/PickTemplate.vue';
|
||||||
import {buildLink} from 'ChillDocGeneratorAssets/lib/document-generator';
|
import {buildLink} from 'ChillDocGeneratorAssets/lib/document-generator';
|
||||||
|
@ -75,7 +75,7 @@ div.participation-details {
|
|||||||
import { mapGetters } from 'vuex';
|
import { mapGetters } from 'vuex';
|
||||||
import PersonRenderBox from 'ChillPersonAssets/vuejs/_components/Entity/PersonRenderBox.vue';
|
import PersonRenderBox from 'ChillPersonAssets/vuejs/_components/Entity/PersonRenderBox.vue';
|
||||||
import CKEditor from '@ckeditor/ckeditor5-vue';
|
import CKEditor from '@ckeditor/ckeditor5-vue';
|
||||||
import ClassicEditor from 'ChillMainAssets/module/ckeditor5/index.js';
|
import ClassicEditor from 'ChillMainAssets/module/ckeditor5/editor_config';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'MemberDetails',
|
name: 'MemberDetails',
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import CKEditor from '@ckeditor/ckeditor5-vue';
|
import CKEditor from '@ckeditor/ckeditor5-vue';
|
||||||
import ClassicEditor from "ChillMainAssets/module/ckeditor5";
|
import ClassicEditor from "ChillMainAssets/module/ckeditor5/editor_config";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "PersonComment.vue",
|
name: "PersonComment.vue",
|
||||||
|
@ -15,7 +15,7 @@ const personMessages = {
|
|||||||
person: {
|
person: {
|
||||||
firstname: "Prénom",
|
firstname: "Prénom",
|
||||||
lastname: "Nom",
|
lastname: "Nom",
|
||||||
born: (ctx) => {
|
born: (ctx: {gender: "man"|"woman"|"unknown"}) => {
|
||||||
if (ctx.gender === 'man') {
|
if (ctx.gender === 'man') {
|
||||||
return 'Né le';
|
return 'Né le';
|
||||||
} else if (ctx.gender === 'woman') {
|
} else if (ctx.gender === 'woman') {
|
Loading…
x
Reference in New Issue
Block a user