ckeditor_wave 1.0.1 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6bcf5937aee290786e1b58ec78e57423f2a8fcf4571531b37a169039122a07b6
4
- data.tar.gz: de71c54d2b8fd069955ab859ecbeeb0082766eacfef1162abaf83b1922a5425d
3
+ metadata.gz: 8206aa6860a27f3e478e6e0d1450b50e279b79a84e7fc104f4bbfce4aa25919c
4
+ data.tar.gz: 342fc1254f476c082913dfe3dc0c4839cde37db2fc84445fbdfb027a71919eb8
5
5
  SHA512:
6
- metadata.gz: 74bbabebe162ed98b04f21ac0c13f94d4bbf47583a5c0053630b5cc003e8977f8f02c14233dc9f845df68ce01c6f600cac744beadfb15270c7fb91861984d4e7
7
- data.tar.gz: 10745b19b256159a5c2e2165e3ef6fbe51b8cabd717f9a9bc5daf2dd7c5752df53ebd070eb645f93ae1563e54f70a020a599cf2d88c9b238a51764a8a7861cfc
6
+ metadata.gz: 8b13a5c0b24cf4c169bdc9b8ea96b0aa07f77df5e26e0587227af04f9643fab3d025854e603c70aa8d11e286b68fa4877dabb6e718bd68e7e71245953614de92
7
+ data.tar.gz: 9f3287fd2dc39537f28a86898ddedae8ed4b0d59392870d3f544707373b041eb7b93b4f73e97f60b07985c56640a109cca0e4421ab4788b32bd58da95a45f70a
data/.gitignore CHANGED
@@ -6,3 +6,4 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
+ /*.gem
data/README.md CHANGED
@@ -7,7 +7,7 @@ This gem integrates [CKEditor 5](https://docs.ckeditor.com/ckeditor5/) with [Car
7
7
  Add this line to your application's Gemfile:
8
8
 
9
9
  ```
10
- gem 'ckeditor_wave', '~> 1.0'
10
+ gem 'ckeditor_wave', '~> 2.0'
11
11
  ```
12
12
 
13
13
  And then execute:
@@ -36,8 +36,11 @@ mount CkeditorWave::Engine => 'ckeditor_wave'
36
36
  ```
37
37
 
38
38
 
39
- To attach [CKEditor 5](https://docs.ckeditor.com/ckeditor5/) to an HTML form, please ensure that it has the 'ckeditor_wave' id.
39
+ To attach [CKEditor 5](https://docs.ckeditor.com/ckeditor5/) to HTML forms, call the initiateCkeditor() function inside your application.js by giving it one or more CSS selectors as arguments. For example:
40
40
 
41
+ ```
42
+ initiateCkeditor('#editor1', '#editor2', '#editor3')
43
+ ```
41
44
 
42
45
  ## Dependencies
43
46
  * [CKEditor 5](https://docs.ckeditor.com/ckeditor5/) - classic editor build 10.0.1
@@ -1 +1 @@
1
- 'use strict';var _createClass=function(){function a(b,c){for(var e,d=0;d<c.length;d++)e=c[d],e.enumerable=e.enumerable||!1,e.configurable=!0,'value'in e&&(e.writable=!0),Object.defineProperty(b,e.key,e)}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}();function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError('Cannot call a class as a function')}document.addEventListener('DOMContentLoaded',function(){var a=document.querySelector('#ckeditor_wave');if(null===a)return!1;try{ClassicEditor.create(a).then(function(b){b.plugins.get('FileRepository').createUploadAdapter=function(c){return new UploadAdapter(c)},document.querySelector('.ck-content').addEventListener('DOMNodeRemoved',function(c){var d=c.target,e=d.className.split(' ');e.includes('image')&&server.destroy(id(d.children[0]))})}).catch(function(b){console.error(b)})}catch(b){console.log(b),console.log('Is ckeditor.js included?','https://ckeditor.com/ckeditor-5/download/')}});var UploadAdapter=function(){function a(b){_classCallCheck(this,a),this.loader=b}return _createClass(a,[{key:'upload',value:function(){return server.upload(this.loader.file)}}]),a}(),server={upload:upload,destroy:destroy};function upload(a){return new Promise(function(b,c){var d=new XMLHttpRequest,e=new FormData;d.onreadystatechange=function(){4===d.readyState&&200!==d.status&&c('Image upload failed'),4===d.readyState&&200===d.status&&(b({default:d.responseText}),console.log('Image upload successful'))},e.set('ck_image',a),d.open('POST','/ckeditor_wave/ck_images'),d.send(e)})}function destroy(a){var b=new XMLHttpRequest,c=new FormData;b.onreadystatechange=function(){4===b.readyState&&200!==b.status&&console.log('Image deletion failed'),4===b.readyState&&200===b.status&&console.log(b.responseText)},c.set('method','delete'),b.open('DELETE','/ckeditor_wave/ck_images/'+a),b.send(c)}function id(a){var b=a.src.match(/[^\/]*.$/g).toString();return b.match(/[^.]*/)}
1
+ 'use strict';var _createClass=function(){function a(b,c){for(var e,d=0;d<c.length;d++)e=c[d],e.enumerable=e.enumerable||!1,e.configurable=!0,'value'in e&&(e.writable=!0),Object.defineProperty(b,e.key,e)}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}();function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError('Cannot call a class as a function')}function initiateCkeditor(){var a=Array.from(arguments);document.addEventListener('DOMContentLoaded',function(){a.forEach(function(b){newEditor(b)})})}function newEditor(a){var a=document.querySelector(a);if(null===a)return!1;try{ClassicEditor.create(a).then(function(b){b.plugins.get('FileRepository').createUploadAdapter=function(c){return new UploadAdapter(c)},document.querySelector('.ck-content').addEventListener('DOMNodeRemoved',function(c){var d=c.target,e=d.className.split(' ');e.includes('image')&&server.destroy(id(d.children[0]))})}).catch(function(b){console.error(b)})}catch(b){console.log(b),console.log('Is ckeditor.js included?','https://ckeditor.com/ckeditor-5/download/')}}var UploadAdapter=function(){function a(b){_classCallCheck(this,a),this.loader=b}return _createClass(a,[{key:'upload',value:function(){return server.upload(this.loader.file)}}]),a}(),server={upload:upload,destroy:destroy};function upload(a){return new Promise(function(b,c){var d=new XMLHttpRequest,e=new FormData;d.onreadystatechange=function(){4===d.readyState&&200!==d.status&&c('Image upload failed'),4===d.readyState&&200===d.status&&(b({default:d.responseText}),console.log('Image upload successful'))},e.set('ck_image',a),d.open('POST','/ckeditor_wave/ck_images'),d.send(e)})}function destroy(a){var b=new XMLHttpRequest,c=new FormData;b.onreadystatechange=function(){4===b.readyState&&200!==b.status&&console.log('Image deletion failed'),4===b.readyState&&200===b.status&&console.log(b.responseText)},c.set('method','delete'),b.open('DELETE','/ckeditor_wave/ck_images/'+a),b.send(c)}function id(a){var b=a.src.match(/[^\/]*.$/g).toString();return b.match(/[^.]*/)}
@@ -1,15 +1,25 @@
1
- document.addEventListener('DOMContentLoaded', () => {
2
- var ck_editor = document.querySelector('#ckeditor_wave');
3
-
4
- if (ck_editor === null) return false
1
+ function initiateCkeditor() {
2
+ var editors = Array.from(arguments);
3
+ document.addEventListener('DOMContentLoaded', () => {
4
+ editors.forEach(function(editor){
5
+ newEditor(editor)
6
+ });
7
+ });
8
+ }
9
+
10
+ function newEditor(editor) {
11
+ var editor = document.querySelector(editor);
12
+
13
+ if (editor === null) return false
5
14
  try{
6
15
  ClassicEditor
7
- .create(ck_editor)
16
+ .create(editor)
8
17
  .then(editor => {
9
18
  editor.plugins.get('FileRepository').createUploadAdapter = (loader) => {
10
19
  return new UploadAdapter(loader);
11
20
  };
12
- document.querySelector('.ck-content').addEventListener('DOMNodeRemoved', (event) => {
21
+ document.querySelector('.ck-content').addEventListener(
22
+ 'DOMNodeRemoved', (event) => {
13
23
  var element = event.target;
14
24
  var classes = element.className.split(' ');
15
25
  if (classes.includes('image'))
@@ -23,7 +33,7 @@ document.addEventListener('DOMContentLoaded', () => {
23
33
  console.log(error);
24
34
  console.log('Is ckeditor.js included?', 'https://ckeditor.com/ckeditor-5/download/');
25
35
  }
26
- });
36
+ }
27
37
 
28
38
  class UploadAdapter {
29
39
  constructor(loader) {
@@ -5,4 +5,4 @@ module CkeditorWave
5
5
  ck_image.url
6
6
  end
7
7
  end
8
- end
8
+ end
@@ -1,3 +1,3 @@
1
1
  module CkeditorWave
2
- VERSION = '1.0.1'
2
+ VERSION = '2.0.1'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ckeditor_wave
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 2.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Evgeni Radev
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-06-17 00:00:00.000000000 Z
11
+ date: 2018-06-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -59,7 +59,6 @@ executables: []
59
59
  extensions: []
60
60
  extra_rdoc_files: []
61
61
  files:
62
- - ".DS_Store"
63
62
  - ".gitignore"
64
63
  - Gemfile
65
64
  - LICENSE
@@ -99,7 +98,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
99
98
  version: '0'
100
99
  requirements: []
101
100
  rubyforge_project:
102
- rubygems_version: 2.7.4
101
+ rubygems_version: 2.7.6
103
102
  signing_key:
104
103
  specification_version: 4
105
104
  summary: This gem integrates CKEditor 5 with CarrierWave to allow image upload.
data/.DS_Store DELETED
Binary file