@jlongster/spectacle
Version:
ReactJS Powered Presentation Framework
40 lines (31 loc) • 1.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.countSlides = exports.getSlideByIndex = undefined;
var _react = require("react");
var _isUndefined = require("lodash/isUndefined");
var _isUndefined2 = _interopRequireDefault(_isUndefined);
var _reduce = require("lodash/reduce");
var _reduce2 = _interopRequireDefault(_reduce);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var getSlideByIndex = exports.getSlideByIndex = function getSlideByIndex(children, slideReference, index) {
children = _react.Children.toArray(children);
var slide = void 0;
var reference = slideReference[index];
if (reference) {
if ((0, _isUndefined2.default)(reference.setIndex)) {
slide = children[reference.rootIndex];
} else {
var setChildren = _react.Children.toArray(children[reference.rootIndex].props.children);
slide = setChildren[reference.setIndex];
}
}
return slide;
};
var countSlides = exports.countSlides = function countSlides(children) {
return (0, _reduce2.default)(_react.Children.toArray(children), function (count, child) {
count += child.props.hasSlideChildren ? _react.Children.toArray(child.props.children).length : 1;
return count;
}, 0);
};