bespoke-substeps
Advanced tools
128
dom.js
@@ -46,69 +46,71 @@ 'use strict'; | ||
module.exports = function (deck/*, options*/) { | ||
var activeSubstep = 0; | ||
module.exports = function (/*options*/) { | ||
return function (deck) { | ||
var activeSubstep = 0; | ||
deck.on('activate', function (e) { | ||
var substep = toPositiveInteger(e.substep); | ||
getSubsteps(e.slide).forEach(function (els, index) { | ||
var current = substep === index + 1 | ||
, isAfter = substep > index; | ||
if (els.activate) { | ||
els.activate.forEach(function (el) { | ||
el.classList[isAfter ? 'add' : 'remove']('active'); | ||
el.classList[isAfter ? 'remove' : 'add']('inactive'); | ||
deck.on('activate', function (e) { | ||
var substep = toPositiveInteger(e.substep); | ||
getSubsteps(e.slide).forEach(function (els, index) { | ||
var current = substep === index + 1 | ||
, isAfter = substep > index; | ||
if (els.activate) { | ||
els.activate.forEach(function (el) { | ||
el.classList[isAfter ? 'add' : 'remove']('active'); | ||
el.classList[isAfter ? 'remove' : 'add']('inactive'); | ||
}); | ||
} | ||
if (els.deactivate) { | ||
els.deactivate.forEach(function (el) { | ||
el.classList[isAfter ? 'remove' : 'add']('active'); | ||
el.classList[isAfter ? 'add' : 'remove']('inactive'); | ||
}); | ||
} | ||
if (els.insert) { | ||
els.insert.forEach(function (el) { | ||
el.classList[isAfter ? 'add' : 'remove']('inserted'); | ||
el.classList[isAfter ? 'remove' : 'add']('removed'); | ||
}); | ||
} | ||
if (els.remove) { | ||
els.remove.forEach(function (el) { | ||
el.classList[isAfter ? 'remove' : 'add']('inserted'); | ||
el.classList[isAfter ? 'add' : 'remove']('removed'); | ||
}); | ||
} | ||
if (els.mark) { | ||
els.mark.forEach(function (el) { | ||
el.classList[current ? 'add' : 'remove']('marked'); | ||
el.classList[current ? 'remove' : 'add']('unmarked'); | ||
}); | ||
} | ||
if (els.class) { | ||
els.class.forEach(function (data) { | ||
data.el.classList[current ? 'add' : 'remove'](data.name); | ||
}); | ||
} | ||
}); | ||
activeSubstep = substep; | ||
}); | ||
deck.on('next', function () { | ||
var activeSlide = deck.slide(); | ||
if (!getSubsteps(deck.slides[activeSlide])[activeSubstep]) return; | ||
deck.slide(activeSlide, { substep: activeSubstep + 1 }); | ||
return false; | ||
}); | ||
deck.on('prev', function () { | ||
var activeSlide = deck.slide(); | ||
if (!activeSlide) return; | ||
if (!activeSubstep) { | ||
--activeSlide; | ||
deck.slide(activeSlide, { | ||
substep: getSubsteps(deck.slides[activeSlide]).length | ||
}); | ||
} else { | ||
deck.slide(activeSlide, { substep: activeSubstep - 1 }); | ||
} | ||
if (els.deactivate) { | ||
els.deactivate.forEach(function (el) { | ||
el.classList[isAfter ? 'remove' : 'add']('active'); | ||
el.classList[isAfter ? 'add' : 'remove']('inactive'); | ||
}); | ||
} | ||
if (els.insert) { | ||
els.insert.forEach(function (el) { | ||
el.classList[isAfter ? 'add' : 'remove']('inserted'); | ||
el.classList[isAfter ? 'remove' : 'add']('removed'); | ||
}); | ||
} | ||
if (els.remove) { | ||
els.remove.forEach(function (el) { | ||
el.classList[isAfter ? 'remove' : 'add']('inserted'); | ||
el.classList[isAfter ? 'add' : 'remove']('removed'); | ||
}); | ||
} | ||
if (els.mark) { | ||
els.mark.forEach(function (el) { | ||
el.classList[current ? 'add' : 'remove']('marked'); | ||
el.classList[current ? 'remove' : 'add']('unmarked'); | ||
}); | ||
} | ||
if (els.class) { | ||
els.class.forEach(function (data) { | ||
data.el.classList[current ? 'add' : 'remove'](data.name); | ||
}); | ||
} | ||
return false; | ||
}); | ||
activeSubstep = substep; | ||
}); | ||
deck.on('next', function () { | ||
var activeSlide = deck.slide(); | ||
if (!getSubsteps(deck.slides[activeSlide])[activeSubstep]) return; | ||
deck.slide(activeSlide, { substep: activeSubstep + 1 }); | ||
return false; | ||
}); | ||
deck.on('prev', function () { | ||
var activeSlide = deck.slide(); | ||
if (!activeSlide) return; | ||
if (!activeSubstep) { | ||
--activeSlide; | ||
deck.slide(activeSlide, { | ||
substep: getSubsteps(deck.slides[activeSlide]).length | ||
}); | ||
} else { | ||
deck.slide(activeSlide, { substep: activeSubstep - 1 }); | ||
} | ||
return false; | ||
}); | ||
}; | ||
}; |
{ | ||
"name": "bespoke-substeps", | ||
"version": "0.1.3", | ||
"version": "0.2.0", | ||
"description": "Substeps for Bespoke.js presentations", | ||
@@ -18,8 +18,8 @@ "author": "Mariusz Nowak <medyk@medikoo.com> (http://www.medikoo.com/)", | ||
"es5-ext": "~0.10.4", | ||
"memoizee": "~0.3.2" | ||
"memoizee": "~0.3.7" | ||
}, | ||
"peerDependencies": { | ||
"bespoke": "0.4.x" | ||
"bespoke": "1" | ||
}, | ||
"license": "MIT" | ||
} |
@@ -27,7 +27,7 @@ # bespoke-substeps | ||
```javascript | ||
bespoke.plugins.substeps = require('bespoke-substeps'); | ||
var substeps = require('bespoke-substeps'); | ||
bespoke.from(selector, { | ||
substeps: true | ||
}); | ||
bespoke.from(selector, [ | ||
substeps() | ||
]); | ||
``` | ||
@@ -34,0 +34,0 @@ |
Sorry, the diff of this file is not supported yet
235963
0.05%152
1.33%