UNPKG

patternplate-client

Version:

Universal javascript client application for patternplate

110 lines (85 loc) 9.76 kB
'use strict'; 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==