alchemy_cms 7.0.16 → 7.1.0.pre.b1

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.
Files changed (359) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/backport.yml +36 -0
  3. data/.github/workflows/brakeman-analysis.yml +5 -13
  4. data/.github/workflows/lint.yml +2 -9
  5. data/.github/workflows/stale.yml +2 -5
  6. data/.github/workflows/test.yml +7 -15
  7. data/.gitignore +0 -1
  8. data/.standard.yml +1 -1
  9. data/CHANGELOG.md +144 -51
  10. data/Gemfile +7 -18
  11. data/README.md +10 -8
  12. data/alchemy_cms.gemspec +4 -3
  13. data/app/assets/config/alchemy_manifest.js +0 -1
  14. data/app/assets/javascripts/alchemy/admin.js +1 -19
  15. data/app/assets/javascripts/alchemy/alchemy.confirm_dialog.js.coffee +2 -3
  16. data/app/assets/javascripts/alchemy/alchemy.dialog.js.coffee +19 -34
  17. data/app/assets/javascripts/alchemy/alchemy.elements_window.js.coffee +38 -13
  18. data/app/assets/javascripts/alchemy/alchemy.file_progress.js.coffee +1 -1
  19. data/app/assets/javascripts/alchemy/alchemy.fixed_elements.js +32 -25
  20. data/app/assets/javascripts/alchemy/alchemy.growler.js.coffee +1 -1
  21. data/app/assets/javascripts/alchemy/alchemy.image_overlay.coffee +3 -5
  22. data/app/assets/javascripts/alchemy/alchemy.initializer.js.coffee +0 -57
  23. data/app/assets/javascripts/alchemy/alchemy.link_dialog.js.coffee +22 -63
  24. data/app/assets/javascripts/alchemy/alchemy.list_filter.js.coffee +2 -2
  25. data/app/assets/javascripts/alchemy/alchemy.preview.js.coffee +5 -4
  26. data/app/assets/javascripts/alchemy/alchemy.preview_window.js.coffee +5 -5
  27. data/app/assets/javascripts/alchemy/templates/index.js +0 -2
  28. data/app/assets/javascripts/alchemy/templates/node_folder.hbs +1 -1
  29. data/app/assets/javascripts/alchemy/templates/page.hbs +1 -1
  30. data/app/assets/javascripts/alchemy/templates/page_folder.hbs +2 -2
  31. data/app/assets/stylesheets/alchemy/_custom-properties.scss +82 -0
  32. data/app/assets/stylesheets/alchemy/_mixins.scss +38 -30
  33. data/app/assets/stylesheets/alchemy/_variables.scss +12 -5
  34. data/app/assets/stylesheets/alchemy/admin.scss +3 -4
  35. data/app/assets/stylesheets/alchemy/archive.scss +107 -50
  36. data/app/assets/stylesheets/alchemy/attachments.scss +5 -4
  37. data/app/assets/stylesheets/alchemy/buttons.scss +38 -164
  38. data/app/assets/stylesheets/alchemy/dashboard.scss +31 -6
  39. data/app/assets/stylesheets/alchemy/dialogs.scss +12 -28
  40. data/app/assets/stylesheets/alchemy/elements.scss +273 -282
  41. data/app/assets/stylesheets/alchemy/flash.scss +20 -12
  42. data/app/assets/stylesheets/alchemy/forms.scss +21 -34
  43. data/app/assets/stylesheets/alchemy/frame.scss +11 -32
  44. data/app/assets/stylesheets/alchemy/hints.scss +4 -62
  45. data/app/assets/stylesheets/alchemy/image_library.scss +36 -33
  46. data/app/assets/stylesheets/alchemy/labels.scss +4 -1
  47. data/app/assets/stylesheets/alchemy/menubar.scss +7 -6
  48. data/app/assets/stylesheets/alchemy/navigation.scss +27 -15
  49. data/app/assets/stylesheets/alchemy/nodes.scss +11 -7
  50. data/app/assets/stylesheets/alchemy/notices.scss +16 -4
  51. data/app/assets/stylesheets/alchemy/page-select.scss +10 -2
  52. data/app/assets/stylesheets/alchemy/pagination.scss +22 -13
  53. data/app/assets/stylesheets/alchemy/preview_window.scss +4 -8
  54. data/app/assets/stylesheets/alchemy/resource_info.scss +7 -5
  55. data/app/assets/stylesheets/alchemy/selects.scss +49 -42
  56. data/app/assets/stylesheets/alchemy/shoelace.scss +345 -0
  57. data/app/assets/stylesheets/alchemy/sitemap.scss +24 -14
  58. data/app/assets/stylesheets/alchemy/spinner.scss +9 -19
  59. data/app/assets/stylesheets/alchemy/tables.scss +16 -24
  60. data/app/assets/stylesheets/alchemy/tags.scss +4 -0
  61. data/app/assets/stylesheets/alchemy/toolbar.scss +29 -25
  62. data/app/assets/stylesheets/alchemy/upload.scss +140 -89
  63. data/app/assets/stylesheets/tinymce/skins/alchemy/skin.min.css.scss +80 -108
  64. data/app/components/alchemy/admin/node_select.rb +39 -0
  65. data/app/components/alchemy/admin/page_select.rb +42 -0
  66. data/app/components/alchemy/ingredients/audio_view.rb +1 -1
  67. data/app/components/alchemy/ingredients/base_view.rb +1 -1
  68. data/app/components/alchemy/ingredients/boolean_view.rb +1 -1
  69. data/app/components/alchemy/ingredients/datetime_view.rb +3 -4
  70. data/app/components/alchemy/ingredients/file_view.rb +1 -1
  71. data/app/components/alchemy/ingredients/headline_view.rb +7 -16
  72. data/app/components/alchemy/ingredients/link_view.rb +1 -1
  73. data/app/components/alchemy/ingredients/page_view.rb +1 -1
  74. data/app/components/alchemy/ingredients/picture_view.rb +1 -1
  75. data/app/components/alchemy/ingredients/richtext_view.rb +1 -1
  76. data/app/components/alchemy/ingredients/text_view.rb +1 -1
  77. data/app/components/alchemy/ingredients/video_view.rb +1 -1
  78. data/app/controllers/alchemy/admin/base_controller.rb +7 -32
  79. data/app/controllers/alchemy/admin/elements_controller.rb +63 -35
  80. data/app/controllers/alchemy/admin/languages_controller.rb +2 -3
  81. data/app/controllers/alchemy/admin/layoutpages_controller.rb +0 -19
  82. data/app/controllers/alchemy/admin/pages_controller.rb +4 -5
  83. data/app/controllers/alchemy/admin/resources_controller.rb +1 -1
  84. data/app/controllers/alchemy/base_controller.rb +4 -2
  85. data/app/controllers/alchemy/messages_controller.rb +1 -1
  86. data/app/controllers/concerns/alchemy/admin/current_language.rb +1 -5
  87. data/app/controllers/concerns/alchemy/admin/uploader_responses.rb +1 -1
  88. data/app/decorators/alchemy/element_editor.rb +0 -2
  89. data/app/helpers/alchemy/admin/attachments_helper.rb +6 -5
  90. data/app/helpers/alchemy/admin/base_helper.rb +17 -12
  91. data/app/helpers/alchemy/admin/ingredients_helper.rb +4 -1
  92. data/app/helpers/alchemy/admin/pages_helper.rb +5 -11
  93. data/app/helpers/alchemy/base_helper.rb +47 -13
  94. data/app/javascript/alchemy_admin/components/alchemy_html_element.js +129 -0
  95. data/app/javascript/alchemy_admin/components/button.js +59 -0
  96. data/app/javascript/alchemy_admin/components/char_counter.js +40 -0
  97. data/app/javascript/alchemy_admin/components/datepicker.js +39 -0
  98. data/app/javascript/alchemy_admin/components/dialog_link.js +45 -0
  99. data/app/javascript/alchemy_admin/components/element_editor/publish_element_button.js +36 -0
  100. data/app/javascript/alchemy_admin/components/element_editor.js +553 -0
  101. data/app/javascript/alchemy_admin/components/ingredient_group.js +54 -0
  102. data/app/javascript/alchemy_admin/components/link_buttons/link_button.js +48 -0
  103. data/app/javascript/alchemy_admin/components/link_buttons/unlink_button.js +38 -0
  104. data/app/javascript/alchemy_admin/components/link_buttons.js +79 -0
  105. data/app/javascript/alchemy_admin/components/node_select.js +45 -0
  106. data/app/javascript/alchemy_admin/components/overlay.js +18 -0
  107. data/app/javascript/alchemy_admin/components/page_select.js +63 -0
  108. data/app/javascript/alchemy_admin/components/remote_select.js +134 -0
  109. data/app/javascript/alchemy_admin/components/select.js +12 -0
  110. data/app/javascript/alchemy_admin/components/spinner.js +31 -0
  111. data/app/javascript/alchemy_admin/components/tinymce.js +146 -0
  112. data/app/javascript/alchemy_admin/components/uploader/file_upload.js +266 -0
  113. data/app/javascript/alchemy_admin/components/uploader/progress.js +258 -0
  114. data/app/javascript/alchemy_admin/components/uploader.js +132 -0
  115. data/app/javascript/alchemy_admin/dirty.js +49 -0
  116. data/app/javascript/alchemy_admin/file_editors.js +1 -1
  117. data/app/javascript/alchemy_admin/gui.js +14 -0
  118. data/app/javascript/alchemy_admin/i18n.js +12 -8
  119. data/app/javascript/alchemy_admin/image_cropper.js +6 -3
  120. data/app/javascript/alchemy_admin/image_loader.js +7 -15
  121. data/app/javascript/alchemy_admin/ingredient_anchor_link.js +2 -5
  122. data/app/javascript/alchemy_admin/initializer.js +65 -0
  123. data/app/javascript/alchemy_admin/locales/en.js +31 -0
  124. data/app/javascript/alchemy_admin/picture_editors.js +2 -2
  125. data/app/javascript/alchemy_admin/picture_selector.js +38 -0
  126. data/app/javascript/alchemy_admin/please_wait_overlay.js +8 -0
  127. data/app/javascript/alchemy_admin/sortable_elements.js +78 -0
  128. data/app/javascript/alchemy_admin/spinner.js +36 -0
  129. data/app/javascript/alchemy_admin/tags_autocomplete.js +46 -0
  130. data/app/javascript/alchemy_admin/utils/ajax.js +6 -5
  131. data/app/javascript/alchemy_admin/utils/dom_helpers.js +20 -0
  132. data/app/javascript/alchemy_admin/utils/format.js +11 -0
  133. data/app/javascript/alchemy_admin/utils/string_conversions.js +10 -0
  134. data/app/javascript/alchemy_admin.js +70 -13
  135. data/app/javascript/menubar.js +10 -0
  136. data/app/models/alchemy/attachment.rb +9 -11
  137. data/app/models/alchemy/element.rb +11 -0
  138. data/app/models/alchemy/ingredients/audio.rb +0 -11
  139. data/app/models/alchemy/ingredients/datetime.rb +1 -1
  140. data/app/models/alchemy/ingredients/richtext.rb +1 -10
  141. data/app/models/alchemy/ingredients/video.rb +0 -12
  142. data/app/models/alchemy/node.rb +4 -0
  143. data/app/models/alchemy/page/page_elements.rb +2 -11
  144. data/app/models/alchemy/page/page_natures.rb +10 -2
  145. data/app/models/alchemy/page.rb +12 -54
  146. data/app/models/alchemy/picture/url.rb +1 -9
  147. data/app/models/concerns/alchemy/picture_thumbnails.rb +5 -4
  148. data/app/serializers/alchemy/page_tree_serializer.rb +2 -1
  149. data/app/services/alchemy/copy_page.rb +98 -0
  150. data/app/views/alchemy/_menubar.html.erb +17 -13
  151. data/app/views/alchemy/admin/attachments/_archive_overlay.html.erb +14 -10
  152. data/app/views/alchemy/admin/attachments/_attachment.html.erb +44 -36
  153. data/app/views/alchemy/admin/attachments/_replace_button.html.erb +15 -21
  154. data/app/views/alchemy/admin/attachments/archive_overlay.js.erb +0 -1
  155. data/app/views/alchemy/admin/attachments/assign.js.erb +1 -1
  156. data/app/views/alchemy/admin/attachments/index.html.erb +6 -4
  157. data/app/views/alchemy/admin/attachments/show.html.erb +8 -8
  158. data/app/views/alchemy/admin/clipboard/clear.js.erb +1 -1
  159. data/app/views/alchemy/admin/clipboard/index.html.erb +3 -7
  160. data/app/views/alchemy/admin/clipboard/insert.js.erb +1 -1
  161. data/app/views/alchemy/admin/crop.html.erb +1 -1
  162. data/app/views/alchemy/admin/dashboard/_locked_pages.html.erb +1 -1
  163. data/app/views/alchemy/admin/dashboard/index.html.erb +13 -11
  164. data/app/views/alchemy/admin/dashboard/info.html.erb +7 -7
  165. data/app/views/alchemy/admin/elements/_add_nested_element_form.html.erb +21 -23
  166. data/app/views/alchemy/admin/elements/_element.html.erb +52 -44
  167. data/app/views/alchemy/admin/elements/_footer.html.erb +1 -1
  168. data/app/views/alchemy/admin/elements/_form.html.erb +1 -1
  169. data/app/views/alchemy/admin/elements/_header.html.erb +11 -12
  170. data/app/views/alchemy/admin/elements/_toolbar.html.erb +33 -45
  171. data/app/views/alchemy/admin/elements/create.js.erb +7 -15
  172. data/app/views/alchemy/admin/elements/destroy.js.erb +0 -2
  173. data/app/views/alchemy/admin/elements/index.html.erb +27 -24
  174. data/app/views/alchemy/admin/elements/new.html.erb +9 -11
  175. data/app/views/alchemy/admin/ingredients/_file_fields.html.erb +2 -2
  176. data/app/views/alchemy/admin/ingredients/_picture_fields.html.erb +3 -3
  177. data/app/views/alchemy/admin/ingredients/_video_fields.html.erb +1 -2
  178. data/app/views/alchemy/admin/languages/_form.html.erb +2 -3
  179. data/app/views/alchemy/admin/languages/_language.html.erb +15 -8
  180. data/app/views/alchemy/admin/languages/_table.html.erb +1 -0
  181. data/app/views/alchemy/admin/layoutpages/_layoutpage.html.erb +28 -16
  182. data/app/views/alchemy/admin/layoutpages/edit.html.erb +1 -1
  183. data/app/views/alchemy/admin/layoutpages/index.html.erb +2 -2
  184. data/app/views/alchemy/admin/legacy_page_urls/_legacy_page_url.html.erb +12 -8
  185. data/app/views/alchemy/admin/legacy_page_urls/_new.html.erb +1 -1
  186. data/app/views/alchemy/admin/nodes/_form.html.erb +20 -21
  187. data/app/views/alchemy/admin/nodes/_node.html.erb +39 -34
  188. data/app/views/alchemy/admin/nodes/index.html.erb +1 -1
  189. data/app/views/alchemy/admin/pages/_anchor_link.html.erb +4 -4
  190. data/app/views/alchemy/admin/pages/_create_language_form.html.erb +2 -2
  191. data/app/views/alchemy/admin/pages/_current_page.html.erb +1 -1
  192. data/app/views/alchemy/admin/pages/_external_link.html.erb +4 -4
  193. data/app/views/alchemy/admin/pages/_file_link.html.erb +5 -5
  194. data/app/views/alchemy/admin/pages/_form.html.erb +10 -21
  195. data/app/views/alchemy/admin/pages/_internal_link.html.erb +4 -4
  196. data/app/views/alchemy/admin/pages/_locked_page.html.erb +2 -2
  197. data/app/views/alchemy/admin/pages/_new_page_form.html.erb +4 -17
  198. data/app/views/alchemy/admin/pages/_page.html.erb +76 -72
  199. data/app/views/alchemy/admin/pages/_page_infos.html.erb +23 -7
  200. data/app/views/alchemy/admin/pages/_page_layout_filter.html.erb +2 -1
  201. data/app/views/alchemy/admin/pages/_page_status.html.erb +11 -21
  202. data/app/views/alchemy/admin/pages/_publication_fields.html.erb +2 -5
  203. data/app/views/alchemy/admin/pages/_table.html.erb +1 -1
  204. data/app/views/alchemy/admin/pages/_table_row.html.erb +43 -39
  205. data/app/views/alchemy/admin/pages/_toolbar.html.erb +43 -38
  206. data/app/views/alchemy/admin/pages/configure.html.erb +12 -14
  207. data/app/views/alchemy/admin/pages/edit.html.erb +80 -103
  208. data/app/views/alchemy/admin/pages/info.html.erb +20 -11
  209. data/app/views/alchemy/admin/pages/link.html.erb +22 -16
  210. data/app/views/alchemy/admin/pages/new.html.erb +9 -11
  211. data/app/views/alchemy/admin/pages/unlock.js.erb +10 -3
  212. data/app/views/alchemy/admin/partials/_language_tree_select.html.erb +15 -13
  213. data/app/views/alchemy/admin/partials/_main_navigation_entry.html.erb +3 -5
  214. data/app/views/alchemy/admin/partials/_routes.html.erb +10 -2
  215. data/app/views/alchemy/admin/partials/_site_select.html.erb +6 -5
  216. data/app/views/alchemy/admin/partials/_toolbar_button.html.erb +28 -23
  217. data/app/views/alchemy/admin/pictures/_archive.html.erb +5 -5
  218. data/app/views/alchemy/admin/pictures/_archive_overlay.html.erb +1 -1
  219. data/app/views/alchemy/admin/pictures/_filter_and_size_bar.html.erb +21 -23
  220. data/app/views/alchemy/admin/pictures/_infos.html.erb +2 -6
  221. data/app/views/alchemy/admin/pictures/_picture.html.erb +15 -17
  222. data/app/views/alchemy/admin/pictures/_picture_to_assign.html.erb +17 -16
  223. data/app/views/alchemy/admin/pictures/_tag_list.html.erb +1 -1
  224. data/app/views/alchemy/admin/pictures/archive_overlay.js.erb +1 -1
  225. data/app/views/alchemy/admin/pictures/assign.js.erb +1 -1
  226. data/app/views/alchemy/admin/pictures/index.html.erb +34 -30
  227. data/app/views/alchemy/admin/pictures/show.html.erb +3 -3
  228. data/app/views/alchemy/admin/resources/_filter.html.erb +2 -2
  229. data/app/views/alchemy/admin/resources/_form.html.erb +2 -2
  230. data/app/views/alchemy/admin/resources/_per_page_select.html.erb +1 -1
  231. data/app/views/alchemy/admin/resources/_resource.html.erb +16 -9
  232. data/app/views/alchemy/admin/resources/_table.html.erb +4 -1
  233. data/app/views/alchemy/admin/resources/index.html.erb +22 -19
  234. data/app/views/alchemy/admin/sites/index.html.erb +2 -1
  235. data/app/views/alchemy/admin/styleguide/index.html.erb +54 -28
  236. data/app/views/alchemy/admin/tags/_tag.html.erb +16 -18
  237. data/app/views/alchemy/admin/tags/index.html.erb +15 -12
  238. data/app/views/alchemy/admin/tinymce/_setup.html.erb +29 -0
  239. data/app/views/alchemy/admin/uploader/_button.html.erb +23 -29
  240. data/app/views/alchemy/admin/uploader/_setup.html.erb +3 -8
  241. data/app/views/alchemy/base/500.html.erb +1 -1
  242. data/app/views/alchemy/base/error_notice.js.erb +0 -1
  243. data/app/views/alchemy/ingredients/_boolean_editor.html.erb +1 -1
  244. data/app/views/alchemy/ingredients/_datetime_editor.html.erb +2 -3
  245. data/app/views/alchemy/ingredients/_file_editor.html.erb +5 -5
  246. data/app/views/alchemy/ingredients/_link_editor.html.erb +1 -1
  247. data/app/views/alchemy/ingredients/_node_editor.html.erb +6 -19
  248. data/app/views/alchemy/ingredients/_page_editor.html.erb +7 -19
  249. data/app/views/alchemy/ingredients/_picture_editor.html.erb +2 -2
  250. data/app/views/alchemy/ingredients/_richtext_editor.html.erb +6 -15
  251. data/app/views/alchemy/ingredients/_select_editor.html.erb +2 -1
  252. data/app/views/alchemy/ingredients/_text_editor.html.erb +1 -1
  253. data/app/views/alchemy/ingredients/shared/_anchor.html.erb +1 -1
  254. data/app/views/alchemy/ingredients/shared/_link_tools.html.erb +10 -20
  255. data/app/views/alchemy/ingredients/shared/_picture_tools.html.erb +42 -49
  256. data/app/views/kaminari/alchemy/_first_page.html.erb +4 -2
  257. data/app/views/kaminari/alchemy/_gap.html.erb +1 -1
  258. data/app/views/kaminari/alchemy/_last_page.html.erb +4 -2
  259. data/app/views/kaminari/alchemy/_next_page.html.erb +4 -2
  260. data/app/views/kaminari/alchemy/_prev_page.html.erb +4 -2
  261. data/app/views/layouts/alchemy/admin.html.erb +10 -29
  262. data/config/alchemy/modules.yml +30 -30
  263. data/config/importmap.rb +10 -1
  264. data/config/initializers/rails_live_reload.rb +13 -0
  265. data/config/locales/alchemy.en.yml +23 -9
  266. data/config/routes.rb +3 -2
  267. data/lib/alchemy/auth_accessors.rb +6 -1
  268. data/lib/alchemy/controller_actions.rb +17 -4
  269. data/lib/alchemy/dev_support/live_reload_watcher.rb +5 -0
  270. data/lib/alchemy/engine.rb +8 -2
  271. data/lib/alchemy/forms/builder.rb +18 -12
  272. data/lib/alchemy/modules.rb +2 -2
  273. data/lib/alchemy/permissions.rb +1 -1
  274. data/lib/alchemy/resources_helper.rb +3 -3
  275. data/lib/alchemy/routing_constraints.rb +1 -1
  276. data/lib/alchemy/test_support/capybara_helpers.rb +8 -5
  277. data/lib/alchemy/test_support/rspec_matchers.rb +14 -0
  278. data/lib/alchemy/test_support/shared_uploader_examples.rb +1 -1
  279. data/lib/alchemy/tinymce.rb +8 -3
  280. data/lib/alchemy/version.rb +1 -1
  281. data/lib/tasks/alchemy/tidy.rake +1 -0
  282. data/package.json +14 -5
  283. data/vendor/assets/fonts/remixicon.eot +0 -0
  284. data/vendor/assets/fonts/remixicon.svg +7816 -0
  285. data/vendor/assets/fonts/remixicon.ttf +0 -0
  286. data/vendor/assets/fonts/remixicon.woff +0 -0
  287. data/vendor/assets/fonts/remixicon.woff2 +0 -0
  288. data/vendor/assets/stylesheets/remixicon.scss +10480 -0
  289. metadata +87 -97
  290. data/.gem_release.yml +0 -8
  291. data/app/assets/javascripts/alchemy/alchemy.autocomplete.js.coffee +0 -30
  292. data/app/assets/javascripts/alchemy/alchemy.base.js.coffee +0 -53
  293. data/app/assets/javascripts/alchemy/alchemy.buttons.js.coffee +0 -45
  294. data/app/assets/javascripts/alchemy/alchemy.char_counter.js.coffee +0 -19
  295. data/app/assets/javascripts/alchemy/alchemy.dirty.js.coffee +0 -59
  296. data/app/assets/javascripts/alchemy/alchemy.dragndrop.js.coffee +0 -79
  297. data/app/assets/javascripts/alchemy/alchemy.element_editors.js.coffee +0 -267
  298. data/app/assets/javascripts/alchemy/alchemy.gui.js.coffee +0 -27
  299. data/app/assets/javascripts/alchemy/alchemy.spinner.js +0 -32
  300. data/app/assets/javascripts/alchemy/alchemy.tooltips.coffee +0 -10
  301. data/app/assets/javascripts/alchemy/alchemy.uploader.js.coffee +0 -131
  302. data/app/assets/javascripts/alchemy/menubar.js.coffee +0 -8
  303. data/app/assets/javascripts/alchemy/node_select.js +0 -39
  304. data/app/assets/javascripts/alchemy/page_select.js +0 -46
  305. data/app/assets/javascripts/alchemy/templates/node.hbs +0 -16
  306. data/app/assets/javascripts/alchemy/templates/spinner.hbs +0 -7
  307. data/app/assets/stylesheets/alchemy/jquery-ui.scss +0 -435
  308. data/app/javascript/alchemy_admin/datepicker.js +0 -40
  309. data/app/javascript/alchemy_admin/tinymce.js +0 -146
  310. data/app/javascript/alchemy_admin/translations.js +0 -32
  311. data/app/views/alchemy/admin/elements/fold.js.erb +0 -33
  312. data/app/views/alchemy/admin/elements/order.js.erb +0 -11
  313. data/app/views/alchemy/admin/elements/publish.js.erb +0 -21
  314. data/app/views/alchemy/admin/elements/update.js.erb +0 -27
  315. data/vendor/assets/fonts/fa-regular-400.eot +0 -0
  316. data/vendor/assets/fonts/fa-regular-400.svg +0 -803
  317. data/vendor/assets/fonts/fa-regular-400.ttf +0 -0
  318. data/vendor/assets/fonts/fa-regular-400.woff +0 -0
  319. data/vendor/assets/fonts/fa-regular-400.woff2 +0 -0
  320. data/vendor/assets/fonts/fa-solid-900.eot +0 -0
  321. data/vendor/assets/fonts/fa-solid-900.svg +0 -4938
  322. data/vendor/assets/fonts/fa-solid-900.ttf +0 -0
  323. data/vendor/assets/fonts/fa-solid-900.woff +0 -0
  324. data/vendor/assets/fonts/fa-solid-900.woff2 +0 -0
  325. data/vendor/assets/javascripts/fileupload/jquery.fileupload-process.js +0 -178
  326. data/vendor/assets/javascripts/fileupload/jquery.fileupload-validate.js +0 -125
  327. data/vendor/assets/javascripts/fileupload/jquery.fileupload.js +0 -1502
  328. data/vendor/assets/javascripts/fileupload/jquery.iframe-transport.js +0 -224
  329. data/vendor/assets/javascripts/jquery-ui/data.js +0 -45
  330. data/vendor/assets/javascripts/jquery-ui/ie.js +0 -20
  331. data/vendor/assets/javascripts/jquery-ui/keycode.js +0 -51
  332. data/vendor/assets/javascripts/jquery-ui/plugin.js +0 -49
  333. data/vendor/assets/javascripts/jquery-ui/safe-active-element.js +0 -46
  334. data/vendor/assets/javascripts/jquery-ui/safe-blur.js +0 -27
  335. data/vendor/assets/javascripts/jquery-ui/scroll-parent.js +0 -50
  336. data/vendor/assets/javascripts/jquery-ui/unique-id.js +0 -54
  337. data/vendor/assets/javascripts/jquery-ui/version.js +0 -20
  338. data/vendor/assets/javascripts/jquery-ui/widget.js +0 -754
  339. data/vendor/assets/javascripts/jquery-ui/widgets/draggable.js +0 -1268
  340. data/vendor/assets/javascripts/jquery-ui/widgets/mouse.js +0 -241
  341. data/vendor/assets/javascripts/jquery-ui/widgets/sortable.js +0 -1623
  342. data/vendor/assets/javascripts/jquery-ui/widgets/tabs.js +0 -931
  343. data/vendor/assets/javascripts/jquery_plugins/jquery.scrollTo.min.js +0 -7
  344. data/vendor/assets/javascripts/jquery_plugins/jquery.ui.tabspaging.js +0 -296
  345. data/vendor/assets/stylesheets/fontawesome/_animated.scss +0 -20
  346. data/vendor/assets/stylesheets/fontawesome/_bordered-pulled.scss +0 -20
  347. data/vendor/assets/stylesheets/fontawesome/_core.scss +0 -21
  348. data/vendor/assets/stylesheets/fontawesome/_fixed-width.scss +0 -6
  349. data/vendor/assets/stylesheets/fontawesome/_icons.scss +0 -1441
  350. data/vendor/assets/stylesheets/fontawesome/_larger.scss +0 -23
  351. data/vendor/assets/stylesheets/fontawesome/_list.scss +0 -18
  352. data/vendor/assets/stylesheets/fontawesome/_mixins.scss +0 -56
  353. data/vendor/assets/stylesheets/fontawesome/_rotated-flipped.scss +0 -24
  354. data/vendor/assets/stylesheets/fontawesome/_screen-reader.scss +0 -5
  355. data/vendor/assets/stylesheets/fontawesome/_stacked.scss +0 -31
  356. data/vendor/assets/stylesheets/fontawesome/_variables.scss +0 -1458
  357. data/vendor/assets/stylesheets/fontawesome/fontawesome.scss +0 -16
  358. data/vendor/assets/stylesheets/fontawesome/regular.scss +0 -23
  359. data/vendor/assets/stylesheets/fontawesome/solid.scss +0 -24
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alchemy_cms
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.0.16
4
+ version: 7.1.0.pre.b1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas von Deyen
@@ -10,9 +10,10 @@ authors:
10
10
  - Hendrik Mans
