card-mod-script 0.14.2 → 0.15.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (125) hide show
  1. checksums.yaml +4 -4
  2. data/data/real.yml +50 -0
  3. data/lib/ansi2html.rb +69 -0
  4. data/lib/card/mod/script.rb +1 -0
  5. data/set/abstract/00_script.rb +4 -4
  6. data/set/abstract/02_coffee_script.rb +9 -1
  7. data/set/all/head_javascript.rb +13 -22
  8. data/set/right/script.rb +1 -1
  9. data/set/type/coffee_script.rb +6 -0
  10. data/set/type/java_script.rb +6 -0
  11. data/set/type/local_script_folder_group.rb +2 -0
  12. data/set/type/local_script_manifest_group.rb +2 -0
  13. data/set/type_plus_right/mod/script.rb +1 -5
  14. data/set/type_plus_right/set/script.rb +3 -1
  15. metadata +13 -119
  16. data/assets/script/decko/autosave.js.coffee +0 -30
  17. data/assets/script/decko/bridge.js.coffee +0 -31
  18. data/assets/script/decko/card_menu.js.coffee +0 -26
  19. data/assets/script/decko/components.js.coffee +0 -49
  20. data/assets/script/decko/decko.js.coffee +0 -82
  21. data/assets/script/decko/doubleclick.js.coffee +0 -30
  22. data/assets/script/decko/editor.js.coffee +0 -57
  23. data/assets/script/decko/filter.js.coffee +0 -183
  24. data/assets/script/decko/filter_items.js.coffee +0 -128
  25. data/assets/script/decko/filter_links.js.coffee +0 -81
  26. data/assets/script/decko/follow.js.coffee +0 -22
  27. data/assets/script/decko/layout.js.coffee +0 -76
  28. data/assets/script/decko/link_editor.js.coffee +0 -61
  29. data/assets/script/decko/mod.js.coffee +0 -79
  30. data/assets/script/decko/modal.js.coffee +0 -113
  31. data/assets/script/decko/name_editor.js.coffee +0 -40
  32. data/assets/script/decko/navbox.js.coffee +0 -74
  33. data/assets/script/decko/nest_editor.js.coffee +0 -166
  34. data/assets/script/decko/nest_editor_name.js.coffee +0 -102
  35. data/assets/script/decko/nest_editor_options.js.coffee +0 -93
  36. data/assets/script/decko/nest_editor_rules.js.coffee +0 -3
  37. data/assets/script/decko/overlay.js.coffee +0 -54
  38. data/assets/script/decko/pointer_config.js.coffee +0 -79
  39. data/assets/script/decko/pointer_list_editor.js.coffee +0 -67
  40. data/assets/script/decko/recaptcha.js.coffee +0 -19
  41. data/assets/script/decko/selectable_filtered_content.js.coffee +0 -12
  42. data/assets/script/decko/slot.js.coffee +0 -182
  43. data/assets/script/decko/slot_ready.js.coffee +0 -12
  44. data/assets/script/decko/slotter.js.coffee +0 -268
  45. data/assets/script/decko/type_editor.js.coffee +0 -21
  46. data/assets/script/decko/upload.js.coffee +0 -64
  47. data/assets/script/jquery-ui.min.js +0 -13
  48. data/assets/script/jquery.autosize.js +0 -274
  49. data/assets/script/manifest.yml +0 -57
  50. data/db/migrate_core_cards/20200804112348_add_mod_script_assets_type.rb +0 -30
  51. data/vendor/jquery_file_upload/LICENSE.txt +0 -20
  52. data/vendor/jquery_file_upload/README.md +0 -224
  53. data/vendor/jquery_file_upload/SECURITY.md +0 -227
  54. data/vendor/jquery_file_upload/VULNERABILITIES.md +0 -118
  55. data/vendor/jquery_file_upload/cors/postmessage.html +0 -85
  56. data/vendor/jquery_file_upload/cors/result.html +0 -26
  57. data/vendor/jquery_file_upload/css/jquery.fileupload-noscript.css +0 -22
  58. data/vendor/jquery_file_upload/css/jquery.fileupload-ui-noscript.css +0 -17
  59. data/vendor/jquery_file_upload/css/jquery.fileupload-ui.css +0 -68
  60. data/vendor/jquery_file_upload/css/jquery.fileupload.css +0 -36
  61. data/vendor/jquery_file_upload/docker-compose.yml +0 -55
  62. data/vendor/jquery_file_upload/img/loading.gif +0 -0
  63. data/vendor/jquery_file_upload/img/progressbar.gif +0 -0
  64. data/vendor/jquery_file_upload/index.html +0 -357
  65. data/vendor/jquery_file_upload/js/cors/jquery.postmessage-transport.js +0 -126
  66. data/vendor/jquery_file_upload/js/cors/jquery.xdr-transport.js +0 -97
  67. data/vendor/jquery_file_upload/js/demo.js +0 -75
  68. data/vendor/jquery_file_upload/js/jquery.fileupload-audio.js +0 -101
  69. data/vendor/jquery_file_upload/js/jquery.fileupload-image.js +0 -347
  70. data/vendor/jquery_file_upload/js/jquery.fileupload-process.js +0 -170
  71. data/vendor/jquery_file_upload/js/jquery.fileupload-ui.js +0 -759
  72. data/vendor/jquery_file_upload/js/jquery.fileupload-validate.js +0 -119
  73. data/vendor/jquery_file_upload/js/jquery.fileupload-video.js +0 -101
  74. data/vendor/jquery_file_upload/js/jquery.fileupload.js +0 -1604
  75. data/vendor/jquery_file_upload/js/jquery.iframe-transport.js +0 -227
  76. data/vendor/jquery_file_upload/js/vendor/jquery.ui.widget.js +0 -805
  77. data/vendor/jquery_file_upload/package-lock.json +0 -6853
  78. data/vendor/jquery_file_upload/package.json +0 -116
  79. data/vendor/jquery_file_upload/server/gae-python/app.yaml +0 -18
  80. data/vendor/jquery_file_upload/server/gae-python/main.py +0 -204
  81. data/vendor/jquery_file_upload/server/gae-python/static/favicon.ico +0 -0
  82. data/vendor/jquery_file_upload/server/gae-python/static/robots.txt +0 -2
  83. data/vendor/jquery_file_upload/server/php/Dockerfile +0 -44
  84. data/vendor/jquery_file_upload/server/php/UploadHandler.php +0 -1480
  85. data/vendor/jquery_file_upload/server/php/index.php +0 -15
  86. data/vendor/jquery_file_upload/server/php/php.ini +0 -5
  87. data/vendor/jquery_file_upload/test/index.html +0 -49
  88. data/vendor/jquery_file_upload/test/unit.js +0 -989
  89. data/vendor/jquery_file_upload/test/vendor/chai.js +0 -10854
  90. data/vendor/jquery_file_upload/test/vendor/mocha.css +0 -325
  91. data/vendor/jquery_file_upload/test/vendor/mocha.js +0 -18178
  92. data/vendor/jquery_file_upload/wdio/LICENSE.txt +0 -20
  93. data/vendor/jquery_file_upload/wdio/assets/black+white-3x2.jpg +0 -0
  94. data/vendor/jquery_file_upload/wdio/assets/black+white-60x40.gif +0 -0
  95. data/vendor/jquery_file_upload/wdio/conf/chrome.js +0 -40
  96. data/vendor/jquery_file_upload/wdio/conf/firefox.js +0 -25
  97. data/vendor/jquery_file_upload/wdio/hooks/index.js +0 -36
  98. data/vendor/jquery_file_upload/wdio/test/pages/file-upload.js +0 -79
  99. data/vendor/jquery_file_upload/wdio/test/specs/01-file-upload.js +0 -25
  100. data/vendor/jquery_file_upload/wdio/wdio.conf.js +0 -4
  101. data/vendor/jquery_rails/CHANGELOG.md +0 -359
  102. data/vendor/jquery_rails/CONTRIBUTING.md +0 -132
  103. data/vendor/jquery_rails/Gemfile +0 -22
  104. data/vendor/jquery_rails/MIT-LICENSE +0 -21
  105. data/vendor/jquery_rails/README.md +0 -75
  106. data/vendor/jquery_rails/Rakefile +0 -59
  107. data/vendor/jquery_rails/VERSIONS.md +0 -62
  108. data/vendor/jquery_rails/jquery-rails.gemspec +0 -26
  109. data/vendor/jquery_rails/lib/jquery/assert_select.rb +0 -149
  110. data/vendor/jquery_rails/lib/jquery/rails/engine.rb +0 -6
  111. data/vendor/jquery_rails/lib/jquery/rails/version.rb +0 -9
  112. data/vendor/jquery_rails/lib/jquery/rails.rb +0 -8
  113. data/vendor/jquery_rails/lib/jquery-rails.rb +0 -1
  114. data/vendor/jquery_rails/test/assert_select_jquery_test.rb +0 -85
  115. data/vendor/jquery_rails/test/test_helper.rb +0 -6
  116. data/vendor/jquery_rails/vendor/assets/javascripts/jquery.js +0 -11008
  117. data/vendor/jquery_rails/vendor/assets/javascripts/jquery.min.js +0 -5
  118. data/vendor/jquery_rails/vendor/assets/javascripts/jquery.min.map +0 -1
  119. data/vendor/jquery_rails/vendor/assets/javascripts/jquery2.js +0 -9814
  120. data/vendor/jquery_rails/vendor/assets/javascripts/jquery2.min.js +0 -4
  121. data/vendor/jquery_rails/vendor/assets/javascripts/jquery2.min.map +0 -1
  122. data/vendor/jquery_rails/vendor/assets/javascripts/jquery3.js +0 -10364
  123. data/vendor/jquery_rails/vendor/assets/javascripts/jquery3.min.js +0 -2
  124. data/vendor/jquery_rails/vendor/assets/javascripts/jquery3.min.map +0 -1
  125. data/vendor/jquery_rails/vendor/assets/javascripts/jquery_ujs.js +0 -555
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7923354578f4f18092c900b26fec2db7bde9e2fe6c258c07d12b77a612e6229d
4
- data.tar.gz: 00c930bbca21ec39dc8d536c2caadf1018f001e5a93fdbe42a9ebbaac7400630
3
+ metadata.gz: 61c8af991310acf4700552ba0690bfa466b62bc171f047fae46c598fc346258a
4
+ data.tar.gz: eea339f41ec56f46f34094e36b89cc2f70542300d77c0cbaf142df6fb0ea4ed8
5
5
  SHA512:
