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 5b34581d1..d542d2e3f 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 @@ -187,10 +187,11 @@ function onCreateCompoDone(data, $link, $form){ console.log('onActionToCompoDone',data); var $new_link = $(data.new_link); + var $delete_link = $(data.delete_link); $link .removeClass('folded') .parents('li') - .before($('
  • ').append($new_link)); + .before($('
  • ').append($new_link).append($delete_link)); $form.remove(); // open new composition to composer initAjaxCompoLinks(); @@ -227,6 +228,12 @@ console.log('onDeleteCompoDone',data); if(data.status == "ok"){ $link.parents('li').remove(); + console.log("$('.composition-link').length", $('.composition-link').length); + if($('.composition-link').length){ + openCompo($('.composition-link').eq(0)); + }else{ + $('.composition', $composer).html(); + } }else{ console.warn(data.message); } diff --git a/sites/all/modules/figli/edlp_studio/includes/edlp_compositions_list.inc b/sites/all/modules/figli/edlp_studio/includes/edlp_compositions_list.inc index 7a4c50de7..1452fd183 100644 --- a/sites/all/modules/figli/edlp_studio/includes/edlp_compositions_list.inc +++ b/sites/all/modules/figli/edlp_studio/includes/edlp_compositions_list.inc @@ -35,7 +35,7 @@ function template_preprocess_edlp_compositions_list(&$vars){ ), ), 'delete_link' => array( - '#title' => "delete", + '#title' => t("delete"), '#type' => 'link', '#url' => $delete_url, '#options'=>array( 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 dd513731a..8b7420d8f 100644 --- a/sites/all/modules/figli/edlp_studio/src/Controller/CompositionController.php +++ b/sites/all/modules/figli/edlp_studio/src/Controller/CompositionController.php @@ -117,9 +117,26 @@ class CompositionController extends ControllerBase { ), ); + $delete_url = Url::fromRoute('edlp_studio.composition_controller_action_ajax', ['action' => 'delete', 'cid' => $this->compo->id()], ['absolute' => TRUE]); + + $deletelink_build = array( + '#title' => t('Delete'), + '#type' => 'link', + '#url' => $delete_url, + '#options'=>array( + 'attributes' => array( + 'data-drupal-link-system-path' => $delete_url->getInternalPath(), + 'cid' => $this->compo->id(), + 'class' => ['delete-composition-link'], + 'title'=>t('Delete @title', array('@title'=>$title)), + ), + ), + ); + $data += array( 'new_name' => $title, 'new_link' => render($new_link_build), + 'delete_link' => render($deletelink_build), ); break; case 'open': diff --git a/sites/all/themes/custom/edlptheme/assets/dist/scripts/main.min.js b/sites/all/themes/custom/edlptheme/assets/dist/scripts/main.min.js index 65404103f..d54b74bcc 100644 --- a/sites/all/themes/custom/edlptheme/assets/dist/scripts/main.min.js +++ b/sites/all/themes/custom/edlptheme/assets/dist/scripts/main.min.js @@ -46,7 +46,7 @@ $('body') .on('on-studio-chutier-updated', initAjaxLinks) .on('studio-initialized', function(e){ - _compoPlayer.initControls(); + _compoPlayer.newCompo(); }) .on('studio-not-active', function(e){ _compoPlayer.deactivate(); @@ -665,9 +665,15 @@ // this.newCompo(); }, + newCompo(){ + console.log('CompoPlayer newCompo()'); + // this.$compo = $('.composition_ui .composer .composition'); + this.initControls(); + }, initControls(){ console.log('CompoPlayer initControls()'); this.$composer = $('.composition_ui .composer'); + this.$compo = $('.composition_ui .composer .composition'); this.$controls = $('.composition_ui .composer .compo-player-controls'); if(!this.$controls.is('.ready') && this.$compo){ this.$previous = $('
    ').addClass('previous') @@ -682,21 +688,14 @@ this.$controls.addClass('ready'); + this.refresh(); + this.active = true; // TODO: set active false - this.newCompo(); + // this.newCompo(); } }, - newCompo(){ - console.log('CompoPlayer newCompo()'); - this.$compo = $('.composition_ui .composer .composition'); - this.initControls(); - this.refresh(); - }, refresh(){ // console.log('CompoPlayer refresh(), this', this); - // this.playing = false; - // this.paused = false; - // this.resetIndex(); this.stop(); // load new playlist diff --git a/sites/all/themes/custom/edlptheme/assets/scripts/main.js b/sites/all/themes/custom/edlptheme/assets/scripts/main.js index 65404103f..d54b74bcc 100644 --- a/sites/all/themes/custom/edlptheme/assets/scripts/main.js +++ b/sites/all/themes/custom/edlptheme/assets/scripts/main.js @@ -46,7 +46,7 @@ $('body') .on('on-studio-chutier-updated', initAjaxLinks) .on('studio-initialized', function(e){ - _compoPlayer.initControls(); + _compoPlayer.newCompo(); }) .on('studio-not-active', function(e){ _compoPlayer.deactivate(); @@ -665,9 +665,15 @@ // this.newCompo(); }, + newCompo(){ + console.log('CompoPlayer newCompo()'); + // this.$compo = $('.composition_ui .composer .composition'); + this.initControls(); + }, initControls(){ console.log('CompoPlayer initControls()'); this.$composer = $('.composition_ui .composer'); + this.$compo = $('.composition_ui .composer .composition'); this.$controls = $('.composition_ui .composer .compo-player-controls'); if(!this.$controls.is('.ready') && this.$compo){ this.$previous = $('
    ').addClass('previous') @@ -682,21 +688,14 @@ this.$controls.addClass('ready'); + this.refresh(); + this.active = true; // TODO: set active false - this.newCompo(); + // this.newCompo(); } }, - newCompo(){ - console.log('CompoPlayer newCompo()'); - this.$compo = $('.composition_ui .composer .composition'); - this.initControls(); - this.refresh(); - }, refresh(){ // console.log('CompoPlayer refresh(), this', this); - // this.playing = false; - // this.paused = false; - // this.resetIndex(); this.stop(); // load new playlist