11
11
  - Carsten Fregin
12
12
  - Martin Meyerhoff
13
+ autorequire:
13
14
  bindir: bin
14
15
  cert_chain: []
15
- date: 2025-01-23 00:00:00.000000000 Z
16
+ date: 2023-12-28 00:00:00.000000000 Z
16
17
  dependencies:
17
18
  - !ruby/object:Gem::Dependency
18
19
  name: actionmailer
@@ -20,7 +21,7 @@ dependencies:
20
21
  requirements:
21
22
  - - ">="
22
23
  - !ruby/object:Gem::Version
23
- version: '6.1'
24
+ version: '7.0'
24
25
  - - "<"
25
26
  - !ruby/object:Gem::Version
26
27
  version: '7.2'
@@ -30,7 +31,7 @@ dependencies:
30
31
  requirements:
31
32
  - - ">="
32
33
  - !ruby/object:Gem::Version
33
- version: '6.1'
34
+ version: '7.0'
34
35
  - - "<"
35
36
  - !ruby/object:Gem::Version
36
37
  version: '7.2'
@@ -40,7 +41,7 @@ dependencies:
40
41
  requirements:
41
42
  - - ">="
42
43
  - !ruby/object:Gem::Version
43
- version: '6.1'
44
+ version: '7.0'
44
45
  - - "<"
