diff --git a/sites/all/modules/figli/edlp_search/assets/dist/scripts/edlp_search.min.js b/sites/all/modules/figli/edlp_search/assets/dist/scripts/edlp_search.min.js index 934a5b126..2a3c7a2e3 100644 --- a/sites/all/modules/figli/edlp_search/assets/dist/scripts/edlp_search.min.js +++ b/sites/all/modules/figli/edlp_search/assets/dist/scripts/edlp_search.min.js @@ -1,4 +1,119 @@ +(function ($, Drupal, drupalSettings) { -(function($,Drupal,drupalSettings){var settings=drupalSettings.edlp_search;var _$body=$('body');var _$container;var _$form;function init(){initEvents();initAjax();};function initEvents(){$('body').on('new-content-ajax-loaded',initAjax).on('edlp_search_search_form-col-closed',onSearchClosed);};function initAjax(){_$form=$('#edlp-search-form:not(.ajax-enabled)');if(!_$form.length)return false;_$form=$('#edlp-search-form:not(.ajax-enabled)').on('submit',onSubmitForm).addClass('ajax-enabled');_$container=_$form.parents('.row');if(!_$container.length){_$container=_$form.parent();}};function onSubmitForm(e){e.preventDefault();var args={};args.keys=$('input[type="search"]',this).val();args.entries=[];$('input[type="checkbox"]:checked','#edit-entries').each(function(index,el){args.entries.push($(this).val());});args.langues=$('input[name="language"]',this).val();args.genres=$('input[name="genres"]',this).val();loadResults(args);return false;};function loadResults(args){_$form.addClass('ajax-loading');_$body.addClass('ajax-loading');$('[theme="edlp_search_results"]',_$container).addClass('ajax-loading');var path=window.location.origin+drupalSettings.path.baseUrl+settings.results_ajax_url;$.getJSON(path,args).done(function(data){onResultsLoaded(data);}).fail(function(jqxhr,textStatus,error){onResultsLoadFail(jqxhr,textStatus,error);});};function onResultsLoaded(data){_$form.removeClass('ajax-loading');_$body.removeClass('ajax-loading');$prev_results=$('[theme="edlp_search_results"]',_$container);if($prev_results.length){$prev_results.replaceWith(data.rendered);}else{_$container.append(data.rendered);} -_$body.trigger({'type':'search-results-loaded','results':data.results_nids});};function onResultsLoadFail(jqxhr,textStatus,error){void 0;};function onSearchClosed(e){$('div[theme="edlp_search_results"]').remove();_$body.trigger({'type':'search-closed'});} -init();})(jQuery,Drupal,drupalSettings); \ No newline at end of file + var settings = drupalSettings.edlp_search; + var _$body = $('body'); + var _$container; + var _$form; + + function init(){ + // console.log('EdlpSearch Init', settings); + initEvents(); + initAjax(); + }; + + function initEvents(){ + $('body') + .on('new-content-ajax-loaded', initAjax) + .on('edlp_search_search_form-col-closed', onSearchClosed); + }; + + function initAjax(){ + _$form = $('#edlp-search-form:not(.ajax-enabled)'); + if(!_$form.length) return false; + + //console.log('EdlpSearch initAjaxForm()'); + _$form = $('#edlp-search-form:not(.ajax-enabled)') + .on('submit', onSubmitForm) + .addClass('ajax-enabled'); + _$container = _$form.parents('.row'); + if(!_$container.length){ + _$container = _$form.parent(); + } + }; + + function onSubmitForm(e){ + e.preventDefault(); + // console.log('onSubmitForm',e); + var args = {}; + + // search for key words + args.keys = $('input[type="search"]', this).val(); + + // entries filter + args.entries = []; + $('input[type="checkbox"]:checked', '#edit-entries').each(function(index, el) { + args.entries.push($(this).val()); + }); + + // langues + args.langues = $('input[name="language"]', this).val(); + + // genres + args.genres = $('input[name="genres"]', this).val(); + + //console.log('EdlpSearch onSubmitForm() : args',args); + + loadResults(args); + + return false; + }; + + function loadResults(args){ + //console.log('EdlpSearch loadResults() : args', args); + _$form.addClass('ajax-loading'); + _$body.addClass('ajax-loading'); + $('[theme="edlp_search_results"]', _$container).addClass('ajax-loading'); + var path = window.location.origin + drupalSettings.path.baseUrl +settings.results_ajax_url; + $.getJSON(path, args) + .done(function(data){ + onResultsLoaded(data); + }) + .fail(function(jqxhr, textStatus, error){ + onResultsLoadFail(jqxhr, textStatus, error); + }); + }; + + function onResultsLoaded(data){ + // console.log('EdlpSearch onResultsLoaded()', data); + _$form.removeClass('ajax-loading'); + _$body.removeClass('ajax-loading'); + + // insert results col + $prev_results = $('[theme="edlp_search_results"]', _$container); + if($prev_results.length){ + $prev_results.replaceWith(data.rendered); + }else{ + _$container.append(data.rendered); + } + + // trigger event + _$body.trigger({ + 'type':'search-results-loaded', + 'results':data.results_nids + }); + + + // piwik + if(typeof _paq !== 'undefined'){ + // trackEvent(category, action, [name], [value]) + var search_name = 'keys:'+data.keys + +';langues:'+data.langues + +';genres:'+data.genres + +';entries:'+data.entry_names.join(','); + _paq.push(['trackEvent', 'AjaxSearch', 'Results', search_name, data.results_nids.length]); + } + }; + + function onResultsLoadFail(jqxhr, textStatus, error){ + console.warn('EdlpSearch : search results ajax load failed : '+error, jqxhr.responseText); + }; + + function onSearchClosed(e){ + // console.log('Edlp Search onSearchClosed()'); + $('div[theme="edlp_search_results"]').remove(); + // trigger event + _$body.trigger({'type':'search-closed'}); + } + + init(); +})(jQuery, Drupal, drupalSettings); diff --git a/sites/all/modules/figli/edlp_search/assets/scripts/edlp_search.js b/sites/all/modules/figli/edlp_search/assets/scripts/edlp_search.js index 8097a7801..2a3c7a2e3 100644 --- a/sites/all/modules/figli/edlp_search/assets/scripts/edlp_search.js +++ b/sites/all/modules/figli/edlp_search/assets/scripts/edlp_search.js @@ -92,6 +92,16 @@ 'results':data.results_nids }); + + // piwik + if(typeof _paq !== 'undefined'){ + // trackEvent(category, action, [name], [value]) + var search_name = 'keys:'+data.keys + +';langues:'+data.langues + +';genres:'+data.genres + +';entries:'+data.entry_names.join(','); + _paq.push(['trackEvent', 'AjaxSearch', 'Results', search_name, data.results_nids.length]); + } }; function onResultsLoadFail(jqxhr, textStatus, error){ diff --git a/sites/all/modules/figli/edlp_search/src/Controller/EdlpSearchController.php b/sites/all/modules/figli/edlp_search/src/Controller/EdlpSearchController.php index 4d6c37666..91c99dabd 100644 --- a/sites/all/modules/figli/edlp_search/src/Controller/EdlpSearchController.php +++ b/sites/all/modules/figli/edlp_search/src/Controller/EdlpSearchController.php @@ -249,6 +249,9 @@ class EdlpSearchController extends ControllerBase { 'test'=>'search results', 'keys'=>$this->keys, 'entries' => $this->entries, + 'entry_names' => $this->entry_names, + 'langues' => $this->langues, + 'genres' => $this->genres, 'rendered'=> $rendered, 'results_nids'=>$results_nids, ]); @@ -326,9 +329,12 @@ class EdlpSearchController extends ControllerBase { // entries if (!empty($this->entries)){ + $terms = entity_load_multiple('taxonomy_term', $this->entries); + $this->entry_names = []; $entries_condition_group = $query->createConditionGroup(); - foreach ($this->entries as $tid) { + foreach ($terms as $tid => $term) { $entries_condition_group->addCondition('field_entrees', (int)$tid, "="); + $this->entry_names[] = $term->getName(); } // dpm($entries_condition_group); $query->addConditionGroup($entries_condition_group); diff --git a/sites/all/themes/custom/edlptheme/assets/dist/scripts/history.min.js b/sites/all/themes/custom/edlptheme/assets/dist/scripts/history.min.js index 89e356891..6ed8192af 100644 --- a/sites/all/themes/custom/edlptheme/assets/dist/scripts/history.min.js +++ b/sites/all/themes/custom/edlptheme/assets/dist/scripts/history.min.js @@ -1,2 +1,20 @@ +console.log('EDLP THEME HISTORY.js'); +// var edlp is provided by edlp_ajax.module file +if(edlp.redirect){ + console.log('history redirect', edlp); + console.log('window.location', window.location); + // window.localStorage.setItem('edlp_origin_path', edlp.sys_path.replace(/^\//, '')); + edlp.sys_path = edlp.sys_path.replace(/^\//, ''); -void 0;if(edlp.redirect){void 0;void 0;edlp.sys_path=edlp.sys_path.replace(/^\//,'');edlp.url=window.location.pathname;edlp.hash=window.location.hash;window.localStorage.setItem('edlp_origin',JSON.stringify(edlp));window.location.replace(window.location.origin+'/'+edlp.lang_code);}else{void 0;} \ No newline at end of file + // window.localStorage.setItem('edlp_origin_url', window.location.pathname); + edlp.url = window.location.pathname; + + // window.localStorage.setItem('edlp_origin_hash', window.location.hash); + edlp.hash = window.location.hash; + + window.localStorage.setItem('edlp_origin', JSON.stringify(edlp)); + // redirect to home + window.location.replace(window.location.origin+'/'+edlp.lang_code); +}else{ + console.log('history do not redirect'); +} 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 695f7f7b9..e3a9a9332 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 @@ -1,51 +1,1412 @@ +(function($, Drupal, drupalSettings) { -(function($,Drupal,drupalSettings){EdlpTheme=function(){var _ajax_settings=drupalSettings.edlp_ajax;var _$body=$('body');var _corpus_ready=false;var _$corpus_canvas;var _$row=$('main[role="main"]>.layout-content>.row');var _$ajaxLinks;var _audioPlayer;var _randomPlayer;var _compoPlayer;function init(){void 0;_audioPlayer=new AudioPlayer();_compoPlayer=new CompoPlayer();initAjaxLinks();initHistory();if(!drupalSettings.path.isFront) -return;initEvents();};function initEvents(){_$body.on('corpus-map-ready',onCorpusMapReady).on('on-studio-chutier-updated',initAjaxLinks).on('studio-initialized',function(e){_compoPlayer.newCompo();}).on('studio-not-active',function(e){_compoPlayer.deactivate();}).on('on-studio-compo-updated',function(e){initAjaxLinks();_compoPlayer.refresh();}).on('on-studio-compo-opened',function(e){initAjaxLinks();_compoPlayer.newCompo();}).on('search-results-loaded',initAjaxLinks).on('open_entree',function(e){void 0;closeAllModals();_$body.removeClass();if(typeof e.url!='undefined'){var state=getSysPathState(e.sys_path);history.pushState(state,null,e.url);}}).on('close_entree',function(e){backToFrontPage();});} -function initScrollbars(){};function getSysPathState(sys_path,view_mode){var state={'sys_path':sys_path,'ajax_path':sys_path};var node_match=state.ajax_path.match(/^\/?(node\/(\d+))$/i);void 0;var term_match=state.ajax_path.match(/^\/?(taxonomy\/term\/(\d+))$/i);void 0;if(node_match){state.ajax_path=_ajax_settings.entityjson_path+'/'+node_match[1];state.node_nid=node_match[2];if(view_mode){state.ajax_path+='/'+view_mode;state.view_mode=view_mode;}}else if(term_match){state.ajax_path=_ajax_settings.entityjson_path+'/'+term_match[1];state.ajax_path=state.ajax_path.replace(/taxonomy\/term/,'taxonomy_term');state.entree_tid=term_match[2];if(view_mode){state.ajax_path+='/'+view_mode;state.view_mode=view_mode;}else{state.ajax_path=null;}}else{state.ajax_path+='/ajax'} -return state;};function ajaxLoadContent(state){void 0;_$body.addClass('ajax-loading');var path=window.location.origin+Drupal.url(state.ajax_path);$.getJSON(path,{}).done(function(data){onAjaxLoaded(data,state);}).fail(function(jqxhr,textStatus,error){onAjaxLoadError(jqxhr,textStatus,error,state.sys_path);});};function onAjaxLoadError(jqxhr,textStatus,error,sys_path){void 0;$('.ajax-loading').removeClass('ajax-loading');_$body.removeClass('ajax-loading');};function onAjaxLoaded(data,state){void 0;if(data.entity_type=="node"&&data.bundle=="evenement"){if(_$row.find('.col.event').length){_$row.find('.col.event').replaceWith(data.rendered);}else if(_$row.find('.col.aside').length){_$row.find('.col.aside').replaceWith(data.rendered);}else{_$row.append(data.rendered);}}else{_$row.removeAttr('style').html(data.rendered);} -var body_classes=['path-'+state.sys_path.replace(/\//g,'-'),'entity-type-'+data.entity_type,'bundle-'+data.bundle,'view-mode-'+data.view_mode];_$body.removeClass().addClass(body_classes.join(' '));if(state.node_nid) -_$body.addClass('path-edlp-node');$('.ajax-loading').removeClass('ajax-loading');$('.ajax-link.is-active').removeClass('is-active');$('.is-active-trail').removeClass('is-active-trail');if(typeof state.selector!='undefined'){void 0;$('a[selector="'+state.selector+'"]').addClass('is-active');initAudioLinksInContent();}else{if(typeof state.view_mode!='undefined'){$('a[viewmode="'+state.view_mode+'"][data-drupal-link-system-path="'+state.sys_path+'"]').addClass('is-active');}else{$('a[data-drupal-link-system-path="'+state.sys_path+'"]').addClass('is-active');} -_$body.trigger({'type':'new-content-not-entree-ajax-loaded'});} -if(typeof data.bundle!='undefined'&&data.bundle=="page"){$('a[data-drupal-link-system-path="productions"]').addClass('is-active-trail');} -if(typeof data.menu_parents!='undefined'){for(var i=0;i').addClass('close-col-btn').on('click',onCloseModal));});};function onCloseModal(e){var $col=$(this).parents('.col');var theme=$col.attr('theme');if(theme!=''){_$body.trigger({'type':theme+'-col-closed'});} -$col.remove();if(!$('.col',_$row).length&&!_$body.is('.entity-type-node.bundle-page')&&!_$body.is('.entity-type-taxonomy_term.bundle-entrees')){backToFrontPage();}};function refreshAllBlocks(){var path=window.location.origin+Drupal.url(_ajax_settings.blocksjson_path);$.getJSON(path,{}).done(function(data){onAjaxBlockLoaded(data);}).fail(function(jqxhr,textStatus,error){onAjaxBlockLoadError(jqxhr,textStatus,error);});};function onAjaxBlockLoadError(jqxhr,textStatus,error){void 0;};function onAjaxBlockLoaded(data){void 0;for(var blockname in data.blocks){var block=data.blocks[blockname];void 0;$(block.id).replaceWith(block.rendered);}};function initHistory(){initFirstLoad();window.addEventListener('popstate',onHistoryPopState);};function initFirstLoad(){void 0;var edlp_origin=JSON.parse(window.localStorage.getItem('edlp_origin'));void 0;if(edlp_origin!=null&&edlp_origin.sys_path){var view_mode=edlp_origin.hash.replace('#','');var state=getSysPathState(edlp_origin.sys_path,view_mode);if(edlp_origin.entity_type=="taxonomy_term"&&edlp_origin.entity_bundle=="entrees"&&view_mode){state.selector='entree-'+view_mode+'-link-'+edlp_origin.entity_id;if(_corpus_ready){_$corpus_canvas.trigger({type:'open-entree',tid:edlp_origin.entity_id});}else{$('li.entree[tid="'+edlp_origin.entity_id+'"] a.term-link').addClass('is-active');}} -if(edlp_origin.audio_url){var node={nid:edlp_origin.entity_id,audio_url:edlp_origin.audio_url};_audioPlayer.openDocument(node,'history_first_load');if(view_mode==""){state.audio=true;state.node=node;_$body.attr('booted','booted');}else{ajaxLoadContent(state);}} -else if(state.ajax_path){ajaxLoadContent(state);} -if(state.entree_tid){openEntree(state.entree_tid);} -history.replaceState(state,null,edlp_origin.url+edlp_origin.hash);window.localStorage.removeItem("edlp_origin");}else{history.replaceState({home:true},null,window.location.pathname);_$body.attr('booted','booted');}};function onHistoryPopState(e){void 0;if(e.state.home){backToFrontPage(true);} -else if(e.state.audio){_audioPlayer.openDocument(e.state.node,'popstate',e.state.historic_index);} -else{if(e.state.entree_tid){openEntree(e.state.entree_tid);} -if(e.state.ajax_path){e.state.url=null;ajaxLoadContent(e.state);}}};function initAjaxLinks(){$('a.site-name','#block-edlptheme-branding').add('a','#block-mainnavigation').add('a','#block-footer.menu--footer').add('a','#block-productions').add('a','article.node:not(.node--type-enregistrement) h2.node-title').add('a','.productions-subtree').add('a','.productions-parent').addClass('ajax-link');_$ajaxLinks=$('.ajax-link:not(.ajax-enabled)').each(function(i,e){var $this=$(this);if($this.is('.ajax-enable'))return;if($this.attr('data-drupal-link-system-path')){$this.on('click',onClickAjaxLink).addClass('ajax-enable');}});};function onClickAjaxLink(e){e.preventDefault();var $link=$(this);if($link.is('.is-active')) -return false;if($link.is('.audio-link')){_audioPlayer.emmit('stop-shuffle').openDocument({nid:$link.attr('nid'),audio_url:$link.attr('audio_url')});return false;} -var sys_path=$(this).attr('data-drupal-link-system-path');if(sys_path==''){backToFrontPage();return false;} -var view_mode=$link.attr('viewmode');var state=getSysPathState(sys_path,view_mode);state.url=$(this).attr('href');if(view_mode){state.url+="#"+view_mode;} -if($link.is('[selector]')){state.selector=$link.attr('selector');} -$link.addClass('ajax-loading');ajaxLoadContent(state);return false;};function onCorpusMapReady(e){_corpus_ready=true;_$corpus_canvas=$('canvas#corpus-map');_$corpus_canvas.on('corpus-cliked-on-map',function(e){backToFrontPage();}).on('corpus-cliked-on-node',function(e){_audioPlayer.emmit('stop-shuffle').setAutoOpenArticle(e.article).openDocument(e.target_node);});_randomPlayer=new RandomPlayer(e.playlist);_$body.attr('corpus-map','ready');} -function openEntree(tid){if(tid){closeAllModals();_$body.removeClass();if(_corpus_ready){_$corpus_canvas.trigger({type:'open-entree',tid:tid});}else{$('li.entree[tid="'+tid+'"] a.term-link').addClass('is-active');}}};function AudioPlayer(){var that=this;this.fid;this.audio=new Audio();this.audio_events=["loadedmetadata","canplay","playing","pause","timeupdate","ended","error"];this.$container=$('
');this.$btns=$('
').addClass('btns').appendTo(this.$container);this.$previous=$('
').addClass('previous').appendTo(this.$btns);this.$playpause=$('
').addClass('play-pause').appendTo(this.$btns);this.$next=$('
').addClass('next').appendTo(this.$btns);this.$timelinecont=$('
').addClass('time-line-container').appendTo(this.$container);this.$timeline=$('
').addClass('time-line').appendTo(this.$timelinecont);this.$loader=$('
').addClass('loader').appendTo(this.$timeline);this.$cursor=$('
').addClass('cursor').appendTo(this.$timeline);this.$time=$('
').addClass('time').appendTo(this.$container);this.$currentTime=$('
').addClass('current-time').html('00:00').appendTo(this.$time);this.$duration=$('
').addClass('duration').html('00:00').appendTo(this.$time);this.$fav=$('
').addClass('favoris').appendTo(this.$container);this.$cartel=$('
').addClass('cartel').appendTo(this.$container);this.hideTimer=false;this.hideTimeMS=10000;this.currentHistoricIndex=null;this.historic=[];this.shuffle_is_active=false;this.auto_open_article=false;this.event_handlers={'audio-open-document':[],'audio-play':[],'audio-pause':[],'audio-play-next':[],'audio-ended':[],'stop-shuffle':[]};this.init();};AudioPlayer.prototype={init(){this.$container.appendTo('header[role="banner"] .region-header');this.timeline_w=parseInt(this.$timeline.width());var fn='';for(var i=0;i'+(mins<10?'0':'')+mins+':'+(secs<10?'0':'')+secs+'');this.updateLoadingBar();},updateLoadingBar(){this.$loader.css({'width':parseInt((100*this.audio.buffered.end(0)/this.audio.duration),10)+'%'});if(this.audio.buffered.end(0)0){this.currentHistoricIndex-=1;this.launch();}},playNext(){if(this.currentHistoricIndex'+(mins<10?'0':'')+mins+':'+(secs<10?'0':'')+secs+'');},onEnded(){void 0;this.emmit('audio-ended');this.stop();},loadNode(nid){this.$cartel.addClass('loading');var vm='player_cartel';var ajax_path=_ajax_settings.entityjson_path+'/node/'+nid+'/'+vm;var path=window.location.origin+Drupal.url(ajax_path);$.getJSON(path,{}).done(this.onNodeLoaded.bind(this)).fail(this.onNodeLoadFail.bind(this));},onNodeLoaded(data){this.$cartel.html(data.rendered).removeClass('loading');_$body.trigger({'type':'new-audio-cartel-loaded'});initAjaxLinks();if(this.auto_open_article){this.$cartel.find('a.link-article').trigger('click');this.auto_open_article=false;}},onNodeLoadFail(jqxhr,textStatus,error){void 0;this.$cartel.removeClass('loading').html('');},setAutoOpenArticle(art){this.auto_open_article=art;return this;},show(){this.$container.addClass('visible');},showHidePreviousBtn(){if(this.historic.length>1&&this.currentHistoricIndex>0){this.$previous.addClass('is-active');}else{this.$previous.removeClass('is-active');}},showHideNextBtn(){if(this.currentHistoricIndex=0;i--){handler=this.event_handlers[event_name][i];setTimeout(function(){handler(args);},0);} -return this;},} -function RandomPlayer(playlist){this.active=false;this.playlist=playlist;this.$btn=$('').html('Shuffle').addClass('random-player-btn');this.init();};RandomPlayer.prototype={init(){$('
').addClass('block random-player').append(this.$btn).prependTo('.region-footer-right');this.$btn.on('click',this.toggleActive.bind(this));_audioPlayer.on('audio-ended',this.onAudioPlayerEnded.bind(this)).on('audio-play-next',this.onAudioPlayNext.bind(this)).on('stop-shuffle',this.stop.bind(this));_$corpus_canvas.on('update-random-playlist',this.updatePlaylist.bind(this));},updatePlaylist(e){this.playlist=e.playlist;this.shuffle();},shuffle(){var tempPLaylist=[];for(var i=this.playlist.length-1;i>=0;i--){tempPLaylist.push(this.playlist[i]);} -this.shuffledPlaylist=[];while(tempPLaylist.length>0){var r=Math.floor(Math.random()*tempPLaylist.length);this.shuffledPlaylist.push(tempPLaylist.splice(r,1)[0]);}},toggleActive(e){if(this.active){this.stop();}else{this.start();}},start(){this.active=_audioPlayer.shuffle_is_active=true;this.$btn.addClass('is-active');this.shuffle();this.next();},stop(){this.active=_audioPlayer.shuffle_is_active=false;this.$btn.removeClass('is-active');},next(){if(this.active&&this.shuffledPlaylist.length>0) -_audioPlayer.openDocument(this.shuffledPlaylist.splice(0,1)[0]);},onAudioPlayNext(){this.next();},onAudioPlayerEnded(){this.next();}};function CompoPlayer(){this.active=false;this.playing=false;this.paused=false;this.playlist=[];this.current_index=0;this.$composer=null;this.$compo=null;this.$controls=null;this.init();};CompoPlayer.prototype={init(){_audioPlayer.on('audio-open-document',this.onAudioOpenDocument.bind(this)).on('audio-play',this.onAudioPlayerPlay.bind(this)).on('audio-pause',this.onAudioPlayerPause.bind(this)).on('audio-ended',this.onAudioPlayerEnded.bind(this));},newCompo(){this.initControls();},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').on('click',this.prev.bind(this)).appendTo(this.$controls);this.$playpause=$('
').addClass('play-pause').on('click',this.togglePlayPause.bind(this)).appendTo(this.$controls);this.$next=$('
').addClass('next').on('click',this.next.bind(this)).appendTo(this.$controls);this.$controls.addClass('ready');this.refresh();this.active=true;}},refresh(){this.stop();this.playlist=[];var that=this;$('.field--name-documents .field__item',this.$compo).each(function(i,el){var $link=$('a.audio-link',this);that.playlist.push({item:$(this),audio_url:$link.attr("audio_url"),nid:$link.attr("nid"),});});this.showHideControls();},togglePlayPause(){if(this.playing&&!this.paused){this.pause();}else{if(this.playing&&this.paused){this.play();}else{this.start();}}},start(){this.playing=true;this.play();},play(){if(this.paused){this.paused=false;_audioPlayer.play();}else{_audioPlayer.openDocument(this.playlist[this.current_index],this);} -this.setActiveItem().showHideControls();},pause(){this.paused=true;this.showHideControls();_audioPlayer.stop();},next(){if(this.playing){this.current_index+=1;if(this.current_index=0){this.play();}else{this.stop();}}},stop(){if(this.playing){_audioPlayer.stop();} -this.reset();},reset(){this.playing=false;this.paused=false;this.resetIndex();},resetIndex(){this.current_index=0;this.showHideControls().resetActiveItems();},setActiveItem(){this.resetActiveItems();if(this.playing&&this.current_index>=0){this.playlist[this.current_index].item.addClass('is-active');} -this.showHideControls();return this;},resetActiveItems(){for(var n=0;n0){this.$playpause.addClass('is-active');}else{this.$playpause.removeClass('is-active');}} -if(this.$next){if(this.playing&&this.playlist.length>1&&this.current_index1&&this.current_index>0){this.$previous.addClass('is-active');}else{this.$previous.removeClass('is-active');}} -return this;},deactivate(){this.stop();this.active=false;},onAudioOpenDocument(args){if(args.caller!==this){this.reset();}},onAudioPlayerPlay(){if(this.playing&&this.paused){this.paused=false;this.showHideControls();}},onAudioPlayerPause(){if(this.playing&&!this.paused){this.paused=true;this.showHideControls();}},onAudioPlayerEnded(){this.next();},};function backToFrontPage(pop_state){void 0;closeAllModals();$('body').removeClass().addClass('path-frontpage');$('a[data-drupal-link-system-path=""]').addClass('is-active');_$corpus_canvas.trigger({'type':'close-all-entree'});if(typeof pop_state=="undefined"||!pop_state){void 0;history.pushState({home:true},null,drupalSettings.path.baseUrl+drupalSettings.path.currentLanguage);}} -function initHome(){addCloseModalBtnToCols();var $grid=$('.grid',_$row).masonry({itemSelector:'.col',columnWidth:'.col-2',horizontalOrder:true,containerStyle:null,});$grid.imagesLoaded().progress(function(){$grid.masonry('layout');});$grid.imagesLoaded(function(){$grid.masonry('layout');});} -function initProductions(){var $grid=$('.grid',_$row).masonry({itemSelector:'.col',columnWidth:'.col-2',horizontalOrder:true,containerStyle:null,});$grid.imagesLoaded().progress(function(){$grid.masonry('layout');});$grid.imagesLoaded(function(){$grid.masonry('layout');});};function initEnregistrementTranscript(){void 0;var $node=_$row.find('article.node--type-enregistrement.node--view-mode-transcript');var $nav=$('