File size: 1,547 Bytes
fe66731 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
/**
* 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;
};
|