45
46
  - !ruby/object:Gem::Version
46
47
  version: '7.2'
@@ -50,7 +51,7 @@ dependencies:
50
51
  requirements:
51
52
  - - ">="
52
53
  - !ruby/object:Gem::Version
53
- version: '6.1'
54
+ version: '7.0'
54
55
  - - "<"
55
56
  - !ruby/object:Gem::Version
56
57
  version: '7.2'
@@ -60,7 +61,7 @@ dependencies:
60
61
  requirements:
61
62
  - - ">="
62
63
  - !ruby/object:Gem::Version
63
- version: '6.1'
64
+ version: '7.0'
64
65
  - - "<"
65
66
  - !ruby/object:Gem::Version
66
67
  version: '7.2'
@@ -70,7 +71,7 @@ dependencies:
70
71
  requirements:
71
72
  - - ">="
72
73
  - !ruby/object:Gem::Version
73
- version: '6.1'
74
+ version: '7.0'
74
75
  - - "<"
75
76
  - !ruby/object:Gem::Version
76
77
  version: '7.2'
@@ -80,7 +81,7 @@ dependencies:
80
81
  requirements:
81
82
  - - ">="
82
83
  - !ruby/object:Gem::Version
83
- version: '6.1'
84
+ version: '7.0'
84
85
  - - "<"
