UNPKG

payload

Version:

Node, React and MongoDB Headless CMS and Application Framework

95 lines (94 loc) 12 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function() { return _default; } }); const _react = /*#__PURE__*/ _interop_require_default(require("react")); const _reacti18next = require("react-i18next"); const _reactrouterdom = require("react-router-dom"); const _types = require("../../../../../../fields/config/types"); const _getTranslation = require("../../../../../../utilities/getTranslation"); const _Config = require("../../../../utilities/Config"); const _RenderCustomComponent = /*#__PURE__*/ _interop_require_default(require("../../../../utilities/RenderCustomComponent")); const _fieldtypes = /*#__PURE__*/ _interop_require_default(require("./field-types")); const _Code = /*#__PURE__*/ _interop_require_default(require("./field-types/Code")); function _interop_require_default(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const DefaultCell = (props)=>{ const { cellData, className, collection: { slug }, collection, field, link = true, onClick, rowData: { id } = {}, rowData } = props; const { routes: { admin } } = (0, _Config.useConfig)(); const { i18n, t } = (0, _reacti18next.useTranslation)('general'); let WrapElement = 'span'; const wrapElementProps = { className }; if (link) { WrapElement = _reactrouterdom.Link; wrapElementProps.to = `${admin}/collections/${slug}/${id}`; } if (typeof onClick === 'function') { WrapElement = 'button'; wrapElementProps.type = 'button'; wrapElementProps.onClick = ()=>{ onClick(props); }; } if (field.name === 'id') { return /*#__PURE__*/ _react.default.createElement(WrapElement, wrapElementProps, /*#__PURE__*/ _react.default.createElement(_Code.default, { collection: collection, data: `ID: ${cellData}`, field: field, nowrap: true, rowData: rowData })); } let CellComponent = cellData && _fieldtypes.default[field.type]; if (!CellComponent) { if (collection.upload && (0, _types.fieldAffectsData)(field) && field.name === 'filename') { CellComponent = _fieldtypes.default.File; } else { if (!cellData && 'label' in field) { return /*#__PURE__*/ _react.default.createElement(WrapElement, wrapElementProps, t('noLabel', { label: (0, _getTranslation.getTranslation)(typeof field.label === 'function' ? 'data' : field.label || 'data', i18n) })); } else if (typeof cellData === 'string' || typeof cellData === 'number') { return /*#__PURE__*/ _react.default.createElement(WrapElement, wrapElementProps, cellData); } else if (typeof cellData === 'object') { return /*#__PURE__*/ _react.default.createElement(WrapElement, wrapElementProps, JSON.stringify(cellData)); } } } return /*#__PURE__*/ _react.default.createElement(WrapElement, wrapElementProps, /*#__PURE__*/ _react.default.createElement(CellComponent, { collection: collection, data: cellData, field: field, rowData: rowData })); }; const Cell = (props)=>{ const { cellData, className, colIndex, collection, field: { admin: { components: { Cell: CustomCell } = {} } = {} }, field, link, onClick, rowData } = props; return /*#__PURE__*/ _react.default.createElement(_RenderCustomComponent.default, { CustomComponent: CustomCell, DefaultComponent: DefaultCell, componentProps: { cellData, className, colIndex, collection, field, link, onClick, rowData } }); }; const _default = Cell; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL3ZpZXdzL2NvbGxlY3Rpb25zL0xpc3QvQ2VsbC9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgTGluayB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nXG5cbmltcG9ydCB0eXBlIHsgQ29kZUZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vZmllbGRzL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgQ2VsbENvbXBvbmVudFByb3BzLCBQcm9wcyB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IGZpZWxkQWZmZWN0c0RhdGEgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHsgZ2V0VHJhbnNsYXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi91dGlsaXRpZXMvZ2V0VHJhbnNsYXRpb24nXG5pbXBvcnQgeyB1c2VDb25maWcgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlsaXRpZXMvQ29uZmlnJ1xuaW1wb3J0IFJlbmRlckN1c3RvbUNvbXBvbmVudCBmcm9tICcuLi8uLi8uLi8uLi91dGlsaXRpZXMvUmVuZGVyQ3VzdG9tQ29tcG9uZW50J1xuaW1wb3J0IGNlbGxDb21wb25lbnRzIGZyb20gJy4vZmllbGQtdHlwZXMnXG5pbXBvcnQgQ29kZUNlbGwgZnJvbSAnLi9maWVsZC10eXBlcy9Db2RlJ1xuXG5jb25zdCBEZWZhdWx0Q2VsbDogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBjZWxsRGF0YSxcbiAgICBjbGFzc05hbWUsXG4gICAgY29sbGVjdGlvbjogeyBzbHVnIH0sXG4gICAgY29sbGVjdGlvbixcbiAgICBmaWVsZCxcbiAgICBsaW5rID0gdHJ1ZSxcbiAgICBvbkNsaWNrLFxuICAgIHJvd0RhdGE6IHsgaWQgfSA9IHt9LFxuICAgIHJvd0RhdGEsXG4gIH0gPSBwcm9wc1xuXG4gIGNvbnN0IHtcbiAgICByb3V0ZXM6IHsgYWRtaW4gfSxcbiAgfSA9IHVzZUNvbmZpZygpXG4gIGNvbnN0IHsgaTE4biwgdCB9ID0gdXNlVHJhbnNsYXRpb24oJ2dlbmVyYWwnKVxuXG4gIGxldCBXcmFwRWxlbWVudDogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+IHwgc3RyaW5nID0gJ3NwYW4nXG5cbiAgY29uc3Qgd3JhcEVsZW1lbnRQcm9wczoge1xuICAgIGNsYXNzTmFtZT86IHN0cmluZ1xuICAgIG9uQ2xpY2s/OiAoKSA9PiB2b2lkXG4gICAgdG8/OiBzdHJpbmdcbiAgICB0eXBlPzogJ2J1dHRvbidcbiAgfSA9IHtcbiAgICBjbGFzc05hbWUsXG4gIH1cblxuICBpZiAobGluaykge1xuICAgIFdyYXBFbGVtZW50ID0gTGlua1xuICAgIHdyYXBFbGVtZW50UHJvcHMudG8gPSBgJHthZG1pbn0vY29sbGVjdGlvbnMvJHtzbHVnfS8ke2lkfWBcbiAgfVxuXG4gIGlmICh0eXBlb2Ygb25DbGljayA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIFdyYXBFbGVtZW50ID0gJ2J1dHRvbidcbiAgICB3cmFwRWxlbWVudFByb3BzLnR5cGUgPSAnYnV0dG9uJ1xuICAgIHdyYXBFbGVtZW50UHJvcHMub25DbGljayA9ICgpID0+IHtcbiAgICAgIG9uQ2xpY2socHJvcHMpXG4gICAgfVxuICB9XG5cbiAgaWYgKGZpZWxkLm5hbWUgPT09ICdpZCcpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFdyYXBFbGVtZW50IHsuLi53cmFwRWxlbWVudFByb3BzfT5cbiAgICAgICAgPENvZGVDZWxsXG4gICAgICAgICAgY29sbGVjdGlvbj17Y29sbGVjdGlvbn1cbiAgICAgICAgICBkYXRhPXtgSUQ6ICR7Y2VsbERhdGF9YH1cbiAgICAgICAgICBmaWVsZD17ZmllbGQgYXMgQ29kZUZpZWxkfVxuICAgICAgICAgIG5vd3JhcFxuICAgICAgICAgIHJvd0RhdGE9e3Jvd0RhdGF9XG4gICAgICAgIC8+XG4gICAgICA8L1dyYXBFbGVtZW50PlxuICAgIClcbiAgfVxuXG4gIGxldCBDZWxsQ29tcG9uZW50OiBSZWFjdC5GQzxDZWxsQ29tcG9uZW50UHJvcHM+ID0gY2VsbERhdGEgJiYgY2VsbENvbXBvbmVudHNbZmllbGQudHlwZV1cblxuICBpZiAoIUNlbGxDb21wb25lbnQpIHtcbiAgICBpZiAoY29sbGVjdGlvbi51cGxvYWQgJiYgZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiYgZmllbGQubmFtZSA9PT0gJ2ZpbGVuYW1lJykge1xuICAgICAgQ2VsbENvbXBvbmVudCA9IGNlbGxDb21wb25lbnRzLkZpbGVcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCFjZWxsRGF0YSAmJiAnbGFiZWwnIGluIGZpZWxkKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPFdyYXBFbGVtZW50IHsuLi53cmFwRWxlbWVudFByb3BzfT5cbiAgICAgICAgICAgIHt0KCdub0xhYmVsJywge1xuICAgICAgICAgICAgICBsYWJlbDogZ2V0VHJhbnNsYXRpb24oXG4gICAgICAgICAgICAgICAgdHlwZW9mIGZpZWxkLmxhYmVsID09PSAnZnVuY3Rpb24nID8gJ2RhdGEnIDogZmllbGQubGFiZWwgfHwgJ2RhdGEnLFxuICAgICAgICAgICAgICAgIGkxOG4sXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICA8L1dyYXBFbGVtZW50PlxuICAgICAgICApXG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBjZWxsRGF0YSA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIGNlbGxEYXRhID09PSAnbnVtYmVyJykge1xuICAgICAgICByZXR1cm4gPFdyYXBFbGVtZW50IHsuLi53cmFwRWxlbWVudFByb3BzfT57Y2VsbERhdGF9PC9XcmFwRWxlbWVudD5cbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGNlbGxEYXRhID09PSAnb2JqZWN0Jykge1xuICAgICAgICByZXR1cm4gPFdyYXBFbGVtZW50IHsuLi53cmFwRWxlbWVudFByb3BzfT57SlNPTi5zdHJpbmdpZnkoY2VsbERhdGEpfTwvV3JhcEVsZW1lbnQ+XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8V3JhcEVsZW1lbnQgey4uLndyYXBFbGVtZW50UHJvcHN9PlxuICAgICAgPENlbGxDb21wb25lbnQgY29sbGVjdGlvbj17Y29sbGVjdGlvbn0gZGF0YT17Y2VsbERhdGF9IGZpZWxkPXtmaWVsZH0gcm93RGF0YT17cm93RGF0YX0gLz5cbiAgICA8L1dyYXBFbGVtZW50PlxuICApXG59XG5cbmNvbnN0IENlbGw6IFJlYWN0LkZDPFByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgY2VsbERhdGEsXG4gICAgY2xhc3NOYW1lLFxuICAgIGNvbEluZGV4LFxuICAgIGNvbGxlY3Rpb24sXG4gICAgZmllbGQ6IHsgYWRtaW46IHsgY29tcG9uZW50czogeyBDZWxsOiBDdXN0b21DZWxsIH0gPSB7fSB9ID0ge30gfSxcbiAgICBmaWVsZCxcbiAgICBsaW5rLFxuICAgIG9uQ2xpY2ssXG4gICAgcm93RGF0YSxcbiAgfSA9IHByb3BzXG5cbiAgcmV0dXJuIChcbiAgICA8UmVuZGVyQ3VzdG9tQ29tcG9uZW50XG4gICAgICBDdXN0b21Db21wb25lbnQ9e0N1c3RvbUNlbGx9XG4gICAgICBEZWZhdWx0Q29tcG9uZW50PXtEZWZhdWx0Q2VsbH1cbiAgICAgIGNvbXBvbmVudFByb3BzPXtcbiAgICAgICAge1xuICAgICAgICAgIGNlbGxEYXRhLFxuICAgICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgICBjb2xJbmRleCxcbiAgICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgIGxpbmssXG4gICAgICAgICAgb25DbGljayxcbiAgICAgICAgICByb3dEYXRhLFxuICAgICAgICB9IGFzIFByb3BzXG4gICAgICB9XG4gICAgLz5cbiAgKVxufVxuXG5leHBvcnQgZGVmYXVsdCBDZWxsXG4iXSwibmFtZXMiOlsiRGVmYXVsdENlbGwiLCJwcm9wcyIsImNlbGxEYXRhIiwiY2xhc3NOYW1lIiwiY29sbGVjdGlvbiIsInNsdWciLCJmaWVsZCIsImxpbmsiLCJvbkNsaWNrIiwicm93RGF0YSIsImlkIiwicm91dGVzIiwiYWRtaW4iLCJ1c2VDb25maWciLCJpMThuIiwidCIsInVzZVRyYW5zbGF0aW9uIiwiV3JhcEVsZW1lbnQiLCJ3cmFwRWxlbWVudFByb3BzIiwiTGluayIsInRvIiwidHlwZSIsIm5hbWUiLCJDb2RlQ2VsbCIsImRhdGEiLCJub3dyYXAiLCJDZWxsQ29tcG9uZW50IiwiY2VsbENvbXBvbmVudHMiLCJ1cGxvYWQiLCJmaWVsZEFmZmVjdHNEYXRhIiwiRmlsZSIsImxhYmVsIiwiZ2V0VHJhbnNsYXRpb24iLCJKU09OIiwic3RyaW5naWZ5IiwiQ2VsbCIsImNvbEluZGV4IiwiY29tcG9uZW50cyIsIkN1c3RvbUNlbGwiLCJSZW5kZXJDdXN0b21Db21wb25lbnQiLCJDdXN0b21Db21wb25lbnQiLCJEZWZhdWx0Q29tcG9uZW50IiwiY29tcG9uZW50UHJvcHMiXSwibWFwcGluZ3MiOiI7Ozs7K0JBdUlBOzs7ZUFBQTs7OzhEQXZJa0I7OEJBQ2E7Z0NBQ1Y7dUJBS1k7Z0NBQ0Y7d0JBQ0w7OEVBQ1E7bUVBQ1A7NkRBQ047Ozs7OztBQUVyQixNQUFNQSxjQUErQixDQUFDQztJQUNwQyxNQUFNLEVBQ0pDLFFBQVEsRUFDUkMsU0FBUyxFQUNUQyxZQUFZLEVBQUVDLElBQUksRUFBRSxFQUNwQkQsVUFBVSxFQUNWRSxLQUFLLEVBQ0xDLE9BQU8sSUFBSSxFQUNYQyxPQUFPLEVBQ1BDLFNBQVMsRUFBRUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQ3BCRCxPQUFPLEVBQ1IsR0FBR1I7SUFFSixNQUFNLEVBQ0pVLFFBQVEsRUFBRUMsS0FBSyxFQUFFLEVBQ2xCLEdB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