@multiplatform.one/frappe-ui 7.22.0 → 7.23.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (222) 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/cjs/useFrappeAggregate.cjs +1 -1
  45. package/dist/cjs/useFrappeAggregate.native.js +1 -1
  46. package/dist/cjs/useFrappeAggregate.native.js.map +1 -1
  47. package/dist/esm/FrappeForm.mjs +97 -53
  48. package/dist/esm/FrappeForm.mjs.map +1 -1
  49. package/dist/esm/FrappeForm.native.js +104 -53
  50. package/dist/esm/FrappeForm.native.js.map +1 -1
  51. package/dist/esm/FrappeFormActions.mjs +136 -0
  52. package/dist/esm/FrappeFormActions.mjs.map +1 -0
  53. package/dist/esm/FrappeFormActions.native.js +139 -0
  54. package/dist/esm/FrappeFormActions.native.js.map +1 -0
  55. package/dist/esm/FrappeTable.mjs +42 -13
  56. package/dist/esm/FrappeTable.mjs.map +1 -1
  57. package/dist/esm/FrappeTable.native.js +55 -19
  58. package/dist/esm/FrappeTable.native.js.map +1 -1
  59. package/dist/esm/desk/DeskFormPage.mjs +2 -1
  60. package/dist/esm/desk/DeskFormPage.mjs.map +1 -1
  61. package/dist/esm/desk/DeskFormPage.native.js +3 -0
  62. package/dist/esm/desk/DeskFormPage.native.js.map +1 -1
  63. package/dist/esm/filterFields.mjs +263 -34
  64. package/dist/esm/filterFields.mjs.map +1 -1
  65. package/dist/esm/filterFields.native.js +297 -36
  66. package/dist/esm/filterFields.native.js.map +1 -1
  67. package/dist/esm/formEngine/docLifecycle.mjs +68 -0
  68. package/dist/esm/formEngine/docLifecycle.mjs.map +1 -0
  69. package/dist/esm/formEngine/docLifecycle.native.js +98 -0
  70. package/dist/esm/formEngine/docLifecycle.native.js.map +1 -0
  71. package/dist/esm/formEngine/useAmendedAs.mjs +23 -0
  72. package/dist/esm/formEngine/useAmendedAs.mjs.map +1 -0
  73. package/dist/esm/formEngine/useAmendedAs.native.js +32 -0
  74. package/dist/esm/formEngine/useAmendedAs.native.js.map +1 -0
  75. package/dist/esm/formEngine/useDocRights.mjs +2 -2
  76. package/dist/esm/formEngine/useDocRights.mjs.map +1 -1
  77. package/dist/esm/formEngine/useDocRights.native.js +2 -2
  78. package/dist/esm/formEngine/useDocRights.native.js.map +1 -1
  79. package/dist/esm/formEngine/useFormEngine.mjs +1 -1
  80. package/dist/esm/formEngine/useFormEngine.mjs.map +1 -1
  81. package/dist/esm/formEngine/useFormEngine.native.js +1 -1
  82. package/dist/esm/formEngine/useFormEngine.native.js.map +1 -1
  83. package/dist/esm/index.mjs +6 -2
  84. package/dist/esm/index.mjs.map +1 -1
  85. package/dist/esm/index.native.js +6 -2
  86. package/dist/esm/index.native.js.map +1 -1
  87. package/dist/esm/list/listColumns.mjs +372 -0
  88. package/dist/esm/list/listColumns.mjs.map +1 -0
  89. package/dist/esm/list/listColumns.native.js +419 -0
  90. package/dist/esm/list/listColumns.native.js.map +1 -0
  91. package/dist/esm/list/listFields.mjs +23 -0
  92. package/dist/esm/list/listFields.mjs.map +1 -0
  93. package/dist/esm/list/listFields.native.js +49 -0
  94. package/dist/esm/list/listFields.native.js.map +1 -0
  95. package/dist/esm/list/listFormat.mjs +38 -0
  96. package/dist/esm/list/listFormat.mjs.map +1 -0
  97. package/dist/esm/list/listFormat.native.js +41 -0
  98. package/dist/esm/list/listFormat.native.js.map +1 -0
  99. package/dist/esm/list/statusColors.mjs +77 -0
  100. package/dist/esm/list/statusColors.mjs.map +1 -0
  101. package/dist/esm/list/statusColors.native.js +81 -0
  102. package/dist/esm/list/statusColors.native.js.map +1 -0
  103. package/dist/esm/useFrappeAggregate.mjs +1 -1
  104. package/dist/esm/useFrappeAggregate.mjs.map +1 -1
  105. package/dist/esm/useFrappeAggregate.native.js +1 -1
  106. package/dist/esm/useFrappeAggregate.native.js.map +1 -1
  107. package/dist/jsx/FrappeForm.mjs +97 -53
  108. package/dist/jsx/FrappeForm.mjs.map +1 -1
  109. package/dist/jsx/FrappeForm.native.js +103 -52
  110. package/dist/jsx/FrappeForm.native.js.map +1 -1
  111. package/dist/jsx/FrappeFormActions.mjs +136 -0
  112. package/dist/jsx/FrappeFormActions.mjs.map +1 -0
  113. package/dist/jsx/FrappeFormActions.native.js +167 -0
  114. package/dist/jsx/FrappeFormActions.native.js.map +1 -0
  115. package/dist/jsx/FrappeTable.mjs +42 -13
  116. package/dist/jsx/FrappeTable.mjs.map +1 -1
  117. package/dist/jsx/FrappeTable.native.js +55 -19
  118. package/dist/jsx/FrappeTable.native.js.map +1 -1
  119. package/dist/jsx/desk/DeskFormPage.mjs +2 -1
  120. package/dist/jsx/desk/DeskFormPage.mjs.map +1 -1
  121. package/dist/jsx/desk/DeskFormPage.native.js +3 -0
  122. package/dist/jsx/desk/DeskFormPage.native.js.map +1 -1
  123. package/dist/jsx/filterFields.mjs +263 -34
  124. package/dist/jsx/filterFields.mjs.map +1 -1
  125. package/dist/jsx/filterFields.native.js +311 -36
  126. package/dist/jsx/filterFields.native.js.map +1 -1
  127. package/dist/jsx/formEngine/docLifecycle.mjs +68 -0
  128. package/dist/jsx/formEngine/docLifecycle.mjs.map +1 -0
  129. package/dist/jsx/formEngine/docLifecycle.native.js +131 -0
  130. package/dist/jsx/formEngine/docLifecycle.native.js.map +1 -0
  131. package/dist/jsx/formEngine/useAmendedAs.mjs +23 -0
  132. package/dist/jsx/formEngine/useAmendedAs.mjs.map +1 -0
  133. package/dist/jsx/formEngine/useAmendedAs.native.js +60 -0
  134. package/dist/jsx/formEngine/useAmendedAs.native.js.map +1 -0
  135. package/dist/jsx/formEngine/useDocRights.mjs +2 -2
  136. package/dist/jsx/formEngine/useDocRights.mjs.map +1 -1
  137. package/dist/jsx/formEngine/useDocRights.native.js +2 -2
  138. package/dist/jsx/formEngine/useDocRights.native.js.map +1 -1
  139. package/dist/jsx/formEngine/useFormEngine.mjs +1 -1
  140. package/dist/jsx/formEngine/useFormEngine.mjs.map +1 -1
  141. package/dist/jsx/formEngine/useFormEngine.native.js +1 -0
  142. package/dist/jsx/formEngine/useFormEngine.native.js.map +1 -1
  143. package/dist/jsx/index.js +6 -2
  144. package/dist/jsx/index.js.map +1 -1
  145. package/dist/jsx/index.mjs +6 -2
  146. package/dist/jsx/index.mjs.map +1 -1
  147. package/dist/jsx/index.native.js +30 -1
  148. package/dist/jsx/index.native.js.map +1 -1
  149. package/dist/jsx/list/listColumns.mjs +372 -0
  150. package/dist/jsx/list/listColumns.mjs.map +1 -0
  151. package/dist/jsx/list/listColumns.native.js +447 -0
  152. package/dist/jsx/list/listColumns.native.js.map +1 -0
  153. package/dist/jsx/list/listFields.mjs +23 -0
  154. package/dist/jsx/list/listFields.mjs.map +1 -0
  155. package/dist/jsx/list/listFields.native.js +79 -0
  156. package/dist/jsx/list/listFields.native.js.map +1 -0
  157. package/dist/jsx/list/listFormat.mjs +38 -0
  158. package/dist/jsx/list/listFormat.mjs.map +1 -0
  159. package/dist/jsx/list/listFormat.native.js +74 -0
  160. package/dist/jsx/list/listFormat.native.js.map +1 -0
  161. package/dist/jsx/list/statusColors.mjs +77 -0
  162. package/dist/jsx/list/statusColors.mjs.map +1 -0
  163. package/dist/jsx/list/statusColors.native.js +109 -0
  164. package/dist/jsx/list/statusColors.native.js.map +1 -0
  165. package/dist/jsx/useFrappeAggregate.mjs +1 -1
  166. package/dist/jsx/useFrappeAggregate.mjs.map +1 -1
  167. package/dist/jsx/useFrappeAggregate.native.js +1 -1
  168. package/dist/jsx/useFrappeAggregate.native.js.map +1 -1
  169. package/package.json +22 -16
  170. package/src/FrappeForm.deskSemantics.spec.tsx +1 -1
  171. package/src/FrappeForm.lifecycle.spec.tsx +463 -0
  172. package/src/FrappeForm.lifecycle.stories.tsx +84 -0
  173. package/src/FrappeForm.tsx +124 -84
  174. package/src/FrappeFormActions.tsx +216 -0
  175. package/src/FrappeTable.defaultColumns.spec.tsx +229 -0
  176. package/src/FrappeTable.tsx +79 -32
  177. package/src/desk/DeskFormPage.tsx +1 -0
  178. package/src/filterFields.spec.ts +57 -2
  179. package/src/filterFields.ts +365 -38
  180. package/src/formEngine/docLifecycle.spec.ts +195 -0
  181. package/src/formEngine/docLifecycle.ts +148 -0
  182. package/src/formEngine/useAmendedAs.ts +38 -0
  183. package/src/formEngine/useDocRights.ts +11 -3
  184. package/src/formEngine/useFormEngine.ts +1 -1
  185. package/src/frappeViews.designLaw.spec.ts +6 -0
  186. package/src/index.ts +47 -1
  187. package/src/list/listColumns.tsx +488 -0
  188. package/src/list/listFields.spec.ts +147 -0
  189. package/src/list/listFields.ts +68 -0
  190. package/src/list/listFormat.spec.ts +151 -0
  191. package/src/list/listFormat.ts +80 -0
  192. package/src/list/seam.spec.ts +116 -0
  193. package/src/list/statusColors.spec.ts +100 -0
  194. package/src/list/statusColors.ts +94 -0
  195. package/src/useFrappeAggregate.ts +1 -1
  196. package/types/FrappeForm.d.ts +13 -3
  197. package/types/FrappeForm.d.ts.map +1 -1
  198. package/types/FrappeFormActions.d.ts +36 -0
  199. package/types/FrappeFormActions.d.ts.map +1 -0
  200. package/types/FrappeTable.d.ts +11 -5
  201. package/types/FrappeTable.d.ts.map +1 -1
  202. package/types/desk/DeskFormPage.d.ts.map +1 -1
  203. package/types/filterFields.d.ts +81 -10
  204. package/types/filterFields.d.ts.map +1 -1
  205. package/types/formEngine/docLifecycle.d.ts +59 -0
  206. package/types/formEngine/docLifecycle.d.ts.map +1 -0
  207. package/types/formEngine/useAmendedAs.d.ts +9 -0
  208. package/types/formEngine/useAmendedAs.d.ts.map +1 -0
  209. package/types/formEngine/useDocRights.d.ts +1 -1
  210. package/types/formEngine/useDocRights.d.ts.map +1 -1
  211. package/types/formEngine/useFormEngine.d.ts +1 -0
  212. package/types/formEngine/useFormEngine.d.ts.map +1 -1
  213. package/types/index.d.ts +5 -1
  214. package/types/index.d.ts.map +1 -1
  215. package/types/list/listColumns.d.ts +41 -0
  216. package/types/list/listColumns.d.ts.map +1 -0
  217. package/types/list/listFields.d.ts +16 -0
  218. package/types/list/listFields.d.ts.map +1 -0
  219. package/types/list/listFormat.d.ts +30 -0
  220. package/types/list/listFormat.d.ts.map +1 -0
  221. package/types/list/statusColors.d.ts +14 -0
  222. package/types/list/statusColors.d.ts.map +1 -0