85
86
  - !ruby/object:Gem::Version
86
87
  version: '7.2'
@@ -90,7 +91,7 @@ dependencies:
90
91
  requirements:
91
92
  - - ">="
92
93
  - !ruby/object:Gem::Version
93
- version: '6.1'
94
+ version: '7.0'
94
95
  - - "<"
95
96
  - !ruby/object:Gem::Version
96
97
  version: '7.2'
@@ -100,7 +101,7 @@ dependencies:
100
101
  requirements:
101
102
  - - ">="
102
103
  - !ruby/object:Gem::Version
103
- version: '6.1'
104
+ version: '7.0'
104
105
  - - "<"
105
106
  - !ruby/object:Gem::Version
106
107
  version: '7.2'
@@ -110,7 +111,7 @@ dependencies:
110
111
  requirements:
111
112
  - - ">="
112
113
  - !ruby/object:Gem::Version
113
- version: '6.1'
114
+ version: '7.0'
114
115
  - - "<"
115
116
  - !ruby/object:Gem::Version
116
117
  version: '7.2'
@@ -120,7 +121,7 @@ dependencies:
120
121
  requirements:
121
122
  - - ">="
122
123
  - !ruby/object:Gem::Version
123
- version: '6.1'
124
+ version: '7.0'
124
125
  - - "<"
