UNPKG

patternplate-client

Version:

Universal javascript client application for patternplate

163 lines (139 loc) 12.8 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _extends2 = require('babel-runtime/helpers/extends'); var _extends3 = _interopRequireDefault(_extends2); var _defineProperty2 = require('babel-runtime/helpers/defineProperty'); var _defineProperty3 = _interopRequireDefault(_defineProperty2); exports.default = PatternFolder; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _reactRouter = require('@marionebl/react-router'); var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames); var _icon = require('../common/icon'); var _icon2 = _interopRequireDefault(_icon); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function ItemField(props) { var Component = props.component; var className = (0, _classnames2.default)('pattern-field', props.className, (0, _defineProperty3.default)({}, 'pattern-field--' + props.valueKey, props.value)); var children = props.children || props.value; return _react2.default.createElement( Component, { className: className }, Array.isArray(children) ? children.map(function (c, i) { return _react2.default.createElement( 'span', { key: i }, c ); }) : children ); } ItemField.defaultProps = { component: 'div' }; function PatternFolderItem(props) { var name = props.name, type = props.type, id = props.id, location = props.location, base = props.base; var to = { pathname: base + 'pattern/' + id, query: location.query }; var title = 'Navigate to ' + type + ' "' + name + '" at ' + id; var href = base + 'demo/' + id; return _react2.default.createElement( 'li', { className: 'pattern-item' }, _react2.default.createElement( ItemField, { valueKey: 'name', value: props.name }, _react2.default.createElement( _reactRouter.Link, { to: to, title: title }, _react2.default.createElement( _icon2.default, { base: base, symbol: type }, name ), _react2.default.createElement( 'span', null, props.name ) ) ), _react2.default.createElement(ItemField, { valueKey: 'version', value: props.version }), _react2.default.createElement(ItemField, { valueKey: 'tags', value: props.tags }), _react2.default.createElement(ItemField, { valueKey: 'flag', value: props.flag }), props.type === 'pattern' ? _react2.default.createElement( 'a', { href: href, target: '_blank', rel: 'nofollow', className: 'pattern-field', title: 'Open ' + type + ' "' + name + '" at ' + id + ' in fullscreen' }, _react2.default.createElement( _icon2.default, { base: base, symbol: 'fullscreen', description: 'Fullscreen' }, id + ' in fullscreen' ) ) : _react2.default.createElement('div', { className: 'pattern-field' }) ); } function PatternFolder(_ref) { var items = _ref.items, location = _ref.location, up = _ref.up, base = _ref.base; return _react2.default.createElement( 'ul', { className: 'pattern-folder' }, _react2.default.createElement( 'li', { className: 'pattern-folder-head' }, _react2.default.createElement('div', { className: 'pattern-folder-head__cell' }), _react2.default.createElement( 'div', { className: 'pattern-folder-head__cell' }, 'Version' ), _react2.default.createElement( 'div', { className: 'pattern-folder-head__cell' }, 'Tags' ), _react2.default.createElement( 'div', { className: 'pattern-folder-head__cell' }, 'Flag' ), _react2.default.createElement('div', { className: 'pattern-folder-head__cell' }) ), up && _react2.default.createElement(PatternFolderItem, { id: up, name: '..', type: 'folder', location: location, base: base }), items.map(function (item) { return _react2.default.createElement(PatternFolderItem, (0, _extends3.default)({}, item, { location: location, key: item.id, base: base })); }) ); } PatternFolder.defaultProps = { items: [] }; module.exports = exports['default']; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NvdXJjZS9hcHBsaWNhdGlvbi9jb21wb25lbnRzL3BhdHRlcm4vcGF0dGVybi1mb2xkZXIuanMiXSwibmFtZXMiOlsiUGF0dGVybkZvbGRlciIsIkl0ZW1GaWVsZCIsInByb3BzIiwiQ29tcG9uZW50IiwiY29tcG9uZW50IiwiY2xhc3NOYW1lIiwidmFsdWVLZXkiLCJ2YWx1ZSIsImNoaWxkcmVuIiwiQXJyYXkiLCJpc0FycmF5IiwibWFwIiwiYyIsImkiLCJkZWZhdWx0UHJvcHMiLCJQYXR0ZXJuRm9sZGVySXRlbSIsIm5hbWUiLCJ0eXBlIiwiaWQiLCJsb2NhdGlvbiIsImJhc2UiLCJ0byIsInBhdGhuYW1lIiwicXVlcnkiLCJ0aXRsZSIsImhyZWYiLCJ2ZXJzaW9uIiwidGFncyIsImZsYWciLCJpdGVtcyIsInVwIiwiaXRlbSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7a0JBNEZ3QkEsYTs7QUE1RnhCOzs7O0FBQ0E7O0FBQ0E7Ozs7QUFFQTs7Ozs7O0FBRUEsU0FBU0MsU0FBVCxDQUFtQkMsS0FBbkIsRUFBMEI7QUFDekIsS0FBTUMsWUFBWUQsTUFBTUUsU0FBeEI7QUFDQSxLQUFNQyxZQUFZLDBCQUFLLGVBQUwsRUFBc0JILE1BQU1HLFNBQTVCLHdEQUNFSCxNQUFNSSxRQURSLEVBQ3FCSixNQUFNSyxLQUQzQixFQUFsQjtBQUdBLEtBQU1DLFdBQVdOLE1BQU1NLFFBQU4sSUFBa0JOLE1BQU1LLEtBQXpDOztBQUVBLFFBQ0M7QUFBQyxXQUFEO0FBQUEsSUFBVyxXQUFXRixTQUF0QjtBQUVFSSxRQUFNQyxPQUFOLENBQWNGLFFBQWQsSUFDQ0EsU0FBU0csR0FBVCxDQUFhLFVBQUNDLENBQUQsRUFBSUMsQ0FBSixFQUFVO0FBQ3RCLFVBQU87QUFBQTtBQUFBLE1BQU0sS0FBS0EsQ0FBWDtBQUFlRDtBQUFmLElBQVA7QUFDQSxHQUZELENBREQsR0FJQ0o7QUFOSCxFQUREO0FBV0E7O0FBVURQLFVBQVVhLFlBQVYsR0FBeUI7QUFD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LEVBREQ7QUErQkE7O0FBWURwQixjQUFjYyxZQUFkLEdBQTZCO0FBQzVCZSxRQUFPO0FBRHFCLENBQTdCIiwiZmlsZSI6InBhdHRlcm4tZm9sZGVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7UHJvcFR5cGVzIGFzIHR9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7TGlua30gZnJvbSAnQG1hcmlvbmVibC9yZWFjdC1yb3V0ZXInO1xuaW1wb3J0IGpvaW4gZnJvbSAnY2xhc3NuYW1lcyc7XG5cbmltcG9ydCBJY29uIGZyb20gJy4uL2NvbW1vbi9pY29uJztcblxuZnVuY3Rpb24gSXRlbUZpZWxkKHByb3BzKSB7XG5cdGNvbnN0IENvbXBvbmVudCA9IHByb3BzLmNvbXBvbmVudDtcblx0Y29uc3QgY2xhc3NOYW1lID0gam9pbigncGF0dGVybi1maWVsZCcsIHByb3BzLmNsYXNzTmFtZSwge1xuXHRcdFtgcGF0dGVybi1maWVsZC0tJHtwcm9wcy52YWx1ZUtleX1gXTogcHJvcHMudmFsdWVcblx0fSk7XG5cdGNvbnN0IGNoaWxkcmVuID0gcHJvcHMuY2hpbGRyZW4gfHwgcHJvcHMudmFsdWU7XG5cblx0cmV0dXJuIChcblx0XHQ8Q29tcG9uZW50IGNsYXNzTmFtZT17Y2xhc3NOYW1lfT5cblx0XHRcdHtcblx0XHRcdFx0QXJyYXkuaXNBcnJheShjaGlsZHJlbikgP1xuXHRcdFx0XHRcdGNoaWxkcmVuLm1hcCgoYywgaSkgPT4ge1xuXHRcdFx0XHRcdFx0cmV0dXJuIDxzcGFuIGtleT17aX0+e2N9PC9zcGFuPjtcblx0XHRcdFx0XHR9KSA6XG5cdFx0XHRcdFx0Y2hpbGRyZW5cblx0XHRcdH1cblx0XHQ8L0NvbXBvbmVudD5cblx0KTtcbn1cblxuSXRlbUZpZWxkLnByb3BUeXBlcyA9IHtcblx0Y29tcG9uZW50OiB0LnN0cmluZy5pc1JlcXVpcmVkLFxuXHR2YWx1ZUtleTogdC5zdHJpbmcuaXNSZXF1aXJlZCxcblx0dmFsdWU6IHQuYW55LFxuXHRjbGFzc05hbWU6IHQuc3RyaW5nLFxuXHRjaGlsZHJlbjogdC5hbnlcbn07XG5cbkl0ZW1GaWVsZC5kZWZhdWx0UHJvcHMgPSB7XG5cdGNvbXBvbmVudDogJ2Rpdidcbn07XG5cbmZ1bmN0aW9uIFBhdHRlcm5Gb2xkZXJJdGVtKHByb3BzKSB7XG5cdGNvbnN0IHtuYW1lLCB0eXBlLCBpZCwgbG9jYXRpb24sIGJhc2V9ID0gcHJvcHM7XG5cdGNvbnN0IHRvID0ge1xuXHRcdHBhdGhuYW1lOiBgJHtiYXNlfXBhdHRlcm4vJHtpZH1gLFxuXHRcdHF1ZXJ5OiBsb2NhdGlvbi5xdWVyeVxuXHR9O1xuXG5cdGNvbnN0IHRpdGxlID0gYE5hdmlnYXRlIHRvICR7dHlwZX0gXCIke25hbWV9XCIgYXQgJHtpZH1gO1xuXHRjb25zdCBocmVmID0gYCR7YmFzZX1kZW1vLyR7aWR9YDtcblxuXHRyZXR1cm4gKFxuXHRcdDxsaSBjbGFzc05hbWU9XCJwYXR0ZXJuLWl0ZW1cIj5cblx0XHRcdDxJdGVtRmllbGQgdmFsdWVLZXk9XCJuYW1lXCIgdmFsdWU9e3Byb3BzLm5hbWV9PlxuXHRcdFx0XHQ8TGluayB0bz17dG99IHRpdGxlPXt0aXRsZX0+XG5cdFx0XHRcdFx0PEljb24gYmFzZT17YmFzZX0gc3ltYm9sPXt0eXBlfT57bmFtZX08L0ljb24+XG5cdFx0XHRcdFx0PHNwYW4+e3Byb3BzLm5hbWV9PC9zcGFuPlxuXHRcdFx0XHQ8L0xpbms+XG5cdFx0XHQ8L0l0ZW1GaWVsZD5cblx0XHRcdDxJdGVtRmllbGQgdmFsdWVLZXk9XCJ2ZXJzaW9uXCIgdmFsdWU9e3Byb3BzLnZlcnNpb259Lz5cblx0XHRcdDxJdGVtRmllbGQgdmFsdWVLZXk9XCJ0YWdzXCIgdmFsdWU9e3Byb3BzLnRhZ3N9Lz5cblx0XHRcdDxJdGVtRmllbGQgdmFsdWVLZXk9XCJmbGFnXCIgdmFsdWU9e3Byb3BzLmZsYWd9Lz5cblx0XHRcdHtcblx0XHRcdFx0cHJvcHMudHlwZSA9PT0gJ3BhdHRlcm4nID9cblx0XHRcdFx0XHQ8YVxuXHRcdFx0XHRcdFx0aHJlZj17aHJlZn1cblx0XHRcdFx0XHRcdHRhcmdldD1cIl9ibGFua1wiXG5cdFx0XHRcdFx0XHRyZWw9XCJub2ZvbGxvd1wiXG5cdFx0XHRcdFx0XHRjbGFzc05hbWU9XCJwYXR0ZXJuLWZpZWxkXCJcblx0XHRcdFx0XHRcdHRpdGxlPXtgT3BlbiAke3R5cGV9IFwiJHtuYW1lfVwiIGF0ICR7aWR9IGluIGZ1bGxzY3JlZW5gfVxuXHRcdFx0XHRcdFx0PlxuXHRcdFx0XHRcdFx0PEljb24gYmFzZT17YmFzZX0gc3ltYm9sPVwiZnVsbHNjcmVlblwiIGRlc2NyaXB0aW9uPVwiRnVsbHNjcmVlblwiPlxuXHRcdFx0XHRcdFx0XHR7YCR7aWR9IGluIGZ1bGxzY3JlZW5gfVxuXHRcdFx0XHRcdFx0PC9JY29uPlxuXHRcdFx0XHRcdDwvYT4gOlxuXHRcdFx0XHRcdDxkaXYgY2xhc3NOYW1lPVwicGF0dGVybi1maWVsZFwiLz5cblx0XHRcdH1cblx0XHQ8L2xpPlxuXHQpO1xufVxuXG5QYXR0ZXJuRm9sZGVySXRlbS5wcm9wVHlwZXMgPSB7XG5cdGJhc2U6IHQuc3RyaW5nLmlzUmVxdWlyZWQsXG5cdGlkOiB0LnN0cmluZy5pc1JlcXVpcmVkLFxuXHRuYW1lOiB0LnN0cmluZy5pc1JlcXVpcmVkLFxuXHR0eXBlOiB0LnN0cmluZy5pc1JlcXVpcmVkLFxuXHR2ZXJzaW9uOiB0LnN0cmluZyxcblx0dGFnczogdC5hcnJheSxcblx0ZmxhZzogdC5zdHJpbmcsXG5cdGxvY2F0aW9uOiB0LnNoYXBlKHtcblx0XHRwYXRobmFtZTogdC5zdHJpbmcuaXNSZXF1aXJlZCxcblx0XHRxdWVyeTogdC5vYmplY3QuaXNSZXF1aXJlZFxuXHR9KS5pc1JlcXVpcmVkXG59O1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBQYXR0ZXJuRm9sZGVyKHtpdGVtcywgbG9jYXRpb24sIHVwLCBiYXNlfSkge1xuXHRyZXR1cm4gKFxuXHRcdDx1bCBjbGFzc05hbWU9XCJwYXR0ZXJuLWZvbGRlclwiPlxuXHRcdFx0PGxpIGNsYXNzTmFtZT1cInBhdHRlcm4tZm9sZGVyLWhlYWRcIj5cblx0XHRcdFx0PGRpdiBjbGFzc05hbWU9XCJwYXR0ZXJuLWZvbGRlci1oZWFkX19jZWxsXCIvPlxuXHRcdFx0XHQ8ZGl2IGNsYXNzTmFtZT1cInBhdHRlcm4tZm9sZGVyLWhlYWRfX2NlbGxcIj5WZXJzaW9uPC9kaXY+XG5cdFx0XHRcdDxkaXYgY2xhc3NOYW1lPVwicGF0dGVybi1mb2xkZXItaGVhZF9fY2VsbFwiPlRhZ3M8L2Rpdj5cblx0XHRcdFx0PGRpdiBjbGFzc05hbWU9XCJwYXR0ZXJuLWZvbGRlci1oZWFkX19jZWxsXCI+RmxhZzwvZGl2PlxuXHRcdFx0XHQ8ZGl2IGNsYXNzTmFtZT1cInBhdHRlcm4tZm9sZGVyLWhlYWRfX2NlbGxcIi8+XG5cdFx0XHQ8L2xpPlxuXHRcdFx0e1xuXHRcdFx0XHR1cCAmJlxuXHRcdFx0XHRcdDxQYXR0ZXJuRm9sZGVySXRlbVxuXHRcdFx0XHRcdFx0aWQ9e3VwfVxuXHRcdFx0XHRcdFx0bmFtZT1cIi4uXCJcblx0XHRcdFx0XHRcdHR5cGU9XCJmb2xkZXJcIlxuXHRcdFx0XHRcdFx0bG9jYXRpb249e2xvY2F0aW9ufVxuXHRcdFx0XHRcdFx0YmFzZT17YmFzZX1cblx0XHRcdFx0XHRcdC8+XG5cdFx0XHR9XG5cdFx0XHR7XG5cdFx0XHRcdGl0ZW1zLm1hcChpdGVtID0+IChcblx0XHRcdFx0XHQ8UGF0dGVybkZvbGRlckl0ZW1cblx0XHRcdFx0XHRcdHsuLi5pdGVtfVxuXHRcdFx0XHRcdFx0bG9jYXRpb249e2xvY2F0aW9ufVxuXHRcdFx0XHRcdFx0a2V5PXtpdGVtLmlkfVxuXHRcdFx0XHRcdFx0YmFzZT17YmFzZX1cblx0XHRcdFx0XHRcdC8+XG5cdFx0XHRcdCkpXG5cdFx0XHR9XG5cdFx0PC91bD5cblx0KTtcbn1cblxuUGF0dGVybkZvbGRlci5wcm9wVHlwZXMgPSB7XG5cdGJhc2U6IHQuc3RyaW5nLmlzUmVxdWlyZWQsXG5cdGl0ZW1zOiB0LmFycmF5T2YodC5zaGFwZShQYXR0ZXJuRm9sZGVySXRlbS5wcm9wVHlwZXMpKS5pc1JlcXVpcmVkLFxuXHRsb2NhdGlvbjogdC5zaGFwZSh7XG5cdFx0cGF0aG5hbWU6IHQuc3RyaW5nLmlzUmVxdWlyZWQsXG5cdFx0cXVlcnk6IHQub2JqZWN0LmlzUmVxdWlyZWRcblx0fSkuaXNSZXF1aXJlZCxcblx0dXA6IHQuc3RyaW5nXG59O1xuXG5QYXR0ZXJuRm9sZGVyLmRlZmF1bHRQcm9wcyA9IHtcblx0aXRlbXM6IFtdXG59O1xuIl19