@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
@@ -33,6 +33,7 @@ var import_frappe_ui = require("@multiplatform.one/frappe-ui");
33
33
  var import_react_i18next = require("react-i18next");
34
34
  var import_BackofficeProvider = require("../config/BackofficeProvider.native.js");
35
35
  var import_i18n = require("../i18n/index.native.js");
36
+ var import_scope = require("../desk/scope.native.js");
36
37
  var import_viewMeta = require("./viewMeta.native.js");
37
38
  var import_ViewStates = require("./ViewStates.native.js");
38
39
  var TreeOfDoc = import_frappe_ui.FrappeTreeView;
@@ -43,6 +44,7 @@ function TreeView(param) {
43
44
  var {
44
45
  t
45
46
  } = (0, import_react_i18next.useTranslation)(import_i18n.BACKOFFICE_I18N_NAMESPACE);
47
+ var deskScope = (0, import_scope.useDeskScope)();
46
48
  var navigator = (0, import_BackofficeProvider.useBackofficeNavigator)();
47
49
  var paths = (0, import_BackofficeProvider.useBackofficePaths)();
48
50
  var {
@@ -68,6 +70,9 @@ function TreeView(param) {
68
70
  flex: 1,
69
71
  children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(TreeOfDoc, {
70
72
  doctype,
73
+ ...(deskScope.length > 0 && {
74
+ filters: deskScope
75
+ }),
71
76
  titleField: meta === null || meta === void 0 ? void 0 : meta.title_field,
72
77
  onNodeClick: function onNodeClick(doc) {
73
78
  if (doc.name) navigator.navigate(paths.form(doctype, doc.name));
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","TreeView_exports","__export","TreeView","module","exports","import_jsx_runtime","require","import_components","import_frappe_ui","import_react_i18next","import_BackofficeProvider","import_i18n","import_viewMeta","import_ViewStates","TreeOfDoc","FrappeTreeView","param","doctype","t","useTranslation","BACKOFFICE_I18N_NAMESPACE","navigator","useBackofficeNavigator","paths","useBackofficePaths","meta","isLoading","isMetaLoading","error","metaError","useViewMeta","jsx","ViewLoading","ViewError","is_tree","ViewUnsupported","title","description","YStack","flex","children","titleField","title_field","onNodeClick","doc","name","navigate","form","err"],"sources":["../../../src/views/TreeView.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,gBAAA;AAAAC,QAAA,CAAAD,gBAAA;EAAAE,QAAA,EAAAA,CAAA,KAAAA;AAAA;AAIAC,MAAA,CAAAC,OAAA,GAAAT,YAAuB,CAAAK,gBAAA;AACvB,IAAAK,kBAAA,GAAyDC,OAAA;AAEzD,IAAAC,iBAAA,GAAAD,OAA+B;AAC/B,IAAAE,gBAAA,GAAAF,OAAA,+BAA2D;AAC3D,IAAAG,oBAA0C,GAAAH,OAAA;AAC1C,IAAAI,yBAAyC,GAAAJ,OAAA;AACzC,IAAAK,WAAA,GAAAL,OAAwD;AAgB5B,IAAAM,eAAA,GAAAN,OAAA;AAb5B,IAAAO,iBAAkB,GAAAP,OAAA;AAOX,IAAAQ,SAAS,GAAAN,gBAAqC,CAAAO,cAAA;AACnD,SAAMb,QAAIA,CAAAc,KAAI;EACd;IAAMC;EAAA,IAAAD,KAAY;EAClB;IAAME;EAAA,QAAAT,oBAAQ,CAAAU,cAAA,EAAAR,WAAmB,CAAAS,yBAAA;EACjC,IAAAC,SAAQ,GAAM,IAAAX,yBAA0B,CAAAY,sBAAqB;EAE7D,IAAIC,KAAA,OAAAb,yBAAsB,CAAAc,kBAAA;EAC1B,IAAI;IAAAC,IAAA;IAAAC,SAAc,EAAMC,aAAO;IAAAC,KAAA,EAAAC;EAAA,QAAAjB,eAAC,CAAAkB,WAAA,EAAAb,OAAA;EAEhC,IAAIU,aAAS,EAAK,sBAAS,IAAAtB,kBAAA,CAAA0B,GAAA,EAAAlB,iBAAA,CAAAmB,WAAA;EACzB,IAAAH,SACE,KAAAJ,IAAA,4BAAApB,kBAAA,CAAA0B,GAAA,EAAAlB,iBAAA,CAAAoB,SAAA;IAAAhB,OAAC;IAAAW,KAAA,EAAAC;EAAA;EACC,IAAAJ,IACA,KAAOA,IAAE,CAAAS,OAAA;IAA6C,OACtD,eAAa,IAAA7B,kBAAA,CAAA0B,GAAA,EAAAlB,iBAAA,CAAAsB,eAAA;MAAAlB,OACX;MAAAmB,KACA,EAAAlB,CAAA;MAAAmB,WACE,EAAAnB,CAAQ;QACZD;MAAA;IACF;EAEJ;EAEA,OACE,mBAAAZ,kBAAA,CAAA0B,GAAA,EAACxB,iBAAA,CAAA+B,MAAA;IACEC,IAAA;IAAAC,QAAA,qBAAAnC,kBAAA,CAAA0B,GAAA,EAAAjB,SAAA;MACCG,OAAA;MACAwB,UAAA,EAAYhB,IAAA,KAAM,QAAAA,IAAA,uBAAAA,IAAA,CAAAiB,WAAA;MAClBC,WAAA,EAAa,SAASA,YAAAC,GAAA;QACpB,IAAIA,GAAA,CAAIC,IAAA,EAAMxB,SAAA,CAAUyB,QAAA,CAASvB,KAAA,CAAMwB,IAAA,CAAK9B,OAAA,EAAS2B,GAAA,CAAIC,IAAI,CAAC;MAChE;MACAjB,KAAA,EAAO,SAASA,MAAAoB,GAAA;QAChB,OAAM,mBAAA3C,kBAAA,CAAA0B,GAAA,EAAAlB,iBAAA,CAAAoB,SAAA;UAAAhB,OAAA;UAEVW,KAAA,EAAAoB;QAEJ","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","TreeView_exports","__export","TreeView","module","exports","import_jsx_runtime","require","import_components","import_frappe_ui","import_react_i18next","import_BackofficeProvider","import_i18n","import_scope","import_viewMeta","import_ViewStates","TreeOfDoc","FrappeTreeView","param","doctype","t","useTranslation","BACKOFFICE_I18N_NAMESPACE","deskScope","useDeskScope","navigator","useBackofficeNavigator","paths","useBackofficePaths","meta","isLoading","isMetaLoading","error","metaError","useViewMeta","jsx","ViewLoading","ViewError","is_tree","ViewUnsupported","title","description","YStack","flex","children","length","filters","titleField","title_field","onNodeClick","doc","name","navigate","form","err"],"sources":["../../../src/views/TreeView.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,gBAAA;AAAAC,QAAA,CAAAD,gBAAA;EAAAE,QAAA,EAAAA,CAAA,KAAAA;AAAA;AAIAC,MAAA,CAAAC,OAAA,GAAAT,YAAuB,CAAAK,gBAAA;AACvB,IAAAK,kBAAA,GAAyDC,OAAA;AAEzD,IAAAC,iBAAA,GAAAD,OAA+B;AAC/B,IAAAE,gBAAA,GAAAF,OAAA,+BAA2D;AAC3D,IAAAG,oBAA0C,GAAAH,OAAA;AAC1C,IAAAI,yBAA6B,GAAAJ,OAAA;AAC7B,IAAAK,WAAA,GAAAL,OAAyC;AACzC,IAAAM,YAAA,GAAAN,OAAwD;AAiB5B,IAAAO,eAAA,GAAAP,OAAA;AAd5B,IAAAQ,iBAAkB,GAAAR,OAAA;AAOX,IAAAS,SAAS,GAAAP,gBAAqC,CAAAQ,cAAA;AACnD,SAAMd,QAAIA,CAAAe,KAAI;EACd;IAAMC;EAAA,IAAAD,KAAY;EAClB;IAAME;EAAA,QAAAV,oBAAY,CAAAW,cAAA,EAAAT,WAAA,CAAAU,yBAAuB;EACzC,IAAAC,SAAM,KAAQ,EAAAV,YAAA,CAAAW,YAAA;EACd,IAAAC,SAAQ,GAAM,IAAAd,yBAA0B,CAAAe,sBAAqB;EAE7D,IAAIC,KAAA,OAAAhB,yBAAsB,CAAAiB,kBAAA;EAC1B,IAAI;IAAAC,IAAA;IAAAC,SAAc,EAAMC,aAAO;IAAAC,KAAA,EAAAC;EAAA,QAAAnB,eAAC,CAAAoB,WAAA,EAAAf,OAAA;EAEhC,IAAIY,aAAS,EAAK,sBAAS,IAAAzB,kBAAA,CAAA6B,GAAA,EAAApB,iBAAA,CAAAqB,WAAA;EACzB,IAAAH,SACE,KAAAJ,IAAA,4BAAAvB,kBAAA,CAAA6B,GAAA,EAAApB,iBAAA,CAAAsB,SAAA;IAAAlB,OAAC;IAAAa,KAAA,EAAAC;EAAA;EACC,IAAAJ,IACA,KAAOA,IAAE,CAAAS,OAAA;IAA6C,OACtD,eAAa,IAAAhC,kBAAA,CAAA6B,GAAA,EAAApB,iBAAA,CAAAwB,eAAA;MAAApB,OACX;MAAAqB,KACA,EAAApB,CAAA;MAAAqB,WACE,EAAArB,CAAQ;QACZD;MAAA;IACF;EAEJ;EAEA,OACE,mBAAAb,kBAAA,CAAA6B,GAAA,EAAC3B,iBAAA,CAAAkC,MAAA;IACEC,IAAA;IAAAC,QAAA,qBAAAtC,kBAAA,CAAA6B,GAAA,EAAAnB,SAAA;MACCG,OAAA;MACC,IAAII,SAAA,CAAUsB,MAAA,GAAS,KAAK;QAC7BC,OAAA,EAAAvB;MACA;MACEwB,UAAQ,EAAAlB,IAAM,aAAUA,IAAA,KAAS,KAAM,IAAK,SAASA,IAAI,CAAAmB,WAAK;MAChEC,WAAA,WAAAA,YAAAC,GAAA;QACA,IAAAA,GAAQ,CAAAC,IAAA,EAAQ1B,SAAA,CAAA2B,QAAA,CAAAzB,KAAA,CAAA0B,IAAA,CAAAlC,OAAA,EAAA+B,GAAA,CAAAC,IAAC;MACjB;MAAMnB,KAAA,WAAAA,MAAAsB,GAAA;QAEV,0BAAAhD,kBAAA,CAAA6B,GAAA,EAAApB,iBAAA,CAAAsB,SAAA;UAEJlB,OAAA","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { FrappeProvider, registerField } from "@multiplatform.one/frappe-ui";
1
+ import { FieldOverridesProvider, FrappeProvider } from "@multiplatform.one/frappe-ui";
2
2
  import { createContext, useContext, useMemo, useRef, useState } from "react";
3
3
  import { useSyncExternalStore } from "react";
4
4
  import { registerBackofficeTranslations } from "../i18n/index.mjs";
@@ -63,15 +63,6 @@ function BackofficeProvider({
63
63
  registerBackofficeTranslations(i18nInstance);
64
64
  return true;
65
65
  });
66
- const appliedFields = useRef({});
67
- if (fields) {
68
- for (const [fieldtype, component] of Object.entries(fields)) {
69
- if (appliedFields.current[fieldtype] !== component) {
70
- registerField(fieldtype, component);
71
- appliedFields.current[fieldtype] = component;
72
- }
73
- }
74
- }
75
66
  const onEventRef = useRef(onEvent);
76
67
  onEventRef.current = onEvent;
77
68
  const emitEvent = useMemo(() => event => {
@@ -136,7 +127,10 @@ function BackofficeProvider({
136
127
  syncOptions: frappe.syncOptions,
137
128
  socketOptions: frappe.socketOptions,
138
129
  fixtures: frappe.fixtures,
139
- children
130
+ children: /* @__PURE__ */jsx(FieldOverridesProvider, {
131
+ fields,
132
+ children
133
+ })
140
134
  })
141
135
  });
142
136
  }
@@ -1 +1 @@
1
- {"version":3,"names":["FrappeProvider","registerField","createContext","useContext","useMemo","useRef","useState","useSyncExternalStore","registerBackofficeTranslations","createNoopNavigator","BACKOFFICE_BASE","createBackofficePaths","isDoctypeAllowed","resolveCapabilities","jsx","actionsForDoctype","actions","doctype","filter","action","doctypes","includes","DEFAULT_CONFIG","navigation","basePath","paths","capabilities","slots","emitEvent","BackofficeConfigContext","useBackofficeConfig","useBackofficeCapabilities","useBackofficeNavigator","useBackofficePaths","useBackofficeSlots","useBackofficeLocation","navigator","subscribe","getLocation","useIsDoctypeAllowed","BackofficeProvider","children","frappe","fields","appearance","integrations","onEvent","i18nInstance","appliedFields","fieldtype","component","Object","entries","current","onEventRef","event","wrappedNavigation","navigate","path","type","mode","replace","back","setParams","params","listener","resolvedCapabilities","config","Provider","value","baseURL","socketPort","socketBaseURL","siteName","auth","syncOptions","socketOptions","fixtures"],"sources":["../../../src/config/BackofficeProvider.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["FieldOverridesProvider","FrappeProvider","createContext","useContext","useMemo","useRef","useState","useSyncExternalStore","registerBackofficeTranslations","createNoopNavigator","BACKOFFICE_BASE","createBackofficePaths","isDoctypeAllowed","resolveCapabilities","jsx","actionsForDoctype","actions","doctype","filter","action","doctypes","includes","DEFAULT_CONFIG","navigation","basePath","paths","capabilities","slots","emitEvent","BackofficeConfigContext","useBackofficeConfig","useBackofficeCapabilities","useBackofficeNavigator","useBackofficePaths","useBackofficeSlots","useBackofficeLocation","navigator","subscribe","getLocation","useIsDoctypeAllowed","BackofficeProvider","children","frappe","fields","appearance","integrations","onEvent","i18nInstance","onEventRef","current","event","wrappedNavigation","navigate","path","type","mode","replace","back","setParams","params","listener","resolvedCapabilities","config","Provider","value","baseURL","socketPort","socketBaseURL","siteName","auth","syncOptions","socketOptions","fixtures"],"sources":["../../../src/config/BackofficeProvider.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { FrappeProvider, registerField } from "@multiplatform.one/frappe-ui";
2
+ import { FieldOverridesProvider, FrappeProvider } from "@multiplatform.one/frappe-ui";
3
3
  import React, { createContext, useContext, useMemo, useRef, useState } from "react";
4
4
  import { useSyncExternalStore } from "react";
5
5
  import { registerBackofficeTranslations } from "../i18n/index.native.js";
@@ -70,34 +70,6 @@ function BackofficeProvider(param) {
70
70
  registerBackofficeTranslations(i18nInstance);
71
71
  return true;
72
72
  });
73
- var appliedFields = useRef({});
74
- if (fields) {
75
- var _iteratorNormalCompletion = true,
76
- _didIteratorError = false,
77
- _iteratorError = void 0;
78
- try {
79
- for (var _iterator = Object.entries(fields)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
80
- var [fieldtype, component] = _step.value;
81
- if (appliedFields.current[fieldtype] !== component) {
82
- registerField(fieldtype, component);
83
- appliedFields.current[fieldtype] = component;
84
- }
85
- }
86
- } catch (err) {
87
- _didIteratorError = true;
88
- _iteratorError = err;
89
- } finally {
90
- try {
91
- if (!_iteratorNormalCompletion && _iterator.return != null) {
92
- _iterator.return();
93
- }
94
- } finally {
95
- if (_didIteratorError) {
96
- throw _iteratorError;
97
- }
98
- }
99
- }
100
- }
101
73
  var onEventRef = useRef(onEvent);
102
74
  onEventRef.current = onEvent;
103
75
  var emitEvent2 = useMemo(function () {
@@ -180,7 +152,15 @@ function BackofficeProvider(param) {
180
152
  syncOptions: frappe.syncOptions,
181
153
  socketOptions: frappe.socketOptions,
182
154
  fixtures: frappe.fixtures,
183
- children
155
+ children: (
156
+ /* Context-scoped field overrides (GL-4): per-provider, never the
157
+ module-global registry — two providers with different `fields` on
158
+ one page must not clobber each other. */
159
+ /* @__PURE__ */
160
+ _jsx(FieldOverridesProvider, {
161
+ fields,
162
+ children
163
+ }))
184
164
  })
185
165
  });
186
166
  }
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","FrappeProvider","registerField","React","createContext","useContext","useMemo","useRef","useState","useSyncExternalStore","registerBackofficeTranslations","createNoopNavigator","BACKOFFICE_BASE","createBackofficePaths","isDoctypeAllowed","resolveCapabilities","actionsForDoctype","actions","doctype","filter","action","doctypes","includes","DEFAULT_CONFIG","navigation","basePath","paths","capabilities","slots","emitEvent","BackofficeConfigContext","useBackofficeConfig","useBackofficeCapabilities","useBackofficeNavigator","useBackofficePaths","useBackofficeSlots","useBackofficeLocation","navigator","subscribe","getLocation","useIsDoctypeAllowed","BackofficeProvider","param","children","frappe","fields","appearance","integrations","onEvent","i18nInstance","appliedFields","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Object","entries","Symbol","iterator","_step","next","done","fieldtype","component","value","current","err","return","onEventRef","emitEvent2","event","_onEventRef_current","call","wrappedNavigation","navigate","path","type","mode","replace","back","setParams","params","_navigation_setParams","listener","resolvedCapabilities","config"],"sources":["../../../src/config/BackofficeProvider.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["jsx","_jsx","FieldOverridesProvider","FrappeProvider","React","createContext","useContext","useMemo","useRef","useState","useSyncExternalStore","registerBackofficeTranslations","createNoopNavigator","BACKOFFICE_BASE","createBackofficePaths","isDoctypeAllowed","resolveCapabilities","actionsForDoctype","actions","doctype","filter","action","doctypes","includes","DEFAULT_CONFIG","navigation","basePath","paths","capabilities","slots","emitEvent","BackofficeConfigContext","useBackofficeConfig","useBackofficeCapabilities","useBackofficeNavigator","useBackofficePaths","useBackofficeSlots","useBackofficeLocation","navigator","subscribe","getLocation","useIsDoctypeAllowed","BackofficeProvider","param","children","frappe","fields","appearance","integrations","onEvent","i18nInstance","onEventRef","current","emitEvent2","event","_onEventRef_current","call","wrappedNavigation","navigate","path","type","mode","replace","back","setParams","params","_navigation_setParams","listener","resolvedCapabilities","config","Provider","value","baseURL"],"sources":["../../../src/config/BackofficeProvider.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -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,186 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { YStack } from "@multiplatform.one/components";
3
+ import { useFrappeConfig } from "@multiplatform.one/frappe-ui";
4
+ import { useEffect, useMemo, useRef } from "react";
5
+ import { BackofficeProvider } from "../config/BackofficeProvider.native.js";
6
+ import { createMemoryNavigator } from "../navigation/navigator.native.js";
7
+ import { BACKOFFICE_BASE, createBackofficePaths } from "../navigation/paths.native.js";
8
+ import { BackofficeShell } from "../shell/BackofficeShell.native.js";
9
+ import { DeskSurface, DeskSurfaceLoading } from "./DeskSurface.native.js";
10
+ import { DeskScopeProvider } from "./scope.native.js";
11
+ import { guessDeskTarget, hasDeskPin, useDeskTarget } from "./target.native.js";
12
+ function pinnedPath(pins, basePath) {
13
+ var paths = createBackofficePaths(basePath);
14
+ if (pins.path) {
15
+ var 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
+ var _props_navigation, _props_doctypes;
30
+ var {
31
+ doctype,
32
+ name,
33
+ view,
34
+ workspace,
35
+ report,
36
+ path,
37
+ basePath = BACKOFFICE_BASE,
38
+ chrome: chromeProp,
39
+ embedded,
40
+ onNavigate
41
+ } = props;
42
+ var pins = useMemo(function () {
43
+ return {
44
+ doctype,
45
+ name,
46
+ view,
47
+ workspace,
48
+ report,
49
+ path
50
+ };
51
+ }, [doctype, name, view, workspace, report, path]);
52
+ var ambient = useFrappeConfig();
53
+ var warned = useRef(false);
54
+ if (ambient && props.frappe && !warned.current) {
55
+ warned.current = true;
56
+ console.warn("[backoffice] <Desk frappe> is ignored: an ambient FrappeProvider exists and the SyncModule is cached per baseURL.");
57
+ }
58
+ var frappe = useMemo(function () {
59
+ var _props_frappe;
60
+ if (ambient) {
61
+ return {
62
+ baseURL: ambient.baseURL,
63
+ auth: ambient.auth,
64
+ fixtures: ambient.fixtures
65
+ };
66
+ }
67
+ return (_props_frappe = props.frappe) !== null && _props_frappe !== void 0 ? _props_frappe : {
68
+ baseURL: ""
69
+ };
70
+ }, [ambient, props.frappe]);
71
+ var memoryNavigator = useMemo(function () {
72
+ return props.navigation ? void 0 : createMemoryNavigator(pinnedPath(pins, basePath));
73
+ },
74
+ // The seed is the ENTRY; later pin changes re-enter through useDeskTarget.
75
+ // oxlint-disable-next-line exhaustive-deps
76
+ [props.navigation ? "host" : "memory"]);
77
+ var baseNavigation = (_props_navigation = props.navigation) !== null && _props_navigation !== void 0 ? _props_navigation : memoryNavigator;
78
+ var onNavigateRef = useRef(onNavigate);
79
+ onNavigateRef.current = onNavigate;
80
+ var navigation = useMemo(function () {
81
+ var intercept = function intercept2(path2) {
82
+ var _onNavigateRef_current;
83
+ return ((_onNavigateRef_current = onNavigateRef.current) === null || _onNavigateRef_current === void 0 ? void 0 : _onNavigateRef_current.call(onNavigateRef, guessDeskTarget(path2, basePath), path2)) !== false;
84
+ };
85
+ return {
86
+ ...baseNavigation,
87
+ navigate: function navigate(path2) {
88
+ if (intercept(path2)) baseNavigation.navigate(path2);
89
+ },
90
+ replace: function replace(path2) {
91
+ if (intercept(path2)) baseNavigation.replace(path2);
92
+ },
93
+ back: function back() {
94
+ return baseNavigation.back();
95
+ },
96
+ getLocation: function getLocation() {
97
+ return baseNavigation.getLocation();
98
+ },
99
+ subscribe: function subscribe(listener) {
100
+ return baseNavigation.subscribe(listener);
101
+ },
102
+ ...(baseNavigation.setParams ? {
103
+ setParams: function setParams(params) {
104
+ var _baseNavigation_setParams;
105
+ return (_baseNavigation_setParams = baseNavigation.setParams) === null || _baseNavigation_setParams === void 0 ? void 0 : _baseNavigation_setParams.call(baseNavigation, params);
106
+ }
107
+ } : {})
108
+ };
109
+ }, [baseNavigation, basePath]);
110
+ var chrome = chromeProp !== null && chromeProp !== void 0 ? chromeProp : embedded || hasDeskPin(pins) ? "content" : "full";
111
+ var doctypes = (_props_doctypes = props.doctypes) !== null && _props_doctypes !== void 0 ? _props_doctypes : doctype ? {
112
+ allow: [doctype]
113
+ } : void 0;
114
+ var capabilities = useMemo(function () {
115
+ return chrome === "bare" ? {
116
+ ...props.capabilities,
117
+ sidebar: false
118
+ } : props.capabilities;
119
+ }, [chrome, props.capabilities]);
120
+ return /* @__PURE__ */_jsx(BackofficeProvider, {
121
+ frappe,
122
+ navigation,
123
+ basePath,
124
+ capabilities,
125
+ doctypes,
126
+ fields: props.fields,
127
+ actions: props.actions,
128
+ slots: props.slots,
129
+ appearance: props.appearance,
130
+ integrations: props.integrations,
131
+ onEvent: props.onEvent,
132
+ children: /* @__PURE__ */_jsx(DeskScopeProvider, {
133
+ scope: props.scope,
134
+ children: /* @__PURE__ */_jsx(DeskBody, {
135
+ pins,
136
+ chrome,
137
+ readOnly: props.readOnly,
138
+ surfaces: props.surfaces,
139
+ initialFilters: props.filters,
140
+ views: props.views,
141
+ onTargetChange: props.onTargetChange
142
+ })
143
+ })
144
+ });
145
+ }
146
+ function DeskBody(param) {
147
+ var {
148
+ pins,
149
+ chrome,
150
+ readOnly,
151
+ surfaces,
152
+ initialFilters,
153
+ views,
154
+ onTargetChange
155
+ } = param;
156
+ var target = useDeskTarget(pins);
157
+ var onTargetChangeRef = useRef(onTargetChange);
158
+ onTargetChangeRef.current = onTargetChange;
159
+ var targetKey = target ? JSON.stringify(target) : void 0;
160
+ useEffect(function () {
161
+ var _onTargetChangeRef_current;
162
+ if (target) (_onTargetChangeRef_current = onTargetChangeRef.current) === null || _onTargetChangeRef_current === void 0 ? void 0 : _onTargetChangeRef_current.call(onTargetChangeRef, target);
163
+ },
164
+ // oxlint-disable-next-line exhaustive-deps
165
+ [targetKey]);
166
+ var surface = target ? /* @__PURE__ */_jsx(DeskSurface, {
167
+ target,
168
+ overrides: surfaces,
169
+ readOnly,
170
+ initialFilters,
171
+ views
172
+ }) : /* @__PURE__ */_jsx(DeskSurfaceLoading, {});
173
+ if (chrome === "content") {
174
+ return /* @__PURE__ */_jsx(YStack, {
175
+ flex: 1,
176
+ minHeight: 0,
177
+ minWidth: 0,
178
+ children: surface
179
+ });
180
+ }
181
+ return /* @__PURE__ */_jsx(BackofficeShell, {
182
+ children: surface
183
+ });
184
+ }
185
+ export { Desk };
186
+ //# sourceMappingURL=Desk.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["jsx","_jsx","YStack","useFrappeConfig","useEffect","useMemo","useRef","BackofficeProvider","createMemoryNavigator","BACKOFFICE_BASE","createBackofficePaths","BackofficeShell","DeskSurface","DeskSurfaceLoading","DeskScopeProvider","guessDeskTarget","hasDeskPin","useDeskTarget","pinnedPath","pins","basePath","paths","path","prefix","replace","doctype","name","newDoc","form","view","list","workspace","report","queryReport","home","Desk","props","_props_navigation","_props_doctypes","chrome","chromeProp","embedded","onNavigate","ambient","warned","frappe","current","console","warn","_props_frappe","baseURL","auth","fixtures","memoryNavigator","navigation","baseNavigation","onNavigateRef","intercept","intercept2","path2","_onNavigateRef_current","call","navigate","back","getLocation","subscribe","listener","setParams","params","_baseNavigation_setParams","doctypes","allow","capabilities","sidebar","fields","actions","slots","appearance","integrations","onEvent","children","scope","DeskBody","readOnly","surfaces","initialFilters","filters","views","onTargetChange","param"],"sources":["../../../src/desk/Desk.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}