@multiplatform.one/backoffice 7.2.2 → 7.4.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.
Files changed (195) hide show
  1. package/dist/cjs/config/BackofficeProvider.cjs +4 -10
  2. package/dist/cjs/config/BackofficeProvider.native.js +9 -29
  3. package/dist/cjs/config/BackofficeProvider.native.js.map +1 -1
  4. package/dist/cjs/desk/Desk.cjs +187 -0
  5. package/dist/cjs/desk/Desk.native.js +214 -0
  6. package/dist/cjs/desk/Desk.native.js.map +1 -0
  7. package/dist/cjs/desk/DeskSurface.cjs +123 -0
  8. package/dist/cjs/desk/DeskSurface.native.js +130 -0
  9. package/dist/cjs/desk/DeskSurface.native.js.map +1 -0
  10. package/dist/cjs/desk/resolveDeskPath.cjs +118 -0
  11. package/dist/cjs/desk/resolveDeskPath.native.js +123 -0
  12. package/dist/cjs/desk/resolveDeskPath.native.js.map +1 -0
  13. package/dist/cjs/desk/scope.cjs +54 -0
  14. package/dist/cjs/desk/scope.native.js +61 -0
  15. package/dist/cjs/desk/scope.native.js.map +1 -0
  16. package/dist/cjs/desk/target.cjs +174 -0
  17. package/dist/cjs/desk/target.native.js +178 -0
  18. package/dist/cjs/desk/target.native.js.map +1 -0
  19. package/dist/cjs/index.cjs +13 -0
  20. package/dist/cjs/index.native.js +13 -0
  21. package/dist/cjs/index.native.js.map +1 -1
  22. package/dist/cjs/list/DoctypeListScreen.cjs +3 -1
  23. package/dist/cjs/list/DoctypeListScreen.native.js +3 -1
  24. package/dist/cjs/list/DoctypeListScreen.native.js.map +1 -1
  25. package/dist/cjs/report/DoctypeReportView.cjs +3 -1
  26. package/dist/cjs/report/DoctypeReportView.native.js +4 -2
  27. package/dist/cjs/report/DoctypeReportView.native.js.map +1 -1
  28. package/dist/cjs/views/CalendarView.cjs +5 -0
  29. package/dist/cjs/views/CalendarView.native.js +5 -0
  30. package/dist/cjs/views/CalendarView.native.js.map +1 -1
  31. package/dist/cjs/views/DashboardView.cjs +5 -3
  32. package/dist/cjs/views/DashboardView.native.js +5 -3
  33. package/dist/cjs/views/DashboardView.native.js.map +1 -1
  34. package/dist/cjs/views/ImageView.cjs +5 -0
  35. package/dist/cjs/views/ImageView.native.js +5 -0
  36. package/dist/cjs/views/ImageView.native.js.map +1 -1
  37. package/dist/cjs/views/KanbanView.cjs +5 -2
  38. package/dist/cjs/views/KanbanView.native.js +5 -2
  39. package/dist/cjs/views/KanbanView.native.js.map +1 -1
  40. package/dist/cjs/views/TreeView.cjs +5 -0
  41. package/dist/cjs/views/TreeView.native.js +5 -0
  42. package/dist/cjs/views/TreeView.native.js.map +1 -1
  43. package/dist/esm/config/BackofficeProvider.mjs +5 -11
  44. package/dist/esm/config/BackofficeProvider.mjs.map +1 -1
  45. package/dist/esm/config/BackofficeProvider.native.js +10 -30
  46. package/dist/esm/config/BackofficeProvider.native.js.map +1 -1
  47. package/dist/esm/desk/Desk.mjs +162 -0
  48. package/dist/esm/desk/Desk.mjs.map +1 -0
  49. package/dist/esm/desk/Desk.native.js +186 -0
  50. package/dist/esm/desk/Desk.native.js.map +1 -0
  51. package/dist/esm/desk/DeskSurface.mjs +97 -0
  52. package/dist/esm/desk/DeskSurface.mjs.map +1 -0
  53. package/dist/esm/desk/DeskSurface.native.js +101 -0
  54. package/dist/esm/desk/DeskSurface.native.js.map +1 -0
  55. package/dist/esm/desk/resolveDeskPath.mjs +93 -0
  56. package/dist/esm/desk/resolveDeskPath.mjs.map +1 -0
  57. package/dist/esm/desk/resolveDeskPath.native.js +95 -0
  58. package/dist/esm/desk/resolveDeskPath.native.js.map +1 -0
  59. package/dist/esm/desk/scope.mjs +27 -0
  60. package/dist/esm/desk/scope.mjs.map +1 -0
  61. package/dist/esm/desk/scope.native.js +31 -0
  62. package/dist/esm/desk/scope.native.js.map +1 -0
  63. package/dist/esm/desk/target.mjs +147 -0
  64. package/dist/esm/desk/target.mjs.map +1 -0
  65. package/dist/esm/desk/target.native.js +148 -0
  66. package/dist/esm/desk/target.native.js.map +1 -0
  67. package/dist/esm/index.mjs +6 -1
  68. package/dist/esm/index.mjs.map +1 -1
  69. package/dist/esm/index.native.js +6 -1
  70. package/dist/esm/index.native.js.map +1 -1
  71. package/dist/esm/list/DoctypeListScreen.mjs +3 -1
  72. package/dist/esm/list/DoctypeListScreen.mjs.map +1 -1
  73. package/dist/esm/list/DoctypeListScreen.native.js +3 -1
  74. package/dist/esm/list/DoctypeListScreen.native.js.map +1 -1
  75. package/dist/esm/report/DoctypeReportView.mjs +3 -1
  76. package/dist/esm/report/DoctypeReportView.mjs.map +1 -1
  77. package/dist/esm/report/DoctypeReportView.native.js +4 -2
  78. package/dist/esm/report/DoctypeReportView.native.js.map +1 -1
  79. package/dist/esm/views/CalendarView.mjs +5 -0
  80. package/dist/esm/views/CalendarView.mjs.map +1 -1
  81. package/dist/esm/views/CalendarView.native.js +5 -0
  82. package/dist/esm/views/CalendarView.native.js.map +1 -1
  83. package/dist/esm/views/DashboardView.mjs +5 -3
  84. package/dist/esm/views/DashboardView.mjs.map +1 -1
  85. package/dist/esm/views/DashboardView.native.js +5 -3
  86. package/dist/esm/views/DashboardView.native.js.map +1 -1
  87. package/dist/esm/views/ImageView.mjs +5 -0
  88. package/dist/esm/views/ImageView.mjs.map +1 -1
  89. package/dist/esm/views/ImageView.native.js +5 -0
  90. package/dist/esm/views/ImageView.native.js.map +1 -1
  91. package/dist/esm/views/KanbanView.mjs +5 -2
  92. package/dist/esm/views/KanbanView.mjs.map +1 -1
  93. package/dist/esm/views/KanbanView.native.js +5 -2
  94. package/dist/esm/views/KanbanView.native.js.map +1 -1
  95. package/dist/esm/views/TreeView.mjs +5 -0
  96. package/dist/esm/views/TreeView.mjs.map +1 -1
  97. package/dist/esm/views/TreeView.native.js +5 -0
  98. package/dist/esm/views/TreeView.native.js.map +1 -1
  99. package/dist/jsx/config/BackofficeProvider.mjs +5 -11
  100. package/dist/jsx/config/BackofficeProvider.mjs.map +1 -1
  101. package/dist/jsx/config/BackofficeProvider.native.js +9 -29
  102. package/dist/jsx/config/BackofficeProvider.native.js.map +1 -1
  103. package/dist/jsx/desk/Desk.mjs +162 -0
  104. package/dist/jsx/desk/Desk.mjs.map +1 -0
  105. package/dist/jsx/desk/Desk.native.js +214 -0
  106. package/dist/jsx/desk/Desk.native.js.map +1 -0
  107. package/dist/jsx/desk/DeskSurface.mjs +97 -0
  108. package/dist/jsx/desk/DeskSurface.mjs.map +1 -0
  109. package/dist/jsx/desk/DeskSurface.native.js +130 -0
  110. package/dist/jsx/desk/DeskSurface.native.js.map +1 -0
  111. package/dist/jsx/desk/resolveDeskPath.mjs +93 -0
  112. package/dist/jsx/desk/resolveDeskPath.mjs.map +1 -0
  113. package/dist/jsx/desk/resolveDeskPath.native.js +123 -0
  114. package/dist/jsx/desk/resolveDeskPath.native.js.map +1 -0
  115. package/dist/jsx/desk/scope.mjs +27 -0
  116. package/dist/jsx/desk/scope.mjs.map +1 -0
  117. package/dist/jsx/desk/scope.native.js +61 -0
  118. package/dist/jsx/desk/scope.native.js.map +1 -0
  119. package/dist/jsx/desk/target.mjs +147 -0
  120. package/dist/jsx/desk/target.mjs.map +1 -0
  121. package/dist/jsx/desk/target.native.js +178 -0
  122. package/dist/jsx/desk/target.native.js.map +1 -0
  123. package/dist/jsx/index.js +6 -1
  124. package/dist/jsx/index.js.map +1 -1
  125. package/dist/jsx/index.mjs +6 -1
  126. package/dist/jsx/index.mjs.map +1 -1
  127. package/dist/jsx/index.native.js +13 -0
  128. package/dist/jsx/index.native.js.map +1 -1
  129. package/dist/jsx/list/DoctypeListScreen.mjs +3 -1
  130. package/dist/jsx/list/DoctypeListScreen.mjs.map +1 -1
  131. package/dist/jsx/list/DoctypeListScreen.native.js +3 -1
  132. package/dist/jsx/list/DoctypeListScreen.native.js.map +1 -1
  133. package/dist/jsx/report/DoctypeReportView.mjs +3 -1
  134. package/dist/jsx/report/DoctypeReportView.mjs.map +1 -1
  135. package/dist/jsx/report/DoctypeReportView.native.js +4 -2
  136. package/dist/jsx/report/DoctypeReportView.native.js.map +1 -1
  137. package/dist/jsx/views/CalendarView.mjs +5 -0
  138. package/dist/jsx/views/CalendarView.mjs.map +1 -1
  139. package/dist/jsx/views/CalendarView.native.js +5 -0
  140. package/dist/jsx/views/CalendarView.native.js.map +1 -1
  141. package/dist/jsx/views/DashboardView.mjs +5 -3
  142. package/dist/jsx/views/DashboardView.mjs.map +1 -1
  143. package/dist/jsx/views/DashboardView.native.js +5 -3
  144. package/dist/jsx/views/DashboardView.native.js.map +1 -1
  145. package/dist/jsx/views/ImageView.mjs +5 -0
  146. package/dist/jsx/views/ImageView.mjs.map +1 -1
  147. package/dist/jsx/views/ImageView.native.js +5 -0
  148. package/dist/jsx/views/ImageView.native.js.map +1 -1
  149. package/dist/jsx/views/KanbanView.mjs +5 -2
  150. package/dist/jsx/views/KanbanView.mjs.map +1 -1
  151. package/dist/jsx/views/KanbanView.native.js +5 -2
  152. package/dist/jsx/views/KanbanView.native.js.map +1 -1
  153. package/dist/jsx/views/TreeView.mjs +5 -0
  154. package/dist/jsx/views/TreeView.mjs.map +1 -1
  155. package/dist/jsx/views/TreeView.native.js +5 -0
  156. package/dist/jsx/views/TreeView.native.js.map +1 -1
  157. package/package.json +12 -12
  158. package/src/config/BackofficeProvider.tsx +11 -18
  159. package/src/desk/Desk.spec.tsx +287 -0
  160. package/src/desk/Desk.tsx +308 -0
  161. package/src/desk/DeskSurface.tsx +132 -0
  162. package/src/desk/doctrine.spec.ts +48 -0
  163. package/src/desk/resolveDeskPath.spec.ts +174 -0
  164. package/src/desk/resolveDeskPath.ts +111 -0
  165. package/src/desk/scope.tsx +52 -0
  166. package/src/desk/target.ts +169 -0
  167. package/src/index.ts +17 -0
  168. package/src/list/DoctypeListScreen.tsx +4 -1
  169. package/src/report/DoctypeReportView.tsx +6 -2
  170. package/src/views/CalendarView.tsx +3 -0
  171. package/src/views/DashboardView.tsx +5 -3
  172. package/src/views/ImageView.tsx +3 -0
  173. package/src/views/KanbanView.tsx +5 -1
  174. package/src/views/TreeView.tsx +3 -0
  175. package/types/config/BackofficeProvider.d.ts +6 -4
  176. package/types/config/BackofficeProvider.d.ts.map +1 -1
  177. package/types/desk/Desk.d.ts +91 -0
  178. package/types/desk/Desk.d.ts.map +1 -0
  179. package/types/desk/DeskSurface.d.ts +24 -0
  180. package/types/desk/DeskSurface.d.ts.map +1 -0
  181. package/types/desk/resolveDeskPath.d.ts +60 -0
  182. package/types/desk/resolveDeskPath.d.ts.map +1 -0
  183. package/types/desk/scope.d.ts +31 -0
  184. package/types/desk/scope.d.ts.map +1 -0
  185. package/types/desk/target.d.ts +57 -0
  186. package/types/desk/target.d.ts.map +1 -0
  187. package/types/index.d.ts +10 -0
  188. package/types/index.d.ts.map +1 -1
  189. package/types/list/DoctypeListScreen.d.ts.map +1 -1
  190. package/types/report/DoctypeReportView.d.ts.map +1 -1
  191. package/types/views/CalendarView.d.ts.map +1 -1
  192. package/types/views/DashboardView.d.ts.map +1 -1
  193. package/types/views/ImageView.d.ts.map +1 -1
  194. package/types/views/KanbanView.d.ts.map +1 -1
  195. package/types/views/TreeView.d.ts.map +1 -1