125
126
  - !ruby/object:Gem::Version
126
127
  version: '7.2'
@@ -130,7 +131,7 @@ dependencies:
130
131
  requirements:
131
132
  - - ">="
132
133
  - !ruby/object:Gem::Version
133
- version: '6.1'
134
+ version: '7.0'
134
135
  - - "<"
135
136
  - !ruby/object:Gem::Version
136
137
  version: '7.2'
@@ -140,7 +141,7 @@ dependencies:
140
141
  requirements:
141
142
  - - ">="
142
143
  - !ruby/object:Gem::Version
143
- version: '6.1'
144
+ version: '7.0'
144
145
  - - "<"
145
146
  - !ruby/object:Gem::Version
146
147
  version: '7.2'
@@ -150,7 +151,7 @@ dependencies:
150
151
  requirements:
151
152
  - - ">="
152
153
  - !ruby/object:Gem::Version
153
- version: '6.1'
154
+ version: '7.0'
154
155
  - - "<"
155
156
  - !ruby/object:Gem::Version
156
157
  version: '7.2'
@@ -160,7 +161,7 @@ dependencies:
160
161
  requirements:
161
162
  - - ">="
162
163
  - !ruby/object:Gem::Version
163
- version: '6.1'
164
+ version: '7.0'
164
165
  - - "<"
165
166
  - !ruby/object:Gem::Version
166
167
  version: '7.2'
@@ -170,7 +171,7 @@ dependencies:
170
171
  requirements:
171
172
  - - ">="
172
173
  - !ruby/object:Gem::Version
173
- version: '6.1'
174
+ version: '7.0'
174
175
  - - "<"
175
176
  - !ruby/object:Gem::Version
176
177
  version: '7.2'
@@ -507,9 +508,6 @@ dependencies:
507
508
  - - ">="
508
509
  - !ruby/object:Gem::Version
509
510
  version: '1.4'
510
- - - "<"
511
- - !ruby/object:Gem::Version
512
- version: '2'
513
511
  type: :runtime
514
512
  prerelease: false
515
513
  version_requirements: !ruby/object:Gem::Requirement
@@ -517,9 +515,6 @@ dependencies:
517
515
  - - ">="
518
516
  - !ruby/object:Gem::Version
519
517
  version: '1.4'
520
- - - "<"
521
- - !ruby/object:Gem::Version
522
- version: '2'
523
518
  - !ruby/object:Gem::Dependency
524
519
  name: view_component
525
520
  requirement: !ruby/object:Gem::Requirement
@@ -562,6 +557,20 @@ dependencies:
562
557
  - - "~>"
563
558
  - !ruby/object:Gem::Version
564
559
  version: '1.0'
560
+ - !ruby/object:Gem::Dependency
561
+ name: capybara-shadowdom
562
+ requirement: !ruby/object:Gem::Requirement
563
+ requirements:
564
+ - - "~>"
565
+ - !ruby/object:Gem::Version
566
+ version: '0.3'
567
+ type: :development
568
+ prerelease: false
569
+ version_requirements: !ruby/object:Gem::Requirement
570
+ requirements:
571
+ - - "~>"
572
+ - !ruby/object:Gem::Version
573
+ version: '0.3'
565
574
  - !ruby/object:Gem::Dependency
566
575
  name: factory_bot_rails
567
576
  requirement: !ruby/object:Gem::Requirement
@@ -680,14 +689,14 @@ dependencies:
680
689
  requirements:
681
690
  - - "~>"
682
691
  - !ruby/object:Gem::Version
683
- version: '5.0'
692
+ version: '6.0'
684
693
  type: :development
685
694
  prerelease: false
686
695
  version_requirements: !ruby/object:Gem::Requirement
687
696
  requirements:
688
697
  - - "~>"
689
698
  - !ruby/object:Gem::Version
690
- version: '5.0'
699
+ version: '6.0'
691
700
  - !ruby/object:Gem::Dependency
692
701
  name: timecop
693
702
  requirement: !ruby/object:Gem::Requirement
@@ -711,11 +720,11 @@ extra_rdoc_files: []
711
720
  files:
712
721
  - ".codeclimate.yml"
713
722
  - ".editorconfig"
714
- - ".gem_release.yml"
715
723
  - ".github/FUNDING.yml"
716
724
  - ".github/ISSUE_TEMPLATE/Bug_report.md"
717
725
  - ".github/ISSUE_TEMPLATE/Feature_request.md"
718
726
  - ".github/PULL_REQUEST_TEMPLATE.md"
727
+ - ".github/workflows/backport.yml"
719
728
  - ".github/workflows/brakeman-analysis.yml"
720
729
  - ".github/workflows/lint.yml"
721
730
  - ".github/workflows/stale.yml"
@@ -746,20 +755,12 @@ files:
746
755
  - app/assets/images/alchemy/lupe.cur
747
756
  - app/assets/images/alchemy/missing-image.svg
748
757
  - app/assets/javascripts/alchemy/admin.js
749
- - app/assets/javascripts/alchemy/alchemy.autocomplete.js.coffee
750
- - app/assets/javascripts/alchemy/alchemy.base.js.coffee
751
- - app/assets/javascripts/alchemy/alchemy.buttons.js.coffee
752
- - app/assets/javascripts/alchemy/alchemy.char_counter.js.coffee
753
758
  - app/assets/javascripts/alchemy/alchemy.confirm_dialog.js.coffee
