webvowl / src /app /js /menu /pauseMenu.js
taferh's picture
add application files
fe66731
/**
* Contains the logic for the pause and resume button.
*
* @param graph the associated webvowl graph
* @returns {{}}
*/
module.exports = function ( graph ){
var pauseMenu = {},
pauseButton;
/**
* Adds the pause button to the website.
*/
pauseMenu.setup = function (){
var menuEntry = d3.select("#pauseOption");
menuEntry.on("mouseover", function (){
var searchMenu = graph.options().searchMenu();
searchMenu.hideSearchEntries();
});
pauseButton = d3.select("#pause-button")
.datum({ paused: false })
.on("click", function ( d ){
graph.paused(!d.paused);
d.paused = !d.paused;
updatePauseButton();
pauseButton.classed("highlighted", d.paused);
});
// Set these properties the first time manually
updatePauseButton();
};
pauseMenu.setPauseValue = function ( value ){
pauseButton.datum().paused = value;
graph.paused(value);
pauseButton.classed("highlighted", value);
updatePauseButton();
};
function updatePauseButton(){
updatePauseButtonClass();
updatePauseButtonText();
}
function updatePauseButtonClass(){
pauseButton.classed("paused", function ( d ){
return d.paused;
});
}
function updatePauseButtonText(){
if ( pauseButton.datum().paused ) {
pauseButton.text("Resume");
} else {
pauseButton.text("Pause");
}
}
pauseMenu.reset = function (){
// resuming
pauseMenu.setPauseValue(false);
};
return pauseMenu;
};