alchemy_cms 7.0.8 → 7.1.0.pre.b2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (394) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +162 -0
  3. data/Gemfile +9 -11
  4. data/README.md +11 -9
  5. data/alchemy_cms.gemspec +4 -3
  6. data/app/assets/config/alchemy_manifest.js +3 -5
  7. data/app/assets/images/alchemy/missing-image.svg +1 -1
  8. data/app/assets/javascripts/alchemy/admin.js +1 -23
  9. data/app/assets/javascripts/alchemy/alchemy.confirm_dialog.js.coffee +2 -3
  10. data/app/assets/javascripts/alchemy/alchemy.dialog.js.coffee +19 -34
  11. data/app/assets/javascripts/alchemy/alchemy.elements_window.js.coffee +38 -13
  12. data/app/assets/javascripts/alchemy/alchemy.file_progress.js.coffee +1 -1
  13. data/app/assets/javascripts/alchemy/alchemy.fixed_elements.js +32 -25
  14. data/app/assets/javascripts/alchemy/alchemy.growler.js.coffee +1 -1
  15. data/app/assets/javascripts/alchemy/alchemy.image_overlay.coffee +3 -5
  16. data/app/assets/javascripts/alchemy/alchemy.initializer.js.coffee +0 -57
  17. data/app/assets/javascripts/alchemy/alchemy.link_dialog.js.coffee +24 -65
  18. data/app/assets/javascripts/alchemy/alchemy.list_filter.js.coffee +2 -2
  19. data/app/assets/javascripts/alchemy/alchemy.preview.js.coffee +5 -4
  20. data/app/assets/javascripts/alchemy/alchemy.preview_window.js.coffee +5 -5
  21. data/app/assets/javascripts/alchemy/templates/index.js +0 -2
  22. data/app/assets/javascripts/alchemy/templates/node_folder.hbs +1 -1
  23. data/app/assets/javascripts/alchemy/templates/page.hbs +1 -1
  24. data/app/assets/javascripts/alchemy/templates/page_folder.hbs +2 -2
  25. data/app/assets/javascripts/tinymce/icons/remixicons/icons.js +93 -0
  26. data/app/assets/javascripts/tinymce/plugins/alchemy_link/plugin.min.js +37 -18
  27. data/app/assets/stylesheets/alchemy/_custom-properties.scss +82 -0
  28. data/app/assets/stylesheets/alchemy/_mixins.scss +38 -30
  29. data/app/assets/stylesheets/alchemy/_variables.scss +23 -8
  30. data/app/assets/stylesheets/alchemy/admin.scss +3 -4
  31. data/app/assets/stylesheets/alchemy/archive.scss +110 -50
  32. data/app/assets/stylesheets/alchemy/attachments.scss +5 -4
  33. data/app/assets/stylesheets/alchemy/buttons.scss +41 -166
  34. data/app/assets/stylesheets/alchemy/dashboard.scss +31 -6
  35. data/app/assets/stylesheets/alchemy/dialogs.scss +12 -28
  36. data/app/assets/stylesheets/alchemy/elements.scss +272 -282
  37. data/app/assets/stylesheets/alchemy/flash.scss +20 -12
  38. data/app/assets/stylesheets/alchemy/forms.scss +21 -34
  39. data/app/assets/stylesheets/alchemy/frame.scss +11 -32
  40. data/app/assets/stylesheets/alchemy/hints.scss +4 -62
  41. data/app/assets/stylesheets/alchemy/image_library.scss +36 -33
  42. data/app/assets/stylesheets/alchemy/menubar.scss +7 -6
  43. data/app/assets/stylesheets/alchemy/navigation.scss +27 -15
  44. data/app/assets/stylesheets/alchemy/nodes.scss +11 -7
  45. data/app/assets/stylesheets/alchemy/notices.scss +16 -4
  46. data/app/assets/stylesheets/alchemy/page-select.scss +10 -2
  47. data/app/assets/stylesheets/alchemy/pagination.scss +22 -13
  48. data/app/assets/stylesheets/alchemy/resource_info.scss +7 -5
  49. data/app/assets/stylesheets/alchemy/selects.scss +49 -42
  50. data/app/assets/stylesheets/alchemy/shoelace.scss +345 -0
  51. data/app/assets/stylesheets/alchemy/sitemap.scss +24 -14
  52. data/app/assets/stylesheets/alchemy/spinner.scss +9 -19
  53. data/app/assets/stylesheets/alchemy/tables.scss +16 -24
  54. data/app/assets/stylesheets/alchemy/tags.scss +4 -0
  55. data/app/assets/stylesheets/alchemy/toolbar.scss +29 -25
  56. data/app/assets/stylesheets/alchemy/upload.scss +140 -89
  57. data/app/assets/stylesheets/tinymce/skins/content/alchemy/content.min.scss +69 -0
  58. data/app/assets/stylesheets/tinymce/skins/skintool.json +38 -0
  59. data/app/assets/stylesheets/tinymce/skins/ui/alchemy/content.css +711 -0
  60. data/app/assets/stylesheets/tinymce/skins/ui/alchemy/content.inline.css +705 -0
  61. data/app/assets/stylesheets/tinymce/skins/ui/alchemy/content.inline.min.css +7 -0
  62. data/app/assets/stylesheets/tinymce/skins/ui/alchemy/content.min.css +7 -0
  63. data/app/assets/stylesheets/tinymce/skins/ui/alchemy/content.mobile.css +29 -0
  64. data/app/assets/stylesheets/tinymce/skins/ui/alchemy/content.mobile.min.css +7 -0
  65. data/app/assets/stylesheets/tinymce/skins/ui/alchemy/fonts/tinymce-mobile.woff +0 -0
  66. data/app/assets/stylesheets/tinymce/skins/ui/alchemy/skin.min.scss +3798 -0
  67. data/app/assets/stylesheets/tinymce/skins/ui/alchemy/skin.mobile.css +677 -0
  68. data/app/assets/stylesheets/tinymce/skins/ui/alchemy/skin.mobile.min.css +7 -0
  69. data/app/components/alchemy/admin/node_select.rb +39 -0
  70. data/app/components/alchemy/admin/page_select.rb +42 -0
  71. data/app/controllers/alchemy/admin/base_controller.rb +5 -6
  72. data/app/controllers/alchemy/admin/elements_controller.rb +63 -35
  73. data/app/controllers/alchemy/admin/pages_controller.rb +9 -4
  74. data/app/controllers/alchemy/base_controller.rb +4 -2
  75. data/app/controllers/concerns/alchemy/admin/uploader_responses.rb +1 -1
  76. data/app/controllers/concerns/alchemy/site_redirects.rb +1 -1
  77. data/app/decorators/alchemy/element_editor.rb +0 -2
  78. data/app/helpers/alchemy/admin/attachments_helper.rb +6 -5
  79. data/app/helpers/alchemy/admin/base_helper.rb +17 -12
  80. data/app/helpers/alchemy/admin/ingredients_helper.rb +4 -1
  81. data/app/helpers/alchemy/admin/pages_helper.rb +5 -11
  82. data/app/helpers/alchemy/base_helper.rb +47 -13
  83. data/app/javascript/alchemy_admin/clipboard.js +16 -0
  84. data/app/javascript/alchemy_admin/components/alchemy_html_element.js +129 -0
  85. data/app/javascript/alchemy_admin/components/button.js +59 -0
  86. data/app/javascript/alchemy_admin/components/char_counter.js +40 -0
  87. data/app/javascript/alchemy_admin/components/datepicker.js +39 -0
  88. data/app/javascript/alchemy_admin/components/dialog_link.js +45 -0
  89. data/app/javascript/alchemy_admin/components/element_editor/publish_element_button.js +36 -0
  90. data/app/javascript/alchemy_admin/components/element_editor.js +553 -0
  91. data/app/javascript/alchemy_admin/components/ingredient_group.js +54 -0
  92. data/app/javascript/alchemy_admin/components/link_buttons/link_button.js +48 -0
  93. data/app/javascript/alchemy_admin/components/link_buttons/unlink_button.js +38 -0
  94. data/app/javascript/alchemy_admin/components/link_buttons.js +79 -0
  95. data/app/javascript/alchemy_admin/components/node_select.js +45 -0
  96. data/app/javascript/alchemy_admin/components/overlay.js +18 -0
  97. data/app/javascript/alchemy_admin/components/page_select.js +63 -0
  98. data/app/javascript/alchemy_admin/components/remote_select.js +134 -0
  99. data/app/javascript/alchemy_admin/components/select.js +12 -0
  100. data/app/javascript/alchemy_admin/components/spinner.js +31 -0
  101. data/app/javascript/alchemy_admin/components/tinymce.js +134 -0
  102. data/app/javascript/alchemy_admin/components/uploader/file_upload.js +266 -0
  103. data/app/javascript/alchemy_admin/components/uploader/progress.js +258 -0
  104. data/app/javascript/alchemy_admin/components/uploader.js +132 -0
  105. data/app/javascript/alchemy_admin/dirty.js +49 -0
  106. data/app/javascript/alchemy_admin/file_editors.js +1 -1
  107. data/app/javascript/alchemy_admin/gui.js +14 -0
  108. data/app/javascript/alchemy_admin/i18n.js +12 -8
  109. data/app/javascript/alchemy_admin/image_cropper.js +6 -3
  110. data/app/javascript/alchemy_admin/image_loader.js +7 -15
  111. data/app/javascript/alchemy_admin/ingredient_anchor_link.js +2 -5
  112. data/app/javascript/alchemy_admin/initializer.js +65 -0
  113. data/app/javascript/alchemy_admin/locales/en.js +31 -0
  114. data/app/javascript/alchemy_admin/picture_editors.js +6 -4
  115. data/app/javascript/alchemy_admin/picture_selector.js +38 -0
  116. data/app/javascript/alchemy_admin/please_wait_overlay.js +8 -0
  117. data/app/javascript/alchemy_admin/sortable_elements.js +78 -0
  118. data/app/javascript/alchemy_admin/spinner.js +36 -0
  119. data/app/javascript/alchemy_admin/tags_autocomplete.js +46 -0
  120. data/app/javascript/alchemy_admin/utils/ajax.js +6 -5
  121. data/app/javascript/alchemy_admin/utils/debounce.js +10 -0
  122. data/app/javascript/alchemy_admin/utils/dom_helpers.js +20 -0
  123. data/app/javascript/alchemy_admin/utils/format.js +11 -0
  124. data/app/javascript/alchemy_admin/utils/max.js +3 -0
  125. data/app/javascript/alchemy_admin/utils/string_conversions.js +10 -0
  126. data/app/javascript/alchemy_admin.js +64 -13
  127. data/app/javascript/menubar.js +10 -0
  128. data/app/models/alchemy/attachment.rb +9 -11
  129. data/app/models/alchemy/element.rb +11 -0
  130. data/app/models/alchemy/ingredients/richtext.rb +1 -10
  131. data/app/models/alchemy/node.rb +4 -0
  132. data/app/models/alchemy/page/page_naming.rb +7 -0
  133. data/app/models/alchemy/page/page_natures.rb +10 -2
  134. data/app/models/alchemy/page.rb +11 -51
  135. data/app/models/alchemy/picture/url.rb +1 -9
  136. data/app/models/alchemy/picture_variant.rb +11 -2
  137. data/app/models/concerns/alchemy/picture_thumbnails.rb +1 -1
  138. data/app/serializers/alchemy/page_tree_serializer.rb +2 -1
  139. data/app/services/alchemy/copy_page.rb +98 -0
  140. data/app/views/alchemy/_menubar.html.erb +17 -13
  141. data/app/views/alchemy/admin/attachments/_archive_overlay.html.erb +14 -10
  142. data/app/views/alchemy/admin/attachments/_attachment.html.erb +44 -36
  143. data/app/views/alchemy/admin/attachments/_replace_button.html.erb +15 -21
  144. data/app/views/alchemy/admin/attachments/archive_overlay.js.erb +0 -1
  145. data/app/views/alchemy/admin/attachments/assign.js.erb +1 -1
  146. data/app/views/alchemy/admin/attachments/index.html.erb +6 -4
  147. data/app/views/alchemy/admin/attachments/show.html.erb +10 -23
  148. data/app/views/alchemy/admin/clipboard/clear.js.erb +1 -1
  149. data/app/views/alchemy/admin/clipboard/index.html.erb +3 -7
  150. data/app/views/alchemy/admin/clipboard/insert.js.erb +1 -1
  151. data/app/views/alchemy/admin/crop.html.erb +1 -1
  152. data/app/views/alchemy/admin/dashboard/_locked_pages.html.erb +1 -1
  153. data/app/views/alchemy/admin/dashboard/index.html.erb +13 -11
  154. data/app/views/alchemy/admin/dashboard/info.html.erb +7 -7
  155. data/app/views/alchemy/admin/elements/_add_nested_element_form.html.erb +21 -23
  156. data/app/views/alchemy/admin/elements/_element.html.erb +52 -44
  157. data/app/views/alchemy/admin/elements/_footer.html.erb +1 -1
  158. data/app/views/alchemy/admin/elements/_form.html.erb +1 -1
  159. data/app/views/alchemy/admin/elements/_header.html.erb +11 -12
  160. data/app/views/alchemy/admin/elements/_toolbar.html.erb +33 -45
  161. data/app/views/alchemy/admin/elements/create.js.erb +7 -15
  162. data/app/views/alchemy/admin/elements/destroy.js.erb +0 -2
  163. data/app/views/alchemy/admin/elements/index.html.erb +27 -24
  164. data/app/views/alchemy/admin/elements/new.html.erb +9 -11
  165. data/app/views/alchemy/admin/ingredients/_file_fields.html.erb +2 -2
  166. data/app/views/alchemy/admin/ingredients/_picture_fields.html.erb +3 -3
  167. data/app/views/alchemy/admin/ingredients/_video_fields.html.erb +1 -2
  168. data/app/views/alchemy/admin/languages/_form.html.erb +2 -3
  169. data/app/views/alchemy/admin/languages/_language.html.erb +15 -8
  170. data/app/views/alchemy/admin/languages/_table.html.erb +1 -0
  171. data/app/views/alchemy/admin/layoutpages/_layoutpage.html.erb +28 -16
  172. data/app/views/alchemy/admin/layoutpages/index.html.erb +2 -2
  173. data/app/views/alchemy/admin/legacy_page_urls/_legacy_page_url.html.erb +12 -8
  174. data/app/views/alchemy/admin/legacy_page_urls/_new.html.erb +1 -1
  175. data/app/views/alchemy/admin/nodes/_form.html.erb +20 -21
  176. data/app/views/alchemy/admin/nodes/_node.html.erb +39 -34
  177. data/app/views/alchemy/admin/nodes/index.html.erb +1 -1
  178. data/app/views/alchemy/admin/pages/_anchor_link.html.erb +4 -4
  179. data/app/views/alchemy/admin/pages/_create_language_form.html.erb +2 -2
  180. data/app/views/alchemy/admin/pages/_current_page.html.erb +1 -1
  181. data/app/views/alchemy/admin/pages/_external_link.html.erb +4 -4
  182. data/app/views/alchemy/admin/pages/_file_link.html.erb +5 -5
  183. data/app/views/alchemy/admin/pages/_form.html.erb +10 -21
  184. data/app/views/alchemy/admin/pages/_internal_link.html.erb +4 -4
  185. data/app/views/alchemy/admin/pages/_locked_page.html.erb +2 -2
  186. data/app/views/alchemy/admin/pages/_new_page_form.html.erb +4 -17
  187. data/app/views/alchemy/admin/pages/_page.html.erb +76 -72
  188. data/app/views/alchemy/admin/pages/_page_infos.html.erb +23 -7
  189. data/app/views/alchemy/admin/pages/_page_layout_filter.html.erb +2 -1
  190. data/app/views/alchemy/admin/pages/_page_status.html.erb +11 -21
  191. data/app/views/alchemy/admin/pages/_publication_fields.html.erb +2 -5
  192. data/app/views/alchemy/admin/pages/_table.html.erb +1 -1
  193. data/app/views/alchemy/admin/pages/_table_row.html.erb +43 -39
  194. data/app/views/alchemy/admin/pages/_toolbar.html.erb +43 -38
  195. data/app/views/alchemy/admin/pages/configure.html.erb +12 -14
  196. data/app/views/alchemy/admin/pages/edit.html.erb +80 -103
  197. data/app/views/alchemy/admin/pages/info.html.erb +20 -11
  198. data/app/views/alchemy/admin/pages/link.html.erb +22 -16
  199. data/app/views/alchemy/admin/pages/new.html.erb +9 -11
  200. data/app/views/alchemy/admin/pages/unlock.js.erb +10 -3
  201. data/app/views/alchemy/admin/partials/_language_tree_select.html.erb +15 -13
  202. data/app/views/alchemy/admin/partials/_main_navigation_entry.html.erb +3 -5
  203. data/app/views/alchemy/admin/partials/_routes.html.erb +10 -2
  204. data/app/views/alchemy/admin/partials/_site_select.html.erb +6 -5
  205. data/app/views/alchemy/admin/partials/_toolbar_button.html.erb +28 -23
  206. data/app/views/alchemy/admin/pictures/_archive.html.erb +5 -5
  207. data/app/views/alchemy/admin/pictures/_archive_overlay.html.erb +1 -1
  208. data/app/views/alchemy/admin/pictures/_filter_and_size_bar.html.erb +21 -23
  209. data/app/views/alchemy/admin/pictures/_infos.html.erb +2 -6
  210. data/app/views/alchemy/admin/pictures/_picture.html.erb +17 -21
  211. data/app/views/alchemy/admin/pictures/_picture_to_assign.html.erb +17 -16
  212. data/app/views/alchemy/admin/pictures/_tag_list.html.erb +1 -1
  213. data/app/views/alchemy/admin/pictures/archive_overlay.js.erb +1 -1
  214. data/app/views/alchemy/admin/pictures/assign.js.erb +1 -1
  215. data/app/views/alchemy/admin/pictures/index.html.erb +34 -30
  216. data/app/views/alchemy/admin/pictures/show.html.erb +3 -3
  217. data/app/views/alchemy/admin/resources/_filter.html.erb +2 -2
  218. data/app/views/alchemy/admin/resources/_form.html.erb +2 -2
  219. data/app/views/alchemy/admin/resources/_per_page_select.html.erb +1 -1
  220. data/app/views/alchemy/admin/resources/_resource.html.erb +16 -9
  221. data/app/views/alchemy/admin/resources/_table.html.erb +4 -1
  222. data/app/views/alchemy/admin/resources/index.html.erb +22 -19
  223. data/app/views/alchemy/admin/sites/index.html.erb +2 -1
  224. data/app/views/alchemy/admin/styleguide/index.html.erb +54 -28
  225. data/app/views/alchemy/admin/tags/_tag.html.erb +16 -14
  226. data/app/views/alchemy/admin/tags/index.html.erb +15 -12
  227. data/app/views/alchemy/admin/tinymce/_setup.html.erb +28 -0
  228. data/app/views/alchemy/admin/uploader/_button.html.erb +23 -29
  229. data/app/views/alchemy/admin/uploader/_setup.html.erb +3 -8
  230. data/app/views/alchemy/base/500.html.erb +1 -1
  231. data/app/views/alchemy/base/error_notice.js.erb +0 -1
  232. data/app/views/alchemy/ingredients/_boolean_editor.html.erb +1 -1
  233. data/app/views/alchemy/ingredients/_datetime_editor.html.erb +1 -1
  234. data/app/views/alchemy/ingredients/_file_editor.html.erb +5 -5
  235. data/app/views/alchemy/ingredients/_link_editor.html.erb +1 -1
  236. data/app/views/alchemy/ingredients/_node_editor.html.erb +6 -19
  237. data/app/views/alchemy/ingredients/_page_editor.html.erb +7 -19
  238. data/app/views/alchemy/ingredients/_picture_editor.html.erb +2 -2
  239. data/app/views/alchemy/ingredients/_richtext_editor.html.erb +6 -15
  240. data/app/views/alchemy/ingredients/_select_editor.html.erb +2 -1
  241. data/app/views/alchemy/ingredients/_text_editor.html.erb +1 -1
  242. data/app/views/alchemy/ingredients/shared/_anchor.html.erb +1 -1
  243. data/app/views/alchemy/ingredients/shared/_link_tools.html.erb +10 -20
  244. data/app/views/alchemy/ingredients/shared/_picture_tools.html.erb +42 -49
  245. data/app/views/kaminari/alchemy/_first_page.html.erb +4 -2
  246. data/app/views/kaminari/alchemy/_gap.html.erb +1 -1
  247. data/app/views/kaminari/alchemy/_last_page.html.erb +4 -2
  248. data/app/views/kaminari/alchemy/_next_page.html.erb +4 -2
  249. data/app/views/kaminari/alchemy/_prev_page.html.erb +4 -2
  250. data/app/views/layouts/alchemy/admin.html.erb +10 -29
  251. data/bundles/shoelace.js +10 -0
  252. data/bundles/tinymce.js +20 -0
  253. data/config/alchemy/config.yml +11 -10
  254. data/config/alchemy/modules.yml +30 -30
  255. data/config/brakeman.ignore +0 -34
  256. data/config/importmap.rb +9 -5
  257. data/config/initializers/dragonfly.rb +1 -0
  258. data/config/initializers/rails_live_reload.rb +13 -0
  259. data/config/locales/alchemy.en.yml +25 -9
  260. data/config/routes.rb +2 -1
  261. data/lib/alchemy/auth_accessors.rb +6 -1
  262. data/lib/alchemy/config.rb +24 -2
  263. data/lib/alchemy/dev_support/live_reload_watcher.rb +5 -0
  264. data/lib/alchemy/engine.rb +10 -3
  265. data/lib/alchemy/forms/builder.rb +18 -12
  266. data/lib/alchemy/resources_helper.rb +3 -3
  267. data/lib/alchemy/test_support/capybara_helpers.rb +8 -5
  268. data/lib/alchemy/test_support/having_picture_thumbnails_examples.rb +6 -6
  269. data/lib/alchemy/test_support/rspec_matchers.rb +14 -0
  270. data/lib/alchemy/test_support/shared_uploader_examples.rb +1 -1
  271. data/lib/alchemy/tinymce.rb +19 -3
  272. data/lib/alchemy/version.rb +1 -1
  273. data/package.json +30 -9
  274. data/rollup.config.mjs +65 -0
  275. data/vendor/assets/fonts/remixicon.eot +0 -0
  276. data/vendor/assets/fonts/remixicon.svg +7816 -0
  277. data/vendor/assets/fonts/remixicon.ttf +0 -0
  278. data/vendor/assets/fonts/remixicon.woff +0 -0
  279. data/vendor/assets/fonts/remixicon.woff2 +0 -0
  280. data/vendor/assets/stylesheets/remixicon.scss +10480 -0
  281. data/vendor/assets/stylesheets/tinymce/skins/content/default/content.min.css +1 -0
  282. data/vendor/javascript/clipboard.min.js +7 -0
  283. data/vendor/javascript/flatpickr.min.js +1 -0
  284. data/vendor/javascript/keymaster.min.js +1 -0
  285. data/vendor/javascript/rails-ujs.min.js +1 -0
  286. data/vendor/javascript/shoelace.min.js +995 -0
  287. data/vendor/javascript/sortable.min.js +7 -0
  288. data/vendor/javascript/tinymce.min.js +1 -0
  289. data/vendor/javascript/ungap-custom-elements.min.js +3 -0
  290. metadata +111 -124
  291. data/.codeclimate.yml +0 -35
  292. data/.editorconfig +0 -23
  293. data/.github/FUNDING.yml +0 -4
  294. data/.github/ISSUE_TEMPLATE/Bug_report.md +0 -22
  295. data/.github/ISSUE_TEMPLATE/Feature_request.md +0 -17
  296. data/.github/PULL_REQUEST_TEMPLATE.md +0 -18
  297. data/.github/workflows/brakeman-analysis.yml +0 -46
  298. data/.github/workflows/lint.yml +0 -37
  299. data/.github/workflows/stale.yml +0 -33
  300. data/.github/workflows/test.yml +0 -124
  301. data/.gitignore +0 -31
  302. data/.hound.yml +0 -9
  303. data/.localeapp/config.rb +0 -8
  304. data/.prettierrc +0 -6
  305. data/.rspec +0 -1
  306. data/.rubocop.yml +0 -7
  307. data/.standard.yml +0 -4
  308. data/.yardopts +0 -5
  309. data/app/assets/javascripts/alchemy/alchemy.autocomplete.js.coffee +0 -30
  310. data/app/assets/javascripts/alchemy/alchemy.base.js.coffee +0 -53
  311. data/app/assets/javascripts/alchemy/alchemy.buttons.js.coffee +0 -45
  312. data/app/assets/javascripts/alchemy/alchemy.char_counter.js.coffee +0 -19
  313. data/app/assets/javascripts/alchemy/alchemy.dirty.js.coffee +0 -59
  314. data/app/assets/javascripts/alchemy/alchemy.dragndrop.js.coffee +0 -79
  315. data/app/assets/javascripts/alchemy/alchemy.element_editors.js.coffee +0 -267
  316. data/app/assets/javascripts/alchemy/alchemy.gui.js.coffee +0 -27
  317. data/app/assets/javascripts/alchemy/alchemy.spinner.js +0 -32
  318. data/app/assets/javascripts/alchemy/alchemy.tooltips.coffee +0 -10
  319. data/app/assets/javascripts/alchemy/alchemy.uploader.js.coffee +0 -131
  320. data/app/assets/javascripts/alchemy/menubar.js.coffee +0 -8
  321. data/app/assets/javascripts/alchemy/node_select.js +0 -39
  322. data/app/assets/javascripts/alchemy/page_select.js +0 -46
  323. data/app/assets/javascripts/alchemy/templates/node.hbs +0 -16
  324. data/app/assets/javascripts/alchemy/templates/spinner.hbs +0 -7
  325. data/app/assets/stylesheets/alchemy/jquery-ui.scss +0 -435
  326. data/app/assets/stylesheets/tinymce/skins/alchemy/content.min.css.scss +0 -94
  327. data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce-small.svg +0 -63
  328. data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce-small.ttf +0 -0
  329. data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce-small.woff +0 -0
  330. data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce.svg +0 -129
  331. data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce.ttf +0 -0
  332. data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce.woff +0 -0
  333. data/app/assets/stylesheets/tinymce/skins/alchemy/img/anchor.gif +0 -0
  334. data/app/assets/stylesheets/tinymce/skins/alchemy/img/loader.gif +0 -0
  335. data/app/assets/stylesheets/tinymce/skins/alchemy/img/object.gif +0 -0
  336. data/app/assets/stylesheets/tinymce/skins/alchemy/img/trans.gif +0 -0
  337. data/app/assets/stylesheets/tinymce/skins/alchemy/skin.min.css.scss +0 -2105
  338. data/app/javascript/alchemy_admin/datepicker.js +0 -33
  339. data/app/javascript/alchemy_admin/tinymce.js +0 -146
  340. data/app/javascript/alchemy_admin/translations.js +0 -32
  341. data/app/views/alchemy/admin/elements/fold.js.erb +0 -33
  342. data/app/views/alchemy/admin/elements/order.js.erb +0 -11
  343. data/app/views/alchemy/admin/elements/publish.js.erb +0 -21
  344. data/app/views/alchemy/admin/elements/update.js.erb +0 -27
  345. data/vendor/assets/fonts/fa-regular-400.eot +0 -0
  346. data/vendor/assets/fonts/fa-regular-400.svg +0 -803
  347. data/vendor/assets/fonts/fa-regular-400.ttf +0 -0
  348. data/vendor/assets/fonts/fa-regular-400.woff +0 -0
  349. data/vendor/assets/fonts/fa-regular-400.woff2 +0 -0
  350. data/vendor/assets/fonts/fa-solid-900.eot +0 -0
  351. data/vendor/assets/fonts/fa-solid-900.svg +0 -4938
  352. data/vendor/assets/fonts/fa-solid-900.ttf +0 -0
  353. data/vendor/assets/fonts/fa-solid-900.woff +0 -0
  354. data/vendor/assets/fonts/fa-solid-900.woff2 +0 -0
  355. data/vendor/assets/javascripts/clipboard.min.js +0 -7
  356. data/vendor/assets/javascripts/fileupload/jquery.fileupload-process.js +0 -178
  357. data/vendor/assets/javascripts/fileupload/jquery.fileupload-validate.js +0 -125
  358. data/vendor/assets/javascripts/fileupload/jquery.fileupload.js +0 -1502
  359. data/vendor/assets/javascripts/fileupload/jquery.iframe-transport.js +0 -224
  360. data/vendor/assets/javascripts/jquery-ui/data.js +0 -45
  361. data/vendor/assets/javascripts/jquery-ui/ie.js +0 -20
  362. data/vendor/assets/javascripts/jquery-ui/keycode.js +0 -51
  363. data/vendor/assets/javascripts/jquery-ui/plugin.js +0 -49
  364. data/vendor/assets/javascripts/jquery-ui/safe-active-element.js +0 -46
  365. data/vendor/assets/javascripts/jquery-ui/safe-blur.js +0 -27
  366. data/vendor/assets/javascripts/jquery-ui/scroll-parent.js +0 -50
  367. data/vendor/assets/javascripts/jquery-ui/unique-id.js +0 -54
  368. data/vendor/assets/javascripts/jquery-ui/version.js +0 -20
  369. data/vendor/assets/javascripts/jquery-ui/widget.js +0 -754
  370. data/vendor/assets/javascripts/jquery-ui/widgets/draggable.js +0 -1268
  371. data/vendor/assets/javascripts/jquery-ui/widgets/mouse.js +0 -241
  372. data/vendor/assets/javascripts/jquery-ui/widgets/sortable.js +0 -1623
  373. data/vendor/assets/javascripts/jquery-ui/widgets/tabs.js +0 -931
  374. data/vendor/assets/javascripts/jquery_plugins/jquery.scrollTo.min.js +0 -7
  375. data/vendor/assets/javascripts/jquery_plugins/jquery.ui.tabspaging.js +0 -296
  376. data/vendor/assets/javascripts/keymaster.js +0 -296
  377. data/vendor/assets/javascripts/requestAnimationFrame.js +0 -31
  378. data/vendor/assets/javascripts/tinymce/license.txt +0 -504
  379. data/vendor/assets/javascripts/tinymce/tinymce.min.js +0 -2
  380. data/vendor/assets/stylesheets/fontawesome/_animated.scss +0 -20
  381. data/vendor/assets/stylesheets/fontawesome/_bordered-pulled.scss +0 -20
  382. data/vendor/assets/stylesheets/fontawesome/_core.scss +0 -21
  383. data/vendor/assets/stylesheets/fontawesome/_fixed-width.scss +0 -6
  384. data/vendor/assets/stylesheets/fontawesome/_icons.scss +0 -1441
  385. data/vendor/assets/stylesheets/fontawesome/_larger.scss +0 -23
  386. data/vendor/assets/stylesheets/fontawesome/_list.scss +0 -18
  387. data/vendor/assets/stylesheets/fontawesome/_mixins.scss +0 -56
  388. data/vendor/assets/stylesheets/fontawesome/_rotated-flipped.scss +0 -24
  389. data/vendor/assets/stylesheets/fontawesome/_screen-reader.scss +0 -5
  390. data/vendor/assets/stylesheets/fontawesome/_stacked.scss +0 -31
  391. data/vendor/assets/stylesheets/fontawesome/_variables.scss +0 -1458
  392. data/vendor/assets/stylesheets/fontawesome/fontawesome.scss +0 -16
  393. data/vendor/assets/stylesheets/fontawesome/regular.scss +0 -23
  394. data/vendor/assets/stylesheets/fontawesome/solid.scss +0 -24
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4e20dfb7c8a1477928f962a4494fb7f3856a84a718a90474d21604617cfa6999
4
- data.tar.gz: d4f9e69df4d2ce7916a778e16102eb235c1d92b51a617df339ed33afb45e4cf0
3
+ metadata.gz: d58b4f365ee68fac527d4ffad812ad68343fcfcb0b17ace3348aebd57d25c4d3
4
+ data.tar.gz: 91017ca029bc75e2f15d9c4ad3e60cf17f81a00f6bb72ca66f4a16c02d71f46b
5
5
  SHA512:
