-
Notifications
You must be signed in to change notification settings - Fork 0
/
processingutils.js
42 lines (33 loc) · 1.34 KB
/
processingutils.js
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
var ProcessingUtils = ProcessingUtils || (function () {
var ProcessingUtils = {};
ProcessingUtils.isSlideHavingState = function isSlideHavingState(stateName) {
return Reveal.getCurrentSlide().getAttribute("data-state") === stateName;
}
ProcessingUtils.getFragmentIndex = function getFragmentIdx(event) {
return parseInt(event.fragment.getAttribute("data-fragment-index"), 10);
}
ProcessingUtils.addAsyncLoadOnStateOfPdeToCanvas = function(stateName, pdeUrl, canvasId) {
Reveal.addEventListener(stateName, function() {
var heapcanvas = document.getElementById(canvasId);
if (!Processing.getInstanceById(canvasId)) {
var request = new XMLHttpRequest();
request.open("GET", pdeUrl);
request.addEventListener("load", function(event) {
processing = new Processing(canvasId, request.responseText);
processing.activate();
});
request.send();
} else {
Processing.getInstanceById(canvasId).setup();
}
}, false );
}
ProcessingUtils.registerFragmentHandler = function(canvasId, slideStateName) {
Reveal.addEventListener( 'fragmentshown', function( event ) {
if (ProcessingUtils.isSlideHavingState(slideStateName)) {
Processing.getInstanceById(canvasId).activateAnimationsForFragmentIndex(ProcessingUtils.getFragmentIndex(event));
}
} );
}
return ProcessingUtils;
})();