@@ -1 +1 @@
1
- {"version":3,"names":["mapFieldToFilterType","fieldtypeToTableField","NON_FILTERABLE_FIELDTYPES","Set","STANDARD_DOC_FIELDS","id","label","type","docFieldsToFilterFields","fields","mapped","seen","field","fieldname","has","fieldtype","String","startsWith","tableField","options","fieldProps","add","push","standard"],"sources":["../../src/filterFields.ts"],"sourcesContent":[null],"mappings":"AAYA,SAGEA,oBAAA,QACK;AACP,SAASC,qBAAA,QAA6B;AAGtC,MAAMC,yBAAA,GAA4B,mBAAIC,GAAA,CAAI,CACxC,iBACA,gBACA,aACA,QACA,WACA,QACA,UACA,SACA,UACA,gBACA,aACA,eACA,WACD;AAGD,MAAMC,mBAAA,GAAyC,CAC7C;EAAEC,EAAA,EAAI;EAAQC,KAAA,EAAO;EAAMC,IAAA,EAAM;AAAO,GACxC;EAAEF,EAAA,EAAI;EAASC,KAAA,EAAO;EAAcC,IAAA,EAAM;AAAO,GACjD;EAAEF,EAAA,EAAI;EAAYC,KAAA,EAAO;EAAcC,IAAA,EAAM;AAAO,GACpD;EAAEF,EAAA,EAAI;EAAYC,KAAA,EAAO;EAAmBC,IAAA,EAAM;AAAO,EAC3D;AAOO,SAASC,wBAAwBC,MAAA,EAA2C;EACjF,MAAMC,MAAA,GAA4B,EAAC;EACnC,MAAMC,IAAA,GAAO,mBAAIR,GAAA,CAAY;EAC7B,WAAWS,KAAA,IAASH,MAAA,EAAQ;IAC1B,IAAI,CAACG,KAAA,CAAMC,SAAA,IAAaF,IAAA,CAAKG,GAAA,CAAIF,KAAA,CAAMC,SAAS,GAAG;IACnD,MAAME,SAAA,GAAYC,MAAA,CAAOJ,KAAA,CAAMG,SAAS;IACxC,IAAIb,yBAAA,CAA0BY,GAAA,CAAIC,SAAS,KAAKA,SAAA,CAAUE,UAAA,CAAW,OAAO,GAAG;IAC/E,MAAMC,UAAA,GAAajB,qBAAA,CAAsBc,SAAA,EAAWH,KAAA,CAAMO,OAAO;IACjE,MAAMA,OAAA,GAAWD,UAAA,CAAWE,UAAA,EACxBD,OAAA;IACJR,IAAA,CAAKU,GAAA,CAAIT,KAAA,CAAMC,SAAS;IACxBH,MAAA,CAAOY,IAAA,CAAK;MACVjB,EAAA,EAAIO,KAAA,CAAMC,SAAA;MACVP,KAAA,EAAOM,KAAA,CAAMN,KAAA,IAASM,KAAA,CAAMC,SAAA;MAAA;MAAA;MAG5BN,IAAA,EACEQ,SAAA,KAAc,WACV,WACAf,oBAAA,CAAqBkB,UAAA,CAAWN,KAAuB;MAC7D,IAAIO,OAAA,GAAU;QAAEA;MAAQ,IAAI,CAAC;IAC/B,CAAC;EACH;EACA,WAAWI,QAAA,IAAYnB,mBAAA,EAAqB;IAC1C,IAAI,CAACO,IAAA,CAAKG,GAAA,CAAIS,QAAA,CAASlB,EAAE,GAAGK,MAAA,CAAOY,IAAA,CAAKC,QAAQ;EAClD;EACA,OAAOb,MAAA;AACT","ignoreList":[]}
1
+ {"version":3,"names":["mapFieldToFilterType","fieldtypeToTableField","NON_FILTERABLE_FIELDTYPES","Set","NUMBER_FIELDTYPES","DATE_FIELDTYPES","fieldKind","fieldtype","has","toDescriptor","field","fieldname","label","kind","options","standardDocFilterFields","filterableDescriptors","fields","out","seen","String","startsWith","add","push","standard","filterableFieldsFromMeta","meta","toTableFilterField","tableField","fieldProps","id","type","docFieldsToFilterFields","map","standardFiltersFromMeta","fromMeta","filter","in_standard_filter","hidden","extras","titleField","title_field","titleMeta","find","length","selectOptionsFromField","split","line","trim","Boolean","value","fieldLabelFor","known","pretty","replace","word","charAt","toUpperCase","slice","join","DESK_OPERATOR_LABELS","like","in","between","BASE_OPERATORS","operatorsForKind","defaultOperatorForKind","draftToTuple","draft","operator","values","from","to","text","includes","SCALAR_OPERATORS","tupleToDraft","tuple","raw","Array","isArray","setFieldFilter","filters","rest","name","quickFilterValue","endsWith","filterTupleLabel"],"sources":["../../src/filterFields.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -24,31 +24,102 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
24
24
  }), mod);
