From c30e7983bd78a20a0a2c1c8d87c19d539b5a6ce0 Mon Sep 17 00:00:00 2001 From: Arnaud Levy <contact@arnaudlevy.com> Date: Fri, 21 Jul 2023 14:24:08 +0200 Subject: [PATCH] broken js --- .../admin/commons/content_editor.js | 40 +------------------ .../admin/commons/content-editor.sass | 4 -- .../blocks/content/_editor.html.erb | 16 +++++++- .../blocks/headings/_heading.html.erb | 18 ++++----- 4 files changed, 24 insertions(+), 54 deletions(-) diff --git a/app/assets/javascripts/admin/commons/content_editor.js b/app/assets/javascripts/admin/commons/content_editor.js index 6abb359f0..7432bb3d6 100644 --- a/app/assets/javascripts/admin/commons/content_editor.js +++ b/app/assets/javascripts/admin/commons/content_editor.js @@ -39,45 +39,14 @@ window.osuny.contentEditor = { for (i = 0; i < sortableContainers.length; i += 1) { sortableInstance = new Sortable(sortableContainers[i], { - group: 'nested', handle: '.content-editor__elements__handle', - animation: 150, - fallbackOnBody: true, - swapThreshold: 0.65, - onUnchoose: this.onSortableUnchoose.bind(this), - onStart: this.onSortableStart.bind(this), - onMove: this.onSortableMove.bind(this), + fallbackOnBody: false, onEnd: this.onSortableEnd.bind(this) }); this.sortableInstances.push(sortableInstance); } }, - onSortableStart: function (event) { - 'use strict'; - var item = event.item, - kind = item.dataset.kind; - this.sortableRootContainer.classList.add('content-editor__elements__root--dragging'); - if (kind === 'block') { - this.sortableRootContainer.classList.add('content-editor__elements__root--dragging-block'); - } else if (kind === 'heading') { - this.sortableRootContainer.classList.add('content-editor__elements__root--dragging-heading'); - } - }, - - onSortableMove: function (event) { - 'use strict'; - var draggedKind = event.dragged.dataset.kind, - relatedKind = event.related.dataset.kind, - firstHeading = this.sortableRootContainer.querySelector('.js-content-editor-element[data-kind="heading"]'); - - if (draggedKind === 'block') { - // Prevent dragging a block after a heading, instead of inside - return relatedKind !== 'heading' || !event.willInsertAfter && event.related === firstHeading; - } - return true; - }, - onSortableEnd: function (event) { 'use strict'; var item = event.item, @@ -108,13 +77,6 @@ window.osuny.contentEditor = { }); }, - onSortableUnchoose: function () { - 'use strict'; - this.sortableRootContainer.classList.remove('content-editor__elements__root--dragging', - 'content-editor__elements__root--dragging-block', - 'content-editor__elements__root--dragging-heading'); - }, - getUrlFromKind: function (kind) { 'use strict'; if (kind === 'block') { diff --git a/app/assets/stylesheets/admin/commons/content-editor.sass b/app/assets/stylesheets/admin/commons/content-editor.sass index c10f1d4de..d25609a59 100644 --- a/app/assets/stylesheets/admin/commons/content-editor.sass +++ b/app/assets/stylesheets/admin/commons/content-editor.sass @@ -1,9 +1,5 @@ .content-editor &__elements - &__root - &--dragging-heading - .content-editor__elements__element--block - display: none &__element .draft .kind diff --git a/app/views/admin/communication/blocks/content/_editor.html.erb b/app/views/admin/communication/blocks/content/_editor.html.erb index 1896a0fa1..a7c32436d 100644 --- a/app/views/admin/communication/blocks/content/_editor.html.erb +++ b/app/views/admin/communication/blocks/content/_editor.html.erb @@ -1,7 +1,7 @@ <div class="js-content-editor mb-5" data-sort-blocks-url="<%= reorder_admin_communication_blocks_path(lang: nil, website_id: nil, extranet_id: nil) %>" data-sort-headings-url="<%= reorder_admin_communication_headings_path(lang: nil, website_id: nil, extranet_id: nil) %>"> - <ul class="nav nav-tabs justify-content-md-end mt-0 mt-md-n4"> + <ul class="nav nav-tabs justify-content-md-end"> <li class="nav-item"> <a class="nav-link active" id="mode-content-tab" @@ -33,6 +33,11 @@ role="tabpanel" aria-labelledby="mode-content-tab" tabindex="0"> + <div class="row"> + <div class="offset-xl-6 col-xl-6"> + <p class="text-end text-muted small mt-2">Dans le mode "Écrire le contenu", vous pouvez déplacer les blocs et les titres où vous voulez, indépendamment les uns des autres. Ainsi, vous pouvez déplacer un titre plus haut dans le document sans qu'il n'emporte ses blocs.</p> + </div> + </div> <div class=" content-editor__elements content-editor__elements__root js-content-editor-sortable-container" @@ -63,7 +68,14 @@ role="tabpanel" aria-labelledby="profile-tab" tabindex="1"> - plan + <div class="row"> + <div class="offset-xl-6 col-xl-6"> + <p class="text-end text-muted small mt-2">Dans le mode "Organiser le plan", vous ne voyez pas les blocs mais seulement les titres. Lorsque vous déplacez un titre, tous les blocs suivent. C'est le mode idéal pour ranger les documents longs.</p> + </div> + </div> + <% about.headings.root.ordered.each do |heading| %> + <%= render 'admin/communication/blocks/headings/heading', heading: heading, hide_blocks: true %> + <% end %> </div> </div> diff --git a/app/views/admin/communication/blocks/headings/_heading.html.erb b/app/views/admin/communication/blocks/headings/_heading.html.erb index 599eb5245..0f9758677 100644 --- a/app/views/admin/communication/blocks/headings/_heading.html.erb +++ b/app/views/admin/communication/blocks/headings/_heading.html.erb @@ -1,3 +1,6 @@ +<% +hide_blocks ||= false +%> <div class=" content-editor__elements__element content-editor__elements__element--heading js-content-editor-element @@ -20,13 +23,10 @@ </span> <% end %> </div> - <div class="content-editor__elements - js-content-editor-sortable-container"> - <% heading.blocks.ordered.each do |block| %> - <%= render 'admin/communication/blocks/block', block: block %> - <% end %> - <% heading.children.ordered.each do |child| %> - <%= render 'admin/communication/blocks/headings/heading', heading: child %> - <% end %> - </div> </div> +<% heading.blocks.ordered.each do |block| %> + <%= render 'admin/communication/blocks/block', block: block %> +<% end unless hide_blocks %> +<% heading.children.ordered.each do |child| %> + <%= render 'admin/communication/blocks/headings/heading', heading: child %> +<% end %> -- GitLab