production page can now filter the cospus map

This commit is contained in:
2018-04-23 20:38:32 +02:00
parent cd374d7de8
commit afac7f57b0
7 changed files with 297 additions and 165 deletions
@@ -176,7 +176,9 @@ class EdlpAjaxController extends ControllerBase {
'rendered'=> $rendered,
];
// if content type page (productions) get the menu items and linked dates
// if content type page (productions) :
// -- get the menu items and linked dates
// -- get the linked documents for corpus map
if($this->bundle == "page"){
$menuLinkManager = \Drupal::service('plugin.manager.menu.link');
$links = $menuLinkManager->loadLinksByRoute('entity.node.canonical', array('node' => $this->id), 'productions');
@@ -195,6 +197,15 @@ class EdlpAjaxController extends ControllerBase {
}
}
$data['menu_parents'] = $menu_parents;
// Documents liés
$documents_lies = $this->entity->get('field_documents_lies')->getValue();
if(count($documents_lies)){
foreach ($documents_lies as $key => $field) {
$data['documents_lies'][] = $field['target_id'];
}
}
}
// translations links
@@ -47,6 +47,8 @@
var _nodes_centered = [];
var _nodes_centered_attractions = [];
var _loaded = false;
var _playlist = [];
var _p_velocity_factor = 0.5;
@@ -63,15 +65,6 @@
var _ecolors = _settings.colors;
// Physics
var _attracter;
// _repulser_top,
// _repulser_center,
// _repulser_bottom,
// _scrambler_TL,
// _scrambler_TR,
// _scrambler_BR,
// _scrambler_BL,
// _scrambler_CL,
// _scrambler_CR;
var check_parts_colid_frq = 2;
var check_parts_colid_tick = 1;
@@ -109,14 +102,14 @@
_canvas.height = _scene_props.height*_dpi;
_ctx.scale(_dpi, _dpi);
if(_nodes.length){
if(_loaded){
for (var i = 0; i < _nodes.length; i++) {
_nodes[i].onResizeCanvas();
}
// move _attracter and _repulser to the center again
// move _attracter and _repulser to their right places again
resizePhysics();
}
};
// ___
@@ -152,6 +145,7 @@
initEvents();
checkPreOpenedEntry();
startAnime();
_loaded = true;
};
// ___ _ _
@@ -329,8 +323,8 @@
Node.prototype.onResizeCanvas = function(){
this.calcWallLimits();
// TODO: scramble only if not aside or centered
this.shuffleOriP();
// TODO: when canvas is smaller what about nodes hors champs, they are coming back alone but it's too long
};
Node.prototype.shuffleOriP = function(){
@@ -503,7 +497,7 @@
this.wall_bouncing_elasticity = 0.15;
}
Node.prototype.unsetAside = function(){
console.log('unsetAside');
// console.log('unsetAside');
this.aside = false;
this.ori_p_attract.on = false;
this.ori_p.position.x = this.ori_pos.x;
@@ -511,6 +505,18 @@
// this.unFade();
}
Node.prototype.resolveNormalPos = function(){
// console.log("resolveNormalPos");
switch(true){
case this.center:
this.unsetCentered();
break;
case this.aside:
this.unsetAside();
break;
}
};
Node.prototype.scramble = function(){
this.scrambling = true;
this.unsetCentered();
@@ -811,7 +817,8 @@
// / __| ___ __ _ _ _ __| |_
// \__ \/ -_) _` | '_/ _| ' \
// |___/\___\__,_|_| \__|_||_|
function filterSearchResults(nids){
// and ajax modal content filtering
function filterByNids(nids){
shutDownArticles();
_nodes_centered = [];
@@ -833,6 +840,13 @@
// \__ \/ _| '_/ _` | ' \| '_ \ | | ' \/ _` |
// |___/\__|_| \__,_|_|_|_|_.__/_|_|_||_\__, |
// |___/
// function resolveNormalPosAllNodes(){
// console.log('resolveNormalPosAllNodes');
// for (var i = 0; i < _nodes.length; i++) {
// _nodes[i].resolveNormalPos();
// }
// };
function scrambleCollection(){
// console.log('scrambleCollection');
for (var i = 0; i < _nodes.length; i++) {
@@ -980,6 +994,11 @@
})
.on('close-all-entree', function(e){
closeAllEntries();
})
.on('scramble-collection', function(e){
console.log('scramble-collection', e);
// resolveNormalPosAllNodes();
scrambleCollection();
});
_$entrees_block_termlinks.on('click', function(event) {
@@ -1008,10 +1027,15 @@
.on('chutier-action-done', function(e) {
_nodes_by_nid[e.target_id].chutier_action = e.new_action;
})
.on('ajax-node-loaded-linked-documents', function(e){
console.log("Edlp Corpus, ajax-node-loaded-linked-documents",e.nids);
// filter map's nodes
filterByNids(e.nids);
})
.on('search-results-loaded', function(e){
//console.log("Edlp Corpus, search-results-loaded",e.results);
// TODO: filter map's nodes
filterSearchResults(e.results);
// filter map's nodes
filterByNids(e.results);
})
.on('search-closed', function(e){
scrambleCollection();
@@ -47,6 +47,8 @@
var _nodes_centered = [];
var _nodes_centered_attractions = [];
var _loaded = false;
var _playlist = [];
var _p_velocity_factor = 0.5;
@@ -63,15 +65,6 @@
var _ecolors = _settings.colors;
// Physics
var _attracter;
// _repulser_top,
// _repulser_center,
// _repulser_bottom,
// _scrambler_TL,
// _scrambler_TR,
// _scrambler_BR,
// _scrambler_BL,
// _scrambler_CL,
// _scrambler_CR;
var check_parts_colid_frq = 2;
var check_parts_colid_tick = 1;
@@ -109,14 +102,14 @@
_canvas.height = _scene_props.height*_dpi;
_ctx.scale(_dpi, _dpi);
if(_nodes.length){
if(_loaded){
for (var i = 0; i < _nodes.length; i++) {
_nodes[i].onResizeCanvas();
}
// move _attracter and _repulser to the center again
// move _attracter and _repulser to their right places again
resizePhysics();
}
};
// ___
@@ -152,6 +145,7 @@
initEvents();
checkPreOpenedEntry();
startAnime();
_loaded = true;
};
// ___ _ _
@@ -329,8 +323,8 @@
Node.prototype.onResizeCanvas = function(){
this.calcWallLimits();
// TODO: scramble only if not aside or centered
this.shuffleOriP();
// TODO: when canvas is smaller what about nodes hors champs, they are coming back alone but it's too long
};
Node.prototype.shuffleOriP = function(){
@@ -503,7 +497,7 @@
this.wall_bouncing_elasticity = 0.15;
}
Node.prototype.unsetAside = function(){
console.log('unsetAside');
// console.log('unsetAside');
this.aside = false;
this.ori_p_attract.on = false;
this.ori_p.position.x = this.ori_pos.x;
@@ -511,6 +505,18 @@
// this.unFade();
}
Node.prototype.resolveNormalPos = function(){
// console.log("resolveNormalPos");
switch(true){
case this.center:
this.unsetCentered();
break;
case this.aside:
this.unsetAside();
break;
}
};
Node.prototype.scramble = function(){
this.scrambling = true;
this.unsetCentered();
@@ -811,7 +817,8 @@
// / __| ___ __ _ _ _ __| |_
// \__ \/ -_) _` | '_/ _| ' \
// |___/\___\__,_|_| \__|_||_|
function filterSearchResults(nids){
// and ajax modal content filtering
function filterByNids(nids){
shutDownArticles();
_nodes_centered = [];
@@ -833,6 +840,13 @@
// \__ \/ _| '_/ _` | ' \| '_ \ | | ' \/ _` |
// |___/\__|_| \__,_|_|_|_|_.__/_|_|_||_\__, |
// |___/
// function resolveNormalPosAllNodes(){
// console.log('resolveNormalPosAllNodes');
// for (var i = 0; i < _nodes.length; i++) {
// _nodes[i].resolveNormalPos();
// }
// };
function scrambleCollection(){
// console.log('scrambleCollection');
for (var i = 0; i < _nodes.length; i++) {
@@ -980,6 +994,11 @@
})
.on('close-all-entree', function(e){
closeAllEntries();
})
.on('scramble-collection', function(e){
console.log('scramble-collection', e);
// resolveNormalPosAllNodes();
scrambleCollection();
});
_$entrees_block_termlinks.on('click', function(event) {
@@ -1008,10 +1027,15 @@
.on('chutier-action-done', function(e) {
_nodes_by_nid[e.target_id].chutier_action = e.new_action;
})
.on('ajax-node-loaded-linked-documents', function(e){
console.log("Edlp Corpus, ajax-node-loaded-linked-documents",e.nids);
// filter map's nodes
filterByNids(e.nids);
})
.on('search-results-loaded', function(e){
//console.log("Edlp Corpus, search-results-loaded",e.results);
// TODO: filter map's nodes
filterSearchResults(e.results);
// filter map's nodes
filterByNids(e.results);
})
.on('search-closed', function(e){
scrambleCollection();