@multiplatform.one/backoffice 7.2.1 → 7.3.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/dist/cjs/config/BackofficeProvider.cjs +4 -10
- package/dist/cjs/config/BackofficeProvider.native.js +9 -29
- package/dist/cjs/config/BackofficeProvider.native.js.map +1 -1
- package/dist/cjs/desk/Desk.cjs +187 -0
- package/dist/cjs/desk/Desk.native.js +214 -0
- package/dist/cjs/desk/Desk.native.js.map +1 -0
- package/dist/cjs/desk/DeskSurface.cjs +123 -0
- package/dist/cjs/desk/DeskSurface.native.js +130 -0
- package/dist/cjs/desk/DeskSurface.native.js.map +1 -0
- package/dist/cjs/desk/resolveDeskPath.cjs +118 -0
- package/dist/cjs/desk/resolveDeskPath.native.js +123 -0
- package/dist/cjs/desk/resolveDeskPath.native.js.map +1 -0
- package/dist/cjs/desk/scope.cjs +54 -0
- package/dist/cjs/desk/scope.native.js +61 -0
- package/dist/cjs/desk/scope.native.js.map +1 -0
- package/dist/cjs/desk/target.cjs +174 -0
- package/dist/cjs/desk/target.native.js +178 -0
- package/dist/cjs/desk/target.native.js.map +1 -0
- package/dist/cjs/index.cjs +13 -0
- package/dist/cjs/index.native.js +13 -0
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/list/DoctypeListScreen.cjs +3 -1
- package/dist/cjs/list/DoctypeListScreen.native.js +3 -1
- package/dist/cjs/list/DoctypeListScreen.native.js.map +1 -1
- package/dist/cjs/report/DoctypeReportView.cjs +3 -1
- package/dist/cjs/report/DoctypeReportView.native.js +4 -2
- package/dist/cjs/report/DoctypeReportView.native.js.map +1 -1
- package/dist/cjs/views/CalendarView.cjs +5 -0
- package/dist/cjs/views/CalendarView.native.js +5 -0
- package/dist/cjs/views/CalendarView.native.js.map +1 -1
- package/dist/cjs/views/DashboardView.cjs +5 -3
- package/dist/cjs/views/DashboardView.native.js +5 -3
- package/dist/cjs/views/DashboardView.native.js.map +1 -1
- package/dist/cjs/views/ImageView.cjs +5 -0
- package/dist/cjs/views/ImageView.native.js +5 -0
- package/dist/cjs/views/ImageView.native.js.map +1 -1
- package/dist/cjs/views/KanbanView.cjs +5 -2
- package/dist/cjs/views/KanbanView.native.js +5 -2
- package/dist/cjs/views/KanbanView.native.js.map +1 -1
- package/dist/cjs/views/TreeView.cjs +5 -0
- package/dist/cjs/views/TreeView.native.js +5 -0
- package/dist/cjs/views/TreeView.native.js.map +1 -1
- package/dist/esm/config/BackofficeProvider.mjs +5 -11
- package/dist/esm/config/BackofficeProvider.mjs.map +1 -1
- package/dist/esm/config/BackofficeProvider.native.js +10 -30
- package/dist/esm/config/BackofficeProvider.native.js.map +1 -1
- package/dist/esm/desk/Desk.mjs +162 -0
- package/dist/esm/desk/Desk.mjs.map +1 -0
- package/dist/esm/desk/Desk.native.js +186 -0
- package/dist/esm/desk/Desk.native.js.map +1 -0
- package/dist/esm/desk/DeskSurface.mjs +97 -0
- package/dist/esm/desk/DeskSurface.mjs.map +1 -0
- package/dist/esm/desk/DeskSurface.native.js +101 -0
- package/dist/esm/desk/DeskSurface.native.js.map +1 -0
- package/dist/esm/desk/resolveDeskPath.mjs +93 -0
- package/dist/esm/desk/resolveDeskPath.mjs.map +1 -0
- package/dist/esm/desk/resolveDeskPath.native.js +95 -0
- package/dist/esm/desk/resolveDeskPath.native.js.map +1 -0
- package/dist/esm/desk/scope.mjs +27 -0
- package/dist/esm/desk/scope.mjs.map +1 -0
- package/dist/esm/desk/scope.native.js +31 -0
- package/dist/esm/desk/scope.native.js.map +1 -0
- package/dist/esm/desk/target.mjs +147 -0
- package/dist/esm/desk/target.mjs.map +1 -0
- package/dist/esm/desk/target.native.js +148 -0
- package/dist/esm/desk/target.native.js.map +1 -0
- package/dist/esm/index.mjs +6 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +6 -1
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/list/DoctypeListScreen.mjs +3 -1
- package/dist/esm/list/DoctypeListScreen.mjs.map +1 -1
- package/dist/esm/list/DoctypeListScreen.native.js +3 -1
- package/dist/esm/list/DoctypeListScreen.native.js.map +1 -1
- package/dist/esm/report/DoctypeReportView.mjs +3 -1
- package/dist/esm/report/DoctypeReportView.mjs.map +1 -1
- package/dist/esm/report/DoctypeReportView.native.js +4 -2
- package/dist/esm/report/DoctypeReportView.native.js.map +1 -1
- package/dist/esm/views/CalendarView.mjs +5 -0
- package/dist/esm/views/CalendarView.mjs.map +1 -1
- package/dist/esm/views/CalendarView.native.js +5 -0
- package/dist/esm/views/CalendarView.native.js.map +1 -1
- package/dist/esm/views/DashboardView.mjs +5 -3
- package/dist/esm/views/DashboardView.mjs.map +1 -1
- package/dist/esm/views/DashboardView.native.js +5 -3
- package/dist/esm/views/DashboardView.native.js.map +1 -1
- package/dist/esm/views/ImageView.mjs +5 -0
- package/dist/esm/views/ImageView.mjs.map +1 -1
- package/dist/esm/views/ImageView.native.js +5 -0
- package/dist/esm/views/ImageView.native.js.map +1 -1
- package/dist/esm/views/KanbanView.mjs +5 -2
- package/dist/esm/views/KanbanView.mjs.map +1 -1
- package/dist/esm/views/KanbanView.native.js +5 -2
- package/dist/esm/views/KanbanView.native.js.map +1 -1
- package/dist/esm/views/TreeView.mjs +5 -0
- package/dist/esm/views/TreeView.mjs.map +1 -1
- package/dist/esm/views/TreeView.native.js +5 -0
- package/dist/esm/views/TreeView.native.js.map +1 -1
- package/dist/jsx/config/BackofficeProvider.mjs +5 -11
- package/dist/jsx/config/BackofficeProvider.mjs.map +1 -1
- package/dist/jsx/config/BackofficeProvider.native.js +9 -29
- package/dist/jsx/config/BackofficeProvider.native.js.map +1 -1
- package/dist/jsx/desk/Desk.mjs +162 -0
- package/dist/jsx/desk/Desk.mjs.map +1 -0
- package/dist/jsx/desk/Desk.native.js +214 -0
- package/dist/jsx/desk/Desk.native.js.map +1 -0
- package/dist/jsx/desk/DeskSurface.mjs +97 -0
- package/dist/jsx/desk/DeskSurface.mjs.map +1 -0
- package/dist/jsx/desk/DeskSurface.native.js +130 -0
- package/dist/jsx/desk/DeskSurface.native.js.map +1 -0
- package/dist/jsx/desk/resolveDeskPath.mjs +93 -0
- package/dist/jsx/desk/resolveDeskPath.mjs.map +1 -0
- package/dist/jsx/desk/resolveDeskPath.native.js +123 -0
- package/dist/jsx/desk/resolveDeskPath.native.js.map +1 -0
- package/dist/jsx/desk/scope.mjs +27 -0
- package/dist/jsx/desk/scope.mjs.map +1 -0
- package/dist/jsx/desk/scope.native.js +61 -0
- package/dist/jsx/desk/scope.native.js.map +1 -0
- package/dist/jsx/desk/target.mjs +147 -0
- package/dist/jsx/desk/target.mjs.map +1 -0
- package/dist/jsx/desk/target.native.js +178 -0
- package/dist/jsx/desk/target.native.js.map +1 -0
- package/dist/jsx/index.js +6 -1
- package/dist/jsx/index.js.map +1 -1
- package/dist/jsx/index.mjs +6 -1
- package/dist/jsx/index.mjs.map +1 -1
- package/dist/jsx/index.native.js +13 -0
- package/dist/jsx/index.native.js.map +1 -1
- package/dist/jsx/list/DoctypeListScreen.mjs +3 -1
- package/dist/jsx/list/DoctypeListScreen.mjs.map +1 -1
- package/dist/jsx/list/DoctypeListScreen.native.js +3 -1
- package/dist/jsx/list/DoctypeListScreen.native.js.map +1 -1
- package/dist/jsx/report/DoctypeReportView.mjs +3 -1
- package/dist/jsx/report/DoctypeReportView.mjs.map +1 -1
- package/dist/jsx/report/DoctypeReportView.native.js +4 -2
- package/dist/jsx/report/DoctypeReportView.native.js.map +1 -1
- package/dist/jsx/views/CalendarView.mjs +5 -0
- package/dist/jsx/views/CalendarView.mjs.map +1 -1
- package/dist/jsx/views/CalendarView.native.js +5 -0
- package/dist/jsx/views/CalendarView.native.js.map +1 -1
- package/dist/jsx/views/DashboardView.mjs +5 -3
- package/dist/jsx/views/DashboardView.mjs.map +1 -1
- package/dist/jsx/views/DashboardView.native.js +5 -3
- package/dist/jsx/views/DashboardView.native.js.map +1 -1
- package/dist/jsx/views/ImageView.mjs +5 -0
- package/dist/jsx/views/ImageView.mjs.map +1 -1
- package/dist/jsx/views/ImageView.native.js +5 -0
- package/dist/jsx/views/ImageView.native.js.map +1 -1
- package/dist/jsx/views/KanbanView.mjs +5 -2
- package/dist/jsx/views/KanbanView.mjs.map +1 -1
- package/dist/jsx/views/KanbanView.native.js +5 -2
- package/dist/jsx/views/KanbanView.native.js.map +1 -1
- package/dist/jsx/views/TreeView.mjs +5 -0
- package/dist/jsx/views/TreeView.mjs.map +1 -1
- package/dist/jsx/views/TreeView.native.js +5 -0
- package/dist/jsx/views/TreeView.native.js.map +1 -1
- package/package.json +12 -12
- package/src/config/BackofficeProvider.tsx +11 -18
- package/src/desk/Desk.spec.tsx +287 -0
- package/src/desk/Desk.tsx +308 -0
- package/src/desk/DeskSurface.tsx +132 -0
- package/src/desk/doctrine.spec.ts +48 -0
- package/src/desk/resolveDeskPath.spec.ts +174 -0
- package/src/desk/resolveDeskPath.ts +111 -0
- package/src/desk/scope.tsx +52 -0
- package/src/desk/target.ts +169 -0
- package/src/index.ts +17 -0
- package/src/list/DoctypeListScreen.tsx +4 -1
- package/src/report/DoctypeReportView.tsx +6 -2
- package/src/views/CalendarView.tsx +3 -0
- package/src/views/DashboardView.tsx +5 -3
- package/src/views/ImageView.tsx +3 -0
- package/src/views/KanbanView.tsx +5 -1
- package/src/views/TreeView.tsx +3 -0
- package/types/config/BackofficeProvider.d.ts +6 -4
- package/types/config/BackofficeProvider.d.ts.map +1 -1
- package/types/desk/Desk.d.ts +91 -0
- package/types/desk/Desk.d.ts.map +1 -0
- package/types/desk/DeskSurface.d.ts +24 -0
- package/types/desk/DeskSurface.d.ts.map +1 -0
- package/types/desk/resolveDeskPath.d.ts +60 -0
- package/types/desk/resolveDeskPath.d.ts.map +1 -0
- package/types/desk/scope.d.ts +31 -0
- package/types/desk/scope.d.ts.map +1 -0
- package/types/desk/target.d.ts +57 -0
- package/types/desk/target.d.ts.map +1 -0
- package/types/index.d.ts +10 -0
- package/types/index.d.ts.map +1 -1
- package/types/list/DoctypeListScreen.d.ts.map +1 -1
- package/types/report/DoctypeReportView.d.ts.map +1 -1
- package/types/views/CalendarView.d.ts.map +1 -1
- package/types/views/DashboardView.d.ts.map +1 -1
- package/types/views/ImageView.d.ts.map +1 -1
- package/types/views/KanbanView.d.ts.map +1 -1
- package/types/views/TreeView.d.ts.map +1 -1
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Spinner, YStack } from "@multiplatform.one/components";
|
|
3
|
+
import { useMemo } from "react";
|
|
4
|
+
import { setCreatePrefill } from "../form/createPrefill.native.js";
|
|
5
|
+
import { DocFormScreen } from "../form/DocFormScreen.native.js";
|
|
6
|
+
import { DoctypeListScreen } from "../list/DoctypeListScreen.native.js";
|
|
7
|
+
import { QueryReportScreen } from "../report/QueryReportScreen.native.js";
|
|
8
|
+
import { HomeRedirect } from "../shell/HomeRedirect.native.js";
|
|
9
|
+
import { NotFoundScreen } from "../shell/NotFoundScreen.native.js";
|
|
10
|
+
import { DoctypeViewScreen } from "../views/DoctypeViewScreen.native.js";
|
|
11
|
+
import { WorkspaceScreen } from "../workspace/WorkspaceScreen.native.js";
|
|
12
|
+
function resolveOverride(overrides, target) {
|
|
13
|
+
var entry = overrides === null || overrides === void 0 ? void 0 : overrides[target.kind];
|
|
14
|
+
if (!entry) return void 0;
|
|
15
|
+
if (typeof entry === "function") return entry;
|
|
16
|
+
var doctype = "doctype" in target ? target.doctype : void 0;
|
|
17
|
+
return doctype ? entry[doctype] : void 0;
|
|
18
|
+
}
|
|
19
|
+
function NewDocSurface(param) {
|
|
20
|
+
var {
|
|
21
|
+
doctype,
|
|
22
|
+
defaults,
|
|
23
|
+
readOnly
|
|
24
|
+
} = param;
|
|
25
|
+
var defaultsKey = JSON.stringify(defaults !== null && defaults !== void 0 ? defaults : null);
|
|
26
|
+
useMemo(function () {
|
|
27
|
+
if (defaults && Object.keys(defaults).length > 0) setCreatePrefill(doctype, defaults);
|
|
28
|
+
},
|
|
29
|
+
// oxlint-disable-next-line exhaustive-deps
|
|
30
|
+
[doctype, defaultsKey]);
|
|
31
|
+
return /* @__PURE__ */_jsx(DocFormScreen, {
|
|
32
|
+
doctype,
|
|
33
|
+
name: "new",
|
|
34
|
+
readOnly
|
|
35
|
+
}, defaultsKey);
|
|
36
|
+
}
|
|
37
|
+
function DeskSurface(param) {
|
|
38
|
+
var {
|
|
39
|
+
target,
|
|
40
|
+
overrides,
|
|
41
|
+
readOnly,
|
|
42
|
+
initialFilters,
|
|
43
|
+
views
|
|
44
|
+
} = param;
|
|
45
|
+
var Override = resolveOverride(overrides, target);
|
|
46
|
+
if (Override) return /* @__PURE__ */_jsx(Override, {
|
|
47
|
+
target,
|
|
48
|
+
readOnly
|
|
49
|
+
});
|
|
50
|
+
switch (target.kind) {
|
|
51
|
+
case "home":
|
|
52
|
+
return /* @__PURE__ */_jsx(HomeRedirect, {});
|
|
53
|
+
case "workspace":
|
|
54
|
+
return /* @__PURE__ */_jsx(WorkspaceScreen, {
|
|
55
|
+
workspace: target.workspace
|
|
56
|
+
});
|
|
57
|
+
case "list":
|
|
58
|
+
return /* @__PURE__ */_jsx(DoctypeListScreen, {
|
|
59
|
+
doctype: target.doctype,
|
|
60
|
+
filtersParam: target.filtersParam,
|
|
61
|
+
sortParam: target.sortParam,
|
|
62
|
+
initialFilters,
|
|
63
|
+
views
|
|
64
|
+
});
|
|
65
|
+
case "view":
|
|
66
|
+
return /* @__PURE__ */_jsx(DoctypeViewScreen, {
|
|
67
|
+
doctype: target.doctype,
|
|
68
|
+
view: target.view
|
|
69
|
+
});
|
|
70
|
+
case "new":
|
|
71
|
+
return /* @__PURE__ */_jsx(NewDocSurface, {
|
|
72
|
+
doctype: target.doctype,
|
|
73
|
+
defaults: target.defaults,
|
|
74
|
+
readOnly
|
|
75
|
+
});
|
|
76
|
+
case "form":
|
|
77
|
+
return /* @__PURE__ */_jsx(DocFormScreen, {
|
|
78
|
+
doctype: target.doctype,
|
|
79
|
+
name: target.name,
|
|
80
|
+
readOnly
|
|
81
|
+
});
|
|
82
|
+
case "report":
|
|
83
|
+
return /* @__PURE__ */_jsx(QueryReportScreen, {
|
|
84
|
+
reportName: target.reportName
|
|
85
|
+
});
|
|
86
|
+
case "not-found":
|
|
87
|
+
return /* @__PURE__ */_jsx(NotFoundScreen, {});
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
function DeskSurfaceLoading() {
|
|
91
|
+
return /* @__PURE__ */_jsx(YStack, {
|
|
92
|
+
flex: 1,
|
|
93
|
+
alignItems: "center",
|
|
94
|
+
justifyContent: "center",
|
|
95
|
+
children: /* @__PURE__ */_jsx(Spinner, {
|
|
96
|
+
size: "large"
|
|
97
|
+
})
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
export { DeskSurface, DeskSurfaceLoading };
|
|
101
|
+
//# sourceMappingURL=DeskSurface.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","Spinner","YStack","useMemo","setCreatePrefill","DocFormScreen","DoctypeListScreen","QueryReportScreen","HomeRedirect","NotFoundScreen","DoctypeViewScreen","WorkspaceScreen","resolveOverride","overrides","target","entry","kind","doctype","NewDocSurface","param","defaults","readOnly","defaultsKey","JSON","stringify","Object","keys","length","name","DeskSurface","initialFilters","views","Override","workspace","filtersParam","sortParam","view","reportName","DeskSurfaceLoading","flex","alignItems","justifyContent","children","size"],"sources":["DeskSurface.native.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Spinner, YStack } from \"@multiplatform.one/components\";\nimport { useMemo } from \"react\";\nimport { setCreatePrefill } from \"../form/createPrefill\";\nimport { DocFormScreen } from \"../form/DocFormScreen\";\nimport { DoctypeListScreen } from \"../list/DoctypeListScreen\";\nimport { QueryReportScreen } from \"../report/QueryReportScreen\";\nimport { HomeRedirect } from \"../shell/HomeRedirect\";\nimport { NotFoundScreen } from \"../shell/NotFoundScreen\";\nimport { DoctypeViewScreen } from \"../views/DoctypeViewScreen\";\nimport { WorkspaceScreen } from \"../workspace/WorkspaceScreen\";\nfunction resolveOverride(overrides, target) {\n var entry = overrides === null || overrides === void 0 ? void 0 : overrides[target.kind];\n if (!entry) return void 0;\n if (typeof entry === \"function\") return entry;\n var doctype = \"doctype\" in target ? target.doctype : void 0;\n return doctype ? entry[doctype] : void 0;\n}\nfunction NewDocSurface(param) {\n var { doctype, defaults, readOnly } = param;\n var defaultsKey = JSON.stringify(defaults !== null && defaults !== void 0 ? defaults : null);\n useMemo(\n function() {\n if (defaults && Object.keys(defaults).length > 0) setCreatePrefill(doctype, defaults);\n },\n // oxlint-disable-next-line exhaustive-deps\n [\n doctype,\n defaultsKey\n ]\n );\n return /* @__PURE__ */ _jsx(DocFormScreen, {\n doctype,\n name: \"new\",\n readOnly\n }, defaultsKey);\n}\nfunction DeskSurface(param) {\n var { target, overrides, readOnly, initialFilters, views } = param;\n var Override = resolveOverride(overrides, target);\n if (Override) return /* @__PURE__ */ _jsx(Override, {\n target,\n readOnly\n });\n switch (target.kind) {\n case \"home\":\n return /* @__PURE__ */ _jsx(HomeRedirect, {});\n case \"workspace\":\n return /* @__PURE__ */ _jsx(WorkspaceScreen, {\n workspace: target.workspace\n });\n case \"list\":\n return /* @__PURE__ */ _jsx(DoctypeListScreen, {\n doctype: target.doctype,\n filtersParam: target.filtersParam,\n sortParam: target.sortParam,\n initialFilters,\n views\n });\n case \"view\":\n return /* @__PURE__ */ _jsx(DoctypeViewScreen, {\n doctype: target.doctype,\n view: target.view\n });\n case \"new\":\n return /* @__PURE__ */ _jsx(NewDocSurface, {\n doctype: target.doctype,\n defaults: target.defaults,\n readOnly\n });\n case \"form\":\n return /* @__PURE__ */ _jsx(DocFormScreen, {\n doctype: target.doctype,\n name: target.name,\n readOnly\n });\n case \"report\":\n return /* @__PURE__ */ _jsx(QueryReportScreen, {\n reportName: target.reportName\n });\n case \"not-found\":\n return /* @__PURE__ */ _jsx(NotFoundScreen, {});\n }\n}\nfunction DeskSurfaceLoading() {\n return /* @__PURE__ */ _jsx(YStack, {\n flex: 1,\n alignItems: \"center\",\n justifyContent: \"center\",\n children: /* @__PURE__ */ _jsx(Spinner, {\n size: \"large\"\n })\n });\n}\nexport {\n DeskSurface,\n DeskSurfaceLoading\n};\n//# sourceMappingURL=DeskSurface.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { BACKOFFICE_BASE, isBackofficeView, parseDocDefaults } from "../navigation/paths.mjs";
|
|
2
|
+
function first(value) {
|
|
3
|
+
return typeof value === "string" ? value : value?.[0];
|
|
4
|
+
}
|
|
5
|
+
function decode(segment) {
|
|
6
|
+
try {
|
|
7
|
+
return decodeURIComponent(segment);
|
|
8
|
+
} catch {
|
|
9
|
+
return segment;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
function resolveDeskPath(path, basePath = BACKOFFICE_BASE, params = {}) {
|
|
13
|
+
const base = basePath.replace(/\/+$/, "") || "/";
|
|
14
|
+
const clean = path.replace(/\/+$/, "") || "/";
|
|
15
|
+
let rest;
|
|
16
|
+
if (base === "/") rest = clean;else if (clean === base) rest = "/";else if (clean.startsWith(`${base}/`)) rest = clean.slice(base.length);else return {
|
|
17
|
+
kind: "not-found",
|
|
18
|
+
path
|
|
19
|
+
};
|
|
20
|
+
const segments = rest.split("/").filter(Boolean).map(decode);
|
|
21
|
+
if (segments.length === 0) return {
|
|
22
|
+
kind: "home"
|
|
23
|
+
};
|
|
24
|
+
if (segments[0] === "query-report") {
|
|
25
|
+
if (segments.length === 2 && segments[1]) {
|
|
26
|
+
return {
|
|
27
|
+
kind: "report",
|
|
28
|
+
reportName: segments[1],
|
|
29
|
+
filtersParam: first(params.filters)
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
return {
|
|
33
|
+
kind: "not-found",
|
|
34
|
+
path
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
const slug = segments[0];
|
|
38
|
+
if (segments.length === 1) {
|
|
39
|
+
return {
|
|
40
|
+
kind: "slug",
|
|
41
|
+
slug,
|
|
42
|
+
filtersParam: first(params.f),
|
|
43
|
+
sortParam: first(params.sort)
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
if (segments.length === 2 && segments[1] === "new") {
|
|
47
|
+
return {
|
|
48
|
+
kind: "slug-new",
|
|
49
|
+
slug,
|
|
50
|
+
defaults: parseDocDefaults(first(params.d))
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
if (segments.length === 3 && segments[1] === "view" && isBackofficeView(segments[2])) {
|
|
54
|
+
const view = segments[2];
|
|
55
|
+
if (view === "list") {
|
|
56
|
+
return {
|
|
57
|
+
kind: "slug",
|
|
58
|
+
slug,
|
|
59
|
+
filtersParam: first(params.f),
|
|
60
|
+
sortParam: first(params.sort)
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
const board = first(params.board);
|
|
64
|
+
const field = first(params.field);
|
|
65
|
+
const filtersParam = first(params.f);
|
|
66
|
+
const viewParams = board || field || filtersParam ? {
|
|
67
|
+
board,
|
|
68
|
+
field,
|
|
69
|
+
filtersParam
|
|
70
|
+
} : void 0;
|
|
71
|
+
return {
|
|
72
|
+
kind: "slug-view",
|
|
73
|
+
slug,
|
|
74
|
+
view,
|
|
75
|
+
...(viewParams && {
|
|
76
|
+
params: viewParams
|
|
77
|
+
})
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
if (segments.length === 2) {
|
|
81
|
+
return {
|
|
82
|
+
kind: "slug-name",
|
|
83
|
+
slug,
|
|
84
|
+
name: segments[1]
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
return {
|
|
88
|
+
kind: "not-found",
|
|
89
|
+
path
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
export { resolveDeskPath };
|
|
93
|
+
//# sourceMappingURL=resolveDeskPath.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["BACKOFFICE_BASE","isBackofficeView","parseDocDefaults","first","value","decode","segment","decodeURIComponent","resolveDeskPath","path","basePath","params","base","replace","clean","rest","startsWith","slice","length","kind","segments","split","filter","Boolean","map","reportName","filtersParam","filters","slug","f","sortParam","sort","defaults","d","view","board","field","viewParams","name"],"sources":["../../../src/desk/resolveDeskPath.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { BACKOFFICE_BASE, isBackofficeView, parseDocDefaults } from "../navigation/paths.native.js";
|
|
2
|
+
function first(value) {
|
|
3
|
+
return typeof value === "string" ? value : value === null || value === void 0 ? void 0 : value[0];
|
|
4
|
+
}
|
|
5
|
+
function decode(segment) {
|
|
6
|
+
try {
|
|
7
|
+
return decodeURIComponent(segment);
|
|
8
|
+
} catch (unused) {
|
|
9
|
+
return segment;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
function resolveDeskPath(path) {
|
|
13
|
+
var basePath = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : BACKOFFICE_BASE,
|
|
14
|
+
params = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
15
|
+
var base = basePath.replace(/\/+$/, "") || "/";
|
|
16
|
+
var clean = path.replace(/\/+$/, "") || "/";
|
|
17
|
+
var rest;
|
|
18
|
+
if (base === "/") rest = clean;else if (clean === base) rest = "/";else if (clean.startsWith(`${base}/`)) rest = clean.slice(base.length);else return {
|
|
19
|
+
kind: "not-found",
|
|
20
|
+
path
|
|
21
|
+
};
|
|
22
|
+
var segments = rest.split("/").filter(Boolean).map(decode);
|
|
23
|
+
if (segments.length === 0) return {
|
|
24
|
+
kind: "home"
|
|
25
|
+
};
|
|
26
|
+
if (segments[0] === "query-report") {
|
|
27
|
+
if (segments.length === 2 && segments[1]) {
|
|
28
|
+
return {
|
|
29
|
+
kind: "report",
|
|
30
|
+
reportName: segments[1],
|
|
31
|
+
filtersParam: first(params.filters)
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
return {
|
|
35
|
+
kind: "not-found",
|
|
36
|
+
path
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
var slug = segments[0];
|
|
40
|
+
if (segments.length === 1) {
|
|
41
|
+
return {
|
|
42
|
+
kind: "slug",
|
|
43
|
+
slug,
|
|
44
|
+
filtersParam: first(params.f),
|
|
45
|
+
sortParam: first(params.sort)
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
if (segments.length === 2 && segments[1] === "new") {
|
|
49
|
+
return {
|
|
50
|
+
kind: "slug-new",
|
|
51
|
+
slug,
|
|
52
|
+
defaults: parseDocDefaults(first(params.d))
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
if (segments.length === 3 && segments[1] === "view" && isBackofficeView(segments[2])) {
|
|
56
|
+
var view = segments[2];
|
|
57
|
+
if (view === "list") {
|
|
58
|
+
return {
|
|
59
|
+
kind: "slug",
|
|
60
|
+
slug,
|
|
61
|
+
filtersParam: first(params.f),
|
|
62
|
+
sortParam: first(params.sort)
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
var board = first(params.board);
|
|
66
|
+
var field = first(params.field);
|
|
67
|
+
var filtersParam = first(params.f);
|
|
68
|
+
var viewParams = board || field || filtersParam ? {
|
|
69
|
+
board,
|
|
70
|
+
field,
|
|
71
|
+
filtersParam
|
|
72
|
+
} : void 0;
|
|
73
|
+
return {
|
|
74
|
+
kind: "slug-view",
|
|
75
|
+
slug,
|
|
76
|
+
view,
|
|
77
|
+
...(viewParams && {
|
|
78
|
+
params: viewParams
|
|
79
|
+
})
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
if (segments.length === 2) {
|
|
83
|
+
return {
|
|
84
|
+
kind: "slug-name",
|
|
85
|
+
slug,
|
|
86
|
+
name: segments[1]
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
return {
|
|
90
|
+
kind: "not-found",
|
|
91
|
+
path
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
export { resolveDeskPath };
|
|
95
|
+
//# sourceMappingURL=resolveDeskPath.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["BACKOFFICE_BASE","isBackofficeView","parseDocDefaults","first","value","decode","segment","decodeURIComponent","unused","resolveDeskPath","path","basePath","arguments","length","params","base","replace","clean","rest","startsWith","slice","kind","segments","split","filter","Boolean","map","reportName","filtersParam","filters","slug","f","sortParam","sort","defaults","d","view","board","field","viewParams","name"],"sources":["resolveDeskPath.native.js"],"sourcesContent":["import { BACKOFFICE_BASE, isBackofficeView, parseDocDefaults } from \"../navigation/paths\";\nfunction first(value) {\n return typeof value === \"string\" ? value : value === null || value === void 0 ? void 0 : value[0];\n}\nfunction decode(segment) {\n try {\n return decodeURIComponent(segment);\n } catch (unused) {\n return segment;\n }\n}\nfunction resolveDeskPath(path) {\n var basePath = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : BACKOFFICE_BASE, params = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};\n var base = basePath.replace(/\\/+$/, \"\") || \"/\";\n var clean = path.replace(/\\/+$/, \"\") || \"/\";\n var rest;\n if (base === \"/\") rest = clean;\n else if (clean === base) rest = \"/\";\n else if (clean.startsWith(`${base}/`)) rest = clean.slice(base.length);\n else return {\n kind: \"not-found\",\n path\n };\n var segments = rest.split(\"/\").filter(Boolean).map(decode);\n if (segments.length === 0) return {\n kind: \"home\"\n };\n if (segments[0] === \"query-report\") {\n if (segments.length === 2 && segments[1]) {\n return {\n kind: \"report\",\n reportName: segments[1],\n filtersParam: first(params.filters)\n };\n }\n return {\n kind: \"not-found\",\n path\n };\n }\n var slug = segments[0];\n if (segments.length === 1) {\n return {\n kind: \"slug\",\n slug,\n filtersParam: first(params.f),\n sortParam: first(params.sort)\n };\n }\n if (segments.length === 2 && segments[1] === \"new\") {\n return {\n kind: \"slug-new\",\n slug,\n defaults: parseDocDefaults(first(params.d))\n };\n }\n if (segments.length === 3 && segments[1] === \"view\" && isBackofficeView(segments[2])) {\n var view = segments[2];\n if (view === \"list\") {\n return {\n kind: \"slug\",\n slug,\n filtersParam: first(params.f),\n sortParam: first(params.sort)\n };\n }\n var board = first(params.board);\n var field = first(params.field);\n var filtersParam = first(params.f);\n var viewParams = board || field || filtersParam ? {\n board,\n field,\n filtersParam\n } : void 0;\n return {\n kind: \"slug-view\",\n slug,\n view,\n ...viewParams && {\n params: viewParams\n }\n };\n }\n if (segments.length === 2) {\n return {\n kind: \"slug-name\",\n slug,\n name: segments[1]\n };\n }\n return {\n kind: \"not-found\",\n path\n };\n}\nexport {\n resolveDeskPath\n};\n//# sourceMappingURL=resolveDeskPath.js.map\n"],"mappings":"AAAA,SAASA,eAAe,EAAEC,gBAAgB,EAAEC,gBAAgB,QAAQ,+BAAqB;AACzF,SAASC,KAAKA,CAACC,KAAK,EAAE;EACpB,OAAO,OAAOA,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAGA,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,KAAK,CAAC,CAAC,CAAC;AACnG;AACA,SAASC,MAAMA,CAACC,OAAO,EAAE;EACvB,IAAI;IACF,OAAOC,kBAAkB,CAACD,OAAO,CAAC;EACpC,CAAC,CAAC,OAAOE,MAAM,EAAE;IACf,OAAOF,OAAO;EAChB;AACF;AACA,SAASG,eAAeA,CAACC,IAAI,EAAE;EAC7B,IAAIC,QAAQ,GAAGC,SAAS,CAACC,MAAM,GAAG,CAAC,IAAID,SAAS,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,GAAGA,SAAS,CAAC,CAAC,CAAC,GAAGZ,eAAe;IAAEc,MAAM,GAAGF,SAAS,CAACC,MAAM,GAAG,CAAC,IAAID,SAAS,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,GAAGA,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;EAC7K,IAAIG,IAAI,GAAGJ,QAAQ,CAACK,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,GAAG;EAC9C,IAAIC,KAAK,GAAGP,IAAI,CAACM,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,GAAG;EAC3C,IAAIE,IAAI;EACR,IAAIH,IAAI,KAAK,GAAG,EAAEG,IAAI,GAAGD,KAAK,CAAC,KAC1B,IAAIA,KAAK,KAAKF,IAAI,EAAEG,IAAI,GAAG,GAAG,CAAC,KAC/B,IAAID,KAAK,CAACE,UAAU,CAAC,GAAGJ,IAAI,GAAG,CAAC,EAAEG,IAAI,GAAGD,KAAK,CAACG,KAAK,CAACL,IAAI,CAACF,MAAM,CAAC,CAAC,KAClE,OAAO;IACVQ,IAAI,EAAE,WAAW;IACjBX;EACF,CAAC;EACD,IAAIY,QAAQ,GAAGJ,IAAI,CAACK,KAAK,CAAC,GAAG,CAAC,CAACC,MAAM,CAACC,OAAO,CAAC,CAACC,GAAG,CAACrB,MAAM,CAAC;EAC1D,IAAIiB,QAAQ,CAACT,MAAM,KAAK,CAAC,EAAE,OAAO;IAChCQ,IAAI,EAAE;EACR,CAAC;EACD,IAAIC,QAAQ,CAAC,CAAC,CAAC,KAAK,cAAc,EAAE;IAClC,IAAIA,QAAQ,CAACT,MAAM,KAAK,CAAC,IAAIS,QAAQ,CAAC,CAAC,CAAC,EAAE;MACxC,OAAO;QACLD,IAAI,EAAE,QAAQ;QACdM,UAAU,EAAEL,QAAQ,CAAC,CAAC,CAAC;QACvBM,YAAY,EAAEzB,KAAK,CAACW,MAAM,CAACe,OAAO;MACpC,CAAC;IACH;IACA,OAAO;MACLR,IAAI,EAAE,WAAW;MACjBX;IACF,CAAC;EACH;EACA,IAAIoB,IAAI,GAAGR,QAAQ,CAAC,CAAC,CAAC;EACtB,IAAIA,QAAQ,CAACT,MAAM,KAAK,CAAC,EAAE;IACzB,OAAO;MACLQ,IAAI,EAAE,MAAM;MACZS,IAAI;MACJF,YAAY,EAAEzB,KAAK,CAACW,MAAM,CAACiB,CAAC,CAAC;MAC7BC,SAAS,EAAE7B,KAAK,CAACW,MAAM,CAACmB,IAAI;IAC9B,CAAC;EACH;EACA,IAAIX,QAAQ,CAACT,MAAM,KAAK,CAAC,IAAIS,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE;IAClD,OAAO;MACLD,IAAI,EAAE,UAAU;MAChBS,IAAI;MACJI,QAAQ,EAAEhC,gBAAgB,CAACC,KAAK,CAACW,MAAM,CAACqB,CAAC,CAAC;IAC5C,CAAC;EACH;EACA,IAAIb,QAAQ,CAACT,MAAM,KAAK,CAAC,IAAIS,QAAQ,CAAC,CAAC,CAAC,KAAK,MAAM,IAAIrB,gBAAgB,CAACqB,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;IACpF,IAAIc,IAAI,GAAGd,QAAQ,CAAC,CAAC,CAAC;IACtB,IAAIc,IAAI,KAAK,MAAM,EAAE;MACnB,OAAO;QACLf,IAAI,EAAE,MAAM;QACZS,IAAI;QACJF,YAAY,EAAEzB,KAAK,CAACW,MAAM,CAACiB,CAAC,CAAC;QAC7BC,SAAS,EAAE7B,KAAK,CAACW,MAAM,CAACmB,IAAI;MAC9B,CAAC;IACH;IACA,IAAII,KAAK,GAAGlC,KAAK,CAACW,MAAM,CAACuB,KAAK,CAAC;IAC/B,IAAIC,KAAK,GAAGnC,KAAK,CAACW,MAAM,CAACwB,KAAK,CAAC;IAC/B,IAAIV,YAAY,GAAGzB,KAAK,CAACW,MAAM,CAACiB,CAAC,CAAC;IAClC,IAAIQ,UAAU,GAAGF,KAAK,IAAIC,KAAK,IAAIV,YAAY,GAAG;MAChDS,KAAK;MACLC,KAAK;MACLV;IACF,CAAC,GAAG,KAAK,CAAC;IACV,OAAO;MACLP,IAAI,EAAE,WAAW;MACjBS,IAAI;MACJM,IAAI;MACJ,IAAGG,UAAU,IAAI;QACfzB,MAAM,EAAEyB;MACV,CAAC;IACH,CAAC;EACH;EACA,IAAIjB,QAAQ,CAACT,MAAM,KAAK,CAAC,EAAE;IACzB,OAAO;MACLQ,IAAI,EAAE,WAAW;MACjBS,IAAI;MACJU,IAAI,EAAElB,QAAQ,CAAC,CAAC;IAClB,CAAC;EACH;EACA,OAAO;IACLD,IAAI,EAAE,WAAW;IACjBX;EACF,CAAC;AACH;AACA,SACED,eAAe","ignoreList":[]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { createContext, useContext, useMemo } from "react";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
const EMPTY_SCOPE = [];
|
|
4
|
+
const DeskScopeContext = createContext(EMPTY_SCOPE);
|
|
5
|
+
function DeskScopeProvider({
|
|
6
|
+
scope,
|
|
7
|
+
children
|
|
8
|
+
}) {
|
|
9
|
+
const scopeKey = JSON.stringify(scope ?? EMPTY_SCOPE);
|
|
10
|
+
const value = useMemo(() => JSON.parse(scopeKey) ?? EMPTY_SCOPE, [scopeKey]);
|
|
11
|
+
return /* @__PURE__ */jsx(DeskScopeContext.Provider, {
|
|
12
|
+
value,
|
|
13
|
+
children
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
function useDeskScope() {
|
|
17
|
+
return useContext(DeskScopeContext);
|
|
18
|
+
}
|
|
19
|
+
function useScopedFilters(filters) {
|
|
20
|
+
const scope = useDeskScope();
|
|
21
|
+
return useMemo(() => {
|
|
22
|
+
if (scope.length === 0 && (!filters || filters.length === 0)) return void 0;
|
|
23
|
+
return [...scope, ...(filters ?? [])];
|
|
24
|
+
}, [scope, filters]);
|
|
25
|
+
}
|
|
26
|
+
export { DeskScopeProvider, useDeskScope, useScopedFilters };
|
|
27
|
+
//# sourceMappingURL=scope.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createContext","useContext","useMemo","jsx","EMPTY_SCOPE","DeskScopeContext","DeskScopeProvider","scope","children","scopeKey","JSON","stringify","value","parse","Provider","useDeskScope","useScopedFilters","filters","length"],"sources":["../../../src/desk/scope.tsx"],"sourcesContent":[null],"mappings":"AAgBA,SAASA,aAAA,EAAeC,UAAA,EAAYC,OAAA,QAAe;AAiB1C,SAAAC,GAAA;AAdT,MAAMC,WAAA,GAA6B,EAAC;AAEpC,MAAMC,gBAAA,GAAmBL,aAAA,CAA6BI,WAAW;AAQ1D,SAASE,kBAAkB;EAAEC,KAAA;EAAOC;AAAS,GAA2B;EAE7E,MAAMC,QAAA,GAAWC,IAAA,CAAKC,SAAA,CAAUJ,KAAA,IAASH,WAAW;EACpD,MAAMQ,KAAA,GAAQV,OAAA,CAAQ,MAAOQ,IAAA,CAAKG,KAAA,CAAMJ,QAAQ,KAAuBL,WAAA,EAAa,CAACK,QAAQ,CAAC;EAC9F,OAAO,eAAAN,GAAA,CAACE,gBAAA,CAAiBS,QAAA,EAAjB;IAA0BF,KAAA;IAAeJ;EAAA,CAAS;AAC5D;AAGO,SAASO,aAAA,EAA8B;EAC5C,OAAOd,UAAA,CAAWI,gBAAgB;AACpC;AAMO,SAASW,iBAAiBC,OAAA,EAAoD;EACnF,MAAMV,KAAA,GAAQQ,YAAA,CAAa;EAC3B,OAAOb,OAAA,CAAQ,MAAM;IACnB,IAAIK,KAAA,CAAMW,MAAA,KAAW,MAAM,CAACD,OAAA,IAAWA,OAAA,CAAQC,MAAA,KAAW,IAAI,OAAO;IACrE,OAAO,CAAC,GAAGX,KAAA,EAAO,IAAIU,OAAA,IAAW,EAAG;EACtC,GAAG,CAACV,KAAA,EAAOU,OAAO,CAAC;AACrB","ignoreList":[]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { createContext, useContext, useMemo } from "react";
|
|
3
|
+
var EMPTY_SCOPE = [];
|
|
4
|
+
var DeskScopeContext = /* @__PURE__ */createContext(EMPTY_SCOPE);
|
|
5
|
+
function DeskScopeProvider(param) {
|
|
6
|
+
var {
|
|
7
|
+
scope,
|
|
8
|
+
children
|
|
9
|
+
} = param;
|
|
10
|
+
var scopeKey = JSON.stringify(scope !== null && scope !== void 0 ? scope : EMPTY_SCOPE);
|
|
11
|
+
var value = useMemo(function () {
|
|
12
|
+
var _JSON_parse;
|
|
13
|
+
return (_JSON_parse = JSON.parse(scopeKey)) !== null && _JSON_parse !== void 0 ? _JSON_parse : EMPTY_SCOPE;
|
|
14
|
+
}, [scopeKey]);
|
|
15
|
+
return /* @__PURE__ */_jsx(DeskScopeContext.Provider, {
|
|
16
|
+
value,
|
|
17
|
+
children
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
function useDeskScope() {
|
|
21
|
+
return useContext(DeskScopeContext);
|
|
22
|
+
}
|
|
23
|
+
function useScopedFilters(filters) {
|
|
24
|
+
var scope = useDeskScope();
|
|
25
|
+
return useMemo(function () {
|
|
26
|
+
if (scope.length === 0 && (!filters || filters.length === 0)) return void 0;
|
|
27
|
+
return [...scope, ...(filters !== null && filters !== void 0 ? filters : [])];
|
|
28
|
+
}, [scope, filters]);
|
|
29
|
+
}
|
|
30
|
+
export { DeskScopeProvider, useDeskScope, useScopedFilters };
|
|
31
|
+
//# sourceMappingURL=scope.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","createContext","useContext","useMemo","EMPTY_SCOPE","DeskScopeContext","DeskScopeProvider","param","scope","children","scopeKey","JSON","stringify","value","_JSON_parse","parse","Provider","useDeskScope","useScopedFilters","filters","length"],"sources":["scope.native.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { createContext, useContext, useMemo } from \"react\";\nvar EMPTY_SCOPE = [];\nvar DeskScopeContext = /* @__PURE__ */ createContext(EMPTY_SCOPE);\nfunction DeskScopeProvider(param) {\n var { scope, children } = param;\n var scopeKey = JSON.stringify(scope !== null && scope !== void 0 ? scope : EMPTY_SCOPE);\n var value = useMemo(function() {\n var _JSON_parse;\n return (_JSON_parse = JSON.parse(scopeKey)) !== null && _JSON_parse !== void 0 ? _JSON_parse : EMPTY_SCOPE;\n }, [\n scopeKey\n ]);\n return /* @__PURE__ */ _jsx(DeskScopeContext.Provider, {\n value,\n children\n });\n}\nfunction useDeskScope() {\n return useContext(DeskScopeContext);\n}\nfunction useScopedFilters(filters) {\n var scope = useDeskScope();\n return useMemo(function() {\n if (scope.length === 0 && (!filters || filters.length === 0)) return void 0;\n return [\n ...scope,\n ...filters !== null && filters !== void 0 ? filters : []\n ];\n }, [\n scope,\n filters\n ]);\n}\nexport {\n DeskScopeProvider,\n useDeskScope,\n useScopedFilters\n};\n//# sourceMappingURL=scope.js.map\n"],"mappings":"AAAA,SAASA,GAAG,IAAIC,IAAI,QAAQ,mBAAmB;AAC/C,SAASC,aAAa,EAAEC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAC1D,IAAIC,WAAW,GAAG,EAAE;AACpB,IAAIC,gBAAgB,GAAG,eAAgBJ,aAAa,CAACG,WAAW,CAAC;AACjE,SAASE,iBAAiBA,CAACC,KAAK,EAAE;EAChC,IAAI;IAAEC,KAAK;IAAEC;EAAS,CAAC,GAAGF,KAAK;EAC/B,IAAIG,QAAQ,GAAGC,IAAI,CAACC,SAAS,CAACJ,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAK,KAAK,CAAC,GAAGA,KAAK,GAAGJ,WAAW,CAAC;EACvF,IAAIS,KAAK,GAAGV,OAAO,CAAC,YAAW;IAC7B,IAAIW,WAAW;IACf,OAAO,CAACA,WAAW,GAAGH,IAAI,CAACI,KAAK,CAACL,QAAQ,CAAC,MAAM,IAAI,IAAII,WAAW,KAAK,KAAK,CAAC,GAAGA,WAAW,GAAGV,WAAW;EAC5G,CAAC,EAAE,CACDM,QAAQ,CACT,CAAC;EACF,OAAO,eAAgBV,IAAI,CAACK,gBAAgB,CAACW,QAAQ,EAAE;IACrDH,KAAK;IACLJ;EACF,CAAC,CAAC;AACJ;AACA,SAASQ,YAAYA,CAAA,EAAG;EACtB,OAAOf,UAAU,CAACG,gBAAgB,CAAC;AACrC;AACA,SAASa,gBAAgBA,CAACC,OAAO,EAAE;EACjC,IAAIX,KAAK,GAAGS,YAAY,CAAC,CAAC;EAC1B,OAAOd,OAAO,CAAC,YAAW;IACxB,IAAIK,KAAK,CAACY,MAAM,KAAK,CAAC,KAAK,CAACD,OAAO,IAAIA,OAAO,CAACC,MAAM,KAAK,CAAC,CAAC,EAAE,OAAO,KAAK,CAAC;IAC3E,OAAO,CACL,GAAGZ,KAAK,EACR,IAAGW,OAAO,KAAK,IAAI,IAAIA,OAAO,KAAK,KAAK,CAAC,GAAGA,OAAO,GAAG,EAAE,EACzD;EACH,CAAC,EAAE,CACDX,KAAK,EACLW,OAAO,CACR,CAAC;AACJ;AACA,SACEb,iBAAiB,EACjBW,YAAY,EACZC,gBAAgB","ignoreList":[]}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { useMemo, useRef } from "react";
|
|
2
|
+
import { useBackofficeConfig, useBackofficeLocation } from "../config/BackofficeProvider.mjs";
|
|
3
|
+
import { parseBackofficeHref } from "../navigation/navigator.mjs";
|
|
4
|
+
import { slugToDisplayName } from "../navigation/paths.mjs";
|
|
5
|
+
import { useSlugTarget } from "../shared/useSlugTarget.mjs";
|
|
6
|
+
import { resolveDeskPath } from "./resolveDeskPath.mjs";
|
|
7
|
+
function hasDeskPin(pins) {
|
|
8
|
+
return Boolean(pins.doctype || pins.workspace || pins.report || pins.path);
|
|
9
|
+
}
|
|
10
|
+
function pinnedTarget(pins) {
|
|
11
|
+
if (pins.doctype) {
|
|
12
|
+
if (pins.name === "new") return {
|
|
13
|
+
kind: "new",
|
|
14
|
+
doctype: pins.doctype
|
|
15
|
+
};
|
|
16
|
+
if (pins.name) return {
|
|
17
|
+
kind: "form",
|
|
18
|
+
doctype: pins.doctype,
|
|
19
|
+
name: pins.name
|
|
20
|
+
};
|
|
21
|
+
if (pins.view && pins.view !== "list") {
|
|
22
|
+
return {
|
|
23
|
+
kind: "view",
|
|
24
|
+
doctype: pins.doctype,
|
|
25
|
+
view: pins.view
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
kind: "list",
|
|
30
|
+
doctype: pins.doctype
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
if (pins.workspace) return {
|
|
34
|
+
kind: "workspace",
|
|
35
|
+
workspace: pins.workspace
|
|
36
|
+
};
|
|
37
|
+
if (pins.report) return {
|
|
38
|
+
kind: "report",
|
|
39
|
+
reportName: pins.report
|
|
40
|
+
};
|
|
41
|
+
return void 0;
|
|
42
|
+
}
|
|
43
|
+
function addressToTarget(address, slugKind, slugName) {
|
|
44
|
+
switch (address.kind) {
|
|
45
|
+
case "home":
|
|
46
|
+
return {
|
|
47
|
+
kind: "home"
|
|
48
|
+
};
|
|
49
|
+
case "report":
|
|
50
|
+
return {
|
|
51
|
+
kind: "report",
|
|
52
|
+
reportName: address.reportName,
|
|
53
|
+
filtersParam: address.filtersParam
|
|
54
|
+
};
|
|
55
|
+
case "not-found":
|
|
56
|
+
return {
|
|
57
|
+
kind: "not-found"
|
|
58
|
+
};
|
|
59
|
+
default:
|
|
60
|
+
break;
|
|
61
|
+
}
|
|
62
|
+
if (slugKind === "loading") return void 0;
|
|
63
|
+
if (slugKind === "not-found" || !slugName) return {
|
|
64
|
+
kind: "not-found",
|
|
65
|
+
slug: address.slug
|
|
66
|
+
};
|
|
67
|
+
if (slugKind === "workspace") {
|
|
68
|
+
return address.kind === "slug" ? {
|
|
69
|
+
kind: "workspace",
|
|
70
|
+
workspace: slugName
|
|
71
|
+
} : {
|
|
72
|
+
kind: "not-found",
|
|
73
|
+
slug: address.slug
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
switch (address.kind) {
|
|
77
|
+
case "slug":
|
|
78
|
+
return {
|
|
79
|
+
kind: "list",
|
|
80
|
+
doctype: slugName,
|
|
81
|
+
filtersParam: address.filtersParam,
|
|
82
|
+
sortParam: address.sortParam
|
|
83
|
+
};
|
|
84
|
+
case "slug-view":
|
|
85
|
+
return {
|
|
86
|
+
kind: "view",
|
|
87
|
+
doctype: slugName,
|
|
88
|
+
view: address.view,
|
|
89
|
+
params: address.params
|
|
90
|
+
};
|
|
91
|
+
case "slug-new":
|
|
92
|
+
return {
|
|
93
|
+
kind: "new",
|
|
94
|
+
doctype: slugName,
|
|
95
|
+
defaults: address.defaults
|
|
96
|
+
};
|
|
97
|
+
case "slug-name":
|
|
98
|
+
return {
|
|
99
|
+
kind: "form",
|
|
100
|
+
doctype: slugName,
|
|
101
|
+
name: address.name
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
function guessDeskTarget(path, basePath) {
|
|
106
|
+
const {
|
|
107
|
+
path: cleanPath,
|
|
108
|
+
params
|
|
109
|
+
} = parseBackofficeHref(path);
|
|
110
|
+
const address = resolveDeskPath(cleanPath, basePath, params);
|
|
111
|
+
const guess = "slug" in address ? slugToDisplayName(address.slug) : void 0;
|
|
112
|
+
return addressToTarget(address, guess ? "doctype" : "not-found", guess) ?? {
|
|
113
|
+
kind: "not-found"
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
function useDeskTarget(pins) {
|
|
117
|
+
const {
|
|
118
|
+
basePath
|
|
119
|
+
} = useBackofficeConfig();
|
|
120
|
+
const location = useBackofficeLocation();
|
|
121
|
+
const initialLocation = useRef(location);
|
|
122
|
+
const entryActive = location === initialLocation.current;
|
|
123
|
+
const address = useMemo(() => {
|
|
124
|
+
if (entryActive && pins.path) {
|
|
125
|
+
const prefix = basePath === "/" ? "" : basePath.replace(/\/+$/, "");
|
|
126
|
+
const {
|
|
127
|
+
path,
|
|
128
|
+
params
|
|
129
|
+
} = parseBackofficeHref(`${prefix}${pins.path}`);
|
|
130
|
+
return resolveDeskPath(path, basePath, params);
|
|
131
|
+
}
|
|
132
|
+
if (entryActive && hasDeskPin(pins)) return void 0;
|
|
133
|
+
return resolveDeskPath(location.path, basePath, location.params);
|
|
134
|
+
}, [entryActive, pins, basePath, location]);
|
|
135
|
+
const pinned = entryActive && !pins.path ? pinnedTarget(pins) : void 0;
|
|
136
|
+
const slug = !pinned && address && "slug" in address ? address.slug : void 0;
|
|
137
|
+
const slugTarget = useSlugTarget(slug);
|
|
138
|
+
return useMemo(() => {
|
|
139
|
+
if (pinned) return pinned;
|
|
140
|
+
if (!address) return void 0;
|
|
141
|
+
const slugKind = slugTarget.status === "loading" ? "loading" : slugTarget.status === "not-found" ? "not-found" : slugTarget.kind;
|
|
142
|
+
const slugName = slugTarget.status === "resolved" ? slugTarget.kind === "workspace" ? slugTarget.workspace : slugTarget.doctype : void 0;
|
|
143
|
+
return addressToTarget(address, slugKind, slugName);
|
|
144
|
+
}, [pinned, address, slugTarget]);
|
|
145
|
+
}
|
|
146
|
+
export { guessDeskTarget, hasDeskPin, useDeskTarget };
|
|
147
|
+
//# sourceMappingURL=target.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useMemo","useRef","useBackofficeConfig","useBackofficeLocation","parseBackofficeHref","slugToDisplayName","useSlugTarget","resolveDeskPath","hasDeskPin","pins","Boolean","doctype","workspace","report","path","pinnedTarget","name","kind","view","reportName","addressToTarget","address","slugKind","slugName","filtersParam","slug","sortParam","params","defaults","guessDeskTarget","basePath","cleanPath","guess","useDeskTarget","location","initialLocation","entryActive","current","prefix","replace","pinned","slugTarget","status"],"sources":["../../../src/desk/target.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|