@multiplatform.one/frappe-ui 7.21.0 → 7.23.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 (210) hide show
  1. package/README.md +14 -0
  2. package/dist/cjs/FrappeForm.cjs +96 -52
  3. package/dist/cjs/FrappeForm.native.js +103 -52
  4. package/dist/cjs/FrappeForm.native.js.map +1 -1
  5. package/dist/cjs/FrappeFormActions.cjs +161 -0
  6. package/dist/cjs/FrappeFormActions.native.js +167 -0
  7. package/dist/cjs/FrappeFormActions.native.js.map +1 -0
  8. package/dist/cjs/FrappeTable.cjs +42 -13
  9. package/dist/cjs/FrappeTable.native.js +55 -19
  10. package/dist/cjs/FrappeTable.native.js.map +1 -1
  11. package/dist/cjs/desk/DeskFormPage.cjs +2 -1
  12. package/dist/cjs/desk/DeskFormPage.native.js +3 -0
  13. package/dist/cjs/desk/DeskFormPage.native.js.map +1 -1
  14. package/dist/cjs/filterFields.cjs +277 -34
  15. package/dist/cjs/filterFields.native.js +311 -36
  16. package/dist/cjs/filterFields.native.js.map +1 -1
  17. package/dist/cjs/formEngine/docLifecycle.cjs +98 -0
  18. package/dist/cjs/formEngine/docLifecycle.native.js +131 -0
  19. package/dist/cjs/formEngine/docLifecycle.native.js.map +1 -0
  20. package/dist/cjs/formEngine/useAmendedAs.cjs +48 -0
  21. package/dist/cjs/formEngine/useAmendedAs.native.js +60 -0
  22. package/dist/cjs/formEngine/useAmendedAs.native.js.map +1 -0
  23. package/dist/cjs/formEngine/useDocRights.cjs +2 -2
  24. package/dist/cjs/formEngine/useDocRights.native.js +2 -2
  25. package/dist/cjs/formEngine/useDocRights.native.js.map +1 -1
  26. package/dist/cjs/formEngine/useFormEngine.cjs +1 -0
  27. package/dist/cjs/formEngine/useFormEngine.native.js +1 -0
  28. package/dist/cjs/formEngine/useFormEngine.native.js.map +1 -1
  29. package/dist/cjs/index.cjs +30 -1
  30. package/dist/cjs/index.native.js +30 -1
  31. package/dist/cjs/index.native.js.map +1 -1
  32. package/dist/cjs/list/listColumns.cjs +397 -0
  33. package/dist/cjs/list/listColumns.native.js +447 -0
  34. package/dist/cjs/list/listColumns.native.js.map +1 -0
  35. package/dist/cjs/list/listFields.cjs +50 -0
  36. package/dist/cjs/list/listFields.native.js +79 -0
  37. package/dist/cjs/list/listFields.native.js.map +1 -0
  38. package/dist/cjs/list/listFormat.cjs +68 -0
  39. package/dist/cjs/list/listFormat.native.js +74 -0
  40. package/dist/cjs/list/listFormat.native.js.map +1 -0
  41. package/dist/cjs/list/statusColors.cjs +102 -0
  42. package/dist/cjs/list/statusColors.native.js +109 -0
  43. package/dist/cjs/list/statusColors.native.js.map +1 -0
  44. package/dist/esm/FrappeForm.mjs +97 -53
  45. package/dist/esm/FrappeForm.mjs.map +1 -1
  46. package/dist/esm/FrappeForm.native.js +104 -53
  47. package/dist/esm/FrappeForm.native.js.map +1 -1
  48. package/dist/esm/FrappeFormActions.mjs +136 -0
  49. package/dist/esm/FrappeFormActions.mjs.map +1 -0
  50. package/dist/esm/FrappeFormActions.native.js +139 -0
  51. package/dist/esm/FrappeFormActions.native.js.map +1 -0
  52. package/dist/esm/FrappeTable.mjs +42 -13
  53. package/dist/esm/FrappeTable.mjs.map +1 -1
  54. package/dist/esm/FrappeTable.native.js +55 -19
  55. package/dist/esm/FrappeTable.native.js.map +1 -1
  56. package/dist/esm/desk/DeskFormPage.mjs +2 -1
  57. package/dist/esm/desk/DeskFormPage.mjs.map +1 -1
  58. package/dist/esm/desk/DeskFormPage.native.js +3 -0
  59. package/dist/esm/desk/DeskFormPage.native.js.map +1 -1
  60. package/dist/esm/filterFields.mjs +263 -34
  61. package/dist/esm/filterFields.mjs.map +1 -1
  62. package/dist/esm/filterFields.native.js +297 -36
  63. package/dist/esm/filterFields.native.js.map +1 -1
  64. package/dist/esm/formEngine/docLifecycle.mjs +68 -0
  65. package/dist/esm/formEngine/docLifecycle.mjs.map +1 -0
  66. package/dist/esm/formEngine/docLifecycle.native.js +98 -0
  67. package/dist/esm/formEngine/docLifecycle.native.js.map +1 -0
  68. package/dist/esm/formEngine/useAmendedAs.mjs +23 -0
  69. package/dist/esm/formEngine/useAmendedAs.mjs.map +1 -0
  70. package/dist/esm/formEngine/useAmendedAs.native.js +32 -0
  71. package/dist/esm/formEngine/useAmendedAs.native.js.map +1 -0
  72. package/dist/esm/formEngine/useDocRights.mjs +2 -2
  73. package/dist/esm/formEngine/useDocRights.mjs.map +1 -1
  74. package/dist/esm/formEngine/useDocRights.native.js +2 -2
  75. package/dist/esm/formEngine/useDocRights.native.js.map +1 -1
  76. package/dist/esm/formEngine/useFormEngine.mjs +1 -1
  77. package/dist/esm/formEngine/useFormEngine.mjs.map +1 -1
  78. package/dist/esm/formEngine/useFormEngine.native.js +1 -1
  79. package/dist/esm/formEngine/useFormEngine.native.js.map +1 -1
  80. package/dist/esm/index.mjs +6 -2
  81. package/dist/esm/index.mjs.map +1 -1
  82. package/dist/esm/index.native.js +6 -2
  83. package/dist/esm/index.native.js.map +1 -1
  84. package/dist/esm/list/listColumns.mjs +372 -0
  85. package/dist/esm/list/listColumns.mjs.map +1 -0
  86. package/dist/esm/list/listColumns.native.js +419 -0
  87. package/dist/esm/list/listColumns.native.js.map +1 -0
  88. package/dist/esm/list/listFields.mjs +23 -0
  89. package/dist/esm/list/listFields.mjs.map +1 -0
  90. package/dist/esm/list/listFields.native.js +49 -0
  91. package/dist/esm/list/listFields.native.js.map +1 -0
  92. package/dist/esm/list/listFormat.mjs +38 -0
  93. package/dist/esm/list/listFormat.mjs.map +1 -0
  94. package/dist/esm/list/listFormat.native.js +41 -0
  95. package/dist/esm/list/listFormat.native.js.map +1 -0
  96. package/dist/esm/list/statusColors.mjs +77 -0
  97. package/dist/esm/list/statusColors.mjs.map +1 -0
  98. package/dist/esm/list/statusColors.native.js +81 -0
  99. package/dist/esm/list/statusColors.native.js.map +1 -0
  100. package/dist/jsx/FrappeForm.mjs +97 -53
  101. package/dist/jsx/FrappeForm.mjs.map +1 -1
  102. package/dist/jsx/FrappeForm.native.js +103 -52
  103. package/dist/jsx/FrappeForm.native.js.map +1 -1
  104. package/dist/jsx/FrappeFormActions.mjs +136 -0
  105. package/dist/jsx/FrappeFormActions.mjs.map +1 -0
  106. package/dist/jsx/FrappeFormActions.native.js +167 -0
  107. package/dist/jsx/FrappeFormActions.native.js.map +1 -0
  108. package/dist/jsx/FrappeTable.mjs +42 -13
  109. package/dist/jsx/FrappeTable.mjs.map +1 -1
  110. package/dist/jsx/FrappeTable.native.js +55 -19
  111. package/dist/jsx/FrappeTable.native.js.map +1 -1
  112. package/dist/jsx/desk/DeskFormPage.mjs +2 -1
  113. package/dist/jsx/desk/DeskFormPage.mjs.map +1 -1
  114. package/dist/jsx/desk/DeskFormPage.native.js +3 -0
  115. package/dist/jsx/desk/DeskFormPage.native.js.map +1 -1
  116. package/dist/jsx/filterFields.mjs +263 -34
  117. package/dist/jsx/filterFields.mjs.map +1 -1
  118. package/dist/jsx/filterFields.native.js +311 -36
  119. package/dist/jsx/filterFields.native.js.map +1 -1
  120. package/dist/jsx/formEngine/docLifecycle.mjs +68 -0
  121. package/dist/jsx/formEngine/docLifecycle.mjs.map +1 -0
  122. package/dist/jsx/formEngine/docLifecycle.native.js +131 -0
  123. package/dist/jsx/formEngine/docLifecycle.native.js.map +1 -0
  124. package/dist/jsx/formEngine/useAmendedAs.mjs +23 -0
  125. package/dist/jsx/formEngine/useAmendedAs.mjs.map +1 -0
  126. package/dist/jsx/formEngine/useAmendedAs.native.js +60 -0
  127. package/dist/jsx/formEngine/useAmendedAs.native.js.map +1 -0
  128. package/dist/jsx/formEngine/useDocRights.mjs +2 -2
  129. package/dist/jsx/formEngine/useDocRights.mjs.map +1 -1
  130. package/dist/jsx/formEngine/useDocRights.native.js +2 -2
  131. package/dist/jsx/formEngine/useDocRights.native.js.map +1 -1
  132. package/dist/jsx/formEngine/useFormEngine.mjs +1 -1
  133. package/dist/jsx/formEngine/useFormEngine.mjs.map +1 -1
  134. package/dist/jsx/formEngine/useFormEngine.native.js +1 -0
  135. package/dist/jsx/formEngine/useFormEngine.native.js.map +1 -1
  136. package/dist/jsx/index.js +6 -2
  137. package/dist/jsx/index.js.map +1 -1
  138. package/dist/jsx/index.mjs +6 -2
  139. package/dist/jsx/index.mjs.map +1 -1
  140. package/dist/jsx/index.native.js +30 -1
  141. package/dist/jsx/index.native.js.map +1 -1
  142. package/dist/jsx/list/listColumns.mjs +372 -0
  143. package/dist/jsx/list/listColumns.mjs.map +1 -0
  144. package/dist/jsx/list/listColumns.native.js +447 -0
  145. package/dist/jsx/list/listColumns.native.js.map +1 -0
  146. package/dist/jsx/list/listFields.mjs +23 -0
  147. package/dist/jsx/list/listFields.mjs.map +1 -0
  148. package/dist/jsx/list/listFields.native.js +79 -0
  149. package/dist/jsx/list/listFields.native.js.map +1 -0
  150. package/dist/jsx/list/listFormat.mjs +38 -0
  151. package/dist/jsx/list/listFormat.mjs.map +1 -0
  152. package/dist/jsx/list/listFormat.native.js +74 -0
  153. package/dist/jsx/list/listFormat.native.js.map +1 -0
  154. package/dist/jsx/list/statusColors.mjs +77 -0
  155. package/dist/jsx/list/statusColors.mjs.map +1 -0
  156. package/dist/jsx/list/statusColors.native.js +109 -0
  157. package/dist/jsx/list/statusColors.native.js.map +1 -0
  158. package/package.json +22 -16
  159. package/src/FrappeForm.deskSemantics.spec.tsx +1 -1
  160. package/src/FrappeForm.lifecycle.spec.tsx +463 -0
  161. package/src/FrappeForm.lifecycle.stories.tsx +84 -0
  162. package/src/FrappeForm.tsx +124 -84
  163. package/src/FrappeFormActions.tsx +216 -0
  164. package/src/FrappeTable.defaultColumns.spec.tsx +229 -0
  165. package/src/FrappeTable.tsx +79 -32
  166. package/src/desk/DeskFormPage.tsx +1 -0
  167. package/src/filterFields.spec.ts +57 -2
  168. package/src/filterFields.ts +365 -38
  169. package/src/formEngine/docLifecycle.spec.ts +195 -0
  170. package/src/formEngine/docLifecycle.ts +148 -0
  171. package/src/formEngine/useAmendedAs.ts +38 -0
  172. package/src/formEngine/useDocRights.ts +11 -3
  173. package/src/formEngine/useFormEngine.ts +1 -1
  174. package/src/frappeViews.designLaw.spec.ts +6 -0
  175. package/src/index.ts +47 -1
  176. package/src/list/listColumns.tsx +488 -0
  177. package/src/list/listFields.spec.ts +147 -0
  178. package/src/list/listFields.ts +68 -0
  179. package/src/list/listFormat.spec.ts +151 -0
  180. package/src/list/listFormat.ts +80 -0
  181. package/src/list/seam.spec.ts +116 -0
  182. package/src/list/statusColors.spec.ts +100 -0
  183. package/src/list/statusColors.ts +94 -0
  184. package/types/FrappeForm.d.ts +13 -3
  185. package/types/FrappeForm.d.ts.map +1 -1
  186. package/types/FrappeFormActions.d.ts +36 -0
  187. package/types/FrappeFormActions.d.ts.map +1 -0
  188. package/types/FrappeTable.d.ts +11 -5
  189. package/types/FrappeTable.d.ts.map +1 -1
  190. package/types/desk/DeskFormPage.d.ts.map +1 -1
  191. package/types/filterFields.d.ts +81 -10
  192. package/types/filterFields.d.ts.map +1 -1
  193. package/types/formEngine/docLifecycle.d.ts +59 -0
  194. package/types/formEngine/docLifecycle.d.ts.map +1 -0
  195. package/types/formEngine/useAmendedAs.d.ts +9 -0
  196. package/types/formEngine/useAmendedAs.d.ts.map +1 -0
  197. package/types/formEngine/useDocRights.d.ts +1 -1
  198. package/types/formEngine/useDocRights.d.ts.map +1 -1
  199. package/types/formEngine/useFormEngine.d.ts +1 -0
  200. package/types/formEngine/useFormEngine.d.ts.map +1 -1
  201. package/types/index.d.ts +5 -1
  202. package/types/index.d.ts.map +1 -1
  203. package/types/list/listColumns.d.ts +41 -0
  204. package/types/list/listColumns.d.ts.map +1 -0
  205. package/types/list/listFields.d.ts +16 -0
  206. package/types/list/listFields.d.ts.map +1 -0
  207. package/types/list/listFormat.d.ts +30 -0
  208. package/types/list/listFormat.d.ts.map +1 -0
  209. package/types/list/statusColors.d.ts +14 -0
  210. package/types/list/statusColors.d.ts.map +1 -0