754
759
  - app/assets/javascripts/alchemy/alchemy.dialog.js.coffee
755
- - app/assets/javascripts/alchemy/alchemy.dirty.js.coffee
756
- - app/assets/javascripts/alchemy/alchemy.dragndrop.js.coffee
757
- - app/assets/javascripts/alchemy/alchemy.element_editors.js.coffee
758
760
  - app/assets/javascripts/alchemy/alchemy.elements_window.js.coffee
759
761
  - app/assets/javascripts/alchemy/alchemy.file_progress.js.coffee
760
762
  - app/assets/javascripts/alchemy/alchemy.fixed_elements.js
761
763
  - app/assets/javascripts/alchemy/alchemy.growler.js.coffee
762
- - app/assets/javascripts/alchemy/alchemy.gui.js.coffee
763
764
  - app/assets/javascripts/alchemy/alchemy.hotkeys.js.coffee
764
765
  - app/assets/javascripts/alchemy/alchemy.image_overlay.coffee
765
766
  - app/assets/javascripts/alchemy/alchemy.initializer.js.coffee
@@ -767,21 +768,14 @@ files:
767
768
  - app/assets/javascripts/alchemy/alchemy.list_filter.js.coffee
768
769
  - app/assets/javascripts/alchemy/alchemy.preview.js.coffee
769
770
  - app/assets/javascripts/alchemy/alchemy.preview_window.js.coffee
770
- - app/assets/javascripts/alchemy/alchemy.spinner.js
771
771
  - app/assets/javascripts/alchemy/alchemy.string_extension.js.coffee
772
- - app/assets/javascripts/alchemy/alchemy.tooltips.coffee
773
- - app/assets/javascripts/alchemy/alchemy.uploader.js.coffee
774
- - app/assets/javascripts/alchemy/menubar.js.coffee
775
- - app/assets/javascripts/alchemy/node_select.js
776
- - app/assets/javascripts/alchemy/page_select.js
777
772
  - app/assets/javascripts/alchemy/preview.js
778
773
  - app/assets/javascripts/alchemy/templates/index.js
779
- - app/assets/javascripts/alchemy/templates/node.hbs
780
774
  - app/assets/javascripts/alchemy/templates/node_folder.hbs
781
775
  - app/assets/javascripts/alchemy/templates/page.hbs
782
776
  - app/assets/javascripts/alchemy/templates/page_folder.hbs
783
- - app/assets/javascripts/alchemy/templates/spinner.hbs
784
777
  - app/assets/javascripts/tinymce/plugins/alchemy_link/plugin.min.js
778
+ - app/assets/stylesheets/alchemy/_custom-properties.scss
785
779
  - app/assets/stylesheets/alchemy/_defaults.scss
786
780
  - app/assets/stylesheets/alchemy/_extends.scss
787
781
  - app/assets/stylesheets/alchemy/_mixins.scss
@@ -807,7 +801,6 @@ files:
807
801
  - app/assets/stylesheets/alchemy/icons.scss
808
802
  - app/assets/stylesheets/alchemy/image_library.scss
809
803
  - app/assets/stylesheets/alchemy/images.scss
810
- - app/assets/stylesheets/alchemy/jquery-ui.scss
811
804
  - app/assets/stylesheets/alchemy/labels.scss
812
805
  - app/assets/stylesheets/alchemy/lists.scss
813
806
  - app/assets/stylesheets/alchemy/menubar.scss
@@ -822,6 +815,7 @@ files:
822
815
  - app/assets/stylesheets/alchemy/resource_info.scss
823
816
  - app/assets/stylesheets/alchemy/search.scss
824
817
  - app/assets/stylesheets/alchemy/selects.scss
818
+ - app/assets/stylesheets/alchemy/shoelace.scss
825
819
  - app/assets/stylesheets/alchemy/sitemap.scss
826
820
  - app/assets/stylesheets/alchemy/spinner.scss
827
821
  - app/assets/stylesheets/alchemy/tables.scss
@@ -842,6 +836,8 @@ files:
842
836
  - app/assets/stylesheets/tinymce/skins/alchemy/img/object.gif
843
837
  - app/assets/stylesheets/tinymce/skins/alchemy/img/trans.gif
844
838
  - app/assets/stylesheets/tinymce/skins/alchemy/skin.min.css.scss
839
+ - app/components/alchemy/admin/node_select.rb
840
+ - app/components/alchemy/admin/page_select.rb
845
841
  - app/components/alchemy/ingredients/audio_view.rb
846
842
  - app/components/alchemy/ingredients/base_view.rb
847
843
  - app/components/alchemy/ingredients/boolean_view.rb
@@ -906,21 +902,52 @@ files:
906
902
  - app/helpers/alchemy/pages_helper.rb
907
903
  - app/helpers/alchemy/url_helper.rb
908
904
  - app/javascript/alchemy_admin.js
909
- - app/javascript/alchemy_admin/datepicker.js
905
+ - app/javascript/alchemy_admin/components/alchemy_html_element.js
906
+ - app/javascript/alchemy_admin/components/button.js
907
+ - app/javascript/alchemy_admin/components/char_counter.js
908
+ - app/javascript/alchemy_admin/components/datepicker.js
909
+ - app/javascript/alchemy_admin/components/dialog_link.js
910
+ - app/javascript/alchemy_admin/components/element_editor.js
911
+ - app/javascript/alchemy_admin/components/element_editor/publish_element_button.js
912
+ - app/javascript/alchemy_admin/components/ingredient_group.js
913
+ - app/javascript/alchemy_admin/components/link_buttons.js
914
+ - app/javascript/alchemy_admin/components/link_buttons/link_button.js
915
+ - app/javascript/alchemy_admin/components/link_buttons/unlink_button.js
916
+ - app/javascript/alchemy_admin/components/node_select.js
917
+ - app/javascript/alchemy_admin/components/overlay.js
918
+ - app/javascript/alchemy_admin/components/page_select.js
919
+ - app/javascript/alchemy_admin/components/remote_select.js
920
+ - app/javascript/alchemy_admin/components/select.js
921
+ - app/javascript/alchemy_admin/components/spinner.js
922
+ - app/javascript/alchemy_admin/components/tinymce.js
923
+ - app/javascript/alchemy_admin/components/uploader.js
924
+ - app/javascript/alchemy_admin/components/uploader/file_upload.js
925
+ - app/javascript/alchemy_admin/components/uploader/progress.js
926
+ - app/javascript/alchemy_admin/dirty.js
910
927
  - app/javascript/alchemy_admin/file_editors.js
928
+ - app/javascript/alchemy_admin/gui.js
911
929
  - app/javascript/alchemy_admin/i18n.js
912
930
  - app/javascript/alchemy_admin/image_cropper.js
913
931
  - app/javascript/alchemy_admin/image_loader.js
914
932
  - app/javascript/alchemy_admin/ingredient_anchor_link.js
933
+ - app/javascript/alchemy_admin/initializer.js
934
+ - app/javascript/alchemy_admin/locales/en.js
915
935
  - app/javascript/alchemy_admin/node_tree.js
916
936
  - app/javascript/alchemy_admin/page_publication_fields.js
917
937
  - app/javascript/alchemy_admin/page_sorter.js
918
938
  - app/javascript/alchemy_admin/picture_editors.js
939
+ - app/javascript/alchemy_admin/picture_selector.js
940
+ - app/javascript/alchemy_admin/please_wait_overlay.js
919
941
  - app/javascript/alchemy_admin/sitemap.js
920
- - app/javascript/alchemy_admin/tinymce.js
921
- - app/javascript/alchemy_admin/translations.js
942
+ - app/javascript/alchemy_admin/sortable_elements.js
943
+ - app/javascript/alchemy_admin/spinner.js
944
+ - app/javascript/alchemy_admin/tags_autocomplete.js
922
945
  - app/javascript/alchemy_admin/utils/ajax.js
