UNPKG

@mindhive/documents

Version:

Standard document viewing, editing, listing etc

99 lines (81 loc) 3.25 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _extends2 = require('babel-runtime/helpers/extends'); var _extends3 = _interopRequireDefault(_extends2); var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties'); var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _mobxReact = require('mobx-react'); var _List = require('material-ui/List'); var _Subheader = require('material-ui/Subheader'); var _Subheader2 = _interopRequireDefault(_Subheader); var _NoDocsLabel = require('./NoDocsLabel'); var _NoDocsLabel2 = _interopRequireDefault(_NoDocsLabel); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var mongoIdSelector = function mongoIdSelector(doc) { return doc._id; }; var DocList = function DocList(_ref) { var vocab = _ref.vocab, title = _ref.title, hideWhenEmpty = _ref.hideWhenEmpty, noNewDocuments = _ref.noNewDocuments, _ref$documents = _ref.documents, documents = _ref$documents === undefined ? [] : _ref$documents, selected = _ref.selected, scrollNew = _ref.scrollNew, docProps = _ref.docProps, DocEdit = _ref.DocEdit, editProps = _ref.editProps, DocView = _ref.DocView, viewProps = _ref.viewProps, _ref$docIdSelector = _ref.docIdSelector, docIdSelector = _ref$docIdSelector === undefined ? mongoIdSelector : _ref$docIdSelector, noDnoDocumentsStyles = _ref.noDnoDocumentsStyles, other = (0, _objectWithoutProperties3.default)(_ref, ['vocab', 'title', 'hideWhenEmpty', 'noNewDocuments', 'documents', 'selected', 'scrollNew', 'docProps', 'DocEdit', 'editProps', 'DocView', 'viewProps', 'docIdSelector', 'noDnoDocumentsStyles']); var docComponents = documents.map(function (doc, index) { var id = docIdSelector(doc); return selected.id === id ? _react2.default.createElement(DocEdit, (0, _extends3.default)({}, docProps, editProps, { selected: selected, key: id + '.edit', id: id, document: doc })) : _react2.default.createElement(DocView, (0, _extends3.default)({}, docProps, viewProps, { index: index, id: id, key: id + '.view', document: doc })); }); if (!noNewDocuments && selected.isNew) { docComponents.splice(selected.scrollNew, 0, _react2.default.createElement(DocEdit, (0, _extends3.default)({}, docProps, editProps, { selected: selected, scrollNew: scrollNew, key: 'new-' + selected.scrollNew }))); } return selected.isNew || documents.length ? _react2.default.createElement( 'div', { id: vocab.id + '-list-selector' }, _react2.default.createElement( _List.List, null, title ? _react2.default.createElement( _Subheader2.default, null, title ) : null, docComponents ) ) : _react2.default.createElement( _NoDocsLabel2.default, { hideWhenEmpty: hideWhenEmpty, noDnoDocumentsStyles: noDnoDocumentsStyles }, 'No ', vocab.documents, ' defined' ); }; exports.default = (0, _mobxReact.observer)(DocList);