From 4cfdf1a4911fa0559bb8f399829a99be556b6608 Mon Sep 17 00:00:00 2001 From: Bachir Soussi Chiadmi Date: Tue, 27 Mar 2018 09:17:53 +0200 Subject: [PATCH] studio composition : fixed empty field documents bug --- .../figli/edlp_studio/assets/js/edlp_studio.js | 17 ++++++++++++----- .../src/Controller/CompositionController.php | 2 +- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/sites/all/modules/figli/edlp_studio/assets/js/edlp_studio.js b/sites/all/modules/figli/edlp_studio/assets/js/edlp_studio.js index 8a85a2826..276c58786 100644 --- a/sites/all/modules/figli/edlp_studio/assets/js/edlp_studio.js +++ b/sites/all/modules/figli/edlp_studio/assets/js/edlp_studio.js @@ -116,7 +116,7 @@ $('.composition-link').removeClass('is-active'); $link.removeClass('ajax-loading').addClass('is-active'); - $composer.html(data.compo); + $('.composition', $composer).replaceWith(data.compo); $composer.removeClass('ajax-loading'); initDragAndDropUI(); }; @@ -260,11 +260,18 @@ // |___/|_| \__,_\__, | \_____| |___/|_| \___/ .__/ \___/|___| // |___/ |_| function initDragAndDropUI(){ - - // add real dom square element to handle sorting - $('.composition_ui .composer .composition .field--name-documents .field__item').each(function(i){ + // check if field--name-documents exists + if (!$('.composition_ui .composer .composition .field--name-documents').length) { + // if not create it + $field_documents = $('
') + .addClass('field').addClass('field--name-documents') + .appendTo('.composition_ui .composer .composition'); + }else{ + // add real dom square element to handle sorting + $field_documents = $('.composition_ui .composer .composition .field--name-documents'); $('.field__item', $field_documents).each(function(i){ $(this).prepend($('').addClass('handler')); }); + } // create remove dropzone var $remove_zone = $('
').addClass('remove-drop-zone') @@ -288,7 +295,7 @@ }); // create sortable - $('.composition_ui .composer .composition .field--name-documents').sortable({ + $field_documents.sortable({ revert:false, handle: ".handler", receive:function(e, ui){ diff --git a/sites/all/modules/figli/edlp_studio/src/Controller/CompositionController.php b/sites/all/modules/figli/edlp_studio/src/Controller/CompositionController.php index 21de39afb..43d080f38 100644 --- a/sites/all/modules/figli/edlp_studio/src/Controller/CompositionController.php +++ b/sites/all/modules/figli/edlp_studio/src/Controller/CompositionController.php @@ -159,7 +159,7 @@ class CompositionController extends ControllerBase { private function getRendredComposition(){ $view_builder = \Drupal::entityTypeManager()->getViewBuilder('composition'); - $compobuild = $view_builder->view($this->compo, 'default'); + $compobuild = $view_builder->view($this->compo, 'studio_ui'); $this->rendered_compo = render($compobuild); }