25
25
  var filterFields_exports = {};
26
26
  __export(filterFields_exports, {
27
- docFieldsToFilterFields: () => docFieldsToFilterFields
27
+ DESK_OPERATOR_LABELS: () => DESK_OPERATOR_LABELS,
28
+ defaultOperatorForKind: () => defaultOperatorForKind,
29
+ docFieldsToFilterFields: () => docFieldsToFilterFields,
30
+ draftToTuple: () => draftToTuple,
31
+ fieldKind: () => fieldKind,
32
+ fieldLabelFor: () => fieldLabelFor,
33
+ filterTupleLabel: () => filterTupleLabel,
34
+ filterableFieldsFromMeta: () => filterableFieldsFromMeta,
35
+ operatorsForKind: () => operatorsForKind,
36
+ quickFilterValue: () => quickFilterValue,
37
+ selectOptionsFromField: () => selectOptionsFromField,
38
+ setFieldFilter: () => setFieldFilter,
39
+ standardDocFilterFields: () => standardDocFilterFields,
40
+ standardFiltersFromMeta: () => standardFiltersFromMeta,
41
+ tupleToDraft: () => tupleToDraft
28
42
  });
29
43
  module.exports = __toCommonJS(filterFields_exports);
30
44
  var import_table = require("@multiplatform.one/table");