@@ -0,0 +1,167 @@
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 FrappeFormActions_exports = {};
26
+ __export(FrappeFormActions_exports, {
27
+ FrappeFormActions: () => FrappeFormActions
28
+ });
29
+ module.exports = __toCommonJS(FrappeFormActions_exports);
30
+ var import_jsx_runtime = require("react/jsx-runtime");
31
+ var import_components = require("@multiplatform.one/components");
32
+ var import_forms = require("@multiplatform.one/forms");
33
+ var import_theme = require("@multiplatform.one/theme");
34
+ var import_react = require("@phosphor-icons/react");
35
+ var import_react_i18next = require("react-i18next");
36
+ var import_tamagui = require("tamagui");
37
+ var indicatorColors = {
38
+ notSaved: "orange",
39
+ draft: "red",
40
+ submitted: "blue",
41
+ cancelled: "red"
42
+ };
43
+ function FrappeFormActions(param) {
44
+ var {
45
+ indicator,
46
+ action,
47
+ busy,
48
+ disabled,
49
+ onSave,
50
+ onSubmit,
51
+ onCancelDocument,
52
+ onAmend,
53
+ amendedAs,
54
+ onDelete,
55
+ onEdit,
56
+ onClose,
57
+ closeDisabled
58
+ } = param;
59
+ var {
60
+ t
61
+ } = (0, import_react_i18next.useTranslation)();
62
+ var {
63
+ knobProps
64
+ } = (0, import_theme.useResolvedKnobs)();
65
+ var readOnlyReason = t("Form is read-only");
66
+ var indicatorLabels = {
67
+ notSaved: t("Not Saved"),
68
+ draft: t("Draft"),
69
+ submitted: t("Submitted"),
70
+ cancelled: t("Cancelled")
71
+ };
72
+ return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
73
+ ...knobProps.gap,
74
+ justifyContent: "flex-end",
75
+ alignItems: "center",
76
+ paddingTop: "$3",
77
+ testID: "frappe-form-actions",
78
+ children: [indicator && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.XStack, {
79
+ flex: 1,
80
+ alignItems: "center",
81
+ testID: `frappe-form-status-${indicator}`,
82
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Chip, {
83
+ size: "$2",
84
+ variant: "subtle",
85
+ color: indicatorColors[indicator],
86
+ children: indicatorLabels[indicator]
87
+ })
88
+ }), onDelete && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
89
+ outlined: true,
90
+ error: true,
91
+ icon: import_react.TrashIcon,
92
+ loading: busy,
93
+ disabled,
94
+ disabledReason: disabled ? readOnlyReason : void 0,
95
+ disabledReasonPlacement: "inline",
96
+ onPress: onDelete,
97
+ children: t("Delete")
98
+ }), onClose && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
99
+ outlined: true,
100
+ icon: import_react.XIcon,
101
+ disabled: closeDisabled,
102
+ disabledReason: closeDisabled ? readOnlyReason : void 0,
103
+ disabledReasonPlacement: "inline",
104
+ onPress: onClose,
105
+ testID: "frappe-form-close",
106
+ children: (/* A submitted document's own Cancel sits beside this button. */
107
+ action === "cancel" ? t("Close") : t("Cancel"))
108
+ }), action === "cancel" && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
109
+ outlined: true,
110
+ error: true,
111
+ actionRole: "secondary",
112
+ icon: import_react.ProhibitIcon,
113
+ loading: busy,
114
+ disabled,
115
+ disabledReason: disabled ? readOnlyReason : void 0,
116
+ disabledReasonPlacement: "inline",
117
+ onPress: onCancelDocument,
118
+ testID: "frappe-form-cancel-document",
119
+ children: t("Cancel Document")
120
+ }), onEdit && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
121
+ accent: action !== "submit",
122
+ outlined: action === "submit",
123
+ icon: import_react.PencilSimpleIcon,
124
+ disabled,
125
+ disabledReason: disabled ? readOnlyReason : void 0,
126
+ disabledReasonPlacement: "inline",
127
+ onPress: onEdit,
128
+ testID: "frappe-form-edit",
129
+ children: t("Edit")
130
+ }), action === "amend" && onAmend && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
131
+ // Desk demotes Amend to a secondary action once the document is amended.
132
+ accent: !amendedAs,
133
+ outlined: Boolean(amendedAs),
134
+ icon: import_react.ArrowCounterClockwiseIcon,
135
+ loading: busy,
136
+ disabled: disabled || Boolean(amendedAs),
137
+ disabledReason: amendedAs ? t("Already amended as {{name}}", {
138
+ name: amendedAs
139
+ }) : disabled ? readOnlyReason : void 0,
140
+ disabledReasonPlacement: "inline",
141
+ onPress: onAmend,
142
+ testID: "frappe-form-amend",
143
+ children: t("Amend")
144
+ }), action === "submit" && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
145
+ accent: true,
146
+ icon: import_react.CheckCircleIcon,
147
+ loading: busy,
148
+ disabled,
149
+ disabledReason: disabled ? readOnlyReason : void 0,
150
+ disabledReasonPlacement: "inline",
151
+ onPress: onSubmit,
152
+ testID: "frappe-form-submit",
153
+ children: t("Submit")
154
+ }), (action === "save" || action === "update") && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
155
+ accent: true,
156
+ icon: import_react.FloppyDiskIcon,
157
+ loading: busy,
158
+ disabled,
159
+ disabledReason: disabled ? readOnlyReason : void 0,
160
+ disabledReasonPlacement: "inline",
161
+ onPress: onSave,
162
+ testID: "frappe-form-save",
163
+ children: busy ? t("Saving...") : action === "update" ? t("Update") : t("Save")
164
+ })]
165
+ });
166
+ }
167
+ //# sourceMappingURL=FrappeFormActions.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","FrappeFormActions_exports","FrappeFormActions","module","exports","import_jsx_runtime","require","import_components","import_forms","import_theme","import_react","import_react_i18next","import_tamagui","indicatorColors","notSaved","draft","submitted","cancelled","param","indicator","action","busy","disabled","onSave","onSubmit","onCancelDocument","onAmend","amendedAs","onDelete","onEdit","onClose","closeDisabled","t","useTranslation","knobProps","useResolvedKnobs","readOnlyReason","indicatorLabels","jsxs","XStack","gap","justifyContent","alignItems","paddingTop","testID","children","jsx","flex","Chip","size","variant","color","Button","outlined","error","icon","TrashIcon","loading","disabledReason","disabledReasonPlacement","onPress","XIcon","actionRole","ProhibitIcon","accent","PencilSimpleIcon","Boolean","ArrowCounterClockwiseIcon","CheckCircleIcon","FloppyDiskIcon"],"sources":["../../src/FrappeFormActions.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -9,7 +9,10 @@ import { FilterManager, SavedFilterDropdown, useSavedFilters } from "@multiplatf
9
9
  import { useFrappeConfig } from "./FrappeProvider.mjs";
