alchemy_cms 4.6.7 → 5.0.0.beta1
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.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +33 -1
- data/.github/workflows/stale.yml +1 -1
- data/.gitignore +20 -2
- data/.hound.yml +2 -1
- data/.prettierrc +6 -0
- data/.rubocop.yml +31 -10
- data/CHANGELOG.md +89 -32
- data/Gemfile +24 -22
- data/README.md +31 -19
- data/Rakefile +10 -8
- data/alchemy_cms.gemspec +6 -5
- data/app/assets/javascripts/alchemy/admin.js +1 -5
- data/app/assets/javascripts/alchemy/alchemy.base.js.coffee +2 -1
- data/app/assets/javascripts/alchemy/alchemy.element_editors.js.coffee +0 -2
- data/app/assets/javascripts/alchemy/alchemy.page_sorter.js +17 -17
- data/app/assets/javascripts/alchemy/node_select.js +39 -0
- data/app/assets/javascripts/alchemy/templates/index.js +1 -0
- data/app/assets/javascripts/alchemy/templates/node.hbs +16 -0
- data/app/assets/stylesheets/alchemy/admin.scss +3 -2
- data/app/assets/stylesheets/alchemy/base.scss +0 -1
- data/app/assets/stylesheets/alchemy/elements.scss +1 -1
- data/app/assets/stylesheets/alchemy/forms.scss +5 -0
- data/app/assets/stylesheets/alchemy/node-select.scss +43 -0
- data/app/assets/stylesheets/alchemy/nodes.scss +1 -1
- data/app/assets/stylesheets/alchemy/sitemap.scss +5 -1
- data/app/assets/stylesheets/alchemy/tables.scss +1 -24
- data/app/assets/stylesheets/tinymce/skins/alchemy/content.min.css.scss +3 -3
- data/app/assets/stylesheets/tinymce/skins/alchemy/skin.min.css.scss +7 -7
- data/app/controllers/alchemy/admin/attachments_controller.rb +8 -7
- data/app/controllers/alchemy/admin/base_controller.rb +16 -42
- data/app/controllers/alchemy/admin/clipboard_controller.rb +5 -4
- data/app/controllers/alchemy/admin/contents_controller.rb +1 -2
- data/app/controllers/alchemy/admin/dashboard_controller.rb +10 -9
- data/app/controllers/alchemy/admin/elements_controller.rb +20 -20
- data/app/controllers/alchemy/admin/essence_pictures_controller.rb +12 -14
- data/app/controllers/alchemy/admin/languages_controller.rb +35 -2
- data/app/controllers/alchemy/admin/layoutpages_controller.rb +5 -2
- data/app/controllers/alchemy/admin/nodes_controller.rb +5 -4
- data/app/controllers/alchemy/admin/pages_controller.rb +50 -62
- data/app/controllers/alchemy/admin/pictures_controller.rb +16 -16
- data/app/controllers/alchemy/admin/resources_controller.rb +21 -13
- data/app/controllers/alchemy/admin/sites_controller.rb +18 -0
- data/app/controllers/alchemy/admin/styleguide_controller.rb +1 -0
- data/app/controllers/alchemy/admin/tags_controller.rb +5 -3
- data/app/controllers/alchemy/admin/trash_controller.rb +6 -6
- data/app/controllers/alchemy/api/base_controller.rb +2 -2
- data/app/controllers/alchemy/api/contents_controller.rb +4 -4
- data/app/controllers/alchemy/api/elements_controller.rb +8 -8
- data/app/controllers/alchemy/api/nodes_controller.rb +37 -1
- data/app/controllers/alchemy/api/pages_controller.rb +14 -23
- data/app/controllers/alchemy/attachments_controller.rb +5 -5
- data/app/controllers/alchemy/base_controller.rb +10 -9
- data/app/controllers/alchemy/messages_controller.rb +16 -23
- data/app/controllers/alchemy/pages_controller.rb +13 -11
- data/app/controllers/concerns/alchemy/admin/archive_overlay.rb +3 -2
- data/app/controllers/concerns/alchemy/admin/current_language.rb +23 -0
- data/app/controllers/concerns/alchemy/admin/uploader_responses.rb +5 -5
- data/app/controllers/concerns/alchemy/legacy_page_redirects.rb +4 -4
- data/app/controllers/concerns/alchemy/page_redirects.rb +2 -9
- data/app/controllers/concerns/alchemy/site_redirects.rb +2 -2
- data/app/decorators/alchemy/element_editor.rb +39 -0
- data/app/helpers/alchemy/admin/attachments_helper.rb +6 -6
- data/app/helpers/alchemy/admin/base_helper.rb +36 -35
- data/app/helpers/alchemy/admin/contents_helper.rb +3 -3
- data/app/helpers/alchemy/admin/elements_helper.rb +3 -88
- data/app/helpers/alchemy/admin/essences_helper.rb +8 -117
- data/app/helpers/alchemy/admin/form_helper.rb +1 -1
- data/app/helpers/alchemy/admin/navigation_helper.rb +24 -23
- data/app/helpers/alchemy/admin/pages_helper.rb +4 -4
- data/app/helpers/alchemy/admin/pictures_helper.rb +3 -3
- data/app/helpers/alchemy/admin/tags_helper.rb +8 -7
- data/app/helpers/alchemy/base_helper.rb +13 -8
- data/app/helpers/alchemy/elements_block_helper.rb +2 -31
- data/app/helpers/alchemy/elements_helper.rb +12 -58
- data/app/helpers/alchemy/pages_helper.rb +24 -174
- data/app/helpers/alchemy/url_helper.rb +2 -1
- data/app/mailers/alchemy/base_mailer.rb +1 -1
- data/app/mailers/alchemy/messages_mailer.rb +1 -1
- data/app/models/alchemy/attachment.rb +21 -19
- data/app/models/alchemy/base_record.rb +2 -5
- data/app/models/alchemy/content/factory.rb +24 -31
- data/app/models/alchemy/content.rb +33 -38
- data/app/models/alchemy/element/definitions.rb +4 -4
- data/app/models/alchemy/element/element_contents.rb +9 -6
- data/app/models/alchemy/element/element_essences.rb +4 -3
- data/app/models/alchemy/element/presenters.rb +3 -2
- data/app/models/alchemy/element.rb +46 -54
- data/app/models/alchemy/element_to_page.rb +1 -1
- data/app/models/alchemy/essence_boolean.rb +1 -3
- data/app/models/alchemy/essence_date.rb +2 -3
- data/app/models/alchemy/essence_file.rb +4 -4
- data/app/models/alchemy/essence_html.rb +1 -3
- data/app/models/alchemy/essence_link.rb +1 -3
- data/app/models/alchemy/essence_node.rb +18 -0
- data/app/models/alchemy/essence_page.rb +3 -16
- data/app/models/alchemy/essence_picture.rb +17 -16
- data/app/models/alchemy/essence_picture_view.rb +7 -6
- data/app/models/alchemy/essence_richtext.rb +1 -3
- data/app/models/alchemy/essence_select.rb +1 -3
- data/app/models/alchemy/essence_text.rb +0 -2
- data/app/models/alchemy/folded_page.rb +1 -0
- data/app/models/alchemy/language/code.rb +4 -4
- data/app/models/alchemy/language.rb +21 -35
- data/app/models/alchemy/legacy_page_url.rb +1 -1
- data/app/models/alchemy/message.rb +3 -3
- data/app/models/alchemy/node.rb +28 -5
- data/app/models/alchemy/page/fixed_attributes.rb +3 -2
- data/app/models/alchemy/page/page_elements.rb +35 -44
- data/app/models/alchemy/page/page_naming.rb +20 -70
- data/app/models/alchemy/page/page_natures.rb +7 -34
- data/app/models/alchemy/page/page_scopes.rb +23 -29
- data/app/models/alchemy/page/url_path.rb +0 -2
- data/app/models/alchemy/page.rb +47 -128
- data/app/models/alchemy/picture/transformations.rb +9 -7
- data/app/models/alchemy/picture/url.rb +5 -5
- data/app/models/alchemy/picture.rb +19 -28
- data/app/models/alchemy/site/layout.rb +2 -2
- data/app/models/alchemy/site.rb +6 -36
- data/app/models/concerns/alchemy/touch_elements.rb +24 -0
- data/app/serializers/alchemy/content_serializer.rb +0 -3
- data/app/serializers/alchemy/essence_boolean_serializer.rb +3 -3
- data/app/serializers/alchemy/essence_date_serializer.rb +3 -3
- data/app/serializers/alchemy/essence_file_serializer.rb +4 -2
- data/app/serializers/alchemy/essence_html_serializer.rb +3 -3
- data/app/serializers/alchemy/essence_link_serializer.rb +3 -3
- data/app/serializers/alchemy/essence_picture_serializer.rb +5 -4
- data/app/serializers/alchemy/essence_richtext_serializer.rb +3 -3
- data/app/serializers/alchemy/essence_select_serializer.rb +3 -3
- data/app/serializers/alchemy/essence_text_serializer.rb +5 -4
- data/app/serializers/alchemy/node_serializer.rb +2 -0
- data/app/serializers/alchemy/page_tree_serializer.rb +9 -13
- data/app/views/alchemy/admin/attachments/_archive_overlay.html.erb +1 -2
- data/app/views/alchemy/admin/attachments/_file_to_assign.html.erb +1 -2
- data/app/views/alchemy/admin/attachments/_files_list.html.erb +4 -4
- data/app/views/alchemy/admin/contents/create.js.erb +1 -3
- data/app/views/alchemy/admin/elements/_element.html.erb +9 -18
- data/app/views/alchemy/admin/elements/create.js.erb +1 -1
- data/app/views/alchemy/admin/elements/fold.js.erb +1 -1
- data/app/views/alchemy/admin/elements/index.html.erb +3 -3
- data/app/views/alchemy/admin/essence_files/assign.js.erb +1 -6
- data/app/views/alchemy/admin/essence_files/edit.html.erb +1 -1
- data/app/views/alchemy/admin/essence_pictures/assign.js.erb +1 -7
- data/app/views/alchemy/admin/essence_pictures/crop.html.erb +1 -1
- data/app/views/alchemy/admin/essence_pictures/edit.html.erb +7 -7
- data/app/views/alchemy/admin/essence_pictures/update.js.erb +1 -1
- data/app/views/alchemy/admin/languages/_form.html.erb +5 -5
- data/app/views/alchemy/admin/languages/_table.html.erb +3 -3
- data/app/views/alchemy/admin/languages/edit.html.erb +1 -0
- data/app/views/alchemy/admin/languages/index.html.erb +23 -4
- data/app/views/alchemy/admin/languages/new.html.erb +1 -0
- data/app/views/alchemy/admin/layoutpages/index.html.erb +3 -3
- data/app/views/alchemy/admin/nodes/_form.html.erb +18 -15
- data/app/views/alchemy/admin/nodes/_node.html.erb +1 -5
- data/app/views/alchemy/admin/nodes/index.html.erb +3 -4
- data/app/views/alchemy/admin/pages/_create_language_form.html.erb +0 -8
- data/app/views/alchemy/admin/pages/_form.html.erb +0 -1
- data/app/views/alchemy/admin/pages/_new_page_form.html.erb +1 -0
- data/app/views/alchemy/admin/pages/_page.html.erb +11 -19
- data/app/views/alchemy/admin/pages/_page_infos.html.erb +0 -4
- data/app/views/alchemy/admin/pages/edit.html.erb +1 -1
- data/app/views/alchemy/admin/pages/info.html.erb +0 -9
- data/app/views/alchemy/admin/pages/unlock.js.erb +13 -6
- data/app/views/alchemy/admin/partials/_remote_search_form.html.erb +0 -2
- data/app/views/alchemy/admin/pictures/_filter_and_size_bar.html.erb +1 -5
- data/app/views/alchemy/admin/pictures/_overlay_picture_list.html.erb +1 -1
- data/app/views/alchemy/admin/pictures/_picture_to_assign.html.erb +1 -2
- data/app/views/alchemy/admin/resources/_resource.html.erb +1 -1
- data/app/views/alchemy/admin/resources/_table.html.erb +2 -2
- data/app/views/alchemy/admin/sites/_form.html.erb +8 -0
- data/app/views/alchemy/admin/sites/edit.html.erb +1 -0
- data/app/views/alchemy/admin/sites/index.html.erb +21 -9
- data/app/views/alchemy/admin/sites/new.html.erb +1 -0
- data/app/views/alchemy/admin/tags/index.html.erb +2 -2
- data/app/views/alchemy/essences/_essence_boolean_editor.html.erb +10 -12
- data/app/views/alchemy/essences/_essence_date_editor.html.erb +11 -8
- data/app/views/alchemy/essences/_essence_file_editor.html.erb +16 -17
- data/app/views/alchemy/essences/_essence_html_editor.html.erb +8 -5
- data/app/views/alchemy/essences/_essence_link_editor.html.erb +18 -15
- data/app/views/alchemy/essences/_essence_node_editor.html.erb +27 -0
- data/app/views/alchemy/essences/_essence_node_view.html.erb +1 -0
- data/app/views/alchemy/essences/_essence_page_editor.html.erb +14 -11
- data/app/views/alchemy/essences/_essence_picture_editor.html.erb +22 -20
- data/app/views/alchemy/essences/_essence_richtext_editor.html.erb +10 -7
- data/app/views/alchemy/essences/_essence_select_editor.html.erb +12 -16
- data/app/views/alchemy/essences/_essence_text_editor.html.erb +18 -17
- data/app/views/alchemy/essences/shared/_essence_picture_tools.html.erb +6 -11
- data/app/views/alchemy/pages/show.rss.builder +3 -2
- data/app/views/layouts/alchemy/admin.html.erb +1 -0
- data/babel.config.js +12 -0
- data/bin/rails +5 -4
- data/config/alchemy/config.yml +15 -18
- data/config/brakeman.ignore +1 -1
- data/config/initializers/assets.rb +2 -1
- data/config/initializers/dragonfly.rb +2 -1
- data/config/initializers/mime_types.rb +1 -0
- data/config/initializers/mini_profiler.rb +3 -2
- data/config/initializers/simple_form.rb +6 -6
- data/config/locales/alchemy.en.yml +23 -8
- data/config/routes.rb +25 -24
- data/config/spring.rb +3 -2
- data/db/migrate/20200226213334_alchemy_four_point_four.rb +313 -0
- data/db/migrate/20200423073425_create_alchemy_essence_nodes.rb +11 -0
- data/db/migrate/20200504210159_remove_site_id_from_nodes.rb +28 -0
- data/db/migrate/20200505215518_add_language_id_foreign_key_to_alchemy_pages.rb +8 -0
- data/db/migrate/20200511113603_add_menu_type_to_alchemy_nodes.rb +27 -0
- data/db/migrate/20200514091507_make_page_layoutpage_null_false.rb +6 -0
- data/db/migrate/20200519073500_remove_visible_from_alchemy_pages.rb +24 -0
- data/lib/alchemy/admin/locale.rb +3 -1
- data/lib/alchemy/admin/preview_url.rb +64 -0
- data/lib/alchemy/auth_accessors.rb +8 -7
- data/lib/alchemy/cache_digests/template_tracker.rb +5 -4
- data/lib/alchemy/config.rb +1 -5
- data/lib/alchemy/configuration_methods.rb +3 -1
- data/lib/alchemy/controller_actions.rb +6 -5
- data/lib/alchemy/deprecation.rb +2 -1
- data/lib/alchemy/elements_finder.rb +5 -5
- data/lib/alchemy/engine.rb +22 -14
- data/lib/alchemy/errors.rb +0 -7
- data/lib/alchemy/essence.rb +17 -16
- data/lib/alchemy/filetypes.rb +5 -5
- data/lib/alchemy/forms/builder.rb +4 -4
- data/lib/alchemy/hints.rb +1 -1
- data/lib/alchemy/i18n.rb +2 -1
- data/lib/alchemy/modules.rb +12 -12
- data/lib/alchemy/name_conversions.rb +5 -5
- data/lib/alchemy/on_page_layout/callbacks_runner.rb +1 -0
- data/lib/alchemy/page_layout.rb +15 -12
- data/lib/alchemy/paths.rb +1 -1
- data/lib/alchemy/permissions.rb +7 -6
- data/lib/alchemy/resource.rb +25 -17
- data/lib/alchemy/resources_helper.rb +12 -18
- data/lib/alchemy/routing_constraints.rb +1 -1
- data/lib/alchemy/seeder.rb +42 -14
- data/lib/alchemy/shell.rb +13 -10
- data/lib/alchemy/taggable.rb +1 -0
- data/lib/alchemy/tasks/tidy.rb +4 -3
- data/lib/alchemy/test_support/config_stubbing.rb +1 -0
- data/lib/alchemy/test_support/essence_shared_examples.rb +72 -72
- data/lib/alchemy/test_support/factories/attachment_factory.rb +5 -5
- data/lib/alchemy/test_support/factories/content_factory.rb +6 -6
- data/lib/alchemy/test_support/factories/dummy_user_factory.rb +7 -7
- data/lib/alchemy/test_support/factories/element_factory.rb +9 -9
- data/lib/alchemy/test_support/factories/essence_file_factory.rb +3 -3
- data/lib/alchemy/test_support/factories/essence_page_factory.rb +3 -3
- data/lib/alchemy/test_support/factories/essence_picture_factory.rb +4 -4
- data/lib/alchemy/test_support/factories/essence_text_factory.rb +3 -3
- data/lib/alchemy/test_support/factories/language_factory.rb +16 -14
- data/lib/alchemy/test_support/factories/node_factory.rb +8 -8
- data/lib/alchemy/test_support/factories/page_factory.rb +15 -27
- data/lib/alchemy/test_support/factories/picture_factory.rb +5 -5
- data/lib/alchemy/test_support/factories/site_factory.rb +7 -6
- data/lib/alchemy/test_support/factories.rb +1 -1
- data/lib/alchemy/test_support/integration_helpers.rb +1 -0
- data/lib/alchemy/test_support/shared_contexts.rb +5 -4
- data/lib/alchemy/test_support/shared_uploader_examples.rb +4 -3
- data/lib/alchemy/tinymce.rb +15 -13
- data/lib/alchemy/upgrader/five_point_zero.rb +41 -0
- data/lib/alchemy/upgrader/tasks/element_views_updater.rb +4 -4
- data/lib/alchemy/upgrader/tasks/harden_gutentag_migrations.rb +29 -0
- data/lib/alchemy/upgrader.rb +8 -7
- data/lib/alchemy/userstamp.rb +1 -1
- data/lib/alchemy/version.rb +1 -1
- data/lib/alchemy_cms.rb +52 -51
- data/lib/{rails/generators → generators}/alchemy/base.rb +5 -4
- data/lib/{rails/generators → generators}/alchemy/elements/elements_generator.rb +13 -9
- data/lib/{rails/generators → generators}/alchemy/elements/templates/view.html.erb +0 -0
- data/lib/{rails/generators → generators}/alchemy/elements/templates/view.html.haml +0 -0
- data/lib/{rails/generators → generators}/alchemy/elements/templates/view.html.slim +0 -0
- data/lib/{rails/generators → generators}/alchemy/essence/essence_generator.rb +15 -13
- data/lib/generators/alchemy/essence/templates/editor.html.erb +17 -0
- data/lib/{rails/generators → generators}/alchemy/essence/templates/view.html.erb +0 -0
- data/lib/{rails/generators → generators}/alchemy/install/files/_article.html.erb +0 -0
- data/lib/{rails/generators → generators}/alchemy/install/files/_standard.html.erb +0 -0
- data/lib/{rails/generators → generators}/alchemy/install/files/alchemy.en.yml +0 -0
- data/lib/generators/alchemy/install/files/alchemy_admin.js +1 -0
- data/lib/{rails/generators → generators}/alchemy/install/files/all.css +0 -0
- data/lib/{rails/generators → generators}/alchemy/install/files/all.js +0 -0
- data/lib/{rails/generators → generators}/alchemy/install/files/application.html.erb +0 -0
- data/lib/{rails/generators → generators}/alchemy/install/files/article.scss +0 -0
- data/lib/generators/alchemy/install/install_generator.rb +110 -0
- data/lib/{rails/generators → generators}/alchemy/install/templates/dragonfly.rb.tt +0 -0
- data/lib/{rails/generators → generators}/alchemy/install/templates/elements.yml.tt +0 -0
- data/lib/{rails/generators → generators}/alchemy/install/templates/menus.yml.tt +0 -0
- data/lib/{rails/generators → generators}/alchemy/install/templates/page_layouts.yml.tt +0 -0
- data/lib/{rails/generators → generators}/alchemy/menus/menus_generator.rb +2 -2
- data/lib/{rails/generators → generators}/alchemy/menus/templates/node.html.erb +1 -4
- data/lib/{rails/generators → generators}/alchemy/menus/templates/node.html.haml +1 -4
- data/lib/{rails/generators → generators}/alchemy/menus/templates/node.html.slim +1 -4
- data/lib/{rails/generators → generators}/alchemy/menus/templates/wrapper.html.erb +1 -1
- data/lib/{rails/generators → generators}/alchemy/menus/templates/wrapper.html.haml +1 -1
- data/lib/{rails/generators → generators}/alchemy/menus/templates/wrapper.html.slim +1 -1
- data/lib/{rails/generators → generators}/alchemy/module/module_generator.rb +3 -2
- data/lib/{rails/generators → generators}/alchemy/module/templates/ability.rb.tt +0 -0
- data/lib/{rails/generators → generators}/alchemy/module/templates/controller.rb.tt +0 -0
- data/lib/{rails/generators → generators}/alchemy/module/templates/module_config.rb.tt +0 -0
- data/lib/{rails/generators → generators}/alchemy/page_layouts/page_layouts_generator.rb +5 -4
- data/lib/{rails/generators → generators}/alchemy/page_layouts/templates/layout.html.erb +0 -0
- data/lib/{rails/generators → generators}/alchemy/page_layouts/templates/layout.html.haml +0 -0
- data/lib/{rails/generators → generators}/alchemy/page_layouts/templates/layout.html.slim +0 -0
- data/lib/{rails/generators → generators}/alchemy/site_layouts/site_layouts_generator.rb +4 -2
- data/lib/{rails/generators → generators}/alchemy/site_layouts/templates/layout.html.erb +0 -0
- data/lib/{rails/generators → generators}/alchemy/site_layouts/templates/layout.html.haml +0 -0
- data/lib/{rails/generators → generators}/alchemy/site_layouts/templates/layout.html.slim +0 -0
- data/lib/{rails/generators → generators}/alchemy/views/views_generator.rb +7 -6
- data/lib/kaminari/scoped_pagination_url_helper.rb +1 -0
- data/lib/tasks/alchemy/db.rake +3 -19
- data/lib/tasks/alchemy/install.rake +3 -2
- data/lib/tasks/alchemy/tidy.rake +9 -8
- data/lib/tasks/alchemy/upgrade.rake +18 -120
- data/package/admin.js +14 -0
- data/package/src/__tests__/i18n.spec.js +70 -0
- data/package/src/i18n.js +48 -0
- data/package/src/node_tree.js +72 -0
- data/package/src/translations.js +32 -0
- data/package/src/utils/__tests__/ajax.spec.js +124 -0
- data/package/src/utils/__tests__/events.spec.js +38 -0
- data/package/src/utils/ajax.js +48 -0
- data/package/src/utils/events.js +16 -0
- data/package.json +45 -0
- data/vendor/assets/fonts/fa-regular-400.eot +0 -0
- data/vendor/assets/fonts/fa-regular-400.svg +798 -358
- data/vendor/assets/fonts/fa-regular-400.ttf +0 -0
- data/vendor/assets/fonts/fa-regular-400.woff +0 -0
- data/vendor/assets/fonts/fa-regular-400.woff2 +0 -0
- data/vendor/assets/fonts/fa-solid-900.eot +0 -0
- data/vendor/assets/fonts/fa-solid-900.svg +4933 -1408
- data/vendor/assets/fonts/fa-solid-900.ttf +0 -0
- data/vendor/assets/fonts/fa-solid-900.woff +0 -0
- data/vendor/assets/fonts/fa-solid-900.woff2 +0 -0
- data/vendor/assets/javascripts/jquery_plugins/jquery.ui.nestedSortable.js +1 -2
- data/vendor/assets/stylesheets/fontawesome/_core.scss +5 -0
- data/vendor/assets/stylesheets/fontawesome/_fixed-width.scss +1 -1
- data/vendor/assets/stylesheets/fontawesome/_icons.scss +651 -2
- data/vendor/assets/stylesheets/fontawesome/_mixins.scss +0 -1
- data/vendor/assets/stylesheets/fontawesome/_rotated-flipped.scss +3 -2
- data/vendor/assets/stylesheets/fontawesome/_stacked.scss +1 -1
- data/vendor/assets/stylesheets/fontawesome/_variables.scss +662 -9
- data/vendor/assets/stylesheets/fontawesome/fontawesome.scss +2 -2
- data/vendor/assets/stylesheets/fontawesome/regular.scss +23 -0
- data/vendor/assets/stylesheets/fontawesome/solid.scss +24 -0
- metadata +117 -98
- data/app/assets/javascripts/alchemy/alchemy.i18n.js.coffee +0 -32
- data/app/assets/javascripts/alchemy/alchemy.node_tree.js +0 -66
- data/app/assets/javascripts/alchemy/alchemy.translations.js.coffee +0 -29
- data/app/assets/javascripts/alchemy/alchemy.utils.js +0 -45
- data/app/helpers/alchemy/essences_helper.rb +0 -119
- data/app/models/concerns/alchemy/content_touching.rb +0 -23
- data/app/serializers/alchemy/legacy_element_serializer.rb +0 -15
- data/app/views/alchemy/admin/contents/_missing.html.erb +0 -17
- data/app/views/alchemy/admin/pages/_menu_fields.html.erb +0 -37
- data/app/views/alchemy/admin/pages/configure_external.html.erb +0 -32
- data/app/views/alchemy/elements/_editor_not_found.html.erb +0 -4
- data/app/views/alchemy/navigation/_image_link.html.erb +0 -14
- data/app/views/alchemy/navigation/_link.html.erb +0 -19
- data/app/views/alchemy/navigation/_renderer.html.erb +0 -29
- data/db/migrate/20180226123013_alchemy_four_point_zero.rb +0 -363
- data/db/migrate/20180227224537_migrate_tags_to_gutentag.rb +0 -41
- data/db/migrate/20180519204655_add_fixed_to_alchemy_elements.rb +0 -6
- data/db/migrate/20191016073858_create_alchemy_essence_pages.rb +0 -8
- data/db/migrate/20191029212236_create_alchemy_nodes.rb +0 -24
- data/db/migrate/20200226081535_add_site_id_to_alchemy_nodes.rb +0 -15
- data/lib/alchemy/error_tracking/airbrake_handler.rb +0 -13
- data/lib/alchemy/error_tracking.rb +0 -14
- data/lib/alchemy/ssl_protection.rb +0 -34
- data/lib/alchemy/tasks/helpers.rb +0 -81
- data/lib/alchemy/test_support/controller_requests.rb +0 -93
- data/lib/alchemy/upgrader/four_point_four.rb +0 -52
- data/lib/alchemy/upgrader/four_point_one.rb +0 -42
- data/lib/alchemy/upgrader/four_point_six.rb +0 -50
- data/lib/alchemy/upgrader/four_point_two.rb +0 -86
- data/lib/alchemy/upgrader/tasks/cells_migration.rb +0 -45
- data/lib/alchemy/upgrader/tasks/cells_upgrader.rb +0 -166
- data/lib/alchemy/upgrader/tasks/element_partial_name_variable_updater.rb +0 -32
- data/lib/alchemy/upgrader/tasks/fixed_element_name_finder.rb +0 -31
- data/lib/alchemy/upgrader/tasks/harden_acts_as_taggable_on_migrations.rb +0 -27
- data/lib/alchemy/upgrader/tasks/picture_gallery_migration.rb +0 -65
- data/lib/alchemy/upgrader/tasks/picture_gallery_upgrader.rb +0 -210
- data/lib/rails/generators/alchemy/essence/templates/editor.html.erb +0 -15
- data/lib/rails/generators/alchemy/install/install_generator.rb +0 -60
- data/lib/tasks/alchemy/convert.rake +0 -98
- data/vendor/assets/javascripts/sortable/Sortable.min.js +0 -2
- data/vendor/assets/stylesheets/fontawesome/fa-regular.scss +0 -22
- data/vendor/assets/stylesheets/fontawesome/fa-solid.scss +0 -23
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a47529eb07ef956c81fe417efd5570b37a0d56e689ee3079c9bc623b91b8bc28
|
|
4
|
+
data.tar.gz: 9bb8aa6ca4eab610212690d3630c223269d3d6cb28224e33a9a4838fb4869c81
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: df610fff48f0e7a30c0f348b20c452a8ade6226a9ce6457b497d76e3cdc7269d43cfe24da082687773de1c9a692df0116475b87469e9538899bc142e7d49397e
|
|
7
|
+
data.tar.gz: 89281dc3a6bccd9d537adc2662143e61f023f38205a3474a1d4f6a63b40dea7374df95f7f40614aee771f14de7bec44f92afb68dfcffafb1df1028f416bb0c79
|
data/.github/workflows/ci.yml
CHANGED
|
@@ -24,7 +24,6 @@ jobs:
|
|
|
24
24
|
DB_HOST: '127.0.0.1'
|
|
25
25
|
RAILS_ENV: test
|
|
26
26
|
RAILS_VERSION: ${{ matrix.rails }}
|
|
27
|
-
CC_TEST_REPORTER_ID: bca4349e32f97919210ac8a450b04904b90683fcdd57d65a22c0f5065482bc22
|
|
28
27
|
services:
|
|
29
28
|
postgres:
|
|
30
29
|
image: postgres:11
|
|
@@ -86,6 +85,14 @@ jobs:
|
|
|
86
85
|
timeout-minutes: 10
|
|
87
86
|
run: |
|
|
88
87
|
bundle install --jobs 4 --retry 3 --path vendor/bundle
|
|
88
|
+
- name: Restore node modules cache
|
|
89
|
+
id: yarn-cache
|
|
90
|
+
uses: actions/cache@preview
|
|
91
|
+
with:
|
|
92
|
+
path: spec/dummy/node_modules
|
|
93
|
+
key: ${{ runner.os }}-yarn-dummy-${{ hashFiles('./package.json') }}
|
|
94
|
+
restore-keys: |
|
|
95
|
+
${{ runner.os }}-yarn-dummy-
|
|
89
96
|
- name: Prepare database
|
|
90
97
|
run: |
|
|
91
98
|
bundle exec rake alchemy:spec:prepare
|
|
@@ -100,3 +107,28 @@ jobs:
|
|
|
100
107
|
with:
|
|
101
108
|
name: Screenshots
|
|
102
109
|
path: spec/dummy/tmp/screenshots
|
|
110
|
+
Jest:
|
|
111
|
+
runs-on: ubuntu-latest
|
|
112
|
+
env:
|
|
113
|
+
NODE_ENV: test
|
|
114
|
+
steps:
|
|
115
|
+
- uses: actions/checkout@v1
|
|
116
|
+
- name: Restore node modules cache
|
|
117
|
+
uses: actions/cache@preview
|
|
118
|
+
with:
|
|
119
|
+
path: node_modules
|
|
120
|
+
key: ${{ runner.os }}-yarn-${{ hashFiles('./package.json') }}
|
|
121
|
+
restore-keys: |
|
|
122
|
+
${{ runner.os }}-yarn-
|
|
123
|
+
- name: Install yarn
|
|
124
|
+
run: yarn install
|
|
125
|
+
- name: Run jest
|
|
126
|
+
run: yarn jest
|
|
127
|
+
- name: Run jest & publish code coverage
|
|
128
|
+
uses: paambaati/codeclimate-action@v2.5.7
|
|
129
|
+
env:
|
|
130
|
+
CC_TEST_REPORTER_ID: bca4349e32f97919210ac8a450b04904b90683fcdd57d65a22c0f5065482bc22
|
|
131
|
+
with:
|
|
132
|
+
coverageLocations:
|
|
133
|
+
./coverage/lcov.info:lcov
|
|
134
|
+
coverageCommand: yarn jest --collectCoverage --coverageDirectory=coverage
|
data/.github/workflows/stale.yml
CHANGED
|
@@ -13,5 +13,5 @@ jobs:
|
|
|
13
13
|
- uses: actions/stale@v1
|
|
14
14
|
with:
|
|
15
15
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
|
16
|
-
stale-issue-message: 'This issue has not seen any activity in a long time. If the issue
|
|
16
|
+
stale-issue-message: 'This issue has not seen any activity in a long time. If the issue described still exists in recent versions of Alchemy, please open a new issue or preferably open a PR with a fix. Thanks for reporting.'
|
|
17
17
|
stale-pr-message: 'This pull request has not seen any activiy in a long time. Probably because of missing tests or a necessary rebase. Please open a new PR to latest master if you want to continue working on this. Thanks for the contribution.'
|
data/.gitignore
CHANGED
|
@@ -9,9 +9,22 @@ pkg
|
|
|
9
9
|
tmp
|
|
10
10
|
log
|
|
11
11
|
.sass-cache
|
|
12
|
-
spec/dummy
|
|
12
|
+
spec/dummy/.browserslistrc
|
|
13
|
+
spec/dummy/app/assets/stylesheets/alchemy/
|
|
14
|
+
spec/dummy/app/javascript/
|
|
15
|
+
spec/dummy/babel.config.js
|
|
16
|
+
spec/dummy/bin/webpack
|
|
17
|
+
spec/dummy/bin/webpack-dev-server
|
|
18
|
+
spec/dummy/config/alchemy/config.yml
|
|
19
|
+
spec/dummy/config/webpack/
|
|
20
|
+
spec/dummy/config/webpacker.yml
|
|
13
21
|
spec/dummy/db/*.sqlite3*
|
|
14
|
-
spec/dummy/
|
|
22
|
+
spec/dummy/package.json
|
|
23
|
+
spec/dummy/postcss.config.js
|
|
24
|
+
spec/dummy/public/assets/
|
|
25
|
+
spec/dummy/public/packs/
|
|
26
|
+
spec/dummy/public/packs-test/
|
|
27
|
+
spec/dummy/uploads/
|
|
15
28
|
.rvmrc
|
|
16
29
|
/coverage/
|
|
17
30
|
*.gem
|
|
@@ -22,3 +35,8 @@ spec/dummy/public/assets
|
|
|
22
35
|
.ruby-version
|
|
23
36
|
.env
|
|
24
37
|
.rspec
|
|
38
|
+
node_modules
|
|
39
|
+
yarn-error.log
|
|
40
|
+
yarn-debug.log*
|
|
41
|
+
.yarn-integrity
|
|
42
|
+
yarn.lock
|
data/.hound.yml
CHANGED
data/.prettierrc
ADDED
data/.rubocop.yml
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# Relaxed.Ruby.Style
|
|
2
2
|
|
|
3
3
|
AllCops:
|
|
4
|
+
TargetRubyVersion: 2.4
|
|
4
5
|
Exclude:
|
|
5
6
|
- 'bin/rspec'
|
|
6
7
|
- 'vendor/**/*'
|
|
@@ -8,8 +9,7 @@ AllCops:
|
|
|
8
9
|
- 'spec/dummy/config/**/*'
|
|
9
10
|
- 'alchemy_cms.gemspec'
|
|
10
11
|
- 'Rakefile'
|
|
11
|
-
|
|
12
|
-
TargetRubyVersion: 2.4
|
|
12
|
+
- 'node_modules/**/*'
|
|
13
13
|
|
|
14
14
|
# Really, rubocop?
|
|
15
15
|
Bundler/OrderedGems:
|
|
@@ -22,6 +22,9 @@ Style/EmptyLiteral:
|
|
|
22
22
|
Style/ClassVars:
|
|
23
23
|
Enabled: false
|
|
24
24
|
|
|
25
|
+
Style/FloatDivision:
|
|
26
|
+
EnforcedStyle: left_coerce
|
|
27
|
+
|
|
25
28
|
# This has been used for customization
|
|
26
29
|
Style/MutableConstant:
|
|
27
30
|
Enabled: false
|
|
@@ -50,6 +53,9 @@ Style/MixinUsage:
|
|
|
50
53
|
Exclude:
|
|
51
54
|
- spec/**/*
|
|
52
55
|
|
|
56
|
+
Layout/ArgumentAlignment:
|
|
57
|
+
Enabled: false
|
|
58
|
+
|
|
53
59
|
Layout/HashAlignment:
|
|
54
60
|
Enabled: false
|
|
55
61
|
|
|
@@ -69,18 +75,22 @@ Layout/ElseAlignment:
|
|
|
69
75
|
Layout/EmptyLineAfterMagicComment:
|
|
70
76
|
Enabled: false
|
|
71
77
|
|
|
78
|
+
Layout/EmptyLinesAroundAccessModifier:
|
|
79
|
+
Exclude:
|
|
80
|
+
- lib/alchemy/test_support/factories/*.rb
|
|
81
|
+
|
|
72
82
|
Layout/FirstArrayElementIndentation:
|
|
73
83
|
Enabled: false
|
|
74
84
|
|
|
75
85
|
Layout/FirstHashElementIndentation:
|
|
76
86
|
Enabled: false
|
|
77
87
|
|
|
78
|
-
Layout/HeredocIndentation:
|
|
79
|
-
EnforcedStyle: active_support
|
|
80
|
-
|
|
81
88
|
Layout/IndentationWidth:
|
|
82
89
|
Enabled: false
|
|
83
90
|
|
|
91
|
+
Layout/LineLength:
|
|
92
|
+
Enabled: false
|
|
93
|
+
|
|
84
94
|
Layout/MultilineHashBraceLayout:
|
|
85
95
|
Enabled: false
|
|
86
96
|
|
|
@@ -107,6 +117,9 @@ Layout/SpaceInsideParens:
|
|
|
107
117
|
Layout/EndAlignment:
|
|
108
118
|
Enabled: false
|
|
109
119
|
|
|
120
|
+
Layout/RescueEnsureAlignment:
|
|
121
|
+
Enabled: false
|
|
122
|
+
|
|
110
123
|
Lint/SuppressedException:
|
|
111
124
|
Exclude:
|
|
112
125
|
- 'config/initializers/mini_profiler.rb'
|
|
@@ -208,8 +221,19 @@ Style/SpecialGlobalVars:
|
|
|
208
221
|
StyleGuide: http://relaxed.ruby.style/#stylespecialglobalvars
|
|
209
222
|
|
|
210
223
|
Style/StringLiterals:
|
|
211
|
-
|
|
212
|
-
|
|
224
|
+
EnforcedStyle: double_quotes
|
|
225
|
+
|
|
226
|
+
Style/StringLiteralsInInterpolation:
|
|
227
|
+
EnforcedStyle: double_quotes
|
|
228
|
+
|
|
229
|
+
Style/TrailingCommaInArguments:
|
|
230
|
+
EnforcedStyleForMultiline: comma
|
|
231
|
+
|
|
232
|
+
Style/TrailingCommaInArrayLiteral:
|
|
233
|
+
EnforcedStyleForMultiline: comma
|
|
234
|
+
|
|
235
|
+
Style/TrailingCommaInHashLiteral:
|
|
236
|
+
EnforcedStyleForMultiline: consistent_comma
|
|
213
237
|
|
|
214
238
|
Style/WhileUntilModifier:
|
|
215
239
|
Enabled: false
|
|
@@ -260,9 +284,6 @@ Metrics/ModuleLength:
|
|
|
260
284
|
Metrics/CyclomaticComplexity:
|
|
261
285
|
Enabled: false
|
|
262
286
|
|
|
263
|
-
Metrics/LineLength:
|
|
264
|
-
Enabled: false
|
|
265
|
-
|
|
266
287
|
Metrics/MethodLength:
|
|
267
288
|
Enabled: false
|
|
268
289
|
|
data/CHANGELOG.md
CHANGED
|
@@ -1,35 +1,92 @@
|
|
|
1
|
-
##
|
|
2
|
-
|
|
3
|
-
-
|
|
4
|
-
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
-
|
|
1
|
+
## 5.0.0 (unreleased)
|
|
2
|
+
|
|
3
|
+
- Fix Page tree sorting after root page removal [#1876](https://github.com/AlchemyCMS/alchemy_cms/pull/1876) ([tvdeyen](https://github.com/tvdeyen))
|
|
4
|
+
- 5.0 Upgrader fixes [#1874](https://github.com/AlchemyCMS/alchemy_cms/pull/1874) ([tvdeyen](https://github.com/tvdeyen))
|
|
5
|
+
- Remove url_nesting config [#1872](https://github.com/AlchemyCMS/alchemy_cms/pull/1872) ([tvdeyen](https://github.com/tvdeyen))
|
|
6
|
+
- [ruby] Upgrade sassc to version 2.4.0 [#1871](https://github.com/AlchemyCMS/alchemy_cms/pull/1871) ([depfu](https://github.com/apps/depfu))
|
|
7
|
+
- fix GitHub Actions spelling [#1869](https://github.com/AlchemyCMS/alchemy_cms/pull/1869) ([alexanderadam](https://github.com/alexanderadam))
|
|
8
|
+
- Remove Page#visible [#1868](https://github.com/AlchemyCMS/alchemy_cms/pull/1868) ([tvdeyen](https://github.com/tvdeyen))
|
|
9
|
+
- 4.6 backports for master [#1867](https://github.com/AlchemyCMS/alchemy_cms/pull/1867) ([tvdeyen](https://github.com/tvdeyen))
|
|
10
|
+
- Use apt update instead of apt-get in GH action [#1866](https://github.com/AlchemyCMS/alchemy_cms/pull/1866) ([tvdeyen](https://github.com/tvdeyen))
|
|
11
|
+
- [ruby] Upgrade rubocop to version 0.85.0 [#1863](https://github.com/AlchemyCMS/alchemy_cms/pull/1863) ([depfu](https://github.com/apps/depfu))
|
|
12
|
+
- Remove active_record_5_1? method [#1854](https://github.com/AlchemyCMS/alchemy_cms/pull/1854) ([tvdeyen](https://github.com/tvdeyen))
|
|
13
|
+
- Use Alchemy npm package instead of hacking webpacker [#1853](https://github.com/AlchemyCMS/alchemy_cms/pull/1853) ([tvdeyen](https://github.com/tvdeyen))
|
|
14
|
+
- Fix node select ES5 syntax [#1851](https://github.com/AlchemyCMS/alchemy_cms/pull/1851) ([tvdeyen](https://github.com/tvdeyen))
|
|
15
|
+
- Run yarn:install after installing webpacker in install generator [#1850](https://github.com/AlchemyCMS/alchemy_cms/pull/1850) ([mamhoff](https://github.com/mamhoff))
|
|
16
|
+
- Remove male sign after emoji [#1849](https://github.com/AlchemyCMS/alchemy_cms/pull/1849) ([mamhoff](https://github.com/mamhoff))
|
|
17
|
+
- Do not use ES6 Syntax in Node Selector [#1846](https://github.com/AlchemyCMS/alchemy_cms/pull/1846) ([mamhoff](https://github.com/mamhoff))
|
|
18
|
+
- [ruby] Upgrade rubocop to version 0.84.0 [#1845](https://github.com/AlchemyCMS/alchemy_cms/pull/1845) ([depfu](https://github.com/apps/depfu))
|
|
19
|
+
- Always create nested urls [#1844](https://github.com/AlchemyCMS/alchemy_cms/pull/1844) ([tvdeyen](https://github.com/tvdeyen))
|
|
20
|
+
- Fix: Add indifferent access to default options in encoded_image [#1840](https://github.com/AlchemyCMS/alchemy_cms/pull/1840) ([mickenorlen](https://github.com/mickenorlen))
|
|
21
|
+
- Set proper nested set scope on page [#1837](https://github.com/AlchemyCMS/alchemy_cms/pull/1837) ([tvdeyen](https://github.com/tvdeyen))
|
|
22
|
+
- Install Webpacker in install generator [#1835](https://github.com/AlchemyCMS/alchemy_cms/pull/1835) ([mamhoff](https://github.com/mamhoff))
|
|
23
|
+
- Fix deleting an EssenceNode from a content [#1834](https://github.com/AlchemyCMS/alchemy_cms/pull/1834) ([mamhoff](https://github.com/mamhoff))
|
|
24
|
+
- Use Rails standards for deleting pages from EssencePage [#1833](https://github.com/AlchemyCMS/alchemy_cms/pull/1833) ([mamhoff](https://github.com/mamhoff))
|
|
25
|
+
- Scope has one site [#1832](https://github.com/AlchemyCMS/alchemy_cms/pull/1832) ([mamhoff](https://github.com/mamhoff))
|
|
26
|
+
- Render nodes [#1831](https://github.com/AlchemyCMS/alchemy_cms/pull/1831) ([mamhoff](https://github.com/mamhoff))
|
|
27
|
+
- Add errors when node cant be deleted [#1828](https://github.com/AlchemyCMS/alchemy_cms/pull/1828) ([mamhoff](https://github.com/mamhoff))
|
|
28
|
+
- Add error flash to resource controller [#1827](https://github.com/AlchemyCMS/alchemy_cms/pull/1827) ([mamhoff](https://github.com/mamhoff))
|
|
29
|
+
- Fix Association between Nodes and EssenceNodes [#1826](https://github.com/AlchemyCMS/alchemy_cms/pull/1826) ([mamhoff](https://github.com/mamhoff))
|
|
30
|
+
- Translated root menus [#1825](https://github.com/AlchemyCMS/alchemy_cms/pull/1825) ([mamhoff](https://github.com/mamhoff))
|
|
31
|
+
- Use rails root in install generator [#1822](https://github.com/AlchemyCMS/alchemy_cms/pull/1822) ([tvdeyen](https://github.com/tvdeyen))
|
|
32
|
+
- Add a quick Node select [#1821](https://github.com/AlchemyCMS/alchemy_cms/pull/1821) ([mamhoff](https://github.com/mamhoff))
|
|
33
|
+
- Add has_one association for root page [#1820](https://github.com/AlchemyCMS/alchemy_cms/pull/1820) ([mamhoff](https://github.com/mamhoff))
|
|
34
|
+
- [js] Upgrade babel-jest to version 26.0.1 [#1819](https://github.com/AlchemyCMS/alchemy_cms/pull/1819) ([depfu](https://github.com/apps/depfu))
|
|
35
|
+
- Make page language mandatory [#1818](https://github.com/AlchemyCMS/alchemy_cms/pull/1818) ([tvdeyen](https://github.com/tvdeyen))
|
|
36
|
+
- Remove root page [#1817](https://github.com/AlchemyCMS/alchemy_cms/pull/1817) ([tvdeyen](https://github.com/tvdeyen))
|
|
37
|
+
- Fix page unlock page icon replacement [#1816](https://github.com/AlchemyCMS/alchemy_cms/pull/1816) ([tvdeyen](https://github.com/tvdeyen))
|
|
38
|
+
- Invoke rake task in upgrader instead of system call [#1815](https://github.com/AlchemyCMS/alchemy_cms/pull/1815) ([tvdeyen](https://github.com/tvdeyen))
|
|
39
|
+
- Remove old 4.4 upgrader class [#1814](https://github.com/AlchemyCMS/alchemy_cms/pull/1814) ([tvdeyen](https://github.com/tvdeyen))
|
|
40
|
+
- Remove Page.ancestors_for [#1813](https://github.com/AlchemyCMS/alchemy_cms/pull/1813) ([tvdeyen](https://github.com/tvdeyen))
|
|
41
|
+
- Remove layout root pages [#1812](https://github.com/AlchemyCMS/alchemy_cms/pull/1812) ([tvdeyen](https://github.com/tvdeyen))
|
|
42
|
+
- Use timestamps in migration [#1811](https://github.com/AlchemyCMS/alchemy_cms/pull/1811) ([tvdeyen](https://github.com/tvdeyen))
|
|
43
|
+
- Remove legacy element serializer [#1810](https://github.com/AlchemyCMS/alchemy_cms/pull/1810) ([tvdeyen](https://github.com/tvdeyen))
|
|
44
|
+
- Remove timestamps from essences and contents [#1809](https://github.com/AlchemyCMS/alchemy_cms/pull/1809) ([tvdeyen](https://github.com/tvdeyen))
|
|
45
|
+
- Remove stamper from contents [#1808](https://github.com/AlchemyCMS/alchemy_cms/pull/1808) ([tvdeyen](https://github.com/tvdeyen))
|
|
46
|
+
- Remove Site ID from nodes [#1807](https://github.com/AlchemyCMS/alchemy_cms/pull/1807) ([mamhoff](https://github.com/mamhoff))
|
|
47
|
+
- Add Alchemy::Language.has_many :nodes [#1806](https://github.com/AlchemyCMS/alchemy_cms/pull/1806) ([mamhoff](https://github.com/mamhoff))
|
|
48
|
+
- Drop Rails 5.0 and 5.1 support [#1805](https://github.com/AlchemyCMS/alchemy_cms/pull/1805) ([tvdeyen](https://github.com/tvdeyen))
|
|
49
|
+
- Remove enforce_ssl [#1804](https://github.com/AlchemyCMS/alchemy_cms/pull/1804) ([tvdeyen](https://github.com/tvdeyen))
|
|
50
|
+
- Make the preview url configurable [#1803](https://github.com/AlchemyCMS/alchemy_cms/pull/1803) ([tvdeyen](https://github.com/tvdeyen))
|
|
51
|
+
- Remove stamper from essences [#1802](https://github.com/AlchemyCMS/alchemy_cms/pull/1802) ([tvdeyen](https://github.com/tvdeyen))
|
|
52
|
+
- Use Rufo to format all files in a consistent way [#1799](https://github.com/AlchemyCMS/alchemy_cms/pull/1799) ([tvdeyen](https://github.com/tvdeyen))
|
|
53
|
+
- Remove acts_as_list from Content [#1798](https://github.com/AlchemyCMS/alchemy_cms/pull/1798) ([tvdeyen](https://github.com/tvdeyen))
|
|
54
|
+
- Add EssenceNode [#1792](https://github.com/AlchemyCMS/alchemy_cms/pull/1792) ([mamhoff](https://github.com/mamhoff))
|
|
55
|
+
- Use 2.5.7 of code climate coverage reporter GH action [#1790](https://github.com/AlchemyCMS/alchemy_cms/pull/1790) ([tvdeyen](https://github.com/tvdeyen))
|
|
56
|
+
- [ruby] Upgrade sassc to version 2.3.0 [#1787](https://github.com/AlchemyCMS/alchemy_cms/pull/1787) ([depfu](https://github.com/apps/depfu))
|
|
57
|
+
- [ruby] Upgrade rubocop to version 0.82.0 [#1785](https://github.com/AlchemyCMS/alchemy_cms/pull/1785) ([depfu](https://github.com/apps/depfu))
|
|
58
|
+
- Fix regular icons [#1784](https://github.com/AlchemyCMS/alchemy_cms/pull/1784) ([tvdeyen](https://github.com/tvdeyen))
|
|
59
|
+
- Convert NodeTree into ES6 [#1782](https://github.com/AlchemyCMS/alchemy_cms/pull/1782) ([tvdeyen](https://github.com/tvdeyen))
|
|
60
|
+
- Add Webpacker [#1775](https://github.com/AlchemyCMS/alchemy_cms/pull/1775) ([tvdeyen](https://github.com/tvdeyen))
|
|
61
|
+
- Multi language menus [#1774](https://github.com/AlchemyCMS/alchemy_cms/pull/1774) ([rmparr](https://github.com/rmparr))
|
|
62
|
+
- On Boarding Flow [#1770](https://github.com/AlchemyCMS/alchemy_cms/pull/1770) ([tvdeyen](https://github.com/tvdeyen))
|
|
63
|
+
- Fix bug in language from session w/o site [#1769](https://github.com/AlchemyCMS/alchemy_cms/pull/1769) ([tvdeyen](https://github.com/tvdeyen))
|
|
64
|
+
- Fix fontawesome in production [#1765](https://github.com/AlchemyCMS/alchemy_cms/pull/1765) ([mickenorlen](https://github.com/mickenorlen))
|
|
65
|
+
- Remove implicit Site and Language creation [#1763](https://github.com/AlchemyCMS/alchemy_cms/pull/1763) ([mamhoff](https://github.com/mamhoff))
|
|
66
|
+
- Add content editor data attributes based on name/id and css_classes presenter method [#1761](https://github.com/AlchemyCMS/alchemy_cms/pull/1761) ([mickenorlen](https://github.com/mickenorlen))
|
|
67
|
+
- Add alchemy.test to development domains [#1760](https://github.com/AlchemyCMS/alchemy_cms/pull/1760) ([tvdeyen](https://github.com/tvdeyen))
|
|
68
|
+
- Update Fontawesome [#1759](https://github.com/AlchemyCMS/alchemy_cms/pull/1759) ([tvdeyen](https://github.com/tvdeyen))
|
|
69
|
+
- Fix test coverage reporting [#1757](https://github.com/AlchemyCMS/alchemy_cms/pull/1757) ([tvdeyen](https://github.com/tvdeyen))
|
|
70
|
+
- Remove references to nonexistent "scaffold" generator [#1755](https://github.com/AlchemyCMS/alchemy_cms/pull/1755) ([mamhoff](https://github.com/mamhoff))
|
|
71
|
+
- Remove Tasks::Helper module [#1754](https://github.com/AlchemyCMS/alchemy_cms/pull/1754) ([mamhoff](https://github.com/mamhoff))
|
|
72
|
+
- Update rubocop [#1753](https://github.com/AlchemyCMS/alchemy_cms/pull/1753) ([tvdeyen](https://github.com/tvdeyen))
|
|
73
|
+
- chores: use same _old_ Rubo:cop: version as Hound [#1752](https://github.com/AlchemyCMS/alchemy_cms/pull/1752) ([alexanderadam](https://github.com/alexanderadam))
|
|
74
|
+
- Fix date comparison in resource feature spec [#1750](https://github.com/AlchemyCMS/alchemy_cms/pull/1750) ([tvdeyen](https://github.com/tvdeyen))
|
|
75
|
+
- Fail spec prepare task if sub command fails [#1749](https://github.com/AlchemyCMS/alchemy_cms/pull/1749) ([tvdeyen](https://github.com/tvdeyen))
|
|
76
|
+
- Add MySQL service as service [#1748](https://github.com/AlchemyCMS/alchemy_cms/pull/1748) ([mamhoff](https://github.com/mamhoff))
|
|
77
|
+
- Allow importing to a different port [#1747](https://github.com/AlchemyCMS/alchemy_cms/pull/1747) ([mamhoff](https://github.com/mamhoff))
|
|
78
|
+
- Sortable resources tables [#1744](https://github.com/AlchemyCMS/alchemy_cms/pull/1744) ([tvdeyen](https://github.com/tvdeyen))
|
|
79
|
+
- Fix update check spec [#1743](https://github.com/AlchemyCMS/alchemy_cms/pull/1743) ([tvdeyen](https://github.com/tvdeyen))
|
|
80
|
+
- Compress migrations [#1657](https://github.com/AlchemyCMS/alchemy_cms/pull/1657) ([tvdeyen](https://github.com/tvdeyen))
|
|
81
|
+
- Install Gutentag migrations while installing Alchemy [#1688](https://github.com/AlchemyCMS/alchemy_cms/pull/1688) ([tvdeyen](https://github.com/tvdeyen))
|
|
82
|
+
- Remove old upgrade tasks [#1687](https://github.com/AlchemyCMS/alchemy_cms/pull/1687) ([tvdeyen](https://github.com/tvdeyen))
|
|
83
|
+
- Remove deprecated features [#1686](https://github.com/AlchemyCMS/alchemy_cms/pull/1686) ([tvdeyen](https://github.com/tvdeyen))
|
|
84
|
+
- Remove deprecations [#1656](https://github.com/AlchemyCMS/alchemy_cms/pull/1656) ([tvdeyen](https://github.com/tvdeyen))
|
|
85
|
+
- Add element editor decorator [#1653](https://github.com/AlchemyCMS/alchemy_cms/pull/1653) ([tvdeyen](https://github.com/tvdeyen))
|
|
86
|
+
- Remove deprecated render_essence_* helpers [#1652](https://github.com/AlchemyCMS/alchemy_cms/pull/1652) ([tvdeyen](https://github.com/tvdeyen))
|
|
87
|
+
- Remove deprecated render element editor helpers [#1651](https://github.com/AlchemyCMS/alchemy_cms/pull/1651) ([tvdeyen](https://github.com/tvdeyen))
|
|
88
|
+
- Add ContentEditor decorator [#1645](https://github.com/AlchemyCMS/alchemy_cms/pull/1645) ([tvdeyen](https://github.com/tvdeyen))
|
|
89
|
+
- Remove local options from essence editors [#1638](https://github.com/AlchemyCMS/alchemy_cms/pull/1638) ([tvdeyen](https://github.com/tvdeyen))
|
|
33
90
|
|
|
34
91
|
## 4.6.1 (2020-06-04)
|
|
35
92
|
|
data/Gemfile
CHANGED
|
@@ -1,32 +1,34 @@
|
|
|
1
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
source "https://rubygems.org"
|
|
2
3
|
|
|
3
4
|
gemspec
|
|
4
5
|
|
|
5
|
-
rails_version = ENV.fetch(
|
|
6
|
-
gem
|
|
6
|
+
rails_version = ENV.fetch("RAILS_VERSION", 6.0).to_f
|
|
7
|
+
gem "rails", "~> #{rails_version}.0"
|
|
7
8
|
|
|
8
|
-
if ENV[
|
|
9
|
-
gem
|
|
9
|
+
if ENV["DB"].nil? || ENV["DB"] == "sqlite"
|
|
10
|
+
gem "sqlite3", "~> 1.4.1"
|
|
10
11
|
end
|
|
11
|
-
gem
|
|
12
|
-
gem
|
|
12
|
+
gem "mysql2", "~> 0.5.1" if ENV["DB"] == "mysql"
|
|
13
|
+
gem "pg", "~> 1.0" if ENV["DB"] == "postgresql"
|
|
13
14
|
|
|
14
15
|
group :development, :test do
|
|
15
|
-
if ENV[
|
|
16
|
-
gem
|
|
16
|
+
if ENV["GITHUB_ACTIONS"]
|
|
17
|
+
gem "sassc", "~> 2.4.0" # https://github.com/sass/sassc-ruby/issues/146
|
|
17
18
|
else
|
|
18
|
-
gem
|
|
19
|
-
gem
|
|
20
|
-
gem
|
|
21
|
-
gem
|
|
22
|
-
gem
|
|
23
|
-
gem
|
|
24
|
-
gem
|
|
25
|
-
gem
|
|
26
|
-
gem
|
|
27
|
-
gem
|
|
28
|
-
gem
|
|
29
|
-
gem
|
|
30
|
-
gem
|
|
19
|
+
gem "launchy"
|
|
20
|
+
gem "annotate"
|
|
21
|
+
gem "bumpy"
|
|
22
|
+
gem "yard"
|
|
23
|
+
gem "redcarpet"
|
|
24
|
+
gem "pry-byebug"
|
|
25
|
+
gem "rubocop", "~> 0.85.0", require: false
|
|
26
|
+
gem "listen"
|
|
27
|
+
gem "localeapp", "~> 3.0", require: false
|
|
28
|
+
gem "dotenv", "~> 2.2"
|
|
29
|
+
gem "github_fast_changelog", require: false
|
|
30
|
+
gem "active_record_query_trace", require: false
|
|
31
|
+
gem "rack-mini-profiler", require: false
|
|
32
|
+
gem "rufo", require: false
|
|
31
33
|
end
|
|
32
34
|
end
|
data/README.md
CHANGED
|
@@ -18,7 +18,7 @@ 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 master 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 (4.
|
|
21
|
+
**CAUTION: This master 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 (4.5-stable)](https://github.com/AlchemyCMS/alchemy_cms/tree/4.5-stable).**
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
## ✅ Features
|
|
@@ -51,8 +51,9 @@ or visit the existing demo at https://alchemy-demo.herokuapp.com
|
|
|
51
51
|
|
|
52
52
|
## 🚂 Rails Version
|
|
53
53
|
|
|
54
|
-
**This version of AlchemyCMS runs with
|
|
54
|
+
**This version of AlchemyCMS runs with Rails 5.2 and Rails 6.0**
|
|
55
55
|
|
|
56
|
+
* 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).
|
|
56
57
|
* For a Rails 4.2 compatible version use the [`3.6-stable` branch](https://github.com/AlchemyCMS/alchemy_cms/tree/3.6-stable).
|
|
57
58
|
* For a Rails 4.0/4.1 compatible version use the [`3.1-stable` branch](https://github.com/AlchemyCMS/alchemy_cms/tree/3.1-stable).
|
|
58
59
|
* For a Rails 3.2 compatible version use the [`2.8-stable` branch](https://github.com/AlchemyCMS/alchemy_cms/tree/2.8-stable).
|
|
@@ -78,23 +79,37 @@ For a Ruby 1.8.7 compatible version use the [`2.3-stable` branch](https://github
|
|
|
78
79
|
|
|
79
80
|
## ⌨️ Installation
|
|
80
81
|
|
|
81
|
-
|
|
82
|
+
### Stand Alone Installation
|
|
82
83
|
|
|
83
|
-
|
|
84
|
+
If you do not have a Rails project yet or just want to check out Alchemy, then use this Rails template.
|
|
84
85
|
|
|
85
|
-
|
|
86
|
-
|
|
86
|
+
Make sure you have Rails installed first:
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
$ gem install rails
|
|
87
90
|
```
|
|
88
91
|
|
|
89
|
-
|
|
92
|
+
Then create a new Rails project with:
|
|
90
93
|
|
|
91
|
-
|
|
94
|
+
```
|
|
95
|
+
$ rails new -m https://raw.githubusercontent.com/AlchemyCMS/rails-templates/master/all.rb <MY-PROJECT-NAME>
|
|
96
|
+
```
|
|
92
97
|
|
|
93
|
-
|
|
94
|
-
|
|
98
|
+
and follow the on screen instructions.
|
|
99
|
+
|
|
100
|
+
### Manual Installation
|
|
101
|
+
|
|
102
|
+
If you want to manually install Alchemy into your Rails project follow these steps.
|
|
103
|
+
|
|
104
|
+
#### Add the Alchemy gem:
|
|
105
|
+
|
|
106
|
+
Put Alchemy into your `Gemfile` with:
|
|
107
|
+
|
|
108
|
+
```
|
|
109
|
+
$ bundle add alchemy_cms
|
|
95
110
|
```
|
|
96
111
|
|
|
97
|
-
####
|
|
112
|
+
#### Set the authentication user
|
|
98
113
|
|
|
99
114
|
Now you have to decide, if you want to use your own user model or if you want to use
|
|
100
115
|
the Devise based user model that Alchemy provides and was extracted [into its own gem](https://github.com/AlchemyCMS/alchemy-devise).
|
|
@@ -103,17 +118,14 @@ the Devise based user model that Alchemy provides and was extracted [into its ow
|
|
|
103
118
|
|
|
104
119
|
If you don't have your own user class, you can use the Alchemy user model. Just add the following gem into your `Gemfile`:
|
|
105
120
|
|
|
106
|
-
```
|
|
107
|
-
|
|
121
|
+
```
|
|
122
|
+
$ bundle add alchemy-devise
|
|
108
123
|
```
|
|
109
124
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
Then run:
|
|
125
|
+
Then run the `alchemy-devise` installer:
|
|
113
126
|
|
|
114
127
|
```bash
|
|
115
|
-
$
|
|
116
|
-
$ bin/rake alchemy_devise:install:migrations
|
|
128
|
+
$ bin/rails g alchemy_devise:install
|
|
117
129
|
```
|
|
118
130
|
|
|
119
131
|
##### Use your User model
|
|
@@ -172,7 +184,7 @@ Alchemy has very flexible ways to organize and manage content. Please be sure to
|
|
|
172
184
|
|
|
173
185
|
### Custom Controllers
|
|
174
186
|
|
|
175
|
-
Beginning with Alchemy 3.1 we do not patch the `ApplicationController` anymore. If you have controllers that loads Alchemy content or uses Alchemy helpers in the views (i.e. `
|
|
187
|
+
Beginning with Alchemy 3.1 we do not patch the `ApplicationController` anymore. If you have controllers that loads Alchemy content or uses Alchemy helpers in the views (i.e. `render_menu` or `render_elements`) you can either inherit from `Alchemy::BaseController` or you `include Alchemy::ControllerActions` in your controller (**that's the recommended way**).
|
|
176
188
|
|
|
177
189
|
### Custom admin interface routing
|
|
178
190
|
|
data/Rakefile
CHANGED
|
@@ -39,14 +39,16 @@ namespace :alchemy do
|
|
|
39
39
|
namespace :spec do
|
|
40
40
|
desc "Prepares database for testing Alchemy"
|
|
41
41
|
task :prepare do
|
|
42
|
-
system
|
|
43
|
-
cd spec/dummy
|
|
44
|
-
export RAILS_ENV=test
|
|
45
|
-
bin/rake db:create
|
|
46
|
-
bin/rake db:environment:set
|
|
47
|
-
bin/rake db:migrate:reset
|
|
48
|
-
|
|
49
|
-
|
|
42
|
+
result = system <<~BASH
|
|
43
|
+
cd spec/dummy && \
|
|
44
|
+
export RAILS_ENV=test && \
|
|
45
|
+
bin/rake db:create && \
|
|
46
|
+
bin/rake db:environment:set && \
|
|
47
|
+
bin/rake db:migrate:reset && \
|
|
48
|
+
bin/rails g alchemy:install --skip --skip-demo-files && \
|
|
49
|
+
cd -
|
|
50
|
+
BASH
|
|
51
|
+
result || fail
|
|
50
52
|
end
|
|
51
53
|
end
|
|
52
54
|
|
data/alchemy_cms.gemspec
CHANGED
|
@@ -8,10 +8,10 @@ Gem::Specification.new do |gem|
|
|
|
8
8
|
gem.version = Alchemy::VERSION
|
|
9
9
|
gem.platform = Gem::Platform::RUBY
|
|
10
10
|
gem.authors = ['Thomas von Deyen', 'Robin Boening', 'Marc Schettke', 'Hendrik Mans', 'Carsten Fregin', 'Martin Meyerhoff']
|
|
11
|
-
gem.email = ['alchemy
|
|
11
|
+
gem.email = ['hello@alchemy-cms.com']
|
|
12
12
|
gem.homepage = 'https://alchemy-cms.com'
|
|
13
|
-
gem.summary = 'A powerful, userfriendly and flexible CMS for Rails
|
|
14
|
-
gem.description = 'Alchemy is a powerful, userfriendly and flexible Rails
|
|
13
|
+
gem.summary = 'A powerful, userfriendly and flexible CMS for Rails'
|
|
14
|
+
gem.description = 'Alchemy is a powerful, userfriendly and flexible Rails CMS.'
|
|
15
15
|
gem.requirements << 'ImageMagick (libmagick), v6.6 or greater.'
|
|
16
16
|
gem.required_ruby_version = '>= 2.3.0'
|
|
17
17
|
gem.license = 'BSD New'
|
|
@@ -23,7 +23,7 @@ Gem::Specification.new do |gem|
|
|
|
23
23
|
gem.add_runtime_dependency 'awesome_nested_set', ['~> 3.1']
|
|
24
24
|
gem.add_runtime_dependency 'cancancan', ['>= 2.1', '< 4.0']
|
|
25
25
|
gem.add_runtime_dependency 'coffee-rails', ['~> 4.0', '< 5.0']
|
|
26
|
-
gem.add_runtime_dependency 'dragonfly', ['
|
|
26
|
+
gem.add_runtime_dependency 'dragonfly', ['~> 1.0', '>= 1.0.7']
|
|
27
27
|
gem.add_runtime_dependency 'dragonfly_svg', ['~> 0.0.4']
|
|
28
28
|
gem.add_runtime_dependency 'gutentag', ['~> 2.2', '>= 2.2.1']
|
|
29
29
|
gem.add_runtime_dependency 'handlebars_assets', ['~> 0.23']
|
|
@@ -32,7 +32,7 @@ Gem::Specification.new do |gem|
|
|
|
32
32
|
gem.add_runtime_dependency 'kaminari', ['~> 1.1']
|
|
33
33
|
gem.add_runtime_dependency 'originator', ['~> 3.1']
|
|
34
34
|
gem.add_runtime_dependency 'non-stupid-digest-assets', ['~> 1.0.8']
|
|
35
|
-
gem.add_runtime_dependency 'rails', ['>= 5.
|
|
35
|
+
gem.add_runtime_dependency 'rails', ['>= 5.2.0', '< 6.1']
|
|
36
36
|
gem.add_runtime_dependency 'ransack', ['>= 1.8', '< 3.0']
|
|
37
37
|
gem.add_runtime_dependency 'request_store', ['~> 1.2']
|
|
38
38
|
gem.add_runtime_dependency 'responders', ['>= 2.0', '< 4.0']
|
|
@@ -41,6 +41,7 @@ Gem::Specification.new do |gem|
|
|
|
41
41
|
gem.add_runtime_dependency 'simple_form', ['>= 4.0', '< 6']
|
|
42
42
|
gem.add_runtime_dependency 'sprockets', ['>= 3.0', '< 5']
|
|
43
43
|
gem.add_runtime_dependency 'turbolinks', ['>= 2.5']
|
|
44
|
+
gem.add_runtime_dependency 'webpacker', ['>= 4.0', '< 6']
|
|
44
45
|
|
|
45
46
|
gem.add_development_dependency 'capybara', ['~> 3.0']
|
|
46
47
|
gem.add_development_dependency 'capybara-screenshot', ['~> 1.0']
|
|
@@ -15,10 +15,8 @@
|
|
|
15
15
|
//= require requestAnimationFrame
|
|
16
16
|
//= require select2
|
|
17
17
|
//= require handlebars
|
|
18
|
-
//= require sortable/Sortable.min
|
|
19
18
|
//= require alchemy/templates
|
|
20
19
|
//= require alchemy/alchemy.base
|
|
21
|
-
//= require alchemy/alchemy.utils
|
|
22
20
|
//= require alchemy/alchemy.autocomplete
|
|
23
21
|
//= require alchemy/alchemy.browser
|
|
24
22
|
//= require alchemy/alchemy.buttons
|
|
@@ -34,14 +32,12 @@
|
|
|
34
32
|
//= require alchemy/alchemy.growler
|
|
35
33
|
//= require alchemy/alchemy.gui
|
|
36
34
|
//= require alchemy/alchemy.hotkeys
|
|
37
|
-
//= require alchemy/alchemy.i18n
|
|
38
35
|
//= require alchemy/alchemy.image_cropper
|
|
39
36
|
//= require alchemy/alchemy.image_overlay
|
|
40
37
|
//= require alchemy/alchemy.string_extension
|
|
41
38
|
//= require alchemy/alchemy.link_dialog
|
|
42
39
|
//= require alchemy/alchemy.list_filter
|
|
43
40
|
//= require alchemy/alchemy.initializer
|
|
44
|
-
//= require alchemy/alchemy.node_tree
|
|
45
41
|
//= require alchemy/alchemy.page_sorter
|
|
46
42
|
//= require alchemy/alchemy.uploader
|
|
47
43
|
//= require alchemy/alchemy.preview_window
|
|
@@ -49,6 +45,6 @@
|
|
|
49
45
|
//= require alchemy/alchemy.spinner
|
|
50
46
|
//= require alchemy/alchemy.tinymce
|
|
51
47
|
//= require alchemy/alchemy.tooltips
|
|
52
|
-
//= require alchemy/alchemy.translations
|
|
53
48
|
//= require alchemy/alchemy.trash_window
|
|
54
49
|
//= require alchemy/page_select
|
|
50
|
+
//= require alchemy/node_select
|
|
@@ -62,9 +62,10 @@ $.extend Alchemy,
|
|
|
62
62
|
removePicture: (selector) ->
|
|
63
63
|
$form_field = $(selector)
|
|
64
64
|
$element = $form_field.closest(".element-editor")
|
|
65
|
+
$content = $form_field.closest(".content_editor")
|
|
65
66
|
if $form_field[0]
|
|
66
67
|
$form_field.val ""
|
|
67
|
-
$
|
|
68
|
+
$content.find(".thumbnail_background").html('<i class="icon far fa-image fa-fw"/>')
|
|
68
69
|
Alchemy.setElementDirty $element
|
|
69
70
|
false
|
|
70
71
|
|