From d396eafde64d8833a6c0c33c9286946efb6629da Mon Sep 17 00:00:00 2001 From: Simon Vieille Date: Tue, 22 Mar 2022 11:00:18 +0100 Subject: [PATCH 1/2] rename editor.js with tinymce.js --- src/core/Resources/assets/js/modules/{editor.js => tinymce.js} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/core/Resources/assets/js/modules/{editor.js => tinymce.js} (100%) diff --git a/src/core/Resources/assets/js/modules/editor.js b/src/core/Resources/assets/js/modules/tinymce.js similarity index 100% rename from src/core/Resources/assets/js/modules/editor.js rename to src/core/Resources/assets/js/modules/tinymce.js From 9d72d2c0c052bac2e44da8874adb8ec9572da8b4 Mon Sep 17 00:00:00 2001 From: Simon Vieille Date: Tue, 22 Mar 2022 11:00:58 +0100 Subject: [PATCH 2/2] add editorjs editor --- .../DependencyInjection/Configuration.php | 8 + src/core/Resources/assets/css/admin.scss | 16 ++ src/core/Resources/assets/js/admin.js | 3 +- .../js/components/editorjs/image-tool.js | 193 ++++++++++++++++++ .../Resources/assets/js/modules/editorjs.js | 165 +++++++++++++++ .../views/editorjs/checkList.html.twig | 13 ++ .../Resources/views/editorjs/code.html.twig | 3 + .../views/editorjs/delimiter.html.twig | 3 + .../Resources/views/editorjs/header.html.twig | 3 + .../Resources/views/editorjs/image.html.twig | 3 + .../Resources/views/editorjs/list.html.twig | 13 ++ .../views/editorjs/nestedList.html.twig | 23 +++ .../views/editorjs/paragraph.html.twig | 3 + .../Resources/views/editorjs/quote.html.twig | 11 + .../Resources/views/editorjs/raw.html.twig | 3 + .../Resources/views/editorjs/table.html.twig | 27 +++ .../views/editorjs/warning.html.twig | 9 + src/core/Twig/Extension/EditorJsExtension.php | 91 +++++++++ 18 files changed, 589 insertions(+), 1 deletion(-) create mode 100644 src/core/Resources/assets/js/components/editorjs/image-tool.js create mode 100644 src/core/Resources/assets/js/modules/editorjs.js create mode 100644 src/core/Resources/views/editorjs/checkList.html.twig create mode 100644 src/core/Resources/views/editorjs/code.html.twig create mode 100644 src/core/Resources/views/editorjs/delimiter.html.twig create mode 100644 src/core/Resources/views/editorjs/header.html.twig create mode 100644 src/core/Resources/views/editorjs/image.html.twig create mode 100644 src/core/Resources/views/editorjs/list.html.twig create mode 100644 src/core/Resources/views/editorjs/nestedList.html.twig create mode 100644 src/core/Resources/views/editorjs/paragraph.html.twig create mode 100644 src/core/Resources/views/editorjs/quote.html.twig create mode 100644 src/core/Resources/views/editorjs/raw.html.twig create mode 100644 src/core/Resources/views/editorjs/table.html.twig create mode 100644 src/core/Resources/views/editorjs/warning.html.twig create mode 100644 src/core/Twig/Extension/EditorJsExtension.php diff --git a/src/core/DependencyInjection/Configuration.php b/src/core/DependencyInjection/Configuration.php index 9d6b419..6999049 100644 --- a/src/core/DependencyInjection/Configuration.php +++ b/src/core/DependencyInjection/Configuration.php @@ -109,6 +109,14 @@ class Configuration implements ConfigurationInterface ->end() ->end() ->end() + ->arrayNode('editor_js') + ->children() + ->arrayNode('blocks') + ->scalarPrototype() + ->end() + ->end() + ->end() + ->end() ->arrayNode('file_manager') ->children() ->arrayNode('mimes') diff --git a/src/core/Resources/assets/css/admin.scss b/src/core/Resources/assets/css/admin.scss index a054ff8..bf8a81f 100644 --- a/src/core/Resources/assets/css/admin.scss +++ b/src/core/Resources/assets/css/admin.scss @@ -14,6 +14,7 @@ $pagination-active-bg: #343a40 !default; @import "~bootstrap/scss/bootstrap.scss"; @import "~@fortawesome/fontawesome-free/css/all.css"; @import "~flag-icon-css/sass/flag-icon.scss"; +@import "~flag-icon-css/sass/flag-icon.scss"; @for $i from 1 through 100 { .miw-#{$i*5} { @@ -559,3 +560,18 @@ form { color: #333; } } + +.editorjs { + @extend .form-control; + + height: auto; + padding-left: 50px; + padding-right: 50px; + + &-block-image { + img { + max-width: 100%; + margin-bottom: 10px; + } + } +} diff --git a/src/core/Resources/assets/js/admin.js b/src/core/Resources/assets/js/admin.js index ff1cdc0..04c7c27 100644 --- a/src/core/Resources/assets/js/admin.js +++ b/src/core/Resources/assets/js/admin.js @@ -12,7 +12,8 @@ require('./modules/modal.js')() require('./modules/push-state.js')() require('./modules/password.js')() require('./modules/tooltip.js')() -require('./modules/editor.js')() +require('./modules/tinymce.js')() +require('./modules/editorjs.js')() require('./modules/panel.js')() require('./modules/choices.js')() require('./modules/checkbox-checker.js')() diff --git a/src/core/Resources/assets/js/components/editorjs/image-tool.js b/src/core/Resources/assets/js/components/editorjs/image-tool.js new file mode 100644 index 0000000..e4800a9 --- /dev/null +++ b/src/core/Resources/assets/js/components/editorjs/image-tool.js @@ -0,0 +1,193 @@ +const $ = require('jquery') +const Vue = require('vue').default +const FileManager = require('../file-manager/FileManager').default + +const createModal = function () { + let container = $('#fm-modal') + const body = $('body') + + if (!container.length) { + container = $('