From a24591f0244cc0249c349a0e1fba0f0505a00e96 Mon Sep 17 00:00:00 2001 From: sofyenne Date: Wed, 17 Jul 2024 14:36:49 +0100 Subject: [PATCH] feat: Add note editor plugins extentions - EXO-73170 - Meeds-io/MIPs#128 --- .../main/webapp/WEB-INF/gatein-resources.xml | 11 +++++++ .../noteEditorPluginsExtensions/extensions.js | 30 +++++++++++++++++++ commons-exo-extension/webpack.prod.js | 1 + 3 files changed, 42 insertions(+) create mode 100644 commons-exo-extension/src/main/webapp/vue-app/noteEditorPluginsExtensions/extensions.js diff --git a/commons-exo-extension/src/main/webapp/WEB-INF/gatein-resources.xml b/commons-exo-extension/src/main/webapp/WEB-INF/gatein-resources.xml index 0ef6b3a5..18860f1c 100644 --- a/commons-exo-extension/src/main/webapp/WEB-INF/gatein-resources.xml +++ b/commons-exo-extension/src/main/webapp/WEB-INF/gatein-resources.xml @@ -30,4 +30,15 @@ eXoVueI18n + + WYSIWYGPluginsExtensions + NotesEditorGRP + + + extensionRegistry + + diff --git a/commons-exo-extension/src/main/webapp/vue-app/noteEditorPluginsExtensions/extensions.js b/commons-exo-extension/src/main/webapp/vue-app/noteEditorPluginsExtensions/extensions.js new file mode 100644 index 00000000..2c9b0a71 --- /dev/null +++ b/commons-exo-extension/src/main/webapp/vue-app/noteEditorPluginsExtensions/extensions.js @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2024 eXo Platform SAS + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +export function init() { + if (eXo.ecm) { + CKEDITOR.plugins.addExternal('uploadImage', '/eXoWCMResources/eXoPlugins/uploadImage/', 'plugin.js'); + CKEDITOR.plugins.addExternal('selectImage', '/eXoWCMResources/eXoPlugins/selectImage/', 'plugin.js'); + + extensionRegistry.registerExtension('WYSIWYGPlugins', 'image', { + id: 'selectImage', + extraPlugin: 'selectImage', + extraToolbarItem: 'selectImage', + rank: 20, + }); + } +} diff --git a/commons-exo-extension/webpack.prod.js b/commons-exo-extension/webpack.prod.js index 3404c955..cf45e412 100644 --- a/commons-exo-extension/webpack.prod.js +++ b/commons-exo-extension/webpack.prod.js @@ -23,6 +23,7 @@ const config = { }, entry: { eXoPlatformGamificationConnectorExtensions: './src/main/webapp/vue-app/gamification-connectorExtensions/extensions.js', + WYSIWYGPluginsExtensions: './src/main/webapp/vue-app/noteEditorPluginsExtensions/extensions.js' }, output: { path: path.join(__dirname, 'target/commons-exo-extension/'),