@tekki-forge/runtime-admin 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- package/dist/account.d.ts +1 -0
- package/dist/account.js +105 -0
- package/dist/account.js.map +1 -0
- package/dist/activity.d.ts +65 -0
- package/dist/activity.js +299 -0
- package/dist/activity.js.map +1 -0
- package/dist/admin-access.d.ts +4 -0
- package/dist/admin-access.js +177 -0
- package/dist/admin-access.js.map +1 -0
- package/dist/admin.d.ts +5 -0
- package/dist/admin.js +129 -0
- package/dist/admin.js.map +1 -0
- package/dist/auth-pages.d.ts +13 -0
- package/dist/auth-pages.js +207 -0
- package/dist/auth-pages.js.map +1 -0
- package/dist/brand-art.d.ts +24 -0
- package/dist/brand-art.js +33 -0
- package/dist/brand-art.js.map +1 -0
- package/dist/brand.d.ts +11 -0
- package/dist/brand.js +16 -0
- package/dist/brand.js.map +1 -0
- package/dist/charts.d.ts +23 -0
- package/dist/charts.js +259 -0
- package/dist/charts.js.map +1 -0
- package/dist/command-palette.d.ts +9 -0
- package/dist/command-palette.js +115 -0
- package/dist/command-palette.js.map +1 -0
- package/dist/context.d.ts +242 -0
- package/dist/context.js +107 -0
- package/dist/context.js.map +1 -0
- package/dist/dashboard.d.ts +66 -0
- package/dist/dashboard.js +144 -0
- package/dist/dashboard.js.map +1 -0
- package/dist/fields.d.ts +71 -0
- package/dist/fields.js +326 -0
- package/dist/fields.js.map +1 -0
- package/dist/i18n/catalog.d.ts +7 -0
- package/dist/i18n/catalog.js +23 -0
- package/dist/i18n/catalog.js.map +1 -0
- package/dist/i18n/locale.d.ts +15 -0
- package/dist/i18n/locale.js +69 -0
- package/dist/i18n/locale.js.map +1 -0
- package/dist/i18n/messages/de.d.ts +3 -0
- package/dist/i18n/messages/de.js +627 -0
- package/dist/i18n/messages/de.js.map +1 -0
- package/dist/i18n/messages/en.d.ts +3 -0
- package/dist/i18n/messages/en.js +627 -0
- package/dist/i18n/messages/en.js.map +1 -0
- package/dist/i18n/messages/es.d.ts +3 -0
- package/dist/i18n/messages/es.js +627 -0
- package/dist/i18n/messages/es.js.map +1 -0
- package/dist/i18n/messages/fr.d.ts +3 -0
- package/dist/i18n/messages/fr.js +627 -0
- package/dist/i18n/messages/fr.js.map +1 -0
- package/dist/i18n/messages/pt.d.ts +3 -0
- package/dist/i18n/messages/pt.js +627 -0
- package/dist/i18n/messages/pt.js.map +1 -0
- package/dist/i18n/validation.d.ts +3 -0
- package/dist/i18n/validation.js +36 -0
- package/dist/i18n/validation.js.map +1 -0
- package/dist/illustrations.d.ts +6 -0
- package/dist/illustrations.js +16 -0
- package/dist/illustrations.js.map +1 -0
- package/dist/import-dialog.d.ts +11 -0
- package/dist/import-dialog.js +152 -0
- package/dist/import-dialog.js.map +1 -0
- package/dist/index.d.ts +38 -0
- package/dist/index.js +39 -0
- package/dist/index.js.map +1 -0
- package/dist/inline-edit.d.ts +18 -0
- package/dist/inline-edit.js +115 -0
- package/dist/inline-edit.js.map +1 -0
- package/dist/landing.d.ts +79 -0
- package/dist/landing.js +122 -0
- package/dist/landing.js.map +1 -0
- package/dist/locale-switcher.d.ts +4 -0
- package/dist/locale-switcher.js +15 -0
- package/dist/locale-switcher.js.map +1 -0
- package/dist/map.d.ts +26 -0
- package/dist/map.js +232 -0
- package/dist/map.js.map +1 -0
- package/dist/notifications.d.ts +12 -0
- package/dist/notifications.js +75 -0
- package/dist/notifications.js.map +1 -0
- package/dist/record-mutation.d.ts +19 -0
- package/dist/record-mutation.js +39 -0
- package/dist/record-mutation.js.map +1 -0
- package/dist/resource-detail.d.ts +4 -0
- package/dist/resource-detail.js +96 -0
- package/dist/resource-detail.js.map +1 -0
- package/dist/resource-form.d.ts +11 -0
- package/dist/resource-form.js +92 -0
- package/dist/resource-form.js.map +1 -0
- package/dist/resource-list.d.ts +10 -0
- package/dist/resource-list.js +154 -0
- package/dist/resource-list.js.map +1 -0
- package/dist/saved-views.d.ts +16 -0
- package/dist/saved-views.js +64 -0
- package/dist/saved-views.js.map +1 -0
- package/dist/schema-editor-diagram.d.ts +14 -0
- package/dist/schema-editor-diagram.js +54 -0
- package/dist/schema-editor-diagram.js.map +1 -0
- package/dist/schema-editor.d.ts +98 -0
- package/dist/schema-editor.js +571 -0
- package/dist/schema-editor.js.map +1 -0
- package/dist/shell.d.ts +10 -0
- package/dist/shell.js +228 -0
- package/dist/shell.js.map +1 -0
- package/dist/skeleton.d.ts +25 -0
- package/dist/skeleton.js +34 -0
- package/dist/skeleton.js.map +1 -0
- package/dist/theme-catalog.d.ts +71 -0
- package/dist/theme-catalog.js +55 -0
- package/dist/theme-catalog.js.map +1 -0
- package/dist/theme-head.d.ts +8 -0
- package/dist/theme-head.js +11 -0
- package/dist/theme-head.js.map +1 -0
- package/dist/theme-preview.d.ts +2 -0
- package/dist/theme-preview.js +23 -0
- package/dist/theme-preview.js.map +1 -0
- package/dist/theme-switcher.d.ts +20 -0
- package/dist/theme-switcher.js +159 -0
- package/dist/theme-switcher.js.map +1 -0
- package/dist/theme.d.ts +24 -0
- package/dist/theme.js +30 -0
- package/dist/theme.js.map +1 -0
- package/dist/toast.d.ts +21 -0
- package/dist/toast.js +51 -0
- package/dist/toast.js.map +1 -0
- package/dist/ui.d.ts +86 -0
- package/dist/ui.js +106 -0
- package/dist/ui.js.map +1 -0
- package/dist/views.d.ts +23 -0
- package/dist/views.js +238 -0
- package/dist/views.js.map +1 -0
- package/package.json +58 -0
- package/styles.css +778 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource-list.js","sourceRoot":"","sources":["../src/resource-list.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ResourceMeta } from "@tekki-forge/compiler";
|
|
2
|
+
type Params = Record<string, string>;
|
|
3
|
+
export interface SavedView {
|
|
4
|
+
id: string;
|
|
5
|
+
name: string;
|
|
6
|
+
query: Params;
|
|
7
|
+
shared: boolean;
|
|
8
|
+
mine: boolean;
|
|
9
|
+
}
|
|
10
|
+
/** "Views" menu: apply, save, share (admins) and delete saved filter sets of a list. */
|
|
11
|
+
export declare function SavedViewsMenu({ resource, params, setParams }: {
|
|
12
|
+
resource: ResourceMeta;
|
|
13
|
+
params: Params;
|
|
14
|
+
setParams: (p: Params) => void;
|
|
15
|
+
}): import("react").JSX.Element;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
|
|
4
|
+
import { Bookmark, Check, ChevronDown, Trash2, Users } from "lucide-react";
|
|
5
|
+
import { useEffect, useRef, useState } from "react";
|
|
6
|
+
import { useForge, useMe } from "./context.js";
|
|
7
|
+
import { Alert, Button, Dialog, FieldShell, Input, cn } from "./ui.js";
|
|
8
|
+
const IGNORED = new Set(["page", "pageSize"]);
|
|
9
|
+
const comparable = (p) => JSON.stringify(Object.entries(p)
|
|
10
|
+
.filter(([k, v]) => v !== "" && !IGNORED.has(k))
|
|
11
|
+
.sort(([a], [b]) => a.localeCompare(b)));
|
|
12
|
+
/** "Views" menu: apply, save, share (admins) and delete saved filter sets of a list. */
|
|
13
|
+
export function SavedViewsMenu({ resource, params, setParams }) {
|
|
14
|
+
const { api, t } = useForge();
|
|
15
|
+
const { principal } = useMe();
|
|
16
|
+
const queryClient = useQueryClient();
|
|
17
|
+
const [open, setOpen] = useState(false);
|
|
18
|
+
const [saving, setSaving] = useState(false);
|
|
19
|
+
const [name, setName] = useState("");
|
|
20
|
+
const [shared, setShared] = useState(false);
|
|
21
|
+
const menuRef = useRef(null);
|
|
22
|
+
const key = ["forge", "saved-views", resource.path];
|
|
23
|
+
const views = useQuery({ queryKey: key, queryFn: () => api("/saved-views", { query: { resource: resource.path } }) });
|
|
24
|
+
const isAdmin = principal?.roles.includes("admin") ?? false;
|
|
25
|
+
const active = views.data?.data.find((v) => comparable(v.query) === comparable(params));
|
|
26
|
+
useEffect(() => {
|
|
27
|
+
if (!open)
|
|
28
|
+
return;
|
|
29
|
+
const close = (e) => menuRef.current && !menuRef.current.contains(e.target) && setOpen(false);
|
|
30
|
+
const esc = (e) => e.key === "Escape" && setOpen(false);
|
|
31
|
+
document.addEventListener("mousedown", close);
|
|
32
|
+
document.addEventListener("keydown", esc);
|
|
33
|
+
return () => {
|
|
34
|
+
document.removeEventListener("mousedown", close);
|
|
35
|
+
document.removeEventListener("keydown", esc);
|
|
36
|
+
};
|
|
37
|
+
}, [open]);
|
|
38
|
+
const create = useMutation({
|
|
39
|
+
mutationFn: () => api("/saved-views", { method: "POST", body: JSON.stringify({ resource: resource.path, name, query: params, shared }) }),
|
|
40
|
+
onSuccess: () => {
|
|
41
|
+
queryClient.invalidateQueries({ queryKey: key });
|
|
42
|
+
setSaving(false);
|
|
43
|
+
setName("");
|
|
44
|
+
setShared(false);
|
|
45
|
+
},
|
|
46
|
+
});
|
|
47
|
+
const remove = useMutation({
|
|
48
|
+
mutationFn: (id) => api(`/saved-views/${id}`, { method: "DELETE" }),
|
|
49
|
+
onSuccess: () => queryClient.invalidateQueries({ queryKey: key }),
|
|
50
|
+
});
|
|
51
|
+
const hasFilters = comparable(params) !== "[]";
|
|
52
|
+
return (_jsxs("div", { ref: menuRef, className: "relative", children: [_jsxs(Button, { size: "sm", variant: "ghost", "aria-haspopup": "menu", "aria-expanded": open, onClick: () => setOpen(!open), children: [_jsx(Bookmark, { className: "size-3.5" }), _jsx("span", { className: "max-w-32 truncate", children: active ? active.name : t("savedViews.views") }), _jsx(ChevronDown, { className: "size-3" })] }), open && (_jsxs("div", { role: "menu", className: "forge-dialog absolute right-0 z-30 mt-1 w-64 p-1 text-sm", children: [views.data?.data.length ? (views.data.data.map((v) => (_jsxs("div", { className: "group flex items-center gap-1", children: [_jsxs("button", { type: "button", role: "menuitem", onClick: () => {
|
|
53
|
+
setParams(v.query);
|
|
54
|
+
setOpen(false);
|
|
55
|
+
}, className: "forge-nav-item flex min-w-0 flex-1 items-center gap-2 px-2 py-1.5 text-left", children: [_jsx(Check, { className: cn("size-3.5 shrink-0", active?.id === v.id ? "text-primary" : "invisible") }), _jsx("span", { className: "truncate", children: v.name }), v.shared && _jsx(Users, { className: "ml-auto size-3.5 shrink-0 text-ink-subtle", "aria-label": t("savedViews.shared") })] }), (v.mine || (v.shared && isAdmin)) && (_jsx("button", { type: "button", "aria-label": t("savedViews.deleteView", { name: v.name }), onClick: () => remove.mutate(v.id), className: "forge-btn forge-btn-ghost p-1 text-ink-subtle opacity-0 group-hover:opacity-100 focus:opacity-100", children: _jsx(Trash2, { className: "size-3.5" }) }))] }, v.id)))) : (_jsx("p", { className: "px-2 py-1.5 text-xs text-ink-subtle", children: t("savedViews.empty") })), _jsx("div", { className: "my-1 border-t border-line" }), _jsx("button", { type: "button", role: "menuitem", disabled: !hasFilters, onClick: () => {
|
|
56
|
+
setOpen(false);
|
|
57
|
+
setSaving(true);
|
|
58
|
+
}, className: "forge-nav-item w-full px-2 py-1.5 text-left disabled:opacity-50", title: hasFilters ? undefined : t("savedViews.filterFirst"), children: t("savedViews.saveCurrent") }), hasFilters && (_jsx("button", { type: "button", role: "menuitem", onClick: () => (setParams({}), setOpen(false)), className: "forge-nav-item w-full px-2 py-1.5 text-left", children: t("savedViews.resetFilters") }))] })), _jsx(Dialog, { open: saving, onClose: () => setSaving(false), title: t("savedViews.saveTitle"), footer: _jsxs(_Fragment, { children: [_jsx(Button, { onClick: () => setSaving(false), children: t("common.cancel") }), _jsx(Button, { variant: "primary", loading: create.isPending, disabled: !name.trim(), onClick: () => create.mutate(), children: t("common.save") })] }), children: _jsxs("form", { onSubmit: (e) => {
|
|
59
|
+
e.preventDefault();
|
|
60
|
+
if (name.trim())
|
|
61
|
+
create.mutate();
|
|
62
|
+
}, className: "space-y-4", children: [create.error && _jsx(Alert, { children: create.error.message }), _jsx(FieldShell, { label: t("account.name"), htmlFor: "saved-view-name", required: true, children: _jsx(Input, { id: "saved-view-name", autoFocus: true, maxLength: 80, value: name, onChange: (e) => setName(e.target.value), placeholder: t("savedViews.namePlaceholder") }) }), isAdmin && (_jsxs("label", { className: "flex items-center gap-2 text-sm", children: [_jsx("input", { type: "checkbox", className: "forge-check", checked: shared, onChange: (e) => setShared(e.target.checked) }), t("savedViews.shareWithOrg")] }))] }) })] }));
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=saved-views.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"saved-views.js","sourceRoot":"","sources":["../src/saved-views.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface DiagramEntity {
|
|
2
|
+
name: string;
|
|
3
|
+
fields: {
|
|
4
|
+
name: string;
|
|
5
|
+
type: string;
|
|
6
|
+
entity?: string;
|
|
7
|
+
many?: boolean;
|
|
8
|
+
required?: boolean;
|
|
9
|
+
}[];
|
|
10
|
+
}
|
|
11
|
+
/** Read-only picture of the schema: entity cards and a line from each relation field to its target. */
|
|
12
|
+
export declare function SchemaDiagram({ entities }: {
|
|
13
|
+
entities: DiagramEntity[];
|
|
14
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useForge } from "./context.js";
|
|
4
|
+
import { EmptyState } from "./ui.js";
|
|
5
|
+
const CARD_W = 220;
|
|
6
|
+
const HEADER_H = 32;
|
|
7
|
+
const ROW_H = 22;
|
|
8
|
+
const GAP_X = 90;
|
|
9
|
+
const GAP_Y = 56;
|
|
10
|
+
const PAD = 24;
|
|
11
|
+
const BUILTINS = ["User", "Organization"];
|
|
12
|
+
/** Grid placement: entities in reading order, one row height per grid row. */
|
|
13
|
+
function layout(entities) {
|
|
14
|
+
const referenced = new Set(entities.flatMap((e) => e.fields.map((f) => f.entity).filter((x) => !!x)));
|
|
15
|
+
const all = [
|
|
16
|
+
...entities.map((e) => ({ name: e.name, fields: e.fields, builtin: false, h: HEADER_H + Math.max(1, e.fields.length) * ROW_H + 8 })),
|
|
17
|
+
...BUILTINS.filter((b) => referenced.has(b) && !entities.some((e) => e.name === b)).map((b) => ({ name: b, fields: [], builtin: true, h: HEADER_H + 8 })),
|
|
18
|
+
];
|
|
19
|
+
const cols = Math.max(1, Math.min(4, Math.ceil(Math.sqrt(all.length))));
|
|
20
|
+
const boxes = [];
|
|
21
|
+
let y = PAD;
|
|
22
|
+
for (let row = 0; row * cols < all.length; row++) {
|
|
23
|
+
const items = all.slice(row * cols, row * cols + cols);
|
|
24
|
+
items.forEach((b, col) => boxes.push({ ...b, x: PAD + col * (CARD_W + GAP_X), y }));
|
|
25
|
+
y += Math.max(...items.map((b) => b.h)) + GAP_Y;
|
|
26
|
+
}
|
|
27
|
+
return { boxes, width: PAD * 2 + cols * CARD_W + (cols - 1) * GAP_X, height: y - GAP_Y + PAD };
|
|
28
|
+
}
|
|
29
|
+
/** Read-only picture of the schema: entity cards and a line from each relation field to its target. */
|
|
30
|
+
export function SchemaDiagram({ entities }) {
|
|
31
|
+
const { t } = useForge();
|
|
32
|
+
if (!entities.length)
|
|
33
|
+
return _jsx(EmptyState, { title: t("schema.diagram.empty") });
|
|
34
|
+
const { boxes, width, height } = layout(entities);
|
|
35
|
+
const byName = new Map(boxes.map((b) => [b.name, b]));
|
|
36
|
+
const links = boxes.flatMap((b) => b.fields.flatMap((f, i) => {
|
|
37
|
+
const target = f.entity ? byName.get(f.entity) : undefined;
|
|
38
|
+
if (!target)
|
|
39
|
+
return [];
|
|
40
|
+
const y1 = b.y + HEADER_H + i * ROW_H + ROW_H / 2;
|
|
41
|
+
const self = target === b;
|
|
42
|
+
const toRight = target.x > b.x || self;
|
|
43
|
+
const x1 = toRight ? b.x + CARD_W : b.x;
|
|
44
|
+
const x2 = self ? b.x + CARD_W : target.x > b.x ? target.x : target.x + CARD_W;
|
|
45
|
+
const y2 = target.y + HEADER_H / 2;
|
|
46
|
+
const bend = self ? 40 : Math.max(30, Math.abs(x2 - x1) / 2);
|
|
47
|
+
const c1 = toRight ? x1 + bend : x1 - bend;
|
|
48
|
+
const c2 = self || target.x <= b.x ? x2 + bend : x2 - bend;
|
|
49
|
+
const d = target.x === b.x && !self ? `M ${x1} ${y1} C ${x1 + 50} ${y1}, ${x2 + 50} ${y2}, ${x2} ${y2}` : `M ${x1} ${y1} C ${c1} ${y1}, ${c2} ${y2}, ${x2} ${y2}`;
|
|
50
|
+
return [{ key: `${b.name}.${f.name}`, d, many: !!f.many, x2, y2 }];
|
|
51
|
+
}));
|
|
52
|
+
return (_jsx("div", { className: "forge-card overflow-auto", children: _jsxs("svg", { width: width, height: height, viewBox: `0 0 ${width} ${height}`, role: "img", "aria-label": t("schema.tab.diagram"), className: "block text-ink", children: [_jsx("defs", { children: _jsx("marker", { id: "forge-schema-arrow", viewBox: "0 0 10 10", refX: "9", refY: "5", markerWidth: "7", markerHeight: "7", orient: "auto-start-reverse", children: _jsx("path", { d: "M 0 0 L 10 5 L 0 10 z", className: "fill-primary" }) }) }), links.map((l) => (_jsx("path", { d: l.d, fill: "none", className: "stroke-primary", strokeOpacity: 0.6, strokeWidth: 1.5, strokeDasharray: l.many ? "5 4" : undefined, markerEnd: "url(#forge-schema-arrow)" }, l.key))), boxes.map((b) => (_jsxs("g", { transform: `translate(${b.x} ${b.y})`, children: [_jsx("rect", { width: CARD_W, height: b.h, rx: 8, className: "fill-surface stroke-line", strokeDasharray: b.builtin ? "4 3" : undefined }), _jsx("rect", { width: CARD_W, height: HEADER_H, rx: 8, className: "fill-surface-muted" }), _jsx("text", { x: 12, y: 21, className: "fill-ink text-[13px] font-semibold", children: b.name }), b.builtin && (_jsx("text", { x: CARD_W - 12, y: 21, textAnchor: "end", className: "fill-ink-muted text-[11px]", children: t("schema.diagram.builtin") })), b.fields.map((f, i) => (_jsxs("g", { transform: `translate(0 ${HEADER_H + i * ROW_H})`, children: [_jsxs("text", { x: 12, y: 15, className: "fill-ink text-[12px]", children: [f.name, f.required ? " *" : ""] }), _jsx("text", { x: CARD_W - 12, y: 15, textAnchor: "end", className: "fill-ink-muted text-[11px]", children: f.entity ? `→ ${f.entity}${f.many ? " []" : ""}` : f.type })] }, f.name)))] }, b.name)))] }) }));
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=schema-editor-diagram.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-editor-diagram.js","sourceRoot":"","sources":["../src/schema-editor-diagram.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/** Nav entry for the schema editor (development only); the shell links it under Administration for admins. */
|
|
2
|
+
export declare const SCHEMA_EDITOR_NAV: {
|
|
3
|
+
readonly label: "schema.nav";
|
|
4
|
+
readonly path: "admin/schema";
|
|
5
|
+
};
|
|
6
|
+
export declare const SCHEMA_FIELD_TYPES: readonly ["string", "text", "richtext", "integer", "decimal", "money", "percentage", "boolean", "date", "datetime", "enum", "email", "url", "phone", "color", "json", "location", "file", "image", "computed", "relation"];
|
|
7
|
+
type FieldType = (typeof SCHEMA_FIELD_TYPES)[number];
|
|
8
|
+
/** Same shape as the CLI's FieldDraft (the server validates it strictly). */
|
|
9
|
+
export interface SchemaFieldDraft {
|
|
10
|
+
name: string;
|
|
11
|
+
type: FieldType;
|
|
12
|
+
required?: boolean;
|
|
13
|
+
unique?: boolean;
|
|
14
|
+
searchable?: boolean;
|
|
15
|
+
values?: string[];
|
|
16
|
+
labels?: Record<string, string>;
|
|
17
|
+
default?: string | number | boolean;
|
|
18
|
+
entity?: string;
|
|
19
|
+
owner?: boolean;
|
|
20
|
+
currency?: string;
|
|
21
|
+
many?: boolean;
|
|
22
|
+
accept?: string[];
|
|
23
|
+
maxSize?: string;
|
|
24
|
+
computedType?: string;
|
|
25
|
+
expression?: string;
|
|
26
|
+
}
|
|
27
|
+
type OptionKey = "label" | "pluralLabel" | "icon" | "display" | "nav";
|
|
28
|
+
interface EntityOptions {
|
|
29
|
+
label: string;
|
|
30
|
+
pluralLabel: string;
|
|
31
|
+
icon: string;
|
|
32
|
+
display: string;
|
|
33
|
+
nav: boolean;
|
|
34
|
+
}
|
|
35
|
+
export type SchemaOperation = {
|
|
36
|
+
op: "addEntity";
|
|
37
|
+
name: string;
|
|
38
|
+
fields: SchemaFieldDraft[];
|
|
39
|
+
features?: {
|
|
40
|
+
audit?: boolean;
|
|
41
|
+
softDelete?: boolean;
|
|
42
|
+
};
|
|
43
|
+
} | {
|
|
44
|
+
op: "removeEntity";
|
|
45
|
+
name: string;
|
|
46
|
+
} | {
|
|
47
|
+
op: "renameEntity";
|
|
48
|
+
from: string;
|
|
49
|
+
to: string;
|
|
50
|
+
} | {
|
|
51
|
+
op: "addField";
|
|
52
|
+
entity: string;
|
|
53
|
+
field: SchemaFieldDraft;
|
|
54
|
+
} | {
|
|
55
|
+
op: "updateField";
|
|
56
|
+
entity: string;
|
|
57
|
+
name: string;
|
|
58
|
+
field: SchemaFieldDraft;
|
|
59
|
+
} | {
|
|
60
|
+
op: "removeField";
|
|
61
|
+
entity: string;
|
|
62
|
+
name: string;
|
|
63
|
+
} | {
|
|
64
|
+
op: "moveField";
|
|
65
|
+
entity: string;
|
|
66
|
+
name: string;
|
|
67
|
+
to: number;
|
|
68
|
+
} | {
|
|
69
|
+
op: "setEntityOption";
|
|
70
|
+
entity: string;
|
|
71
|
+
key: OptionKey;
|
|
72
|
+
value: string | boolean | null;
|
|
73
|
+
};
|
|
74
|
+
interface FieldModel {
|
|
75
|
+
key: string;
|
|
76
|
+
origName?: string;
|
|
77
|
+
draft: SchemaFieldDraft;
|
|
78
|
+
}
|
|
79
|
+
interface EntityModel {
|
|
80
|
+
key: string;
|
|
81
|
+
name: string;
|
|
82
|
+
/** Present for entities that exist in forge.config.ts. */
|
|
83
|
+
origName?: string;
|
|
84
|
+
editable: boolean;
|
|
85
|
+
removed: boolean;
|
|
86
|
+
fields: FieldModel[];
|
|
87
|
+
options: EntityOptions;
|
|
88
|
+
features?: {
|
|
89
|
+
audit?: boolean;
|
|
90
|
+
softDelete?: boolean;
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
/** Turn the difference between the loaded schema and the edited one into server operations. */
|
|
94
|
+
export declare function computeOperations(original: EntityModel[], working: EntityModel[]): SchemaOperation[];
|
|
95
|
+
export declare function SchemaEditorPage(_props: {
|
|
96
|
+
path?: string;
|
|
97
|
+
}): import("react").JSX.Element;
|
|
98
|
+
export {};
|