@patternplate/client
Version:
Universal javascript client application for patternplate
47 lines (35 loc) • 1.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _widgets = require("@patternplate/widgets");
var _reactRedux = require("react-redux");
var _reselect = require("reselect");
var _pool = require("../selectors/pool");
var _default = (0, _reactRedux.connect)(mapState)(_widgets.ComponentDemo);
exports.default = _default;
const selectGet = (0, _reselect.createSelector)(_pool.flat, pool => id => pool.filter(p => p.contentType === "pattern").find(pattern => pattern.id === id));
const selectSrc = (0, _reselect.createSelector)(selectGet, state => state.base, (get, base) => {
return id => {
const item = get(id);
if (!item) {
return null;
}
if (item.contentType !== "pattern") {
return null;
}
return `${prefix(base)}/api/demo/${item.id}.html`;
};
});
function prefix(base) {
return base.charAt(base.length - 1) === "/" ? base.slice(0, base.length - 1) : base;
}
function mapState(state) {
return {
get: selectGet(state),
src: selectSrc(state),
reload: state.isStatic ? null : true
};
}
//# sourceMappingURL=component-demo-widget.js.map