| 
					
				 | 
			
			
				@@ -15,6 +15,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       start:0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       end:0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var _corpus_promise; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //  ___      _ _ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // |_ _|_ _ (_) |_ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -23,6 +24,11 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     function init(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       console.log("EdlpTheme init()"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!drupalSettings.path.isFront) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      _deferred = initEvents(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       _audioPlayer = new AudioPlayer(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       _compoPlayer = new CompoPlayer(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -30,11 +36,10 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       initHistory(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if(!drupalSettings.path.isFront) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      initEvents(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // if(!drupalSettings.path.isFront) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //   return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // initEvents(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //  ___             _ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -42,8 +47,15 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // | _|\ V / -_) ' \  _(_-< 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // |___|\_/\___|_||_\__/__/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     function initEvents(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // https://www.html5rocks.com/en/tutorials/async/deferred/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      var $corpus_df = $.Deferred(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      _corpus_promise = $corpus_df.promise(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       _$body 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        .on('corpus-map-ready', onCorpusMapReady) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        .on('corpus-map-ready', function(e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          onCorpusMapReady(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          $corpus_df.resolve(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         .on('on-studio-chutier-updated', initAjaxLinks) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         .on('studio-initialized', function(e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           _compoPlayer.newCompo(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -247,6 +259,22 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           $('a[data-drupal-link-system-path="'+menu_sys_path+'"]').addClass('is-active-trail'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // if entity has corpus-map's linked document call a filter to corpus map 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(typeof data.documents_lies != 'undefined'){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(_corpus_ready){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          _$body.trigger({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            type:'ajax-node-loaded-linked-documents', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            nids:data.documents_lies 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          _corpus_promise.done(function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _$body.trigger({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              type:'ajax-node-loaded-linked-documents', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              nids:data.documents_lies 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       // if block attached (eg : from edlp_productions module) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       // not used anymore as production block is always present (but not visible) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -378,12 +406,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       // remove the col 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       $col.remove(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      // if row is empty and we are not in productions or entree notice|index call closeAllModals() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if(!$('.col', _$row).length 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        && !_$body.is('.entity-type-node.bundle-page') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        && !_$body.is('.entity-type-taxonomy_term.bundle-entrees')){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          backToFrontPage(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      checkRowEmpty(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //    _    _            ___ _         _ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -625,6 +648,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // | (__/ _ \ '_| '_ \ || (_-< 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //  \___\___/_| | .__/\_,_/__/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //              |_| 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     function onCorpusMapReady(e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       //console.log('theme : onCorpusReady', e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       _corpus_ready = true; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1335,53 +1359,6 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       // } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //  ___            _   ___ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // | __| _ ___ _ _| |_| _ \__ _ __ _ ___ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // | _| '_/ _ \ ' \  _|  _/ _` / _` / -_) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // |_||_| \___/_||_\__|_| \__,_\__, \___| 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //                             |___/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    function backToFrontPage(pop_state){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      console.log('backToFrontPage', pop_state); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      closeAllModals(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      // assume we are going back to front page 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      $('body').removeClass().addClass('path-frontpage'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      $('a[data-drupal-link-system-path="<front>"]').addClass('is-active'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      // close entrees 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      _$corpus_canvas.trigger({'type':'close-all-entree'}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if(typeof pop_state == "undefined" || !pop_state){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        console.log('backToFrontPage push state'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        history.pushState({home:true}, null, drupalSettings.path.baseUrl+drupalSettings.path.currentLanguage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    function initHome(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      addCloseModalBtnToCols(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      // console.log('theme : initHome'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      // console.log('theme : initProductions'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      var $grid = $('.grid',_$row).masonry({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        itemSelector:'.col', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        columnWidth:'.col-2', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        horizontalOrder: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        containerStyle: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // disable initial layout 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // initLayout: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      // bind event 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      // $grid.masonry( 'on', 'layoutComplete', function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      //   console.log('layout is complete'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      // }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      // layout Masonry after each image loads 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      $grid.imagesLoaded().progress( function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $grid.masonry('layout'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      $grid.imagesLoaded(function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $grid.masonry('layout'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //  ___             _         _   _ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // | _ \_ _ ___  __| |_  _ __| |_(_)___ _ _  ___ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // |  _/ '_/ _ \/ _` | || / _|  _| / _ \ ' \(_-< 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1434,6 +1411,54 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //  ___            _   ___ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // | __| _ ___ _ _| |_| _ \__ _ __ _ ___ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // | _| '_/ _ \ ' \  _|  _/ _` / _` / -_) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // |_||_| \___/_||_\__|_| \__,_\__, \___| 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //                             |___/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    function backToFrontPage(pop_state){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      console.log('backToFrontPage', pop_state); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      closeAllModals(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // assume we are going back to front page 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $('body').removeClass().addClass('path-frontpage'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $('a[data-drupal-link-system-path="<front>"]').addClass('is-active'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // close entrees 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      _$corpus_canvas.trigger({'type':'close-all-entree'}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      _$corpus_canvas.trigger({'type':'scramble-collection'}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(typeof pop_state == "undefined" || !pop_state){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        console.log('backToFrontPage push state'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        history.pushState({home:true}, null, drupalSettings.path.baseUrl+drupalSettings.path.currentLanguage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    function initHome(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      addCloseModalBtnToCols(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // console.log('theme : initHome'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // console.log('theme : initProductions'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      var $grid = $('.grid',_$row).masonry({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        itemSelector:'.col', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        columnWidth:'.col-2', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        horizontalOrder: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        containerStyle: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // disable initial layout 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // initLayout: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // bind event 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // $grid.masonry( 'on', 'layoutComplete', function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //   console.log('layout is complete'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // layout Masonry after each image loads 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $grid.imagesLoaded().progress( function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $grid.masonry('layout'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $grid.imagesLoaded(function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $grid.masonry('layout'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //  __  __         _      _ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // |  \/  |___  __| |__ _| |___ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // | |\/| / _ \/ _` / _` | (_-< 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1444,6 +1469,21 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       _$row.html(''); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       _$ajaxLinks.removeClass('is-active'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       _$body.trigger({'type':'all-modal-closed'}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // checkRowEmpty(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    function checkRowEmpty(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // TODO: remove is-active class from index or notice entree links 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // if row is empty and we are not in productions or entree notice|index call closeAllModals() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!$('.col', _$row).length && !_$body.is('.entity-type-taxonomy_term.bundle-entrees')){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(!_$body.is('.entity-type-node.bundle-page')){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          // we weren't on production or entree, so go back to front page 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          backToFrontPage(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          // if we were on production page just scramble collection in case of map was filtered 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          _$corpus_canvas.trigger({'type':'scramble-collection'}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //  _  _     _ 
			 |