183 lines
No EOL
4.8 KiB
JavaScript
183 lines
No EOL
4.8 KiB
JavaScript
// create filters for maps
|
|
|
|
function switchVisible(category, duration) {
|
|
if (categoryVisible[category] == true) {
|
|
hideCategory(category, duration);
|
|
}
|
|
else if (categoryVisible[category] == false) {
|
|
showCategory(category, duration);
|
|
}
|
|
}
|
|
|
|
function hideCategory(category, duration) {
|
|
if (duration == null) duration = 500;
|
|
Mconsole.graph.eachNode( function (n) {
|
|
if (n.getData('metacode') == category) {
|
|
n.setData('alpha', 0.4, 'end');
|
|
n.eachAdjacency(function(adj) {
|
|
adj.setData('alpha', 0.4, 'end');
|
|
});
|
|
}
|
|
});
|
|
Mconsole.fx.animate({
|
|
modes: ['node-property:alpha',
|
|
'edge-property:alpha'],
|
|
duration: duration
|
|
});
|
|
}
|
|
|
|
function showCategory(category, duration) {
|
|
if (duration == null) duration = 500;
|
|
Mconsole.graph.eachNode( function (n) {
|
|
if (n.getData('metacode') == category) {
|
|
n.setData('alpha', 1, 'end');
|
|
n.eachAdjacency(function(adj) {
|
|
adj.setData('alpha', 1, 'end');
|
|
});
|
|
}
|
|
});
|
|
Mconsole.fx.animate({
|
|
modes: ['node-property:alpha',
|
|
'edge-property:alpha'],
|
|
duration: duration
|
|
});
|
|
}
|
|
|
|
// These functions toggle ALL nodes and synapses on the page
|
|
function hideAll(duration) {
|
|
if (duration == null) duration = 500;
|
|
Mconsole.graph.eachNode( function (n) {
|
|
n.setData('alpha', 0.4, 'end');
|
|
n.eachAdjacency(function(adj) {
|
|
adj.setData('alpha', 0.2, 'end');
|
|
});
|
|
});
|
|
Mconsole.fx.animate({
|
|
modes: ['node-property:alpha',
|
|
'edge-property:alpha'],
|
|
duration: duration
|
|
});
|
|
}
|
|
function showAll(duration) {
|
|
if (duration == null) duration = 500;
|
|
Mconsole.graph.eachNode( function (n) {
|
|
n.setData('alpha', 1, 'end');
|
|
n.eachAdjacency(function(adj) {
|
|
adj.setData('alpha', 0.4, 'end');
|
|
});
|
|
});
|
|
Mconsole.fx.animate({
|
|
modes: ['node-property:alpha',
|
|
'edge-property:alpha'],
|
|
duration: duration
|
|
});
|
|
}
|
|
|
|
function filterTopicsByMap(mapID) {
|
|
Mconsole.graph.eachNode(function (n) {
|
|
if (n.getData('inmaps').indexOf(parseInt(mapID)) !== -1) {
|
|
n.setData('alpha', 1, 'end');
|
|
}
|
|
else {
|
|
n.setData('alpha', 0.4, 'end');
|
|
}
|
|
Mconsole.fx.animate({
|
|
modes: ['node-property:alpha',
|
|
'edge-property:alpha'],
|
|
duration: 500
|
|
});
|
|
});
|
|
} // filterTopicsByName
|
|
|
|
function filterTopicsByMapper(mapperID) {
|
|
Mconsole.graph.eachNode(function (n) {
|
|
if (n.getData('userid').toString() == mapperID) {
|
|
n.setData('alpha', 1, 'end');
|
|
}
|
|
else {
|
|
n.setData('alpha', 0.4, 'end');
|
|
}
|
|
Mconsole.fx.animate({
|
|
modes: ['node-property:alpha',
|
|
'edge-property:alpha'],
|
|
duration: 500
|
|
});
|
|
});
|
|
} // filterTopicsByName
|
|
|
|
function filterTopicsByName(searchQuery) {
|
|
Mconsole.graph.eachNode(function (n) {
|
|
nodeName = n.name.toLowerCase();
|
|
if (nodeName.indexOf(searchQuery) !== -1 && searchQuery != "") {
|
|
n.setData('alpha', 1, 'end');
|
|
}
|
|
else {
|
|
n.setData('alpha', 0.4, 'end');
|
|
}
|
|
Mconsole.fx.animate({
|
|
modes: ['node-property:alpha',
|
|
'edge-property:alpha'],
|
|
duration: 500
|
|
});
|
|
});
|
|
} // filterTopicsByName
|
|
|
|
function clearCanvas() {
|
|
Mconsole.graph.eachNode(function(n) {
|
|
Mconsole.graph.removeNode(n.id);
|
|
});
|
|
Mconsole.plot();
|
|
}
|
|
|
|
function clearCanvasExceptRoot() {
|
|
var ids = new Array();
|
|
Mconsole.graph.eachNode(function(n) {
|
|
ids.push(n.id);
|
|
});
|
|
|
|
var root = Mconsole.graph.nodes[Mconsole.root];
|
|
ids.forEach(function(id, index) {
|
|
if (id != root.id) {
|
|
Mconsole.graph.removeNode(id);
|
|
}
|
|
});
|
|
fetchRelatives(root); //also runs Mconsole.plot()
|
|
}
|
|
|
|
/**
|
|
* Define all the dynamic interactions for the Filter By Metacode using Jquery
|
|
*/
|
|
|
|
$(document).ready(function() {
|
|
$('.sidebarFilterBox .showAll').click(function(e) {
|
|
showAll();
|
|
$('#filter_by_metacode ul li').removeClass('toggledOff');
|
|
for (var catVis in categoryVisible) {
|
|
categoryVisible[catVis] = true;
|
|
}
|
|
});
|
|
$('.sidebarFilterBox .hideAll').click(function(e) {
|
|
hideAll();
|
|
$('#filter_by_metacode ul li').addClass('toggledOff');
|
|
for (var catVis in categoryVisible) {
|
|
categoryVisible[catVis] = false;
|
|
}
|
|
});
|
|
|
|
// toggle visibility of topics with metacodes based on status in the filters list
|
|
$('#filter_by_metacode ul li').click(function(event) {
|
|
|
|
var category = $(this).children('img').attr('alt');
|
|
switchVisible(category);
|
|
|
|
// toggle the image and the boolean array value
|
|
if (categoryVisible[category] == true) {
|
|
$(this).addClass('toggledOff');
|
|
categoryVisible[category] = false;
|
|
}
|
|
else if (categoryVisible[category] == false) {
|
|
$(this).removeClass('toggledOff');
|
|
categoryVisible[category] = true;
|
|
}
|
|
});
|
|
}); |