card-mod-tinymce_editor 0.13.1 → 0.14.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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