card-mod-tinymce_editor 0.13.1 → 0.14.0

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.
@@ -0,0 +1,57 @@
1
+ decko.addEditor(
2
+ '.tinymce-textarea',
3
+ ->
4
+ decko.initTinyMCE @[0].id
5
+ ->
6
+ ed = tinyMCE.get(@[0].id)
7
+ ed && ed.getContent()
8
+ )
9
+
10
+ decko.slotDestroy (slot) ->
11
+ slot.find("textarea.tinymce-textarea").each ->
12
+ ed = tinyMCE.get($(this)[0].id)
13
+ ed && ed.remove()
14
+
15
+ $.extend decko,
16
+ setTinyMCEConfig: (string) ->
17
+ setter = ->
18
+ try
19
+ $.parseJSON string
20
+ catch
21
+ {}
22
+ decko.tinyMCEConfig = setter()
23
+
24
+ initTinyMCE: (el_id) ->
25
+ # verify_html: false -- note: this option needed for empty
26
+ # paragraphs to add space.
27
+ conf = {
28
+ theme: "silver"
29
+ plugins: 'autoresize'
30
+ autoresize_max_height: 500
31
+ mobile: { theme: 'mobile' }
32
+ contextmenu: "deckolink nest"
33
+ }
34
+ user_conf = if decko.tinyMCEConfig? then decko.tinyMCEConfig else {}
35
+ hard_conf = {
36
+ selector: "##{el_id}"
37
+ branding: false
38
+ extended_valid_elements: "card-nest[id]"
39
+ # CSS could be made optional, but it may involve migrating old legacy
40
+ # *tinyMCE settings to get rid of stale stuff.
41
+ content_css: decko.cssPath
42
+ entity_encoding: 'raw'
43
+ }
44
+ $.extend conf, user_conf, hard_conf
45
+ decko.addNestPlugin(conf)
46
+
47
+
48
+ tinyMCE.baseURL = decko.path('mod/tinymce_editor')
49
+ tinyMCE.suffix = '.min'
50
+ # "##{el_id}"
51
+ # tinyMCE.get(el_id).remove() if $("##{el_id}")[0]? and tinyMCE.get(el_id)?
52
+ tinyMCE.init conf
53
+
54
+ addNestPlugin: (conf) ->
55
+ if conf.plugins? then conf.plugins += " nest" else conf.plugins = "nest"
56
+ # if conf.toolbar1? then conf.toolbar1 += " | nest" else conf.toolbar1 = "nest"
57
+ conf.menu = { insert: { title: "Insert", items: "deckolink nest image | hr"}}
@@ -169,7 +169,7 @@ format :html do
169
169
  def unknown_nest_content
170
170
  voo.hide! :guide
171
171
  voo.show! :new_type_formgroup
172
- new_view_frame_and_form buttons: new_image_buttons,
173
- success: { tinymce_id: Env.params[:tinymce_id] }
172
+ voo.buttons_view = :new_image_buttons
173
+ framed_create_form success: { tinymce_id: Env.params[:tinymce_id] }
174
174
  end
175
175
  end
@@ -1,8 +1,7 @@
1
1
  format :html do
2
- view :nest_image, unknown: true, cache: :never,
3
- wrap: {
4
- slot: { class: "_overlay d0-card-overlay card nodblclick" }
5
- } do
2
+ view :nest_image,
3
+ unknown: true, cache: :never,
4
+ wrap: { slot: { class: "_overlay d0-card-overlay card nodblclick" } } do
6
5
  nest_image_editor :overlay
7
6
  end
8
7
 
@@ -12,7 +11,14 @@ format :html do
12
11
  end
13
12
 
14
13
  view :new_image, perms: :create, unknown: true, cache: :never do
15
- new_view_frame_and_form new_image_form_opts
14
+ voo.buttons_view = :new_image_buttons
15
+ framed_create_form success: { tinymce_id: Env.params[:tinymce_id], view: :open }
16
+ end
17
+
18
+ view :new_image_buttons do
19
+ button_formgroup do
20
+ [standard_save_button(no_origin_update: true, class: "_change-create-to-update")]
21
+ end
16
22
  end
17
23
 
18
24
  def nest_image_editor editor_mode
@@ -28,41 +34,25 @@ format :html do
28
34
  image_name = nest_name.to_name.right
29
35
  @nest_snippet = Card::Reference::NestParser.new_image image_name
30
36
  end
