@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
package/types/FrappeTable.d.ts
CHANGED
|
@@ -44,13 +44,19 @@ export interface FrappeTableProps<TDoc extends {
|
|
|
44
44
|
syncOptions?: any;
|
|
45
45
|
/** The Frappe DocType to display */
|
|
46
46
|
doctype: string;
|
|
47
|
-
/**
|
|
48
|
-
|
|
47
|
+
/**
|
|
48
|
+
* Column definitions. Omitted, they come from the doctype's meta through
|
|
49
|
+
* `buildListColumns`, the desk list's own anatomy (title, the
|
|
50
|
+
* in_list_view fields the session may read, activity), and the table
|
|
51
|
+
* waits for meta and the session's roles before its first read.
|
|
52
|
+
*/
|
|
53
|
+
columns?: DataTableColumn<Partial<TDoc>>[];
|
|
49
54
|
/**
|
|
50
55
|
* Fields to fetch. Omitted, a read from the bench (`serverSide`, or client
|
|
51
56
|
* mode under a provider without `fixtures`) requests `name` plus every
|
|
52
|
-
* column's `accessorKey
|
|
53
|
-
*
|
|
57
|
+
* column's `accessorKey` (with `columns` omitted too, the fields the
|
|
58
|
+
* derived columns paint: `listFieldsToFetch`), and client mode under a
|
|
59
|
+
* provider carrying `fixtures` reads whole documents from the corpus. A column keyed on
|
|
54
60
|
* something that is not a doctype field (a rowAccumulator's derived key,
|
|
55
61
|
* say) makes the bench refuse that read, so name the list to leave such a
|
|
56
62
|
* key out. Name it, too, to share one collection with another reader of
|
|
@@ -178,5 +184,5 @@ export declare function filterValueToFrappeTuple(fieldname: string, filterValue:
|
|
|
178
184
|
export declare function FrappeTable<TDoc extends {
|
|
179
185
|
name: string;
|
|
180
186
|
doctype: string;
|
|
181
|
-
}>({ baseURL, auth, syncOptions, doctype, columns, fields, filters: initialFilters, onRowClick, loading, error, savedFilters, canCreateGlobalFilters, userId, serverSide, onStateChange: onStateChangeProp, refreshToken, paginationMode, loadPage: loadPageProp, filterableFields: filterableFieldsProp, rights: rightsProp, layout, ...dataTableProps }: FrappeTableProps<TDoc>): import("react/jsx-runtime").JSX.Element;
|
|
187
|
+
}>({ baseURL, auth, syncOptions, doctype, columns: columnsProp, fields, filters: initialFilters, onRowClick, loading, error, savedFilters, canCreateGlobalFilters, userId, serverSide, onStateChange: onStateChangeProp, refreshToken, paginationMode, loadPage: loadPageProp, filterableFields: filterableFieldsProp, rights: rightsProp, layout, initialState, ...dataTableProps }: FrappeTableProps<TDoc>): import("react/jsx-runtime").JSX.Element;
|
|
182
188
|
//# sourceMappingURL=FrappeTable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FrappeTable.d.ts","sourceRoot":"","sources":["../src/FrappeTable.tsx"],"names":[],"mappings":"AAOA,OAAO,EAEL,KAAK,eAAe,EAEpB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,eAAe,EAErB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,KAA4D,MAAM,OAAO,CAAC;AAOjF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"FrappeTable.d.ts","sourceRoot":"","sources":["../src/FrappeTable.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeskFormPage.d.ts","sourceRoot":"","sources":["../../src/desk/DeskFormPage.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAkBH,MAAM,WAAW,iBAAiB;IAChC,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAkBD,wBAAgB,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"DeskFormPage.d.ts","sourceRoot":"","sources":["../../src/desk/DeskFormPage.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAkBH,MAAM,WAAW,iBAAiB;IAChC,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAkBD,wBAAgB,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,iBAAiB,2CAwG5E"}
|
package/types/filterFields.d.ts
CHANGED
|
@@ -1,19 +1,90 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* The one filterable-field vocabulary (MPO-15, LC-16).
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
4
|
+
* Which doctype fields can filter, the standard doc fields every doctype
|
|
5
|
+
* carries, how they are labelled, desk's operator vocabulary (=, !=, like,
|
|
6
|
+
* not like, in, not in, comparisons, between, is set / is not set) and the
|
|
7
|
+
* two-way frappe tuple conversion. Both list stacks read it: the desk list
|
|
8
|
+
* chrome (filter editor, chips, quick filters) takes the descriptors, and
|
|
9
|
+
* FrappeTable's toolbar takes `docFieldsToFilterFields`, the same fields on
|
|
10
|
+
* the table's `filterableFields` contract. Table filter types come from the
|
|
11
|
+
* field registry (fieldtypeToTableField) and the table's own field→filter
|
|
12
|
+
* type mapping: one chain, no parallel fieldtype table.
|
|
10
13
|
*/
|
|
11
14
|
import type { DocTypeField } from "@multiplatform.one/frappe";
|
|
12
15
|
import { type FilterableField } from "@multiplatform.one/table";
|
|
16
|
+
import type { DoctypeMeta } from "./formEngine/doctypeMeta";
|
|
17
|
+
import type { FrappeFieldFilter } from "./useConnectionFilters";
|
|
18
|
+
export type FilterFieldKind = "select" | "link" | "check" | "date" | "number" | "text";
|
|
19
|
+
export interface FilterFieldDescriptor {
|
|
20
|
+
fieldname: string;
|
|
21
|
+
label: string;
|
|
22
|
+
fieldtype: string;
|
|
23
|
+
kind: FilterFieldKind;
|
|
24
|
+
/** Link target doctype, or the raw Select options string. */
|
|
25
|
+
options?: string;
|
|
26
|
+
}
|
|
27
|
+
/** Editor kind for a frappe fieldtype (Dynamic Link has no static target → text). */
|
|
28
|
+
export declare function fieldKind(fieldtype: string): FilterFieldKind;
|
|
29
|
+
/** Standard doc fields present on every doctype but absent from meta.fields. */
|
|
30
|
+
export declare function standardDocFilterFields(): FilterFieldDescriptor[];
|
|
13
31
|
/**
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
|
|
32
|
+
* All fields offered by the filter editor's field picker — data fields from
|
|
33
|
+
* meta (hidden ones included, desk parity) plus the standard doc fields.
|
|
34
|
+
*/
|
|
35
|
+
export declare function filterableFieldsFromMeta(meta?: DoctypeMeta): FilterFieldDescriptor[];
|
|
36
|
+
/**
|
|
37
|
+
* The same vocabulary on the table's `filterableFields` contract: the
|
|
38
|
+
* doctype's filterable fields plus the standard doc fields, typed through
|
|
39
|
+
* the field registry. FrappeTable derives its toolbar menu from this.
|
|
17
40
|
*/
|
|
18
41
|
export declare function docFieldsToFilterFields(fields: DocTypeField[]): FilterableField[];
|
|
42
|
+
/** Fields flagged `in_standard_filter`, in meta order (the quick-filter row).
|
|
43
|
+
* Desk always offers ID plus the title field as live header inputs even when
|
|
44
|
+
* those flags are off — typing a fragment of ID/subject is the fastest
|
|
45
|
+
* narrowing habit list users have (audit E1). */
|
|
46
|
+
export declare function standardFiltersFromMeta(meta?: DoctypeMeta): FilterFieldDescriptor[];
|
|
47
|
+
/** Select fieldtype options string → dropdown options (blank lines dropped). */
|
|
48
|
+
export declare function selectOptionsFromField(options?: string): Array<{
|
|
49
|
+
label: string;
|
|
50
|
+
value: string;
|
|
51
|
+
}>;
|
|
52
|
+
/**
|
|
53
|
+
* Human label for a fieldname — descriptor label when known, else a
|
|
54
|
+
* title-cased form. The raw identifier (underscores) never reaches chips or
|
|
55
|
+
* editor rows (no-raw-fieldname rule candidate, parity audit pair 04/16).
|
|
56
|
+
*/
|
|
57
|
+
export declare function fieldLabelFor(fields: FilterFieldDescriptor[], fieldname: string): string;
|
|
58
|
+
export type DeskOperator = "=" | "!=" | "like" | "not like" | "in" | "not in" | ">" | "<" | ">=" | "<=" | "between" | "is set" | "is not set";
|
|
59
|
+
/** English operator labels — translate at render time via t(). */
|
|
60
|
+
export declare const DESK_OPERATOR_LABELS: Record<DeskOperator, string>;
|
|
61
|
+
/** Operators offered for an editor kind (desk's list, comparisons gated). */
|
|
62
|
+
export declare function operatorsForKind(kind: FilterFieldKind): DeskOperator[];
|
|
63
|
+
/** Initial operator when a field is picked (desk: text searches, others match). */
|
|
64
|
+
export declare function defaultOperatorForKind(kind: FilterFieldKind): DeskOperator;
|
|
65
|
+
export interface FilterRowDraft {
|
|
66
|
+
fieldname: string;
|
|
67
|
+
operator: DeskOperator;
|
|
68
|
+
/** Scalar editor value (single input / select / link / comma list). */
|
|
69
|
+
value: string;
|
|
70
|
+
/** Multi values: in / not in multi-select, or [from, to] for between. */
|
|
71
|
+
values: string[];
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Draft → frappe tuple; null while the draft is incomplete.
|
|
75
|
+
* `like` wraps `%value%` unless the user typed their own wildcard;
|
|
76
|
+
* `is set` / `is not set` become ["field", "is", "set" | "not set"].
|
|
77
|
+
*/
|
|
78
|
+
export declare function draftToTuple(draft: FilterRowDraft, kind: FilterFieldKind): FrappeFieldFilter | null;
|
|
79
|
+
/** Frappe tuple → editable draft (inverse of draftToTuple). */
|
|
80
|
+
export declare function tupleToDraft(tuple: FrappeFieldFilter): FilterRowDraft;
|
|
81
|
+
/**
|
|
82
|
+
* Quick-filter semantics: a standard filter control owns every tuple for its
|
|
83
|
+
* fieldname — replace them with `tuple`, or clear when `tuple` is undefined.
|
|
84
|
+
*/
|
|
85
|
+
export declare function setFieldFilter(filters: FrappeFieldFilter[], fieldname: string, tuple?: FrappeFieldFilter): FrappeFieldFilter[];
|
|
86
|
+
/** The active quick-filter display value for a fieldname ("" when none). */
|
|
87
|
+
export declare function quickFilterValue(filters: FrappeFieldFilter[], fieldname: string): string;
|
|
88
|
+
/** Chip label: "Status = Open", "Due Date between a, b", "Owner is set". */
|
|
89
|
+
export declare function filterTupleLabel(fields: FilterFieldDescriptor[], tuple: FrappeFieldFilter): string;
|
|
19
90
|
//# sourceMappingURL=filterFields.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filterFields.d.ts","sourceRoot":"","sources":["../src/filterFields.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"filterFields.d.ts","sourceRoot":"","sources":["../src/filterFields.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The docstatus lifecycle of a submittable doctype, with desk's rules
|
|
3
|
+
* (frappe/public/js/frappe/form/toolbar.js `get_action_status`,
|
|
4
|
+
* form.js `amend_doc`, model/create_new.js `copy_doc`):
|
|
5
|
+
*
|
|
6
|
+
* docstatus 0 Draft Save, or Submit once saved and clean
|
|
7
|
+
* docstatus 1 Submitted Update when an allow_on_submit field is dirty,
|
|
8
|
+
* else Cancel
|
|
9
|
+
* docstatus 2 Cancelled Amend into a new draft with amended_from
|
|
10
|
+
*
|
|
11
|
+
* The toolbar shows exactly one of those actions at a time, picked in
|
|
12
|
+
* desk's order: Submit, Save, Update, Cancel, Amend. A submitted document
|
|
13
|
+
* cannot be deleted. A read-only view (a record page) has no Save or
|
|
14
|
+
* Update: its Edit opens the editor, and Submit, Cancel and Amend stay.
|
|
15
|
+
*/
|
|
16
|
+
import type { DocRights } from "./docPermissions";
|
|
17
|
+
import type { DocFieldMeta, DoctypeMeta } from "./doctypeMeta";
|
|
18
|
+
export type DocAction = "save" | "submit" | "update" | "cancel" | "amend";
|
|
19
|
+
export type DocStatusIndicator = "notSaved" | "draft" | "submitted" | "cancelled";
|
|
20
|
+
/**
|
|
21
|
+
* The session's level-0 rights the toolbar needs (desk `frm.perm[0]`), as
|
|
22
|
+
* docPermissions.ts resolves them. `write` is `create` on a new document.
|
|
23
|
+
*/
|
|
24
|
+
export type DocActionPerms = Pick<DocRights, "write" | "submit" | "cancel" | "amend">;
|
|
25
|
+
export interface DocActionState {
|
|
26
|
+
docstatus: number;
|
|
27
|
+
isCreate: boolean;
|
|
28
|
+
isDirty: boolean;
|
|
29
|
+
isSubmittable: boolean;
|
|
30
|
+
perms: DocActionPerms;
|
|
31
|
+
/** The form is a read-only view whose Edit stands in for Save and Update. */
|
|
32
|
+
isReadOnlyView?: boolean;
|
|
33
|
+
}
|
|
34
|
+
/** The one lifecycle action desk offers for this state, if any. */
|
|
35
|
+
export declare function resolveDocAction(state: DocActionState): DocAction | undefined;
|
|
36
|
+
/** Desk hides Delete on a submitted document. */
|
|
37
|
+
export declare function canDeleteDoc(docstatus: number): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* A saved document still has something to edit: any draft, a submitted one
|
|
40
|
+
* only through its allow_on_submit fields, a cancelled one nothing.
|
|
41
|
+
*/
|
|
42
|
+
export declare function canEditDoc(docstatus: number, meta: Pick<DoctypeMeta, "fields"> | undefined): boolean;
|
|
43
|
+
/** Desk's title indicator for the document's state. */
|
|
44
|
+
export declare function resolveDocIndicator(state: {
|
|
45
|
+
docstatus: number;
|
|
46
|
+
isCreate: boolean;
|
|
47
|
+
isDirty: boolean;
|
|
48
|
+
isSubmittable: boolean;
|
|
49
|
+
}): DocStatusIndicator | undefined;
|
|
50
|
+
/** Desk refuses to amend a doctype that has no `amended_from` field. */
|
|
51
|
+
export declare function isAmendable(meta: Pick<DoctypeMeta, "fields"> | undefined): boolean;
|
|
52
|
+
/**
|
|
53
|
+
* The new draft Amend opens (desk `copy_doc(doc, from_amend=1)`): every
|
|
54
|
+
* field value including `no_copy` ones, never a password, child rows
|
|
55
|
+
* stripped of their identity, `amended_from` pointing at the cancelled
|
|
56
|
+
* document and `amendment_date` set to today when the doctype has one.
|
|
57
|
+
*/
|
|
58
|
+
export declare function buildAmendValues(fields: DocFieldMeta[], doc: Record<string, unknown>, cancelledName: string): Record<string, unknown>;
|
|
59
|
+
//# sourceMappingURL=docLifecycle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docLifecycle.d.ts","sourceRoot":"","sources":["../../src/formEngine/docLifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE/D,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE1E,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,OAAO,GAAG,WAAW,GAAG,WAAW,CAAC;AAElF;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAC;AAEtF,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,KAAK,EAAE,cAAc,CAAC;IACtB,6EAA6E;IAC7E,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,mEAAmE;AACnE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,GAAG,SAAS,GAAG,SAAS,CAI7E;AAiBD,iDAAiD;AACjD,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CACxB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,GAAG,SAAS,GAC5C,OAAO,CAIT;AAED,uDAAuD;AACvD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;CACxB,GAAG,kBAAkB,GAAG,SAAS,CAKjC;AAED,wEAAwE;AACxE,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,GAAG,SAAS,GAAG,OAAO,CAElF;AAgBD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,YAAY,EAAE,EACtB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,aAAa,EAAE,MAAM,GACpB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAyBzB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { FrappeConnection } from "./formActions";
|
|
2
|
+
/**
|
|
3
|
+
* The live amendment of a cancelled document: a document amended from
|
|
4
|
+
* `name` that is not itself cancelled (desk
|
|
5
|
+
* `frappe.client.is_document_amended`). Desk disables Amend while one
|
|
6
|
+
* exists. Pass no connection to skip the read.
|
|
7
|
+
*/
|
|
8
|
+
export declare function useAmendedAs(connection: FrappeConnection | undefined, doctype: string, name: string | undefined): string | undefined;
|
|
9
|
+
//# sourceMappingURL=useAmendedAs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAmendedAs.d.ts","sourceRoot":"","sources":["../../src/formEngine/useAmendedAs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAStD;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,gBAAgB,GAAG,SAAS,EACxC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,MAAM,GAAG,SAAS,CAgBpB"}
|
|
@@ -2,7 +2,7 @@ import { type DocRights, type DocShareGrant } from "./docPermissions";
|
|
|
2
2
|
import type { DoctypeMeta } from "./doctypeMeta";
|
|
3
3
|
import { type SessionConnection } from "./useSessionRoles";
|
|
4
4
|
export interface DocRightsOptions {
|
|
5
|
-
/** Roles to resolve against instead of the session's. */
|
|
5
|
+
/** Roles to resolve against instead of the session's, on a fixtures connection too. */
|
|
6
6
|
roles?: string[];
|
|
7
7
|
/** The record's owner; omitted for the doctype's rights. */
|
|
8
8
|
owner?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDocRights.d.ts","sourceRoot":"","sources":["../../src/formEngine/useDocRights.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACxF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAoB,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE7E,MAAM,WAAW,gBAAgB;IAC/B,
|
|
1
|
+
{"version":3,"file":"useDocRights.d.ts","sourceRoot":"","sources":["../../src/formEngine/useDocRights.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACxF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAoB,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE7E,MAAM,WAAW,gBAAgB;IAC/B,uFAAuF;IACvF,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,SAAS,CAAC;IAClB,wFAAwF;IACxF,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,iBAAiB,GAAG,SAAS,EACzC,IAAI,EAAE,WAAW,GAAG,SAAS,EAC7B,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,GAAE,gBAAqB,GAC7D,eAAe,CAkBjB"}
|
|
@@ -55,6 +55,7 @@ export interface FormEngine {
|
|
|
55
55
|
/** Client-side required validation (fires on save too). */
|
|
56
56
|
validate: () => Record<string, string>;
|
|
57
57
|
}
|
|
58
|
+
export declare function extractServerError(err: unknown, fallback: string): string;
|
|
58
59
|
export declare function useFormEngine(connection: FrappeConnection | undefined, doctype: string,
|
|
59
60
|
/** Document name, or undefined for create mode. */
|
|
60
61
|
name: string | undefined, meta: DoctypeMeta | undefined, translate: (key: string, options?: Record<string, unknown>) => string): FormEngine;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFormEngine.d.ts","sourceRoot":"","sources":["../../src/formEngine/useFormEngine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAiBtD,MAAM,WAAW,UAAU;IACzB,2CAA2C;IAC3C,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,qEAAqE;IACrE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAC9C,SAAS,EAAE,OAAO,CAAC;IACnB,2EAA2E;IAC3E,QAAQ,EAAE,OAAO,CAAC;IAClB,yDAAyD;IACzD,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,kEAAkE;IAClE,QAAQ,EAAE,OAAO,CAAC;IAClB,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD;;;OAGG;IACH,IAAI,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACxC,0DAA0D;IAC1D,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,yCAAyC;IACzC,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,kDAAkD;IAClD,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,yEAAyE;IACzE,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;
|
|
1
|
+
{"version":3,"file":"useFormEngine.d.ts","sourceRoot":"","sources":["../../src/formEngine/useFormEngine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAiBtD,MAAM,WAAW,UAAU;IACzB,2CAA2C;IAC3C,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,qEAAqE;IACrE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAC9C,SAAS,EAAE,OAAO,CAAC;IACnB,2EAA2E;IAC3E,QAAQ,EAAE,OAAO,CAAC;IAClB,yDAAyD;IACzD,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,kEAAkE;IAClE,QAAQ,EAAE,OAAO,CAAC;IAClB,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD;;;OAGG;IACH,IAAI,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACxC,0DAA0D;IAC1D,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,yCAAyC;IACzC,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,kDAAkD;IAClD,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,yEAAyE;IACzE,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AAYD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAoBzE;AAED,wBAAgB,aAAa,CAC3B,UAAU,EAAE,gBAAgB,GAAG,SAAS,EACxC,OAAO,EAAE,MAAM;AACf,mDAAmD;AACnD,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,IAAI,EAAE,WAAW,GAAG,SAAS,EAC7B,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,GACpE,UAAU,CA2XZ"}
|
package/types/index.d.ts
CHANGED
|
@@ -15,7 +15,6 @@ export { FrappeNavigationProvider, frappeRouteHref, frappeRouteTarget, useFrappe
|
|
|
15
15
|
export { FrappeReconnectIndicator, type FrappeReconnectIndicatorProps, } from "./FrappeReconnectIndicator";
|
|
16
16
|
export { FrappeStoryProvider, frappeStoriesLive, frappeStoryBaseUrl, type FrappeStoryProviderProps, } from "./frappeStoryTarget";
|
|
17
17
|
export { FrappeTable, filterValueToFrappeTuple, type FrappeTableProps } from "./FrappeTable";
|
|
18
|
-
export { docFieldsToFilterFields } from "./filterFields";
|
|
19
18
|
export { FrappeForm, type FrappeConnectionRows, type FrappeFormProps } from "./FrappeForm";
|
|
20
19
|
export { FrappeFormConnectionSection, FrappeFormConnections, type FrappeFormConnectionSectionProps, type FrappeFormConnectionsProps, } from "./FrappeFormConnections";
|
|
21
20
|
export { FormSidebar, type FormSidebarProps, type SidebarSection, type SidebarMetadataEntry, type SidebarPerson, } from "./FormSidebar";
|
|
@@ -117,4 +116,9 @@ export { FrappeReportView, useFrappeReport, compactFilterValues, normalizeReport
|
|
|
117
116
|
export { allDocRights, applyFetchedValues, buildCopyValues, buildCreateDefaults, buildFetchMap, buildFormTabs, buildPermLevelMatrix, canReadLevel, canWriteLevel, computeDirtyFields, docRightNames, isEmptyValue, isFetchLocked, isPromptNamed, isSameValue, resolveDocRights, sessionDocRights, setCreatePrefill, takeCreatePrefill, useDocRights, useFormEngine, useFrappeSession, useSessionRoles, } from "./formEngine";
|
|
118
117
|
export type { BuildTabsOptions, DocFieldMeta, DocLinkMeta, DocPermissionRule, DocRight, DocRights, DocRightsOptions, DocRightsResult, DocShareGrant, DoctypeMeta, FetchMap, FetchRule, FormEngine, FormTab, FrappeSession, LevelPerm, PermLevelMatrix, ResolveDocRightsInput, SessionDocRightsInput, } from "./formEngine";
|
|
119
118
|
export { connectionFields, connectionsFromMeta, type FrappeConnection } from "./frappeConnections";
|
|
119
|
+
export { buildListColumns, type BuildListColumnsArgs, type ListDoc, type ListRow, } from "./list/listColumns";
|
|
120
|
+
export { listDocumentColumnIds, listFieldsToFetch, listViewFields } from "./list/listFields";
|
|
121
|
+
export { formatDateCell, formatTimeAgo, parseFrappeDate, parseTagsField, parseUserListField, stripHtmlPreview, } from "./list/listFormat";
|
|
122
|
+
export { statusPillColors, type StatusPillColors } from "./list/statusColors";
|
|
123
|
+
export { defaultOperatorForKind, DESK_OPERATOR_LABELS, docFieldsToFilterFields, draftToTuple, fieldKind, fieldLabelFor, filterableFieldsFromMeta, filterTupleLabel, operatorsForKind, quickFilterValue, selectOptionsFromField, setFieldFilter, standardDocFilterFields, standardFiltersFromMeta, tupleToDraft, type DeskOperator, type FilterFieldDescriptor, type FilterFieldKind, type FilterRowDraft, } from "./filterFields";
|
|
120
124
|
//# sourceMappingURL=index.d.ts.map
|
package/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAQH,OAAO,EACL,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,KAAK,YAAY,EACjB,KAAK,mBAAmB,GACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,wBAAwB,EACxB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,iBAAiB,GACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,wBAAwB,EACxB,KAAK,6BAA6B,GACnC,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,wBAAwB,GAC9B,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC7F,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { DataTableColumn } from "@multiplatform.one/table";
|
|
2
|
+
import type { PermLevelMatrix } from "../formEngine/fieldPermissions";
|
|
3
|
+
import type { DoctypeMeta } from "../formEngine/doctypeMeta";
|
|
4
|
+
/** Minimal row shape for a doctype list (loose — server owns the schema). */
|
|
5
|
+
export interface ListDoc {
|
|
6
|
+
name: string;
|
|
7
|
+
doctype: string;
|
|
8
|
+
[key: string]: unknown;
|
|
9
|
+
}
|
|
10
|
+
export type ListRow = Partial<ListDoc>;
|
|
11
|
+
type Translate = (key: string, fallback: string) => string;
|
|
12
|
+
export interface BuildListColumnsArgs {
|
|
13
|
+
meta?: DoctypeMeta;
|
|
14
|
+
t: Translate;
|
|
15
|
+
/** Session user — hearts fill when `_liked_by` contains them. */
|
|
16
|
+
sessionUser?: string;
|
|
17
|
+
/** Toggle like for a document (omit to render hearts read-only). */
|
|
18
|
+
onToggleLike?: (name: string, nextLiked: boolean) => void;
|
|
19
|
+
/** Optimistic like overrides keyed by document name. */
|
|
20
|
+
likeOverrides?: Record<string, boolean>;
|
|
21
|
+
/**
|
|
22
|
+
* Permlevel role matrix (session roles × meta.permissions, built with
|
|
23
|
+
* `buildPermLevelMatrix`). Columns for fields the roles cannot READ at
|
|
24
|
+
* their permlevel are pruned — desk parity with base_list.js
|
|
25
|
+
* `get_fields_in_list_view` (`frappe.perm.has_perm(doctype, df.permlevel,
|
|
26
|
+
* "read")`). Undefined (fixtures / roles unavailable) prunes nothing —
|
|
27
|
+
* the server strips no-read values either way.
|
|
28
|
+
*/
|
|
29
|
+
permMatrix?: PermLevelMatrix;
|
|
30
|
+
/** Document form href — subject renders as a real `<a>` when set (C1). */
|
|
31
|
+
getDocHref?: (name: string) => string;
|
|
32
|
+
/**
|
|
33
|
+
* Desk cell click-to-filter (C2). Status/priority pills, dates, and
|
|
34
|
+
* remaining values add (or toggle off) a tuple instead of opening the doc.
|
|
35
|
+
*/
|
|
36
|
+
onFilterClick?: (fieldname: string, value: string) => void;
|
|
37
|
+
}
|
|
38
|
+
/** Build the DataTable columns for a doctype list from its meta. */
|
|
39
|
+
export declare function buildListColumns({ meta, t, sessionUser, onToggleLike, likeOverrides, permMatrix, getDocHref, onFilterClick, }: BuildListColumnsArgs): DataTableColumn<ListRow>[];
|
|
40
|
+
export {};
|
|
41
|
+
//# sourceMappingURL=listColumns.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listColumns.d.ts","sourceRoot":"","sources":["../../src/list/listColumns.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAgB,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAO3E,6EAA6E;AAC7E,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAEvC,KAAK,SAAS,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;AAE3D,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,CAAC,EAAE,SAAS,CAAC;IACb,iEAAiE;IACjE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1D,wDAAwD;IACxD,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,0EAA0E;IAC1E,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACtC;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5D;AAwUD,oEAAoE;AACpE,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,CAAC,EACD,WAAW,EACX,YAAY,EACZ,aAAa,EACb,UAAU,EACV,UAAU,EACV,aAAa,GACd,EAAE,oBAAoB,GAAG,eAAe,CAAC,OAAO,CAAC,EAAE,CAqFnD"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type PermLevelMatrix } from "../formEngine/fieldPermissions";
|
|
2
|
+
import type { DocFieldMeta, DoctypeMeta } from "../formEngine/doctypeMeta";
|
|
3
|
+
/** Fields the list view fetches for a doctype (columns + niceties). */
|
|
4
|
+
export declare function listFieldsToFetch(meta?: DoctypeMeta, permMatrix?: PermLevelMatrix): string[];
|
|
5
|
+
/**
|
|
6
|
+
* The in_list_view fields to render as columns (title field excluded).
|
|
7
|
+
* Desk parity: fields above the session's read permlevel never render as
|
|
8
|
+
* list columns (base_list.js `get_fields_in_list_view` →
|
|
9
|
+
* `frappe.perm.has_perm(doctype, df.permlevel, "read")`). An undefined
|
|
10
|
+
* matrix (fixtures / roles unavailable) prunes nothing — the server strips
|
|
11
|
+
* no-read values either way.
|
|
12
|
+
*/
|
|
13
|
+
export declare function listViewFields(meta: DoctypeMeta | undefined, titleField: string, permMatrix?: PermLevelMatrix): DocFieldMeta[];
|
|
14
|
+
/** Column ids the list view paints, in order: title, in_list_view, activity. */
|
|
15
|
+
export declare function listDocumentColumnIds(meta?: DoctypeMeta, permMatrix?: PermLevelMatrix): string[];
|
|
16
|
+
//# sourceMappingURL=listFields.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listFields.d.ts","sourceRoot":"","sources":["../../src/list/listFields.ts"],"names":[],"mappings":"AAQA,OAAO,EAAgB,KAAK,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACpF,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAO3E,uEAAuE;AACvE,wBAAgB,iBAAiB,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,eAAe,GAAG,MAAM,EAAE,CAiB5F;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,WAAW,GAAG,SAAS,EAC7B,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,eAAe,GAC3B,YAAY,EAAE,CAShB;AAED,gFAAgF;AAChF,wBAAgB,qBAAqB,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,eAAe,GAAG,MAAM,EAAE,CAOhG"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/** Parse a frappe date/datetime string into a Date (undefined when invalid). */
|
|
2
|
+
export declare function parseFrappeDate(value: string): Date | undefined;
|
|
3
|
+
/**
|
|
4
|
+
* Table date cell — the house compact-absolute display register
|
|
5
|
+
* ("Aug 12" / "Jul 1, 2025", current year elided). Raw ISO wire format
|
|
6
|
+
* never reaches the cell (LC-12); unparseable input passes through.
|
|
7
|
+
* The STRING (not a parsed Date) rides into the channel so its date-only
|
|
8
|
+
* UTC branch engages — a parsed "YYYY-MM-DD" would shift a day in
|
|
9
|
+
* negative-offset timezones.
|
|
10
|
+
*/
|
|
11
|
+
export declare function formatDateCell(value: string, now?: Date): string;
|
|
12
|
+
/**
|
|
13
|
+
* Recency column ("Last Updated On") — the house relative register
|
|
14
|
+
* ("just now", "5m ago", "2h ago", "2mo ago"). One voice, unambiguous
|
|
15
|
+
* units (LC-12); unparseable input passes through.
|
|
16
|
+
*/
|
|
17
|
+
export declare function formatTimeAgo(value: string, now?: Date): string;
|
|
18
|
+
/**
|
|
19
|
+
* Plain-text preview of rich/HTML field content for list cells (desk
|
|
20
|
+
* `strip_html` parity): tags dropped, entities collapsed, whitespace
|
|
21
|
+
* normalized. A Text Editor value like `<div class="ql-editor"><p>Call the
|
|
22
|
+
* vendor</p></div>` renders as "Call the vendor" — markup never paints in
|
|
23
|
+
* a one-line cell (LC-06/LC-10 containment; cell-containment rule candidate).
|
|
24
|
+
*/
|
|
25
|
+
export declare function stripHtmlPreview(value: string): string;
|
|
26
|
+
/** Parse frappe's `_assign` / `_liked_by` JSON-array-string columns. */
|
|
27
|
+
export declare function parseUserListField(value: unknown): string[];
|
|
28
|
+
/** Parse frappe's `_user_tags` comma-joined column (",a,b" → ["a","b"]). */
|
|
29
|
+
export declare function parseTagsField(value: unknown): string[];
|
|
30
|
+
//# sourceMappingURL=listFormat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listFormat.d.ts","sourceRoot":"","sources":["../../src/list/listFormat.ts"],"names":[],"mappings":"AAMA,gFAAgF;AAChF,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAK/D;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,MAAM,CAIhE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,GAAE,IAAiB,GAAG,MAAM,CAI3E;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAYtD;AAED,wEAAwE;AACxE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAS3D;AAED,4EAA4E;AAC5E,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAMvD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { DoctypeMeta } from "../formEngine/doctypeMeta";
|
|
2
|
+
export interface StatusPillColors {
|
|
3
|
+
/** Pill surface (step-3 ramp). */
|
|
4
|
+
background: string;
|
|
5
|
+
/** Pill text (step-11 ramp — AA on the step-3 surface). */
|
|
6
|
+
text: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Resolve the pill colors for a status value. Workflow states from the
|
|
10
|
+
* doctype meta (desk color names) take precedence; otherwise a heuristic
|
|
11
|
+
* word map mirrors stock desk indicators; unknown values fall back to gray.
|
|
12
|
+
*/
|
|
13
|
+
export declare function statusPillColors(status: string, meta?: DoctypeMeta): StatusPillColors;
|
|
14
|
+
//# sourceMappingURL=statusColors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"statusColors.d.ts","sourceRoot":"","sources":["../../src/list/statusColors.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,MAAM,WAAW,gBAAgB;IAC/B,kCAAkC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;CACd;AAqED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,gBAAgB,CASrF"}
|