@kozou/svelte-ui 1.0.0 → 1.1.1
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 +33 -3
- package/build/client/_app/immutable/assets/0._vgqT-Ja.css +2 -0
- package/build/client/_app/immutable/assets/0._vgqT-Ja.css.br +0 -0
- package/build/client/_app/immutable/assets/{0.B45CfnXC.css.gz → 0._vgqT-Ja.css.gz} +0 -0
- package/build/client/_app/immutable/chunks/{BatBMP3E.js → B1d2TdTR.js} +3 -3
- package/build/client/_app/immutable/chunks/B1d2TdTR.js.br +0 -0
- package/build/client/_app/immutable/chunks/B1d2TdTR.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BgT5WiOF.js +2 -0
- package/build/client/_app/immutable/chunks/BgT5WiOF.js.br +0 -0
- package/build/client/_app/immutable/chunks/BgT5WiOF.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{Ds-FbTMg.js → Cn0w88Fq.js} +1 -1
- package/build/client/_app/immutable/chunks/Cn0w88Fq.js.br +0 -0
- package/build/client/_app/immutable/chunks/Cn0w88Fq.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D5sfkRNZ.js +1 -0
- package/build/client/_app/immutable/chunks/D5sfkRNZ.js.br +0 -0
- package/build/client/_app/immutable/chunks/D5sfkRNZ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DPra5YQV.js +214 -0
- package/build/client/_app/immutable/chunks/DPra5YQV.js.br +0 -0
- package/build/client/_app/immutable/chunks/DPra5YQV.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DxikiVqj.js +1 -0
- package/build/client/_app/immutable/chunks/DxikiVqj.js.br +0 -0
- package/build/client/_app/immutable/chunks/DxikiVqj.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.DHE9drsq.js +2 -0
- package/build/client/_app/immutable/entry/app.DHE9drsq.js.br +0 -0
- package/build/client/_app/immutable/entry/app.DHE9drsq.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.BzGMfeBV.js +1 -0
- package/build/client/_app/immutable/entry/start.BzGMfeBV.js.br +0 -0
- package/build/client/_app/immutable/entry/start.BzGMfeBV.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.BTi1ueXu.js +1 -0
- package/build/client/_app/immutable/nodes/0.BTi1ueXu.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.BTi1ueXu.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.D560IYiX.js +1 -0
- package/build/client/_app/immutable/nodes/1.D560IYiX.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.D560IYiX.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.CWOXCYvQ.js +1 -0
- package/build/client/_app/immutable/nodes/2.CWOXCYvQ.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.CWOXCYvQ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.BfuWEZdX.js +1 -0
- package/build/client/_app/immutable/nodes/3.BfuWEZdX.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.BfuWEZdX.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.B99LqPAe.js +1 -0
- package/build/client/_app/immutable/nodes/4.B99LqPAe.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.B99LqPAe.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.DReWNUeS.js +1 -0
- package/build/client/_app/immutable/nodes/5.DReWNUeS.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.DReWNUeS.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.k15tkojQ.js +1 -0
- package/build/client/_app/immutable/nodes/6.k15tkojQ.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.k15tkojQ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{7.mp1zOZZv.js → 7.CjEmXoAF.js} +1 -1
- package/build/client/_app/immutable/nodes/7.CjEmXoAF.js.br +1 -0
- package/build/client/_app/immutable/nodes/7.CjEmXoAF.js.gz +0 -0
- package/build/client/_app/version.json +1 -1
- package/build/client/_app/version.json.br +0 -0
- package/build/client/_app/version.json.gz +0 -0
- package/build/server/chunks/{0-D3i8OEah.js → 0-C4CgvBlc.js} +3 -3
- package/build/server/chunks/{0-D3i8OEah.js.map → 0-C4CgvBlc.js.map} +1 -1
- package/build/server/chunks/{1-HR1yd0wU.js → 1-9vEmRESU.js} +3 -3
- package/build/server/chunks/{1-HR1yd0wU.js.map → 1-9vEmRESU.js.map} +1 -1
- package/build/server/chunks/{2-CE6m9qid.js → 2-D9il_3ty.js} +2 -2
- package/build/server/chunks/{2-CE6m9qid.js.map → 2-D9il_3ty.js.map} +1 -1
- package/build/server/chunks/{3-BfIWDc-d.js → 3-DfrqlU53.js} +3 -3
- package/build/server/chunks/3-DfrqlU53.js.map +1 -0
- package/build/server/chunks/{4-Dqn3l8BI.js → 4-B5b-ipUm.js} +46 -4
- package/build/server/chunks/4-B5b-ipUm.js.map +1 -0
- package/build/server/chunks/{5-DA-bCkUw.js → 5-CsUNrHuc.js} +25 -12
- package/build/server/chunks/5-CsUNrHuc.js.map +1 -0
- package/build/server/chunks/{6-DEjxcpBy.js → 6-DDoMrGFt.js} +23 -12
- package/build/server/chunks/6-DDoMrGFt.js.map +1 -0
- package/build/server/chunks/{7-BFDTBBBE.js → 7-CKkRKfs8.js} +3 -3
- package/build/server/chunks/7-CKkRKfs8.js.map +1 -0
- package/build/server/chunks/{_page.svelte-CyAlYQ7a.js → _page.svelte-BEtFIV7C.js} +3 -3
- package/build/server/chunks/{_page.svelte-CyAlYQ7a.js.map → _page.svelte-BEtFIV7C.js.map} +1 -1
- package/build/server/chunks/_page.svelte-CDGnOeZp.js +167 -0
- package/build/server/chunks/_page.svelte-CDGnOeZp.js.map +1 -0
- package/build/server/chunks/_page.svelte-DZ2Ayw0S.js +167 -0
- package/build/server/chunks/_page.svelte-DZ2Ayw0S.js.map +1 -0
- package/build/server/chunks/_server.ts-C-Wy675T.js +19 -0
- package/build/server/chunks/_server.ts-C-Wy675T.js.map +1 -0
- package/build/server/chunks/{adapter-1jZYeJkL.js → adapter-CXNsjV1V.js} +22 -10
- package/build/server/chunks/adapter-CXNsjV1V.js.map +1 -0
- package/build/server/chunks/{client-B9o82f8t.js → client-DLR5dxwU.js} +2 -2
- package/build/server/chunks/{client-B9o82f8t.js.map → client-DLR5dxwU.js.map} +1 -1
- package/build/server/chunks/{zod-from-table-D-zpiAdX.js → composite-form-BHZcuFIS.js} +250 -7
- package/build/server/chunks/composite-form-BHZcuFIS.js.map +1 -0
- package/build/server/chunks/{error.svelte-CCf63hYR.js → error.svelte-B3vg3Q2F.js} +3 -3
- package/build/server/chunks/{error.svelte-CCf63hYR.js.map → error.svelte-B3vg3Q2F.js.map} +1 -1
- package/build/server/chunks/{hooks.server-gNQ4wkwm.js → hooks.server-VuiVxiIQ.js} +35 -22
- package/build/server/chunks/hooks.server-VuiVxiIQ.js.map +1 -0
- package/build/server/chunks/{internal-CCj4Us-1.js → internal-BkKkeKsj.js} +3 -3
- package/build/server/chunks/{internal-CCj4Us-1.js.map → internal-BkKkeKsj.js.map} +1 -1
- package/build/server/chunks/relation-options-Dzy9DaQG.js +87 -0
- package/build/server/chunks/relation-options-Dzy9DaQG.js.map +1 -0
- package/build/server/chunks/{widget-registry-CYJ6dCZP.js → widget-registry-hWgMHMd3.js} +283 -43
- package/build/server/chunks/widget-registry-hWgMHMd3.js.map +1 -0
- package/build/server/index.js +1 -1
- package/build/server/manifest.js +16 -9
- package/build/server/manifest.js.map +1 -1
- package/package.json +4 -4
- package/build/client/_app/immutable/assets/0.B45CfnXC.css +0 -2
- package/build/client/_app/immutable/assets/0.B45CfnXC.css.br +0 -0
- package/build/client/_app/immutable/chunks/1PNfJiP5.js +0 -2
- package/build/client/_app/immutable/chunks/1PNfJiP5.js.br +0 -0
- package/build/client/_app/immutable/chunks/1PNfJiP5.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BatBMP3E.js.br +0 -0
- package/build/client/_app/immutable/chunks/BatBMP3E.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DhQvJhgX.js +0 -214
- package/build/client/_app/immutable/chunks/DhQvJhgX.js.br +0 -0
- package/build/client/_app/immutable/chunks/DhQvJhgX.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Ds-FbTMg.js.br +0 -0
- package/build/client/_app/immutable/chunks/Ds-FbTMg.js.gz +0 -0
- package/build/client/_app/immutable/chunks/y9cSQmno.js +0 -1
- package/build/client/_app/immutable/chunks/y9cSQmno.js.br +0 -0
- package/build/client/_app/immutable/chunks/y9cSQmno.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.CZ136DH2.js +0 -2
- package/build/client/_app/immutable/entry/app.CZ136DH2.js.br +0 -0
- package/build/client/_app/immutable/entry/app.CZ136DH2.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.B2SCrcq3.js +0 -1
- package/build/client/_app/immutable/entry/start.B2SCrcq3.js.br +0 -0
- package/build/client/_app/immutable/entry/start.B2SCrcq3.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.DAriStmJ.js +0 -1
- package/build/client/_app/immutable/nodes/0.DAriStmJ.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.DAriStmJ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.C6AP-LKV.js +0 -1
- package/build/client/_app/immutable/nodes/1.C6AP-LKV.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.C6AP-LKV.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.C3ChRVrO.js +0 -1
- package/build/client/_app/immutable/nodes/2.C3ChRVrO.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.C3ChRVrO.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.C2gCkFBC.js +0 -1
- package/build/client/_app/immutable/nodes/3.C2gCkFBC.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.C2gCkFBC.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.BT4cE3lU.js +0 -1
- package/build/client/_app/immutable/nodes/4.BT4cE3lU.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.BT4cE3lU.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.q_Qsfmij.js +0 -1
- package/build/client/_app/immutable/nodes/5.q_Qsfmij.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.q_Qsfmij.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.Ca5RA2Y5.js +0 -1
- package/build/client/_app/immutable/nodes/6.Ca5RA2Y5.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.Ca5RA2Y5.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.mp1zOZZv.js.br +0 -1
- package/build/client/_app/immutable/nodes/7.mp1zOZZv.js.gz +0 -0
- package/build/server/chunks/3-BfIWDc-d.js.map +0 -1
- package/build/server/chunks/4-Dqn3l8BI.js.map +0 -1
- package/build/server/chunks/5-DA-bCkUw.js.map +0 -1
- package/build/server/chunks/6-DEjxcpBy.js.map +0 -1
- package/build/server/chunks/7-BFDTBBBE.js.map +0 -1
- package/build/server/chunks/_page.svelte-CYEmRGgG.js +0 -70
- package/build/server/chunks/_page.svelte-CYEmRGgG.js.map +0 -1
- package/build/server/chunks/_page.svelte-NvCEA5JB.js +0 -70
- package/build/server/chunks/_page.svelte-NvCEA5JB.js.map +0 -1
- package/build/server/chunks/adapter-1jZYeJkL.js.map +0 -1
- package/build/server/chunks/hooks.server-gNQ4wkwm.js.map +0 -1
- package/build/server/chunks/widget-registry-CYJ6dCZP.js.map +0 -1
- package/build/server/chunks/zod-from-table-D-zpiAdX.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { g as getAdapter } from './adapter-CXNsjV1V.js';
|
|
1
2
|
import { p as parseResourceId, e as encodeResourceId } from './resource-id-PDcQeAnc.js';
|
|
2
|
-
import { g as getAdapter } from './adapter-1jZYeJkL.js';
|
|
3
3
|
import { e as error, r as redirect } from './index-5kYmxIr9.js';
|
|
4
4
|
import './index-DBqjc0Yf.js';
|
|
5
5
|
|
|
@@ -8,7 +8,19 @@ async function resolveFkLabels(args) {
|
|
|
8
8
|
const { table, row, schema, loadRow } = args;
|
|
9
9
|
const out = {};
|
|
10
10
|
const lookups = [];
|
|
11
|
+
const claims = /* @__PURE__ */ new Map();
|
|
11
12
|
for (const relation of table.relations) {
|
|
13
|
+
const first = (relation.fields ?? [relation.field])[0];
|
|
14
|
+
claims.set(first, (claims.get(first) ?? 0) + 1);
|
|
15
|
+
}
|
|
16
|
+
for (const relation of table.relations) {
|
|
17
|
+
const fields = relation.fields ?? [relation.field];
|
|
18
|
+
if (fields.length > 1) {
|
|
19
|
+
if ((claims.get(fields[0]) ?? 0) > 1) continue;
|
|
20
|
+
const lookup = compositeLookup(fields, relation, row, schema, loadRow, out);
|
|
21
|
+
if (lookup !== null) lookups.push(lookup);
|
|
22
|
+
continue;
|
|
23
|
+
}
|
|
12
24
|
const rawValue = row[relation.field];
|
|
13
25
|
if (rawValue === null || rawValue === void 0) continue;
|
|
14
26
|
if (typeof rawValue !== "string" && typeof rawValue !== "number") continue;
|
|
@@ -35,6 +47,36 @@ async function resolveFkLabels(args) {
|
|
|
35
47
|
await Promise.all(lookups);
|
|
36
48
|
return out;
|
|
37
49
|
}
|
|
50
|
+
/** Build the lookup for a composite relation, or return `null` when it
|
|
51
|
+
* cannot be resolved (the raw values then render as-is). The target row is
|
|
52
|
+
* fetched by primary key, so the relation must reference the target's full
|
|
53
|
+
* primary key (in any column order) and every component must be present.
|
|
54
|
+
* The resolved entry is keyed by the relation's first column. */
|
|
55
|
+
function compositeLookup(fields, relation, row, schema, loadRow, out) {
|
|
56
|
+
const referencedQualifiedName = `${relation.references.schema}.${relation.references.table}`;
|
|
57
|
+
const referencedTable = schema.tables.find((t) => t.qualifiedName === referencedQualifiedName);
|
|
58
|
+
if (referencedTable === void 0) return null;
|
|
59
|
+
const refColumns = relation.references.columns ?? [relation.references.column];
|
|
60
|
+
if (refColumns.length !== fields.length) return null;
|
|
61
|
+
const primaryKey = referencedTable.primaryKey;
|
|
62
|
+
if (primaryKey.length !== refColumns.length || !primaryKey.every((column) => refColumns.includes(column))) return null;
|
|
63
|
+
const components = [];
|
|
64
|
+
for (const keyColumn of primaryKey) {
|
|
65
|
+
const raw = row[fields[refColumns.indexOf(keyColumn)]];
|
|
66
|
+
if (raw === null || raw === void 0) return null;
|
|
67
|
+
if (typeof raw !== "string" && typeof raw !== "number") return null;
|
|
68
|
+
components.push(raw);
|
|
69
|
+
}
|
|
70
|
+
const value = encodeResourceId(components);
|
|
71
|
+
return loadRow(referencedQualifiedName, components).then((targetRow) => {
|
|
72
|
+
const label = projectLabel(referencedTable, targetRow);
|
|
73
|
+
out[fields[0]] = {
|
|
74
|
+
value,
|
|
75
|
+
label,
|
|
76
|
+
referencedQualifiedName
|
|
77
|
+
};
|
|
78
|
+
});
|
|
79
|
+
}
|
|
38
80
|
function projectLabel(referencedTable, targetRow) {
|
|
39
81
|
if (targetRow === null) return null;
|
|
40
82
|
const display = referencedTable.displayField;
|
|
@@ -96,11 +138,11 @@ var _page_server_ts = /*#__PURE__*/Object.freeze({
|
|
|
96
138
|
|
|
97
139
|
const index = 4;
|
|
98
140
|
let component_cache;
|
|
99
|
-
const component = async () => component_cache ??= (await import('./_page.svelte-
|
|
141
|
+
const component = async () => component_cache ??= (await import('./_page.svelte-BEtFIV7C.js')).default;
|
|
100
142
|
const server_id = "src/routes/tables/[table]/[id]/+page.server.ts";
|
|
101
|
-
const imports = ["_app/immutable/nodes/4.
|
|
143
|
+
const imports = ["_app/immutable/nodes/4.B99LqPAe.js","_app/immutable/chunks/BgT5WiOF.js","_app/immutable/chunks/Cn0w88Fq.js","_app/immutable/chunks/B1d2TdTR.js","_app/immutable/chunks/xihTtKlq.js"];
|
|
102
144
|
const stylesheets = [];
|
|
103
145
|
const fonts = [];
|
|
104
146
|
|
|
105
147
|
export { component, fonts, imports, index, _page_server_ts as server, server_id, stylesheets };
|
|
106
|
-
//# sourceMappingURL=4-
|
|
148
|
+
//# sourceMappingURL=4-B5b-ipUm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"4-B5b-ipUm.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/tables/_table_/_id_/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/4.js"],"sourcesContent":["import { t as getAdapter } from \"../../../../../chunks/adapter.js\";\nimport { n as parseResourceId, t as encodeResourceId } from \"../../../../../chunks/resource-id.js\";\nimport { error, redirect } from \"@sveltejs/kit\";\n//#region src/lib/detail/resolve-fk-labels.ts\nasync function resolveFkLabels(args) {\n\tconst { table, row, schema, loadRow } = args;\n\tconst out = {};\n\tconst lookups = [];\n\tconst claims = /* @__PURE__ */ new Map();\n\tfor (const relation of table.relations) {\n\t\tconst first = (relation.fields ?? [relation.field])[0];\n\t\tclaims.set(first, (claims.get(first) ?? 0) + 1);\n\t}\n\tfor (const relation of table.relations) {\n\t\tconst fields = relation.fields ?? [relation.field];\n\t\tif (fields.length > 1) {\n\t\t\tif ((claims.get(fields[0]) ?? 0) > 1) continue;\n\t\t\tconst lookup = compositeLookup(fields, relation, row, schema, loadRow, out);\n\t\t\tif (lookup !== null) lookups.push(lookup);\n\t\t\tcontinue;\n\t\t}\n\t\tconst rawValue = row[relation.field];\n\t\tif (rawValue === null || rawValue === void 0) continue;\n\t\tif (typeof rawValue !== \"string\" && typeof rawValue !== \"number\") continue;\n\t\tconst value = rawValue;\n\t\tconst referencedQualifiedName = `${relation.references.schema}.${relation.references.table}`;\n\t\tconst referencedTable = schema.tables.find((t) => t.qualifiedName === referencedQualifiedName);\n\t\tif (referencedTable === void 0) {\n\t\t\tout[relation.field] = {\n\t\t\t\tvalue,\n\t\t\t\tlabel: null,\n\t\t\t\treferencedQualifiedName\n\t\t\t};\n\t\t\tcontinue;\n\t\t}\n\t\tlookups.push(loadRow(referencedQualifiedName, value).then((targetRow) => {\n\t\t\tconst label = projectLabel(referencedTable, targetRow);\n\t\t\tout[relation.field] = {\n\t\t\t\tvalue,\n\t\t\t\tlabel,\n\t\t\t\treferencedQualifiedName\n\t\t\t};\n\t\t}));\n\t}\n\tawait Promise.all(lookups);\n\treturn out;\n}\n/** Build the lookup for a composite relation, or return `null` when it\n* cannot be resolved (the raw values then render as-is). The target row is\n* fetched by primary key, so the relation must reference the target's full\n* primary key (in any column order) and every component must be present.\n* The resolved entry is keyed by the relation's first column. */\nfunction compositeLookup(fields, relation, row, schema, loadRow, out) {\n\tconst referencedQualifiedName = `${relation.references.schema}.${relation.references.table}`;\n\tconst referencedTable = schema.tables.find((t) => t.qualifiedName === referencedQualifiedName);\n\tif (referencedTable === void 0) return null;\n\tconst refColumns = relation.references.columns ?? [relation.references.column];\n\tif (refColumns.length !== fields.length) return null;\n\tconst primaryKey = referencedTable.primaryKey;\n\tif (primaryKey.length !== refColumns.length || !primaryKey.every((column) => refColumns.includes(column))) return null;\n\tconst components = [];\n\tfor (const keyColumn of primaryKey) {\n\t\tconst raw = row[fields[refColumns.indexOf(keyColumn)]];\n\t\tif (raw === null || raw === void 0) return null;\n\t\tif (typeof raw !== \"string\" && typeof raw !== \"number\") return null;\n\t\tcomponents.push(raw);\n\t}\n\tconst value = encodeResourceId(components);\n\treturn loadRow(referencedQualifiedName, components).then((targetRow) => {\n\t\tconst label = projectLabel(referencedTable, targetRow);\n\t\tout[fields[0]] = {\n\t\t\tvalue,\n\t\t\tlabel,\n\t\t\treferencedQualifiedName\n\t\t};\n\t});\n}\nfunction projectLabel(referencedTable, targetRow) {\n\tif (targetRow === null) return null;\n\tconst display = referencedTable.displayField;\n\tif (display === null) return null;\n\tconst value = targetRow[display];\n\tif (value === null || value === void 0) return null;\n\treturn String(value);\n}\n//#endregion\n//#region src/routes/tables/[table]/[id]/+page.server.ts\nfunction findTable(tables, slug) {\n\treturn tables.find((t) => t.qualifiedName === slug) ?? null;\n}\nfunction tableViewModel(table) {\n\treturn {\n\t\tqualifiedName: table.qualifiedName,\n\t\tlabel: table.label,\n\t\tcolumns: table.columns.map((c) => ({\n\t\t\tname: c.name,\n\t\t\tlabel: c.label,\n\t\t\twidget: c.widget,\n\t\t\tisPrimaryKey: c.isPrimaryKey,\n\t\t\tisForeignKey: c.isForeignKey\n\t\t}))\n\t};\n}\nvar load = async ({ params, locals }) => {\n\tconst table = findTable(locals.schema.tables, params.table);\n\tif (!table) throw error(404, `Unknown table: ${params.table}`);\n\tconst adapter = getAdapter(locals.schema);\n\tconst id = parseResourceId(params.id, table.primaryKey);\n\tconst row = await adapter.get(table.qualifiedName, id);\n\tconst fkLabels = await resolveFkLabels({\n\t\ttable,\n\t\trow,\n\t\tschema: locals.schema,\n\t\tloadRow: (qualifiedName, id) => locals.fkRowCache.get(qualifiedName, id, (qn, identifier) => adapter.get(qn, identifier).catch(() => null))\n\t});\n\treturn {\n\t\ttable: tableViewModel(table),\n\t\trow,\n\t\tfkLabels,\n\t\tid: encodeResourceId(id)\n\t};\n};\nvar actions = { delete: async ({ params, locals }) => {\n\tconst table = findTable(locals.schema.tables, params.table);\n\tif (!table) throw error(404, `Unknown table: ${params.table}`);\n\tconst id = parseResourceId(params.id, table.primaryKey);\n\tawait getAdapter(locals.schema).delete(table.qualifiedName, id);\n\tthrow redirect(303, `/tables/${table.qualifiedName}`);\n} };\n//#endregion\nexport { actions, load };\n","import * as server from '../entries/pages/tables/_table_/_id_/_page.server.ts.js';\n\nexport const index = 4;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/tables/_table_/_id_/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/tables/[table]/[id]/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/4.B99LqPAe.js\",\"_app/immutable/chunks/BgT5WiOF.js\",\"_app/immutable/chunks/Cn0w88Fq.js\",\"_app/immutable/chunks/B1d2TdTR.js\",\"_app/immutable/chunks/xihTtKlq.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
+
import { g as getAdapter } from './adapter-CXNsjV1V.js';
|
|
1
2
|
import { p as parseResourceId, e as encodeResourceId } from './resource-id-PDcQeAnc.js';
|
|
2
|
-
import {
|
|
3
|
-
import { a as superValidate, z as zod,
|
|
3
|
+
import { l as loadInitialRelationOptions, e as ensureSelectedOptions } from './relation-options-Dzy9DaQG.js';
|
|
4
|
+
import { e as relationFieldConfigs, p as promoteCompositeMemberWidgets, a as demoteUnpickableRelations, r as readFormWithCompositePicks, f as superValidate, z as zod, g as zodFromTable, b as buildMutationPayload } from './composite-form-BHZcuFIS.js';
|
|
4
5
|
import { e as error, f as fail, r as redirect } from './index-5kYmxIr9.js';
|
|
5
|
-
import './internal-
|
|
6
|
+
import './internal-BkKkeKsj.js';
|
|
6
7
|
import 'node:module';
|
|
7
8
|
import './dev-yFiAtg5l.js';
|
|
8
9
|
import 'clsx';
|
|
9
10
|
import './index-DBqjc0Yf.js';
|
|
10
|
-
import './client-
|
|
11
|
+
import './client-DLR5dxwU.js';
|
|
11
12
|
import './app-DST8OmzT.js';
|
|
12
13
|
import 'zod/v4/core';
|
|
13
14
|
import 'zod';
|
|
@@ -35,20 +36,32 @@ function tableViewModel(table) {
|
|
|
35
36
|
var load = async ({ params, locals }) => {
|
|
36
37
|
const table = findTable(locals.schema.tables, params.table);
|
|
37
38
|
if (!table) throw error(404, `Unknown table: ${params.table}`);
|
|
39
|
+
const adapter = getAdapter(locals.schema);
|
|
38
40
|
const id = parseResourceId(params.id, table.primaryKey);
|
|
39
|
-
const
|
|
41
|
+
const row = await adapter.get(table.qualifiedName, id);
|
|
42
|
+
const relations = relationFieldConfigs(table, locals.schema);
|
|
43
|
+
const formTable = promoteCompositeMemberWidgets(demoteUnpickableRelations(table, relations), relations);
|
|
44
|
+
const form = await superValidate(row, zod(zodFromTable(formTable)));
|
|
45
|
+
const initialOptions = await loadInitialRelationOptions(adapter, relations);
|
|
46
|
+
await ensureSelectedOptions(adapter, relations, row, initialOptions);
|
|
40
47
|
return {
|
|
41
|
-
table: tableViewModel(
|
|
48
|
+
table: tableViewModel(formTable),
|
|
42
49
|
form,
|
|
43
|
-
id: encodeResourceId(id)
|
|
50
|
+
id: encodeResourceId(id),
|
|
51
|
+
relations,
|
|
52
|
+
initialOptions
|
|
44
53
|
};
|
|
45
54
|
};
|
|
46
55
|
var actions = { default: async ({ request, params, locals }) => {
|
|
47
56
|
const table = findTable(locals.schema.tables, params.table);
|
|
48
57
|
if (!table) throw error(404, `Unknown table: ${params.table}`);
|
|
49
|
-
const
|
|
58
|
+
const relations = relationFieldConfigs(table, locals.schema);
|
|
59
|
+
const formTable = promoteCompositeMemberWidgets(demoteUnpickableRelations(table, relations), relations);
|
|
60
|
+
const submission = await readFormWithCompositePicks(request, relations);
|
|
61
|
+
if (submission === null) return fail(400, { form: await superValidate(zod(zodFromTable(formTable))) });
|
|
62
|
+
const form = await superValidate(submission, zod(zodFromTable(formTable)));
|
|
50
63
|
if (!form.valid) return fail(400, { form });
|
|
51
|
-
const payload = buildMutationPayload(
|
|
64
|
+
const payload = buildMutationPayload(formTable, form.data, "update");
|
|
52
65
|
const id = parseResourceId(params.id, table.primaryKey);
|
|
53
66
|
await getAdapter(locals.schema).update(table.qualifiedName, id, payload);
|
|
54
67
|
throw redirect(303, `/tables/${table.qualifiedName}/${encodeResourceId(id)}`);
|
|
@@ -62,11 +75,11 @@ var _page_server_ts = /*#__PURE__*/Object.freeze({
|
|
|
62
75
|
|
|
63
76
|
const index = 5;
|
|
64
77
|
let component_cache;
|
|
65
|
-
const component = async () => component_cache ??= (await import('./_page.svelte-
|
|
78
|
+
const component = async () => component_cache ??= (await import('./_page.svelte-CDGnOeZp.js')).default;
|
|
66
79
|
const server_id = "src/routes/tables/[table]/[id]/edit/+page.server.ts";
|
|
67
|
-
const imports = ["_app/immutable/nodes/5.
|
|
80
|
+
const imports = ["_app/immutable/nodes/5.DReWNUeS.js","_app/immutable/chunks/BgT5WiOF.js","_app/immutable/chunks/DPra5YQV.js","_app/immutable/chunks/B1d2TdTR.js","_app/immutable/chunks/Cn0w88Fq.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/D5sfkRNZ.js"];
|
|
68
81
|
const stylesheets = [];
|
|
69
82
|
const fonts = [];
|
|
70
83
|
|
|
71
84
|
export { component, fonts, imports, index, _page_server_ts as server, server_id, stylesheets };
|
|
72
|
-
//# sourceMappingURL=5-
|
|
85
|
+
//# sourceMappingURL=5-CsUNrHuc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"5-CsUNrHuc.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/tables/_table_/_id_/edit/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/5.js"],"sourcesContent":["import { t as getAdapter } from \"../../../../../../chunks/adapter.js\";\nimport { n as parseResourceId, t as encodeResourceId } from \"../../../../../../chunks/resource-id.js\";\nimport { n as loadInitialRelationOptions, t as ensureSelectedOptions } from \"../../../../../../chunks/relation-options.js\";\nimport { a as promoteCompositeMemberWidgets, o as relationFieldConfigs, r as demoteUnpickableRelations, s as superValidate } from \"../../../../../../chunks/relation-field-config.js\";\nimport { a as zod, n as zodFromTable, r as buildMutationPayload, t as readFormWithCompositePicks } from \"../../../../../../chunks/composite-form.js\";\nimport { error, fail, redirect } from \"@sveltejs/kit\";\n//#region src/routes/tables/[table]/[id]/edit/+page.server.ts\nfunction findTable(tables, slug) {\n\treturn tables.find((t) => t.qualifiedName === slug) ?? null;\n}\nfunction tableViewModel(table) {\n\treturn {\n\t\tqualifiedName: table.qualifiedName,\n\t\tlabel: table.label,\n\t\tprimaryKey: table.primaryKey,\n\t\tcolumns: table.columns.map((c) => ({\n\t\t\tname: c.name,\n\t\t\tlabel: c.label,\n\t\t\twidget: c.widget,\n\t\t\tenumValues: c.enumValues ?? [],\n\t\t\tnullable: c.nullable,\n\t\t\treadonly: c.readonly || c.isPrimaryKey,\n\t\t\tisPrimaryKey: c.isPrimaryKey\n\t\t}))\n\t};\n}\nvar load = async ({ params, locals }) => {\n\tconst table = findTable(locals.schema.tables, params.table);\n\tif (!table) throw error(404, `Unknown table: ${params.table}`);\n\tconst adapter = getAdapter(locals.schema);\n\tconst id = parseResourceId(params.id, table.primaryKey);\n\tconst row = await adapter.get(table.qualifiedName, id);\n\tconst relations = relationFieldConfigs(table, locals.schema);\n\tconst formTable = promoteCompositeMemberWidgets(demoteUnpickableRelations(table, relations), relations);\n\tconst form = await superValidate(row, zod(zodFromTable(formTable)));\n\tconst initialOptions = await loadInitialRelationOptions(adapter, relations);\n\tawait ensureSelectedOptions(adapter, relations, row, initialOptions);\n\treturn {\n\t\ttable: tableViewModel(formTable),\n\t\tform,\n\t\tid: encodeResourceId(id),\n\t\trelations,\n\t\tinitialOptions\n\t};\n};\nvar actions = { default: async ({ request, params, locals }) => {\n\tconst table = findTable(locals.schema.tables, params.table);\n\tif (!table) throw error(404, `Unknown table: ${params.table}`);\n\tconst relations = relationFieldConfigs(table, locals.schema);\n\tconst formTable = promoteCompositeMemberWidgets(demoteUnpickableRelations(table, relations), relations);\n\tconst submission = await readFormWithCompositePicks(request, relations);\n\tif (submission === null) return fail(400, { form: await superValidate(zod(zodFromTable(formTable))) });\n\tconst form = await superValidate(submission, zod(zodFromTable(formTable)));\n\tif (!form.valid) return fail(400, { form });\n\tconst payload = buildMutationPayload(formTable, form.data, \"update\");\n\tconst id = parseResourceId(params.id, table.primaryKey);\n\tawait getAdapter(locals.schema).update(table.qualifiedName, id, payload);\n\tthrow redirect(303, `/tables/${table.qualifiedName}/${encodeResourceId(id)}`);\n} };\n//#endregion\nexport { actions, load };\n","import * as server from '../entries/pages/tables/_table_/_id_/edit/_page.server.ts.js';\n\nexport const index = 5;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/tables/_table_/_id_/edit/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/tables/[table]/[id]/edit/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/5.DReWNUeS.js\",\"_app/immutable/chunks/BgT5WiOF.js\",\"_app/immutable/chunks/DPra5YQV.js\",\"_app/immutable/chunks/B1d2TdTR.js\",\"_app/immutable/chunks/Cn0w88Fq.js\",\"_app/immutable/chunks/xihTtKlq.js\",\"_app/immutable/chunks/D5sfkRNZ.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
+
import { g as getAdapter } from './adapter-CXNsjV1V.js';
|
|
1
2
|
import { r as rowIdSegment } from './resource-id-PDcQeAnc.js';
|
|
2
|
-
import {
|
|
3
|
-
import { a as superValidate, z as zod,
|
|
3
|
+
import { l as loadInitialRelationOptions } from './relation-options-Dzy9DaQG.js';
|
|
4
|
+
import { e as relationFieldConfigs, p as promoteCompositeMemberWidgets, a as demoteUnpickableRelations, r as readFormWithCompositePicks, f as superValidate, z as zod, g as zodFromTable, b as buildMutationPayload, d as dbCanSupplyColumn } from './composite-form-BHZcuFIS.js';
|
|
4
5
|
import { e as error, f as fail, r as redirect } from './index-5kYmxIr9.js';
|
|
5
|
-
import './internal-
|
|
6
|
+
import './internal-BkKkeKsj.js';
|
|
6
7
|
import 'node:module';
|
|
7
8
|
import './dev-yFiAtg5l.js';
|
|
8
9
|
import 'clsx';
|
|
9
10
|
import './index-DBqjc0Yf.js';
|
|
10
|
-
import './client-
|
|
11
|
+
import './client-DLR5dxwU.js';
|
|
11
12
|
import './app-DST8OmzT.js';
|
|
12
13
|
import 'zod/v4/core';
|
|
13
14
|
import 'zod';
|
|
@@ -27,6 +28,7 @@ function tableViewModel(table) {
|
|
|
27
28
|
widget: c.widget,
|
|
28
29
|
enumValues: c.enumValues ?? [],
|
|
29
30
|
nullable: c.nullable,
|
|
31
|
+
dbCanSupply: dbCanSupplyColumn(c),
|
|
30
32
|
readonly: c.readonly || c.isPrimaryKey && c.defaultExpr !== null,
|
|
31
33
|
isPrimaryKey: c.isPrimaryKey
|
|
32
34
|
}))
|
|
@@ -35,18 +37,27 @@ function tableViewModel(table) {
|
|
|
35
37
|
var load = async ({ params, locals }) => {
|
|
36
38
|
const table = findTable(locals.schema.tables, params.table);
|
|
37
39
|
if (!table) throw error(404, `Unknown table: ${params.table}`);
|
|
38
|
-
const
|
|
40
|
+
const relations = relationFieldConfigs(table, locals.schema);
|
|
41
|
+
const formTable = promoteCompositeMemberWidgets(demoteUnpickableRelations(table, relations), relations);
|
|
42
|
+
const form = await superValidate(zod(zodFromTable(formTable)));
|
|
43
|
+
const initialOptions = await loadInitialRelationOptions(getAdapter(locals.schema), relations);
|
|
39
44
|
return {
|
|
40
|
-
table: tableViewModel(
|
|
41
|
-
form
|
|
45
|
+
table: tableViewModel(formTable),
|
|
46
|
+
form,
|
|
47
|
+
relations,
|
|
48
|
+
initialOptions
|
|
42
49
|
};
|
|
43
50
|
};
|
|
44
51
|
var actions = { default: async ({ request, params, locals }) => {
|
|
45
52
|
const table = findTable(locals.schema.tables, params.table);
|
|
46
53
|
if (!table) throw error(404, `Unknown table: ${params.table}`);
|
|
47
|
-
const
|
|
54
|
+
const relations = relationFieldConfigs(table, locals.schema);
|
|
55
|
+
const formTable = promoteCompositeMemberWidgets(demoteUnpickableRelations(table, relations), relations);
|
|
56
|
+
const submission = await readFormWithCompositePicks(request, relations);
|
|
57
|
+
if (submission === null) return fail(400, { form: await superValidate(zod(zodFromTable(formTable))) });
|
|
58
|
+
const form = await superValidate(submission, zod(zodFromTable(formTable)));
|
|
48
59
|
if (!form.valid) return fail(400, { form });
|
|
49
|
-
const payload = buildMutationPayload(
|
|
60
|
+
const payload = buildMutationPayload(formTable, form.data);
|
|
50
61
|
const segment = rowIdSegment(await getAdapter(locals.schema).create(table.qualifiedName, payload), table.primaryKey);
|
|
51
62
|
throw redirect(303, segment !== null ? `/tables/${table.qualifiedName}/${segment}` : `/tables/${table.qualifiedName}`);
|
|
52
63
|
} };
|
|
@@ -59,11 +70,11 @@ var _page_server_ts = /*#__PURE__*/Object.freeze({
|
|
|
59
70
|
|
|
60
71
|
const index = 6;
|
|
61
72
|
let component_cache;
|
|
62
|
-
const component = async () => component_cache ??= (await import('./_page.svelte-
|
|
73
|
+
const component = async () => component_cache ??= (await import('./_page.svelte-DZ2Ayw0S.js')).default;
|
|
63
74
|
const server_id = "src/routes/tables/[table]/new/+page.server.ts";
|
|
64
|
-
const imports = ["_app/immutable/nodes/6.
|
|
75
|
+
const imports = ["_app/immutable/nodes/6.k15tkojQ.js","_app/immutable/chunks/BgT5WiOF.js","_app/immutable/chunks/DPra5YQV.js","_app/immutable/chunks/B1d2TdTR.js","_app/immutable/chunks/Cn0w88Fq.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/D5sfkRNZ.js"];
|
|
65
76
|
const stylesheets = [];
|
|
66
77
|
const fonts = [];
|
|
67
78
|
|
|
68
79
|
export { component, fonts, imports, index, _page_server_ts as server, server_id, stylesheets };
|
|
69
|
-
//# sourceMappingURL=6-
|
|
80
|
+
//# sourceMappingURL=6-DDoMrGFt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"6-DDoMrGFt.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/tables/_table_/new/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/6.js"],"sourcesContent":["import { t as getAdapter } from \"../../../../../chunks/adapter.js\";\nimport { r as rowIdSegment } from \"../../../../../chunks/resource-id.js\";\nimport { n as loadInitialRelationOptions } from \"../../../../../chunks/relation-options.js\";\nimport { a as promoteCompositeMemberWidgets, o as relationFieldConfigs, r as demoteUnpickableRelations, s as superValidate } from \"../../../../../chunks/relation-field-config.js\";\nimport { a as zod, i as dbCanSupplyColumn, n as zodFromTable, r as buildMutationPayload, t as readFormWithCompositePicks } from \"../../../../../chunks/composite-form.js\";\nimport { error, fail, redirect } from \"@sveltejs/kit\";\n//#region src/routes/tables/[table]/new/+page.server.ts\nfunction findTable(tables, slug) {\n\treturn tables.find((t) => t.qualifiedName === slug) ?? null;\n}\nfunction tableViewModel(table) {\n\treturn {\n\t\tqualifiedName: table.qualifiedName,\n\t\tlabel: table.label,\n\t\tprimaryKey: table.primaryKey,\n\t\tcolumns: table.columns.map((c) => ({\n\t\t\tname: c.name,\n\t\t\tlabel: c.label,\n\t\t\twidget: c.widget,\n\t\t\tenumValues: c.enumValues ?? [],\n\t\t\tnullable: c.nullable,\n\t\t\tdbCanSupply: dbCanSupplyColumn(c),\n\t\t\treadonly: c.readonly || c.isPrimaryKey && c.defaultExpr !== null,\n\t\t\tisPrimaryKey: c.isPrimaryKey\n\t\t}))\n\t};\n}\nvar load = async ({ params, locals }) => {\n\tconst table = findTable(locals.schema.tables, params.table);\n\tif (!table) throw error(404, `Unknown table: ${params.table}`);\n\tconst relations = relationFieldConfigs(table, locals.schema);\n\tconst formTable = promoteCompositeMemberWidgets(demoteUnpickableRelations(table, relations), relations);\n\tconst form = await superValidate(zod(zodFromTable(formTable)));\n\tconst initialOptions = await loadInitialRelationOptions(getAdapter(locals.schema), relations);\n\treturn {\n\t\ttable: tableViewModel(formTable),\n\t\tform,\n\t\trelations,\n\t\tinitialOptions\n\t};\n};\nvar actions = { default: async ({ request, params, locals }) => {\n\tconst table = findTable(locals.schema.tables, params.table);\n\tif (!table) throw error(404, `Unknown table: ${params.table}`);\n\tconst relations = relationFieldConfigs(table, locals.schema);\n\tconst formTable = promoteCompositeMemberWidgets(demoteUnpickableRelations(table, relations), relations);\n\tconst submission = await readFormWithCompositePicks(request, relations);\n\tif (submission === null) return fail(400, { form: await superValidate(zod(zodFromTable(formTable))) });\n\tconst form = await superValidate(submission, zod(zodFromTable(formTable)));\n\tif (!form.valid) return fail(400, { form });\n\tconst payload = buildMutationPayload(formTable, form.data);\n\tconst segment = rowIdSegment(await getAdapter(locals.schema).create(table.qualifiedName, payload), table.primaryKey);\n\tthrow redirect(303, segment !== null ? `/tables/${table.qualifiedName}/${segment}` : `/tables/${table.qualifiedName}`);\n} };\n//#endregion\nexport { actions, load };\n","import * as server from '../entries/pages/tables/_table_/new/_page.server.ts.js';\n\nexport const index = 6;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/tables/_table_/new/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/tables/[table]/new/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/6.k15tkojQ.js\",\"_app/immutable/chunks/BgT5WiOF.js\",\"_app/immutable/chunks/DPra5YQV.js\",\"_app/immutable/chunks/B1d2TdTR.js\",\"_app/immutable/chunks/Cn0w88Fq.js\",\"_app/immutable/chunks/xihTtKlq.js\",\"_app/immutable/chunks/D5sfkRNZ.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { g as getAdapter } from './adapter-CXNsjV1V.js';
|
|
1
2
|
import { p as parseListParamsFromUrl } from './list-params-Cw6PMHbk.js';
|
|
2
|
-
import { g as getAdapter } from './adapter-1jZYeJkL.js';
|
|
3
3
|
import { e as error } from './index-5kYmxIr9.js';
|
|
4
4
|
import './index-DBqjc0Yf.js';
|
|
5
5
|
|
|
@@ -58,9 +58,9 @@ const index = 7;
|
|
|
58
58
|
let component_cache;
|
|
59
59
|
const component = async () => component_cache ??= (await import('./_page.svelte-Dabtpyl9.js')).default;
|
|
60
60
|
const server_id = "src/routes/views/[view]/+page.server.ts";
|
|
61
|
-
const imports = ["_app/immutable/nodes/7.
|
|
61
|
+
const imports = ["_app/immutable/nodes/7.CjEmXoAF.js","_app/immutable/chunks/BgT5WiOF.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/DxikiVqj.js","_app/immutable/chunks/D5sfkRNZ.js"];
|
|
62
62
|
const stylesheets = [];
|
|
63
63
|
const fonts = [];
|
|
64
64
|
|
|
65
65
|
export { component, fonts, imports, index, _page_server_ts as server, server_id, stylesheets };
|
|
66
|
-
//# sourceMappingURL=7-
|
|
66
|
+
//# sourceMappingURL=7-CKkRKfs8.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"7-CKkRKfs8.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/views/_view_/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/7.js"],"sourcesContent":["import { t as getAdapter } from \"../../../../chunks/adapter.js\";\nimport { t as parseListParamsFromUrl } from \"../../../../chunks/list-params.js\";\nimport { error } from \"@sveltejs/kit\";\n//#region src/lib/view/columns.ts\nvar DISPLAY_COLUMN_LIMIT = 5;\nvar TEXT_LIKE_TYPE_PREFIXES = [\n\t\"text\",\n\t\"character\",\n\t\"varchar\",\n\t\"citext\",\n\t\"name\",\n\t\"uuid\"\n];\nfunction pickViewDisplayColumns(view) {\n\treturn view.columns.slice(0, DISPLAY_COLUMN_LIMIT);\n}\nfunction pickViewSearchFields(view) {\n\treturn view.columns.filter((c) => TEXT_LIKE_TYPE_PREFIXES.some((prefix) => c.dataType.toLowerCase().startsWith(prefix))).map((c) => c.name);\n}\n//#endregion\n//#region src/routes/views/[view]/+page.server.ts\nvar load = async ({ params, locals, url }) => {\n\tconst view = locals.schema.views.find((v) => v.qualifiedName === params.view);\n\tif (!view) throw error(404, `Unknown view: ${params.view}`);\n\tconst displayColumns = pickViewDisplayColumns(view);\n\tconst listParams = parseListParamsFromUrl({\n\t\turl,\n\t\tsearchFields: pickViewSearchFields(view)\n\t});\n\tconst result = await getAdapter(locals.schema).list(view.qualifiedName, listParams);\n\treturn {\n\t\tview: {\n\t\t\tqualifiedName: view.qualifiedName,\n\t\t\tlabel: view.label,\n\t\t\tcolumns: displayColumns.map((c) => ({\n\t\t\t\tname: c.name,\n\t\t\t\tlabel: c.label\n\t\t\t}))\n\t\t},\n\t\tlist: result,\n\t\tlistParams: {\n\t\t\tsearch: listParams.search,\n\t\t\tsort: listParams.sort,\n\t\t\tpage: listParams.page,\n\t\t\tpageSize: listParams.pageSize\n\t\t}\n\t};\n};\n//#endregion\nexport { load };\n","import * as server from '../entries/pages/views/_view_/_page.server.ts.js';\n\nexport const index = 7;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/views/_view_/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/views/[view]/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/7.CjEmXoAF.js\",\"_app/immutable/chunks/BgT5WiOF.js\",\"_app/immutable/chunks/xihTtKlq.js\",\"_app/immutable/chunks/DxikiVqj.js\",\"_app/immutable/chunks/D5sfkRNZ.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":";;;;;AAGA;AACA,IAAI,oBAAoB,GAAG,CAAC;AAC5B,IAAI,uBAAuB,GAAG;AAC9B,CAAC,MAAM;AACP,CAAC,WAAW;AACZ,CAAC,SAAS;AACV,CAAC,QAAQ;AACT,CAAC,MAAM;AACP,CAAC;AACD,CAAC;AACD,SAAS,sBAAsB,CAAC,IAAI,EAAE;AACtC,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC;AACnD;AACA,SAAS,oBAAoB,CAAC,IAAI,EAAE;AACpC,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,uBAAuB,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;AAC5I;AACA;AACA;AACA,IAAI,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK;AAC9C,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,KAAK,MAAM,CAAC,IAAI,CAAC;AAC9E,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5D,CAAC,MAAM,cAAc,GAAG,sBAAsB,CAAC,IAAI,CAAC;AACpD,CAAC,MAAM,UAAU,GAAG,sBAAsB,CAAC;AAC3C,EAAE,GAAG;AACL,EAAE,YAAY,EAAE,oBAAoB,CAAC,IAAI;AACzC,EAAE,CAAC;AACH,CAAC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC;AACpF,CAAC,OAAO;AACR,EAAE,IAAI,EAAE;AACR,GAAG,aAAa,EAAE,IAAI,CAAC,aAAa;AACpC,GAAG,KAAK,EAAE,IAAI,CAAC,KAAK;AACpB,GAAG,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;AACvC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI;AAChB,IAAI,KAAK,EAAE,CAAC,CAAC;AACb,IAAI,CAAC;AACL,GAAG;AACH,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,UAAU,EAAE;AACd,GAAG,MAAM,EAAE,UAAU,CAAC,MAAM;AAC5B,GAAG,IAAI,EAAE,UAAU,CAAC,IAAI;AACxB,GAAG,IAAI,EAAE,UAAU,CAAC,IAAI;AACxB,GAAG,QAAQ,EAAE,UAAU,CAAC;AACxB;AACA,EAAE;AACF,CAAC;;;;;;;AC7CW,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAA+C,CAAC,EAAE;AAE7G,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAChM,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { q as escape_html, o as ensure_array_like, d as attr } from './dev-yFiAtg5l.js';
|
|
2
|
-
import './internal-
|
|
3
|
-
import './client-
|
|
2
|
+
import './internal-BkKkeKsj.js';
|
|
3
|
+
import './client-DLR5dxwU.js';
|
|
4
4
|
import 'clsx';
|
|
5
5
|
import 'node:module';
|
|
6
6
|
import './index-DBqjc0Yf.js';
|
|
@@ -83,4 +83,4 @@ function _page($$renderer, $$props) {
|
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
export { _page as default };
|
|
86
|
-
//# sourceMappingURL=_page.svelte-
|
|
86
|
+
//# sourceMappingURL=_page.svelte-BEtFIV7C.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_page.svelte-
|
|
1
|
+
{"version":3,"file":"_page.svelte-BEtFIV7C.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/tables/_table_/_id_/_page.svelte.js"],"sourcesContent":["import { H as escape_html, V as attr, i as ensure_array_like } from \"../../../../../chunks/dev.js\";\nimport \"../../../../../chunks/forms.js\";\n//#region src/lib/detail/format-cell.ts\nfunction formatCellValue(input) {\n\tconst { value, widget } = input;\n\tif (value === null || value === void 0) return \"\";\n\tswitch (widget) {\n\t\tcase \"boolean\": return value ? \"Yes\" : \"No\";\n\t\tcase \"date\": return formatDate(value);\n\t\tcase \"datetime\": return formatDateTime(value);\n\t\tcase \"json\":\n\t\t\tif (typeof value === \"object\") try {\n\t\t\t\treturn JSON.stringify(value, null, 2);\n\t\t\t} catch {\n\t\t\t\treturn String(value);\n\t\t\t}\n\t\t\treturn String(value);\n\t\tdefault:\n\t\t\tif (typeof value === \"object\") try {\n\t\t\t\treturn JSON.stringify(value);\n\t\t\t} catch {\n\t\t\t\treturn String(value);\n\t\t\t}\n\t\t\treturn String(value);\n\t}\n}\nfunction formatDate(value) {\n\tconst d = new Date(value);\n\tif (Number.isNaN(d.getTime())) return String(value);\n\treturn d.toISOString().slice(0, 10);\n}\nfunction formatDateTime(value) {\n\tconst d = new Date(value);\n\tif (Number.isNaN(d.getTime())) return String(value);\n\treturn d.toISOString().replace(\"T\", \" \").slice(0, 19);\n}\n//#endregion\n//#region src/routes/tables/[table]/[id]/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { data } = $$props;\n\t\t$$renderer.push(`<h1 class=\"mb-1 text-2xl font-semibold\">${escape_html(data.table.label)}</h1> <p class=\"mb-6 text-sm text-muted-foreground\">${escape_html(data.table.qualifiedName)} / ${escape_html(data.id)}</p> <dl class=\"space-y-4\"><!--[-->`);\n\t\tconst each_array = ensure_array_like(data.table.columns);\n\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\tlet col = each_array[$$index];\n\t\t\tconst rawValue = data.row[col.name];\n\t\t\tconst fkLabel = data.fkLabels[col.name];\n\t\t\t$$renderer.push(`<div><dt class=\"text-sm font-medium text-muted-foreground\">${escape_html(col.label)}</dt> <dd class=\"mt-1 text-sm\">`);\n\t\t\tif (col.widget === \"json\") {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<pre class=\"overflow-x-auto rounded-md bg-muted p-2 font-mono text-xs\">${escape_html(formatCellValue({\n\t\t\t\t\tvalue: rawValue,\n\t\t\t\t\twidget: col.widget\n\t\t\t\t}))}</pre>`);\n\t\t\t} else if (col.widget === \"image-url\" && rawValue) {\n\t\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t\t$$renderer.push(`<img${attr(\"src\", String(rawValue))}${attr(\"alt\", col.label)} class=\"max-h-48 rounded-md border border-border object-contain\" loading=\"lazy\"/>`);\n\t\t\t} else if (rawValue === null || rawValue === void 0) {\n\t\t\t\t$$renderer.push(\"<!--[2-->\");\n\t\t\t\t$$renderer.push(`<span class=\"text-muted-foreground\">—</span>`);\n\t\t\t} else if (fkLabel !== void 0 && fkLabel.label !== null) {\n\t\t\t\t$$renderer.push(\"<!--[3-->\");\n\t\t\t\t$$renderer.push(`<a${attr(\"href\", `/tables/${fkLabel.referencedQualifiedName}/${fkLabel.value}`)} class=\"text-primary underline\">${escape_html(fkLabel.label)}</a> <span class=\"ml-1 text-xs text-muted-foreground\">(${escape_html(formatCellValue({\n\t\t\t\t\tvalue: rawValue,\n\t\t\t\t\twidget: col.widget\n\t\t\t\t}))})</span>`);\n\t\t\t} else {\n\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`${escape_html(formatCellValue({\n\t\t\t\t\tvalue: rawValue,\n\t\t\t\t\twidget: col.widget\n\t\t\t\t}))}`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></dd></div>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></dl> <div class=\"mt-8 flex flex-wrap gap-3\"><a${attr(\"href\", `/tables/${data.table.qualifiedName}/${data.id}/edit`)} class=\"rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground\">Edit</a> <form method=\"POST\" action=\"?/delete\"><button type=\"submit\" class=\"rounded-md border border-destructive px-4 py-2 text-sm font-medium text-destructive\">Delete</button></form> <a${attr(\"href\", `/tables/${data.table.qualifiedName}`)} class=\"rounded-md border border-border px-4 py-2 text-sm font-medium\">Back</a></div>`);\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { q as escape_html, o as ensure_array_like, a6 as store_get, d as attr, a7 as store_mutate, m as derived, ab as unsubscribe_stores } from './dev-yFiAtg5l.js';
|
|
2
|
+
import { s as superForm } from './composite-form-BHZcuFIS.js';
|
|
3
|
+
import { R as Relation_select_composite_field, a as Relation_select_field, r as resolveWidget } from './widget-registry-hWgMHMd3.js';
|
|
4
|
+
import 'clsx';
|
|
5
|
+
import './internal-BkKkeKsj.js';
|
|
6
|
+
import 'node:module';
|
|
7
|
+
import './index-DBqjc0Yf.js';
|
|
8
|
+
import './client-DLR5dxwU.js';
|
|
9
|
+
import './app-DST8OmzT.js';
|
|
10
|
+
import './index-5kYmxIr9.js';
|
|
11
|
+
import 'zod/v4/core';
|
|
12
|
+
import 'zod';
|
|
13
|
+
import './resource-id-PDcQeAnc.js';
|
|
14
|
+
|
|
15
|
+
//#region src/routes/tables/[table]/[id]/edit/+page.svelte
|
|
16
|
+
function _page($$renderer, $$props) {
|
|
17
|
+
$$renderer.component(($$renderer) => {
|
|
18
|
+
var $$store_subs;
|
|
19
|
+
let { data } = $$props;
|
|
20
|
+
const relationByField = derived(() => new Map(data.relations.filter((r) => (r.fields ?? [r.field]).length === 1).map((r) => [r.field, r])));
|
|
21
|
+
const compositeLayout = derived(() => {
|
|
22
|
+
const hostByField = /* @__PURE__ */ new Map();
|
|
23
|
+
const memberFields = /* @__PURE__ */ new Set();
|
|
24
|
+
for (const config of data.relations) {
|
|
25
|
+
const fields = config.fields ?? [config.field];
|
|
26
|
+
if (fields.length < 2) continue;
|
|
27
|
+
const grouped = new Set(fields);
|
|
28
|
+
const ordered = data.table.columns.filter((c) => grouped.has(c.name)).map((c) => c.name);
|
|
29
|
+
if (ordered.length !== fields.length) continue;
|
|
30
|
+
hostByField.set(ordered[0], config);
|
|
31
|
+
for (const field of ordered.slice(1)) memberFields.add(field);
|
|
32
|
+
}
|
|
33
|
+
return {
|
|
34
|
+
hostByField,
|
|
35
|
+
memberFields
|
|
36
|
+
};
|
|
37
|
+
});
|
|
38
|
+
const { form, errors, submitting } = superForm(data.form, { dataType: "json" });
|
|
39
|
+
const relationForm = form;
|
|
40
|
+
function memberColumns(config) {
|
|
41
|
+
const grouped = new Set(config.fields ?? [config.field]);
|
|
42
|
+
return data.table.columns.filter((c) => grouped.has(c.name));
|
|
43
|
+
}
|
|
44
|
+
function applyComposite(config, components) {
|
|
45
|
+
const keyFields = config.keyFields ?? [config.field];
|
|
46
|
+
relationForm.update((current) => {
|
|
47
|
+
const next = { ...current };
|
|
48
|
+
keyFields.forEach((field, i) => {
|
|
49
|
+
next[field] = components === null ? "" : components[i];
|
|
50
|
+
});
|
|
51
|
+
return next;
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
let $$settled = true;
|
|
55
|
+
let $$inner_renderer;
|
|
56
|
+
function $$render_inner($$renderer) {
|
|
57
|
+
$$renderer.push(`<h1 class="mb-1 text-2xl font-semibold">Edit ${escape_html(data.table.label)}</h1> <p class="mb-6 text-sm text-muted-foreground">${escape_html(data.table.qualifiedName)} / ${escape_html(data.id)}</p> <form method="POST" class="space-y-4"><!--[-->`);
|
|
58
|
+
const each_array = ensure_array_like(data.table.columns);
|
|
59
|
+
for (let $$index_2 = 0, $$length = each_array.length; $$index_2 < $$length; $$index_2++) {
|
|
60
|
+
let col = each_array[$$index_2];
|
|
61
|
+
const required = !col.nullable && !col.readonly && !col.isPrimaryKey;
|
|
62
|
+
const relation = relationByField().get(col.name);
|
|
63
|
+
const composite = compositeLayout().hostByField.get(col.name);
|
|
64
|
+
$$renderer.push(`<div>`);
|
|
65
|
+
if (compositeLayout().memberFields.has(col.name)) $$renderer.push("<!--[0-->");
|
|
66
|
+
else if (composite) {
|
|
67
|
+
$$renderer.push("<!--[1-->");
|
|
68
|
+
const members = memberColumns(composite);
|
|
69
|
+
const groupRequired = members.some((c) => !c.nullable && !c.readonly && !c.isPrimaryKey);
|
|
70
|
+
const groupReadonly = members.some((c) => c.readonly);
|
|
71
|
+
$$renderer.push(`<!---->`);
|
|
72
|
+
Relation_select_composite_field($$renderer, {
|
|
73
|
+
name: composite.field,
|
|
74
|
+
label: members.map((c) => c.label).join(", "),
|
|
75
|
+
resource: composite.resource,
|
|
76
|
+
labelField: composite.labelField,
|
|
77
|
+
searchFields: composite.searchFields,
|
|
78
|
+
initialOptions: data.initialOptions[composite.field] ?? [],
|
|
79
|
+
values: (composite.keyFields ?? [composite.field]).map((field) => store_get($$store_subs ??= {}, "$relationForm", relationForm)[field]),
|
|
80
|
+
onpick: (components) => applyComposite(composite, components),
|
|
81
|
+
required: groupRequired,
|
|
82
|
+
readonly: groupReadonly
|
|
83
|
+
});
|
|
84
|
+
$$renderer.push(`<!----> <!--[-->`);
|
|
85
|
+
const each_array_1 = ensure_array_like(members);
|
|
86
|
+
for (let $$index = 0, $$length = each_array_1.length; $$index < $$length; $$index++) {
|
|
87
|
+
let member = each_array_1[$$index];
|
|
88
|
+
$$renderer.push(`<input type="hidden"${attr("name", member.name)}${attr("value", store_get($$store_subs ??= {}, "$relationForm", relationForm)[member.name] === null || store_get($$store_subs ??= {}, "$relationForm", relationForm)[member.name] === void 0 ? "" : String(store_get($$store_subs ??= {}, "$relationForm", relationForm)[member.name]))}/>`);
|
|
89
|
+
}
|
|
90
|
+
$$renderer.push(`<!--]--> <!--[-->`);
|
|
91
|
+
const each_array_2 = ensure_array_like(members);
|
|
92
|
+
for (let $$index_1 = 0, $$length = each_array_2.length; $$index_1 < $$length; $$index_1++) {
|
|
93
|
+
let member = each_array_2[$$index_1];
|
|
94
|
+
if (store_get($$store_subs ??= {}, "$errors", errors)[member.name]) {
|
|
95
|
+
$$renderer.push("<!--[0-->");
|
|
96
|
+
$$renderer.push(`<p class="mt-1 text-sm text-destructive">${escape_html(member.label)}: ${escape_html(store_get($$store_subs ??= {}, "$errors", errors)[member.name])}</p>`);
|
|
97
|
+
} else $$renderer.push("<!--[-1-->");
|
|
98
|
+
$$renderer.push(`<!--]-->`);
|
|
99
|
+
}
|
|
100
|
+
$$renderer.push(`<!--]-->`);
|
|
101
|
+
} else if (col.widget === "relation-select" && relation) {
|
|
102
|
+
$$renderer.push("<!--[2-->");
|
|
103
|
+
$$renderer.push(`<!---->`);
|
|
104
|
+
Relation_select_field($$renderer, {
|
|
105
|
+
name: col.name,
|
|
106
|
+
label: col.label,
|
|
107
|
+
resource: relation.resource,
|
|
108
|
+
labelField: relation.labelField,
|
|
109
|
+
searchFields: relation.searchFields,
|
|
110
|
+
initialOptions: data.initialOptions[col.name] ?? [],
|
|
111
|
+
required,
|
|
112
|
+
readonly: col.readonly,
|
|
113
|
+
get value() {
|
|
114
|
+
return store_get($$store_subs ??= {}, "$relationForm", relationForm)[col.name];
|
|
115
|
+
},
|
|
116
|
+
set value($$value) {
|
|
117
|
+
store_mutate($$store_subs ??= {}, "$relationForm", relationForm, store_get($$store_subs ??= {}, "$relationForm", relationForm)[col.name] = $$value);
|
|
118
|
+
$$settled = false;
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
$$renderer.push(`<!---->`);
|
|
122
|
+
} else {
|
|
123
|
+
$$renderer.push("<!--[-1-->");
|
|
124
|
+
const Widget = resolveWidget(col.widget);
|
|
125
|
+
if (Widget) {
|
|
126
|
+
$$renderer.push("<!--[-->");
|
|
127
|
+
Widget($$renderer, {
|
|
128
|
+
name: col.name,
|
|
129
|
+
label: col.label,
|
|
130
|
+
options: col.enumValues,
|
|
131
|
+
required,
|
|
132
|
+
readonly: col.readonly,
|
|
133
|
+
get value() {
|
|
134
|
+
return store_get($$store_subs ??= {}, "$form", form)[col.name];
|
|
135
|
+
},
|
|
136
|
+
set value($$value) {
|
|
137
|
+
store_mutate($$store_subs ??= {}, "$form", form, store_get($$store_subs ??= {}, "$form", form)[col.name] = $$value);
|
|
138
|
+
$$settled = false;
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
$$renderer.push("<!--]-->");
|
|
142
|
+
} else {
|
|
143
|
+
$$renderer.push("<!--[!-->");
|
|
144
|
+
$$renderer.push("<!--]-->");
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
$$renderer.push(`<!--]--> `);
|
|
148
|
+
if (!composite && !compositeLayout().memberFields.has(col.name) && store_get($$store_subs ??= {}, "$errors", errors)[col.name]) {
|
|
149
|
+
$$renderer.push("<!--[0-->");
|
|
150
|
+
$$renderer.push(`<p class="mt-1 text-sm text-destructive">${escape_html(store_get($$store_subs ??= {}, "$errors", errors)[col.name])}</p>`);
|
|
151
|
+
} else $$renderer.push("<!--[-1-->");
|
|
152
|
+
$$renderer.push(`<!--]--></div>`);
|
|
153
|
+
}
|
|
154
|
+
$$renderer.push(`<!--]--> <div class="flex gap-3"><button type="submit"${attr("disabled", store_get($$store_subs ??= {}, "$submitting", submitting), true)} class="rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground disabled:opacity-50">${escape_html(store_get($$store_subs ??= {}, "$submitting", submitting) ? "Saving…" : "Save")}</button> <a${attr("href", `/tables/${data.table.qualifiedName}/${data.id}`)} class="rounded-md border border-border px-4 py-2 text-sm font-medium">Cancel</a></div></form>`);
|
|
155
|
+
}
|
|
156
|
+
do {
|
|
157
|
+
$$settled = true;
|
|
158
|
+
$$inner_renderer = $$renderer.copy();
|
|
159
|
+
$$render_inner($$inner_renderer);
|
|
160
|
+
} while (!$$settled);
|
|
161
|
+
$$renderer.subsume($$inner_renderer);
|
|
162
|
+
if ($$store_subs) unsubscribe_stores($$store_subs);
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
export { _page as default };
|
|
167
|
+
//# sourceMappingURL=_page.svelte-CDGnOeZp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_page.svelte-CDGnOeZp.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/tables/_table_/_id_/edit/_page.svelte.js"],"sourcesContent":["import { H as escape_html, V as attr, c as unsubscribe_stores, i as ensure_array_like, o as store_get, r as derived, s as store_mutate } from \"../../../../../../chunks/dev.js\";\nimport { l as superForm } from \"../../../../../../chunks/relation-field-config.js\";\nimport { n as Relation_select_field, r as Relation_select_composite_field, t as resolveWidget } from \"../../../../../../chunks/widget-registry.js\";\n//#region src/routes/tables/[table]/[id]/edit/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tvar $$store_subs;\n\t\tlet { data } = $$props;\n\t\tconst relationByField = derived(() => new Map(data.relations.filter((r) => (r.fields ?? [r.field]).length === 1).map((r) => [r.field, r])));\n\t\tconst compositeLayout = derived(() => {\n\t\t\tconst hostByField = /* @__PURE__ */ new Map();\n\t\t\tconst memberFields = /* @__PURE__ */ new Set();\n\t\t\tfor (const config of data.relations) {\n\t\t\t\tconst fields = config.fields ?? [config.field];\n\t\t\t\tif (fields.length < 2) continue;\n\t\t\t\tconst grouped = new Set(fields);\n\t\t\t\tconst ordered = data.table.columns.filter((c) => grouped.has(c.name)).map((c) => c.name);\n\t\t\t\tif (ordered.length !== fields.length) continue;\n\t\t\t\thostByField.set(ordered[0], config);\n\t\t\t\tfor (const field of ordered.slice(1)) memberFields.add(field);\n\t\t\t}\n\t\t\treturn {\n\t\t\t\thostByField,\n\t\t\t\tmemberFields\n\t\t\t};\n\t\t});\n\t\tconst { form, errors, enhance, submitting } = superForm(data.form, { dataType: \"json\" });\n\t\tconst relationForm = form;\n\t\tfunction memberColumns(config) {\n\t\t\tconst grouped = new Set(config.fields ?? [config.field]);\n\t\t\treturn data.table.columns.filter((c) => grouped.has(c.name));\n\t\t}\n\t\tfunction applyComposite(config, components) {\n\t\t\tconst keyFields = config.keyFields ?? [config.field];\n\t\t\trelationForm.update((current) => {\n\t\t\t\tconst next = { ...current };\n\t\t\t\tkeyFields.forEach((field, i) => {\n\t\t\t\t\tnext[field] = components === null ? \"\" : components[i];\n\t\t\t\t});\n\t\t\t\treturn next;\n\t\t\t});\n\t\t}\n\t\tlet $$settled = true;\n\t\tlet $$inner_renderer;\n\t\tfunction $$render_inner($$renderer) {\n\t\t\t$$renderer.push(`<h1 class=\"mb-1 text-2xl font-semibold\">Edit ${escape_html(data.table.label)}</h1> <p class=\"mb-6 text-sm text-muted-foreground\">${escape_html(data.table.qualifiedName)} / ${escape_html(data.id)}</p> <form method=\"POST\" class=\"space-y-4\"><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(data.table.columns);\n\t\t\tfor (let $$index_2 = 0, $$length = each_array.length; $$index_2 < $$length; $$index_2++) {\n\t\t\t\tlet col = each_array[$$index_2];\n\t\t\t\tconst required = !col.nullable && !col.readonly && !col.isPrimaryKey;\n\t\t\t\tconst relation = relationByField().get(col.name);\n\t\t\t\tconst composite = compositeLayout().hostByField.get(col.name);\n\t\t\t\t$$renderer.push(`<div>`);\n\t\t\t\tif (compositeLayout().memberFields.has(col.name)) $$renderer.push(\"<!--[0-->\");\n\t\t\t\telse if (composite) {\n\t\t\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t\t\tconst members = memberColumns(composite);\n\t\t\t\t\tconst groupRequired = members.some((c) => !c.nullable && !c.readonly && !c.isPrimaryKey);\n\t\t\t\t\tconst groupReadonly = members.some((c) => c.readonly);\n\t\t\t\t\t$$renderer.push(`<!---->`);\n\t\t\t\t\tRelation_select_composite_field($$renderer, {\n\t\t\t\t\t\tname: composite.field,\n\t\t\t\t\t\tlabel: members.map((c) => c.label).join(\", \"),\n\t\t\t\t\t\tresource: composite.resource,\n\t\t\t\t\t\tlabelField: composite.labelField,\n\t\t\t\t\t\tsearchFields: composite.searchFields,\n\t\t\t\t\t\tinitialOptions: data.initialOptions[composite.field] ?? [],\n\t\t\t\t\t\tvalues: (composite.keyFields ?? [composite.field]).map((field) => store_get($$store_subs ??= {}, \"$relationForm\", relationForm)[field]),\n\t\t\t\t\t\tonpick: (components) => applyComposite(composite, components),\n\t\t\t\t\t\trequired: groupRequired,\n\t\t\t\t\t\treadonly: groupReadonly\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(`<!----> <!--[-->`);\n\t\t\t\t\tconst each_array_1 = ensure_array_like(members);\n\t\t\t\t\tfor (let $$index = 0, $$length = each_array_1.length; $$index < $$length; $$index++) {\n\t\t\t\t\t\tlet member = each_array_1[$$index];\n\t\t\t\t\t\t$$renderer.push(`<input type=\"hidden\"${attr(\"name\", member.name)}${attr(\"value\", store_get($$store_subs ??= {}, \"$relationForm\", relationForm)[member.name] === null || store_get($$store_subs ??= {}, \"$relationForm\", relationForm)[member.name] === void 0 ? \"\" : String(store_get($$store_subs ??= {}, \"$relationForm\", relationForm)[member.name]))}/>`);\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]--> <!--[-->`);\n\t\t\t\t\tconst each_array_2 = ensure_array_like(members);\n\t\t\t\t\tfor (let $$index_1 = 0, $$length = each_array_2.length; $$index_1 < $$length; $$index_1++) {\n\t\t\t\t\t\tlet member = each_array_2[$$index_1];\n\t\t\t\t\t\tif (store_get($$store_subs ??= {}, \"$errors\", errors)[member.name]) {\n\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<p class=\"mt-1 text-sm text-destructive\">${escape_html(member.label)}: ${escape_html(store_get($$store_subs ??= {}, \"$errors\", errors)[member.name])}</p>`);\n\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t} else if (col.widget === \"relation-select\" && relation) {\n\t\t\t\t\t$$renderer.push(\"<!--[2-->\");\n\t\t\t\t\t$$renderer.push(`<!---->`);\n\t\t\t\t\tRelation_select_field($$renderer, {\n\t\t\t\t\t\tname: col.name,\n\t\t\t\t\t\tlabel: col.label,\n\t\t\t\t\t\tresource: relation.resource,\n\t\t\t\t\t\tlabelField: relation.labelField,\n\t\t\t\t\t\tsearchFields: relation.searchFields,\n\t\t\t\t\t\tinitialOptions: data.initialOptions[col.name] ?? [],\n\t\t\t\t\t\trequired,\n\t\t\t\t\t\treadonly: col.readonly,\n\t\t\t\t\t\tget value() {\n\t\t\t\t\t\t\treturn store_get($$store_subs ??= {}, \"$relationForm\", relationForm)[col.name];\n\t\t\t\t\t\t},\n\t\t\t\t\t\tset value($$value) {\n\t\t\t\t\t\t\tstore_mutate($$store_subs ??= {}, \"$relationForm\", relationForm, store_get($$store_subs ??= {}, \"$relationForm\", relationForm)[col.name] = $$value);\n\t\t\t\t\t\t\t$$settled = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(`<!---->`);\n\t\t\t\t} else {\n\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\tconst Widget = resolveWidget(col.widget);\n\t\t\t\t\tif (Widget) {\n\t\t\t\t\t\t$$renderer.push(\"<!--[-->\");\n\t\t\t\t\t\tWidget($$renderer, {\n\t\t\t\t\t\t\tname: col.name,\n\t\t\t\t\t\t\tlabel: col.label,\n\t\t\t\t\t\t\toptions: col.enumValues,\n\t\t\t\t\t\t\trequired,\n\t\t\t\t\t\t\treadonly: col.readonly,\n\t\t\t\t\t\t\tget value() {\n\t\t\t\t\t\t\t\treturn store_get($$store_subs ??= {}, \"$form\", form)[col.name];\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tset value($$value) {\n\t\t\t\t\t\t\t\tstore_mutate($$store_subs ??= {}, \"$form\", form, store_get($$store_subs ??= {}, \"$form\", form)[col.name] = $$value);\n\t\t\t\t\t\t\t\t$$settled = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\t$$renderer.push(\"<!--]-->\");\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$$renderer.push(\"<!--[!-->\");\n\t\t\t\t\t\t$$renderer.push(\"<!--]-->\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\tif (!composite && !compositeLayout().memberFields.has(col.name) && store_get($$store_subs ??= {}, \"$errors\", errors)[col.name]) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<p class=\"mt-1 text-sm text-destructive\">${escape_html(store_get($$store_subs ??= {}, \"$errors\", errors)[col.name])}</p>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--> <div class=\"flex gap-3\"><button type=\"submit\"${attr(\"disabled\", store_get($$store_subs ??= {}, \"$submitting\", submitting), true)} class=\"rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground disabled:opacity-50\">${escape_html(store_get($$store_subs ??= {}, \"$submitting\", submitting) ? \"Saving…\" : \"Save\")}</button> <a${attr(\"href\", `/tables/${data.table.qualifiedName}/${data.id}`)} class=\"rounded-md border border-border px-4 py-2 text-sm font-medium\">Cancel</a></div></form>`);\n\t\t}\n\t\tdo {\n\t\t\t$$settled = true;\n\t\t\t$$inner_renderer = $$renderer.copy();\n\t\t\t$$render_inner($$inner_renderer);\n\t\t} while (!$$settled);\n\t\t$$renderer.subsume($$inner_renderer);\n\t\tif ($$store_subs) unsubscribe_stores($$store_subs);\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"names":[],"mappings":"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"}
|