payload
Version:
Node, React and MongoDB Headless CMS and Application Framework
95 lines (94 loc) • 12 kB
JavaScript
;
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+XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8V3JhcEVsZW1lbnQgey4uLndyYXBFbGVtZW50UHJvcHN9PlxuICAgICAgPENlbGxDb21wb25lbnQgY29sbGVjdGlvbj17Y29sbGVjdGlvbn0gZGF0YT17Y2VsbERhdGF9IGZpZWxkPXtmaWVsZH0gcm93RGF0YT17cm93RGF0YX0gLz5cbiAgICA8L1dyYXBFbGVtZW50PlxuICApXG59XG5cbmNvbnN0IENlbGw6IFJlYWN0LkZDPFByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgY2VsbERhdGEsXG4gICAgY2xhc3NOYW1lLFxuICAgIGNvbEluZGV4LFxuICAgIGNvbGxlY3Rpb24sXG4gICAgZmllbGQ6IHsgYWRtaW46IHsgY29tcG9uZW50czogeyBDZWxsOiBDdXN0b21DZWxsIH0gPSB7fSB9ID0ge30gfSxcbiAgICBmaWVsZCxcbiAgICBsaW5rLFxuICAgIG9uQ2xpY2ssXG4gICAgcm93RGF0YSxcbiAgfSA9IHByb3BzXG5cbiAgcmV0dXJuIChcbiAgICA8UmVuZGVyQ3VzdG9tQ29tcG9uZW50XG4gICAgICBDdXN0b21Db21wb25lbnQ9e0N1c3RvbUNlbGx9XG4gICAgICBEZWZhdWx0Q29tcG9uZW50PXtEZWZhdWx0Q2VsbH1cbiAgICAgIGNvbXBvbmVudFByb3BzPXtcbiAgICAgICAge1xuICAgICAgICAgIGNlbGxEYXRhLFxuICAgICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgICBjb2xJbmRleCxcbiAgICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgIGxpbmssXG4gICAgICAgICAgb25DbGljayxcbiAgICAgICAgICByb3dEYXRhLFxuICAgICAgICB9IGFzIFByb3BzXG4gICAgICB9XG4gICAgLz5cbiAgKVxufVxuXG5leHBvcnQgZGVmYXVsdCBDZWxsXG4iXSwibmFtZXMiOlsiRGVmYXVsdENlbGwiLCJwcm9wcyIsImNlbGxEYXRhIiwiY2xhc3NOYW1lIiwiY29sbGVjdGlvbiIsInNsdWciLCJmaWVsZCIsImxpbmsiLCJvbkNsaWNrIiwicm93RGF0YSIsImlkIiwicm91dGVzIiwiYWRtaW4iLCJ1c2VDb25maWciLCJpMThuIiwidCIsInVzZVRyYW5zbGF0aW9uIiwiV3JhcEVsZW1lbnQiLCJ3cmFwRWxlbWVudFByb3BzIiwiTGluayIsInRvIiwidHlwZSIsIm5hbWUiLCJDb2RlQ2VsbCIsImRhdGEiLCJub3dyYXAiLCJDZWxsQ29tcG9uZW50IiwiY2VsbENvbXBvbmVudHMiLCJ1cGxvYWQiLCJmaWVsZEFmZmVjdHNEYXRhIiwiRmlsZSIsImxhYmVsIiwiZ2V0VHJhbnNsYXRpb24iLCJKU09OIiwic3RyaW5naWZ5IiwiQ2VsbCIsImNvbEluZGV4IiwiY29tcG9uZW50cyIsIkN1c3RvbUNlbGwiLCJSZW5kZXJDdXN0b21Db21wb25lbnQiLCJDdXN0b21Db21wb25lbnQiLCJEZWZhdWx0Q29tcG9uZW50IiwiY29tcG9uZW50UHJvcHMiXSwibWFwcGluZ3MiOiI7Ozs7K0JBdUlBOzs7ZUFBQTs7OzhEQXZJa0I7OEJBQ2E7Z0NBQ1Y7dUJBS1k7Z0NBQ0Y7d0JBQ0w7OEVBQ1E7bUVBQ1A7NkRBQ047Ozs7OztBQUVyQixNQUFNQSxjQUErQixDQUFDQztJQUNwQyxNQUFNLEVBQ0pDLFFBQVEsRUFDUkMsU0FBUyxFQUNUQyxZQUFZLEVBQUVDLElBQUksRUFBRSxFQUNwQkQsVUFBVSxFQUNWRSxLQUFLLEVBQ0xDLE9BQU8sSUFBSSxFQUNYQyxPQUFPLEVBQ1BDLFNBQVMsRUFBRUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQ3BCRCxPQUFPLEVBQ1IsR0FBR1I7SUFFSixNQUFNLEVBQ0pVLFFBQVEsRUFBRUMsS0FBSyxFQUFFLEVBQ2xCLEdBQUdDLElBQUFBLGlCQUFTO0lBQ2IsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLENBQUMsRUFBRSxHQUFHQyxJQUFBQSw0QkFBYyxFQUFDO0lBRW5DLElBQUlDLGNBQWlEO0lBRXJELE1BQU1DLG1CQUtGO1FBQ0ZmO0lBQ0Y7SUFFQSxJQUFJSSxNQUFNO1FBQ1JVLGNBQWNFLG9CQUFJO1FBQ2xCRCxpQkFBaUJFLEVBQUUsR0FBRyxDQUFDLEVBQUVSLE1BQU0sYUFBYSxFQUFFUCxLQUFLLENBQUMsRUFBRUssR0FBRyxDQUFDO0lBQzVEO0lBRUEsSUFBSSxPQUFPRixZQUFZLFlBQVk7UUFDakNTLGNBQWM7UUFDZEMsaUJBQWlCRyxJQUFJLEdBQUc7UUFDeEJILGlCQUFpQlYsT0FBTyxHQUFHO1lBQ3pCQSxRQUFRUDtRQUNWO0lBQ0Y7SUFFQSxJQUFJSyxNQUFNZ0IsSUFBSSxLQUFLLE1BQU07UUFDdkIscUJBQ0UsNkJBQUNMLGFBQWdCQyxnQ0FDZiw2QkFBQ0ssYUFBUTtZQUNQbkIsWUFBWUE7WUFDWm9CLE1BQU0sQ0FBQyxJQUFJLEVBQUV0QixTQUFTLENBQUM7WUFDdkJJLE9BQU9BO1lBQ1BtQixRQUFBQTtZQUNBaEIsU0FBU0E7O0lBSWpCO0lBRUEsSUFBSWlCLGdCQUE4Q3hCLFlBQVl5QixtQkFBYyxDQUFDckIsTUFBTWUsSUFBSSxDQUFDO0lBRXhGLElBQUksQ0FBQ0ssZUFBZTtRQUNsQixJQUFJdEIsV0FBV3dCLE1BQU0sSUFBSUMsSUFBQUEsdUJBQWdCLEVBQUN2QixVQUFVQSxNQUFNZ0IsSUFBSSxLQUFLLFlBQVk7WUFDN0VJLGdCQUFnQkMsbUJBQWMsQ0FBQ0csSUFBSTtRQUNyQyxPQUFPO1lBQ0wsSUFBSSxDQUFDNUIsWUFBWSxXQUFXSSxPQUFPO2dCQUNqQyxxQkFDRSw2QkFBQ1csYUFBZ0JDLGtCQUNkSCxFQUFFLFdBQVc7b0JBQ1pnQixPQUFPQyxJQUFBQSw4QkFBYyxFQUNuQixPQUFPMUIsTUFBTXlCLEtBQUssS0FBSyxhQUFhLFNBQVN6QixNQUFNeUIsS0FBSyxJQUFJLFFBQzVEakI7Z0JBRUo7WUFHTixPQUFPLElBQUksT0FBT1osYUFBYSxZQUFZLE9BQU9BLGFBQWEsVUFBVTtnQkFDdkUscUJBQU8sNkJBQUNlLGFBQWdCQyxrQkFBbUJoQjtZQUM3QyxPQUFPLElBQUksT0FBT0EsYUFBYSxVQUFVO2dCQUN2QyxxQkFBTyw2QkFBQ2UsYUFBZ0JDLGtCQUFtQmUsS0FBS0MsU0FBUyxDQUFDaEM7WUFDNUQ7UUFDRjtJQUNGO0lBRUEscUJBQ0UsNkJBQUNlLGFBQWdCQyxnQ0FDZiw2QkFBQ1E7UUFBY3RCLFlBQVlBO1FBQVlvQixNQUFNdEI7UUFBVUksT0FBT0E7UUFBT0csU0FBU0E7O0FBR3BGO0FBRUEsTUFBTTBCLE9BQXdCLENBQUNsQztJQUM3QixNQUFNLEVBQ0pDLFFBQVEsRUFDUkMsU0FBUyxFQUNUaUMsUUFBUSxFQUNSaEMsVUFBVSxFQUNWRSxPQUFPLEVBQUVNLE9BQU8sRUFBRXlCLFlBQVksRUFBRUYsTUFBTUcsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUNoRWhDLEtBQUssRUFDTEMsSUFBSSxFQUNKQyxPQUFPLEVBQ1BDLE9BQU8sRUFDUixHQUFHUjtJQUVKLHFCQUNFLDZCQUFDc0MsOEJBQXFCO1FBQ3BCQyxpQkFBaUJGO1FBQ2pCRyxrQkFBa0J6QztRQUNsQjBDLGdCQUNFO1lBQ0V4QztZQUNBQztZQUNBaUM7WUFDQWhDO1lBQ0FFO1lBQ0FDO1lBQ0FDO1lBQ0FDO1FBQ0Y7O0FBSVI7TUFFQSxXQUFlMEIifQ==