matcha-keystone-utils
Version:
Useful features for Keystone 6: validators, fields, componentBlocks...
36 lines (35 loc) • 1.44 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Field = exports.Cell = void 0;
// @ts-nocheck
const react_1 = __importDefault(require("react"));
const components_1 = require("@keystone-6/core/admin-ui/components");
const messageByType = {
itemDeletedNow: "❌ Item deleted",
itemDeletedLater: "❌🕘 Item deleted (after)",
itemExists: "➡️ Go to item",
entityDeleted: "❌📒 Entity deleted/renamed",
};
const getUIData = ({ type, plural, entityId }) => {
const message = messageByType[type];
const uri = type === "itemExists"
? `/${plural.toLowerCase()}/${entityId}`
: type !== "entityDeleted" && `/${plural.toLowerCase()}`;
return { message, uri };
};
const Cell = ({ item, field }) => {
const value = item[field.path];
const { message, uri } = getUIData(value);
return uri ? (react_1.default.createElement(components_1.CellLink, { href: uri }, message)) : (react_1.default.createElement(components_1.CellContainer, null, message));
};
exports.Cell = Cell;
const Field = ({
// field,
value, }) => {
const { message, uri } = getUIData(value);
return uri ? react_1.default.createElement("a", { href: uri }, message) : react_1.default.createElement("div", null, message);
};
exports.Field = Field;