@@ -0,0 +1,162 @@
1
+ import { YStack } from "@multiplatform.one/components";
2
+ import { useFrappeConfig } from "@multiplatform.one/frappe-ui";
3
+ import { useEffect, useMemo, useRef } from "react";
4
+ import { BackofficeProvider } from "../config/BackofficeProvider.mjs";
5
+ import { createMemoryNavigator } from "../navigation/navigator.mjs";
6
+ import { BACKOFFICE_BASE, createBackofficePaths } from "../navigation/paths.mjs";
7
+ import { BackofficeShell } from "../shell/BackofficeShell.mjs";
8
+ import { DeskSurface, DeskSurfaceLoading } from "./DeskSurface.mjs";
9
+ import { DeskScopeProvider } from "./scope.mjs";
10
+ import { guessDeskTarget, hasDeskPin, useDeskTarget } from "./target.mjs";
11
+ import { jsx } from "react/jsx-runtime";
12
+ function pinnedPath(pins, basePath) {
13
+ const paths = createBackofficePaths(basePath);
14
+ if (pins.path) {
15
+ const prefix = basePath === "/" ? "" : basePath.replace(/\/+$/, "");
16
+ return `${prefix}${pins.path}`;
17
+ }
18
+ if (pins.doctype) {
19
+ if (pins.name === "new") return paths.newDoc(pins.doctype);
20
+ if (pins.name) return paths.form(pins.doctype, pins.name);
21
+ if (pins.view && pins.view !== "list") return paths.view(pins.doctype, pins.view);
22
+ return paths.list(pins.doctype);
23
+ }
24
+ if (pins.workspace) return paths.workspace(pins.workspace);
25
+ if (pins.report) return paths.queryReport(pins.report);
26
+ return paths.home();
27
+ }
28
+ function Desk(props) {
29
+ const {
30
+ doctype,
31
+ name,
32
+ view,
33
+ workspace,
34
+ report,
35
+ path,
36
+ basePath = BACKOFFICE_BASE,
37
+ chrome: chromeProp,
38
+ embedded,
39
+ onNavigate
40
+ } = props;
41
+ const pins = useMemo(() => ({
42
+ doctype,
43
+ name,
44
+ view,
45
+ workspace,
46
+ report,
47
+ path
48
+ }), [doctype, name, view, workspace, report, path]);
49
+ const ambient = useFrappeConfig();
50
+ const warned = useRef(false);
51
+ if (ambient && props.frappe && !warned.current) {
52
+ warned.current = true;
53
+ console.warn("[backoffice] <Desk frappe> is ignored: an ambient FrappeProvider exists and the SyncModule is cached per baseURL.");
54
+ }
55
+ const frappe = useMemo(() => {
56
+ if (ambient) {
57
+ return {
58
+ baseURL: ambient.baseURL,
59
+ auth: ambient.auth,
60
+ fixtures: ambient.fixtures
61
+ };
62
+ }
63
+ return props.frappe ?? {
64
+ baseURL: ""
65
+ };
66
+ }, [ambient, props.frappe]);
67
+ const memoryNavigator = useMemo(() => props.navigation ? void 0 : createMemoryNavigator(pinnedPath(pins, basePath)),
68
+ // The seed is the ENTRY; later pin changes re-enter through useDeskTarget.
69
+ // oxlint-disable-next-line exhaustive-deps
70
+ [props.navigation ? "host" : "memory"]);
71
+ const baseNavigation = props.navigation ?? memoryNavigator;
72
+ const onNavigateRef = useRef(onNavigate);
73
+ onNavigateRef.current = onNavigate;
74
+ const navigation = useMemo(() => {
75
+ const intercept = path2 => onNavigateRef.current?.(guessDeskTarget(path2, basePath), path2) !== false;
76
+ return {
77
+ ...baseNavigation,
78
+ navigate: path2 => {
79
+ if (intercept(path2)) baseNavigation.navigate(path2);
80
+ },
81
+ replace: path2 => {
82
+ if (intercept(path2)) baseNavigation.replace(path2);
83
+ },
84
+ back: () => baseNavigation.back(),
85
+ getLocation: () => baseNavigation.getLocation(),
86
+ subscribe: listener => baseNavigation.subscribe(listener),
87
+ ...(baseNavigation.setParams ? {
88
+ setParams: params => baseNavigation.setParams?.(params)
89
+ } : {})
90
+ };
91
+ }, [baseNavigation, basePath]);
92
+ const chrome = chromeProp ?? (embedded || hasDeskPin(pins) ? "content" : "full");
93
+ const doctypes = props.doctypes ?? (doctype ? {
94
+ allow: [doctype]
95
+ } : void 0);
96
+ const capabilities = useMemo(() => chrome === "bare" ? {
97
+ ...props.capabilities,
98
+ sidebar: false
99
+ } : props.capabilities, [chrome, props.capabilities]);
100
+ return /* @__PURE__ */jsx(BackofficeProvider, {
101
+ frappe,
102
+ navigation,
103
+ basePath,
104
+ capabilities,
105
+ doctypes,
106
+ fields: props.fields,
107
+ actions: props.actions,
108
+ slots: props.slots,
109
+ appearance: props.appearance,
110
+ integrations: props.integrations,
111
+ onEvent: props.onEvent,
112
+ children: /* @__PURE__ */jsx(DeskScopeProvider, {
113
+ scope: props.scope,
114
+ children: /* @__PURE__ */jsx(DeskBody, {
115
+ pins,
116
+ chrome,
117
+ readOnly: props.readOnly,
118
+ surfaces: props.surfaces,
119
+ initialFilters: props.filters,
120
+ views: props.views,
121
+ onTargetChange: props.onTargetChange
122
+ })
123
+ })
124
+ });
125
+ }
126
+ function DeskBody({
127
+ pins,
128
+ chrome,
129
+ readOnly,
130
+ surfaces,
131
+ initialFilters,
132
+ views,
133
+ onTargetChange
134
+ }) {
135
+ const target = useDeskTarget(pins);
136
+ const onTargetChangeRef = useRef(onTargetChange);
137
+ onTargetChangeRef.current = onTargetChange;
138
+ const targetKey = target ? JSON.stringify(target) : void 0;
139
+ useEffect(() => {
140
+ if (target) onTargetChangeRef.current?.(target);
141
+ }, [targetKey]);
142
+ const surface = target ? /* @__PURE__ */jsx(DeskSurface, {
143
+ target,
144
+ overrides: surfaces,
145
+ readOnly,
146
+ initialFilters,
147
+ views
148
+ }) : /* @__PURE__ */jsx(DeskSurfaceLoading, {});
149
+ if (chrome === "content") {
150
+ return /* @__PURE__ */jsx(YStack, {
151
+ flex: 1,
152
+ minHeight: 0,
153
+ minWidth: 0,
154
+ children: surface
155
+ });
156
+ }
157
+ return /* @__PURE__ */jsx(BackofficeShell, {
158
+ children: surface
159
+ });
160
+ }
161
+ export { Desk };
162
+ //# sourceMappingURL=Desk.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["YStack","useFrappeConfig","useEffect","useMemo","useRef","BackofficeProvider","createMemoryNavigator","BACKOFFICE_BASE","createBackofficePaths","BackofficeShell","DeskSurface","DeskSurfaceLoading","DeskScopeProvider","guessDeskTarget","hasDeskPin","useDeskTarget","jsx","pinnedPath","pins","basePath","paths","path","prefix","replace","doctype","name","newDoc","form","view","list","workspace","report","queryReport","home","Desk","props","chrome","chromeProp","embedded","onNavigate","ambient","warned","frappe","current","console","warn","baseURL","auth","fixtures","memoryNavigator","navigation","baseNavigation","onNavigateRef","intercept","path2","navigate","back","getLocation","subscribe","listener","setParams","params","doctypes","allow","capabilities","sidebar","fields","actions","slots","appearance","integrations","onEvent","children","scope","DeskBody","readOnly","surfaces","initialFilters","filters","views","onTargetChange","target","onTargetChangeRef","targetKey","JSON","stringify","surface","overrides","flex","minHeight","minWidth"],"sources":["../../../src/desk/Desk.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,214 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var Desk_exports = {};
26
+ __export(Desk_exports, {
27
+ Desk: () => Desk
28
+ });
29
+ module.exports = __toCommonJS(Desk_exports);
30
+ var import_jsx_runtime = require("react/jsx-runtime");
31
+ var import_components = require("@multiplatform.one/components");
32
+ var import_frappe_ui = require("@multiplatform.one/frappe-ui");
33
+ var import_react = require("react");
34
+ var import_BackofficeProvider = require("../config/BackofficeProvider.native.js");
35
+ var import_navigator = require("../navigation/navigator.native.js");
36
+ var import_paths = require("../navigation/paths.native.js");
37
+ var import_BackofficeShell = require("../shell/BackofficeShell.native.js");
38
+ var import_DeskSurface = require("./DeskSurface.native.js");
39
+ var import_scope = require("./scope.native.js");
40
+ var import_target = require("./target.native.js");
41
+ function pinnedPath(pins, basePath) {
42
+ var paths = (0, import_paths.createBackofficePaths)(basePath);
43
+ if (pins.path) {
44
+ var prefix = basePath === "/" ? "" : basePath.replace(/\/+$/, "");
45
+ return `${prefix}${pins.path}`;
46
+ }
47
+ if (pins.doctype) {
48
+ if (pins.name === "new") return paths.newDoc(pins.doctype);
49
+ if (pins.name) return paths.form(pins.doctype, pins.name);
50
+ if (pins.view && pins.view !== "list") return paths.view(pins.doctype, pins.view);
51
+ return paths.list(pins.doctype);
52
+ }
53
+ if (pins.workspace) return paths.workspace(pins.workspace);
54
+ if (pins.report) return paths.queryReport(pins.report);
55
+ return paths.home();
56
+ }
57
+ function Desk(props) {
58
+ var _props_navigation, _props_doctypes;
59
+ var {
60
+ doctype,
61
+ name,
62
+ view,
63
+ workspace,
64
+ report,
65
+ path,
66
+ basePath = import_paths.BACKOFFICE_BASE,
67
+ chrome: chromeProp,
68
+ embedded,
69
+ onNavigate
70
+ } = props;
71
+ var pins = (0, import_react.useMemo)(function () {
72
+ return {
73
+ doctype,
74
+ name,
75
+ view,
76
+ workspace,
77
+ report,
78
+ path
79
+ };
80
+ }, [doctype, name, view, workspace, report, path]);
81
+ var ambient = (0, import_frappe_ui.useFrappeConfig)();
82
+ var warned = (0, import_react.useRef)(false);
83
+ if (ambient && props.frappe && !warned.current) {
84
+ warned.current = true;
85
+ console.warn("[backoffice] <Desk frappe> is ignored: an ambient FrappeProvider exists and the SyncModule is cached per baseURL.");
86
+ }
87
+ var frappe = (0, import_react.useMemo)(function () {
88
+ var _props_frappe;
89
+ if (ambient) {
90
+ return {
91
+ baseURL: ambient.baseURL,
92
+ auth: ambient.auth,
93
+ fixtures: ambient.fixtures
94
+ };
95
+ }
96
+ return (_props_frappe = props.frappe) !== null && _props_frappe !== void 0 ? _props_frappe : {
97
+ baseURL: ""
98
+ };
99
+ }, [ambient, props.frappe]);
100
+ var memoryNavigator = (0, import_react.useMemo)(function () {
101
+ return props.navigation ? void 0 : (0, import_navigator.createMemoryNavigator)(pinnedPath(pins, basePath));
102
+ },
103
+ // The seed is the ENTRY; later pin changes re-enter through useDeskTarget.
104
+ // oxlint-disable-next-line exhaustive-deps
105
+ [props.navigation ? "host" : "memory"]);
106
+ var baseNavigation = (_props_navigation = props.navigation) !== null && _props_navigation !== void 0 ? _props_navigation : memoryNavigator;
107
+ var onNavigateRef = (0, import_react.useRef)(onNavigate);
108
+ onNavigateRef.current = onNavigate;
109
+ var navigation = (0, import_react.useMemo)(function () {
110
+ var intercept = function intercept2(path2) {
111
+ var _onNavigateRef_current;
112
+ return ((_onNavigateRef_current = onNavigateRef.current) === null || _onNavigateRef_current === void 0 ? void 0 : _onNavigateRef_current.call(onNavigateRef, (0, import_target.guessDeskTarget)(path2, basePath), path2)) !== false;
113
+ };
114
+ return {
115
+ ...baseNavigation,
116
+ navigate: function navigate(path2) {
117
+ if (intercept(path2)) baseNavigation.navigate(path2);
118
+ },
119
+ replace: function replace(path2) {
120
+ if (intercept(path2)) baseNavigation.replace(path2);
121
+ },
122
+ back: function back() {
123
+ return baseNavigation.back();
124
+ },
125
+ getLocation: function getLocation() {
126
+ return baseNavigation.getLocation();
127
+ },
128
+ subscribe: function subscribe(listener) {
129
+ return baseNavigation.subscribe(listener);
130
+ },
131
+ ...(baseNavigation.setParams ? {
132
+ setParams: function setParams(params) {
133
+ var _baseNavigation_setParams;
134
+ return (_baseNavigation_setParams = baseNavigation.setParams) === null || _baseNavigation_setParams === void 0 ? void 0 : _baseNavigation_setParams.call(baseNavigation, params);
135
+ }
136
+ } : {})
137
+ };
138
+ }, [baseNavigation, basePath]);
139
+ var chrome = chromeProp !== null && chromeProp !== void 0 ? chromeProp : embedded || (0, import_target.hasDeskPin)(pins) ? "content" : "full";
140
+ var doctypes = (_props_doctypes = props.doctypes) !== null && _props_doctypes !== void 0 ? _props_doctypes : doctype ? {
141
+ allow: [doctype]
142
+ } : void 0;
143
+ var capabilities = (0, import_react.useMemo)(function () {
144
+ return chrome === "bare" ? {
145
+ ...props.capabilities,
146
+ sidebar: false
147
+ } : props.capabilities;
148
+ }, [chrome, props.capabilities]);
149
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_BackofficeProvider.BackofficeProvider, {
150
+ frappe,
151
+ navigation,
152
+ basePath,
153
+ capabilities,
154
+ doctypes,
155
+ fields: props.fields,
156
+ actions: props.actions,
157
+ slots: props.slots,
158
+ appearance: props.appearance,
159
+ integrations: props.integrations,
160
+ onEvent: props.onEvent,
161
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_scope.DeskScopeProvider, {
162
+ scope: props.scope,
163
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(DeskBody, {
164
+ pins,
165
+ chrome,
166
+ readOnly: props.readOnly,
167
+ surfaces: props.surfaces,
168
+ initialFilters: props.filters,
169
+ views: props.views,
170
+ onTargetChange: props.onTargetChange
171
+ })
172
+ })
173
+ });
174
+ }
175
+ function DeskBody(param) {
176
+ var {
177
+ pins,
178
+ chrome,
179
+ readOnly,
180
+ surfaces,
181
+ initialFilters,
182
+ views,
183
+ onTargetChange
184
+ } = param;
185
+ var target = (0, import_target.useDeskTarget)(pins);
186
+ var onTargetChangeRef = (0, import_react.useRef)(onTargetChange);
187
+ onTargetChangeRef.current = onTargetChange;
188
+ var targetKey = target ? JSON.stringify(target) : void 0;
189
+ (0, import_react.useEffect)(function () {
190
+ var _onTargetChangeRef_current;
191
+ if (target) (_onTargetChangeRef_current = onTargetChangeRef.current) === null || _onTargetChangeRef_current === void 0 ? void 0 : _onTargetChangeRef_current.call(onTargetChangeRef, target);
192
+ },
193
+ // oxlint-disable-next-line exhaustive-deps
194
+ [targetKey]);
195
+ var surface = target ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_DeskSurface.DeskSurface, {
196
+ target,
197
+ overrides: surfaces,
198
+ readOnly,
199
+ initialFilters,
200
+ views
201
+ }) : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_DeskSurface.DeskSurfaceLoading, {});
202
+ if (chrome === "content") {
203
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.YStack, {
204
+ flex: 1,
205
+ minHeight: 0,
206
+ minWidth: 0,
207
+ children: surface
208
+ });
209
+ }
210
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_BackofficeShell.BackofficeShell, {
211
+ children: surface
212
+ });
213
+ }
214
+ //# sourceMappingURL=Desk.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","Desk_exports","Desk","module","exports","import_jsx_runtime","require","import_components","import_frappe_ui","import_react","import_BackofficeProvider","import_navigator","import_paths","import_BackofficeShell","import_DeskSurface","import_scope","import_target","pinnedPath","pins","basePath","paths","createBackofficePaths","path","prefix","replace","doctype","newDoc","form","view","list","workspace","report","queryReport","home","props","_props_navigation","_props_doctypes","BACKOFFICE_BASE","chrome","chromeProp","embedded","onNavigate","useMemo","ambient","useFrappeConfig","warned","useRef","frappe","current","console","warn","_props_frappe","baseURL","auth","fixtures","memoryNavigator","navigation","createMemoryNavigator","baseNavigation","onNavigateRef","intercept","intercept2","path2","_onNavigateRef_current","guessDeskTarget","navigate","back","getLocation","subscribe","listener","setParams","params","_baseNavigation_setParams","hasDeskPin","doctypes","allow","capabilities","sidebar","jsx","BackofficeProvider"],"sources":["../../../src/desk/Desk.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,97 @@
1
+ import { Spinner, YStack } from "@multiplatform.one/components";
2
+ import { useMemo } from "react";
3
+ import { setCreatePrefill } from "../form/createPrefill.mjs";
4
+ import { DocFormScreen } from "../form/DocFormScreen.mjs";
5
+ import { DoctypeListScreen } from "../list/DoctypeListScreen.mjs";
6
+ import { QueryReportScreen } from "../report/QueryReportScreen.mjs";
7
+ import { HomeRedirect } from "../shell/HomeRedirect.mjs";
8
+ import { NotFoundScreen } from "../shell/NotFoundScreen.mjs";
9
+ import { DoctypeViewScreen } from "../views/DoctypeViewScreen.mjs";
10
+ import { WorkspaceScreen } from "../workspace/WorkspaceScreen.mjs";
11
+ import { jsx } from "react/jsx-runtime";
12
+ function resolveOverride(overrides, target) {
13
+ const entry = overrides?.[target.kind];
14
+ if (!entry) return void 0;
15
+ if (typeof entry === "function") return entry;
16
+ const doctype = "doctype" in target ? target.doctype : void 0;
17
+ return doctype ? entry[doctype] : void 0;
18
+ }
19
+ function NewDocSurface({
20
+ doctype,
21
+ defaults,
22
+ readOnly
23
+ }) {
24
+ const defaultsKey = JSON.stringify(defaults ?? null);
25
+ useMemo(() => {
26
+ if (defaults && Object.keys(defaults).length > 0) setCreatePrefill(doctype, defaults);
27
+ }, [doctype, defaultsKey]);
28
+ return /* @__PURE__ */jsx(DocFormScreen, {
29
+ doctype,
30
+ name: "new",
31
+ readOnly
32
+ }, defaultsKey);
33
+ }
34
+ function DeskSurface({
35
+ target,
36
+ overrides,
37
+ readOnly,
38
+ initialFilters,
39
+ views
40
+ }) {
41
+ const Override = resolveOverride(overrides, target);
42
+ if (Override) return /* @__PURE__ */jsx(Override, {
43
+ target,
44
+ readOnly
45
+ });
46
+ switch (target.kind) {
47
+ case "home":
48
+ return /* @__PURE__ */jsx(HomeRedirect, {});
49
+ case "workspace":
50
+ return /* @__PURE__ */jsx(WorkspaceScreen, {
51
+ workspace: target.workspace
52
+ });
53
+ case "list":
54
+ return /* @__PURE__ */jsx(DoctypeListScreen, {
55
+ doctype: target.doctype,
56
+ filtersParam: target.filtersParam,
57
+ sortParam: target.sortParam,
58
+ initialFilters,
59
+ views
60
+ });
61
+ case "view":
62
+ return /* @__PURE__ */jsx(DoctypeViewScreen, {
63
+ doctype: target.doctype,
64
+ view: target.view
65
+ });
66
+ case "new":
67
+ return /* @__PURE__ */jsx(NewDocSurface, {
68
+ doctype: target.doctype,
69
+ defaults: target.defaults,
70
+ readOnly
71
+ });
72
+ case "form":
73
+ return /* @__PURE__ */jsx(DocFormScreen, {
74
+ doctype: target.doctype,
75
+ name: target.name,
76
+ readOnly
77
+ });
78
+ case "report":
79
+ return /* @__PURE__ */jsx(QueryReportScreen, {
80
+ reportName: target.reportName
81
+ });
82
+ case "not-found":
83
+ return /* @__PURE__ */jsx(NotFoundScreen, {});
84
+ }
85
+ }
86
+ function DeskSurfaceLoading() {
87
+ return /* @__PURE__ */jsx(YStack, {
88
+ flex: 1,
89
+ alignItems: "center",
90
+ justifyContent: "center",
91
+ children: /* @__PURE__ */jsx(Spinner, {
92
+ size: "large"
93
+ })
94
+ });
95
+ }
96
+ export { DeskSurface, DeskSurfaceLoading };
97
+ //# sourceMappingURL=DeskSurface.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Spinner","YStack","useMemo","setCreatePrefill","DocFormScreen","DoctypeListScreen","QueryReportScreen","HomeRedirect","NotFoundScreen","DoctypeViewScreen","WorkspaceScreen","jsx","resolveOverride","overrides","target","entry","kind","doctype","NewDocSurface","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":["../../../src/desk/DeskSurface.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var DeskSurface_exports = {};
26
+ __export(DeskSurface_exports, {
27
+ DeskSurface: () => DeskSurface,
28
+ DeskSurfaceLoading: () => DeskSurfaceLoading
29
+ });
30
+ module.exports = __toCommonJS(DeskSurface_exports);
31
+ var import_jsx_runtime = require("react/jsx-runtime");
32
+ var import_components = require("@multiplatform.one/components");
33
+ var import_react = require("react");
34
+ var import_createPrefill = require("../form/createPrefill.native.js");
35
+ var import_DocFormScreen = require("../form/DocFormScreen.native.js");
36
+ var import_DoctypeListScreen = require("../list/DoctypeListScreen.native.js");
37
+ var import_QueryReportScreen = require("../report/QueryReportScreen.native.js");
38
+ var import_HomeRedirect = require("../shell/HomeRedirect.native.js");
39
+ var import_NotFoundScreen = require("../shell/NotFoundScreen.native.js");
40
+ var import_DoctypeViewScreen = require("../views/DoctypeViewScreen.native.js");
41
+ var import_WorkspaceScreen = require("../workspace/WorkspaceScreen.native.js");
42
+ function resolveOverride(overrides, target) {
43
+ var entry = overrides === null || overrides === void 0 ? void 0 : overrides[target.kind];
44
+ if (!entry) return void 0;
45
+ if (typeof entry === "function") return entry;
46
+ var doctype = "doctype" in target ? target.doctype : void 0;
47
+ return doctype ? entry[doctype] : void 0;
48
+ }
49
+ function NewDocSurface(param) {
50
+ var {
51
+ doctype,
52
+ defaults,
53
+ readOnly
54
+ } = param;
55
+ var defaultsKey = JSON.stringify(defaults !== null && defaults !== void 0 ? defaults : null);
56
+ (0, import_react.useMemo)(function () {
57
+ if (defaults && Object.keys(defaults).length > 0) (0, import_createPrefill.setCreatePrefill)(doctype, defaults);
58
+ },
59
+ // oxlint-disable-next-line exhaustive-deps
60
+ [doctype, defaultsKey]);
61
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_DocFormScreen.DocFormScreen, {
62
+ doctype,
63
+ name: "new",
64
+ readOnly
65
+ }, defaultsKey);
66
+ }
67
+ function DeskSurface(param) {
68
+ var {
69
+ target,
70
+ overrides,
71
+ readOnly,
72
+ initialFilters,
73
+ views
74
+ } = param;
75
+ var Override = resolveOverride(overrides, target);
76
+ if (Override) return /* @__PURE__ */(0, import_jsx_runtime.jsx)(Override, {
77
+ target,
78
+ readOnly
79
+ });
80
+ switch (target.kind) {
81
+ case "home":
82
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_HomeRedirect.HomeRedirect, {});
83
+ case "workspace":
84
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_WorkspaceScreen.WorkspaceScreen, {
85
+ workspace: target.workspace
86
+ });
87
+ case "list":
88
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_DoctypeListScreen.DoctypeListScreen, {
89
+ doctype: target.doctype,
90
+ filtersParam: target.filtersParam,
91
+ sortParam: target.sortParam,
92
+ initialFilters,
93
+ views
94
+ });
95
+ case "view":
96
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_DoctypeViewScreen.DoctypeViewScreen, {
97
+ doctype: target.doctype,
98
+ view: target.view
99
+ });
100
+ case "new":
101
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(NewDocSurface, {
102
+ doctype: target.doctype,
103
+ defaults: target.defaults,
104
+ readOnly
105
+ });
106
+ case "form":
107
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_DocFormScreen.DocFormScreen, {
108
+ doctype: target.doctype,
109
+ name: target.name,
110
+ readOnly
111
+ });
112
+ case "report":
113
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_QueryReportScreen.QueryReportScreen, {
114
+ reportName: target.reportName
115
+ });
116
+ case "not-found":
117
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_NotFoundScreen.NotFoundScreen, {});
118
+ }
119
+ }
120
+ function DeskSurfaceLoading() {
121
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.YStack, {
122
+ flex: 1,
123
+ alignItems: "center",
124
+ justifyContent: "center",
125
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Spinner, {
126
+ size: "large"
127
+ })
128
+ });
129
+ }
130
+ //# sourceMappingURL=DeskSurface.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","DeskSurface_exports","DeskSurface","DeskSurfaceLoading","module","exports","import_jsx_runtime","require","import_components","import_react","import_createPrefill","import_DocFormScreen","import_DoctypeListScreen","import_QueryReportScreen","import_HomeRedirect","import_NotFoundScreen","import_DoctypeViewScreen","import_WorkspaceScreen","resolveOverride","overrides","entry","kind","doctype","NewDocSurface","param","defaults","readOnly","defaultsKey","JSON","stringify","useMemo","keys","length","setCreatePrefill","jsx","DocFormScreen","initialFilters","views","Override"],"sources":["../../../src/desk/DeskSurface.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}