946
+ - app/javascript/alchemy_admin/utils/dom_helpers.js
923
947
  - app/javascript/alchemy_admin/utils/events.js
948
+ - app/javascript/alchemy_admin/utils/format.js
949
+ - app/javascript/alchemy_admin/utils/string_conversions.js
950
+ - app/javascript/menubar.js
924
951
  - app/jobs/alchemy/base_job.rb
925
952
  - app/jobs/alchemy/publish_page_job.rb
926
953
  - app/mailers/alchemy/base_mailer.rb
@@ -996,6 +1023,7 @@ files:
996
1023
  - app/serializers/alchemy/page_serializer.rb
997
1024
  - app/serializers/alchemy/page_tree_serializer.rb
998
1025
  - app/serializers/alchemy/picture_serializer.rb
1026
+ - app/services/alchemy/copy_page.rb
999
1027
  - app/services/alchemy/delete_elements.rb
1000
1028
  - app/services/alchemy/duplicate_element.rb
1001
1029
  - app/services/alchemy/tag_validations.rb
@@ -1035,12 +1063,8 @@ files:
1035
1063
  - app/views/alchemy/admin/elements/_toolbar.html.erb
1036
1064
  - app/views/alchemy/admin/elements/create.js.erb
1037
1065
  - app/views/alchemy/admin/elements/destroy.js.erb
1038
- - app/views/alchemy/admin/elements/fold.js.erb
1039
1066
  - app/views/alchemy/admin/elements/index.html.erb
1040
1067
  - app/views/alchemy/admin/elements/new.html.erb
1041
- - app/views/alchemy/admin/elements/order.js.erb
1042
- - app/views/alchemy/admin/elements/publish.js.erb
1043
- - app/views/alchemy/admin/elements/update.js.erb
1044
1068
  - app/views/alchemy/admin/ingredients/_audio_fields.html.erb
1045
1069
  - app/views/alchemy/admin/ingredients/_dom_id_fields.html.erb
1046
1070
  - app/views/alchemy/admin/ingredients/_file_fields.html.erb
@@ -1152,6 +1176,7 @@ files:
1152
1176
  - app/views/alchemy/admin/tags/edit.html.erb
1153
1177
  - app/views/alchemy/admin/tags/index.html.erb
1154
1178
  - app/views/alchemy/admin/tags/new.html.erb
1179
+ - app/views/alchemy/admin/tinymce/_setup.html.erb
1155
1180
  - app/views/alchemy/admin/uploader/_button.html.erb
1156
1181
  - app/views/alchemy/admin/uploader/_setup.html.erb
1157
1182
  - app/views/alchemy/attachments/show.html.erb
@@ -1231,6 +1256,7 @@ files:
1231
1256
  - config/initializers/dragonfly.rb
1232
1257
  - config/initializers/mime_types.rb
1233
1258
  - config/initializers/mini_profiler.rb
1259
+ - config/initializers/rails_live_reload.rb
1234
1260
  - config/initializers/simple_form.rb
1235
1261
  - config/locales/alchemy.en.yml
1236
1262
  - config/routes.rb
@@ -1249,6 +1275,7 @@ files:
1249
1275
  - lib/alchemy/configuration_methods.rb
1250
1276
  - lib/alchemy/controller_actions.rb
1251
1277
  - lib/alchemy/deprecation.rb
1278
+ - lib/alchemy/dev_support/live_reload_watcher.rb
1252
1279
  - lib/alchemy/dragonfly/processors/auto_orient.rb
1253
1280
  - lib/alchemy/dragonfly/processors/crop_resize.rb
1254
1281
  - lib/alchemy/dragonfly/processors/thumbnail.rb
@@ -1299,6 +1326,7 @@ files:
1299
1326
  - lib/alchemy/test_support/having_crop_action_examples.rb
1300
1327
  - lib/alchemy/test_support/having_picture_thumbnails_examples.rb
1301
1328
  - lib/alchemy/test_support/integration_helpers.rb
1329
+ - lib/alchemy/test_support/rspec_matchers.rb
1302
1330
  - lib/alchemy/test_support/shared_contexts.rb
1303
1331
  - lib/alchemy/test_support/shared_dom_ids_examples.rb
1304
1332
  - lib/alchemy/test_support/shared_ingredient_editor_examples.rb
@@ -1360,61 +1388,22 @@ files:
1360
1388
  - lib/tasks/alchemy/upgrade.rake
1361
1389
  - lib/tasks/alchemy/usage.rake
1362
1390
  - package.json
1363
- - vendor/assets/fonts/fa-regular-400.eot
1364
- - vendor/assets/fonts/fa-regular-400.svg
1365
- - vendor/assets/fonts/fa-regular-400.ttf
1366
- - vendor/assets/fonts/fa-regular-400.woff
1367
- - vendor/assets/fonts/fa-regular-400.woff2
1368
- - vendor/assets/fonts/fa-solid-900.eot
1369
- - vendor/assets/fonts/fa-solid-900.svg
1370
- - vendor/assets/fonts/fa-solid-900.ttf
1371
- - vendor/assets/fonts/fa-solid-900.woff
1372
- - vendor/assets/fonts/fa-solid-900.woff2
1391
+ - vendor/assets/fonts/remixicon.eot
1392
+ - vendor/assets/fonts/remixicon.svg
1393
+ - vendor/assets/fonts/remixicon.ttf
1394
+ - vendor/assets/fonts/remixicon.woff
1395
+ - vendor/assets/fonts/remixicon.woff2
1373
1396
  - vendor/assets/images/Jcrop.gif
1374
1397
  - vendor/assets/javascripts/clipboard.min.js
1375
- - vendor/assets/javascripts/fileupload/jquery.fileupload-process.js
1376
- - vendor/assets/javascripts/fileupload/jquery.fileupload-validate.js
1377
- - vendor/assets/javascripts/fileupload/jquery.fileupload.js
1378
- - vendor/assets/javascripts/fileupload/jquery.iframe-transport.js
1379
- - vendor/assets/javascripts/jquery-ui/data.js
1380
- - vendor/assets/javascripts/jquery-ui/ie.js
1381
- - vendor/assets/javascripts/jquery-ui/keycode.js
1382
- - vendor/assets/javascripts/jquery-ui/plugin.js
1383
- - vendor/assets/javascripts/jquery-ui/safe-active-element.js
1384
- - vendor/assets/javascripts/jquery-ui/safe-blur.js
1385
- - vendor/assets/javascripts/jquery-ui/scroll-parent.js
1386
- - vendor/assets/javascripts/jquery-ui/unique-id.js
1387
- - vendor/assets/javascripts/jquery-ui/version.js
1388
- - vendor/assets/javascripts/jquery-ui/widget.js
1389
- - vendor/assets/javascripts/jquery-ui/widgets/draggable.js
1390
- - vendor/assets/javascripts/jquery-ui/widgets/mouse.js
1391
- - vendor/assets/javascripts/jquery-ui/widgets/sortable.js
1392
- - vendor/assets/javascripts/jquery-ui/widgets/tabs.js
1393
1398
  - vendor/assets/javascripts/jquery_plugins/jquery.Jcrop.min.js
1394
- - vendor/assets/javascripts/jquery_plugins/jquery.scrollTo.min.js
1395
- - vendor/assets/javascripts/jquery_plugins/jquery.ui.tabspaging.js
1396
1399
  - vendor/assets/javascripts/jquery_plugins/select2.js
1397
1400
  - vendor/assets/javascripts/keymaster.js
1398
1401
  - vendor/assets/javascripts/requestAnimationFrame.js
1399
1402
  - vendor/assets/javascripts/tinymce/license.txt
1400
1403
  - vendor/assets/javascripts/tinymce/tinymce.min.js
1401
1404
  - vendor/assets/stylesheets/alchemy_admin/select2.scss