6
- metadata.gz: 388aeb2a60d30464c3f0b4378a181aa7e9d546f492d643f2f3909cf350b3d18bc0a532a846a74e367acb1ebfb8b311d36524b4fe3dc1194a8d5a0ebce2ae8dfa
7
- data.tar.gz: 499e0a9190faa15e20e0b8451cbff6fcd818ca15a7933f3fd48c38b66ae8927f95aa6f03ab684c7d1f340d3c7b878e919ff2fe9504f446d8534074f0a61af0c5
6
+ metadata.gz: 0d145ddc1bc27fa6b91025223e69c40bc9350bda85318563375f8f4fce3d61ceb13ca521f04df3288b32d1e2ed6300b5c35e780f9e5ec173d21ab75db6cde82c
7
+ data.tar.gz: '0387d3dd3646425e2f2c3cd62220e07716e7615d63273ee7482d6f9642e2e93c4151a360dc4c173f6bbeea4e49666d5057624e43d935408509599bf3d3e4ba18'
data/data/real.yml ADDED
@@ -0,0 +1,50 @@
1
+ ---
2
+ - :name: "*script"
3
+ :type: :setting
4
+ :codename: script
5
+ :fields:
6
+ :right:
7
+ :fields:
8
+ :content_options:
9
+ :type: :search_type
10
+ :content: ' {"type":["in", "JavaScript", "CoffeeScript"] }'
11
+ :input_type: list
12
+ - :name:
13
+ - :all
14
+ - :script
15
+ :type: :list
16
+
17
+ - :name: JavaScript
18
+ :type: :cardtype
19
+ :codename: java_script
20
+ :fields:
21
+ :description: |-
22
+ <p>
23
+ Create custom JavaScript for [[*script]] rules.
24
+ [[http://decko.org/JavaScript|more]]
25
+ </p>
26
+ :type:
27
+ :fields:
28
+ :create: Shark
29
+ :update: Shark
30
+ :delete: Shark
31
+ - :name: CoffeeScript
32
+ :type: :cardtype
33
+ :codename: coffee_script
34
+ :fields:
35
+ :description: |-
36
+ <p>
37
+ Generate JavaScript for [[*script]] rules.
38
+ [[http://decko.org/CoffeeScript|more]]
39
+ </p>
40
+ :type:
41
+ :fields:
42
+ :create: Shark
43
+ :update: Shark
44
+ :delete: Shark
45
+ - :name: Local script folder group
46
+ :type: :cardtype
47
+ :codename: local_script_folder_group
48
+ - :name: Local script manifest group
49
+ :type: :cardtype
50
+ :codename: local_script_manifest_group
data/lib/ansi2html.rb ADDED
@@ -0,0 +1,69 @@
1
+ # Converts ansi formatting codes to html
2
+ module Ansi2html
3
+ class << self
4
+ def ansi2html data
5
+ data.gsub(/\033\[(?<code>[\d\;]{2,})m(?<content>.*?)\033\[0m/) do
6
+ to_span_tag Regexp.last_match(:code), Regexp.last_match(:content)
7
+ end
8
+ end
9
+
10
+ private
11
+
12
+ ANSI_COLOR_CODE = {
13
+ 0 => "black",
14
+ 1 => "red",
15
+ 2 => "green",
16
+ 3 => "gold",
17
+ 4 => "blue",
18
+ 5 => "magenta",
19
+ 6 => "darkcyan",
20
+ 7 => "white"
21
+ }.freeze
22
+
23
+ ANSI_BRIGHT_COLOR_CODE = {
24
+ 0 => "gray",
25
+ 1 => "lightcoral",
26
+ 2 => "lightgreen",
27
+ 3 => "lightyellow",
28
+ 4 => "lightblue",
29
+ 5 => "mediumpurple",
30
+ 6 => "lightcyan",
31
+ 7 => "lightgray"
32
+ }.freeze
33
+
34
+ STYLE_MAPPINGS = {
35
+ 1 => "font-weight:bold",
36
+ 2 => "opacity:0.5",
37
+ 3 => "font-style:italic",
38
+ 4 => "text-decoration:underline",
39
+ 5 => "text-decoration:blink",
40
+ 6 => "text-decoration:blink",
41
+ 9 => "text-decoration:line-through"
42
+ }.freeze
43
+
44
+ def to_span_tag codes, content
45
+ style = codes.split(";")
46
+ .map(&method(:translate_style_code))
47
+ .join
48
+ "<span style='#{style}'>#{content}</span>"
49
+ end
50
+
51
+ def translate_style_code code
52
+ return STYLE_MAPPINGS[code.to_i] if code.size == 1
53
+
54
+ color_code = code[-1].to_i
55
+ property, mapping =
56
+ case code[0..-2]
57
+ when "3"
58
+ ["color", ANSI_COLOR_CODE]
59
+ when "4"
60
+ ["background-color", ANSI_COLOR_CODE]
61
+ when "9"
62
+ ["color", ANSI_BRIGHT_COLOR_CODE]
63
+ when "10"
64
+ ["background-color", ANSI_BRIGHT_COLOR_CODE]
65
+ end
66
+ "#{property}: #{mapping[color_code]}; "
67
+ end
68
+ end
69
+ end
@@ -0,0 +1 @@
1
+ Cardio::Railtie.config.double_click = :signed_in
@@ -20,7 +20,7 @@ format :js do
20
20
  end
21
21
 
22
22
  def try_compress input
23
- Uglifier.compile(input)
23
+ Uglifier.new(harmony: true).compile(input)
24
24
  rescue StandardError => e
25
25
  # CoffeeScript is compiled in a view
26
26
  # If there is a CoffeeScript syntax error we get the rescued view here
@@ -71,12 +71,12 @@ format :html do
71
71
  end
72
72
 
73
73
  view :core do
74
- script = card.format(:js).render_core
75
- process_content highlight(script)
74
+ # script = card.format(:js).render_core
75
+ process_content highlight(render_raw)
76
76
  end
77
77
 
78
78
  view :javascript_include_tag do
79
- javascript_include_tag card.machine_output_url # path(format: :js)
79
+ javascript_include_tag path(format: :js)
80
80
  end
81
81
 
82
82
  def highlight script
@@ -8,15 +8,23 @@ format :html do
8
8
  def ace_mode
9
9
  :coffee
10
10
  end
11
+
12
+ def bare_compile
13
+ true
14
+ end
11
15
  end
12
16
 
13
17
  format do
18
+ def bare_compile
19
+ false
20
+ end
21
+
14
22
  view :core do
15
23
  compile_coffee _render_raw
16
24
  end
17
25
 
18
26
  def compile_coffee script
19
- ::CoffeeScript.compile script
27
+ ::CoffeeScript.compile script, no_wrap: bare_compile
20
28
  rescue StandardError => e
21
29
  line_nr = e.to_s.match(/\[stdin\]:(\d*)/)&.capture(0)&.to_i
22
30
  line = script.lines[line_nr - 1] if line_nr
@@ -1,18 +1,12 @@
1
1
  format :html do
2
- # script_config basket is a hash where
3
- # - key is the codename of a card with javascript config (usually in json format)
4
- # - value is the name of a javascript method that handles the config
5
- basket[:script_config] = {}
2
+ # script_calls basket is a hash where
3
+ # - key is the name of a javascript method
4
+ # - value is the argument to send to the method
5
+ basket[:script_calls] = {}
6
6
 
7
- def views_in_head
8
- super + %w[
9
- decko_script_variables
10
- head_javascript
11
- script_config_and_initiation
12
- ]
13
- end
7
+ basket[:head_views] += %w[head_javascript script_variables script_calls]
14
8
 
15
- view :decko_script_variables, unknown: true, cache: :never, perms: :none do
9
+ view :script_variables, unknown: true, cache: :never, perms: :none do
16
10
  javascript_tag do
17
11
  decko_script_variables.each_with_object("") do |(k, v), string|
18
12
  string << "#{k}=#{script_variable_to_js v};\n"
@@ -21,13 +15,11 @@ format :html do
21
15
  end
22
16
 
23
17
  view :head_javascript, unknown: true, cache: :never, perms: :none do
24
- Array.wrap(head_javascript_paths).reject(&:empty?).join("\n")
18
+ Array.wrap(head_javascript_paths).reject(&:empty?).join
25
19
  end
26
20
 
27
- view :script_config_and_initiation, unknown: true, perms: :none do
28
- javascript_tag do
29
- (script_configs << trigger_slot_ready).join "\n\n"
30
- end
21
+ view :script_calls, unknown: true, perms: :none do
22
+ javascript_tag { (script_configs << trigger_slot_ready).join "\n\n" }
31
23
  end
32
24
 
33
25
  view :javascript_include_tag, unknown: true, perms: :none do
@@ -36,7 +28,7 @@ format :html do
36
28
 
37
29
  def decko_script_variables
38
30
  {
39
- "window.decko": { rootUrl: card_url("") },
31
+ "decko.rootUrl": card_url(""),
40
32
  "decko.doubleClick": Card.config.double_click,
41
33
  "decko.cssPath": head_stylesheet_path,
42
34
  "decko.currentUserId": (Auth.current_id if Auth.signed_in?)
@@ -54,7 +46,7 @@ format :html do
54
46
  private
55
47
 
56
48
  def trigger_slot_ready
57
- "$('document').ready(function() { $('.card-slot').trigger('slotReady'); })"
49
+ "$('document').ready(function() { $('.card-slot').trigger('decko.slot.ready'); })"
58
50
  end
59
51
 
60
52
  def script_variable_to_js value
@@ -67,9 +59,8 @@ format :html do
67
59
  end
68
60
 
69
61
  def script_configs
70
- basket[:script_config].map do |codename, js_decko_function|
71
- config_json = escape_javascript Card::Rule.global_setting(codename)
72
- "decko.#{js_decko_function}('#{config_json}')"
62
+ basket[:script_calls].map do |js_function, ruby_method|
63
+ "decko.#{js_function}('#{escape_javascript send(ruby_method)}')"
73
64
  end
74
65
  end
75
66
 
data/set/right/script.rb CHANGED
@@ -1,4 +1,4 @@
1
- include_set Type::List
1
+ assign_type :list
2
2
 
3
3
  def ok_to_read
4
4
  true
@@ -1,3 +1,9 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
 
3
3
  include_set Abstract::CoffeeScript
4
+
5
+ event :validate_coffeescript_syntax, :validate, on: :save, changed: %i[type_id content] do
6
+ ::CoffeeScript.compile content
7
+ rescue ExecJS::RuntimeError => e
8
+ errors.add :content, e.message.remove("[stdin]:")
9
+ end
@@ -1,3 +1,9 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
 
3
3
  include_set Abstract::JavaScript
4
+
5
+ event :validate_javascript_syntax, :validate, on: :save, changed: %i[type_id content] do
6
+ Uglifier.compile content, harmony: true
7
+ rescue Uglifier::Error => e
8
+ errors.add :content, "<pre>#{Ansi2html.ansi2html(e.message)}</pre>".html_safe
9
+ end
@@ -1,2 +1,4 @@
1
1
  include_set Abstract::FolderGroup
2
2
  include_set Abstract::ScriptGroup
3
+
4
+ basket[:non_createable_types] << :local_script_folder_group
@@ -1,2 +1,4 @@
1
1
  include_set Abstract::LocalManifestGroup
2
2
  include_set Abstract::ScriptGroup
3
+
4
+ basket[:non_createable_types] << :local_script_manifest_group
@@ -41,11 +41,7 @@ format :html do
41
41
  end
42
42
 
43
43
  def remote_include_tags
44
- remote_items = card.manifest_group_items "remote"
45
- return unless remote_items
46
-
47
- remote_items.map do |args|
48
- tag_args = args.clone
44
+ map_remote_items do |tag_args|
49
45
  javascript_include_tag tag_args.delete("src"), tag_args
50
46
  end
51
47
  end
@@ -1,4 +1,6 @@
1
- # include_set Abstract::AssetOutputter, output_format: :js
1
+ def ok_item_types
2
+ %i[java_script coffee_script list]
3
+ end
2
4
 
3
5
  def input_item_cards
4
6
  item_cards.reject do |item_card|
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: card-mod-script
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.14.2
4
+ version: 0.15.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: 2022-01-08 00:00:00.000000000 Z
13
+ date: 2023-01-04 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: card
@@ -18,42 +18,42 @@ dependencies:
18
18
  requirements:
19
19
  - - '='
20
20
  - !ruby/object:Gem::Version
21
- version: 1.104.2
21
+ version: 1.105.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.104.2
28
+ version: 1.105.0
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: card-mod-assets
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
33
  - - '='
34
34
  - !ruby/object:Gem::Version
35
- version: 0.14.2
35
+ version: 0.15.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.14.2
42
+ version: 0.15.0
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: card-mod-list
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
47
  - - '='
48
48
  - !ruby/object:Gem::Version
49
- version: 0.14.2
49
+ version: 0.15.0
50
50
  type: :runtime
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
54
  - - '='
55
55
  - !ruby/object:Gem::Version
56
- version: 0.14.2
56
+ version: 0.15.0
57
57
  description: ''
58
58
  email:
59
59
  - info@decko.org
@@ -62,42 +62,10 @@ extensions: []
62
62
  extra_rdoc_files: []
63
63
  files:
64
64
  - README.md
65
- - assets/script/decko/autosave.js.coffee
66
- - assets/script/decko/bridge.js.coffee
67
- - assets/script/decko/card_menu.js.coffee
68
- - assets/script/decko/components.js.coffee
69
- - assets/script/decko/decko.js.coffee
70
- - assets/script/decko/doubleclick.js.coffee
71
- - assets/script/decko/editor.js.coffee
72
- - assets/script/decko/filter.js.coffee
73
- - assets/script/decko/filter_items.js.coffee
74
- - assets/script/decko/filter_links.js.coffee
75
- - assets/script/decko/follow.js.coffee
76
- - assets/script/decko/layout.js.coffee
77
- - assets/script/decko/link_editor.js.coffee
78
- - assets/script/decko/mod.js.coffee
79
- - assets/script/decko/modal.js.coffee
80
- - assets/script/decko/name_editor.js.coffee
81
- - assets/script/decko/navbox.js.coffee
82
- - assets/script/decko/nest_editor.js.coffee
83
- - assets/script/decko/nest_editor_name.js.coffee
84
- - assets/script/decko/nest_editor_options.js.coffee
85
- - assets/script/decko/nest_editor_rules.js.coffee
86
- - assets/script/decko/overlay.js.coffee
87
- - assets/script/decko/pointer_config.js.coffee
88
- - assets/script/decko/pointer_list_editor.js.coffee
89
- - assets/script/decko/recaptcha.js.coffee
90
- - assets/script/decko/selectable_filtered_content.js.coffee
91
- - assets/script/decko/slot.js.coffee
92
- - assets/script/decko/slot_ready.js.coffee
93
- - assets/script/decko/slotter.js.coffee
94
- - assets/script/decko/type_editor.js.coffee
95
- - assets/script/decko/upload.js.coffee
96
- - assets/script/jquery-ui.min.js
97
- - assets/script/jquery.autosize.js
98
- - assets/script/manifest.yml
99
- - db/migrate_core_cards/20200804112348_add_mod_script_assets_type.rb
65
+ - data/real.yml
100
66
  - init/early/init_execjs.rb
67
+ - lib/ansi2html.rb
68
+ - lib/card/mod/script.rb
101
69
  - lib/javascript/jquery.iframe-transport.js
102
70
  - lib/javascript/theme-textmate.js
103
71
  - set/abstract/00_script.rb
@@ -116,81 +84,6 @@ files:
116
84
  - set/type/local_script_manifest_group.rb
117
85
  - set/type_plus_right/mod/script.rb
118
86
  - set/type_plus_right/set/script.rb
119
- - vendor/jquery_file_upload/LICENSE.txt
120
- - vendor/jquery_file_upload/README.md
121
- - vendor/jquery_file_upload/SECURITY.md
122
- - vendor/jquery_file_upload/VULNERABILITIES.md
123
- - vendor/jquery_file_upload/cors/postmessage.html
124
- - vendor/jquery_file_upload/cors/result.html
125
- - vendor/jquery_file_upload/css/jquery.fileupload-noscript.css
126
- - vendor/jquery_file_upload/css/jquery.fileupload-ui-noscript.css
127
- - vendor/jquery_file_upload/css/jquery.fileupload-ui.css
128
- - vendor/jquery_file_upload/css/jquery.fileupload.css
129
- - vendor/jquery_file_upload/docker-compose.yml
130
- - vendor/jquery_file_upload/img/loading.gif
131
- - vendor/jquery_file_upload/img/progressbar.gif
132
- - vendor/jquery_file_upload/index.html
133
- - vendor/jquery_file_upload/js/cors/jquery.postmessage-transport.js
134
- - vendor/jquery_file_upload/js/cors/jquery.xdr-transport.js
135
- - vendor/jquery_file_upload/js/demo.js
136
- - vendor/jquery_file_upload/js/jquery.fileupload-audio.js
137
- - vendor/jquery_file_upload/js/jquery.fileupload-image.js
138
- - vendor/jquery_file_upload/js/jquery.fileupload-process.js
139
- - vendor/jquery_file_upload/js/jquery.fileupload-ui.js
140
- - vendor/jquery_file_upload/js/jquery.fileupload-validate.js
141
- - vendor/jquery_file_upload/js/jquery.fileupload-video.js
142
- - vendor/jquery_file_upload/js/jquery.fileupload.js
143
- - vendor/jquery_file_upload/js/jquery.iframe-transport.js
144
- - vendor/jquery_file_upload/js/vendor/jquery.ui.widget.js
145
- - vendor/jquery_file_upload/package-lock.json
146
- - vendor/jquery_file_upload/package.json
147
- - vendor/jquery_file_upload/server/gae-python/app.yaml
148
- - vendor/jquery_file_upload/server/gae-python/main.py
149
- - vendor/jquery_file_upload/server/gae-python/static/favicon.ico
150
- - vendor/jquery_file_upload/server/gae-python/static/robots.txt
151
- - vendor/jquery_file_upload/server/php/Dockerfile
152
- - vendor/jquery_file_upload/server/php/UploadHandler.php
153
- - vendor/jquery_file_upload/server/php/index.php
154
- - vendor/jquery_file_upload/server/php/php.ini
155
- - vendor/jquery_file_upload/test/index.html
156
- - vendor/jquery_file_upload/test/unit.js
157
- - vendor/jquery_file_upload/test/vendor/chai.js
158
- - vendor/jquery_file_upload/test/vendor/mocha.css
159
- - vendor/jquery_file_upload/test/vendor/mocha.js
160
- - vendor/jquery_file_upload/wdio/LICENSE.txt
161
- - vendor/jquery_file_upload/wdio/assets/black+white-3x2.jpg
162
- - vendor/jquery_file_upload/wdio/assets/black+white-60x40.gif
163
- - vendor/jquery_file_upload/wdio/conf/chrome.js
164
- - vendor/jquery_file_upload/wdio/conf/firefox.js
165
- - vendor/jquery_file_upload/wdio/hooks/index.js
166
- - vendor/jquery_file_upload/wdio/test/pages/file-upload.js
167
- - vendor/jquery_file_upload/wdio/test/specs/01-file-upload.js
168
- - vendor/jquery_file_upload/wdio/wdio.conf.js
169
- - vendor/jquery_rails/CHANGELOG.md
170
- - vendor/jquery_rails/CONTRIBUTING.md
171
- - vendor/jquery_rails/Gemfile
172
- - vendor/jquery_rails/MIT-LICENSE
173
- - vendor/jquery_rails/README.md
174
- - vendor/jquery_rails/Rakefile
175
- - vendor/jquery_rails/VERSIONS.md
176
- - vendor/jquery_rails/jquery-rails.gemspec
177
- - vendor/jquery_rails/lib/jquery-rails.rb
178
- - vendor/jquery_rails/lib/jquery/assert_select.rb
179
- - vendor/jquery_rails/lib/jquery/rails.rb
180
- - vendor/jquery_rails/lib/jquery/rails/engine.rb
181
- - vendor/jquery_rails/lib/jquery/rails/version.rb
182
- - vendor/jquery_rails/test/assert_select_jquery_test.rb
183
- - vendor/jquery_rails/test/test_helper.rb
184
- - vendor/jquery_rails/vendor/assets/javascripts/jquery.js
185
- - vendor/jquery_rails/vendor/assets/javascripts/jquery.min.js
186
- - vendor/jquery_rails/vendor/assets/javascripts/jquery.min.map
187
- - vendor/jquery_rails/vendor/assets/javascripts/jquery2.js
188
- - vendor/jquery_rails/vendor/assets/javascripts/jquery2.min.js
189
- - vendor/jquery_rails/vendor/assets/javascripts/jquery2.min.map
190
- - vendor/jquery_rails/vendor/assets/javascripts/jquery3.js
191
- - vendor/jquery_rails/vendor/assets/javascripts/jquery3.min.js
192
- - vendor/jquery_rails/vendor/assets/javascripts/jquery3.min.map
193
- - vendor/jquery_rails/vendor/assets/javascripts/jquery_ujs.js
194
87
  homepage: https://decko.org
195
88
  licenses:
196
89
  - GPL-3.0
@@ -201,6 +94,7 @@ metadata:
201
94
  wiki_uri: https://decko.org
202
95
  documentation_url: http://docs.decko.org/
203
96
  card-mod: script
97
+ card-mod-group: gem-defaults
204
98
  post_install_message:
205
99
  rdoc_options: []
206
100
  require_paths:
@@ -216,7 +110,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
216
110
  - !ruby/object:Gem::Version
217
111
  version: '0'
218
112
  requirements: []
219
- rubygems_version: 3.2.15
113
+ rubygems_version: 3.3.11
220
114
  signing_key:
221
115
  specification_version: 4
222
116
  summary: JavaScript, CoffeeScript, etc.
@@ -1,30 +0,0 @@
1
- jQuery.fn.extend
2
- autosave: ->
3
- slot = @slot()
4
- return if @attr 'no-autosave'
5
- multi = @closest '.form-group'
6
- if multi[0]
7
- return unless id = multi.data 'cardId'
8
- reportee = ': ' + multi.data 'cardName'
9
- else
10
- id = slot.data 'cardId'
11
- reportee = ''
12
-
13
- return unless id
14
-
15
- # might be better to put this href base in the html
16
- submit_url = decko.path 'update/~' + id
17
- form_data = $('#edit_card_'+id).serializeArray().reduce( ((obj, item) ->
18
- obj[item.name] = item.value
19
- return obj
20
- ), { 'draft' : 'true', 'success[view]' : 'blank'});
21
- $.ajax submit_url, {
22
- data : form_data,
23
- type : 'POST'
24
- }
25
- ##{ 'card[content]' : @val() },
26
-
27
- $(window).ready ->
28
- $('body').on 'change', '.autosave .d0-card-content', ->
29
- content_field = $(this)
30
- setTimeout ( -> content_field.autosave() ), 500
@@ -1,31 +0,0 @@
1
- decko.slotReady (slot, slotter) ->
2
- slot.updateBridge(false, slotter)
3
-
4
- links = slot.find('ul._auto-single-select > li.nav-item > a.nav-link')
5
- if links.length == 1
6
- $(links[0]).click()
7
-
8
- jQuery.fn.extend
9
- # overlayClosed=true means the bridge update was
10
- # triggered by closing an overlay
11
- updateBridge: (overlayClosed=false, slotter) ->
12
- return unless @closest(".bridge").length > 0
13
- if @data("breadcrumb")
14
- @updateBreadcrumb()
15
- else if slotter and $(slotter).data("breadcrumb")
16
- $(slotter).updateBreadcrumb()
17
-
18
- if overlayClosed
19
- $(".bridge-pills > .nav-item > .nav-link.active").removeClass("active")
20
-
21
- updateBreadcrumb: () ->
22
- bc_item = $(".modal-header ._bridge-breadcrumb li:last-child")
23
- bc_item.text(this.data("breadcrumb"))
24
- bc_item.attr("class", "breadcrumb-item active #{this.data('breadcrumb-class')}")
25
-
26
- $(window).ready ->
27
- $('body').on "select2:select", "._close-rule-overlay-on-select", (event) ->
28
- $(".overlay-container > ._overlay.card-slot.overlay_rule-view.RULE").removeOverlay()
29
-
30
- $('body').on "click", "._update-history-pills", (event) ->
31
- $(this).closest(".slotter").data("update-foreign-slot", ".card-slot.history_tab-view")
@@ -1,26 +0,0 @@
1
- decko.isTouchDevice = ->
2
- if 'ontouchstart' of window or window.DocumentTouch and
3
- document instanceof DocumentTouch
4
- return true
5
- else
6
- return detectMobileBrowser()
7
-
8
- # source for this method: detectmobilebrowsers.com
9
- detectMobileBrowser = (userAgent) ->
10
- userAgent = navigator.userAgent or navigator.vendor or window.opera
11
- /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(userAgent) or /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(userAgent.substr(0, 4))
12
-
13
- decko.slotReady (slot) ->
14
- if decko.isTouchDevice()
15
- slot.find('._show-on-hover').removeClass('_show-on-hover')
16
-
17
- $(window).ready ->
18
- $('body').on 'show.bs.popover', '._card-menu-popover', () ->
19
- $(this).closest(".card-menu._show-on-hover")
20
- .removeClass("_show-on-hover")
21
- .addClass("_show-on-hover-disabled")
22
-
23
- $('body').on 'hide.bs.popover', '._card-menu-popover', () ->
24
- $(this).closest(".card-menu._show-on-hover-disabled")
25
- .removeClass("_show-on-hover-disabled")
26
- .addClass("_show-on-hover")