fixed cloing entree history nav

This commit is contained in:
Bachir Soussi Chiadmi
2018-04-12 23:54:45 +02:00
parent 97dd8cdf97
commit d485286289
5 changed files with 30 additions and 36 deletions
@@ -616,9 +616,7 @@
// | __|_ _| |_ _ _ ___ ___ ___
// | _|| ' \ _| '_/ -_) -_|_-<
// |___|_||_\__|_| \___\___/__/
// TODO : this functionn is not clear as it should be called toggleEntry
function openEntree(tid, bubbling){
//var $link = $('a.term-link[tid="'+tid+'"]');
function toggleEntree(tid, bubbling){
var $link = _$entrees_block_termlinks.filter('[tid="'+tid+'"]');
var $li = $link.parents('li');
var sys_path = $link.attr('data-drupal-link-system-path');
@@ -630,6 +628,7 @@
if(bubbling){
_$body.trigger({'type':'open_entree', 'tid':tid, 'url':url, 'sys_path':sys_path});
}
// bubbling is true only when event is a real click on entree link
}else if(bubbling){
$li.removeClass('opened');
scrambleCollection();
@@ -696,20 +695,14 @@
// |___/\__|_| \__,_|_|_|_|_.__/_|_|_||_\__, |
// |___/
function scrambleCollection(){
console.log('scrambleCollection');
// console.log('scrambleCollection');
for (var i = 0; i < _nodes.length; i++) {
_nodes[i].scramble();
}
// setTimeout(stopScrambling, 2000);
// stopScrambling();
};
// function stopScrambling(){
// for (var i = 0; i < _nodes.length; i++) {
// setTimeout(function(n){
// n.stopScrambling();
// }.bind(this, _nodes[i]), 1000 + Math.random()*4000);
// }
// };
function closeAllEntries(){
_$entrees_block_termlinks.each(function(index, el) {
if($(this).parents('li').is('.opened')){
@@ -821,7 +814,7 @@
closeNode();
})
.on('open-entree', function(e){
openEntree(e.tid);
toggleEntree(e.tid);
})
.on('close-all-entree', function(e){
closeAllEntries();
@@ -830,7 +823,7 @@
_$entrees_block_termlinks.on('click', function(event) {
// console.log('_$entrees_block_termlinks click', this);
event.preventDefault();
openEntree($(this).attr('tid'), true);
toggleEntree($(this).attr('tid'), true);
// var $link = $(this);
// var tid = $link.attr('tid');
// var $li = $link.parents('li');
@@ -839,7 +832,7 @@
// if(!$li.is('.opened')){
// _$entrees_block_termlinks.parents('li').removeClass('opened');
// $li.addClass('opened');
// openEntree(tid);
// toggleEntree(tid);
// _$body.trigger({'type':'open_entree', 'tid':tid, 'url':url, 'sys_path':sys_path});
// }else{
// $li.removeClass('opened');
@@ -616,9 +616,7 @@
// | __|_ _| |_ _ _ ___ ___ ___
// | _|| ' \ _| '_/ -_) -_|_-<
// |___|_||_\__|_| \___\___/__/
// TODO : this functionn is not clear as it should be called toggleEntry
function openEntree(tid, bubbling){
//var $link = $('a.term-link[tid="'+tid+'"]');
function toggleEntree(tid, bubbling){
var $link = _$entrees_block_termlinks.filter('[tid="'+tid+'"]');
var $li = $link.parents('li');
var sys_path = $link.attr('data-drupal-link-system-path');
@@ -630,6 +628,7 @@
if(bubbling){
_$body.trigger({'type':'open_entree', 'tid':tid, 'url':url, 'sys_path':sys_path});
}
// bubbling is true only when event is a real click on entree link
}else if(bubbling){
$li.removeClass('opened');
scrambleCollection();
@@ -696,20 +695,14 @@
// |___/\__|_| \__,_|_|_|_|_.__/_|_|_||_\__, |
// |___/
function scrambleCollection(){
console.log('scrambleCollection');
// console.log('scrambleCollection');
for (var i = 0; i < _nodes.length; i++) {
_nodes[i].scramble();
}
// setTimeout(stopScrambling, 2000);
// stopScrambling();
};
// function stopScrambling(){
// for (var i = 0; i < _nodes.length; i++) {
// setTimeout(function(n){
// n.stopScrambling();
// }.bind(this, _nodes[i]), 1000 + Math.random()*4000);
// }
// };
function closeAllEntries(){
_$entrees_block_termlinks.each(function(index, el) {
if($(this).parents('li').is('.opened')){
@@ -821,7 +814,7 @@
closeNode();
})
.on('open-entree', function(e){
openEntree(e.tid);
toggleEntree(e.tid);
})
.on('close-all-entree', function(e){
closeAllEntries();
@@ -830,7 +823,7 @@
_$entrees_block_termlinks.on('click', function(event) {
// console.log('_$entrees_block_termlinks click', this);
event.preventDefault();
openEntree($(this).attr('tid'), true);
toggleEntree($(this).attr('tid'), true);
// var $link = $(this);
// var tid = $link.attr('tid');
// var $li = $link.parents('li');
@@ -839,7 +832,7 @@
// if(!$li.is('.opened')){
// _$entrees_block_termlinks.parents('li').removeClass('opened');
// $li.addClass('opened');
// openEntree(tid);
// toggleEntree(tid);
// _$body.trigger({'type':'open_entree', 'tid':tid, 'url':url, 'sys_path':sys_path});
// }else{
// $li.removeClass('opened');
@@ -348,7 +348,7 @@
function onHistoryPopState(e){
console.log('onPopState',e.state);
if(e.state.home){
backToFrontPage();
backToFrontPage(true);
}else{
if(e.state.entree_tid){
openEntree(e.state.entree_tid);
@@ -369,7 +369,8 @@
function initAjaxLinks(){
// console.log('initAjaxLinks');
$('a', '#block-mainnavigation')
$('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')
@@ -1070,13 +1071,16 @@
// | _| '_/ _ \ ' \ _| _/ _` / _` / -_)
// |_||_| \___/_||_\__|_| \__,_\__, \___|
// |___/
function backToFrontPage(){
function 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(!pop_state){
history.pushState({home:true}, null, window.location.origin);
}
}
function initHome(){
@@ -348,7 +348,7 @@
function onHistoryPopState(e){
console.log('onPopState',e.state);
if(e.state.home){
backToFrontPage();
backToFrontPage(true);
}else{
if(e.state.entree_tid){
openEntree(e.state.entree_tid);
@@ -369,7 +369,8 @@
function initAjaxLinks(){
// console.log('initAjaxLinks');
$('a', '#block-mainnavigation')
$('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')
@@ -1070,13 +1071,16 @@
// | _| '_/ _ \ ' \ _| _/ _` / _` / -_)
// |_||_| \___/_||_\__|_| \__,_\__, \___|
// |___/
function backToFrontPage(){
function 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(!pop_state){
history.pushState({home:true}, null, window.location.origin);
}
}
function initHome(){
@@ -17,12 +17,12 @@
{% if site_logo or site_name %}
<h1>
{% if site_logo %}
<a href="{{ path('<front>') }}" title="{{ 'Home'|t }}" rel="home" class="site-logo">
<a href="{{ path('<front>') }}" title="{{ 'Home'|t }}" rel="home" class="site-logo" data-drupal-link-system-path="<front>">
<img src="{{ site_logo }}" alt="{{ 'Home'|t }}" />
</a>
{% endif %}
{% if site_name %}
<a class="site-name" href="{{ path('<front>') }}" title="{{ 'Home'|t }}" rel="home">{{ site_name }}</a>
<a class="site-name" href="{{ path('<front>') }}" title="{{ 'Home'|t }}" rel="home" data-drupal-link-system-path="<front>">{{ site_name }}</a>
{% endif %}
</h1>
{% endif %}