ckeditor5 1.1.4 → 1.1.6

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: 89a0fa3d794be4e336b4e34cc90c002a8541d9ea9ecfabf60dffa03a3f73a47b
4
- data.tar.gz: aa199b3c554e9edb37f2a024e5879d5d22acaa476737567475adfc9e55f40497
3
+ metadata.gz: b95ee184f10909e8acc238dcc5650a4bcbd828cb8cb32719cb98465223c7bc6c
4
+ data.tar.gz: 31364b050c64792a5561b4a9fd9de3dfe86a8a338f6a8f8075ca334c1558758d
5
5
  SHA512:
6
- metadata.gz: 300ea7854e40c3c3c0b408c326217c47071a26956bf51ac5b77dd91b74ca7eefc4676554750d7228b03ee3b9a5e71c25f439029caca8d5f9f02cd6465feb8962
7
- data.tar.gz: dd8e4262483b486714caaabd71801444fd9619c2d0e85dbeec2847fd86f0092e9f3bb994a5fa3da7e7d5a8740b2e1347d8c1e5a127b8eb32bd7ca408377eb4da
6
+ metadata.gz: 916eee6c8da16ad1b6d5ed9c7cd4358724e2a07d64b08b1ba77fdb03e2164a9633d3ce5403a6af70d938f0e1ef73e3a725549b83d93689b43c6225b0700456ea
7
+ data.tar.gz: c19f382d14e66e8fc8a0f0b49dfa18687cad2697de005700a39532bd6a19928b7f1093ec1aea4fc5d067e36b4edb20ce0476b67946b0700d77045af38d1545e8
data/README.md CHANGED
@@ -25,7 +25,7 @@ In your config:
25
25
  ```rb
26
26
  # config/initializers/ckeditor5.rb
27
27
 
28
- CKEditor5::Rails::Engine.configure do |config|
28
+ CKEditor5::Rails.configure do |config|
29
29
  config.presets.override :default do
30
30
  version '43.3.0'
31
31
  end
@@ -102,7 +102,7 @@ You can create your own by defining it in the `config/initializers/ckeditor5.rb`
102
102
  ```rb
103
103
  # config/initializers/ckeditor5.rb
104
104
 
105
- CKEditor5::Rails::Engine.configure do |config|
105
+ CKEditor5::Rails.configure do |config|
106
106
  config.presets.define :custom
107
107
  gpl
108
108
  type :classic
@@ -135,7 +135,7 @@ In order to override existing presets, you can use the `config.presets.override`
135
135
  ```rb
136
136
  # config/initializers/ckeditor5.rb
137
137
 
138
- CKEditor5::Rails::Engine.configure do |config|
138
+ CKEditor5::Rails.configure do |config|
139
139
  config.presets.override :default do
140
140
  menubar visible: false
141
141
 
@@ -490,7 +490,7 @@ If you want to use CKEditor 5 under the GPL license, you can include the assets
490
490
  <!-- app/views/demos/index.html.erb -->
491
491
 
492
492
  <% content_for :head do %>
493
- <%= ckeditor5_assets version: '43.3.0' %>
493
+ <%= ckeditor5_assets %>
494
494
  <% end %>
495
495
  ```
496
496
 
@@ -511,7 +511,7 @@ Set the version in the `config/initializers/ckeditor5.rb` file:
511
511
  ```rb
512
512
  # config/initializers/ckeditor5.rb
513
513
 
514
- CKEditor5::Rails::Engine.configure do
514
+ CKEditor5::Rails.configure do
515
515
  presets.override :default do
516
516
  version '43.3.0'
517
517
  end
@@ -524,7 +524,7 @@ In order to use `unpkg` CDN, you can pass the `cdn` keyword argument with the va
524
524
  <!-- app/views/demos/index.html.erb -->
525
525
 
526
526
  <% content_for :head do %>
527
- <%= ckeditor5_assets version: '43.3.0', cdn: :unpkg %>
527
+ <%= ckeditor5_assets cdn: :unpkg %>
528
528
  <% end %>
529
529
  ```