1402
- - vendor/assets/stylesheets/fontawesome/_animated.scss
1403
- - vendor/assets/stylesheets/fontawesome/_bordered-pulled.scss
1404
- - vendor/assets/stylesheets/fontawesome/_core.scss
1405
- - vendor/assets/stylesheets/fontawesome/_fixed-width.scss
1406
- - vendor/assets/stylesheets/fontawesome/_icons.scss
1407
- - vendor/assets/stylesheets/fontawesome/_larger.scss
1408
- - vendor/assets/stylesheets/fontawesome/_list.scss
1409
- - vendor/assets/stylesheets/fontawesome/_mixins.scss
1410
- - vendor/assets/stylesheets/fontawesome/_rotated-flipped.scss
1411
- - vendor/assets/stylesheets/fontawesome/_screen-reader.scss
1412
- - vendor/assets/stylesheets/fontawesome/_stacked.scss
1413
- - vendor/assets/stylesheets/fontawesome/_variables.scss
1414
- - vendor/assets/stylesheets/fontawesome/fontawesome.scss
1415
- - vendor/assets/stylesheets/fontawesome/regular.scss
1416
- - vendor/assets/stylesheets/fontawesome/solid.scss
1417
1405
  - vendor/assets/stylesheets/jquery.Jcrop.min.scss
1406
+ - vendor/assets/stylesheets/remixicon.scss
1418
1407
  homepage: https://alchemy-cms.com
1419
1408
  licenses:
1420
1409
  - BSD New
@@ -1455,7 +1444,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1455
1444
  version: '0'
1456
1445
  requirements:
1457
1446
  - ImageMagick (libmagick), v6.6 or greater.
1458
- rubygems_version: 3.6.3
1447
+ rubygems_version: 3.5.3
1448
+ signing_key:
1459
1449
  specification_version: 4
1460
1450
  summary: A powerful, userfriendly and flexible CMS for Rails
1461
1451
  test_files: []
data/.gem_release.yml DELETED
@@ -1,8 +0,0 @@
1
- bump:
2
- file: lib/alchemy/version.rb
3
- remote: upstream
4
- version: patch
5
- tag:
6
- remote: upstream
7
- release:
8
- repo: AlchemyCMS/alchemy_cms
@@ -1,30 +0,0 @@
1
- window.Alchemy = {} if typeof(window.Alchemy) is 'undefined'
2
-
3
- Alchemy.Autocomplete =
4
-
5
- tags: (scope) ->
6
- field = $('[data-autocomplete]', scope)
7
- url = field.data('autocomplete')
8
- field.select2
9
- tags: true
10
- tokenSeparators: [","]
11
- minimumInputLength: 1
12
- openOnEnter: false
13
- createSearchChoice: @_createResultItem
14
- ajax:
15
- url: url
16
- dataType: 'json'
17
- data: (term, page) -> term: term
18
- results: (data, page) -> results: data
19
- initSelection: @_initializeSelection
20
-
21
- _createResultItem: (term, data) ->
22
- if $(data).filter(-> @text.localeCompare(term) is 0).length is 0
23
- id: term
24
- text: term
25
-
26
- _initializeSelection: (element, callback) ->
27
- data = []
28
- $(element.val().split(",")).each ->
29
- data.push id: $.trim(this), text: this
30
- callback(data)
@@ -1,53 +0,0 @@
1
- window.Alchemy = {} if typeof(window.Alchemy) is 'undefined'
2
-
3
- # Setting jQueryUIs global animation duration to something more snappy
4
- $.fx.speeds._default = 400
5
-
6
- # The Alchemy object contains all base functions, that don't fit in its own module.
7
- # All other modules uses this global Alchemy object as namespace.
8
- $.extend Alchemy,
9
-
10
- # Multiple picture select handler for the picture archive.
11
- pictureSelector: ->
12
- $selected_item_tools = $(".selected_item_tools")
13
- $picture_selects = $(".picture_tool.select input")
14
- $picture_selects.on "change", ->
15
- if $picture_selects.filter(":checked").size() > 0
16
- $selected_item_tools.show()
17
- else
18
- $selected_item_tools.hide()
19
- if @checked
20
- $(this).parent().addClass("visible").removeClass "hidden"
21
- else
22
- $(this).parent().removeClass("visible").addClass "hidden"
23
- return
24
- $("a#edit_multiple_pictures").on "click", (e) ->
25
- $this = $(this)
26
- picture_ids = $("input:checkbox", "#picture_archive").serialize()
27
- url = $this.attr("href") + "?" + picture_ids
28
- Alchemy.openDialog url, {title: $this.attr("title"), size: '400x295'}
29
- false
30
- return
31
-
32
- # To show the "Please wait" overlay.
33
- # Pass false to hide it.
34
- pleaseWaitOverlay: (show = true) ->
35
- $overlay = $('#overlay')
36
- if show
37
- spinner = new Alchemy.Spinner('medium')
38
- spinner.spin $overlay
39
- $overlay.show()
40
- else
41
- $overlay.find('.spinner').remove()
42
- $overlay.hide()
43
- return
44
-
45
- # Initializes all select tag with .alchemy_selectbox class as select2 instance
46
- # Pass a jQuery scope to only init a subset of selectboxes.
47
- SelectBox: (scope) ->
48
- $("select.alchemy_selectbox", scope).select2
49
- minimumResultsForSearch: 7
50
- dropdownAutoWidth: true
51
- return
52
-
53
-
@@ -1,45 +0,0 @@
1
- window.Alchemy = {} if typeof(window.Alchemy) is 'undefined'
2
-
3
- Alchemy.Buttons =
4
-
5
- observe: (scope) ->
6
- $('form', scope).not('.button_with_label form').on 'submit', (event) ->
7
- $form = $(this)
8
- $btn = $form.find(':submit')
9
- $outside_button = $('[data-alchemy-button][form="'+$form.attr('id')+'"]')
10
-
11
- if ($btn.attr('disabled') == 'disabled') || ($outside_button.attr('disabled') == 'disabled')
12
- event.preventDefault()
13
- event.stopPropagation()
14
- false
15
- else
16
- Alchemy.Buttons.disable($btn)
17
- if $outside_button
18
- Alchemy.Buttons.disable($outside_button)
19
- true
20
-
21
- disable: (button) ->
22
- $button = $(button)
23
- spinner = new Alchemy.Spinner('small')
24
- $button.data('content', $button.html())
25
- $button.attr('disabled', true)
26
- $button.attr('tabindex', '-1')
27
- $button.addClass('disabled')
28
- $button.css
29
- width: $button.outerWidth()
30
- height: $button.outerHeight()
31
- $button.empty()
32
- spinner.spin($button)
33
- return true
34
-
35
- enable: (scope) ->
36
- $buttons = $('form :submit:disabled, [data-alchemy-button].disabled', scope)
37
- $.each $buttons, ->
38
- $button = $(this)
39
- $button.removeClass('disabled')
40
- $button.removeAttr('disabled')
41
- $button.removeAttr('tabindex')
42
- $button.css("width", "")
43
- $button.css("height", "")
44
- $button.html($button.data('content'))
45
- return true
@@ -1,19 +0,0 @@
1
- class window.Alchemy.CharCounter
2
-
3
- constructor: (field) ->
4
- @$field = $(field)
5
- @max_chars = @$field.data('alchemy-char-counter')
6
- @text = Alchemy.t('allowed_chars', @max_chars)
7
- @$display = $('<small class="alchemy-char-counter"/>')
8
- @$field.after(@$display)
9
- countChars.call(this)
10
- @$field.keyup =>
11
- countChars.call(this)
12
- true
13
-
14
- countChars = ->
15
- char_length = @$field.val().length
16
- @$display.removeClass('too-long')
17
- @$display.text("#{char_length} #{@text}")
18
- if char_length > @max_chars
19
- @$display.addClass('too-long')