6
- metadata.gz: 8cbafabbd80e853cf661a7ec3b88777c21d4a445ccd6076683780cc0da0c7164b7747a9504ceebf44bd35207dc969d302d158680c6feffe78da34118c12351de
7
- data.tar.gz: ebcdcd1bc921de896168dd5acc71f87f6f3a05c28fea381da3fad15e0245400c61956c1062b2a89444a333e458f5db196fdc97f6d252f0ef1f7152105de50e9a
6
+ metadata.gz: 6d1a10956e3ee72021b402063f36f930da4db1d48b631159e9bec9535bddc4f9b369dffdfb5d20f5b3a4e33f699bee4b93f1d8eaa4e6cc1269b1585c14c9792e
7
+ data.tar.gz: 0a3936c7a71f7d32ddc348f3cff42be35204816bc88cc6223e400dba647da412c4a009879d855c289b75be743375b81976e5a3038cc8023e86d4eb77195559ec
data/CHANGELOG.md CHANGED
@@ -1,5 +1,124 @@
1
1
  # Changelog
2
2
 
3
+ ## 7.1.0-b2 (2024-01-09)
4
+
5
+ - Download and bundle third party JS packages with npm [#2679](https://github.com/AlchemyCMS/alchemy_cms/pull/2679) ([tvdeyen](https://github.com/tvdeyen))
6
+ - Remove legacy pages urls and folded pages if page gets destroyed [#2678](https://github.com/AlchemyCMS/alchemy_cms/pull/2678) ([tvdeyen](https://github.com/tvdeyen))
7
+ - Clear unnecessary legacy URLs [#2677](https://github.com/AlchemyCMS/alchemy_cms/pull/2677) ([mamhoff](https://github.com/mamhoff))
8
+ - Fix error linking text in tinymce [#2676](https://github.com/AlchemyCMS/alchemy_cms/pull/2676) ([tvdeyen](https://github.com/tvdeyen))
9
+ - Use WebP for all thumbnails [#2675](https://github.com/AlchemyCMS/alchemy_cms/pull/2675) ([tvdeyen](https://github.com/tvdeyen))
10
+ - Allow quality setting for webp images [#2674](https://github.com/AlchemyCMS/alchemy_cms/pull/2674) ([tvdeyen](https://github.com/tvdeyen))
11
+ - Do not remove background from non transparent images [#2673](https://github.com/AlchemyCMS/alchemy_cms/pull/2673) ([tvdeyen](https://github.com/tvdeyen))
12
+ - Update Tinymce to v6 [#2671](https://github.com/AlchemyCMS/alchemy_cms/pull/2671) ([tvdeyen](https://github.com/tvdeyen))
13
+ - Update Tinymce to v5 [#2670](https://github.com/AlchemyCMS/alchemy_cms/pull/2670) ([tvdeyen](https://github.com/tvdeyen))
14
+ - Fix missing image styles [#2667](https://github.com/AlchemyCMS/alchemy_cms/pull/2667) ([tvdeyen](https://github.com/tvdeyen))
15
+ - Preserve transparent backgrounds for PNGs [#2666](https://github.com/AlchemyCMS/alchemy_cms/pull/2666) ([tvdeyen](https://github.com/tvdeyen))
16
+ - Resource filter fixes [#2665](https://github.com/AlchemyCMS/alchemy_cms/pull/2665) ([tvdeyen](https://github.com/tvdeyen))
17
+ - [ruby - main] Update sqlite3 → 1.7.0 (unknown) [#2663](https://github.com/AlchemyCMS/alchemy_cms/pull/2663) ([depfu](https://github.com/apps/depfu))
18
+ - Fix brakeman offense [#2661](https://github.com/AlchemyCMS/alchemy_cms/pull/2661) ([tvdeyen](https://github.com/tvdeyen))
19
+
20
+ ## 7.1.0-b1 (2023-12-28)
21
+
22
+ - Fix messages controller [#2658](https://github.com/AlchemyCMS/alchemy_cms/pull/2658) ([tvdeyen](https://github.com/tvdeyen))
23
+ - Test with Ruby 3.3 stable [#2657](https://github.com/AlchemyCMS/alchemy_cms/pull/2657) ([tvdeyen](https://github.com/tvdeyen))
24
+ - [ruby - main] Update shoulda-matchers → 6.0.0 (unknown) [#2656](https://github.com/AlchemyCMS/alchemy_cms/pull/2656) ([depfu](https://github.com/apps/depfu))
25
+ - Add Link button components [#2655](https://github.com/AlchemyCMS/alchemy_cms/pull/2655) ([tvdeyen](https://github.com/tvdeyen))
26
+ - Fix humanization for add nested element button [#2654](https://github.com/AlchemyCMS/alchemy_cms/pull/2654) ([nsaloj](https://github.com/nsaloj))
27
+ - Fix many layouts glitches [#2652](https://github.com/AlchemyCMS/alchemy_cms/pull/2652) ([tvdeyen](https://github.com/tvdeyen))
28
+ - Visually highlight droppable areas [#2651](https://github.com/AlchemyCMS/alchemy_cms/pull/2651) ([tvdeyen](https://github.com/tvdeyen))
29
+ - Fix imports of uploader [#2650](https://github.com/AlchemyCMS/alchemy_cms/pull/2650) ([tvdeyen](https://github.com/tvdeyen))
30
+ - Use SortableJS for sortable elements [#2649](https://github.com/AlchemyCMS/alchemy_cms/pull/2649) ([tvdeyen](https://github.com/tvdeyen))
31
+ - Fix picture archive layout [#2648](https://github.com/AlchemyCMS/alchemy_cms/pull/2648) ([tvdeyen](https://github.com/tvdeyen))
32
+ - Test with Ruby 3.3.0-rc1 [#2647](https://github.com/AlchemyCMS/alchemy_cms/pull/2647) ([tvdeyen](https://github.com/tvdeyen))
33
+ - Fix Tinymce button styles [#2646](https://github.com/AlchemyCMS/alchemy_cms/pull/2646) ([tvdeyen](https://github.com/tvdeyen))
34
+ - Fix Overlay component [#2644](https://github.com/AlchemyCMS/alchemy_cms/pull/2644) ([sascha-karnatz](https://github.com/sascha-karnatz))
35
+ - Picture archive grid layout [#2642](https://github.com/AlchemyCMS/alchemy_cms/pull/2642) ([tvdeyen](https://github.com/tvdeyen))
36
+ - Show page locked status in page status [#2641](https://github.com/AlchemyCMS/alchemy_cms/pull/2641) ([tvdeyen](https://github.com/tvdeyen))
37
+ - Fix image usage info panel icons [#2640](https://github.com/AlchemyCMS/alchemy_cms/pull/2640) ([tvdeyen](https://github.com/tvdeyen))
38
+ - [js] Update @shoelace-style/shoelace 2.9.0 → 2.12.0 (minor) [#2639](https://github.com/AlchemyCMS/alchemy_cms/pull/2639) ([depfu](https://github.com/apps/depfu))
39
+ - [js] Update sortablejs 1.15.0 → 1.15.1 (patch) [#2638](https://github.com/AlchemyCMS/alchemy_cms/pull/2638) ([depfu](https://github.com/apps/depfu))
40
+ - Show page status inline [#2637](https://github.com/AlchemyCMS/alchemy_cms/pull/2637) ([tvdeyen](https://github.com/tvdeyen))
41
+ - Fix element states styling [#2636](https://github.com/AlchemyCMS/alchemy_cms/pull/2636) ([tvdeyen](https://github.com/tvdeyen))
42
+ - Fix menubar styling [#2634](https://github.com/AlchemyCMS/alchemy_cms/pull/2634) ([sascha-karnatz](https://github.com/sascha-karnatz))
43
+ - Use shoelace switch for Element publish toggle [#2633](https://github.com/AlchemyCMS/alchemy_cms/pull/2633) ([tvdeyen](https://github.com/tvdeyen))
44
+ - UI Refinements [#2630](https://github.com/AlchemyCMS/alchemy_cms/pull/2630) ([tvdeyen](https://github.com/tvdeyen))
45
+ - Use Shoelace tooltip for all tooltips and hint bubbles [#2629](https://github.com/AlchemyCMS/alchemy_cms/pull/2629) ([tvdeyen](https://github.com/tvdeyen))
46
+ - Add support for RailsLiveReload [#2628](https://github.com/AlchemyCMS/alchemy_cms/pull/2628) ([tvdeyen](https://github.com/tvdeyen))
47
+ - Revert "Optimize events on handler" [#2627](https://github.com/AlchemyCMS/alchemy_cms/pull/2627) ([tvdeyen](https://github.com/tvdeyen))
48
+ - Use Remix icons [#2626](https://github.com/AlchemyCMS/alchemy_cms/pull/2626) ([tvdeyen](https://github.com/tvdeyen))
49
+ - Add a new picture thumbnail style [#2625](https://github.com/AlchemyCMS/alchemy_cms/pull/2625) ([tvdeyen](https://github.com/tvdeyen))
50
+ - Add alchemy-dialog-link custom component [#2624](https://github.com/AlchemyCMS/alchemy_cms/pull/2624) ([tvdeyen](https://github.com/tvdeyen))
51
+ - Replace jquery.upload with web component [#2623](https://github.com/AlchemyCMS/alchemy_cms/pull/2623) ([sascha-karnatz](https://github.com/sascha-karnatz))
52
+ - Add alchemy-button web component [#2621](https://github.com/AlchemyCMS/alchemy_cms/pull/2621) ([tvdeyen](https://github.com/tvdeyen))
53
+ - Preload tinymce assets [#2620](https://github.com/AlchemyCMS/alchemy_cms/pull/2620) ([tvdeyen](https://github.com/tvdeyen))
54
+ - Use rails-ujs instead of jquery_ujs [#2619](https://github.com/AlchemyCMS/alchemy_cms/pull/2619) ([tvdeyen](https://github.com/tvdeyen))
55
+ - Do not seed during install [#2617](https://github.com/AlchemyCMS/alchemy_cms/pull/2617) ([kennyadsl](https://github.com/kennyadsl))
56
+ - Add a RemoteSelect base component [#2616](https://github.com/AlchemyCMS/alchemy_cms/pull/2616) ([tvdeyen](https://github.com/tvdeyen))
57
+ - Add a NodeSelect web component [#2615](https://github.com/AlchemyCMS/alchemy_cms/pull/2615) ([tvdeyen](https://github.com/tvdeyen))
58
+ - Add Element Editor Custom Element [#2614](https://github.com/AlchemyCMS/alchemy_cms/pull/2614) ([tvdeyen](https://github.com/tvdeyen))
59
+ - Prevent publishing of the same page at the same time [#2612](https://github.com/AlchemyCMS/alchemy_cms/pull/2612) ([sascha-karnatz](https://github.com/sascha-karnatz))
60
+ - Create menubar web component [#2611](https://github.com/AlchemyCMS/alchemy_cms/pull/2611) ([sascha-karnatz](https://github.com/sascha-karnatz))
61
+ - Update jQuery to v3.7 [#2610](https://github.com/AlchemyCMS/alchemy_cms/pull/2610) ([sascha-karnatz](https://github.com/sascha-karnatz))
62
+ - Add Select Web Component [#2606](https://github.com/AlchemyCMS/alchemy_cms/pull/2606) ([sascha-karnatz](https://github.com/sascha-karnatz))
63
+ - Include jquery-ui [#2601](https://github.com/AlchemyCMS/alchemy_cms/pull/2601) ([tvdeyen](https://github.com/tvdeyen))
64
+ - Fix duplicated flatpickr calendar - DOM elements [#2600](https://github.com/AlchemyCMS/alchemy_cms/pull/2600) ([sascha-karnatz](https://github.com/sascha-karnatz))
65
+ - Fix adding element into main content [#2599](https://github.com/AlchemyCMS/alchemy_cms/pull/2599) ([tvdeyen](https://github.com/tvdeyen))
66
+ - Add shoelace theme [#2597](https://github.com/AlchemyCMS/alchemy_cms/pull/2597) ([sascha-karnatz](https://github.com/sascha-karnatz))
67
+ - Use Shoelace Tab for tabs [#2595](https://github.com/AlchemyCMS/alchemy_cms/pull/2595) ([tvdeyen](https://github.com/tvdeyen))
68
+ - Fix language and site creation [#2593](https://github.com/AlchemyCMS/alchemy_cms/pull/2593) ([tvdeyen](https://github.com/tvdeyen))
69
+ - Allow Rails 7.1 [#2592](https://github.com/AlchemyCMS/alchemy_cms/pull/2592) ([tvdeyen](https://github.com/tvdeyen))
70
+ - [ruby - main] Update net-imap → 0.4.0 (unknown) [#2591](https://github.com/AlchemyCMS/alchemy_cms/pull/2591) ([depfu](https://github.com/apps/depfu))
71
+ - Test Ruby 3.3-preview2 and YJIT [#2590](https://github.com/AlchemyCMS/alchemy_cms/pull/2590) ([tvdeyen](https://github.com/tvdeyen))
72
+ - Allow to import additional admin JS modules [#2588](https://github.com/AlchemyCMS/alchemy_cms/pull/2588) ([tvdeyen](https://github.com/tvdeyen))
73
+ - Disable Turbo on the leave overlay [#2586](https://github.com/AlchemyCMS/alchemy_cms/pull/2586) ([tvdeyen](https://github.com/tvdeyen))
74
+ - Fix web component i18n issues [#2585](https://github.com/AlchemyCMS/alchemy_cms/pull/2585) ([sascha-karnatz](https://github.com/sascha-karnatz))
75
+ - Use fewer select2 [#2584](https://github.com/AlchemyCMS/alchemy_cms/pull/2584) ([tvdeyen](https://github.com/tvdeyen))
76
+ - [ruby - main] Update net-smtp → 0.4.0 (unknown) [#2583](https://github.com/AlchemyCMS/alchemy_cms/pull/2583) ([depfu](https://github.com/apps/depfu))
77
+ - Page Select Component [#2582](https://github.com/AlchemyCMS/alchemy_cms/pull/2582) ([sascha-karnatz](https://github.com/sascha-karnatz))
78
+ - [ruby - main] Update execjs → 2.9.1 (unknown) [#2579](https://github.com/AlchemyCMS/alchemy_cms/pull/2579) ([depfu](https://github.com/apps/depfu))
79
+ - Web Component Safari fixes [#2578](https://github.com/AlchemyCMS/alchemy_cms/pull/2578) ([sascha-karnatz](https://github.com/sascha-karnatz))
80
+ - [ruby - main] Update execjs → 2.9.0 (unknown) [#2577](https://github.com/AlchemyCMS/alchemy_cms/pull/2577) ([depfu](https://github.com/apps/depfu))
81
+ - Replace Spinner with web component [#2574](https://github.com/AlchemyCMS/alchemy_cms/pull/2574) ([sascha-karnatz](https://github.com/sascha-karnatz))
82
+ - Fix NonStupidDigestAssets with String whitelist [#2571](https://github.com/AlchemyCMS/alchemy_cms/pull/2571) ([tvdeyen](https://github.com/tvdeyen))
83
+ - Standardrb rules update [#2570](https://github.com/AlchemyCMS/alchemy_cms/pull/2570) ([sascha-karnatz](https://github.com/sascha-karnatz))
84
+ - Use sqren/backport for automated back porting of PRs [#2567](https://github.com/AlchemyCMS/alchemy_cms/pull/2567) ([tvdeyen](https://github.com/tvdeyen))
85
+ - Revert "Change capitalization of Ruby On Rails in README" [#2566](https://github.com/AlchemyCMS/alchemy_cms/pull/2566) ([tvdeyen](https://github.com/tvdeyen))
86
+ - Use our backport fork [#2565](https://github.com/AlchemyCMS/alchemy_cms/pull/2565) ([tvdeyen](https://github.com/tvdeyen))
87
+ - Actions: Remove labels_template [#2564](https://github.com/AlchemyCMS/alchemy_cms/pull/2564) ([tvdeyen](https://github.com/tvdeyen))
88
+ - Change capitalization of Ruby On Rails in README [#2563](https://github.com/AlchemyCMS/alchemy_cms/pull/2563) ([tvdeyen](https://github.com/tvdeyen))
89
+ - Fix format of labels_template [#2562](https://github.com/AlchemyCMS/alchemy_cms/pull/2562) ([tvdeyen](https://github.com/tvdeyen))
90
+ - Change backport templates [#2561](https://github.com/AlchemyCMS/alchemy_cms/pull/2561) ([tvdeyen](https://github.com/tvdeyen))
91
+ - Add backport GH action [#2560](https://github.com/AlchemyCMS/alchemy_cms/pull/2560) ([tvdeyen](https://github.com/tvdeyen))
92
+ - Allow redirecting to other host in site redirect [#2559](https://github.com/AlchemyCMS/alchemy_cms/pull/2559) ([tvdeyen](https://github.com/tvdeyen))
93
+ - Picture Ingredient: Fix NaN error with free height [#2556](https://github.com/AlchemyCMS/alchemy_cms/pull/2556) ([mamhoff](https://github.com/mamhoff))
94
+ - Migrate Tinymce module into a web component [#2555](https://github.com/AlchemyCMS/alchemy_cms/pull/2555) ([sascha-karnatz](https://github.com/sascha-karnatz))
95
+ - Migrate datepicker into a web component [#2554](https://github.com/AlchemyCMS/alchemy_cms/pull/2554) ([sascha-karnatz](https://github.com/sascha-karnatz))
96
+ - Convert base from Coffeescript to Javascript [#2550](https://github.com/AlchemyCMS/alchemy_cms/pull/2550) ([sascha-karnatz](https://github.com/sascha-karnatz))
97
+ - Convert CharCounter from CoffeeScript to Javascript [#2549](https://github.com/AlchemyCMS/alchemy_cms/pull/2549) ([sascha-karnatz](https://github.com/sascha-karnatz))
98
+ - Convert Tooltip from Coffeescript to Javascript [#2548](https://github.com/AlchemyCMS/alchemy_cms/pull/2548) ([sascha-karnatz](https://github.com/sascha-karnatz))
99
+ - Convert autocomplete from CoffeeScript to Javascript [#2547](https://github.com/AlchemyCMS/alchemy_cms/pull/2547) ([sascha-karnatz](https://github.com/sascha-karnatz))
100
+ - Update README [#2546](https://github.com/AlchemyCMS/alchemy_cms/pull/2546) ([sascha-karnatz](https://github.com/sascha-karnatz))
101
+ - Add web-console to local gems [#2545](https://github.com/AlchemyCMS/alchemy_cms/pull/2545) ([tvdeyen](https://github.com/tvdeyen))
102
+ - Remove IE6 CSS hacks [#2543](https://github.com/AlchemyCMS/alchemy_cms/pull/2543) ([tvdeyen](https://github.com/tvdeyen))
103
+ - Increase minimum Rails version to v7.0 [#2542](https://github.com/AlchemyCMS/alchemy_cms/pull/2542) ([sascha-karnatz](https://github.com/sascha-karnatz))
104
+ - Remove return statement in datepicker [#2540](https://github.com/AlchemyCMS/alchemy_cms/pull/2540) ([sascha-karnatz](https://github.com/sascha-karnatz))
105
+ - Improve Richtext editor view [#2539](https://github.com/AlchemyCMS/alchemy_cms/pull/2539) ([sascha-karnatz](https://github.com/sascha-karnatz))
106
+ - Revert "[7.0] Fix DOM ids and labels of ingredient editors" [#2536](https://github.com/AlchemyCMS/alchemy_cms/pull/2536) ([tvdeyen](https://github.com/tvdeyen))
107
+ - Revert "[7.0] Bugfix: Init PagePublicationFields on Pages Table" [#2535](https://github.com/AlchemyCMS/alchemy_cms/pull/2535) ([tvdeyen](https://github.com/tvdeyen))
108
+ - [7.0] Fix DOM ids and labels of ingredient editors [#2534](https://github.com/AlchemyCMS/alchemy_cms/pull/2534) ([tvdeyen](https://github.com/tvdeyen))
109
+ - [7.0] Bugfix: Init PagePublicationFields on Pages Table [#2533](https://github.com/AlchemyCMS/alchemy_cms/pull/2533) ([tvdeyen](https://github.com/tvdeyen))
110
+ - Use selenium-webdriver instead of webdrivers gem [#2529](https://github.com/AlchemyCMS/alchemy_cms/pull/2529) ([mamhoff](https://github.com/mamhoff))
111
+ - Bugfix: Init PagePublicationFields on Pages Table [#2528](https://github.com/AlchemyCMS/alchemy_cms/pull/2528) ([mamhoff](https://github.com/mamhoff))
112
+ - Fix DOM ids and labels of ingredient editors [#2526](https://github.com/AlchemyCMS/alchemy_cms/pull/2526) ([tvdeyen](https://github.com/tvdeyen))
113
+ - Increase minimum Rails version to v6.1 [#2524](https://github.com/AlchemyCMS/alchemy_cms/pull/2524) ([sascha-karnatz](https://github.com/sascha-karnatz))
114
+ - Add configurable unauthorized path [#2522](https://github.com/AlchemyCMS/alchemy_cms/pull/2522) ([gr8bit](https://github.com/gr8bit))
115
+ - Copying pages: Only add "(Copy)" if necessary [#2521](https://github.com/AlchemyCMS/alchemy_cms/pull/2521) ([mamhoff](https://github.com/mamhoff))
116
+ - [js] Update prettier → 3.0.0 (unknown) [#2520](https://github.com/AlchemyCMS/alchemy_cms/pull/2520) ([depfu](https://github.com/apps/depfu))
117
+ - Convert GUI from Coffeescript to Javascript [#2516](https://github.com/AlchemyCMS/alchemy_cms/pull/2516) ([sascha-karnatz](https://github.com/sascha-karnatz))
118
+ - convert Initializer from Coffeescript to Javascript [#2513](https://github.com/AlchemyCMS/alchemy_cms/pull/2513) ([sascha-karnatz](https://github.com/sascha-karnatz))
119
+ - Convert Dirty from Coffeescript to Javascript [#2510](https://github.com/AlchemyCMS/alchemy_cms/pull/2510) ([sascha-karnatz](https://github.com/sascha-karnatz))
120
+ - Convert buttons.js.coffee to buttons.js [#2509](https://github.com/AlchemyCMS/alchemy_cms/pull/2509) ([sascha-karnatz](https://github.com/sascha-karnatz))
121
+
3
122
  ## 7.0.8 (2023-12-28)
4
123
 
5
124
  - [7.0-stable] Merge pull request #2658 from tvdeyen/fix-contactform-mailer [#2660](https://github.com/AlchemyCMS/alchemy_cms/pull/2660) ([alchemycms-bot](https://github.com/alchemycms-bot))
@@ -105,6 +224,49 @@
105
224
  - Remove RSS Feed feature [#2415](https://github.com/AlchemyCMS/alchemy_cms/pull/2415) ([tvdeyen](https://github.com/tvdeyen))
106
225
  - Add searchable field to page [#2414](https://github.com/AlchemyCMS/alchemy_cms/pull/2414) ([kulturbande](https://github.com/kulturbande))
107
226
 
227
+ ## 6.1.9 (2023-08-29)
228
+
229
+ - [6.1-stable] Merge pull request #2571 from tvdeyen/fix-non-stupid-digest-assets [#2573](https://github.com/AlchemyCMS/alchemy_cms/pull/2573) ([github-actions](https://github.com/apps/github-actions))
230
+ - [6.1] Show if element is using contents or ingredients [#2568](https://github.com/AlchemyCMS/alchemy_cms/pull/2568) ([tvdeyen](https://github.com/tvdeyen))
231
+
232
+ ## 6.1.8 (2023-07-31)
233
+
234
+ - [v6.1] Use selenium-webdriver instead of webdrivers gem [#2531](https://github.com/AlchemyCMS/alchemy_cms/pull/2531) ([mamhoff](https://github.com/mamhoff))
235
+ - [v6.1] Bugfix: Init PagePublicationFields on Pages Table [#2530](https://github.com/AlchemyCMS/alchemy_cms/pull/2530) ([mamhoff](https://github.com/mamhoff))
236
+
237
+ ## 6.1.7 (2023-07-07)
238
+
239
+ - [6.1] Add task(s) to visualize element and page usage [#2514](https://github.com/AlchemyCMS/alchemy_cms/pull/2514) ([tvdeyen](https://github.com/tvdeyen))
240
+
241
+ ## 6.1.6 (2023-06-30)
242
+
243
+ - [6.1] Allow to create element with warning in definition [#2508](https://github.com/AlchemyCMS/alchemy_cms/pull/2508) ([tvdeyen](https://github.com/tvdeyen))
244
+ - [6.1] Allow authors to link to all pages again [#2505](https://github.com/AlchemyCMS/alchemy_cms/pull/2505) ([tvdeyen](https://github.com/tvdeyen))
245
+ - install generator: Add option to force patched babel config [#2495](https://github.com/AlchemyCMS/alchemy_cms/pull/2495) ([tvdeyen](https://github.com/tvdeyen))
246
+ - Remove memory leak in ingredients migrator [#2493](https://github.com/AlchemyCMS/alchemy_cms/pull/2493) ([tvdeyen](https://github.com/tvdeyen))
247
+
248
+ ## 6.1.5 (2023-05-26)
249
+
250
+ - [6.1] Fix page seeder [#2482](https://github.com/AlchemyCMS/alchemy_cms/pull/2482) ([tvdeyen](https://github.com/tvdeyen))
251
+
252
+ ## 6.1.4 (2023-05-18)
253
+
254
+ - [6.1] Revert "Preload related objects in Alchemy::PagesController" [#2473](https://github.com/AlchemyCMS/alchemy_cms/pull/2473) ([tvdeyen](https://github.com/tvdeyen))
255
+
256
+ ## 6.1.3 (2023-03-29)
257
+
258
+ - Fix installer: Add seeds file if not exists [#2446](https://github.com/AlchemyCMS/alchemy_cms/pull/2446) ([tvdeyen](https://github.com/tvdeyen))
259
+ - Integrate non_stupid_digest_assets gem [#2430](https://github.com/AlchemyCMS/alchemy_cms/pull/2430) ([afdev82](https://github.com/afdev82))
260
+
261
+ ## 6.1.2 (2023-02-27)
262
+
263
+ - [6.1] Fix thumbnail writing for multi-concurrent and multi-db setups [#2434](https://github.com/AlchemyCMS/alchemy_cms/pull/2434) ([tvdeyen](https://github.com/tvdeyen))
264
+
265
+ ## 6.1.1 (2023-01-23)
266
+
267
+ - Re-introduce deleted methods [#2422](https://github.com/AlchemyCMS/alchemy_cms/pull/2422) ([tvdeyen](https://github.com/tvdeyen))
268
+ - Add searchable field to page (Alchemy 6.1) [#2420](https://github.com/AlchemyCMS/alchemy_cms/pull/2420) ([kulturbande](https://github.com/kulturbande))
269
+
108
270
  ## 6.1.0 (2023-01-19)
109
271
 
110
272
  ### Features
data/Gemfile CHANGED
@@ -8,18 +8,17 @@ rails_version = ENV.fetch("RAILS_VERSION", "7.1")
8
8
  gem "rails", "~> #{rails_version}.0"
9
9
 
10
10
  if ENV["DB"].nil? || ENV["DB"] == "sqlite"
11
- gem "sqlite3", "~> 1.6.0"
11
+ gem "sqlite3", "~> 1.7.0"
12
12
  end
13
13
  if ENV["DB"] == "mysql" || ENV["DB"] == "mariadb"
14
14
  gem "mysql2", "~> 0.5.1"
15
15
  end
16
16
  gem "pg", "~> 1.0" if ENV["DB"] == "postgresql"
17
17
 
18
+ gem "alchemy_i18n", git: "https://github.com/AlchemyCMS/alchemy_i18n.git", branch: "main"
19
+
18
20
  group :development, :test do
19
- # execjs 2.8 removes deprecation warnings but also breaks a number of dependent projects.
20
- # in our case the culprit is `handlebars-assets`. The changes between 2.7.0 and 2.8.0 are
21
- # minimal, but breaking.
22
- gem "execjs", "= 2.8.1"
21
+ gem "execjs", "~> 2.9.1"
23
22
  gem "rubocop", require: false
24
23
  gem "standard", "~> 1.25", require: false
25
24
 
@@ -54,10 +53,9 @@ end
54
53
  # Necessary until https://github.com/mikel/mail/pull/1439
55
54
  # got merged and released.
56
55
  if Gem.ruby_version >= Gem::Version.new("3.1.0")
57
- if rails_version.to_s.match?(/6.1/)
58
- # Rails 6.1 needs this as well
59
- gem "net-pop", "~> 0.1.0", require: false
60
- gem "net-imap", "~> 0.3.1", require: false
61
- end
62
- gem "net-smtp", "~> 0.3.0", require: false
56
+ gem "net-smtp", "~> 0.4.0", require: false
63
57
  end
58
+
59
+ gem "web-console", "~> 4.2", group: :development
60
+
61
+ gem "rails_live_reload", "~> 0.3.5"
data/README.md CHANGED
@@ -3,10 +3,10 @@
3
3
  [![Build Status](https://github.com/AlchemyCMS/alchemy_cms/workflows/CI/badge.svg?branch=main)](https://github.com/AlchemyCMS/alchemy_cms/actions)
4
4
  [![Brakeman Scan](https://github.com/AlchemyCMS/alchemy_cms/actions/workflows/brakeman-analysis.yml/badge.svg)](https://github.com/AlchemyCMS/alchemy_cms/actions/workflows/brakeman-analysis.yml)
5
5
 
6
- [![Gem Version](https://badge.fury.io/rb/alchemy_cms.svg)](http://badge.fury.io/rb/alchemy_cms)
6
+ [![Gem Version](https://badge.fury.io/rb/alchemy_cms.svg)](https://badge.fury.io/rb/alchemy_cms)
7
7
  [![Maintainability](https://api.codeclimate.com/v1/badges/196c56c56568ed24a697/maintainability)](https://codeclimate.com/github/AlchemyCMS/alchemy_cms/maintainability)
8
8
  [![Test Coverage](https://api.codeclimate.com/v1/badges/196c56c56568ed24a697/test_coverage)](https://codeclimate.com/github/AlchemyCMS/alchemy_cms/test_coverage)
9
- [![Reviewed by Hound](https://img.shields.io/badge/Reviewed_by-Hound-8E64B0.svg)](https://houndci.com)
9
+ [![Lint](https://github.com/AlchemyCMS/alchemy_cms/actions/workflows/lint.yml/badge.svg)](https://github.com/AlchemyCMS/alchemy_cms/actions/workflows/lint.yml)
10
10
  [![Depfu](https://badges.depfu.com/badges/ebe56d2dd7b7044a8ae700cc81212a8e/overview.svg)](https://depfu.com/github/AlchemyCMS/alchemy_cms?project_id=4600)
11
11
 
12
12
  [![Backers on Open Collective](https://opencollective.com/alchemy_cms/backers/badge.svg?color=blue)](#backers)
@@ -18,8 +18,11 @@ Alchemy is an open source CMS engine written in Ruby on Rails.
18
18
 
19
19
  Read more about Alchemy on the [website](https://alchemy-cms.com) and in the [guidelines](https://guides.alchemy-cms.com).
20
20
 
21
- **CAUTION: This main branch is a development branch that *can* contain bugs. For productive environments you should use the [current Ruby gem version](https://rubygems.org/gems/alchemy_cms), or the [latest stable branch (6.0-stable)](https://github.com/AlchemyCMS/alchemy_cms/tree/6.0-stable).**
21
+ **CAUTION: This main branch is a development branch that *can* contain bugs. For productive environments you should use the [current Ruby gem version](https://rubygems.org/gems/alchemy_cms), or the [latest stable branch (7.0-stable)](https://github.com/AlchemyCMS/alchemy_cms/tree/7.0-stable).**
22
22
 
23
+ ## 🏆 Main sponsor
24
+
25
+ [![BLISH Logo](https://blish.cloud/BLISH_Logo.svg)](https://blish.cloud)
23
26
 
24
27
  ## ✅ Features
25
28
 
@@ -41,19 +44,17 @@ Read more about Alchemy on the [website](https://alchemy-cms.com) and in the [gu
41
44
 
42
45
  ## 🎮 Demo
43
46
 
44
- Deploy your own free demo on Heroku
45
-
46
- [![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/AlchemyCMS/alchemy-demo)
47
-
48
- or visit the existing demo at https://alchemy-demo.herokuapp.com
47
+ Visit the existing demo at https://alchemy-demo.fly.dev/
49
48
 
50
49
  - Login: `demo`
51
50
  - Password: `demo123`
52
51
 
53
52
  ## 🚂 Rails Version
54
53
 
55
- **This version of AlchemyCMS runs with Rails 7.0, 6.1 and 6.0**
54
+ **This version of AlchemyCMS runs with Rails 7.0 and 7.1**
56
55
 
56
+ * For a Rails 6.1 compatible version use the [`7.0-stable` branch](https://github.com/AlchemyCMS/alchemy_cms/tree/7.0-stable).
57
+ * For a Rails 6.0 compatible version use the [`6.1-stable` branch](https://github.com/AlchemyCMS/alchemy_cms/tree/6.1-stable).
57
58
  * For a Rails 5.2 compatible version use the [`5.3-stable` branch](https://github.com/AlchemyCMS/alchemy_cms/tree/5.3-stable).
58
59
  * For a Rails 5.0 or 5.1 compatible version use the [`4.5-stable` branch](https://github.com/AlchemyCMS/alchemy_cms/tree/4.5-stable).
59
60
  * For a Rails 4.2 compatible version use the [`3.6-stable` branch](https://github.com/AlchemyCMS/alchemy_cms/tree/3.6-stable).
@@ -146,6 +147,7 @@ Alchemy.signup_path = '/your/signup/path' # Defaults to '/signup'
146
147
  Alchemy.login_path = '/your/login/path' # Defaults to '/login'
147
148
  Alchemy.logout_path = '/your/logout/path' # Defaults to '/logout'
148
149
  Alchemy.logout_method = 'http_verb_for_logout' # Defaults to 'delete'
150
+ Alchemy.unauthorized_path = '/some/public/page' # Defaults to '/'
149
151
  ```
150
152
 
151
153
  The only thing Alchemy needs to know from your user class is the `alchemy_roles` method.
data/alchemy_cms.gemspec CHANGED
@@ -16,7 +16,7 @@ Gem::Specification.new do |gem|
16
16
  gem.requirements << "ImageMagick (libmagick), v6.6 or greater."
17
17
  gem.required_ruby_version = ">= 3.0.0"
18
18
  gem.license = "BSD New"
19
- gem.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^spec/}) }
19
+ gem.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^spec/|yarn|^\.}) }
20
20
  gem.require_paths = ["lib"]
21
21
 
22
22
  %w[
@@ -29,7 +29,7 @@ Gem::Specification.new do |gem|
29
29
  activesupport
30
30
  railties
31
31
  ].each do |rails_gem|
32
- gem.add_runtime_dependency rails_gem, [">= 6.1", "< 7.2"]
32
+ gem.add_runtime_dependency rails_gem, [">= 7.0", "< 7.2"]
33
33
  end
34
34
 
35
35
  gem.add_runtime_dependency "active_model_serializers", ["~> 0.10.14"]
@@ -56,6 +56,7 @@ Gem::Specification.new do |gem|
56
56
 
57
57
  gem.add_development_dependency "capybara", ["~> 3.0"]
58
58
  gem.add_development_dependency "capybara-screenshot", ["~> 1.0"]
59
+ gem.add_development_dependency "capybara-shadowdom", ["~> 0.3"]
59
60
  gem.add_development_dependency "factory_bot_rails", ["~> 6.0"]
60
61
  gem.add_development_dependency "puma", ["~> 6.0"]
61
62
  gem.add_development_dependency "rails-controller-testing", ["~> 1.0"]
@@ -64,7 +65,7 @@ Gem::Specification.new do |gem|
64
65
  gem.add_development_dependency "simplecov", ["~> 0.20"]
65
66
  gem.add_development_dependency "selenium-webdriver", ["~> 4.10"]
66
67
  gem.add_development_dependency "webmock", ["~> 3.3"]
67
- gem.add_development_dependency "shoulda-matchers", ["~> 5.0"]
68
+ gem.add_development_dependency "shoulda-matchers", ["~> 6.0"]
68
69
  gem.add_development_dependency "timecop", ["~> 0.9"]
69
70
 
70
71
  gem.post_install_message = <<~MSG
@@ -2,15 +2,13 @@
2
2
  //= link alchemy/admin/all.js
3
3
  //= link alchemy/preview.js
4
4
  //= link alchemy/menubar.css
5
- //= link alchemy/menubar.js
6
5
  //= link alchemy/print.css
7
6
  //= link alchemy/welcome.css
8
7
  //= link tinymce/plugins/alchemy_link/plugin.min.js
9
- //= link tinymce/tinymce.min.js
10
- //= link_directory ../stylesheets/tinymce/skins/alchemy/ .css
11
- //= link_directory ../stylesheets/tinymce/skins/alchemy/img/
12
- //= link_directory ../stylesheets/tinymce/skins/alchemy/fonts/
8
+ //= link_directory ../stylesheets/tinymce/skins/ui/alchemy/ .css
9
+ //= link_directory ../stylesheets/tinymce/skins/content/alchemy/ .css
13
10
  //= link_tree ../images/alchemy/
14
11
  //= link_tree ../../../vendor/assets/fonts/
15
12
  //= link_tree ../../../vendor/assets/images/
16
13
  //= link_tree ../../javascript .js
14
+ //= link_tree ../../../vendor/javascript .js
@@ -1 +1 @@
1
- <svg aria-hidden="true" focusable="false" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512" width="16" height="16"><path fill="#f7f7f7" d="M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z" class=""></path></svg>
1
+ <svg aria-hidden="true" focusable="false" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18"><path d="M12.8659 3.00017L22.3922 19.5002C22.6684 19.9785 22.5045 20.5901 22.0262 20.8662C21.8742 20.954 21.7017 21.0002 21.5262 21.0002H2.47363C1.92135 21.0002 1.47363 20.5525 1.47363 20.0002C1.47363 19.8246 1.51984 19.6522 1.60761 19.5002L11.1339 3.00017C11.41 2.52187 12.0216 2.358 12.4999 2.63414C12.6519 2.72191 12.7782 2.84815 12.8659 3.00017ZM4.20568 19.0002H19.7941L11.9999 5.50017L4.20568 19.0002ZM10.9999 16.0002H12.9999V18.0002H10.9999V16.0002ZM10.9999 9.00017H12.9999V14.0002H10.9999V9.00017Z" fill="currentColor"></path></svg>
@@ -1,39 +1,17 @@
1
1
  // Alchemy CMS Sprockets Manifest
2
2
  // ------------------------------
3
- //= require jquery2
4
- //= require jquery_ujs
5
- //= require jquery-ui/widgets/draggable
6
- //= require jquery-ui/widgets/sortable
7
- //= require jquery-ui/widgets/tabs
8
- //= require tinymce/tinymce.min
3
+ //= require jquery3
9
4
  //= require_tree ../../../../vendor/assets/javascripts/jquery_plugins/
10
- //= require clipboard.min
11
- //= require keymaster
12
- //= require requestAnimationFrame
13
5
  //= require handlebars
14
6
  //= require alchemy/templates
15
- //= require alchemy/alchemy.base
16
- //= require alchemy/alchemy.autocomplete
17
- //= require alchemy/alchemy.buttons
18
7
  //= require alchemy/alchemy.dialog
19
- //= require alchemy/alchemy.char_counter
20
8
  //= require alchemy/alchemy.confirm_dialog
21
- //= require alchemy/alchemy.dirty
22
- //= require alchemy/alchemy.dragndrop
23
- //= require alchemy/alchemy.element_editors
24
9
  //= require alchemy/alchemy.elements_window
25
10
  //= require alchemy/alchemy.fixed_elements
26
11
  //= require alchemy/alchemy.growler
27
- //= require alchemy/alchemy.gui
28
12
  //= require alchemy/alchemy.hotkeys
29
13
  //= require alchemy/alchemy.image_overlay
30
14
  //= require alchemy/alchemy.string_extension
31
15
  //= require alchemy/alchemy.link_dialog
32
16
  //= require alchemy/alchemy.list_filter
33
- //= require alchemy/alchemy.initializer
34
- //= require alchemy/alchemy.uploader
35
17
  //= require alchemy/alchemy.preview_window
36
- //= require alchemy/alchemy.spinner
37
- //= require alchemy/alchemy.tooltips
38
- //= require alchemy/page_select
39
- //= require alchemy/node_select
@@ -29,11 +29,10 @@ class window.Alchemy.ConfirmDialog extends Alchemy.Dialog
29
29
 
30
30
  bind_buttons: ->
31
31
  @cancel_button.focus()
32
- @cancel_button.click =>
32
+ @cancel_button.on "click", =>
33
33
  @close()
34
- Alchemy.Buttons.enable()
35
34
  false
36
- @ok_button.click =>
35
+ @ok_button.on "click", =>
37
36
  @close()
38
37
  @options.on_ok()
39
38
  false
@@ -9,7 +9,6 @@ class window.Alchemy.Dialog
9
9
  title: ''
10
10
  modal: true
11
11
  overflow: 'visible'
12
- draggable: true
13
12
  ready: ->
14
13
  closed: ->
15
14
 
@@ -35,11 +34,6 @@ class window.Alchemy.Dialog
35
34
  window.requestAnimationFrame =>
36
35
  @dialog_container.addClass('open')
37
36
  @overlay.addClass('open') if @overlay?
38
- if @options.draggable
39
- @dialog.draggable
40
- iframeFix: true
41
- handle: '.alchemy-dialog-title'
42
- containment: 'parent'
43
37
  @$body.addClass('prevent-scrolling')
44
38
  Alchemy.currentDialogs.push(this)
45
39
  @load()
@@ -53,7 +47,6 @@ class window.Alchemy.Dialog
53
47
  @overlay.removeClass('open') if @overlay?
54
48
  @$document.on 'webkitTransitionEnd transitionend oTransitionEnd', =>
55
49
  @$document.off 'webkitTransitionEnd transitionend oTransitionEnd'
56
- Alchemy.Tinymce.removeFrom $('.tinymce', @dialog_body)
57
50
  @dialog_container.remove()
58
51
  @overlay.remove() if @overlay?
59
52
  @$body.removeClass('prevent-scrolling')
@@ -105,26 +98,25 @@ class window.Alchemy.Dialog
105
98
  # Initializes the Dialog body
106
99
  init: ->
107
100
  Alchemy.GUI.init(@dialog_body)
108
- Alchemy.Tinymce.initWith
109
- selector: ".alchemy-dialog-body textarea.tinymce",
110
- width: '65%'
111
- $('#overlay_tabs', @dialog_body).tabs()
112
101
  @watch_remote_forms()
113
102
 
114
103
  # Watches ajax requests inside of dialog body and replaces the content accordingly
115
104
  watch_remote_forms: ->
116
105
  form = $('[data-remote="true"]', @dialog_body)
117
- form.bind "ajax:complete", (e, xhr, status) =>
106
+ form.bind "ajax:success", (event) =>
107
+ xhr = event.detail[2]
118
108
  content_type = xhr.getResponseHeader('Content-Type')
119
- Alchemy.Buttons.enable(@dialog_body)
120
- if status == 'success'
121
- if content_type.match(/javascript/)
122
- return
123
- else
124
- @dialog_body.html(xhr.responseText)
125
- @init()
109
+ if content_type.match(/javascript/)
110
+ return
126
111
  else
127
- @show_error(xhr, status)
112
+ @dialog_body.html(xhr.responseText)
113
+ @init()
114
+ return
115
+ form.bind "ajax:error", (event, b, c) =>
116
+ statusText = event.detail[1]
117
+ xhr = event.detail[2]
118
+ @show_error(xhr, statusText)
119
+ return
128
120
 
129
121
  # Displays an error message
130
122
  show_error: (xhr, status_message, $container = @dialog_body) ->
@@ -155,10 +147,10 @@ class window.Alchemy.Dialog
155
147
  # - Overlay (if the Dialog is a modal)
156
148
  # - ESC Key
157
149
  bind_close_events: ->
158
- @close_button.click =>
150
+ @close_button.on "click", =>
159
151
  @close()
160
152
  false
161
- @dialog_container.addClass('closable').click (e) =>
153
+ @dialog_container.addClass('closable').on "click", (e) =>
162
154
  return true if e.target != @dialog_container.get(0)
163
155
  @close()
164
156
  false
@@ -176,7 +168,7 @@ class window.Alchemy.Dialog
176
168
  @dialog_body = $('<div class="alchemy-dialog-body" />')
177
169
  @dialog_header = $('<div class="alchemy-dialog-header" />')
178
170
  @dialog_title = $('<div class="alchemy-dialog-title" />')
179
- @close_button = $('<a class="alchemy-dialog-close"><i class="icon fas fa-times fa-fw fa-xs"/></a>')
171
+ @close_button = $('<a class="alchemy-dialog-close"><i class="icon ri-close-line ri-fw" /></a>')
180
172
  @dialog_title.text(@options.title)
181
173
  @dialog_header.append(@dialog_title)
182
174
  @dialog_header.append(@close_button)
@@ -246,7 +238,7 @@ window.Alchemy.openDialog = (url, options) ->
246
238
 
247
239
  # Watches elements for Alchemy Dialogs
248
240
  #
249
- # Links having a data-alchemy-dialog or data-alchemy-confirm-delete
241
+ # Links having a data-alchemy-confirm-delete
250
242
  # and input/buttons having a data-alchemy-confirm attribute get watched.
251
243
  #
252
244
  # You can pass a scope so that only elements inside this scope are queried.
@@ -256,13 +248,6 @@ window.Alchemy.openDialog = (url, options) ->
256
248
  # See Alchemy.Dialog for further options you can add to the data attribute
257
249
  #
258
250
  window.Alchemy.watchForDialogs = (scope = '#alchemy') ->
259
- $(scope).on 'click', '[data-alchemy-dialog]:not(.disabled)', (event) ->
260
- $this = $(this)
261
- url = $this.attr('href')
262
- options = $this.data('alchemy-dialog')
263
- Alchemy.openDialog(url, options)
264
- event.preventDefault()
265
- return
266
251
  $(scope).on 'click', '[data-alchemy-confirm-delete]', (event) ->
267
252
  $this = $(this)
268
253
  options = $this.data('alchemy-confirm-delete')
@@ -281,12 +266,12 @@ window.Alchemy.watchForDialogs = (scope = '#alchemy') ->
281
266
  event.preventDefault()
282
267
  return
283
268
 
284
- # Returns a FontAwesome icon for given message type
269
+ # Returns a Remix icon for given message type
285
270
  #
286
271
  window.Alchemy.messageIcon = (messageType) ->
287
272
  icon_class = switch messageType
288
- when "warning", "warn", "alert" then "exclamation"
273
+ when "warning", "warn", "alert" then "alert"
289
274
  when "notice" then "check"
290
275
  when "error" then "bug"
291
276
  else messageType
292
- "<i class=\"icon fas fa-#{icon_class} fa-fw\" />"
277
+ "<i class=\"icon ri-#{icon_class}-line ri-fw\" />"