530
530
 
@@ -534,7 +534,7 @@ or using helper function:
534
534
  <!-- app/views/demos/index.html.erb -->
535
535
 
536
536
  <% content_for :head do %>
537
- <%= ckeditor5_jsdelivr_assets version: '43.3.0' %>
537
+ <%= ckeditor5_jsdelivr_assets %>
538
538
  <% end %>
539
539
  ```
540
540
 
@@ -544,7 +544,7 @@ Translating CKEditor 5 is possible by passing the `translations` keyword argumen
544
544
  <!-- app/views/demos/index.html.erb -->
545
545
 
546
546
  <% content_for :head do %>
547
- <%= ckeditor5_assets version: '43.3.0', translations: [:pl] %>
547
+ <%= ckeditor5_assets translations: [:pl] %>
548
548
  <% end %>
549
549
  ```
550
550
 
@@ -553,7 +553,7 @@ Keep in mind, that you need to include the translations in the `config/initializ
553
553
  ```rb
554
554
  # config/initializers/ckeditor5.rb
555
555
 
556
- CKEditor5::Rails::Engine.configure do
556
+ CKEditor5::Rails.configure do
557
557
  presets.override :default do
558
558
  language :pl
559
559
  end
@@ -1,48 +1,48 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'rails/engine'
4
- require_relative 'presets'
4
+
5
+ require_relative 'toolbar_builder'
6
+ require_relative 'preset_builder'
7
+ require_relative 'presets_manager'
8
+
5
9
  require_relative 'hooks/form'
6
10
 
7
11
  module CKEditor5::Rails
8
12
  class Engine < ::Rails::Engine
9
13
  config.ckeditor5 = ActiveSupport::OrderedOptions.new
10
-
11
- # Specifies configuration of editors generated by gem.
12
14
  config.ckeditor5.presets = PresetsManager.new
13
15
 
14
16
  initializer 'helper' do
15
- ActiveSupport.on_load(:action_view) do
16
- include Helpers
17
- end
17
+ ActiveSupport.on_load(:action_view) { include Helpers }
18
18
  end
19
19
 
20
- initializer 'ckeditor5.simple_form' do
21
- next unless defined?(::SimpleForm)
22
-
20
+ initializer 'ckeditor5.simple_form', if: -> { defined?(::SimpleForm) } do
23
21
  require_relative 'hooks/simple_form'
24
-
25
22
  ::SimpleForm::FormBuilder.map_type :ckeditor5, to: Hooks::SimpleForm::CKEditor5Input
26
23
  end
27
24
 
28
25
  initializer 'ckeditor5.form_builder' do
29
26
  require_relative 'hooks/form'
30
-
31
- ActionView::Helpers::FormBuilder.include(
32
- Hooks::Form::FormBuilderExtension
33
- )
27
+ ActionView::Helpers::FormBuilder.include(Hooks::Form::FormBuilderExtension)
34
28
  end
35
29
 
36
- def self.base
37
- config.ckeditor5
38
- end
30
+ class << self
31
+ def base
32
+ config.ckeditor5
33
+ end
39
34
 
40
- def self.default_preset
41
- config.ckeditor5.presets.default
42
- end
35
+ def default_preset
36
+ config.ckeditor5.presets.default
37
+ end
43
38
 
44
- def self.configure
45
- yield config.ckeditor5
39
+ def configure
40
+ yield config.ckeditor5
41
+ end
46
42
  end
47
43
  end
44
+
45
+ def self.configure(&block)
46
+ Engine.configure(&block)
47
+ end
48
48
  end