10
10
  import { FrappeReconnectIndicator } from "./FrappeReconnectIndicator.mjs";
11
11
  import { docFieldsToFilterFields } from "./filterFields.mjs";
12
+ import { buildPermLevelMatrix } from "./formEngine/fieldPermissions.mjs";
12
13
  import { useDocRights } from "./formEngine/useDocRights.mjs";
14
+ import { buildListColumns } from "./list/listColumns.mjs";
15
+ import { listFieldsToFetch } from "./list/listFields.mjs";
13
16
  import { useFrappeRows } from "./useFrappeRows.mjs";
14
17
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
15
18
  function filterValueToFrappeTuple(fieldname, filterValue) {
@@ -125,7 +128,7 @@ function FrappeTable({
125
128
  auth,
126
129
  syncOptions,
127
130
  doctype,
128
- columns,
131
+ columns: columnsProp,
129
132
  fields,
130
133
  filters: initialFilters,
131
134
  onRowClick,
@@ -142,6 +145,7 @@ function FrappeTable({
142
145
  filterableFields: filterableFieldsProp,
143
146
  rights: rightsProp,
144
147
  layout,
148
+ initialState,
145
149
  ...dataTableProps
146
150
  }) {
147
151
  const infiniteServerMode = serverSide && paginationMode === "infinite";
@@ -182,10 +186,8 @@ function FrappeTable({
182
186
  if (!serverSide || !finalBaseURL) return null;
183
187
  return new FrappeApp(finalBaseURL, finalAuth ?? {});
184
188
  }, [serverSide, finalBaseURL, finalAuth]);
185
- const columnFieldsKey = fields ? void 0 : JSON.stringify(columns.map(column => column.accessorKey).filter(key => typeof key === "string"));
186
- const serverFields = useMemo(() => fields ? fields : Array.from(/* @__PURE__ */new Set(["name", ...JSON.parse(columnFieldsKey ?? "[]")])), [fields, columnFieldsKey]);
187
- const clientFields = fields ?? (connectionConfig.fixtures ? void 0 : serverFields);
188
- const skipMeta = !!filterableFieldsProp && (!!rightsProp || !!connectionConfig.fixtures);
189
+ const deriveColumns = !columnsProp;
190
+ const skipMeta = !deriveColumns && !!filterableFieldsProp && (!!rightsProp || !!connectionConfig.fixtures);
189
191
  const metaConnection = useMemo(() => {
190
192
  if (skipMeta) return void 0;
191
193
  if (!connectionConfig.fixtures) return connectionConfig;
@@ -195,12 +197,36 @@ function FrappeTable({
195
197
  };
196
198
  }, [skipMeta, connectionConfig]);
197
199
  const {
198
- meta
200
+ meta,
201
+ isLoading: isMetaLoading
199
202
  } = useDocTypeMeta(metaConnection, doctype);
203
+ const readSession = !rightsProp || deriveColumns;
200
204
  const {
201
- rights: resolvedRights
202
- } = useDocRights(rightsProp ? void 0 : connectionConfig, rightsProp ? void 0 : meta);
205
+ rights: resolvedRights,
206
+ pending: rolesPending,
207
+ user: sessionUser,
208
+ roles: sessionRoles
209
+ } = useDocRights(readSession ? connectionConfig : void 0, readSession ? meta : void 0);
203
210
  const rights = rightsProp ?? resolvedRights;
211
+ const permMatrix = useMemo(() => deriveColumns ? buildPermLevelMatrix(meta?.permissions, sessionRoles) : void 0, [deriveColumns, meta?.permissions, sessionRoles]);
212
+ const derivedColumns = useMemo(() => deriveColumns ? buildListColumns({
213
+ meta,
214
+ t: (_key, fallback) => t(fallback),
215
+ sessionUser,
216
+ permMatrix
217
+ }) : void 0, [deriveColumns, meta, t, sessionUser, permMatrix]);
218
+ const columns = columnsProp ?? derivedColumns ?? [];
219
+ const columnsPending = deriveColumns && (isMetaLoading || rolesPending);
220
+ const resolvedInitialState = deriveColumns ? {
221
+ ...initialState,
222
+ columnVisibility: {
223
+ modified: false,
224
+ ...initialState?.columnVisibility
225
+ }
226
+ } : initialState;
227
+ const columnFieldsKey = fields ? void 0 : JSON.stringify(deriveColumns ? listFieldsToFetch(meta, permMatrix) : columns.map(column => column.accessorKey).filter(key => typeof key === "string"));
228
+ const serverFields = useMemo(() => fields ? fields : Array.from(/* @__PURE__ */new Set(["name", ...JSON.parse(columnFieldsKey ?? "[]")])), [fields, columnFieldsKey]);
229
+ const clientFields = fields ?? (connectionConfig.fixtures ? void 0 : serverFields);
204
230
  const metaFilterFields = useMemo(() => meta?.fields ? docFieldsToFilterFields(meta.fields) : void 0, [meta]);
205
231
  const filterableFields = filterableFieldsProp ?? metaFilterFields;
206
232
  const titleField = meta?.title_field;
@@ -338,7 +364,7 @@ function FrappeTable({
338
364
  if (serverSide && !infiniteServerMode) fetchServerData(state);
339
365
  }, [onStateChangeProp, serverSide, infiniteServerMode, fetchServerData]);
340
366
  useEffect(() => {
341
- if (serverSide && !infiniteServerMode && frappeApp) {
367
+ if (serverSide && !infiniteServerMode && frappeApp && !columnsPending) {
342
368
  lastFetchKey.current = "";
343
369
  fetchServerData(lastStateRef.current ?? {
344
370
  data: [],
@@ -355,7 +381,7 @@ function FrappeTable({
355
381
  columnSizing: {}
356
382
  });
357
383
  }
358
- }, [serverSide, infiniteServerMode, !!frappeApp, fetchServerData]);
384
+ }, [serverSide, infiniteServerMode, !!frappeApp, columnsPending, fetchServerData]);
359
385
  const savedFiltersHook = useSavedFilters({
360
386
  userId
361
387
  });
@@ -378,11 +404,11 @@ function FrappeTable({
378
404
  fields: clientFields,
379
405
  filters: activeFilters,
380
406
  limit: null,
381
- enabled: !serverSide,
407
+ enabled: !serverSide && !columnsPending,
382
408
  messages: rowsMessages
383
409
  });
384
410
  const lastGoodClientRows = useRef(null);
385
- if (!serverSide && !isRowsLoading) lastGoodClientRows.current = clientRows;
411
+ if (!serverSide && !isRowsLoading && !columnsPending) lastGoodClientRows.current = clientRows;
386
412
  const clientRowsResolved = useMemo(() => {
387
413
  if (serverSide) return clientRows;
388
414
  if (!isRowsLoading || !lastGoodClientRows.current) return clientRows;
@@ -420,7 +446,7 @@ function FrappeTable({
420
446
  const rowData = rows ?? [];
421
447
  const boundaryState = resolvedError ? {
422
448
  error: resolvedError
423
- } : isRowsLoadingResolved ? {
449
+ } : isRowsLoadingResolved || columnsPending ? {
424
450
  loading: loading ?? true
425
451
  } : rowData.length === 0 && !infiniteServerMode && !isFetching ? {
426
452
  empty: true
@@ -490,6 +516,9 @@ function FrappeTable({
490
516
  ...(filterableFields ? {
491
517
  filterableFields
492
518
  } : {}),
519
+ ...(resolvedInitialState ? {
520
+ initialState: resolvedInitialState
521
+ } : {}),
493
522
  isFetching,
494
523
  ...dataTableProps,
495
524
  readOnly: dataTableProps.readOnly || !rights.write,
@@ -1 +1 @@
1
- {"version":3,"names":["FrappeApp","Order","matchesFilters","useDocTypeMeta","useFrappeDoctypeEvents","DataTable","AsyncBoundary","useResolvedKnobs","React","useCallback","useEffect","useMemo","useRef","useState","useTranslation","XStack","YStack","FilterManager","SavedFilterDropdown","useSavedFilters","useFrappeConfig","FrappeReconnectIndicator","docFieldsToFilterFields","useDocRights","useFrappeRows","Fragment","jsx","jsxs","filterValueToFrappeTuple","fieldname","filterValue","operator","value","values","wrap","pattern","includes","length","isOperatorFilterValue","sortRowsLocally","rows","orderBy","sort","a","b","field","order","av","bv","Asc","stateToFrappeParams","state","pagination","sorting","filters","columnFilters","globalFilter","limitStart","pageIndex","pageSize","limit","frappeFilters","f","tuple","columnId","push","cf","id","trim","map","s","desc","Desc","FrappeTable","baseURL","auth","syncOptions","doctype","columns","fields","initialFilters","onRowClick","loading","error","savedFilters","canCreateGlobalFilters","userId","serverSide","onStateChange","onStateChangeProp","refreshToken","paginationMode","loadPage","loadPageProp","filterableFields","filterableFieldsProp","rights","rightsProp","layout","dataTableProps","infiniteServerMode","knobProps","t","errorState","setErrorState","activeFilters","setActiveFilters","config","filtersPropKey","JSON","stringify","adoptedFiltersPropRef","current","parse","finalBaseURL","finalAuth","finalSyncOptions","fixtures","Error","connectionConfig","socketPort","siteName","socketBaseURL","realtime","frappeApp","columnFieldsKey","column","accessorKey","filter","key","serverFields","Array","from","Set","clientFields","skipMeta","metaConnection","meta","resolvedRights","metaFilterFields","titleField","title_field","rowLabel","row","fromTitle","String","name","serverData","setServerData","serverRowCount","setServerRowCount","serverLoading","setServerLoading","hasLoadedOnce","setHasLoadedOnce","hasLoadedOnceRef","lastFetchKey","fetchSeq","fetchAbortRef","lastStateRef","lastFiltersKey","lastSortKey","lastGoodServerRows","fetchServerData","params","filtersKey","sortKey","alreadyLoaded","filtersChanged","sortChanged","previous","next","narrowed","abort","controller","AbortController","seq","data","count","Promise","all","db","getDocList","signal","getCount","err","aborted","liveRefetchTimer","clearTimeout","setTimeout","refreshTokenSeen","frappeLoadPage","query","resolve","rows2","totalCount","resolvedLoadPage","handleStateChange","columnVisibility","columnOrder","c","columnSizing","savedFiltersHook","rowsMessages","permission","generic","queryFailed","clientRows","isQueryLoading","isRowsLoading","liveError","enabled","messages","lastGoodClientRows","clientRowsResolved","held","serverRowsResolved","isRowsLoadingResolved","isFetching","handleSelectFilter","handleSaveFilter","filterName","isGlobal","filterArray","isArray","Object","entries","saveFilter","handleDeleteFilter","deleteFilter","resolvedError","children","rowData","boundaryState","empty","gap","flexGrow","flexShrink","flexBasis","minHeight","errorTitle","emptyTitle","padding","selectedFilter","onSelectFilter","onDeleteFilter","currentFilters","onSaveFilter","canCreateGlobal","onRowPress","manualFiltering","manualPagination","manualSorting","rowCount","readOnly","write","showAddRow","create","showDeleteRow","delete"],"sources":["../../src/FrappeTable.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["FrappeApp","Order","matchesFilters","useDocTypeMeta","useFrappeDoctypeEvents","DataTable","AsyncBoundary","useResolvedKnobs","React","useCallback","useEffect","useMemo","useRef","useState","useTranslation","XStack","YStack","FilterManager","SavedFilterDropdown","useSavedFilters","useFrappeConfig","FrappeReconnectIndicator","docFieldsToFilterFields","buildPermLevelMatrix","useDocRights","buildListColumns","listFieldsToFetch","useFrappeRows","Fragment","jsx","jsxs","filterValueToFrappeTuple","fieldname","filterValue","operator","value","values","wrap","pattern","includes","length","isOperatorFilterValue","sortRowsLocally","rows","orderBy","sort","a","b","field","order","av","bv","Asc","stateToFrappeParams","state","pagination","sorting","filters","columnFilters","globalFilter","limitStart","pageIndex","pageSize","limit","frappeFilters","f","tuple","columnId","push","cf","id","trim","map","s","desc","Desc","FrappeTable","baseURL","auth","syncOptions","doctype","columns","columnsProp","fields","initialFilters","onRowClick","loading","error","savedFilters","canCreateGlobalFilters","userId","serverSide","onStateChange","onStateChangeProp","refreshToken","paginationMode","loadPage","loadPageProp","filterableFields","filterableFieldsProp","rights","rightsProp","layout","initialState","dataTableProps","infiniteServerMode","knobProps","t","errorState","setErrorState","activeFilters","setActiveFilters","config","filtersPropKey","JSON","stringify","adoptedFiltersPropRef","current","parse","finalBaseURL","finalAuth","finalSyncOptions","fixtures","Error","connectionConfig","socketPort","siteName","socketBaseURL","realtime","frappeApp","deriveColumns","skipMeta","metaConnection","meta","isLoading","isMetaLoading","readSession","resolvedRights","pending","rolesPending","user","sessionUser","roles","sessionRoles","permMatrix","permissions","derivedColumns","_key","fallback","columnsPending","resolvedInitialState","columnVisibility","modified","columnFieldsKey","column","accessorKey","filter","key","serverFields","Array","from","Set","clientFields","metaFilterFields","titleField","title_field","rowLabel","row","fromTitle","String","name","serverData","setServerData","serverRowCount","setServerRowCount","serverLoading","setServerLoading","hasLoadedOnce","setHasLoadedOnce","hasLoadedOnceRef","lastFetchKey","fetchSeq","fetchAbortRef","lastStateRef","lastFiltersKey","lastSortKey","lastGoodServerRows","fetchServerData","params","filtersKey","sortKey","alreadyLoaded","filtersChanged","sortChanged","previous","next","narrowed","abort","controller","AbortController","seq","data","count","Promise","all","db","getDocList","signal","getCount","err","aborted","liveRefetchTimer","clearTimeout","setTimeout","refreshTokenSeen","frappeLoadPage","query","resolve","rows2","totalCount","resolvedLoadPage","handleStateChange","columnOrder","c","columnSizing","savedFiltersHook","rowsMessages","permission","generic","queryFailed","clientRows","isQueryLoading","isRowsLoading","liveError","enabled","messages","lastGoodClientRows","clientRowsResolved","held","serverRowsResolved","isRowsLoadingResolved","isFetching","handleSelectFilter","handleSaveFilter","filterName","isGlobal","filterArray","isArray","Object","entries","saveFilter","handleDeleteFilter","deleteFilter","resolvedError","children","rowData","boundaryState","empty","gap","flexGrow","flexShrink","flexBasis","minHeight","errorTitle","emptyTitle","padding","selectedFilter","onSelectFilter","onDeleteFilter","currentFilters","onSaveFilter","canCreateGlobal","onRowPress","manualFiltering","manualPagination","manualSorting","rowCount","readOnly","write","showAddRow","create","showDeleteRow","delete"],"sources":["../../src/FrappeTable.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -51,7 +51,10 @@ var import_table2 = require("@multiplatform.one/table");
51
51
  var import_FrappeProvider = require("./FrappeProvider.native.js");
52
52
  var import_FrappeReconnectIndicator = require("./FrappeReconnectIndicator.native.js");
53
53
  var import_filterFields = require("./filterFields.native.js");
54
+ var import_fieldPermissions = require("./formEngine/fieldPermissions.native.js");
54
55
  var import_useDocRights = require("./formEngine/useDocRights.native.js");
56
+ var import_listColumns = require("./list/listColumns.native.js");
57
+ var import_listFields = require("./list/listFields.native.js");
55
58
  var import_useFrappeRows = require("./useFrappeRows.native.js");
56
59
  function _instanceof(left, right) {
57
60
  "@swc/helpers - instanceof";
@@ -243,7 +246,7 @@ function FrappeTable(param) {
243
246
  auth,
244
247
  syncOptions,
245
248
  doctype,
246
- columns,
249
+ columns: columnsProp,
247
250
  fields,
248
251
  filters: initialFilters,
249
252
  onRowClick,
@@ -260,8 +263,10 @@ function FrappeTable(param) {
260
263
  filterableFields: filterableFieldsProp,
261
264
  rights: rightsProp,
262
265
  layout,
266
+ initialState,
263
267
  ...dataTableProps
264
268
  } = param;
269
+ var _ref;
265
270
  var infiniteServerMode = serverSide && paginationMode === "infinite";
266
271
  var {
267
272
  knobProps
@@ -302,16 +307,8 @@ function FrappeTable(param) {
302
307
  if (!serverSide || !finalBaseURL) return null;
303
308
  return new import_frappe.FrappeApp(finalBaseURL, finalAuth !== null && finalAuth !== void 0 ? finalAuth : {});
304
309
  }, [serverSide, finalBaseURL, finalAuth]);
305
- var columnFieldsKey = fields ? void 0 : JSON.stringify(columns.map(function (column) {
306
- return column.accessorKey;
307
- }).filter(function (key) {
308
- return typeof key === "string";
309
- }));
310
- var serverFields = (0, import_react.useMemo)(function () {
311
- return fields ? fields : Array.from(/* @__PURE__ */new Set(["name", ...JSON.parse(columnFieldsKey !== null && columnFieldsKey !== void 0 ? columnFieldsKey : "[]")]));
312
- }, [fields, columnFieldsKey]);
313
- var clientFields = fields !== null && fields !== void 0 ? fields : connectionConfig.fixtures ? void 0 : serverFields;
314
- var skipMeta = !!filterableFieldsProp && (!!rightsProp || !!connectionConfig.fixtures);
310
+ var deriveColumns = !columnsProp;
311
+ var skipMeta = !deriveColumns && !!filterableFieldsProp && (!!rightsProp || !!connectionConfig.fixtures);
315
312
  var metaConnection = (0, import_react.useMemo)(function () {
316
313
  if (skipMeta) return void 0;
317
314
  if (!connectionConfig.fixtures) return connectionConfig;
@@ -321,12 +318,48 @@ function FrappeTable(param) {
321
318
  };
322
319
  }, [skipMeta, connectionConfig]);
323
320
  var {
324
- meta
321
+ meta,
322
+ isLoading: isMetaLoading
325
323
  } = (0, import_frappe.useDocTypeMeta)(metaConnection, doctype);
324
+ var readSession = !rightsProp || deriveColumns;
326
325
  var {
327
- rights: resolvedRights
328
- } = (0, import_useDocRights.useDocRights)(rightsProp ? void 0 : connectionConfig, rightsProp ? void 0 : meta);
326
+ rights: resolvedRights,
327
+ pending: rolesPending,
328
+ user: sessionUser,
329
+ roles: sessionRoles
330
+ } = (0, import_useDocRights.useDocRights)(readSession ? connectionConfig : void 0, readSession ? meta : void 0);
329
331
  var rights = rightsProp !== null && rightsProp !== void 0 ? rightsProp : resolvedRights;
332
+ var permMatrix = (0, import_react.useMemo)(function () {
333
+ return deriveColumns ? (0, import_fieldPermissions.buildPermLevelMatrix)(meta === null || meta === void 0 ? void 0 : meta.permissions, sessionRoles) : void 0;
334
+ }, [deriveColumns, meta === null || meta === void 0 ? void 0 : meta.permissions, sessionRoles]);
335
+ var derivedColumns = (0, import_react.useMemo)(function () {
336
+ return deriveColumns ? (0, import_listColumns.buildListColumns)({
337
+ meta,
338
+ t: function t1(_key, fallback) {
339
+ return t(fallback);
340
+ },
341
+ sessionUser,
342
+ permMatrix
343
+ }) : void 0;
344
+ }, [deriveColumns, meta, t, sessionUser, permMatrix]);
345
+ var columns = (_ref = columnsProp !== null && columnsProp !== void 0 ? columnsProp : derivedColumns) !== null && _ref !== void 0 ? _ref : [];
346
+ var columnsPending = deriveColumns && (isMetaLoading || rolesPending);
347
+ var resolvedInitialState = deriveColumns ? {
348
+ ...initialState,
349
+ columnVisibility: {
350
+ modified: false,
351
+ ...(initialState === null || initialState === void 0 ? void 0 : initialState.columnVisibility)
352
+ }
353
+ } : initialState;
354
+ var columnFieldsKey = fields ? void 0 : JSON.stringify(deriveColumns ? (0, import_listFields.listFieldsToFetch)(meta, permMatrix) : columns.map(function (column) {
355
+ return column.accessorKey;
356
+ }).filter(function (key) {
357
+ return typeof key === "string";
358
+ }));
359
+ var serverFields = (0, import_react.useMemo)(function () {
360
+ return fields ? fields : Array.from(/* @__PURE__ */new Set(["name", ...JSON.parse(columnFieldsKey !== null && columnFieldsKey !== void 0 ? columnFieldsKey : "[]")]));
361
+ }, [fields, columnFieldsKey]);
362
+ var clientFields = fields !== null && fields !== void 0 ? fields : connectionConfig.fixtures ? void 0 : serverFields;
330
363
  var metaFilterFields = (0, import_react.useMemo)(function () {
331
364
  return (meta === null || meta === void 0 ? void 0 : meta.fields) ? (0, import_filterFields.docFieldsToFilterFields)(meta.fields) : void 0;
332
365
  }, [meta]);
@@ -474,7 +507,7 @@ function FrappeTable(param) {
474
507
  if (serverSide && !infiniteServerMode) fetchServerData(state);
475
508
  }, [onStateChangeProp, serverSide, infiniteServerMode, fetchServerData]);
476
509
  (0, import_react.useEffect)(function () {
477
- if (serverSide && !infiniteServerMode && frappeApp) {
510
+ if (serverSide && !infiniteServerMode && frappeApp && !columnsPending) {
478
511
  var _lastStateRef_current;
479
512
  lastFetchKey.current = "";
480
513
  fetchServerData((_lastStateRef_current = lastStateRef.current) !== null && _lastStateRef_current !== void 0 ? _lastStateRef_current : {
@@ -495,7 +528,7 @@ function FrappeTable(param) {
495
528
  columnSizing: {}
496
529
  });
497
530
  }
498
- }, [serverSide, infiniteServerMode, !!frappeApp, fetchServerData]);
531
+ }, [serverSide, infiniteServerMode, !!frappeApp, columnsPending, fetchServerData]);
499
532
  var savedFiltersHook = (0, import_table2.useSavedFilters)({
500
533
  userId
501
534
  });
@@ -520,11 +553,11 @@ function FrappeTable(param) {
520
553
  fields: clientFields,
521
554
  filters: activeFilters,
522
555
  limit: null,
523
- enabled: !serverSide,
556
+ enabled: !serverSide && !columnsPending,
524
557
  messages: rowsMessages
525
558
  });
526
559
  var lastGoodClientRows = (0, import_react.useRef)(null);
527
- if (!serverSide && !isRowsLoading) lastGoodClientRows.current = clientRows;
560
+ if (!serverSide && !isRowsLoading && !columnsPending) lastGoodClientRows.current = clientRows;
528
561
  var clientRowsResolved = (0, import_react.useMemo)(function () {
529
562
  if (serverSide) return clientRows;
530
563
  if (!isRowsLoading || !lastGoodClientRows.current) return clientRows;
@@ -567,7 +600,7 @@ function FrappeTable(param) {
567
600
  var rowData = rows !== null && rows !== void 0 ? rows : [];
568
601
  var boundaryState = resolvedError ? {
569
602
  error: resolvedError
570
- } : isRowsLoadingResolved ? {
603
+ } : isRowsLoadingResolved || columnsPending ? {
571
604
  loading: loading !== null && loading !== void 0 ? loading : true
572
605
  } : rowData.length === 0 && !infiniteServerMode && !isFetching ? {
573
606
  empty: true
@@ -655,6 +688,9 @@ function FrappeTable(param) {
655
688
  ...(filterableFields ? {
656
689
  filterableFields
657
690
  } : {}),
691
+ ...(resolvedInitialState ? {
692
+ initialState: resolvedInitialState
693
+ } : {}),
658
694
  isFetching,
659
695
  ...dataTableProps,
660
696
  readOnly: dataTableProps.readOnly || !rights.write,