activeadmin_ckeditor5 0.1.3 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bae950b17cdfd8d3dee26cf2fc34f774afba00c1a0c3bfd2a18e552714907b21
4
- data.tar.gz: 9e7ab3c8157d78ac4005d27fb0c0b12514cc69e385378e0b7ef9ede197b2bb45
3
+ metadata.gz: 3ded285aa9788991743241b00bafc73bf5b01eaebcba6c8f53b8de4b3ab72b05
4
+ data.tar.gz: 543fe6fa3fc32340f07bfb548391af599c2bf073724965f02e4c3393395f0403
5
5
  SHA512:
6
- metadata.gz: cea57c4f7b4b35ffc97c28623846ddfe6f3be97eae96d7d2224b6a17ee0895c3efa808f082eb9c73de91dc3d75b5e5e168a51e9632caff946fca2c1e5d53af8a
7
- data.tar.gz: eb68e10b22178562828680a4c542dd763476133ffc376de00ce92305ac7b005323f706b7d0753b49d90a93b146df90c25e7877b83cddb1fe9dab82941d1f9486
6
+ metadata.gz: 8cc1c9bf426c05cb828431bf4ca8f0acac4ed962e31178990bd6f38ba75f0250305cad82c3dc773552e49559d3518b12620c38e1e0e9fd4ceb9d24462630cb66
7
+ data.tar.gz: b97b1db1db79a6f9ed3177255b8a08cdf2d02d32c8a31beb57fa02103601266798918a829a1e1356ea677c3aca339ec1183d2f2a99fd96b51314f4c54da0d875
@@ -2,28 +2,38 @@
2
2
 
3
3
  (function () {
4
4
  function initCkeditors() {
5
- const activeAdminCKEditor = document.querySelectorAll("[data-activeadmin-ckeditor]")
5
+ const activeAdminCKEditor = document.querySelectorAll(
6
+ "[data-activeadmin-ckeditor]"
7
+ );
6
8
  for (let i = 0; i < activeAdminCKEditor.length; i++) {
7
- ClassicEditor.create(activeAdminCKEditor[i]);
9
+ let editor;
10
+ const input = activeAdminCKEditor[i].querySelector(
11
+ 'input[type="hidden"]'
12
+ );
13
+
14
+ ClassicEditor.create(activeAdminCKEditor[i]).then((newEditor) => {
15
+ editor = newEditor;
16
+ editor.setData(input.value);
17
+ });
18
+ document.querySelector("form.formtastic").onsubmit = () => {
19
+ let editorElement = document.querySelectorAll(".ck-editor")[i];
20
+ removeFakeContainer(editorElement);
21
+ console.log("editor.getData()", editor.getData());
22
+ input.value = editor.getData();
23
+ };
8
24
  }
9
- const formtastic = document.querySelector("form.formtastic");
10
- if (formtastic) {
11
- formtastic.onsubmit = () => {
12
- const editors = document.querySelectorAll(".ck-editor");
13
- for (let i = 0; i < editors.length; i++) {
14
- const input = activeAdminCKEditor[i].querySelector('input[type="hidden"]');
15
- const editorContent = editors[i].querySelector(
16
- ".ck-editor__main .ck-content"
17
- );
18
- if (editorContent) {
19
- input.value = editorContent.innerHTML;
20
- } else {
21
- input.value = "";
22
- }
23
- }
24
- }
25
+ }
26
+
27
+ function removeFakeContainer(editor) {
28
+ const fakeContainers = editor.querySelectorAll(
29
+ ".ck-fake-selection-container"
30
+ );
31
+
32
+ for (let i = 0; i < fakeContainers.length; i++) {
33
+ fakeContainers[i].remove();
25
34
  }
26
35
  }
36
+
27
37
  $(document).ready(initCkeditors);
28
38
  $(document).on("has_many_add:after", ".has_many_container", initCkeditors);
29
39
  $(document).on("turbolinks:load", initCkeditors);