patternplate-client
Version:
Universal javascript client application for patternplate
110 lines (85 loc) • 9.76 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
var _keys = require('babel-runtime/core-js/object/keys');
var _keys2 = _interopRequireDefault(_keys);
var _slicedToArray2 = require('babel-runtime/helpers/slicedToArray');
var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
var _entries = require('babel-runtime/core-js/object/entries');
var _entries2 = _interopRequireDefault(_entries);
var _reactRedux = require('react-redux');
var _redux = require('redux');
var _application = require('../components/application');
var _application2 = _interopRequireDefault(_application);
var _actions = require('../actions');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = (0, _reactRedux.connect)(mapProps, mapDispatch)(_application2.default);
function mapProps(state, own) {
return {
activePattern: state.id,
base: state.base,
description: selectDescription(state),
depth: state.depth,
expanded: state.expanded,
hide: state.hide,
hierarchy: state.config.hierarchy,
issue: state.issue,
lightbox: state.lightbox,
logo: state.config.logo || 'patternplate',
menuEnabled: state.menuEnabled,
navigation: state.search ? state.searchMatches : selectNavigation(state),
pathname: own.location.pathname,
query: own.location.query,
search: own.location.query.search,
startBase: state.startBase,
styles: state.styles,
theme: state.theme,
themeLoading: selectThemeLoading(state),
title: state.config.title || state.schema.name,
version: selectVersion(state)
};
}
function mapDispatch(dispatch) {
return (0, _redux.bindActionCreators)({
onResize: _actions.windowResize,
onSearch: _actions.search,
onThemeLoaded: _actions.themeLoaded,
onThemeChange: _actions.toggleTheme,
requestSearchBlur: function requestSearchBlur() {
return (0, _actions.toggleSearchFocus)(false);
}
}, dispatch);
}
function selectNavigation(state) {
return sanitizeNavigationTreeData({ children: state.navigation }, state.hide);
}
function selectDescription(state) {
return selectSchema(state).description || '';
}
function selectVersion(state) {
return selectSchema(state).version || '';
}
function selectSchema(state) {
return state.schema || {};
}
function selectThemeLoading(state) {
return state.styles.length > 1;
}
function sanitizeNavigationTreeData(data, hide) {
if (data.manifest) {
return hide && data.manifest.display === false ? null : data;
}
return (0, _entries2.default)(data.children).reduce(function (results, entry) {
var _entry = (0, _slicedToArray3.default)(entry, 2),
name = _entry[0],
child = _entry[1];
var grandChildren = sanitizeNavigationTreeData(child, hide);
if (grandChildren && (0, _keys2.default)(grandChildren).length > 0) {
results[name] = child;
}
return results;
}, {});
}
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NvdXJjZS9hcHBsaWNhdGlvbi9jb250YWluZXJzL2FwcGxpY2F0aW9uLmpzIl0sIm5hbWVzIjpbIm1hcFByb3BzIiwibWFwRGlzcGF0Y2giLCJzdGF0ZSIsIm93biIsImFjdGl2ZVBhdHRlcm4iLCJpZCIsImJhc2UiLCJkZXNjcmlwdGlvbiIsInNlbGVjdERlc2NyaXB0aW9uIiwiZGVwdGgiLCJleHBhbmRlZCIsImhpZGUiLCJoaWVyYXJjaHkiLCJjb25maWciLCJpc3N1ZSIsImxpZ2h0Ym94IiwibG9nbyIsIm1lbnVFbmFibGVkIiwibmF2aWdhdGlvbiIsInNlYXJjaCIsInNlYXJjaE1hdGNoZXMiLCJzZWxlY3ROYXZpZ2F0aW9uIiwicGF0aG5hbWUiLCJsb2NhdGlvbiIsInF1ZXJ5Iiwic3RhcnRCYXNlIiwic3R5bGVzIiwidGhlbWUiLCJ0aGVtZUxvYWRpbmciLCJzZWxlY3RUaGVtZUxvYWRpbmciLCJ0aXRsZSIsInNjaGVtYSIsIm5hbWUiLCJ2ZXJzaW9uIiwic2VsZWN0VmVyc2lvbiIsImRpc3BhdGNoIiwib25SZXNpemUiLCJvblNlYXJjaCIsIm9uVGhlbWVMb2FkZWQiLCJvblRoZW1lQ2hhbmdlIiwicmVxdWVzdFNlYXJjaEJsdXIiLCJzYW5pdGl6ZU5hdmlnYXRpb25UcmVlRGF0YSIsImNoaWxkcmVuIiwic2VsZWN0U2NoZW1hIiwibGVuZ3RoIiwiZGF0YSIsIm1hbmlmZXN0IiwiZGlzcGxheSIsInJlZHVjZSIsInJlc3VsdHMiLCJlbnRyeSIsImNoaWxkIiwiZ3JhbmRDaGlsZHJlbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7Ozs7QUFFQTs7OztrQkFFZSx5QkFBUUEsUUFBUixFQUFrQkMsV0FBbEIsd0I7OztBQUVmLFNBQVNELFFBQVQsQ0FBa0JFLEtBQWxCLEVBQXlCQyxHQUF6QixFQUE4QjtBQUM3QixRQUFPO0FBQ05DLGlCQUFlRixNQUFNRyxFQURmO0FBRU5DLFFBQU1KLE1BQU1J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QU9GLE9BQVA7QUFDQSxFQVJLLEVBUUgsRUFSRyxDQUFQO0FBU0EiLCJmaWxlIjoiYXBwbGljYXRpb24uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2Nvbm5lY3R9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7YmluZEFjdGlvbkNyZWF0b3JzfSBmcm9tICdyZWR1eCc7XG5pbXBvcnQgQXBwbGljYXRpb24gZnJvbSAnLi4vY29tcG9uZW50cy9hcHBsaWNhdGlvbic7XG5cbmltcG9ydCB7c2VhcmNoLCB0aGVtZUxvYWRlZCwgdG9nZ2xlU2VhcmNoRm9jdXMsIHRvZ2dsZVRoZW1lLCB3aW5kb3dSZXNpemV9IGZyb20gJy4uL2FjdGlvbnMnO1xuXG5leHBvcnQgZGVmYXVsdCBjb25uZWN0KG1hcFByb3BzLCBtYXBEaXNwYXRjaCkoQXBwbGljYXRpb24pO1xuXG5mdW5jdGlvbiBtYXBQcm9wcyhzdGF0ZSwgb3duKSB7XG5cdHJldHVybiB7XG5cdFx0YWN0aXZlUGF0dGVybjogc3RhdGUuaWQsXG5cdFx0YmFzZTogc3RhdGUuYmFzZSxcblx0XHRkZXNjcmlwdGlvbjogc2VsZWN0RGVzY3JpcHRpb24oc3RhdGUpLFxuXHRcdGRlcHRoOiBzdGF0ZS5kZXB0aCxcblx0XHRleHBhbmRlZDogc3RhdGUuZXhwYW5kZWQsXG5cdFx0aGlkZTogc3RhdGUuaGlkZSxcblx0XHRoaWVyYXJjaHk6IHN0YXRlLmNvbmZpZy5oaWVyYXJjaHksXG5cdFx0aXNzdWU6IHN0YXRlLmlzc3VlLFxuXHRcdGxpZ2h0Ym94OiBzdGF0ZS5saWdodGJveCxcblx0XHRsb2dvOiBzdGF0ZS5jb25maWcubG9nbyB8fCAncGF0dGVybnBsYXRlJyxcblx0XHRtZW51RW5hYmxlZDogc3RhdGUubWVudUVuYWJsZWQsXG5cdFx0bmF2aWdhdGlvbjogc3RhdGUuc2VhcmNoID8gc3RhdGUuc2VhcmNoTWF0Y2hlcyA6IHNlbGVjdE5hdmlnYXRpb24oc3RhdGUpLFxuXHRcdHBhdGhuYW1lOiBvd24ubG9jYXRpb24ucGF0aG5hbWUsXG5cdFx0cXVlcnk6IG93bi5sb2NhdGlvbi5xdWVyeSxcblx0XHRzZWFyY2g6IG93bi5sb2NhdGlvbi5xdWVyeS5zZWFyY2gsXG5cdFx0c3RhcnRCYXNlOiBzdGF0ZS5zdGFydEJhc2UsXG5cdFx0c3R5bGVzOiBzdGF0ZS5zdHlsZXMsXG5cdFx0dGhlbWU6IHN0YXRlLnRoZW1lLFxuXHRcdHRoZW1lTG9hZGluZzogc2VsZWN0VGhlbWVMb2FkaW5nKHN0YXRlKSxcblx0XHR0aXRsZTogc3RhdGUuY29uZmlnLnRpdGxlIHx8IHN0YXRlLnNjaGVtYS5uYW1lLFxuXHRcdHZlcnNpb246IHNlbGVjdFZlcnNpb24oc3RhdGUpXG5cdH07XG59XG5cbmZ1bmN0aW9uIG1hcERpc3BhdGNoKGRpc3BhdGNoKSB7XG5cdHJldHVybiBiaW5kQWN0aW9uQ3JlYXRvcnMoe1xuXHRcdG9uUmVzaXplOiB3aW5kb3dSZXNpemUsXG5cdFx0b25TZWFyY2g6IHNlYXJjaCxcblx0XHRvblRoZW1lTG9hZGVkOiB0aGVtZUxvYWRlZCxcblx0XHRvblRoZW1lQ2hhbmdlOiB0b2dnbGVUaGVtZSxcblx0XHRyZXF1ZXN0U2VhcmNoQmx1cjogKCkgPT4gdG9nZ2xlU2VhcmNoRm9jdXMoZmFsc2UpXG5cdH0sIGRpc3BhdGNoKTtcbn1cblxuZnVuY3Rpb24gc2VsZWN0TmF2aWdhdGlvbihzdGF0ZSkge1xuXHRyZXR1cm4gc2FuaXRpemVOYXZpZ2F0aW9uVHJlZURhdGEoe2NoaWxkcmVuOiBzdGF0ZS5uYXZpZ2F0aW9ufSwgc3RhdGUuaGlkZSk7XG59XG5cbmZ1bmN0aW9uIHNlbGVjdERlc2NyaXB0aW9uKHN0YXRlKSB7XG5cdHJldHVybiBzZWxlY3RTY2hlbWEoc3RhdGUpLmRlc2NyaXB0aW9uIHx8ICcnO1xufVxuXG5mdW5jdGlvbiBzZWxlY3RWZXJzaW9uKHN0YXRlKSB7XG5cdHJldHVybiBzZWxlY3RTY2hlbWEoc3RhdGUpLnZlcnNpb24gfHwgJyc7XG59XG5cbmZ1bmN0aW9uIHNlbGVjdFNjaGVtYShzdGF0ZSkge1xuXHRyZXR1cm4gc3RhdGUuc2NoZW1hIHx8IHt9O1xufVxuXG5mdW5jdGlvbiBzZWxlY3RUaGVtZUxvYWRpbmcoc3RhdGUpIHtcblx0cmV0dXJuIHN0YXRlLnN0eWxlcy5sZW5ndGggPiAxO1xufVxuXG5mdW5jdGlvbiBzYW5pdGl6ZU5hdmlnYXRpb25UcmVlRGF0YShkYXRhLCBoaWRlKSB7XG5cdGlmIChkYXRhLm1hbmlmZXN0KSB7XG5cdFx0cmV0dXJuIGhpZGUgJiYgZGF0YS5tYW5pZmVzdC5kaXNwbGF5ID09PSBmYWxzZSA/IG51bGwgOiBkYXRhO1xuXHR9XG5cblx0cmV0dXJuIE9iamVjdC5lbnRyaWVzKGRhdGEuY2hpbGRyZW4pXG5cdFx0LnJlZHVjZSgocmVzdWx0cywgZW50cnkpID0+IHtcblx0XHRcdGNvbnN0IFtuYW1lLCBjaGlsZF0gPSBlbnRyeTtcblx0XHRcdGNvbnN0IGdyYW5kQ2hpbGRyZW4gPSBzYW5pdGl6ZU5hdmlnYXRpb25UcmVlRGF0YShjaGlsZCwgaGlkZSk7XG5cdFx0XHRpZiAoZ3JhbmRDaGlsZHJlbiAmJiBPYmplY3Qua2V5cyhncmFuZENoaWxkcmVuKS5sZW5ndGggPiAwKSB7XG5cdFx0XHRcdHJlc3VsdHNbbmFtZV0gPSBjaGlsZDtcblx0XHRcdH1cblx0XHRcdHJldHVybiByZXN1bHRzO1xuXHRcdH0sIHt9KTtcbn1cbiJdfQ==
;