31
-
32
- def new_image_form_opts
33
- { buttons: new_image_buttons,
34
- success: { tinymce_id: Env.params[:tinymce_id],
35
- view: :open } }
36
- end
37
-
38
- def new_image_buttons
39
- button_formgroup do
40
- [standard_save_button(no_origin_update: true, class: "_change-create-to-update")]
41
- end
42
- end
43
37
  end
44
38
 
45
39
  format :js do
46
40
  view :change_create_to_update, unknown: true do
47
- tm_id = if Env.params[:tinymce_id].present?
48
- "\"#{Env.params[:tinymce_id]}\""
49
- else
50
- '$(".tinymce-textarea").attr("id")'
51
- end
52
- <<-JAVASCRIPT.strip_heredoc
53
- nest.changeCreateToUpdate(#{tm_id});
54
- JAVASCRIPT
41
+ "nest.changeCreateToUpdate(#{tinymce_id});"
55
42
  end
56
43
 
57
44
  view :open_nest_editor, unknown: true do
58
- tm_id = if Env.params[:tinymce_id].present?
59
- "\"#{Env.params[:tinymce_id]}\""
60
- else
61
- '$(".tinymce-textarea").attr("id")'
62
- end
63
45
  <<-JAVASCRIPT.strip_heredoc
64
- tm = tinymce.get(#{tm_id});
46
+ tm = tinymce.get(#{tinymce_id});
65
47
  nest.insertNest(tm, "{{+#{card.name.tag}|view: content; size: medium}}");
66
48
  JAVASCRIPT
67
49
  end
50
+
51
+ def tinymce_id
52
+ if Env.params[:tinymce_id].present?
53
+ "\"#{Env.params[:tinymce_id]}\""
54
+ else
55
+ '$(".tinymce-textarea").attr("id")'
56
+ end
57
+ end
68
58
  end
@@ -1,3 +1,6 @@
1
+ basket[:script_config][:tiny_mce] = "setTinyMCEConfig"
2
+ basket[:list_input_options] << "tinymce editor"
3
+
1
4
  format :html do
2
5
  def tinymce_editor_input
3
6
  text_area :content, rows: 3, class: "tinymce-textarea d0-card-content",
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: card-mod-tinymce_editor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.1
4
+ version: 0.14.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ethan McCutchen
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2021-08-06 00:00:00.000000000 Z
13
+ date: 2021-12-22 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: card
@@ -18,28 +18,28 @@ dependencies:
18
18
  requirements:
19
19
  - - '='
20
20
  - !ruby/object:Gem::Version
21
- version: 1.103.1
21
+ version: 1.104.0
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - '='
27
27
  - !ruby/object:Gem::Version
28
- version: 1.103.1
28
+ version: 1.104.0
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: card-mod-edit
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
33
  - - '='
34
34
  - !ruby/object:Gem::Version
35
- version: 0.13.1
35
+ version: 0.14.0
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - '='
41
41
  - !ruby/object:Gem::Version
42
- version: 0.13.1
42
+ version: 0.14.0
43
43
  description: ''
44
44
  email:
45
45
  - info@decko.org
@@ -47,11 +47,12 @@ executables: []
47
47
  extensions: []
48
48
  extra_rdoc_files: []
49
49
  files:
50
+ - assets/script/script_tinymce.js
51
+ - assets/script/script_tinymce_config.js.coffee
50
52
  - db/migrate_core_cards/20160804112560_add_tinymce_cards.rb
51
53
  - db/migrate_core_cards/20171113233151_update_tinymce_config.rb
52
54
  - db/migrate_core_cards/20190306172623_update_tinymce_config_to_v5.rb
53
55
  - db/migrate_core_cards/20190306172890_tinymce_add_nest_to_toolbar.rb
54
- - file/mod_tinymce_editor_script_local_machine_output/file.js
55
56
  - lib/card/reference/nest_parser.rb
56
57
  - public/jquery.tinymce.min.js
57
58
  - public/langs/readme.md
@@ -134,8 +135,6 @@ files:
134
135
  - set/all/reference_editor/nest_image.rb
135
136
  - set/all/reference_editor/reference_editor.haml
136
137
  - set/all/tinymce_editor.rb
137
- - set/self/script_tinymce.rb
138
- - set/self/script_tinymce_config.rb
139
138
  - set/self/tiny_mce.rb
140
139
  homepage: https://decko.org
141
140
  licenses:
@@ -162,7 +161,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
162
161
  - !ruby/object:Gem::Version
163
162
  version: '0'
164
163
  requirements: []
165
- rubygems_version: 3.1.6
164
+ rubygems_version: 3.2.15
166
165
  signing_key:
167
166
  specification_version: 4
168
167
  summary: TinyMCE editor