@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.
- package/README.md +14 -0
- package/dist/cjs/FrappeForm.cjs +96 -52
- package/dist/cjs/FrappeForm.native.js +103 -52
- package/dist/cjs/FrappeForm.native.js.map +1 -1
- package/dist/cjs/FrappeFormActions.cjs +161 -0
- package/dist/cjs/FrappeFormActions.native.js +167 -0
- package/dist/cjs/FrappeFormActions.native.js.map +1 -0
- package/dist/cjs/FrappeTable.cjs +42 -13
- package/dist/cjs/FrappeTable.native.js +55 -19
- package/dist/cjs/FrappeTable.native.js.map +1 -1
- package/dist/cjs/desk/DeskFormPage.cjs +2 -1
- package/dist/cjs/desk/DeskFormPage.native.js +3 -0
- package/dist/cjs/desk/DeskFormPage.native.js.map +1 -1
- package/dist/cjs/filterFields.cjs +277 -34
- package/dist/cjs/filterFields.native.js +311 -36
- package/dist/cjs/filterFields.native.js.map +1 -1
- package/dist/cjs/formEngine/docLifecycle.cjs +98 -0
- package/dist/cjs/formEngine/docLifecycle.native.js +131 -0
- package/dist/cjs/formEngine/docLifecycle.native.js.map +1 -0
- package/dist/cjs/formEngine/useAmendedAs.cjs +48 -0
- package/dist/cjs/formEngine/useAmendedAs.native.js +60 -0
- package/dist/cjs/formEngine/useAmendedAs.native.js.map +1 -0
- package/dist/cjs/formEngine/useDocRights.cjs +2 -2
- package/dist/cjs/formEngine/useDocRights.native.js +2 -2
- package/dist/cjs/formEngine/useDocRights.native.js.map +1 -1
- package/dist/cjs/formEngine/useFormEngine.cjs +1 -0
- package/dist/cjs/formEngine/useFormEngine.native.js +1 -0
- package/dist/cjs/formEngine/useFormEngine.native.js.map +1 -1
- package/dist/cjs/index.cjs +30 -1
- package/dist/cjs/index.native.js +30 -1
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/list/listColumns.cjs +397 -0
- package/dist/cjs/list/listColumns.native.js +447 -0
- package/dist/cjs/list/listColumns.native.js.map +1 -0
- package/dist/cjs/list/listFields.cjs +50 -0
- package/dist/cjs/list/listFields.native.js +79 -0
- package/dist/cjs/list/listFields.native.js.map +1 -0
- package/dist/cjs/list/listFormat.cjs +68 -0
- package/dist/cjs/list/listFormat.native.js +74 -0
- package/dist/cjs/list/listFormat.native.js.map +1 -0
- package/dist/cjs/list/statusColors.cjs +102 -0
- package/dist/cjs/list/statusColors.native.js +109 -0
- package/dist/cjs/list/statusColors.native.js.map +1 -0
- package/dist/cjs/useFrappeAggregate.cjs +1 -1
- package/dist/cjs/useFrappeAggregate.native.js +1 -1
- package/dist/cjs/useFrappeAggregate.native.js.map +1 -1
- package/dist/esm/FrappeForm.mjs +97 -53
- package/dist/esm/FrappeForm.mjs.map +1 -1
- package/dist/esm/FrappeForm.native.js +104 -53
- package/dist/esm/FrappeForm.native.js.map +1 -1
- package/dist/esm/FrappeFormActions.mjs +136 -0
- package/dist/esm/FrappeFormActions.mjs.map +1 -0
- package/dist/esm/FrappeFormActions.native.js +139 -0
- package/dist/esm/FrappeFormActions.native.js.map +1 -0
- package/dist/esm/FrappeTable.mjs +42 -13
- package/dist/esm/FrappeTable.mjs.map +1 -1
- package/dist/esm/FrappeTable.native.js +55 -19
- package/dist/esm/FrappeTable.native.js.map +1 -1
- package/dist/esm/desk/DeskFormPage.mjs +2 -1
- package/dist/esm/desk/DeskFormPage.mjs.map +1 -1
- package/dist/esm/desk/DeskFormPage.native.js +3 -0
- package/dist/esm/desk/DeskFormPage.native.js.map +1 -1
- package/dist/esm/filterFields.mjs +263 -34
- package/dist/esm/filterFields.mjs.map +1 -1
- package/dist/esm/filterFields.native.js +297 -36
- package/dist/esm/filterFields.native.js.map +1 -1
- package/dist/esm/formEngine/docLifecycle.mjs +68 -0
- package/dist/esm/formEngine/docLifecycle.mjs.map +1 -0
- package/dist/esm/formEngine/docLifecycle.native.js +98 -0
- package/dist/esm/formEngine/docLifecycle.native.js.map +1 -0
- package/dist/esm/formEngine/useAmendedAs.mjs +23 -0
- package/dist/esm/formEngine/useAmendedAs.mjs.map +1 -0
- package/dist/esm/formEngine/useAmendedAs.native.js +32 -0
- package/dist/esm/formEngine/useAmendedAs.native.js.map +1 -0
- package/dist/esm/formEngine/useDocRights.mjs +2 -2
- package/dist/esm/formEngine/useDocRights.mjs.map +1 -1
- package/dist/esm/formEngine/useDocRights.native.js +2 -2
- package/dist/esm/formEngine/useDocRights.native.js.map +1 -1
- package/dist/esm/formEngine/useFormEngine.mjs +1 -1
- package/dist/esm/formEngine/useFormEngine.mjs.map +1 -1
- package/dist/esm/formEngine/useFormEngine.native.js +1 -1
- package/dist/esm/formEngine/useFormEngine.native.js.map +1 -1
- package/dist/esm/index.mjs +6 -2
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +6 -2
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/list/listColumns.mjs +372 -0
- package/dist/esm/list/listColumns.mjs.map +1 -0
- package/dist/esm/list/listColumns.native.js +419 -0
- package/dist/esm/list/listColumns.native.js.map +1 -0
- package/dist/esm/list/listFields.mjs +23 -0
- package/dist/esm/list/listFields.mjs.map +1 -0
- package/dist/esm/list/listFields.native.js +49 -0
- package/dist/esm/list/listFields.native.js.map +1 -0
- package/dist/esm/list/listFormat.mjs +38 -0
- package/dist/esm/list/listFormat.mjs.map +1 -0
- package/dist/esm/list/listFormat.native.js +41 -0
- package/dist/esm/list/listFormat.native.js.map +1 -0
- package/dist/esm/list/statusColors.mjs +77 -0
- package/dist/esm/list/statusColors.mjs.map +1 -0
- package/dist/esm/list/statusColors.native.js +81 -0
- package/dist/esm/list/statusColors.native.js.map +1 -0
- package/dist/esm/useFrappeAggregate.mjs +1 -1
- package/dist/esm/useFrappeAggregate.mjs.map +1 -1
- package/dist/esm/useFrappeAggregate.native.js +1 -1
- package/dist/esm/useFrappeAggregate.native.js.map +1 -1
- package/dist/jsx/FrappeForm.mjs +97 -53
- package/dist/jsx/FrappeForm.mjs.map +1 -1
- package/dist/jsx/FrappeForm.native.js +103 -52
- package/dist/jsx/FrappeForm.native.js.map +1 -1
- package/dist/jsx/FrappeFormActions.mjs +136 -0
- package/dist/jsx/FrappeFormActions.mjs.map +1 -0
- package/dist/jsx/FrappeFormActions.native.js +167 -0
- package/dist/jsx/FrappeFormActions.native.js.map +1 -0
- package/dist/jsx/FrappeTable.mjs +42 -13
- package/dist/jsx/FrappeTable.mjs.map +1 -1
- package/dist/jsx/FrappeTable.native.js +55 -19
- package/dist/jsx/FrappeTable.native.js.map +1 -1
- package/dist/jsx/desk/DeskFormPage.mjs +2 -1
- package/dist/jsx/desk/DeskFormPage.mjs.map +1 -1
- package/dist/jsx/desk/DeskFormPage.native.js +3 -0
- package/dist/jsx/desk/DeskFormPage.native.js.map +1 -1
- package/dist/jsx/filterFields.mjs +263 -34
- package/dist/jsx/filterFields.mjs.map +1 -1
- package/dist/jsx/filterFields.native.js +311 -36
- package/dist/jsx/filterFields.native.js.map +1 -1
- package/dist/jsx/formEngine/docLifecycle.mjs +68 -0
- package/dist/jsx/formEngine/docLifecycle.mjs.map +1 -0
- package/dist/jsx/formEngine/docLifecycle.native.js +131 -0
- package/dist/jsx/formEngine/docLifecycle.native.js.map +1 -0
- package/dist/jsx/formEngine/useAmendedAs.mjs +23 -0
- package/dist/jsx/formEngine/useAmendedAs.mjs.map +1 -0
- package/dist/jsx/formEngine/useAmendedAs.native.js +60 -0
- package/dist/jsx/formEngine/useAmendedAs.native.js.map +1 -0
- package/dist/jsx/formEngine/useDocRights.mjs +2 -2
- package/dist/jsx/formEngine/useDocRights.mjs.map +1 -1
- package/dist/jsx/formEngine/useDocRights.native.js +2 -2
- package/dist/jsx/formEngine/useDocRights.native.js.map +1 -1
- package/dist/jsx/formEngine/useFormEngine.mjs +1 -1
- package/dist/jsx/formEngine/useFormEngine.mjs.map +1 -1
- package/dist/jsx/formEngine/useFormEngine.native.js +1 -0
- package/dist/jsx/formEngine/useFormEngine.native.js.map +1 -1
- package/dist/jsx/index.js +6 -2
- package/dist/jsx/index.js.map +1 -1
- package/dist/jsx/index.mjs +6 -2
- package/dist/jsx/index.mjs.map +1 -1
- package/dist/jsx/index.native.js +30 -1
- package/dist/jsx/index.native.js.map +1 -1
- package/dist/jsx/list/listColumns.mjs +372 -0
- package/dist/jsx/list/listColumns.mjs.map +1 -0
- package/dist/jsx/list/listColumns.native.js +447 -0
- package/dist/jsx/list/listColumns.native.js.map +1 -0
- package/dist/jsx/list/listFields.mjs +23 -0
- package/dist/jsx/list/listFields.mjs.map +1 -0
- package/dist/jsx/list/listFields.native.js +79 -0
- package/dist/jsx/list/listFields.native.js.map +1 -0
- package/dist/jsx/list/listFormat.mjs +38 -0
- package/dist/jsx/list/listFormat.mjs.map +1 -0
- package/dist/jsx/list/listFormat.native.js +74 -0
- package/dist/jsx/list/listFormat.native.js.map +1 -0
- package/dist/jsx/list/statusColors.mjs +77 -0
- package/dist/jsx/list/statusColors.mjs.map +1 -0
- package/dist/jsx/list/statusColors.native.js +109 -0
- package/dist/jsx/list/statusColors.native.js.map +1 -0
- package/dist/jsx/useFrappeAggregate.mjs +1 -1
- package/dist/jsx/useFrappeAggregate.mjs.map +1 -1
- package/dist/jsx/useFrappeAggregate.native.js +1 -1
- package/dist/jsx/useFrappeAggregate.native.js.map +1 -1
- package/package.json +22 -16
- package/src/FrappeForm.deskSemantics.spec.tsx +1 -1
- package/src/FrappeForm.lifecycle.spec.tsx +463 -0
- package/src/FrappeForm.lifecycle.stories.tsx +84 -0
- package/src/FrappeForm.tsx +124 -84
- package/src/FrappeFormActions.tsx +216 -0
- package/src/FrappeTable.defaultColumns.spec.tsx +229 -0
- package/src/FrappeTable.tsx +79 -32
- package/src/desk/DeskFormPage.tsx +1 -0
- package/src/filterFields.spec.ts +57 -2
- package/src/filterFields.ts +365 -38
- package/src/formEngine/docLifecycle.spec.ts +195 -0
- package/src/formEngine/docLifecycle.ts +148 -0
- package/src/formEngine/useAmendedAs.ts +38 -0
- package/src/formEngine/useDocRights.ts +11 -3
- package/src/formEngine/useFormEngine.ts +1 -1
- package/src/frappeViews.designLaw.spec.ts +6 -0
- package/src/index.ts +47 -1
- package/src/list/listColumns.tsx +488 -0
- package/src/list/listFields.spec.ts +147 -0
- package/src/list/listFields.ts +68 -0
- package/src/list/listFormat.spec.ts +151 -0
- package/src/list/listFormat.ts +80 -0
- package/src/list/seam.spec.ts +116 -0
- package/src/list/statusColors.spec.ts +100 -0
- package/src/list/statusColors.ts +94 -0
- package/src/useFrappeAggregate.ts +1 -1
- package/types/FrappeForm.d.ts +13 -3
- package/types/FrappeForm.d.ts.map +1 -1
- package/types/FrappeFormActions.d.ts +36 -0
- package/types/FrappeFormActions.d.ts.map +1 -0
- package/types/FrappeTable.d.ts +11 -5
- package/types/FrappeTable.d.ts.map +1 -1
- package/types/desk/DeskFormPage.d.ts.map +1 -1
- package/types/filterFields.d.ts +81 -10
- package/types/filterFields.d.ts.map +1 -1
- package/types/formEngine/docLifecycle.d.ts +59 -0
- package/types/formEngine/docLifecycle.d.ts.map +1 -0
- package/types/formEngine/useAmendedAs.d.ts +9 -0
- package/types/formEngine/useAmendedAs.d.ts.map +1 -0
- package/types/formEngine/useDocRights.d.ts +1 -1
- package/types/formEngine/useDocRights.d.ts.map +1 -1
- package/types/formEngine/useFormEngine.d.ts +1 -0
- package/types/formEngine/useFormEngine.d.ts.map +1 -1
- package/types/index.d.ts +5 -1
- package/types/index.d.ts.map +1 -1
- package/types/list/listColumns.d.ts +41 -0
- package/types/list/listColumns.d.ts.map +1 -0
- package/types/list/listFields.d.ts +16 -0
- package/types/list/listFields.d.ts.map +1 -0
- package/types/list/listFormat.d.ts +30 -0
- package/types/list/listFormat.d.ts.map +1 -0
- package/types/list/statusColors.d.ts +14 -0
- package/types/list/statusColors.d.ts.map +1 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
const DESK_COLOR_TO_RAMP = {
|
|
2
|
+
red: "red",
|
|
3
|
+
green: "green",
|
|
4
|
+
blue: "blue",
|
|
5
|
+
orange: "orange",
|
|
6
|
+
yellow: "yellow",
|
|
7
|
+
amber: "yellow",
|
|
8
|
+
gray: "gray",
|
|
9
|
+
grey: "gray",
|
|
10
|
+
darkgrey: "gray",
|
|
11
|
+
"light-blue": "blue",
|
|
12
|
+
purple: "purple",
|
|
13
|
+
pink: "pink",
|
|
14
|
+
cyan: "blue"
|
|
15
|
+
};
|
|
16
|
+
const STATUS_WORD_TO_RAMP = {
|
|
17
|
+
// green — done / healthy
|
|
18
|
+
closed: "green",
|
|
19
|
+
completed: "green",
|
|
20
|
+
complete: "green",
|
|
21
|
+
finished: "green",
|
|
22
|
+
active: "green",
|
|
23
|
+
enabled: "green",
|
|
24
|
+
approved: "green",
|
|
25
|
+
paid: "green",
|
|
26
|
+
success: "green",
|
|
27
|
+
resolved: "green",
|
|
28
|
+
delivered: "green",
|
|
29
|
+
received: "green",
|
|
30
|
+
// orange — needs attention / in flight
|
|
31
|
+
open: "orange",
|
|
32
|
+
pending: "orange",
|
|
33
|
+
"in progress": "orange",
|
|
34
|
+
"to deliver": "orange",
|
|
35
|
+
"to bill": "orange",
|
|
36
|
+
overdue: "orange",
|
|
37
|
+
medium: "orange",
|
|
38
|
+
// blue — submitted / informational
|
|
39
|
+
submitted: "blue",
|
|
40
|
+
running: "blue",
|
|
41
|
+
new: "blue",
|
|
42
|
+
"in review": "blue",
|
|
43
|
+
low: "blue",
|
|
44
|
+
// red — failed / stopped
|
|
45
|
+
cancelled: "red",
|
|
46
|
+
canceled: "red",
|
|
47
|
+
disabled: "red",
|
|
48
|
+
failed: "red",
|
|
49
|
+
rejected: "red",
|
|
50
|
+
error: "red",
|
|
51
|
+
expired: "red",
|
|
52
|
+
inactive: "red",
|
|
53
|
+
unpaid: "red",
|
|
54
|
+
lost: "red",
|
|
55
|
+
high: "red",
|
|
56
|
+
urgent: "red",
|
|
57
|
+
// gray — inert
|
|
58
|
+
draft: "gray"
|
|
59
|
+
};
|
|
60
|
+
function rampToPill(ramp) {
|
|
61
|
+
return {
|
|
62
|
+
background: `$${ramp}3`,
|
|
63
|
+
text: `$${ramp}11`
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
function statusPillColors(status, meta) {
|
|
67
|
+
const normalized = status.trim().toLowerCase();
|
|
68
|
+
const state = meta?.states?.find(s => (s.title ?? "").trim().toLowerCase() === normalized);
|
|
69
|
+
if (state?.color) {
|
|
70
|
+
const ramp2 = DESK_COLOR_TO_RAMP[state.color.trim().toLowerCase()];
|
|
71
|
+
if (ramp2) return rampToPill(ramp2);
|
|
72
|
+
}
|
|
73
|
+
const ramp = STATUS_WORD_TO_RAMP[normalized];
|
|
74
|
+
return rampToPill(ramp ?? "gray");
|
|
75
|
+
}
|
|
76
|
+
export { statusPillColors };
|
|
77
|
+
//# sourceMappingURL=statusColors.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DESK_COLOR_TO_RAMP","red","green","blue","orange","yellow","amber","gray","grey","darkgrey","purple","pink","cyan","STATUS_WORD_TO_RAMP","closed","completed","complete","finished","active","enabled","approved","paid","success","resolved","delivered","received","open","pending","overdue","medium","submitted","running","new","low","cancelled","canceled","disabled","failed","rejected","error","expired","inactive","unpaid","lost","high","urgent","draft","rampToPill","ramp","background","text","statusPillColors","status","meta","normalized","trim","toLowerCase","state","states","find","s","title","color","ramp2"],"sources":["../../../src/list/statusColors.ts"],"sourcesContent":[null],"mappings":"AAaA,MAAMA,kBAAA,GAA6C;EACjDC,GAAA,EAAK;EACLC,KAAA,EAAO;EACPC,IAAA,EAAM;EACNC,MAAA,EAAQ;EACRC,MAAA,EAAQ;EACRC,KAAA,EAAO;EACPC,IAAA,EAAM;EACNC,IAAA,EAAM;EACNC,QAAA,EAAU;EACV,cAAc;EACdC,MAAA,EAAQ;EACRC,IAAA,EAAM;EACNC,IAAA,EAAM;AACR;AAGA,MAAMC,mBAAA,GAA8C;EAAA;EAElDC,MAAA,EAAQ;EACRC,SAAA,EAAW;EACXC,QAAA,EAAU;EACVC,QAAA,EAAU;EACVC,MAAA,EAAQ;EACRC,OAAA,EAAS;EACTC,QAAA,EAAU;EACVC,IAAA,EAAM;EACNC,OAAA,EAAS;EACTC,QAAA,EAAU;EACVC,SAAA,EAAW;EACXC,QAAA,EAAU;EAAA;EAEVC,IAAA,EAAM;EACNC,OAAA,EAAS;EACT,eAAe;EACf,cAAc;EACd,WAAW;EACXC,OAAA,EAAS;EACTC,MAAA,EAAQ;EAAA;EAERC,SAAA,EAAW;EACXC,OAAA,EAAS;EACTC,GAAA,EAAK;EACL,aAAa;EACbC,GAAA,EAAK;EAAA;EAELC,SAAA,EAAW;EACXC,QAAA,EAAU;EACVC,QAAA,EAAU;EACVC,MAAA,EAAQ;EACRC,QAAA,EAAU;EACVC,KAAA,EAAO;EACPC,OAAA,EAAS;EACTC,QAAA,EAAU;EACVC,MAAA,EAAQ;EACRC,IAAA,EAAM;EACNC,IAAA,EAAM;EACNC,MAAA,EAAQ;EAAA;EAERC,KAAA,EAAO;AACT;AAEA,SAASC,WAAWC,IAAA,EAAgC;EAClD,OAAO;IAAEC,UAAA,EAAY,IAAID,IAAI;IAAKE,IAAA,EAAM,IAAIF,IAAI;EAAK;AACvD;AAOO,SAASG,iBAAiBC,MAAA,EAAgBC,IAAA,EAAsC;EACrF,MAAMC,UAAA,GAAaF,MAAA,CAAOG,IAAA,CAAK,EAAEC,WAAA,CAAY;EAC7C,MAAMC,KAAA,GAAQJ,IAAA,EAAMK,MAAA,EAAQC,IAAA,CAAMC,CAAA,KAAOA,CAAA,CAAEC,KAAA,IAAS,IAAIN,IAAA,CAAK,EAAEC,WAAA,CAAY,MAAMF,UAAU;EAC3F,IAAIG,KAAA,EAAOK,KAAA,EAAO;IAChB,MAAMd,KAAA,GAAOhD,kBAAA,CAAmByD,KAAA,CAAMK,KAAA,CAAMP,IAAA,CAAK,EAAEC,WAAA,CAAY,CAAC;IAChE,IAAIR,KAAA,EAAM,OAAOD,UAAA,CAAWgB,KAAI;EAClC;EACA,MAAMf,IAAA,GAAOnC,mBAAA,CAAoByC,UAAU;EAC3C,OAAOP,UAAA,CAAWC,IAAA,IAAQ,MAAM;AAClC","ignoreList":[]}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
var DESK_COLOR_TO_RAMP = {
|
|
2
|
+
red: "red",
|
|
3
|
+
green: "green",
|
|
4
|
+
blue: "blue",
|
|
5
|
+
orange: "orange",
|
|
6
|
+
yellow: "yellow",
|
|
7
|
+
amber: "yellow",
|
|
8
|
+
gray: "gray",
|
|
9
|
+
grey: "gray",
|
|
10
|
+
darkgrey: "gray",
|
|
11
|
+
"light-blue": "blue",
|
|
12
|
+
purple: "purple",
|
|
13
|
+
pink: "pink",
|
|
14
|
+
cyan: "blue"
|
|
15
|
+
};
|
|
16
|
+
var STATUS_WORD_TO_RAMP = {
|
|
17
|
+
// green — done / healthy
|
|
18
|
+
closed: "green",
|
|
19
|
+
completed: "green",
|
|
20
|
+
complete: "green",
|
|
21
|
+
finished: "green",
|
|
22
|
+
active: "green",
|
|
23
|
+
enabled: "green",
|
|
24
|
+
approved: "green",
|
|
25
|
+
paid: "green",
|
|
26
|
+
success: "green",
|
|
27
|
+
resolved: "green",
|
|
28
|
+
delivered: "green",
|
|
29
|
+
received: "green",
|
|
30
|
+
// orange — needs attention / in flight
|
|
31
|
+
open: "orange",
|
|
32
|
+
pending: "orange",
|
|
33
|
+
"in progress": "orange",
|
|
34
|
+
"to deliver": "orange",
|
|
35
|
+
"to bill": "orange",
|
|
36
|
+
overdue: "orange",
|
|
37
|
+
medium: "orange",
|
|
38
|
+
// blue — submitted / informational
|
|
39
|
+
submitted: "blue",
|
|
40
|
+
running: "blue",
|
|
41
|
+
new: "blue",
|
|
42
|
+
"in review": "blue",
|
|
43
|
+
low: "blue",
|
|
44
|
+
// red — failed / stopped
|
|
45
|
+
cancelled: "red",
|
|
46
|
+
canceled: "red",
|
|
47
|
+
disabled: "red",
|
|
48
|
+
failed: "red",
|
|
49
|
+
rejected: "red",
|
|
50
|
+
error: "red",
|
|
51
|
+
expired: "red",
|
|
52
|
+
inactive: "red",
|
|
53
|
+
unpaid: "red",
|
|
54
|
+
lost: "red",
|
|
55
|
+
high: "red",
|
|
56
|
+
urgent: "red",
|
|
57
|
+
// gray — inert
|
|
58
|
+
draft: "gray"
|
|
59
|
+
};
|
|
60
|
+
function rampToPill(ramp) {
|
|
61
|
+
return {
|
|
62
|
+
background: `$${ramp}3`,
|
|
63
|
+
text: `$${ramp}11`
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
function statusPillColors(status, meta) {
|
|
67
|
+
var _meta_states;
|
|
68
|
+
var normalized = status.trim().toLowerCase();
|
|
69
|
+
var state = meta === null || meta === void 0 ? void 0 : (_meta_states = meta.states) === null || _meta_states === void 0 ? void 0 : _meta_states.find(function (s) {
|
|
70
|
+
var _s_title;
|
|
71
|
+
return ((_s_title = s.title) !== null && _s_title !== void 0 ? _s_title : "").trim().toLowerCase() === normalized;
|
|
72
|
+
});
|
|
73
|
+
if (state === null || state === void 0 ? void 0 : state.color) {
|
|
74
|
+
var ramp = DESK_COLOR_TO_RAMP[state.color.trim().toLowerCase()];
|
|
75
|
+
if (ramp) return rampToPill(ramp);
|
|
76
|
+
}
|
|
77
|
+
var ramp1 = STATUS_WORD_TO_RAMP[normalized];
|
|
78
|
+
return rampToPill(ramp1 !== null && ramp1 !== void 0 ? ramp1 : "gray");
|
|
79
|
+
}
|
|
80
|
+
export { statusPillColors };
|
|
81
|
+
//# sourceMappingURL=statusColors.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DESK_COLOR_TO_RAMP","red","green","blue","orange","yellow","amber","gray","grey","darkgrey","purple","pink","cyan","STATUS_WORD_TO_RAMP","closed","completed","complete","finished","active","enabled","approved","paid","success","resolved","delivered","received","open","pending","overdue","medium","submitted","running","new","low","cancelled","canceled","disabled","failed","rejected","error","expired","inactive","unpaid","lost","high","urgent","draft","rampToPill","ramp","background","text","statusPillColors","status","meta","_meta_states","normalized","trim","toLowerCase","state","states","find","s","_s_title","title"],"sources":["../../../src/list/statusColors.ts"],"sourcesContent":[null],"mappings":"AAaA,IAAAA,kBAAM;EACJC,GAAA,EAAK;EACLC,KAAA,EAAO;EACPC,IAAA,EAAM;EACNC,MAAA,EAAQ;EACRC,MAAA,EAAQ;EACRC,KAAA,EAAO;EACPC,IAAA,EAAM;EACNC,IAAA,EAAM;EACNC,QAAA,EAAU;EACV,cAAc;EACdC,MAAA,EAAQ;EACRC,IAAA,EAAM;EACNC,IAAA,EAAM;AACR;AAGA,IAAAC,mBAAM;EAA8C;EAElDC,MAAA,EAAQ;EACRC,SAAA,EAAW;EACXC,QAAA,EAAU;EACVC,QAAA,EAAU;EACVC,MAAA,EAAQ;EACRC,OAAA,EAAS;EACTC,QAAA,EAAU;EACVC,IAAA,EAAM;EACNC,OAAA,EAAS;EACTC,QAAA,EAAU;EACVC,SAAA,EAAW;EACXC,QAAA,EAAU;EAAA;EAEVC,IAAA,EAAM;EACNC,OAAA,EAAS;EACT,eAAe;EACf,cAAc;EACd,WAAW;EACXC,OAAA,EAAS;EACTC,MAAA,EAAQ;EAAA;EAERC,SAAA,EAAW;EACXC,OAAA,EAAS;EACTC,GAAA,EAAK;EACL,aAAa;EACbC,GAAA,EAAK;EAAA;EAELC,SAAA,EAAW;EACXC,QAAA,EAAU;EACVC,QAAA,EAAU;EACVC,MAAA,EAAQ;EACRC,QAAA,EAAU;EACVC,KAAA,EAAO;EACPC,OAAA,EAAS;EACTC,QAAA,EAAU;EACVC,MAAA,EAAQ;EACRC,IAAA,EAAM;EACNC,IAAA,EAAM;EACNC,MAAA,EAAQ;EAAA;EAERC,KAAA,EAAO;AACT;AAEA,SAASC,WAAWC,IAAA,EAAgC;EAClD,OAAO;IACTC,UAAA,MAAAD,IAAA;IAOOE,IAAA,EAAS,IAAAF,IAAA;EACd;AACA;AACA,SAAIG,gBAAcA,CAAAC,MAAA,EAAAC,IAAA;EAChB,IAAAC,YAAa;EACb,IAAAC,UAAU,GAAAH,MAAO,CAAAI,IAAA,GAAWC,WAAI;EAClC,IAAAC,KAAA,GAAAL,IAAA,aAAAA,IAAA,wBAAAC,YAAA,GAAAD,IAAA,CAAAM,MAAA,cAAAL,YAAA,uBAAAA,YAAA,CAAAM,IAAA,WAAAC,CAAA;IACA,IAAMC,QAAO;IACb,OAAO,EAAAA,QAAW,GAAAD,CAAA,CAAAE,KAAQ,MAAM,QAAAD,QAAA,cAAAA,QAAA,OAAAN,IAAA,GAAAC,WAAA,OAAAF,UAAA;EAClC","ignoreList":[]}
|
|
@@ -3,7 +3,7 @@ import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
|
3
3
|
const DEFAULT_DEBOUNCE_MS = 300;
|
|
4
4
|
const dbCache = /* @__PURE__ */new Map();
|
|
5
5
|
function getDb(baseURL, auth) {
|
|
6
|
-
const key = `${baseURL}:${auth?.token ?? ""}:${auth?.type ?? ""}`;
|
|
6
|
+
const key = `${baseURL}:${auth?.useToken ? "t" : ""}:${auth?.token ?? ""}:${auth?.type ?? ""}`;
|
|
7
7
|
let db = dbCache.get(key);
|
|
8
8
|
if (!db) {
|
|
9
9
|
const authConfig = auth ? {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AsyncDebouncer","DbModule","HttpClient","useFrappeDoctypeEvents","useCallback","useEffect","useMemo","useRef","useState","DEFAULT_DEBOUNCE_MS","dbCache","Map","getDb","baseURL","auth","key","token","type","db","get","authConfig","
|
|
1
|
+
{"version":3,"names":["AsyncDebouncer","DbModule","HttpClient","useFrappeDoctypeEvents","useCallback","useEffect","useMemo","useRef","useState","DEFAULT_DEBOUNCE_MS","dbCache","Map","getDb","baseURL","auth","key","useToken","token","type","db","get","authConfig","set","FIELDNAME_RE","assertFieldname","name","what","test","Error","JSON","stringify","toFiniteNumber","raw","num","Number","isFinite","fetchLiveAggregate","spec","operation","aggregate","field","groupBy","count","getCount","doctype","filters","value","aggregateExpr","fields","rows","getDocList","limit","groups","map","row","label","String","_aggregate_value","fetchFixtureAggregate","fixtures","getList","subset","length","values","filter","reduce","a","b","Math","min","max","buckets","bucket","push","entries","useFrappeAggregate","connection","enabled","debounceMs","data","setData","isLoading","setIsLoading","isStale","setIsStale","error","setError","lastUpdated","setLastUpdated","specKey","fetchSeq","specRef","current","connectionRef","hasSettledRef","identityRef","runFetch","conn","currentSpec","seq","result","Date","err","debouncerRef","wait","setOptions","cancel","identity","maybeExecute","refresh","isPermissionError","status"],"sources":["../../src/useFrappeAggregate.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -13,7 +13,7 @@ var DEFAULT_DEBOUNCE_MS = 300;
|
|
|
13
13
|
var dbCache = /* @__PURE__ */new Map();
|
|
14
14
|
function getDb(baseURL, auth) {
|
|
15
15
|
var _ref, _ref1;
|
|
16
|
-
var key = `${baseURL}:${(_ref = auth === null || auth === void 0 ? void 0 : auth.token) !== null && _ref !== void 0 ? _ref : ""}:${(_ref1 = auth === null || auth === void 0 ? void 0 : auth.type) !== null && _ref1 !== void 0 ? _ref1 : ""}`;
|
|
16
|
+
var key = `${baseURL}:${(auth === null || auth === void 0 ? void 0 : auth.useToken) ? "t" : ""}:${(_ref = auth === null || auth === void 0 ? void 0 : auth.token) !== null && _ref !== void 0 ? _ref : ""}:${(_ref1 = auth === null || auth === void 0 ? void 0 : auth.type) !== null && _ref1 !== void 0 ? _ref1 : ""}`;
|
|
17
17
|
var db = dbCache.get(key);
|
|
18
18
|
if (!db) {
|
|
19
19
|
var authConfig = auth ? {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AsyncDebouncer","DbModule","HttpClient","useFrappeDoctypeEvents","useCallback","useEffect","useMemo","useRef","useState","_instanceof","left","right","Symbol","hasInstance","DEFAULT_DEBOUNCE_MS","dbCache","Map","getDb","baseURL","auth","_ref","_ref1","key","token","type","db","get","authConfig","
|
|
1
|
+
{"version":3,"names":["AsyncDebouncer","DbModule","HttpClient","useFrappeDoctypeEvents","useCallback","useEffect","useMemo","useRef","useState","_instanceof","left","right","Symbol","hasInstance","DEFAULT_DEBOUNCE_MS","dbCache","Map","getDb","baseURL","auth","_ref","_ref1","key","useToken","token","type","db","get","authConfig","set","FIELDNAME_RE","assertFieldname","name","what","test","Error","JSON","stringify","toFiniteNumber","raw","num","Number","isFinite","fetchLiveAggregate","spec","_spec_aggregate","_spec_field","_rows_","operation","aggregate","field","groupBy","count","getCount","doctype","filters","value","aggregateExpr","fields","rows","getDocList","limit","groups","map","row","_row_groupBy","_toFiniteNumber","label","String","_aggregate_value","fetchFixtureAggregate","fixtures","getList","aggregate2","subset","length","values","row2","filter","reduce","a","b","Math","min","max","buckets","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","_buckets_get","bucket","push","err","return","entries","param","label2","bucket2","_aggregate","useFrappeAggregate","connection","_spec_debounceMs","enabled","debounceMs","data","setData","isLoading","setIsLoading","isStale","setIsStale","error","setError","lastUpdated","setLastUpdated","specKey","fetchSeq","specRef","current","connectionRef","hasSettledRef","identityRef","runFetch","conn","currentSpec","seq","result","Date"],"sources":["../../src/useFrappeAggregate.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/jsx/FrappeForm.mjs
CHANGED
|
@@ -3,7 +3,7 @@ import { AsyncBoundary, AsyncSkeleton, DetailPageLayout, EmptyState, PageHeader,
|
|
|
3
3
|
import { SchemaForm } from "./schemaForm/index.mjs";
|
|
4
4
|
import { FormSidebar } from "./FormSidebar.mjs";
|
|
5
5
|
import { eq } from "@tanstack/db";
|
|
6
|
-
import { ArrowLeftIcon
|
|
6
|
+
import { ArrowLeftIcon } from "@phosphor-icons/react";
|
|
7
7
|
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
8
8
|
import { useTranslation } from "react-i18next";
|
|
9
9
|
import { Button, Input, formCommonColors } from "@multiplatform.one/forms";
|
|
@@ -17,7 +17,12 @@ import { applyFetchedValues, buildFetchMap } from "./formEngine/fetchFrom.mjs";
|
|
|
17
17
|
import { buildPermLevelMatrix } from "./formEngine/fieldPermissions.mjs";
|
|
18
18
|
import { createHttpClient, validateLink } from "./formEngine/formActions.mjs";
|
|
19
19
|
import { buildFormTabs, isPromptNamed } from "./formEngine/formLayout.mjs";
|
|
20
|
+
import { setCreatePrefill, takeCreatePrefill } from "./formEngine/createPrefill.mjs";
|
|
21
|
+
import { buildAmendValues, canDeleteDoc, canEditDoc, isAmendable, resolveDocAction, resolveDocIndicator } from "./formEngine/docLifecycle.mjs";
|
|
22
|
+
import { useAmendedAs } from "./formEngine/useAmendedAs.mjs";
|
|
20
23
|
import { useDocRights } from "./formEngine/useDocRights.mjs";
|
|
24
|
+
import { extractServerError } from "./formEngine/useFormEngine.mjs";
|
|
25
|
+
import { FrappeFormActions } from "./FrappeFormActions.mjs";
|
|
21
26
|
import { connectionFields, connectionsFromMeta } from "./frappeConnections.mjs";
|
|
22
27
|
import { FrappeFormConnections } from "./FrappeFormConnections.mjs";
|
|
23
28
|
import { FrappeRowsReader } from "./FrappeRowsReader.mjs";
|
|
@@ -144,6 +149,7 @@ function FrappeFormRoute({
|
|
|
144
149
|
onCancel,
|
|
145
150
|
onDelete,
|
|
146
151
|
onEdit,
|
|
152
|
+
onAmend,
|
|
147
153
|
...props
|
|
148
154
|
}) {
|
|
149
155
|
const router = useFrappeRouter();
|
|
@@ -186,6 +192,9 @@ function FrappeFormRoute({
|
|
|
186
192
|
})),
|
|
187
193
|
onDelete: onDelete ?? (() => go({
|
|
188
194
|
mode: "list"
|
|
195
|
+
})),
|
|
196
|
+
onAmend: onAmend ?? (() => go({
|
|
197
|
+
mode: "create"
|
|
189
198
|
}))
|
|
190
199
|
});
|
|
191
200
|
}
|
|
@@ -206,6 +215,7 @@ function FrappeFormBody({
|
|
|
206
215
|
onSave,
|
|
207
216
|
onCancel,
|
|
208
217
|
onDelete,
|
|
218
|
+
onAmend,
|
|
209
219
|
onEdit,
|
|
210
220
|
showToolbar = true,
|
|
211
221
|
showSidebar = true,
|
|
@@ -243,6 +253,7 @@ function FrappeFormBody({
|
|
|
243
253
|
localDocRef.current = localDoc;
|
|
244
254
|
const baselineRef = useRef(baselineDoc);
|
|
245
255
|
baselineRef.current = baselineDoc;
|
|
256
|
+
const createDraftRef = useRef(void 0);
|
|
246
257
|
const finalBaseURL = baseURL ?? config?.baseURL;
|
|
247
258
|
const finalAuth = auth ?? config?.auth;
|
|
248
259
|
const finalSyncOptions = syncOptions ?? config?.syncOptions;
|
|
@@ -264,12 +275,14 @@ function FrappeFormBody({
|
|
|
264
275
|
isLoading: isMetaLoading,
|
|
265
276
|
error: metaError
|
|
266
277
|
} = useDocTypeMeta(frappeConfig, doctype);
|
|
278
|
+
const isSubmittable = !!meta?.is_submittable;
|
|
267
279
|
const isCreate = !name;
|
|
268
280
|
const docstatus = Number(baselineDoc?.docstatus ?? 0);
|
|
269
281
|
const layoutFields = useMemo(() => {
|
|
270
282
|
if (!meta) return void 0;
|
|
271
283
|
return sections ? sectionsToLayoutFields(sections) : meta.fields;
|
|
272
284
|
}, [meta, sections]);
|
|
285
|
+
const amendedAs = useAmendedAs(isSubmittable && docstatus === 2 ? frappeConfig : void 0, doctype, name);
|
|
273
286
|
const readsWithoutMeta = !children && !meta && Boolean(metaError) && Boolean(name);
|
|
274
287
|
const recordTabs = useMemo(() => {
|
|
275
288
|
if (!readsWithoutMeta || !baselineDoc) return void 0;
|
|
@@ -383,6 +396,7 @@ function FrappeFormBody({
|
|
|
383
396
|
const assignmentRows = useMemo(() => assignmentCollection ? rawAssignmentRows ?? [] : void 0, [assignmentCollection, rawAssignmentRows]);
|
|
384
397
|
useEffect(() => {
|
|
385
398
|
everLoadedRef.current = false;
|
|
399
|
+
if (name) createDraftRef.current = void 0;
|
|
386
400
|
setWasDeleted(false);
|
|
387
401
|
setConflictFields([]);
|
|
388
402
|
setDocError(null);
|
|
@@ -456,7 +470,14 @@ function FrappeFormBody({
|
|
|
456
470
|
} else if (name && everLoadedRef.current && !liveDoc?.isLoading) {
|
|
457
471
|
setWasDeleted(true);
|
|
458
472
|
} else if (!name) {
|
|
473
|
+
if (createDraftRef.current?.doctype !== doctype) {
|
|
474
|
+
createDraftRef.current = {
|
|
475
|
+
doctype,
|
|
476
|
+
values: takeCreatePrefill(doctype)
|
|
477
|
+
};
|
|
478
|
+
}
|
|
459
479
|
setLocalDoc({
|
|
480
|
+
...createDraftRef.current.values,
|
|
460
481
|
doctype
|
|
461
482
|
});
|
|
462
483
|
}
|
|
@@ -633,6 +654,43 @@ function FrappeFormBody({
|
|
|
633
654
|
setIsSubmitting(false);
|
|
634
655
|
}
|
|
635
656
|
};
|
|
657
|
+
const transitionDocstatus = async (to, question, failure) => {
|
|
658
|
+
if (!docCollection || !name || wasDeleted || !rights[to === 1 ? "submit" : "cancel"]) return;
|
|
659
|
+
if (to === 1) {
|
|
660
|
+
const requiredErrors = validateRequiredFields();
|
|
661
|
+
if (Object.keys(requiredErrors).length > 0) {
|
|
662
|
+
setErrors(requiredErrors);
|
|
663
|
+
return;
|
|
664
|
+
}
|
|
665
|
+
}
|
|
666
|
+
if (!(await dialog.confirm(question))) return;
|
|
667
|
+
setIsSubmitting(true);
|
|
668
|
+
setErrors({});
|
|
669
|
+
try {
|
|
670
|
+
const tx = docCollection.update(name, draft => {
|
|
671
|
+
draft.docstatus = to;
|
|
672
|
+
});
|
|
673
|
+
await tx.isPersisted.promise;
|
|
674
|
+
} catch (err) {
|
|
675
|
+
setErrors({
|
|
676
|
+
general: extractServerError(err, failure)
|
|
677
|
+
});
|
|
678
|
+
} finally {
|
|
679
|
+
setIsSubmitting(false);
|
|
680
|
+
}
|
|
681
|
+
};
|
|
682
|
+
const handleSubmitDocument = () => transitionDocstatus(1, t("Permanently Submit {{name}}?", {
|
|
683
|
+
name
|
|
684
|
+
}), t("Failed to submit"));
|
|
685
|
+
const handleCancelDocument = () => transitionDocstatus(2, t("Permanently Cancel {{name}}?", {
|
|
686
|
+
name
|
|
687
|
+
}), t("Failed to cancel"));
|
|
688
|
+
const handleAmend = () => {
|
|
689
|
+
if (!meta || !name || !onAmend || !rights.amend) return;
|
|
690
|
+
const draft = buildAmendValues(meta.fields, localDoc, name);
|
|
691
|
+
setCreatePrefill(doctype, draft);
|
|
692
|
+
onAmend(draft);
|
|
693
|
+
};
|
|
636
694
|
const titleField = meta?.title_field;
|
|
637
695
|
const titleValue = titleField ? localDoc[titleField] : void 0;
|
|
638
696
|
const pageTitle = isCreate ? t("New {{doctype}}", {
|
|
@@ -754,12 +812,30 @@ function FrappeFormBody({
|
|
|
754
812
|
const effectiveDisabled = disabled || wasDeleted;
|
|
755
813
|
const readOnlyView = Boolean(onEdit) || readsWithoutMeta;
|
|
756
814
|
const fieldsDisabled = effectiveDisabled || readOnlyView || !canWriteRecord;
|
|
757
|
-
const
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
815
|
+
const indicator = resolveDocIndicator({
|
|
816
|
+
docstatus,
|
|
817
|
+
isCreate,
|
|
818
|
+
isDirty: hasUnsavedChanges && !onEdit,
|
|
819
|
+
isSubmittable
|
|
820
|
+
});
|
|
821
|
+
const docAction = resolveDocAction({
|
|
822
|
+
docstatus,
|
|
823
|
+
isCreate,
|
|
824
|
+
isDirty: hasUnsavedChanges,
|
|
825
|
+
isSubmittable,
|
|
826
|
+
perms: {
|
|
827
|
+
write: canWriteRecord,
|
|
828
|
+
submit: rights.submit,
|
|
829
|
+
cancel: rights.cancel,
|
|
830
|
+
amend: rights.amend
|
|
831
|
+
},
|
|
832
|
+
isReadOnlyView: Boolean(onEdit)
|
|
833
|
+
});
|
|
834
|
+
const showDelete = Boolean(name && onDelete && !wasDeleted && rights.delete && canDeleteDoc(docstatus));
|
|
835
|
+
const showEdit = Boolean(onEdit && rights.write && canEditDoc(docstatus, meta));
|
|
836
|
+
const showAmend = Boolean(onAmend && isAmendable(meta));
|
|
837
|
+
const showClose = !onEdit && Boolean(onCancel);
|
|
838
|
+
const toolbarShown = showToolbar && !readsWithoutMeta && Boolean(indicator || docAction || showDelete || showEdit || showClose);
|
|
763
839
|
const shownTabs = formTabs ?? recordTabs;
|
|
764
840
|
const imageFieldName = meta?.image_field;
|
|
765
841
|
const sidebarImageUrl = imageFieldName ? resolveFileUrl(localDoc[imageFieldName], finalBaseURL) : void 0;
|
|
@@ -895,52 +971,20 @@ function FrappeFormBody({
|
|
|
895
971
|
color: formCommonColors.error,
|
|
896
972
|
...knobProps.body,
|
|
897
973
|
children: errors.general
|
|
898
|
-
}), toolbarShown && /* @__PURE__ */
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
loading: isSubmitting,
|
|
913
|
-
disabled: effectiveDisabled,
|
|
914
|
-
disabledReason: t("Form is read-only"),
|
|
915
|
-
disabledReasonPlacement: "inline",
|
|
916
|
-
onPress: handleDelete,
|
|
917
|
-
children: t("Delete")
|
|
918
|
-
}), showEdit && /* @__PURE__ */jsx(Button, {
|
|
919
|
-
accent: true,
|
|
920
|
-
icon: PencilSimpleIcon,
|
|
921
|
-
disabled: effectiveDisabled,
|
|
922
|
-
disabledReason: t("Form is read-only"),
|
|
923
|
-
disabledReasonPlacement: "inline",
|
|
924
|
-
onPress: onEdit,
|
|
925
|
-
children: t("Edit")
|
|
926
|
-
}), showCancel && /* @__PURE__ */jsx(Button, {
|
|
927
|
-
outlined: true,
|
|
928
|
-
icon: XIcon,
|
|
929
|
-
disabled,
|
|
930
|
-
disabledReason: t("Form is read-only"),
|
|
931
|
-
disabledReasonPlacement: "inline",
|
|
932
|
-
onPress: handleCancel,
|
|
933
|
-
children: t("Cancel")
|
|
934
|
-
}), showSave && /* @__PURE__ */jsx(Button, {
|
|
935
|
-
accent: true,
|
|
936
|
-
icon: FloppyDiskIcon,
|
|
937
|
-
loading: isSubmitting,
|
|
938
|
-
disabled: effectiveDisabled,
|
|
939
|
-
disabledReason: t("Form is read-only"),
|
|
940
|
-
disabledReasonPlacement: "inline",
|
|
941
|
-
onPress: handleSave,
|
|
942
|
-
children: isSubmitting ? t("Saving...") : t("Save")
|
|
943
|
-
})]
|
|
974
|
+
}), toolbarShown && /* @__PURE__ */jsx(FrappeFormActions, {
|
|
975
|
+
indicator,
|
|
976
|
+
action: docAction,
|
|
977
|
+
busy: isSubmitting,
|
|
978
|
+
disabled: effectiveDisabled,
|
|
979
|
+
onSave: handleSave,
|
|
980
|
+
onSubmit: handleSubmitDocument,
|
|
981
|
+
onCancelDocument: handleCancelDocument,
|
|
982
|
+
onAmend: showAmend ? handleAmend : void 0,
|
|
983
|
+
amendedAs,
|
|
984
|
+
onDelete: showDelete ? handleDelete : void 0,
|
|
985
|
+
onEdit: showEdit ? onEdit : void 0,
|
|
986
|
+
onClose: showClose ? handleCancel : void 0,
|
|
987
|
+
closeDisabled: disabled
|
|
944
988
|
})]
|
|
945
989
|
})]
|
|
946
990
|
}), showTimeline && name && !readsWithoutMeta && /* @__PURE__ */jsx(Timeline, {
|