alchemy_cms 8.0.7 → 8.1.1
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/README.md +14 -10
- data/app/assets/builds/alchemy/admin.css +1 -1
- data/app/assets/builds/alchemy/dark-theme.css +1 -1
- data/app/assets/builds/alchemy/light-theme.css +1 -1
- data/app/assets/builds/alchemy/preview.min.js +1 -1
- data/app/assets/builds/alchemy/theme.css +1 -1
- data/app/{views/alchemy/admin/elements/_element.html.erb → components/alchemy/admin/element_editor.html.erb} +34 -29
- data/app/components/alchemy/admin/element_editor.rb +115 -0
- data/app/components/alchemy/admin/element_select.rb +12 -9
- data/app/components/alchemy/admin/ingredient_editor.rb +54 -0
- data/app/components/alchemy/admin/list_filter.rb +16 -5
- data/app/components/alchemy/admin/page_node.html.erb +215 -0
- data/app/components/alchemy/admin/page_node.rb +70 -0
- data/app/components/alchemy/admin/picture_thumbnail.rb +36 -0
- data/app/components/alchemy/admin/publish_page_button.html.erb +15 -0
- data/app/components/alchemy/admin/publish_page_button.rb +54 -0
- data/app/{helpers/alchemy/admin/tags_helper.rb → components/alchemy/admin/tags_list.rb} +19 -11
- data/app/components/alchemy/admin/toolbar_button.rb +16 -12
- data/app/components/alchemy/ingredients/audio_editor.rb +8 -0
- data/app/components/alchemy/ingredients/base_editor.rb +222 -0
- data/app/components/alchemy/ingredients/boolean_editor.rb +21 -0
- data/app/components/alchemy/ingredients/color_editor.rb +80 -0
- data/app/components/alchemy/ingredients/color_view.rb +13 -0
- data/app/components/alchemy/ingredients/datetime_editor.rb +28 -0
- data/app/components/alchemy/ingredients/file_editor.rb +69 -0
- data/app/components/alchemy/ingredients/headline_editor.rb +88 -0
- data/app/components/alchemy/ingredients/html_editor.rb +11 -0
- data/app/components/alchemy/ingredients/link_editor.rb +29 -0
- data/app/components/alchemy/ingredients/node_editor.rb +23 -0
- data/app/components/alchemy/ingredients/number_editor.rb +28 -0
- data/app/components/alchemy/ingredients/page_editor.rb +19 -0
- data/app/components/alchemy/ingredients/picture_editor.rb +81 -0
- data/app/components/alchemy/ingredients/richtext_editor.rb +31 -0
- data/app/components/alchemy/ingredients/select_editor.rb +37 -0
- data/app/components/alchemy/ingredients/select_view.rb +7 -0
- data/app/components/alchemy/ingredients/text_editor.rb +41 -0
- data/app/components/alchemy/ingredients/video_editor.rb +8 -0
- data/app/controllers/alchemy/admin/attachments_controller.rb +8 -6
- data/app/controllers/alchemy/admin/base_controller.rb +7 -18
- data/app/controllers/alchemy/admin/clipboard_controller.rb +15 -11
- data/app/controllers/alchemy/admin/dashboard_controller.rb +2 -2
- data/app/controllers/alchemy/admin/elements_controller.rb +34 -32
- data/app/controllers/alchemy/admin/ingredients_controller.rb +1 -0
- data/app/controllers/alchemy/admin/layoutpages_controller.rb +2 -1
- data/app/controllers/alchemy/admin/legacy_page_urls_controller.rb +1 -1
- data/app/controllers/alchemy/admin/nodes_controller.rb +24 -1
- data/app/controllers/alchemy/admin/pages_controller.rb +31 -41
- data/app/controllers/alchemy/admin/pictures_controller.rb +2 -5
- data/app/controllers/alchemy/admin/resources_controller.rb +1 -1
- data/app/controllers/alchemy/api/ingredients_controller.rb +1 -1
- data/app/controllers/alchemy/api/pages_controller.rb +5 -3
- data/app/controllers/alchemy/base_controller.rb +6 -6
- data/app/controllers/alchemy/pages_controller.rb +12 -6
- data/app/controllers/concerns/alchemy/admin/archive_overlay.rb +0 -1
- data/app/controllers/concerns/alchemy/admin/clipboard.rb +57 -0
- data/app/controllers/concerns/alchemy/admin/uploader_responses.rb +2 -2
- data/app/controllers/concerns/alchemy/site_redirects.rb +1 -1
- data/app/decorators/alchemy/ingredient_editor.rb +37 -4
- data/app/helpers/alchemy/admin/base_helper.rb +10 -6
- data/app/helpers/alchemy/admin/ingredients_helper.rb +6 -3
- data/app/helpers/alchemy/base_helper.rb +1 -1
- data/app/helpers/alchemy/pages_helper.rb +1 -1
- data/app/javascript/alchemy_admin/components/action.js +5 -1
- data/app/javascript/alchemy_admin/components/color_select.js +73 -0
- data/app/javascript/alchemy_admin/components/element_editor/delete_element_button.js +11 -3
- data/app/javascript/alchemy_admin/components/element_editor/publish_element_button.js +7 -2
- data/app/javascript/alchemy_admin/components/element_editor.js +11 -12
- data/app/javascript/alchemy_admin/components/element_select.js +39 -17
- data/app/javascript/alchemy_admin/components/elements_window.js +0 -2
- data/app/javascript/alchemy_admin/components/file_editor.js +26 -0
- data/app/javascript/alchemy_admin/components/index.js +9 -0
- data/app/javascript/alchemy_admin/components/list_filter.js +57 -8
- data/app/javascript/alchemy_admin/components/message.js +9 -3
- data/app/javascript/alchemy_admin/components/page_node.js +119 -0
- data/app/javascript/alchemy_admin/{page_publication_fields.js → components/page_publication_fields.js} +9 -8
- data/app/javascript/alchemy_admin/{picture_editors.js → components/picture_editor.js} +30 -45
- data/app/javascript/alchemy_admin/components/picture_thumbnail.js +107 -0
- data/app/javascript/alchemy_admin/components/publish_page_button.js +41 -0
- data/app/javascript/alchemy_admin/components/select.js +3 -1
- data/app/javascript/alchemy_admin/components/sitemap.js +210 -0
- data/app/javascript/alchemy_admin/{sortable_elements.js → components/sortable_elements.js} +22 -25
- data/app/javascript/alchemy_admin/components/tinymce.js +10 -5
- data/app/javascript/alchemy_admin/components/update_check.js +1 -1
- data/app/javascript/alchemy_admin/components/uploader.js +30 -0
- data/app/javascript/alchemy_admin/image_overlay.js +0 -2
- data/app/javascript/alchemy_admin/initializer.js +0 -3
- data/app/javascript/alchemy_admin/templates/compiled.js +1 -1
- data/app/javascript/alchemy_admin/utils/ajax.js +15 -3
- data/app/javascript/alchemy_admin.js +0 -6
- data/app/models/alchemy/attachment.rb +4 -4
- data/app/models/alchemy/element/definitions.rb +1 -2
- data/app/models/alchemy/element/element_ingredients.rb +6 -2
- data/app/models/alchemy/element.rb +54 -13
- data/app/models/alchemy/element_definition.rb +4 -1
- data/app/models/alchemy/elements_repository.rb +6 -0
- data/app/models/alchemy/folded_page.rb +2 -2
- data/app/models/alchemy/ingredient.rb +38 -1
- data/app/models/alchemy/ingredient_definition.rb +4 -1
- data/app/models/alchemy/ingredient_validator.rb +6 -2
- data/app/models/alchemy/ingredients/color.rb +10 -0
- data/app/models/alchemy/ingredients/headline.rb +2 -17
- data/app/models/alchemy/ingredients/picture.rb +4 -4
- data/app/models/alchemy/ingredients/select.rb +19 -0
- data/app/models/alchemy/node.rb +28 -1
- data/app/models/alchemy/page/page_naming.rb +0 -7
- data/app/models/alchemy/page/page_natures.rb +7 -3
- data/app/models/alchemy/page/page_scopes.rb +1 -1
- data/app/models/alchemy/page/publisher.rb +14 -2
- data/app/models/alchemy/page.rb +102 -23
- data/app/models/alchemy/page_definition.rb +4 -1
- data/app/models/alchemy/page_version.rb +22 -6
- data/app/models/alchemy/picture.rb +10 -11
- data/app/models/alchemy/picture_variant.rb +1 -3
- data/app/models/alchemy/resource.rb +1 -1
- data/app/models/alchemy/storage_adapter/active_storage.rb +14 -2
- data/app/models/alchemy/storage_adapter/dragonfly.rb +12 -0
- data/app/models/alchemy/storage_adapter.rb +2 -0
- data/app/models/concerns/alchemy/picture_thumbnails.rb +4 -4
- data/app/models/concerns/alchemy/publishable.rb +54 -0
- data/app/serializers/alchemy/page_tree_serializer.rb +11 -31
- data/app/services/alchemy/copy_page.rb +17 -0
- data/app/services/alchemy/duplicate_element.rb +1 -1
- data/app/services/alchemy/page_tree_preloader.rb +105 -0
- data/app/stylesheets/alchemy/_extends.scss +3 -9
- data/app/stylesheets/alchemy/_mixins.scss +3 -1
- data/app/stylesheets/alchemy/_themes.scss +19 -10
- data/app/stylesheets/alchemy/admin/archive.scss +1 -0
- data/app/stylesheets/alchemy/admin/base.scss +5 -2
- data/app/stylesheets/alchemy/admin/buttons.scss +3 -3
- data/app/stylesheets/alchemy/admin/element-select.scss +18 -0
- data/app/stylesheets/alchemy/admin/elements.scss +123 -23
- data/app/stylesheets/alchemy/admin/errors.scss +17 -9
- data/app/stylesheets/alchemy/admin/flash.scss +6 -4
- data/app/stylesheets/alchemy/admin/images.scss +9 -5
- data/app/stylesheets/alchemy/admin/list_filter.scss +4 -4
- data/app/stylesheets/alchemy/admin/notices.scss +1 -2
- data/app/stylesheets/alchemy/admin/selects.scss +36 -21
- data/app/stylesheets/alchemy/admin/shoelace.scss +14 -1
- data/app/stylesheets/alchemy/admin/sitemap.scss +11 -3
- data/app/stylesheets/alchemy/admin/tags.scss +3 -1
- data/app/stylesheets/alchemy/admin/toolbar.scss +1 -1
- data/app/views/alchemy/_edit_mode.html.erb +1 -1
- data/app/views/alchemy/_menubar.html.erb +1 -1
- data/app/views/alchemy/admin/attachments/_archive_overlay.html.erb +35 -31
- data/app/views/alchemy/admin/attachments/_library_sidebar.html.erb +6 -0
- data/app/views/alchemy/admin/attachments/_overlay_file_list.html.erb +1 -1
- data/app/views/alchemy/admin/attachments/_replace_button.html.erb +1 -8
- data/app/views/alchemy/admin/attachments/_sorting_select.html.erb +13 -0
- data/app/views/alchemy/admin/attachments/_tag_list.html.erb +2 -3
- data/app/views/alchemy/admin/attachments/index.html.erb +5 -11
- data/app/views/alchemy/admin/attachments/show.html.erb +1 -1
- data/app/views/alchemy/admin/clipboard/_button.html.erb +1 -0
- data/app/views/alchemy/admin/clipboard/index.html.erb +4 -5
- data/app/views/alchemy/admin/clipboard/insert.turbo_stream.erb +1 -1
- data/app/views/alchemy/admin/crop.html.erb +5 -7
- data/app/views/alchemy/admin/elements/_add_nested_element_form.html.erb +6 -6
- data/app/views/alchemy/admin/elements/_fixed_element.html.erb +1 -1
- data/app/views/alchemy/admin/elements/_footer.html.erb +7 -1
- data/app/views/alchemy/admin/elements/_header.html.erb +5 -5
- data/app/views/alchemy/admin/elements/_toolbar.html.erb +33 -8
- data/app/views/alchemy/admin/elements/create.turbo_stream.erb +10 -10
- data/app/views/alchemy/admin/elements/index.html.erb +29 -16
- data/app/views/alchemy/admin/elements/new.html.erb +2 -2
- data/app/views/alchemy/admin/ingredients/update.turbo_stream.erb +3 -5
- data/app/views/alchemy/admin/leave.html.erb +1 -1
- data/app/views/alchemy/admin/nodes/_node.html.erb +19 -0
- data/app/views/alchemy/admin/nodes/edit.html.erb +1 -1
- data/app/views/alchemy/admin/nodes/index.html.erb +3 -1
- data/app/views/alchemy/admin/nodes/new.html.erb +14 -1
- data/app/views/alchemy/admin/pages/_current_page.html.erb +3 -1
- data/app/views/alchemy/admin/pages/_form.html.erb +21 -9
- data/app/views/alchemy/admin/pages/_page_status.html.erb +1 -1
- data/app/views/alchemy/admin/pages/_publication_fields.html.erb +28 -26
- data/app/views/alchemy/admin/pages/_table.html.erb +0 -7
- data/app/views/alchemy/admin/pages/_toolbar.html.erb +3 -5
- data/app/views/alchemy/admin/pages/edit.html.erb +5 -11
- data/app/views/alchemy/admin/pages/flush.turbo_stream.erb +2 -0
- data/app/views/alchemy/admin/pages/fold.turbo_stream.erb +5 -0
- data/app/views/alchemy/admin/pages/index.html.erb +5 -3
- data/app/views/alchemy/admin/pages/new.html.erb +2 -12
- data/app/views/alchemy/admin/pages/publish.turbo_stream.erb +12 -0
- data/app/views/alchemy/admin/pages/tree.html.erb +13 -0
- data/app/views/alchemy/admin/pages/update.turbo_stream.erb +5 -16
- data/app/views/alchemy/admin/partials/_flash_notices.html.erb +1 -1
- data/app/views/alchemy/admin/partials/{_remote_search_form.html.erb → _overlay_search_form.html.erb} +1 -2
- data/app/views/alchemy/admin/partials/_paste_from_clipboard_form.html.erb +12 -0
- data/app/views/alchemy/admin/pictures/_archive_overlay.html.erb +24 -21
- data/app/views/alchemy/admin/pictures/_filter_and_size_bar.html.erb +18 -26
- data/app/views/alchemy/admin/pictures/_picture.html.erb +11 -15
- data/app/views/alchemy/admin/pictures/_picture_to_assign.html.erb +3 -6
- data/app/views/alchemy/admin/pictures/_tag_list.html.erb +2 -3
- data/app/views/alchemy/admin/pictures/index.html.erb +0 -1
- data/app/views/alchemy/admin/pictures/update.turbo_stream.erb +1 -1
- data/app/views/alchemy/admin/resources/_resource_usage_info.html.erb +1 -1
- data/app/views/alchemy/admin/resources/_tag_list.html.erb +2 -3
- data/app/views/alchemy/admin/styleguide/index.html.erb +25 -20
- data/app/views/alchemy/admin/tags/edit.html.erb +1 -1
- data/app/views/alchemy/admin/tinymce/_setup.html.erb +2 -2
- data/app/views/alchemy/admin/uploader/_button.html.erb +1 -15
- data/app/views/alchemy/attachments/show.html.erb +1 -1
- data/app/views/alchemy/base/permission_denied.js.erb +1 -1
- data/app/views/alchemy/ingredients/shared/_anchor.html.erb +9 -7
- data/app/views/alchemy/ingredients/shared/_link_tools.html.erb +12 -5
- data/app/views/alchemy/ingredients/shared/_picture_tools.html.erb +10 -11
- data/app/views/alchemy/language_links/_spacer.html.erb +1 -1
- data/app/views/alchemy/messages_mailer/new.html.erb +1 -1
- data/app/views/alchemy/welcome.html.erb +1 -1
- data/config/locales/alchemy.en.yml +12 -2
- data/config/routes.rb +2 -2
- data/db/migrate/20230123112425_add_searchable_to_alchemy_pages.rb +1 -1
- data/db/migrate/20230505132743_add_indexes_to_alchemy_pictures.rb +1 -1
- data/db/migrate/20231113104432_create_page_mutexes.rb +1 -1
- data/db/migrate/20240314105244_create_alchemy_picture_descriptions.rb +1 -1
- data/db/migrate/20250626160259_add_unique_index_to_picture_descriptions.rb +1 -1
- data/db/migrate/20250905140323_add_created_at_index_to_pictures_and_attachments.rb +1 -1
- data/db/migrate/20251106150010_convert_select_value_for_multiple.rb +11 -0
- data/db/migrate/20260102121232_add_metadata_to_page_versions.rb +9 -0
- data/db/migrate/20260115164704_add_publication_timestamps_to_alchemy_elements.rb +30 -0
- data/db/migrate/20260115164705_add_index_to_element_publication_timestamps.rb +13 -0
- data/lib/alchemy/ability_helper.rb +1 -3
- data/lib/alchemy/auth_accessors.rb +51 -117
- data/lib/alchemy/configuration.rb +1 -0
- data/lib/alchemy/configurations/main.rb +63 -0
- data/lib/alchemy/controller_actions.rb +1 -1
- data/lib/alchemy/engine.rb +9 -12
- data/lib/alchemy/error_tracking/error_logger.rb +1 -1
- data/lib/alchemy/errors.rb +1 -1
- data/lib/alchemy/logger.rb +34 -4
- data/lib/alchemy/name_conversions.rb +0 -6
- data/lib/alchemy/seeder.rb +2 -2
- data/lib/alchemy/tasks/usage.rb +4 -4
- data/lib/alchemy/test_support/factories/page_version_factory.rb +3 -0
- data/lib/alchemy/test_support/having_picture_thumbnails_examples.rb +30 -0
- data/lib/alchemy/test_support/shared_ingredient_editor_examples.rb +26 -6
- data/lib/alchemy/test_support/shared_publishable_examples.rb +114 -0
- data/lib/alchemy/upgrader/eight_one.rb +56 -0
- data/lib/alchemy/upgrader.rb +9 -1
- data/lib/alchemy/version.rb +1 -1
- data/lib/alchemy.rb +1 -4
- data/lib/alchemy_cms.rb +0 -1
- data/lib/generators/alchemy/elements/templates/view.html.erb +3 -3
- data/lib/generators/alchemy/ingredient/ingredient_generator.rb +6 -8
- data/lib/generators/alchemy/ingredient/templates/editor_component.rb.tt +22 -0
- data/lib/generators/alchemy/page_layouts/templates/layout.html.erb +1 -1
- data/lib/generators/alchemy/site_layouts/templates/layout.html.erb +1 -1
- data/lib/tasks/alchemy/upgrade.rake +21 -7
- data/vendor/javascript/shoelace.min.js +713 -31
- data/vendor/javascript/tinymce.min.js +1 -1
- metadata +103 -83
- data/app/decorators/alchemy/element_editor.rb +0 -90
- data/app/helpers/alchemy/admin/pictures_helper.rb +0 -14
- data/app/javascript/alchemy_admin/file_editors.js +0 -28
- data/app/javascript/alchemy_admin/image_loader.js +0 -54
- data/app/javascript/alchemy_admin/page_sorter.js +0 -71
- data/app/javascript/alchemy_admin/sitemap.js +0 -154
- data/app/javascript/alchemy_admin/templates/page_folder.hbs +0 -3
- data/app/views/alchemy/admin/attachments/archive_overlay.js.erb +0 -4
- data/app/views/alchemy/admin/pages/_page.html.erb +0 -163
- data/app/views/alchemy/admin/pages/_sitemap.html.erb +0 -30
- data/app/views/alchemy/admin/pages/flush.js.erb +0 -2
- data/app/views/alchemy/admin/pictures/archive_overlay.js.erb +0 -5
- data/app/views/alchemy/admin/pictures/index.js.erb +0 -2
- data/app/views/alchemy/ingredients/_audio_editor.html.erb +0 -5
- data/app/views/alchemy/ingredients/_boolean_editor.html.erb +0 -11
- data/app/views/alchemy/ingredients/_datetime_editor.html.erb +0 -20
- data/app/views/alchemy/ingredients/_file_editor.html.erb +0 -52
- data/app/views/alchemy/ingredients/_headline_editor.html.erb +0 -44
- data/app/views/alchemy/ingredients/_html_editor.html.erb +0 -8
- data/app/views/alchemy/ingredients/_link_editor.html.erb +0 -30
- data/app/views/alchemy/ingredients/_node_editor.html.erb +0 -13
- data/app/views/alchemy/ingredients/_number_editor.html.erb +0 -24
- data/app/views/alchemy/ingredients/_page_editor.html.erb +0 -13
- data/app/views/alchemy/ingredients/_picture_editor.html.erb +0 -59
- data/app/views/alchemy/ingredients/_richtext_editor.html.erb +0 -15
- data/app/views/alchemy/ingredients/_select_editor.html.erb +0 -31
- data/app/views/alchemy/ingredients/_text_editor.html.erb +0 -29
- data/app/views/alchemy/ingredients/_video_editor.html.erb +0 -5
- data/lib/generators/alchemy/ingredient/templates/editor.html.erb +0 -14
- /data/{lib → app/models}/alchemy/permissions.rb +0 -0
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: alchemy_cms
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 8.
|
|
4
|
+
version: 8.1.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Thomas von Deyen
|
|
@@ -20,180 +20,180 @@ dependencies:
|
|
|
20
20
|
requirements:
|
|
21
21
|
- - ">="
|
|
22
22
|
- !ruby/object:Gem::Version
|
|
23
|
-
version: '7.
|
|
23
|
+
version: '7.2'
|
|
24
24
|
- - "<"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: '8.
|
|
26
|
+
version: '8.2'
|
|
27
27
|
type: :runtime
|
|
28
28
|
prerelease: false
|
|
29
29
|
version_requirements: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
31
|
- - ">="
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '7.
|
|
33
|
+
version: '7.2'
|
|
34
34
|
- - "<"
|
|
35
35
|
- !ruby/object:Gem::Version
|
|
36
|
-
version: '8.
|
|
36
|
+
version: '8.2'
|
|
37
37
|
- !ruby/object:Gem::Dependency
|
|
38
38
|
name: actionpack
|
|
39
39
|
requirement: !ruby/object:Gem::Requirement
|
|
40
40
|
requirements:
|
|
41
41
|
- - ">="
|
|
42
42
|
- !ruby/object:Gem::Version
|
|
43
|
-
version: '7.
|
|
43
|
+
version: '7.2'
|
|
44
44
|
- - "<"
|
|
45
45
|
- !ruby/object:Gem::Version
|
|
46
|
-
version: '8.
|
|
46
|
+
version: '8.2'
|
|
47
47
|
type: :runtime
|
|
48
48
|
prerelease: false
|
|
49
49
|
version_requirements: !ruby/object:Gem::Requirement
|
|
50
50
|
requirements:
|
|
51
51
|
- - ">="
|
|
52
52
|
- !ruby/object:Gem::Version
|
|
53
|
-
version: '7.
|
|
53
|
+
version: '7.2'
|
|
54
54
|
- - "<"
|
|
55
55
|
- !ruby/object:Gem::Version
|
|
56
|
-
version: '8.
|
|
56
|
+
version: '8.2'
|
|
57
57
|
- !ruby/object:Gem::Dependency
|
|
58
58
|
name: actionview
|
|
59
59
|
requirement: !ruby/object:Gem::Requirement
|
|
60
60
|
requirements:
|
|
61
61
|
- - ">="
|
|
62
62
|
- !ruby/object:Gem::Version
|
|
63
|
-
version: '7.
|
|
63
|
+
version: '7.2'
|
|
64
64
|
- - "<"
|
|
65
65
|
- !ruby/object:Gem::Version
|
|
66
|
-
version: '8.
|
|
66
|
+
version: '8.2'
|
|
67
67
|
type: :runtime
|
|
68
68
|
prerelease: false
|
|
69
69
|
version_requirements: !ruby/object:Gem::Requirement
|
|
70
70
|
requirements:
|
|
71
71
|
- - ">="
|
|
72
72
|
- !ruby/object:Gem::Version
|
|
73
|
-
version: '7.
|
|
73
|
+
version: '7.2'
|
|
74
74
|
- - "<"
|
|
75
75
|
- !ruby/object:Gem::Version
|
|
76
|
-
version: '8.
|
|
76
|
+
version: '8.2'
|
|
77
77
|
- !ruby/object:Gem::Dependency
|
|
78
78
|
name: activejob
|
|
79
79
|
requirement: !ruby/object:Gem::Requirement
|
|
80
80
|
requirements:
|
|
81
81
|
- - ">="
|
|
82
82
|
- !ruby/object:Gem::Version
|
|
83
|
-
version: '7.
|
|
83
|
+
version: '7.2'
|
|
84
84
|
- - "<"
|
|
85
85
|
- !ruby/object:Gem::Version
|
|
86
|
-
version: '8.
|
|
86
|
+
version: '8.2'
|
|
87
87
|
type: :runtime
|
|
88
88
|
prerelease: false
|
|
89
89
|
version_requirements: !ruby/object:Gem::Requirement
|
|
90
90
|
requirements:
|
|
91
91
|
- - ">="
|
|
92
92
|
- !ruby/object:Gem::Version
|
|
93
|
-
version: '7.
|
|
93
|
+
version: '7.2'
|
|
94
94
|
- - "<"
|
|
95
95
|
- !ruby/object:Gem::Version
|
|
96
|
-
version: '8.
|
|
96
|
+
version: '8.2'
|
|
97
97
|
- !ruby/object:Gem::Dependency
|
|
98
98
|
name: activemodel
|
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
|
100
100
|
requirements:
|
|
101
101
|
- - ">="
|
|
102
102
|
- !ruby/object:Gem::Version
|
|
103
|
-
version: '7.
|
|
103
|
+
version: '7.2'
|
|
104
104
|
- - "<"
|
|
105
105
|
- !ruby/object:Gem::Version
|
|
106
|
-
version: '8.
|
|
106
|
+
version: '8.2'
|
|
107
107
|
type: :runtime
|
|
108
108
|
prerelease: false
|
|
109
109
|
version_requirements: !ruby/object:Gem::Requirement
|
|
110
110
|
requirements:
|
|
111
111
|
- - ">="
|
|
112
112
|
- !ruby/object:Gem::Version
|
|
113
|
-
version: '7.
|
|
113
|
+
version: '7.2'
|
|
114
114
|
- - "<"
|
|
115
115
|
- !ruby/object:Gem::Version
|
|
116
|
-
version: '8.
|
|
116
|
+
version: '8.2'
|
|
117
117
|
- !ruby/object:Gem::Dependency
|
|
118
118
|
name: activerecord
|
|
119
119
|
requirement: !ruby/object:Gem::Requirement
|
|
120
120
|
requirements:
|
|
121
121
|
- - ">="
|
|
122
122
|
- !ruby/object:Gem::Version
|
|
123
|
-
version: '7.
|
|
123
|
+
version: '7.2'
|
|
124
124
|
- - "<"
|
|
125
125
|
- !ruby/object:Gem::Version
|
|
126
|
-
version: '8.
|
|
126
|
+
version: '8.2'
|
|
127
127
|
type: :runtime
|
|
128
128
|
prerelease: false
|
|
129
129
|
version_requirements: !ruby/object:Gem::Requirement
|
|
130
130
|
requirements:
|
|
131
131
|
- - ">="
|
|
132
132
|
- !ruby/object:Gem::Version
|
|
133
|
-
version: '7.
|
|
133
|
+
version: '7.2'
|
|
134
134
|
- - "<"
|
|
135
135
|
- !ruby/object:Gem::Version
|
|
136
|
-
version: '8.
|
|
136
|
+
version: '8.2'
|
|
137
137
|
- !ruby/object:Gem::Dependency
|
|
138
138
|
name: activestorage
|
|
139
139
|
requirement: !ruby/object:Gem::Requirement
|
|
140
140
|
requirements:
|
|
141
141
|
- - ">="
|
|
142
142
|
- !ruby/object:Gem::Version
|
|
143
|
-
version: '7.
|
|
143
|
+
version: '7.2'
|
|
144
144
|
- - "<"
|
|
145
145
|
- !ruby/object:Gem::Version
|
|
146
|
-
version: '8.
|
|
146
|
+
version: '8.2'
|
|
147
147
|
type: :runtime
|
|
148
148
|
prerelease: false
|
|
149
149
|
version_requirements: !ruby/object:Gem::Requirement
|
|
150
150
|
requirements:
|
|
151
151
|
- - ">="
|
|
152
152
|
- !ruby/object:Gem::Version
|
|
153
|
-
version: '7.
|
|
153
|
+
version: '7.2'
|
|
154
154
|
- - "<"
|
|
155
155
|
- !ruby/object:Gem::Version
|
|
156
|
-
version: '8.
|
|
156
|
+
version: '8.2'
|
|
157
157
|
- !ruby/object:Gem::Dependency
|
|
158
158
|
name: activesupport
|
|
159
159
|
requirement: !ruby/object:Gem::Requirement
|
|
160
160
|
requirements:
|
|
161
161
|
- - ">="
|
|
162
162
|
- !ruby/object:Gem::Version
|
|
163
|
-
version: '7.
|
|
163
|
+
version: '7.2'
|
|
164
164
|
- - "<"
|
|
165
165
|
- !ruby/object:Gem::Version
|
|
166
|
-
version: '8.
|
|
166
|
+
version: '8.2'
|
|
167
167
|
type: :runtime
|
|
168
168
|
prerelease: false
|
|
169
169
|
version_requirements: !ruby/object:Gem::Requirement
|
|
170
170
|
requirements:
|
|
171
171
|
- - ">="
|
|
172
172
|
- !ruby/object:Gem::Version
|
|
173
|
-
version: '7.
|
|
173
|
+
version: '7.2'
|
|
174
174
|
- - "<"
|
|
175
175
|
- !ruby/object:Gem::Version
|
|
176
|
-
version: '8.
|
|
176
|
+
version: '8.2'
|
|
177
177
|
- !ruby/object:Gem::Dependency
|
|
178
178
|
name: railties
|
|
179
179
|
requirement: !ruby/object:Gem::Requirement
|
|
180
180
|
requirements:
|
|
181
181
|
- - ">="
|
|
182
182
|
- !ruby/object:Gem::Version
|
|
183
|
-
version: '7.
|
|
183
|
+
version: '7.2'
|
|
184
184
|
- - "<"
|
|
185
185
|
- !ruby/object:Gem::Version
|
|
186
|
-
version: '8.
|
|
186
|
+
version: '8.2'
|
|
187
187
|
type: :runtime
|
|
188
188
|
prerelease: false
|
|
189
189
|
version_requirements: !ruby/object:Gem::Requirement
|
|
190
190
|
requirements:
|
|
191
191
|
- - ">="
|
|
192
192
|
- !ruby/object:Gem::Version
|
|
193
|
-
version: '7.
|
|
193
|
+
version: '7.2'
|
|
194
194
|
- - "<"
|
|
195
195
|
- !ruby/object:Gem::Version
|
|
196
|
-
version: '8.
|
|
196
|
+
version: '8.2'
|
|
197
197
|
- !ruby/object:Gem::Dependency
|
|
198
198
|
name: active_model_serializers
|
|
199
199
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -232,22 +232,22 @@ dependencies:
|
|
|
232
232
|
name: awesome_nested_set
|
|
233
233
|
requirement: !ruby/object:Gem::Requirement
|
|
234
234
|
requirements:
|
|
235
|
-
- - "~>"
|
|
236
|
-
- !ruby/object:Gem::Version
|
|
237
|
-
version: '3.1'
|
|
238
235
|
- - ">="
|
|
239
236
|
- !ruby/object:Gem::Version
|
|
240
|
-
version: 3.
|
|
237
|
+
version: 3.9.0
|
|
238
|
+
- - "<"
|
|
239
|
+
- !ruby/object:Gem::Version
|
|
240
|
+
version: '4.0'
|
|
241
241
|
type: :runtime
|
|
242
242
|
prerelease: false
|
|
243
243
|
version_requirements: !ruby/object:Gem::Requirement
|
|
244
244
|
requirements:
|
|
245
|
-
- - "~>"
|
|
246
|
-
- !ruby/object:Gem::Version
|
|
247
|
-
version: '3.1'
|
|
248
245
|
- - ">="
|
|
249
246
|
- !ruby/object:Gem::Version
|
|
250
|
-
version: 3.
|
|
247
|
+
version: 3.9.0
|
|
248
|
+
- - "<"
|
|
249
|
+
- !ruby/object:Gem::Version
|
|
250
|
+
version: '4.0'
|
|
251
251
|
- !ruby/object:Gem::Dependency
|
|
252
252
|
name: cancancan
|
|
253
253
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -612,14 +612,14 @@ dependencies:
|
|
|
612
612
|
requirements:
|
|
613
613
|
- - "~>"
|
|
614
614
|
- !ruby/object:Gem::Version
|
|
615
|
-
version: '
|
|
615
|
+
version: '7.0'
|
|
616
616
|
type: :development
|
|
617
617
|
prerelease: false
|
|
618
618
|
version_requirements: !ruby/object:Gem::Requirement
|
|
619
619
|
requirements:
|
|
620
620
|
- - "~>"
|
|
621
621
|
- !ruby/object:Gem::Version
|
|
622
|
-
version: '
|
|
622
|
+
version: '7.0'
|
|
623
623
|
- !ruby/object:Gem::Dependency
|
|
624
624
|
name: timecop
|
|
625
625
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -667,8 +667,11 @@ files:
|
|
|
667
667
|
- app/assets/images/alchemy/icons-sprite.svg
|
|
668
668
|
- app/assets/images/alchemy/missing-image.svg
|
|
669
669
|
- app/components/alchemy/admin/attachment_select.rb
|
|
670
|
+
- app/components/alchemy/admin/element_editor.html.erb
|
|
671
|
+
- app/components/alchemy/admin/element_editor.rb
|
|
670
672
|
- app/components/alchemy/admin/element_select.rb
|
|
671
673
|
- app/components/alchemy/admin/icon.rb
|
|
674
|
+
- app/components/alchemy/admin/ingredient_editor.rb
|
|
672
675
|
- app/components/alchemy/admin/link_dialog/anchor_tab.rb
|
|
673
676
|
- app/components/alchemy/admin/link_dialog/base_tab.rb
|
|
674
677
|
- app/components/alchemy/admin/link_dialog/external_tab.rb
|
|
@@ -679,8 +682,13 @@ files:
|
|
|
679
682
|
- app/components/alchemy/admin/locale_select.rb
|
|
680
683
|
- app/components/alchemy/admin/message.rb
|
|
681
684
|
- app/components/alchemy/admin/node_select.rb
|
|
685
|
+
- app/components/alchemy/admin/page_node.html.erb
|
|
686
|
+
- app/components/alchemy/admin/page_node.rb
|
|
682
687
|
- app/components/alchemy/admin/page_select.rb
|
|
683
688
|
- app/components/alchemy/admin/picture_description_select.rb
|
|
689
|
+
- app/components/alchemy/admin/picture_thumbnail.rb
|
|
690
|
+
- app/components/alchemy/admin/publish_page_button.html.erb
|
|
691
|
+
- app/components/alchemy/admin/publish_page_button.rb
|
|
684
692
|
- app/components/alchemy/admin/resource/action.rb
|
|
685
693
|
- app/components/alchemy/admin/resource/applied_filter.rb
|
|
686
694
|
- app/components/alchemy/admin/resource/cell.rb
|
|
@@ -690,23 +698,42 @@ files:
|
|
|
690
698
|
- app/components/alchemy/admin/resource/select_filter.rb
|
|
691
699
|
- app/components/alchemy/admin/resource/table.rb
|
|
692
700
|
- app/components/alchemy/admin/tags_autocomplete.rb
|
|
701
|
+
- app/components/alchemy/admin/tags_list.rb
|
|
693
702
|
- app/components/alchemy/admin/toolbar_button.rb
|
|
694
703
|
- app/components/alchemy/admin/update_check.rb
|
|
704
|
+
- app/components/alchemy/ingredients/audio_editor.rb
|
|
695
705
|
- app/components/alchemy/ingredients/audio_view.rb
|
|
706
|
+
- app/components/alchemy/ingredients/base_editor.rb
|
|
696
707
|
- app/components/alchemy/ingredients/base_view.rb
|
|
708
|
+
- app/components/alchemy/ingredients/boolean_editor.rb
|
|
697
709
|
- app/components/alchemy/ingredients/boolean_view.rb
|
|
710
|
+
- app/components/alchemy/ingredients/color_editor.rb
|
|
711
|
+
- app/components/alchemy/ingredients/color_view.rb
|
|
712
|
+
- app/components/alchemy/ingredients/datetime_editor.rb
|
|
698
713
|
- app/components/alchemy/ingredients/datetime_view.rb
|
|
714
|
+
- app/components/alchemy/ingredients/file_editor.rb
|
|
699
715
|
- app/components/alchemy/ingredients/file_view.rb
|
|
716
|
+
- app/components/alchemy/ingredients/headline_editor.rb
|
|
700
717
|
- app/components/alchemy/ingredients/headline_view.rb
|
|
718
|
+
- app/components/alchemy/ingredients/html_editor.rb
|
|
701
719
|
- app/components/alchemy/ingredients/html_view.rb
|
|
720
|
+
- app/components/alchemy/ingredients/link_editor.rb
|
|
702
721
|
- app/components/alchemy/ingredients/link_view.rb
|
|
722
|
+
- app/components/alchemy/ingredients/node_editor.rb
|
|
703
723
|
- app/components/alchemy/ingredients/node_view.rb
|
|
724
|
+
- app/components/alchemy/ingredients/number_editor.rb
|
|
704
725
|
- app/components/alchemy/ingredients/number_view.rb
|
|
726
|
+
- app/components/alchemy/ingredients/page_editor.rb
|
|
705
727
|
- app/components/alchemy/ingredients/page_view.rb
|
|
728
|
+
- app/components/alchemy/ingredients/picture_editor.rb
|
|
706
729
|
- app/components/alchemy/ingredients/picture_view.rb
|
|
730
|
+
- app/components/alchemy/ingredients/richtext_editor.rb
|
|
707
731
|
- app/components/alchemy/ingredients/richtext_view.rb
|
|
732
|
+
- app/components/alchemy/ingredients/select_editor.rb
|
|
708
733
|
- app/components/alchemy/ingredients/select_view.rb
|
|
734
|
+
- app/components/alchemy/ingredients/text_editor.rb
|
|
709
735
|
- app/components/alchemy/ingredients/text_view.rb
|
|
736
|
+
- app/components/alchemy/ingredients/video_editor.rb
|
|
710
737
|
- app/components/alchemy/ingredients/video_view.rb
|
|
711
738
|
- app/components/concerns/alchemy/ingredients/link_target.rb
|
|
712
739
|
- app/controllers/alchemy/admin/attachments_controller.rb
|
|
@@ -738,6 +765,7 @@ files:
|
|
|
738
765
|
- app/controllers/alchemy/messages_controller.rb
|
|
739
766
|
- app/controllers/alchemy/pages_controller.rb
|
|
740
767
|
- app/controllers/concerns/alchemy/admin/archive_overlay.rb
|
|
768
|
+
- app/controllers/concerns/alchemy/admin/clipboard.rb
|
|
741
769
|
- app/controllers/concerns/alchemy/admin/crop_action.rb
|
|
742
770
|
- app/controllers/concerns/alchemy/admin/current_language.rb
|
|
743
771
|
- app/controllers/concerns/alchemy/admin/picture_descriptions_form_helper.rb
|
|
@@ -745,7 +773,6 @@ files:
|
|
|
745
773
|
- app/controllers/concerns/alchemy/admin/uploader_responses.rb
|
|
746
774
|
- app/controllers/concerns/alchemy/legacy_page_redirects.rb
|
|
747
775
|
- app/controllers/concerns/alchemy/site_redirects.rb
|
|
748
|
-
- app/decorators/alchemy/element_editor.rb
|
|
749
776
|
- app/decorators/alchemy/ingredient_editor.rb
|
|
750
777
|
- app/helpers/alchemy/admin/attachments_helper.rb
|
|
751
778
|
- app/helpers/alchemy/admin/base_helper.rb
|
|
@@ -753,8 +780,6 @@ files:
|
|
|
753
780
|
- app/helpers/alchemy/admin/ingredients_helper.rb
|
|
754
781
|
- app/helpers/alchemy/admin/navigation_helper.rb
|
|
755
782
|
- app/helpers/alchemy/admin/pages_helper.rb
|
|
756
|
-
- app/helpers/alchemy/admin/pictures_helper.rb
|
|
757
|
-
- app/helpers/alchemy/admin/tags_helper.rb
|
|
758
783
|
- app/helpers/alchemy/base_helper.rb
|
|
759
784
|
- app/helpers/alchemy/elements_block_helper.rb
|
|
760
785
|
- app/helpers/alchemy/elements_helper.rb
|
|
@@ -769,6 +794,7 @@ files:
|
|
|
769
794
|
- app/javascript/alchemy_admin/components/button.js
|
|
770
795
|
- app/javascript/alchemy_admin/components/char_counter.js
|
|
771
796
|
- app/javascript/alchemy_admin/components/clipboard_button.js
|
|
797
|
+
- app/javascript/alchemy_admin/components/color_select.js
|
|
772
798
|
- app/javascript/alchemy_admin/components/datepicker.js
|
|
773
799
|
- app/javascript/alchemy_admin/components/dialog_link.js
|
|
774
800
|
- app/javascript/alchemy_admin/components/dom_id_select.js
|
|
@@ -778,6 +804,7 @@ files:
|
|
|
778
804
|
- app/javascript/alchemy_admin/components/element_select.js
|
|
779
805
|
- app/javascript/alchemy_admin/components/elements_window.js
|
|
780
806
|
- app/javascript/alchemy_admin/components/elements_window_handle.js
|
|
807
|
+
- app/javascript/alchemy_admin/components/file_editor.js
|
|
781
808
|
- app/javascript/alchemy_admin/components/growl.js
|
|
782
809
|
- app/javascript/alchemy_admin/components/icon.js
|
|
783
810
|
- app/javascript/alchemy_admin/components/index.js
|
|
@@ -789,11 +816,18 @@ files:
|
|
|
789
816
|
- app/javascript/alchemy_admin/components/message.js
|
|
790
817
|
- app/javascript/alchemy_admin/components/node_select.js
|
|
791
818
|
- app/javascript/alchemy_admin/components/overlay.js
|
|
819
|
+
- app/javascript/alchemy_admin/components/page_node.js
|
|
820
|
+
- app/javascript/alchemy_admin/components/page_publication_fields.js
|
|
792
821
|
- app/javascript/alchemy_admin/components/page_select.js
|
|
793
822
|
- app/javascript/alchemy_admin/components/picture_description_select.js
|
|
823
|
+
- app/javascript/alchemy_admin/components/picture_editor.js
|
|
824
|
+
- app/javascript/alchemy_admin/components/picture_thumbnail.js
|
|
794
825
|
- app/javascript/alchemy_admin/components/preview_window.js
|
|
826
|
+
- app/javascript/alchemy_admin/components/publish_page_button.js
|
|
795
827
|
- app/javascript/alchemy_admin/components/remote_select.js
|
|
796
828
|
- app/javascript/alchemy_admin/components/select.js
|
|
829
|
+
- app/javascript/alchemy_admin/components/sitemap.js
|
|
830
|
+
- app/javascript/alchemy_admin/components/sortable_elements.js
|
|
797
831
|
- app/javascript/alchemy_admin/components/spinner.js
|
|
798
832
|
- app/javascript/alchemy_admin/components/tags_autocomplete.js
|
|
799
833
|
- app/javascript/alchemy_admin/components/tinymce.js
|
|
@@ -804,30 +838,22 @@ files:
|
|
|
804
838
|
- app/javascript/alchemy_admin/confirm_dialog.js
|
|
805
839
|
- app/javascript/alchemy_admin/dialog.js
|
|
806
840
|
- app/javascript/alchemy_admin/dirty.js
|
|
807
|
-
- app/javascript/alchemy_admin/file_editors.js
|
|
808
841
|
- app/javascript/alchemy_admin/fixed_elements.js
|
|
809
842
|
- app/javascript/alchemy_admin/growler.js
|
|
810
843
|
- app/javascript/alchemy_admin/hotkeys.js
|
|
811
844
|
- app/javascript/alchemy_admin/i18n.js
|
|
812
845
|
- app/javascript/alchemy_admin/image_cropper.js
|
|
813
|
-
- app/javascript/alchemy_admin/image_loader.js
|
|
814
846
|
- app/javascript/alchemy_admin/image_overlay.js
|
|
815
847
|
- app/javascript/alchemy_admin/ingredient_anchor_link.js
|
|
816
848
|
- app/javascript/alchemy_admin/initializer.js
|
|
817
849
|
- app/javascript/alchemy_admin/link_dialog.js
|
|
818
850
|
- app/javascript/alchemy_admin/node_tree.js
|
|
819
|
-
- app/javascript/alchemy_admin/page_publication_fields.js
|
|
820
|
-
- app/javascript/alchemy_admin/page_sorter.js
|
|
821
|
-
- app/javascript/alchemy_admin/picture_editors.js
|
|
822
851
|
- app/javascript/alchemy_admin/picture_selector.js
|
|
823
852
|
- app/javascript/alchemy_admin/please_wait_overlay.js
|
|
824
853
|
- app/javascript/alchemy_admin/shoelace_theme.js
|
|
825
|
-
- app/javascript/alchemy_admin/sitemap.js
|
|
826
|
-
- app/javascript/alchemy_admin/sortable_elements.js
|
|
827
854
|
- app/javascript/alchemy_admin/spinner.js
|
|
828
855
|
- app/javascript/alchemy_admin/templates/compiled.js
|
|
829
856
|
- app/javascript/alchemy_admin/templates/node_folder.hbs
|
|
830
|
-
- app/javascript/alchemy_admin/templates/page_folder.hbs
|
|
831
857
|
- app/javascript/alchemy_admin/utils/ajax.js
|
|
832
858
|
- app/javascript/alchemy_admin/utils/debounce.js
|
|
833
859
|
- app/javascript/alchemy_admin/utils/dom_helpers.js
|
|
@@ -867,6 +893,7 @@ files:
|
|
|
867
893
|
- app/models/alchemy/ingredient_validator.rb
|
|
868
894
|
- app/models/alchemy/ingredients/audio.rb
|
|
869
895
|
- app/models/alchemy/ingredients/boolean.rb
|
|
896
|
+
- app/models/alchemy/ingredients/color.rb
|
|
870
897
|
- app/models/alchemy/ingredients/datetime.rb
|
|
871
898
|
- app/models/alchemy/ingredients/file.rb
|
|
872
899
|
- app/models/alchemy/ingredients/headline.rb
|
|
@@ -897,6 +924,7 @@ files:
|
|
|
897
924
|
- app/models/alchemy/page_definition.rb
|
|
898
925
|
- app/models/alchemy/page_mutex.rb
|
|
899
926
|
- app/models/alchemy/page_version.rb
|
|
927
|
+
- app/models/alchemy/permissions.rb
|
|
900
928
|
- app/models/alchemy/picture.rb
|
|
901
929
|
- app/models/alchemy/picture_description.rb
|
|
902
930
|
- app/models/alchemy/picture_thumb.rb
|
|
@@ -921,6 +949,7 @@ files:
|
|
|
921
949
|
- app/models/alchemy/tag.rb
|
|
922
950
|
- app/models/concerns/alchemy/dom_ids.rb
|
|
923
951
|
- app/models/concerns/alchemy/picture_thumbnails.rb
|
|
952
|
+
- app/models/concerns/alchemy/publishable.rb
|
|
924
953
|
- app/models/concerns/alchemy/relatable_resource.rb
|
|
925
954
|
- app/models/concerns/alchemy/touch_elements.rb
|
|
926
955
|
- app/serializers/alchemy/attachment_serializer.rb
|
|
@@ -938,6 +967,7 @@ files:
|
|
|
938
967
|
- app/services/alchemy/delete_elements.rb
|
|
939
968
|
- app/services/alchemy/dragonfly_to_image_processing.rb
|
|
940
969
|
- app/services/alchemy/duplicate_element.rb
|
|
970
|
+
- app/services/alchemy/page_tree_preloader.rb
|
|
941
971
|
- app/services/alchemy/tag_validations.rb
|
|
942
972
|
- app/services/alchemy/update_checker.rb
|
|
943
973
|
- app/services/alchemy/update_checks/alchemy_app.rb
|
|
@@ -1011,10 +1041,11 @@ files:
|
|
|
1011
1041
|
- app/views/alchemy/admin/attachments/_archive_overlay.html.erb
|
|
1012
1042
|
- app/views/alchemy/admin/attachments/_file_to_assign.html.erb
|
|
1013
1043
|
- app/views/alchemy/admin/attachments/_files_list.html.erb
|
|
1044
|
+
- app/views/alchemy/admin/attachments/_library_sidebar.html.erb
|
|
1014
1045
|
- app/views/alchemy/admin/attachments/_overlay_file_list.html.erb
|
|
1015
1046
|
- app/views/alchemy/admin/attachments/_replace_button.html.erb
|
|
1047
|
+
- app/views/alchemy/admin/attachments/_sorting_select.html.erb
|
|
1016
1048
|
- app/views/alchemy/admin/attachments/_tag_list.html.erb
|
|
1017
|
-
- app/views/alchemy/admin/attachments/archive_overlay.js.erb
|
|
1018
1049
|
- app/views/alchemy/admin/attachments/assign.js.erb
|
|
1019
1050
|
- app/views/alchemy/admin/attachments/edit.html.erb
|
|
1020
1051
|
- app/views/alchemy/admin/attachments/index.html.erb
|
|
@@ -1038,7 +1069,6 @@ files:
|
|
|
1038
1069
|
- app/views/alchemy/admin/dashboard/widgets/_sites.html.erb
|
|
1039
1070
|
- app/views/alchemy/admin/dashboard/widgets/_users.html.erb
|
|
1040
1071
|
- app/views/alchemy/admin/elements/_add_nested_element_form.html.erb
|
|
1041
|
-
- app/views/alchemy/admin/elements/_element.html.erb
|
|
1042
1072
|
- app/views/alchemy/admin/elements/_fixed_element.html.erb
|
|
1043
1073
|
- app/views/alchemy/admin/elements/_footer.html.erb
|
|
1044
1074
|
- app/views/alchemy/admin/elements/_form.html.erb
|
|
@@ -1091,29 +1121,31 @@ files:
|
|
|
1091
1121
|
- app/views/alchemy/admin/pages/_legacy_urls.html.erb
|
|
1092
1122
|
- app/views/alchemy/admin/pages/_locked_page.html.erb
|
|
1093
1123
|
- app/views/alchemy/admin/pages/_new_page_form.html.erb
|
|
1094
|
-
- app/views/alchemy/admin/pages/_page.html.erb
|
|
1095
1124
|
- app/views/alchemy/admin/pages/_page_infos.html.erb
|
|
1096
1125
|
- app/views/alchemy/admin/pages/_page_layout_filter.html.erb
|
|
1097
1126
|
- app/views/alchemy/admin/pages/_page_status.html.erb
|
|
1098
1127
|
- app/views/alchemy/admin/pages/_publication_fields.html.erb
|
|
1099
|
-
- app/views/alchemy/admin/pages/_sitemap.html.erb
|
|
1100
1128
|
- app/views/alchemy/admin/pages/_table.html.erb
|
|
1101
1129
|
- app/views/alchemy/admin/pages/_toolbar.html.erb
|
|
1102
1130
|
- app/views/alchemy/admin/pages/configure.html.erb
|
|
1103
1131
|
- app/views/alchemy/admin/pages/edit.html.erb
|
|
1104
|
-
- app/views/alchemy/admin/pages/flush.
|
|
1132
|
+
- app/views/alchemy/admin/pages/flush.turbo_stream.erb
|
|
1133
|
+
- app/views/alchemy/admin/pages/fold.turbo_stream.erb
|
|
1105
1134
|
- app/views/alchemy/admin/pages/index.html.erb
|
|
1106
1135
|
- app/views/alchemy/admin/pages/info.html.erb
|
|
1107
1136
|
- app/views/alchemy/admin/pages/locked.html.erb
|
|
1108
1137
|
- app/views/alchemy/admin/pages/new.html.erb
|
|
1138
|
+
- app/views/alchemy/admin/pages/publish.turbo_stream.erb
|
|
1109
1139
|
- app/views/alchemy/admin/pages/show.html.erb
|
|
1140
|
+
- app/views/alchemy/admin/pages/tree.html.erb
|
|
1110
1141
|
- app/views/alchemy/admin/pages/unlock.js.erb
|
|
1111
1142
|
- app/views/alchemy/admin/pages/update.turbo_stream.erb
|
|
1112
1143
|
- app/views/alchemy/admin/partials/_autocomplete_tag_list.html.erb
|
|
1113
1144
|
- app/views/alchemy/admin/partials/_flash_notices.html.erb
|
|
1114
1145
|
- app/views/alchemy/admin/partials/_language_tree_select.html.erb
|
|
1115
1146
|
- app/views/alchemy/admin/partials/_main_navigation_entry.html.erb
|
|
1116
|
-
- app/views/alchemy/admin/partials/
|
|
1147
|
+
- app/views/alchemy/admin/partials/_overlay_search_form.html.erb
|
|
1148
|
+
- app/views/alchemy/admin/partials/_paste_from_clipboard_form.html.erb
|
|
1117
1149
|
- app/views/alchemy/admin/partials/_routes.html.erb
|
|
1118
1150
|
- app/views/alchemy/admin/partials/_search_form.html.erb
|
|
1119
1151
|
- app/views/alchemy/admin/partials/_site_select.html.erb
|
|
@@ -1131,11 +1163,9 @@ files:
|
|
|
1131
1163
|
- app/views/alchemy/admin/pictures/_picture_to_assign.html.erb
|
|
1132
1164
|
- app/views/alchemy/admin/pictures/_sorting_select.html.erb
|
|
1133
1165
|
- app/views/alchemy/admin/pictures/_tag_list.html.erb
|
|
1134
|
-
- app/views/alchemy/admin/pictures/archive_overlay.js.erb
|
|
1135
1166
|
- app/views/alchemy/admin/pictures/assign.js.erb
|
|
1136
1167
|
- app/views/alchemy/admin/pictures/edit_multiple.html.erb
|
|
1137
1168
|
- app/views/alchemy/admin/pictures/index.html.erb
|
|
1138
|
-
- app/views/alchemy/admin/pictures/index.js.erb
|
|
1139
1169
|
- app/views/alchemy/admin/pictures/show.html.erb
|
|
1140
1170
|
- app/views/alchemy/admin/pictures/update.turbo_stream.erb
|
|
1141
1171
|
- app/views/alchemy/admin/resources/_applied_filters.html.erb
|
|
@@ -1176,21 +1206,6 @@ files:
|
|
|
1176
1206
|
- app/views/alchemy/breadcrumb/_separator.html.erb
|
|
1177
1207
|
- app/views/alchemy/breadcrumb/_wrapper.html.erb
|
|
1178
1208
|
- app/views/alchemy/elements/_view_not_found.html.erb
|
|
1179
|
-
- app/views/alchemy/ingredients/_audio_editor.html.erb
|
|
1180
|
-
- app/views/alchemy/ingredients/_boolean_editor.html.erb
|
|
1181
|
-
- app/views/alchemy/ingredients/_datetime_editor.html.erb
|
|
1182
|
-
- app/views/alchemy/ingredients/_file_editor.html.erb
|
|
1183
|
-
- app/views/alchemy/ingredients/_headline_editor.html.erb
|
|
1184
|
-
- app/views/alchemy/ingredients/_html_editor.html.erb
|
|
1185
|
-
- app/views/alchemy/ingredients/_link_editor.html.erb
|
|
1186
|
-
- app/views/alchemy/ingredients/_node_editor.html.erb
|
|
1187
|
-
- app/views/alchemy/ingredients/_number_editor.html.erb
|
|
1188
|
-
- app/views/alchemy/ingredients/_page_editor.html.erb
|
|
1189
|
-
- app/views/alchemy/ingredients/_picture_editor.html.erb
|
|
1190
|
-
- app/views/alchemy/ingredients/_richtext_editor.html.erb
|
|
1191
|
-
- app/views/alchemy/ingredients/_select_editor.html.erb
|
|
1192
|
-
- app/views/alchemy/ingredients/_text_editor.html.erb
|
|
1193
|
-
- app/views/alchemy/ingredients/_video_editor.html.erb
|
|
1194
1209
|
- app/views/alchemy/ingredients/shared/_anchor.html.erb
|
|
1195
1210
|
- app/views/alchemy/ingredients/shared/_link_tools.html.erb
|
|
1196
1211
|
- app/views/alchemy/ingredients/shared/_picture_css_class.html.erb
|
|
@@ -1234,6 +1249,10 @@ files:
|
|
|
1234
1249
|
- db/migrate/20240314105244_create_alchemy_picture_descriptions.rb
|
|
1235
1250
|
- db/migrate/20250626160259_add_unique_index_to_picture_descriptions.rb
|
|
1236
1251
|
- db/migrate/20250905140323_add_created_at_index_to_pictures_and_attachments.rb
|
|
1252
|
+
- db/migrate/20251106150010_convert_select_value_for_multiple.rb
|
|
1253
|
+
- db/migrate/20260102121232_add_metadata_to_page_versions.rb
|
|
1254
|
+
- db/migrate/20260115164704_add_publication_timestamps_to_alchemy_elements.rb
|
|
1255
|
+
- db/migrate/20260115164705_add_index_to_element_publication_timestamps.rb
|
|
1237
1256
|
- lib/alchemy.rb
|
|
1238
1257
|
- lib/alchemy/ability_helper.rb
|
|
1239
1258
|
- lib/alchemy/admin/locale.rb
|
|
@@ -1285,7 +1304,6 @@ files:
|
|
|
1285
1304
|
- lib/alchemy/on_page_layout.rb
|
|
1286
1305
|
- lib/alchemy/on_page_layout/callbacks_runner.rb
|
|
1287
1306
|
- lib/alchemy/paths.rb
|
|
1288
|
-
- lib/alchemy/permissions.rb
|
|
1289
1307
|
- lib/alchemy/propshaft/tinymce_asset.rb
|
|
1290
1308
|
- lib/alchemy/routing_constraints.rb
|
|
1291
1309
|
- lib/alchemy/seeder.rb
|
|
@@ -1320,9 +1338,11 @@ files:
|
|
|
1320
1338
|
- lib/alchemy/test_support/shared_ingredient_editor_examples.rb
|
|
1321
1339
|
- lib/alchemy/test_support/shared_ingredient_examples.rb
|
|
1322
1340
|
- lib/alchemy/test_support/shared_link_tab_examples.rb
|
|
1341
|
+
- lib/alchemy/test_support/shared_publishable_examples.rb
|
|
1323
1342
|
- lib/alchemy/test_support/shared_uploader_examples.rb
|
|
1324
1343
|
- lib/alchemy/tinymce.rb
|
|
1325
1344
|
- lib/alchemy/upgrader.rb
|
|
1345
|
+
- lib/alchemy/upgrader/eight_one.rb
|
|
1326
1346
|
- lib/alchemy/upgrader/eight_zero.rb
|
|
1327
1347
|
- lib/alchemy/version.rb
|
|
1328
1348
|
- lib/alchemy_cms.rb
|
|
@@ -1332,7 +1352,7 @@ files:
|
|
|
1332
1352
|
- lib/generators/alchemy/elements/templates/view.html.haml
|
|
1333
1353
|
- lib/generators/alchemy/elements/templates/view.html.slim
|
|
1334
1354
|
- lib/generators/alchemy/ingredient/ingredient_generator.rb
|
|
1335
|
-
- lib/generators/alchemy/ingredient/templates/
|
|
1355
|
+
- lib/generators/alchemy/ingredient/templates/editor_component.rb.tt
|
|
1336
1356
|
- lib/generators/alchemy/ingredient/templates/model.rb.tt
|
|
1337
1357
|
- lib/generators/alchemy/ingredient/templates/view_component.rb.tt
|
|
1338
1358
|
- lib/generators/alchemy/install/files/_article.html.erb
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Alchemy
|
|
4
|
-
class ElementEditor < SimpleDelegator
|
|
5
|
-
alias_method :element, :__getobj__
|
|
6
|
-
|
|
7
|
-
def to_partial_path
|
|
8
|
-
"alchemy/admin/elements/element"
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
# Returns ingredient editor instances for defined ingredients
|
|
12
|
-
#
|
|
13
|
-
# Creates ingredient on demand if the ingredient is not yet present on the element
|
|
14
|
-
#
|
|
15
|
-
# @return Array<Alchemy::IngredientEditor>
|
|
16
|
-
def ingredients
|
|
17
|
-
ingredient_definitions.map do |ingredient|
|
|
18
|
-
Alchemy::IngredientEditor.new(find_or_create_ingredient(ingredient))
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
# Are any ingredients defined?
|
|
23
|
-
# @return [Boolean]
|
|
24
|
-
def has_ingredients_defined?
|
|
25
|
-
ingredient_definitions.any?
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
# Returns the translated ingredient group for displaying in admin editor group headings
|
|
29
|
-
#
|
|
30
|
-
# Translate it in your locale yml file:
|
|
31
|
-
#
|
|
32
|
-
# alchemy:
|
|
33
|
-
# element_groups:
|
|
34
|
-
# foo: Bar
|
|
35
|
-
#
|
|
36
|
-
# Optionally you can scope your ingredient role to an element:
|
|
37
|
-
#
|
|
38
|
-
# alchemy:
|
|
39
|
-
# element_groups:
|
|
40
|
-
# article:
|
|
41
|
-
# foo: Baz
|
|
42
|
-
#
|
|
43
|
-
def translated_group(group)
|
|
44
|
-
Alchemy.t(
|
|
45
|
-
group,
|
|
46
|
-
scope: "element_groups.#{element.name}",
|
|
47
|
-
default: Alchemy.t("element_groups.#{group}", default: group.humanize)
|
|
48
|
-
)
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
# CSS classes for the element editor partial.
|
|
52
|
-
def css_classes
|
|
53
|
-
[
|
|
54
|
-
"element-editor",
|
|
55
|
-
ingredient_definitions.present? ? "with-ingredients" : "without-ingredients",
|
|
56
|
-
nestable_elements.any? ? "nestable" : "not-nestable",
|
|
57
|
-
taggable? ? "taggable" : "not-taggable",
|
|
58
|
-
folded ? "folded" : "expanded",
|
|
59
|
-
compact? ? "compact" : nil,
|
|
60
|
-
deprecated? ? "deprecated" : nil,
|
|
61
|
-
fixed? ? "is-fixed" : "not-fixed",
|
|
62
|
-
public? ? nil : "element-hidden"
|
|
63
|
-
]
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
# Tells us, if we should show the element footer and form inputs.
|
|
67
|
-
def editable?
|
|
68
|
-
ingredient_definitions.any? || taggable?
|
|
69
|
-
end
|
|
70
|
-
|
|
71
|
-
# Fixes Rails partial renderer calling to_model on the object
|
|
72
|
-
# which reveals the delegated element instead of this decorator.
|
|
73
|
-
def respond_to?(*args, **kwargs)
|
|
74
|
-
method_name = args.first
|
|
75
|
-
return false if method_name == :to_model
|
|
76
|
-
|
|
77
|
-
super
|
|
78
|
-
end
|
|
79
|
-
|
|
80
|
-
private
|
|
81
|
-
|
|
82
|
-
def find_or_create_ingredient(definition)
|
|
83
|
-
element.ingredients.detect { _1.role == definition.role } ||
|
|
84
|
-
element.ingredients.create!(
|
|
85
|
-
role: definition.role,
|
|
86
|
-
type: Alchemy::Ingredient.normalize_type(definition.type)
|
|
87
|
-
)
|
|
88
|
-
end
|
|
89
|
-
end
|
|
90
|
-
end
|