@@ -1,64 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CKEditor5::Rails
4
- class PresetsManager
5
- attr_reader :presets
6
-
7
- def initialize
8
- @presets = {}
9
- define_default_preset
10
- end
11
-
12
- def define(name, &block)
13
- preset = PresetBuilder.new
14
- preset.instance_eval(&block)
15
- @presets[name] = preset
16
- end
17
-
18
- def override(name, &block)
19
- @presets[name].instance_eval(&block)
20
- end
21
-
22
- def default
23
- @presets[:default] || {}
24
- end
25
-
26
- def [](name)
27
- @presets[name] || {}
28
- end
29
-
30
- private
31
-
32
- def define_default_preset # rubocop:disable Metrics/MethodLength
33
- define :default do
34
- gpl
35
-
36
- type :classic
37
-
38
- menubar
39
-
40
- toolbar :undo, :redo, :|, :heading, :|, :bold, :italic, :underline, :|,
41
- :link, :insertImage, :mediaEmbed, :insertTable, :blockQuote, :|,
42
- :bulletedList, :numberedList, :todoList, :outdent, :indent
43
-
44
- plugins :AccessibilityHelp, :Autoformat, :AutoImage, :Autosave,
45
- :BlockQuote, :Bold, :CloudServices,
46
- :Essentials, :Heading, :ImageBlock, :ImageCaption, :ImageInline,
47
- :ImageInsert, :ImageInsertViaUrl, :ImageResize, :ImageStyle,
48
- :ImageTextAlternative, :ImageToolbar, :ImageUpload, :Indent,
49
- :IndentBlock, :Italic, :Link, :LinkImage, :List, :ListProperties,
50
- :MediaEmbed, :Paragraph, :PasteFromOffice, :PictureEditing,
51
- :SelectAll, :Table, :TableCaption, :TableCellProperties,
52
- :TableColumnResize, :TableProperties, :TableToolbar,
53
- :TextTransformation, :TodoList, :Underline, :Undo, :Base64UploadAdapter
54
-
55
- configure :image, {
56
- toolbar: ['imageTextAlternative', 'imageStyle:inline', 'imageStyle:block', 'imageStyle:side']
57
- }
58
- end
59
- end
60
- end
61
-
62
4
  class PresetBuilder
63
5
  attr_reader :config
64
6
 
@@ -132,7 +74,6 @@ module CKEditor5::Rails
132
74
 
133
75
  def type(type = nil)
134
76
  return @type if type.nil?
135
-
136
77
  raise ArgumentError, "Invalid editor type: #{type}" unless Editor::Props.valid_editor_type?(type)
137
78
 
138
79
  @type = type
@@ -181,40 +122,4 @@ module CKEditor5::Rails
181
122
  }
182
123
  end
183
124
  end
