UNPKG

patternplate-client

Version:

Universal javascript client application for patternplate

200 lines (154 loc) 13.9 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _getOwnPropertyDescriptor = require('babel-runtime/core-js/object/get-own-property-descriptor'); var _getOwnPropertyDescriptor2 = _interopRequireDefault(_getOwnPropertyDescriptor); var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of'); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = require('babel-runtime/helpers/createClass'); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn'); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = require('babel-runtime/helpers/inherits'); var _inherits3 = _interopRequireDefault(_inherits2); var _class, _desc, _value, _class2, _class3, _temp; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _autobindDecorator = require('autobind-decorator'); var _autobindDecorator2 = _interopRequireDefault(_autobindDecorator); var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames); var _pureRenderDecorator = require('pure-render-decorator'); var _pureRenderDecorator2 = _interopRequireDefault(_pureRenderDecorator); var _navigationTree = require('./navigation-tree'); var _navigationTree2 = _interopRequireDefault(_navigationTree); var _navigationItem = require('./navigation-item'); var _navigationItem2 = _interopRequireDefault(_navigationItem); var _navigationToolbar = require('./navigation-toolbar'); var _navigationToolbar2 = _interopRequireDefault(_navigationToolbar); var _searchField = require('../common/search-field'); var _searchField2 = _interopRequireDefault(_searchField); var _header = require('../header'); var _header2 = _interopRequireDefault(_header); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object['ke' + 'ys'](descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object['define' + 'Property'](target, property, desc); desc = null; } return desc; } var Navigation = (0, _pureRenderDecorator2.default)(_class = (_class2 = (_temp = _class3 = function (_React$Component) { (0, _inherits3.default)(Navigation, _React$Component); function Navigation() { (0, _classCallCheck3.default)(this, Navigation); return (0, _possibleConstructorReturn3.default)(this, (Navigation.__proto__ || (0, _getPrototypeOf2.default)(Navigation)).apply(this, arguments)); } (0, _createClass3.default)(Navigation, [{ key: 'handleSearchSubmit', value: function handleSearchSubmit(e) { e.preventDefault(); } }, { key: 'handleSearchChange', value: function handleSearchChange(e) { this.props.onSearch(e.target.value); } }, { key: 'render', value: function render() { var props = this.props; var className = (0, _classnames2.default)('navigation application__navigation', { 'slim': !props.expanded, 'navigation--expanded': props.expanded }); return _react2.default.createElement( 'nav', { className: className }, _react2.default.createElement(_header2.default, { base: props.base, icon: props.icon, menuEnabled: props.menuEnabled, pathname: props.pathname, query: props.query, title: props.title, version: props.version }), _react2.default.createElement( _navigationTree2.default, { activePattern: props.activePattern, base: props.base, data: props.navigation, query: props.query, hierarchy: props.hierarchy, hide: props.hide }, _react2.default.createElement( 'form', { onSubmit: this.handleSearchSubmit, method: 'GET' }, _react2.default.createElement(_searchField2.default, { base: props.base, blur: this.props.requestSearchBlur, className: 'navigation__search-field', linkTo: '/search', name: 'search', onBlur: this.handleSearchBlur, onChange: this.handleSearchChange, onFocus: this.handleSearchFocus, placeholder: 'Search', title: 'Search for patterns [ctrl+space]', value: props.searchValue }) ), _react2.default.createElement(_navigationItem2.default, { active: props.pathname === props.base, base: props.base, key: 'root', linkTo: '/', name: 'Documentation', query: props.query, symbol: 'documentation', title: 'Navigate to documentation [ctrl+d]', type: 'page' }) ), _react2.default.createElement(_navigationToolbar2.default, { base: props.base, expanded: props.expanded, onThemeChange: props.onThemeChange, pathname: props.pathname, query: props.query, theme: props.theme }) ); } }]); return Navigation; }(_react2.default.Component), _class3.defaultProps = { onSearch: function onSearch() {}, onSearchBlur: function onSearchBlur() {}, requestSearchBlur: function requestSearchBlur() {} }, _temp), (_applyDecoratedDescriptor(_class2.prototype, 'handleSearchSubmit', [_autobindDecorator2.default], (0, _getOwnPropertyDescriptor2.default)(_class2.prototype, 'handleSearchSubmit'), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, 'handleSearchChange', [_autobindDecorator2.default], (0, _getOwnPropertyDescriptor2.default)(_class2.prototype, 'handleSearchChange'), _class2.prototype)), _class2)) || _class; exports.default = Navigation; module.exports = exports['default']; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NvdXJjZS9hcHBsaWNhdGlvbi9jb21wb25lbnRzL25hdmlnYXRpb24vaW5kZXguanMiXSwibmFtZXMiOlsiTmF2aWdhdGlvbiIsImUiLCJwcmV2ZW50RGVmYXVsdCIsInByb3BzIiwib25TZWFyY2giLCJ0YXJnZXQiLCJ2YWx1ZSIsImNsYXNzTmFtZSIsImV4cGFuZGVkIiwiYmFzZSIsImljb24iLCJtZW51RW5hYmxlZCIsInBhdGhuYW1lIiwicXVlcnkiLCJ0aXRsZSIsInZlcnNpb24iLCJhY3RpdmVQYXR0ZXJuIiwibmF2aWdhdGlvbiIsImhpZXJhcmNoeSIsImhpZGUiLCJoYW5kbGVTZWFyY2hTdWJtaXQiLCJyZXF1ZXN0U2VhcmNoQmx1ciIsImhhbmRsZVNlYXJjaEJsdXIiLCJoYW5kbGVTZWFyY2hDaGFuZ2UiLCJoYW5kbGVTZWFyY2hGb2N1cyIsInNlYXJjaFZhbHVlIiwib25UaGVtZUNoYW5nZSIsInRoZW1lIiwiQ29tcG9uZW50IiwiZGVmYXVsdFByb3BzIiwib25TZWFyY2hCbHVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBRUE7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFHTUEsVTs7Ozs7Ozs7OztxQ0ErQmNDLEMsRUFBRztBQUNyQkEsS0FBRUMsY0FBRjtBQUNBOzs7cUNBR2tCRCxDLEVBQUc7QUFDckIsUUFBS0UsS0FBTCxDQUFXQyxRQUFYLENBQW9CSCxFQUFFSSxNQUFGLENBQVNDLEtBQTdCO0FBQ0E7OzsyQkFFUTtBQUFBLE9BQ0RILEtBREMsR0FDUSxJQURSLENBQ0RBLEtBREM7OztBQUdSLE9BQU1JLFlBQVksMEJBQVcsb0NBQVgsRUFBaUQ7QUFDbEUsWUFBUSxDQUFDSixNQUFNSyxRQURtRDtBQUVsRSw0QkFBd0JMLE1BQU1LO0FBRm9DLElBQWpELENBQWxCOztBQUtBLFVBQ0M7QUFBQTtBQUFBLE1BQUssV0FBV0QsU0FBaEI7QUFDQztBQUNDLFdBQU1KLE1BQU1NLElBRGI7QUFFQyxXQUFNTixNQUFNTyxJQUZiO0FBR0Msa0JBQWFQLE1BQU1RLFdBSHBCO0FBSUMsZUFBVVIsTUFBTVMsUUFKakI7QUFLQyxZQUFPVCxNQUFNVSxLQUxkO0FBTUMsWUFBT1YsTUFBTVcsS0FOZDtBQU9DLGNBQVNYLE1BQU1ZO0FBUGhCLE1BREQ7QUFVQztBQUFBO0FBQUE7QUFDQyxxQkFBZVosTUFBTWEsYUFEdEI7QUFFQyxZQUFNYixNQUFNTSxJQUZiO0FBR0MsWUFBTU4sTUFBTWMsVUFIYjtBQUlDLGFBQU9kLE1BQU1VLEtBSmQ7QUFLQyxpQkFBV1YsTUFBTWUsU0FMbEI7QUFNQyxZQUFNZixNQUFNZ0I7QUFOYjtBQVFDO0FBQUE7QUFBQSxRQUFNLFVBQVUsS0FBS0Msa0JBQXJCLEVBQXlDLFFBQU8sS0FBaEQ7QUFDQztBQUNDLGFBQU1qQixNQUFNTSxJQURiO0FBRUMsYUFBTSxLQUFLTixLQUFMLENBQVdrQixpQkFGbEI7QUFHQyxrQkFBVSwwQkFIWDtBQUlDLGVBQU8sU0FKUjtBQUtDLGFBQUssUUFMTjtBQU1DLGVBQVEsS0FBS0MsZ0JBTmQ7QUFPQyxpQkFBVSxLQUFLQyxrQkFQaEI7QUFRQyxnQkFBUyxLQUFLQyxpQkFSZjtBQVNDLG9CQUFZLFFBVGI7QUFVQyxjQUFNLGtDQVZQO0FBV0MsY0FBT3JCLE1BQU1zQjtBQVhkO0FBREQsTUFSRDtBQXVCQztBQUNDLGNBQVF0QixNQUFNUyxRQUFOLEtBQW1CVCxNQUFNTSxJQURsQztBQUVDLFlBQU1OLE1BQU1NLElBRmI7QUFHQyxXQUFJLE1BSEw7QUFJQyxjQUFPLEdBSlI7QUFLQyxZQUFLLGVBTE47QUFNQyxhQUFPTixNQUFNVSxLQU5kO0FBT0MsY0FBTyxlQVBSO0FBUUMsYUFBTSxvQ0FSUDtBQVNDLFlBQUs7QUFUTjtBQXZCRCxLQVZEO0FBNkNDO0FBQ0MsV0FBTVYsTUFBTU0sSUFEYjtBQUVDLGVBQVVOLE1BQU1LLFFBRmpCO0FBR0Msb0JBQWVMLE1BQU11QixhQUh0QjtBQUlDLGVBQVV2QixNQUFNUyxRQUpqQjtBQUtDLFlBQU9ULE1BQU1VLEtBTGQ7QUFNQyxZQUFPVixNQUFNd0I7QUFOZDtBQTdDRCxJQUREO0FBd0RBOzs7RUF4R3VCLGdCQUFNQyxTLFdBd0J2QkMsWSxHQUFlO0FBQ3JCekIsV0FBVSxvQkFBTSxDQUFFLENBREc7QUFFckIwQixlQUFjLHdCQUFNLENBQUUsQ0FGRDtBQUdyQlQsb0JBQW1CLDZCQUFNLENBQUU7QUFITixDOztrQkFtRlJyQixVIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7UHJvcFR5cGVzIGFzIHR9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBhdXRvYmluZCBmcm9tICdhdXRvYmluZC1kZWNvcmF0b3InO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgcHVyZSBmcm9tICdwdXJlLXJlbmRlci1kZWNvcmF0b3InO1xuXG5pbXBvcnQgTmF2aWdhdGlvblRyZWUgZnJvbSAnLi9uYXZpZ2F0aW9uLXRyZWUnO1xuaW1wb3J0IE5hdmlnYXRpb25JdGVtIGZyb20gJy4vbmF2aWdhdGlvbi1pdGVtJztcbmltcG9ydCBOYXZpZ2F0aW9uVG9vbGJhciBmcm9tICcuL25hdmlnYXRpb24tdG9vbGJhcic7XG5pbXBvcnQgU2VhcmNoRmllbGQgZnJvbSAnLi4vY29tbW9uL3NlYXJjaC1maWVsZCc7XG5pbXBvcnQgSGVhZGVyIGZyb20gJy4uL2hlYWRlcic7XG5cbkBwdXJlXG5jbGFzcyBOYXZpZ2F0aW9uIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcblx0c3RhdGljIHByb3BUeXBlcyA9IHtcblx0XHRhY3RpdmVQYXR0ZXJuOiB0LnN0cmluZy5pc1JlcXVpcmVkLFxuXHRcdGJhc2U6IHQuc3RyaW5nLmlzUmVxdWlyZWQsXG5cdFx0ZW5hYmxlZDogdC5ib29sLmlzUmVxdWlyZWQsXG5cdFx0ZXhwYW5kZWQ6IHQuYm9vbC5pc1JlcXVpcmVkLFxuXHRcdGhpZXJhcmNoeTogdC5vYmplY3QsXG5cdFx0aGlkZTogdC5ib29sLmlzUmVxdWlyZWQsXG5cdFx0aWNvbjogdC5zdHJpbmcuaXNSZXF1aXJlZCxcblx0XHRtZW51RW5hYmxlZDogdC5ib29sLmlzUmVxdWlyZWQsXG5cdFx0bmF2aWdhdGlvbjogdC5vYmplY3QuaXNSZXF1aXJlZCxcblx0XHRvblNlYXJjaDogdC5mdW5jLFxuXHRcdG9uU2VhcmNoQmx1cjogdC5mdW5jLFxuXHRcdG9uVGhlbWVDaGFuZ2U6IHQuZnVuYy5pc1JlcXVpcmVkLFxuXHRcdHBhdGhuYW1lOiB0LnN0cmluZy5pc1JlcXVpcmVkLFxuXHRcdHF1ZXJ5OiB0Lm9iamVjdC5pc1JlcXVpcmVkLFxuXHRcdHJlcXVlc3RTZWFyY2hCbHVyOiB0LmZ1bmMuaXNSZXF1aXJlZCxcblx0XHRzZWFyY2hRdWVyeTogdC5zdHJpbmcsXG5cdFx0c2VhcmNoVmFsdWU6IHQuc3RyaW5nLFxuXHRcdHRoZW1lOiB0LnN0cmluZy5pc1JlcXVpcmVkLFxuXHRcdHRpdGxlOiB0LnN0cmluZy5pc1JlcXVpcmVkLFxuXHRcdHZlcnNpb246IHQuc3RyaW5nLmlzUmVxdWlyZWRcblx0fTtcblxuXHRzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuXHRcdG9uU2VhcmNoOiAoKSA9PiB7fSxcblx0XHRvblNlYXJjaEJsdXI6ICgpID0+IHt9LFxuXHRcdHJlcXVlc3RTZWFyY2hCbHVyOiAoKSA9PiB7fVxuXHR9XG5cblx0QGF1dG9iaW5kXG5cdGhhbmRsZVNlYXJjaFN1Ym1pdChlKSB7XG5cdFx0ZS5wcmV2ZW50RGVmYXVsdCgpO1xuXHR9XG5cblx0QGF1dG9iaW5kXG5cdGhhbmRsZVNlYXJjaENoYW5nZShlKSB7XG5cdFx0dGhpcy5wcm9wcy5vblNlYXJjaChlLnRhcmdldC52YWx1ZSk7XG5cdH1cblxuXHRyZW5kZXIoKSB7XG5cdFx0Y29uc3Qge3Byb3BzfSA9IHRoaXM7XG5cblx0XHRjb25zdCBjbGFzc05hbWUgPSBjbGFzc25hbWVzKCduYXZpZ2F0aW9uIGFwcGxpY2F0aW9uX19uYXZpZ2F0aW9uJywge1xuXHRcdFx0J3NsaW0nOiAhcHJvcHMuZXhwYW5kZWQsXG5cdFx0XHQnbmF2aWdhdGlvbi0tZXhwYW5kZWQnOiBwcm9wcy5leHBhbmRlZFxuXHRcdH0pO1xuXG5cdFx0cmV0dXJuIChcblx0XHRcdDxuYXYgY2xhc3NOYW1lPXtjbGFzc05hbWV9PlxuXHRcdFx0XHQ8SGVhZGVyXG5cdFx0XHRcdFx0YmFzZT17cHJvcHMuYmFzZX1cblx0XHRcdFx0XHRpY29uPXtwcm9wcy5pY29ufVxuXHRcdFx0XHRcdG1lbnVFbmFibGVkPXtwcm9wcy5tZW51RW5hYmxlZH1cblx0XHRcdFx0XHRwYXRobmFtZT17cHJvcHMucGF0aG5hbWV9XG5cdFx0XHRcdFx0cXVlcnk9e3Byb3BzLnF1ZXJ5fVxuXHRcdFx0XHRcdHRpdGxlPXtwcm9wcy50aXRsZX1cblx0XHRcdFx0XHR2ZXJzaW9uPXtwcm9wcy52ZXJzaW9ufVxuXHRcdFx0XHRcdC8+XG5cdFx0XHRcdDxOYXZpZ2F0aW9uVHJlZVxuXHRcdFx0XHRcdGFjdGl2ZVBhdHRlcm49e3Byb3BzLmFjdGl2ZVBhdHRlcm59XG5cdFx0XHRcdFx0YmFzZT17cHJvcHMuYmFzZX1cblx0XHRcdFx0XHRkYXRhPXtwcm9wcy5uYXZpZ2F0aW9ufVxuXHRcdFx0XHRcdHF1ZXJ5PXtwcm9wcy5xdWVyeX1cblx0XHRcdFx0XHRoaWVyYXJjaHk9e3Byb3BzLmhpZXJhcmNoeX1cblx0XHRcdFx0XHRoaWRlPXtwcm9wcy5oaWRlfVxuXHRcdFx0XHRcdD5cblx0XHRcdFx0XHQ8Zm9ybSBvblN1Ym1pdD17dGhpcy5oYW5kbGVTZWFyY2hTdWJtaXR9IG1ldGhvZD1cIkdFVFwiPlxuXHRcdFx0XHRcdFx0PFNlYXJjaEZpZWxkXG5cdFx0XHRcdFx0XHRcdGJhc2U9e3Byb3BzLmJhc2V9XG5cdFx0XHRcdFx0XHRcdGJsdXI9e3RoaXMucHJvcHMucmVxdWVzdFNlYXJjaEJsdXJ9XG5cdFx0XHRcdFx0XHRcdGNsYXNzTmFtZT1cIm5hdmlnYXRpb25fX3NlYXJjaC1maWVsZFwiXG5cdFx0XHRcdFx0XHRcdGxpbmtUbz1cIi9zZWFyY2hcIlxuXHRcdFx0XHRcdFx0XHRuYW1lPVwic2VhcmNoXCJcblx0XHRcdFx0XHRcdFx0b25CbHVyPXt0aGlzLmhhbmRsZVNlYXJjaEJsdXJ9XG5cdFx0XHRcdFx0XHRcdG9uQ2hhbmdlPXt0aGlzLmhhbmRsZVNlYXJjaENoYW5nZX1cblx0XHRcdFx0XHRcdFx0b25Gb2N1cz17dGhpcy5oYW5kbGVTZWFyY2hGb2N1c31cblx0XHRcdFx0XHRcdFx0cGxhY2Vob2xkZXI9XCJTZWFyY2hcIlxuXHRcdFx0XHRcdFx0XHR0aXRsZT1cIlNlYXJjaCBmb3IgcGF0dGVybnMgW2N0cmwrc3BhY2VdXCJcblx0XHRcdFx0XHRcdFx0dmFsdWU9e3Byb3BzLnNlYXJjaFZhbHVlfVxuXHRcdFx0XHRcdFx0XHQvPlxuXHRcdFx0XHRcdDwvZm9ybT5cblx0XHRcdFx0XHQ8TmF2aWdhdGlvbkl0ZW1cblx0XHRcdFx0XHRcdGFjdGl2ZT17cHJvcHMucGF0aG5hbWUgPT09IHByb3BzLmJhc2V9XG5cdFx0XHRcdFx0XHRiYXNlPXtwcm9wcy5iYXNlfVxuXHRcdFx0XHRcdFx0a2V5PVwicm9vdFwiXG5cdFx0XHRcdFx0XHRsaW5rVG89XCIvXCJcblx0XHRcdFx0XHRcdG5hbWU9XCJEb2N1bWVudGF0aW9uXCJcblx0XHRcdFx0XHRcdHF1ZXJ5PXtwcm9wcy5xdWVyeX1cblx0XHRcdFx0XHRcdHN5bWJvbD1cImRvY3VtZW50YXRpb25cIlxuXHRcdFx0XHRcdFx0dGl0bGU9XCJOYXZpZ2F0ZSB0byBkb2N1bWVudGF0aW9uIFtjdHJsK2RdXCJcblx0XHRcdFx0XHRcdHR5cGU9XCJwYWdlXCJcblx0XHRcdFx0XHRcdC8+XG5cdFx0XHRcdDwvTmF2aWdhdGlvblRyZWU+XG5cdFx0XHRcdDxOYXZpZ2F0aW9uVG9vbGJhclxuXHRcdFx0XHRcdGJhc2U9e3Byb3BzLmJhc2V9XG5cdFx0XHRcdFx0ZXhwYW5kZWQ9e3Byb3BzLmV4cGFuZGVkfVxuXHRcdFx0XHRcdG9uVGhlbWVDaGFuZ2U9e3Byb3BzLm9uVGhlbWVDaGFuZ2V9XG5cdFx0XHRcdFx0cGF0aG5hbWU9e3Byb3BzLnBhdGhuYW1lfVxuXHRcdFx0XHRcdHF1ZXJ5PXtwcm9wcy5xdWVyeX1cblx0XHRcdFx0XHR0aGVtZT17cHJvcHMudGhlbWV9XG5cdFx0XHRcdFx0Lz5cblx0XHRcdDwvbmF2PlxuXHRcdCk7XG5cdH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgTmF2aWdhdGlvbjtcbiJdfQ==