31
45
  var import_fieldRegistry = require("./fieldRegistry.native.js");
32
46
  var NON_FILTERABLE_FIELDTYPES = /* @__PURE__ */new Set(["Section Break", "Column Break", "Tab Break", "Fold", "Heading", "HTML", "Button", "Image", "Attach", "Attach Image", "Signature", "Geolocation", "Password"]);
33
- var STANDARD_DOC_FIELDS = [{
34
- id: "name",
35
- label: "ID",
36
- type: "text"
37
- }, {
38
- id: "owner",
39
- label: "Created By",
40
- type: "text"
41
- }, {
42
- id: "creation",
43
- label: "Created On",
44
- type: "date"
45
- }, {
46
- id: "modified",
47
- label: "Last Updated On",
48
- type: "date"
49
- }];
50
- function docFieldsToFilterFields(fields) {
51
- var mapped = [];
47
+ var NUMBER_FIELDTYPES = /* @__PURE__ */new Set(["Int", "Float", "Currency", "Percent", "Duration", "Rating"]);
48
+ var DATE_FIELDTYPES = /* @__PURE__ */new Set(["Date", "Datetime", "Time"]);
49
+ function fieldKind(fieldtype) {
50
+ if (fieldtype === "Select") return "select";
51
+ if (fieldtype === "Link") return "link";
52
+ if (fieldtype === "Check") return "check";
53
+ if (DATE_FIELDTYPES.has(fieldtype)) return "date";
54
+ if (NUMBER_FIELDTYPES.has(fieldtype)) return "number";
55
+ return "text";
56
+ }
57
+ function toDescriptor(field) {
58
+ return {
59
+ fieldname: field.fieldname,
60
+ label: field.label || field.fieldname,
61
+ fieldtype: field.fieldtype,
62
+ kind: fieldKind(field.fieldtype),
63
+ options: field.options
64
+ };
65
+ }
66
+ function standardDocFilterFields() {
67
+ return [{
68
+ fieldname: "name",
69
+ label: "ID",
70
+ fieldtype: "Data",
71
+ kind: "text"
72
+ }, {
73
+ fieldname: "owner",
74
+ label: "Created By",
75
+ fieldtype: "Link",
76
+ kind: "link",
77
+ options: "User"
78
+ }, {
79
+ fieldname: "creation",
80
+ label: "Created On",
81
+ fieldtype: "Datetime",
82
+ kind: "date"
83
+ }, {
84
+ fieldname: "modified",
85
+ label: "Last Updated On",
86
+ fieldtype: "Datetime",
87
+ kind: "date"
88
+ }, {
89
+ fieldname: "modified_by",
90
+ label: "Last Updated By",
91
+ fieldtype: "Link",
92
+ kind: "link",
93
+ options: "User"
94
+ },
95
+ // Desk `_` facet columns — the sidebar facets and heart column write
96
+ // tuples on these, so chips and the editor must label them (desk offers
97
+ // them in its filter field picker too). Never surface the raw
98
+ // underscore fieldname (no-raw-fieldname rule candidate).
99
+ {
100
+ fieldname: "_assign",
101
+ label: "Assigned To",
102
+ fieldtype: "Data",
103
+ kind: "text"
104
+ }, {
105
+ fieldname: "_user_tags",
106
+ label: "Tags",
107
+ fieldtype: "Data",
108
+ kind: "text"
109
+ }, {
110
+ fieldname: "_liked_by",
111
+ label: "Liked By",
112
+ fieldtype: "Data",
113
+ kind: "text"
114
+ }, {
115
+ fieldname: "_comments",
116
+ label: "Comments",
117
+ fieldtype: "Data",
118
+ kind: "text"
119
+ }];
120
+ }
121
+ function filterableDescriptors(fields) {
122
+ var out = [];
52
123
  var seen = /* @__PURE__ */new Set();
53
124
  var _iteratorNormalCompletion = true,
54
125
  _didIteratorError = false,
@@ -56,23 +127,11 @@ function docFieldsToFilterFields(fields) {
56
127
  try {
57
128
  for (var _iterator = fields[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
58
129
  var field = _step.value;
59
- var _tableField_fieldProps;
60
130
  if (!field.fieldname || seen.has(field.fieldname)) continue;
61
131
  var fieldtype = String(field.fieldtype);
62
132
  if (NON_FILTERABLE_FIELDTYPES.has(fieldtype) || fieldtype.startsWith("Table")) continue;
63
- var tableField = (0, import_fieldRegistry.fieldtypeToTableField)(fieldtype, field.options);
64
- var options = (_tableField_fieldProps = tableField.fieldProps) === null || _tableField_fieldProps === void 0 ? void 0 : _tableField_fieldProps.options;
65
133
  seen.add(field.fieldname);
66
- mapped.push({
67
- id: field.fieldname,
68
- label: field.label || field.fieldname,
69
- // Rating cells map to a custom render (fraction contract) which would
70
- // otherwise fall through to "text"; it filters as the number it is.
71
- type: fieldtype === "Rating" ? "number" : (0, import_table.mapFieldToFilterType)(tableField.field),
72
- ...(options ? {
73
- options
74
- } : {})
75
- });
134
+ out.push(toDescriptor(field));
76
135
  }
77
136
  } catch (err) {
78
137
  _didIteratorError = true;
@@ -92,9 +151,9 @@ function docFieldsToFilterFields(fields) {
92
151
  _didIteratorError1 = false,
93
152
  _iteratorError1 = void 0;
94
153
  try {
95
- for (var _iterator1 = STANDARD_DOC_FIELDS[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
154
+ for (var _iterator1 = standardDocFilterFields()[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
96
155
  var standard = _step1.value;
97
- if (!seen.has(standard.id)) mapped.push(standard);
156
+ if (!seen.has(standard.fieldname)) out.push(standard);
98
157
  }
99
158
  } catch (err) {
100
159
  _didIteratorError1 = true;
@@ -110,6 +169,222 @@ function docFieldsToFilterFields(fields) {
110
169
  }
111
170
  }
112
171
  }
113
- return mapped;
172
+ return out;
173
+ }
174
+ function filterableFieldsFromMeta(meta) {
175
+ var _ref;
176
+ return filterableDescriptors((_ref = meta === null || meta === void 0 ? void 0 : meta.fields) !== null && _ref !== void 0 ? _ref : []);
177
+ }
178
+ function toTableFilterField(field) {
179
+ var _tableField_fieldProps;
180
+ var tableField = (0, import_fieldRegistry.fieldtypeToTableField)(field.fieldtype, field.options);
181
+ var options = (_tableField_fieldProps = tableField.fieldProps) === null || _tableField_fieldProps === void 0 ? void 0 : _tableField_fieldProps.options;
182
+ return {
183
+ id: field.fieldname,
184
+ label: field.label,
185
+ // Rating cells map to a custom render (fraction contract) which would
186
+ // otherwise fall through to "text"; it filters as the number it is.
187
+ type: field.fieldtype === "Rating" ? "number" : (0, import_table.mapFieldToFilterType)(tableField.field),
188
+ ...(options ? {
189
+ options
190
+ } : {})
191
+ };
192
+ }
193
+ function docFieldsToFilterFields(fields) {
194
+ return filterableDescriptors(fields).map(toTableFilterField);
195
+ }
196
+ function standardFiltersFromMeta(meta) {
197
+ var _ref;
198
+ var fromMeta = ((_ref = meta === null || meta === void 0 ? void 0 : meta.fields) !== null && _ref !== void 0 ? _ref : []).filter(function (field) {
199
+ return field.in_standard_filter === 1 && field.hidden !== 1 && field.fieldname;
200
+ }).map(toDescriptor);
201
+ var seen = new Set(fromMeta.map(function (field) {
202
+ return field.fieldname;
203
+ }));
204
+ var extras = [];
205
+ if (!seen.has("name")) {
206
+ extras.push({
207
+ fieldname: "name",
208
+ label: "ID",
209
+ fieldtype: "Data",
210
+ kind: "text"
211
+ });
212
+ seen.add("name");
213
+ }
214
+ var titleField = meta === null || meta === void 0 ? void 0 : meta.title_field;
215
+ if (titleField && !seen.has(titleField)) {
216
+ var _meta_fields;
217
+ var titleMeta = meta === null || meta === void 0 ? void 0 : (_meta_fields = meta.fields) === null || _meta_fields === void 0 ? void 0 : _meta_fields.find(function (field) {
218
+ return field.fieldname === titleField;
219
+ });
220
+ extras.push({
221
+ fieldname: titleField,
222
+ label: (titleMeta === null || titleMeta === void 0 ? void 0 : titleMeta.label) || "Title",
223
+ fieldtype: (titleMeta === null || titleMeta === void 0 ? void 0 : titleMeta.fieldtype) || "Data",
224
+ kind: fieldKind((titleMeta === null || titleMeta === void 0 ? void 0 : titleMeta.fieldtype) || "Data")
225
+ });
226
+ }
227
+ return extras.length > 0 ? [...extras, ...fromMeta] : fromMeta;
228
+ }
229
+ function selectOptionsFromField(options) {
230
+ return (options !== null && options !== void 0 ? options : "").split("\n").map(function (line) {
231
+ return line.trim();
232
+ }).filter(Boolean).map(function (line) {
233
+ return {
234
+ label: line,
235
+ value: line
236
+ };
237
+ });
238
+ }
239
+ function fieldLabelFor(fields, fieldname) {
240
+ var _fields_find;
241
+ var known = (_fields_find = fields.find(function (field) {
242
+ return field.fieldname === fieldname;
243
+ })) === null || _fields_find === void 0 ? void 0 : _fields_find.label;
244
+ if (known) return known;
245
+ var pretty = fieldname.replace(/^_+/, "").split("_").filter(Boolean).map(function (word) {
246
+ return word.charAt(0).toUpperCase() + word.slice(1);
247
+ }).join(" ");
248
+ return pretty || fieldname;
249
+ }
250
+ var DESK_OPERATOR_LABELS = {
251
+ "=": "Equals",
252
+ "!=": "Not Equals",
253
+ like: "Like",
254
+ "not like": "Not Like",
255
+ in: "In",
256
+ "not in": "Not In",
257
+ ">": "Greater Than",
258
+ "<": "Less Than",
259
+ ">=": "Greater Than or Equal",
260
+ "<=": "Less Than or Equal",
261
+ between: "Between",
262
+ "is set": "Is Set",
263
+ "is not set": "Is Not Set"
264
+ };
265
+ var BASE_OPERATORS = ["=", "!=", "like", "not like", "in", "not in", "is set", "is not set"];
266
+ function operatorsForKind(kind) {
267
+ switch (kind) {
268
+ case "check":
269
+ return ["=", "!="];
270
+ case "number":
271
+ case "date":
272
+ return ["=", "!=", ">", "<", ">=", "<=", "between", "in", "not in", "is set", "is not set"];
273
+ default:
274
+ return BASE_OPERATORS;
275
+ }
276
+ }
277
+ function defaultOperatorForKind(kind) {
278
+ return kind === "text" ? "like" : "=";
279
+ }
280
+ function draftToTuple(draft, kind) {
281
+ var {
282
+ fieldname,
283
+ operator
284
+ } = draft;
285
+ if (!fieldname) return null;
286
+ switch (operator) {
287
+ case "is set":
288
+ return [fieldname, "is", "set"];
289
+ case "is not set":
290
+ return [fieldname, "is", "not set"];
291
+ case "in":
292
+ case "not in":
293
+ {
294
+ var values = kind === "select" ? draft.values.map(function (value) {
295
+ return value.trim();
296
+ }).filter(Boolean) : draft.value.split(",").map(function (value) {
297
+ return value.trim();
298
+ }).filter(Boolean);
299
+ return values.length ? [fieldname, operator, values] : null;
300
+ }
301
+ case "between":
302
+ {
303
+ var _draft_values_, _draft_values_1;
304
+ var from = ((_draft_values_ = draft.values[0]) !== null && _draft_values_ !== void 0 ? _draft_values_ : "").trim();
305
+ var to = ((_draft_values_1 = draft.values[1]) !== null && _draft_values_1 !== void 0 ? _draft_values_1 : "").trim();
306
+ return from && to ? [fieldname, "between", [from, to]] : null;
307
+ }
308
+ case "like":
309
+ case "not like":
310
+ {
311
+ var text = draft.value.trim();
312
+ if (!text) return null;
313
+ return [fieldname, operator, text.includes("%") ? text : `%${text}%`];
314
+ }
315
+ default:
316
+ {
317
+ var text1 = draft.value.trim();
318
+ return text1 ? [fieldname, operator, text1] : null;
319
+ }
320
+ }
321
+ }
322
+ var SCALAR_OPERATORS = ["=", "!=", "like", "not like", ">", "<", ">=", "<="];
323
+ function tupleToDraft(tuple) {
324
+ var [fieldname, operator, raw] = tuple;
325
+ if (operator === "is") {
326
+ return {
327
+ fieldname,
328
+ operator: raw === "set" ? "is set" : "is not set",
329
+ value: "",
330
+ values: []
331
+ };
332
+ }
333
+ if (operator === "in" || operator === "not in") {
334
+ var values = Array.isArray(raw) ? raw.map(String) : String(raw !== null && raw !== void 0 ? raw : "").split(",").map(function (value) {
335
+ return value.trim();
336
+ }).filter(Boolean);
337
+ return {
338
+ fieldname,
339
+ operator,
340
+ value: values.join(", "),
341
+ values
342
+ };
343
+ }
344
+ if (operator === "between") {
345
+ var _values_, _values_1;
346
+ var values1 = Array.isArray(raw) ? raw.map(String) : [];
347
+ return {
348
+ fieldname,
349
+ operator: "between",
350
+ value: "",
351
+ values: [(_values_ = values1[0]) !== null && _values_ !== void 0 ? _values_ : "", (_values_1 = values1[1]) !== null && _values_1 !== void 0 ? _values_1 : ""]
352
+ };
353
+ }
354
+ var known = SCALAR_OPERATORS.includes(operator) ? operator : "=";
355
+ return {
356
+ fieldname,
357
+ operator: known,
358
+ value: raw === null || raw === void 0 ? "" : String(raw),
359
+ values: []
360
+ };
361
+ }
362
+ function setFieldFilter(filters, fieldname, tuple) {
363
+ var rest = filters.filter(function (param) {
364
+ var [name] = param;
365
+ return name !== fieldname;
366
+ });
367
+ return tuple ? [...rest, tuple] : rest;
368
+ }
369
+ function quickFilterValue(filters, fieldname) {
370
+ var tuple = filters.find(function (param) {
371
+ var [name] = param;
372
+ return name === fieldname;
373
+ });
374
+ if (!tuple) return "";
375
+ var [, operator, raw] = tuple;
376
+ if (operator === "like") {
377
+ var text = String(raw !== null && raw !== void 0 ? raw : "");
378
+ return text.startsWith("%") && text.endsWith("%") && text.length >= 2 ? text.slice(1, -1) : text;
379
+ }
380
+ if (operator === "=") return raw === null || raw === void 0 ? "" : String(raw);
381
+ return "";
382
+ }
383
+ function filterTupleLabel(fields, tuple) {
384
+ var [fieldname, operator, raw] = tuple;
385
+ var label = fieldLabelFor(fields, fieldname);
386
+ if (operator === "is") return `${label} ${raw === "set" ? "is set" : "is not set"}`;
387
+ var value = Array.isArray(raw) ? raw.map(String).join(", ") : String(raw !== null && raw !== void 0 ? raw : "");
388
+ return `${label} ${operator} ${value}`;
114
389
  }
115
390
  //# sourceMappingURL=filterFields.native.js.map
@@ -1 +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","filterFields_exports","docFieldsToFilterFields","module","exports","import_table","require","import_fieldRegistry","NON_FILTERABLE_FIELDTYPES","Set","STANDARD_DOC_FIELDS","id","label","type"],"sources":["../../src/filterFields.ts"],"sourcesContent":[null],"mappings":"AAYA;;AAAA,IAGEA,SAAA,GAAAC,MAAA,CAAAC,cAAA;AAAA,IAAAC,gBACK,GAAAF,MAAA,CAAAG,wBAAA;AACP,IAAAC,iBAAS,GAAAJ,MAAA,CAAAK,mBAA6B;AAGtC,IAAAC,YAAM,GAAAN,MAAA,CAAAO,SAA4B,CAAAC,cAAA;AAAQ,IACxCC,QAAA,GAAAA,CAAAC,MAAA,EAAAC,GAAA;EACA,SAAAC,IAAA,IAAAD,GAAA,EACAZ,SAAA,CAAAW,MAAA,EAAAE,IAAA;IAAAC,GAAA,EAAAF,GAAA,CAAAC,IAAA;IAAAE,UAAA;EAAA;AAAA;AACA,IACAC,WAAA,GAAAA,CAAAC,EAAA,EAAAC,IAAA,EAAAC,MAAA,EAAAC,IAAA;EACA,IAAAF,IAAA,WAAAA,IAAA,wBAAAA,IAAA;IACA,SAAAG,GAAA,IAAAhB,iBAAA,CAAAa,IAAA,GACA,KAAAX,YAAA,CAAAe,IAAA,CAAAL,EAAA,EAAAI,GAAA,KAAAA,GAAA,KAAAF,MAAA,EACAnB,SAAA,CAAAiB,EAAA,EAAAI,GAAA;MAAAP,GAAA,EAAAA,CAAA,KAAAI,IAAA,CAAAG,GAAA;MAAAN,UAAA,IAAAK,IAAA,GAAAjB,gBAAA,CAAAe,IAAA,EAAAG,GAAA,MAAAD,IAAA,CAAAL;IAAA;EACA;EACA,OAAAE,EAAA;AAAA;AACA,IACAM,YAAA,GAAAC,GAAA,IAAAR,WAAA,CAAAhB,SAAA;EAAAyB,KAAA;AAAA,IAAAD,GAAA;AACF,IAACE,oBAAA;AAGDhB,QAAM,CAAAgB,oBAAyC;EAC7CC,uBAAqB,EAAAA,CAAA,KAAMA;AAAa,EACxC;AAAiDC,MAC/C,CAAAC,OAAI,GAAAN,YAAmB,CAAAG,oBAAoB;AAAO,IAClDI,YAAI,GAAAC,OAAY,CAAO,0BAAyB;AACpD,IAAAC,oBAAA,GAAAD,OAAA;AAOO,IAAAE,yBAAS,kBAAmE,IAAAC,GAAA,EACjF,eAAkC,EAClC,cAAa,EACb,WAAW,EACT,MAAI,EACJ,SAAM,EACN,MAAI,EACJ,QAAM,EACN,SAEA,QAAK,EACL,cAAY,aACN,EAAM,aACH,EAAqB;AAAA,IAAAC,mBAI1B,GAAc,CAE6C;EAE/DC,EAAC;EACHC,KAAA;EACAC,IAAA;AACE,GACF;EACAF,EAAA,SAAO;EACTC,KAAA","ignoreList":[]}
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","filterFields_exports","DESK_OPERATOR_LABELS","defaultOperatorForKind","docFieldsToFilterFields","draftToTuple","fieldKind","fieldLabelFor","filterTupleLabel","filterableFieldsFromMeta","operatorsForKind","quickFilterValue","selectOptionsFromField","setFieldFilter","standardDocFilterFields","standardFiltersFromMeta","tupleToDraft","module","exports","import_table","require","import_fieldRegistry","NON_FILTERABLE_FIELDTYPES","Set","NUMBER_FIELDTYPES","DATE_FIELDTYPES","fieldtype","has","toDescriptor","field","fieldname","label","kind","options","filterableDescriptors","fields","out","seen","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","String","startsWith","add","push","err","return","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","standard","meta","_ref","toTableFilterField","_tableField_fieldProps","tableField","fieldtypeToTableField","fieldProps","id","type","mapFieldToFilterType","map","fromMeta","filter","in_standard_filter","hidden","extras","titleField","title_field","_meta_fields","titleMeta","find"],"sources":["../../src/filterFields.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,68 @@
1
+ import { formatCalendarDate } from "@multiplatform.one/theme";
2
+ function resolveDocAction(state) {
3
+ const action = resolveDeskAction(state);
4
+ if (state.isReadOnlyView && (action === "save" || action === "update")) return void 0;
5
+ return action;
6
+ }
7
+ function resolveDeskAction(state) {
8
+ const {
9
+ docstatus,
10
+ isCreate,
11
+ isDirty,
12
+ isSubmittable,
13
+ perms
14
+ } = state;
15
+ if (docstatus === 0) {
16
+ if (isSubmittable && !isCreate && !isDirty && perms.submit) return "submit";
17
+ return perms.write ? "save" : void 0;
18
+ }
19
+ if (!isSubmittable) return void 0;
20
+ if (docstatus === 1) {
21
+ if (isDirty && perms.write && perms.submit) return "update";
22
+ return perms.cancel ? "cancel" : void 0;
23
+ }
24
+ if (docstatus === 2 && perms.amend) return "amend";
25
+ return void 0;
26
+ }
27
+ function canDeleteDoc(docstatus) {
28
+ return docstatus !== 1;
29
+ }
30
+ function canEditDoc(docstatus, meta) {
31
+ if (docstatus === 0) return true;
32
+ if (docstatus === 1) return !!meta?.fields.some(field => field.allow_on_submit);
33
+ return false;
34
+ }
35
+ function resolveDocIndicator(state) {
36
+ if (state.isCreate || state.isDirty) return "notSaved";
37
+ if (state.docstatus === 1) return "submitted";
38
+ if (state.docstatus === 2) return "cancelled";
39
+ return state.isSubmittable ? "draft" : void 0;
40
+ }
41
+ function isAmendable(meta) {
42
+ return !!meta?.fields.some(field => field.fieldname === "amended_from");
43
+ }
44
+ const amendSkipped = /* @__PURE__ */new Set(["name", "amended_from", "amendment_date", "cancel_reason"]);
45
+ const rowBookkeeping = /* @__PURE__ */new Set(["name", "parent", "parentfield", "parenttype", "owner", "creation", "modified", "modified_by", "docstatus"]);
46
+ const tableTypes = /* @__PURE__ */new Set(["Table", "Table MultiSelect"]);
47
+ function buildAmendValues(fields, doc, cancelledName) {
48
+ const draft = {};
49
+ for (const field of fields) {
50
+ if (amendSkipped.has(field.fieldname) || field.fieldtype === "Password") continue;
51
+ const value = doc[field.fieldname];
52
+ if (value === void 0) continue;
53
+ if (tableTypes.has(field.fieldtype)) {
54
+ if (!Array.isArray(value)) continue;
55
+ draft[field.fieldname] = value.map(row => Object.fromEntries(Object.entries(row ?? {}).filter(([key]) => !rowBookkeeping.has(key))));
56
+ continue;
57
+ }
58
+ draft[field.fieldname] = value;
59
+ }
60
+ draft.amended_from = cancelledName;
61
+ draft.docstatus = 0;
62
+ if (fields.some(field => field.fieldname === "amendment_date")) {
63
+ draft.amendment_date = formatCalendarDate(/* @__PURE__ */new Date());
64
+ }
65
+ return draft;
66
+ }
67
+ export { buildAmendValues, canDeleteDoc, canEditDoc, isAmendable, resolveDocAction, resolveDocIndicator };
68
+ //# sourceMappingURL=docLifecycle.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["formatCalendarDate","resolveDocAction","state","action","resolveDeskAction","isReadOnlyView","docstatus","isCreate","isDirty","isSubmittable","perms","submit","write","cancel","amend","canDeleteDoc","canEditDoc","meta","fields","some","field","allow_on_submit","resolveDocIndicator","isAmendable","fieldname","amendSkipped","Set","rowBookkeeping","tableTypes","buildAmendValues","doc","cancelledName","draft","has","fieldtype","value","Array","isArray","map","row","Object","fromEntries","entries","filter","key","amended_from","amendment_date","Date"],"sources":["../../../src/formEngine/docLifecycle.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,131 @@
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 docLifecycle_exports = {};
26
+ __export(docLifecycle_exports, {
27
+ buildAmendValues: () => buildAmendValues,
28
+ canDeleteDoc: () => canDeleteDoc,
29
+ canEditDoc: () => canEditDoc,
30
+ isAmendable: () => isAmendable,
31
+ resolveDocAction: () => resolveDocAction,
32
+ resolveDocIndicator: () => resolveDocIndicator
33
+ });
34
+ module.exports = __toCommonJS(docLifecycle_exports);
35
+ var import_theme = require("@multiplatform.one/theme");
36
+ function resolveDocAction(state) {
37
+ var action = resolveDeskAction(state);
38
+ if (state.isReadOnlyView && (action === "save" || action === "update")) return void 0;
39
+ return action;
40
+ }
41
+ function resolveDeskAction(state) {
42
+ var {
43
+ docstatus,
44
+ isCreate,
45
+ isDirty,
46
+ isSubmittable,
47
+ perms
48
+ } = state;
49
+ if (docstatus === 0) {
50
+ if (isSubmittable && !isCreate && !isDirty && perms.submit) return "submit";
51
+ return perms.write ? "save" : void 0;
52
+ }
53
+ if (!isSubmittable) return void 0;
54
+ if (docstatus === 1) {
55
+ if (isDirty && perms.write && perms.submit) return "update";
56
+ return perms.cancel ? "cancel" : void 0;
57
+ }
58
+ if (docstatus === 2 && perms.amend) return "amend";
59
+ return void 0;
60
+ }
61
+ function canDeleteDoc(docstatus) {
62
+ return docstatus !== 1;
63
+ }
64
+ function canEditDoc(docstatus, meta) {
65
+ if (docstatus === 0) return true;
66
+ if (docstatus === 1) return !!(meta === null || meta === void 0 ? void 0 : meta.fields.some(function (field) {
67
+ return field.allow_on_submit;
68
+ }));
69
+ return false;
70
+ }
71
+ function resolveDocIndicator(state) {
72
+ if (state.isCreate || state.isDirty) return "notSaved";
73
+ if (state.docstatus === 1) return "submitted";
74
+ if (state.docstatus === 2) return "cancelled";
75
+ return state.isSubmittable ? "draft" : void 0;
76
+ }
77
+ function isAmendable(meta) {
78
+ return !!(meta === null || meta === void 0 ? void 0 : meta.fields.some(function (field) {
79
+ return field.fieldname === "amended_from";
80
+ }));
81
+ }
82
+ var amendSkipped = /* @__PURE__ */new Set(["name", "amended_from", "amendment_date", "cancel_reason"]);
83
+ var rowBookkeeping = /* @__PURE__ */new Set(["name", "parent", "parentfield", "parenttype", "owner", "creation", "modified", "modified_by", "docstatus"]);
84
+ var tableTypes = /* @__PURE__ */new Set(["Table", "Table MultiSelect"]);
85
+ function buildAmendValues(fields, doc, cancelledName) {
86
+ var draft = {};
87
+ var _iteratorNormalCompletion = true,
88
+ _didIteratorError = false,
89
+ _iteratorError = void 0;
90
+ try {
91
+ for (var _iterator = fields[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
92
+ var field = _step.value;
93
+ if (amendSkipped.has(field.fieldname) || field.fieldtype === "Password") continue;
94
+ var value = doc[field.fieldname];
95
+ if (value === void 0) continue;
96
+ if (tableTypes.has(field.fieldtype)) {
97
+ if (!Array.isArray(value)) continue;
98
+ draft[field.fieldname] = value.map(function (row) {
99
+ return Object.fromEntries(Object.entries(row !== null && row !== void 0 ? row : {}).filter(function (param) {
100
+ var [key] = param;
101
+ return !rowBookkeeping.has(key);
102
+ }));
103
+ });
104
+ continue;
105
+ }
106
+ draft[field.fieldname] = value;
107
+ }
108
+ } catch (err) {
109
+ _didIteratorError = true;
110
+ _iteratorError = err;
111
+ } finally {
112
+ try {
113
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
114
+ _iterator.return();
115
+ }
116
+ } finally {
117
+ if (_didIteratorError) {
118
+ throw _iteratorError;
119
+ }
120
+ }
121
+ }
122
+ draft.amended_from = cancelledName;
123
+ draft.docstatus = 0;
124
+ if (fields.some(function (field2) {
125
+ return field2.fieldname === "amendment_date";
126
+ })) {
127
+ draft.amendment_date = (0, import_theme.formatCalendarDate)(/* @__PURE__ */new Date());
128
+ }
129
+ return draft;
130
+ }
131
+ //# sourceMappingURL=docLifecycle.native.js.map