184
-
185
- class ToolbarBuilder
186
- def initialize(toolbar_config)
187
- @toolbar_config = toolbar_config
188
- end
189
-
190
- def items
191
- @toolbar_config[:items]
192
- end
193
-
194
- def remove(*removed_items)
195
- removed_items.each { |item| items.delete(item) }
196
- end
197
-
198
- def prepend(*prepended_items, before: nil)
199
- if before
200
- index = items.index(before)
201
- raise ArgumentError, "Item '#{before}' not found in toolbar" unless index
202
-
203
- items.insert(index, *prepended_items)
204
- else
205
- items.insert(0, *prepended_items)
206
- end
207
- end
208
-
209
- def append(*appended_items, after: nil)
210
- if after
211
- index = items.index(after)
212
- raise ArgumentError, "Item '#{after}' not found in toolbar" unless index
213
-
214
- items.insert(index + 1, *appended_items)
215
- else
216
- items.push(*appended_items)
217
- end
218
- end
219
- end
220
125
  end
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CKEditor5::Rails
4
+ class PresetsManager
5
+ attr_reader :presets
6
+
7
+ def initialize
8
+ @presets = {}
9
+ define_default_preset
10
+ end
11
+
12
+ def define(name, &block)
13
+ preset = PresetBuilder.new
14
+ preset.instance_eval(&block)
15
+ @presets[name] = preset
16
+ end
17
+
18
+ def override(name, &block)
19
+ @presets[name].instance_eval(&block)
20
+ end
21
+
22
+ def default
23
+ @presets[:default] || {}
24
+ end
25
+
26
+ def [](name)
27
+ @presets[name] || {}
28
+ end
29
+
30
+ private
31
+
32
+ def define_default_preset # rubocop:disable Metrics/MethodLength
33
+ define :default do
34
+ gpl
35
+ type :classic
36
+ menubar
37
+
38
+ toolbar :undo, :redo, :|, :heading, :|, :bold, :italic, :underline, :|,
39
+ :link, :insertImage, :mediaEmbed, :insertTable, :blockQuote, :|,
40
+ :bulletedList, :numberedList, :todoList, :outdent, :indent
41
+
42
+ plugins :AccessibilityHelp, :Autoformat, :AutoImage, :Autosave,
43
+ :BlockQuote, :Bold, :CloudServices,
44
+ :Essentials, :Heading, :ImageBlock, :ImageCaption, :ImageInline,
45
+ :ImageInsert, :ImageInsertViaUrl, :ImageResize, :ImageStyle,
46
+ :ImageTextAlternative, :ImageToolbar, :ImageUpload, :Indent,
47
+ :IndentBlock, :Italic, :Link, :LinkImage, :List, :ListProperties,
48
+ :MediaEmbed, :Paragraph, :PasteFromOffice, :PictureEditing,
49
+ :SelectAll, :Table, :TableCaption, :TableCellProperties,
50
+ :TableColumnResize, :TableProperties, :TableToolbar,
51
+ :TextTransformation, :TodoList, :Underline, :Undo, :Base64UploadAdapter
52
+
53
+ configure :image, {
54
+ toolbar: ['imageTextAlternative', 'imageStyle:inline', 'imageStyle:block', 'imageStyle:side']
55
+ }
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CKEditor5::Rails
4
+ class ToolbarBuilder
5
+ def initialize(toolbar_config)
6
+ @toolbar_config = toolbar_config
7
+ end
8
+
9
+ def items
10
+ @toolbar_config[:items]
11
+ end
12
+
13
+ def remove(*removed_items)
14
+ removed_items.each { |item| items.delete(item) }
15
+ end
16
+
17
+ def prepend(*prepended_items, before: nil)
18
+ if before
19
+ index = items.index(before)
20
+ raise ArgumentError, "Item '#{before}' not found in toolbar" unless index
21
+
22
+ items.insert(index, *prepended_items)
23
+ else
24
+ items.insert(0, *prepended_items)
25
+ end
26
+ end
27
+
28
+ def append(*appended_items, after: nil)
29
+ if after
30
+ index = items.index(after)
31
+ raise ArgumentError, "Item '#{after}' not found in toolbar" unless index
32
+
33
+ items.insert(index + 1, *appended_items)
34
+ else
35
+ items.push(*appended_items)
36
+ end
37
+ end
38
+ end
39
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CKEditor5::Rails
4
- VERSION = '1.1.4'
4
+ VERSION = '1.1.6'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ckeditor5
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.4
4
+ version: 1.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mateusz Bagiński
@@ -59,8 +59,10 @@ files:
59
59
  - lib/ckeditor5/rails/helpers.rb
60
60
  - lib/ckeditor5/rails/hooks/form.rb
61
61
  - lib/ckeditor5/rails/hooks/simple_form.rb
62
- - lib/ckeditor5/rails/presets.rb
62
+ - lib/ckeditor5/rails/preset_builder.rb
63
+ - lib/ckeditor5/rails/presets_manager.rb
63
64
  - lib/ckeditor5/rails/semver.rb
65
+ - lib/ckeditor5/rails/toolbar_builder.rb
64
66
  - lib/ckeditor5/rails/version.rb
65
67
  homepage: https://github.com/Mati365/ckeditor5-rails
66
68
  licenses: