@multiplatform.one/frappe-ui 7.10.0 → 7.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/cjs/FrappeDashboard.cjs +8 -10
- package/dist/cjs/FrappeDashboard.native.js +8 -14
- package/dist/cjs/FrappeDashboard.native.js.map +1 -1
- package/dist/cjs/FrappeForm.cjs +465 -175
- package/dist/cjs/FrappeForm.native.js +611 -207
- package/dist/cjs/FrappeForm.native.js.map +1 -1
- package/dist/cjs/FrappeFormConnections.cjs +125 -0
- package/dist/cjs/FrappeFormConnections.native.js +149 -0
- package/dist/cjs/FrappeFormConnections.native.js.map +1 -0
- package/dist/cjs/FrappeImageView.cjs +7 -9
- package/dist/cjs/FrappeImageView.native.js +7 -13
- package/dist/cjs/FrappeImageView.native.js.map +1 -1
- package/dist/cjs/FrappeList.cjs +29 -4
- package/dist/cjs/FrappeList.native.js +37 -5
- package/dist/cjs/FrappeList.native.js.map +1 -1
- package/dist/cjs/FrappeListView.cjs +102 -29
- package/dist/cjs/FrappeListView.native.js +109 -29
- package/dist/cjs/FrappeListView.native.js.map +1 -1
- package/dist/cjs/FrappeProvider.cjs +7 -2
- package/dist/cjs/FrappeProvider.native.js +7 -2
- package/dist/cjs/FrappeProvider.native.js.map +1 -1
- package/dist/cjs/FrappeReportBuilder.cjs +10 -11
- package/dist/cjs/FrappeReportBuilder.native.js +10 -16
- package/dist/cjs/FrappeReportBuilder.native.js.map +1 -1
- package/dist/cjs/FrappeRowsReader.cjs +49 -0
- package/dist/cjs/FrappeRowsReader.native.js +53 -0
- package/dist/cjs/FrappeRowsReader.native.js.map +1 -0
- package/dist/cjs/FrappeTable.cjs +18 -6
- package/dist/cjs/FrappeTable.native.js +24 -6
- package/dist/cjs/FrappeTable.native.js.map +1 -1
- package/dist/cjs/fieldRegistry.cjs +36 -11
- package/dist/cjs/fieldRegistry.native.js +59 -11
- package/dist/cjs/fieldRegistry.native.js.map +1 -1
- package/dist/cjs/fields/Date/index.native.js +5 -2
- package/dist/cjs/fields/Date/index.native.js.map +1 -1
- package/dist/cjs/fields/Date/sheetKeyboard.cjs +2 -2
- package/dist/cjs/fields/Date/sheetKeyboard.native.js +2 -2
- package/dist/cjs/fields/Date/sheetKeyboard.native.js.map +1 -1
- package/dist/cjs/fields/DateRange/index.cjs +2 -1
- package/dist/cjs/fields/DateRange/index.native.js +4 -1
- package/dist/cjs/fields/DateRange/index.native.js.map +1 -1
- package/dist/cjs/formEngine/index.cjs +4 -2
- package/dist/cjs/formEngine/index.native.js +3 -1
- package/dist/cjs/formEngine/index.native.js.map +1 -1
- package/dist/cjs/formEngine/useSessionRoles.cjs +77 -0
- package/dist/cjs/formEngine/useSessionRoles.native.js +84 -0
- package/dist/cjs/formEngine/useSessionRoles.native.js.map +1 -0
- package/dist/cjs/frappeConnections.cjs +41 -0
- package/dist/cjs/frappeConnections.native.js +50 -0
- package/dist/cjs/frappeConnections.native.js.map +1 -0
- package/dist/cjs/frappeNavigation.cjs +107 -0
- package/dist/cjs/frappeNavigation.native.js +112 -0
- package/dist/cjs/frappeNavigation.native.js.map +1 -0
- package/dist/cjs/index.cjs +18 -1
- package/dist/cjs/index.native.js +18 -1
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/schemaForm/index.cjs +4 -1
- package/dist/cjs/schemaForm/index.native.js +4 -1
- package/dist/cjs/schemaForm/index.native.js.map +1 -1
- package/dist/cjs/useConnectionFilters.cjs +146 -0
- package/dist/cjs/useConnectionFilters.native.js +213 -0
- package/dist/cjs/useConnectionFilters.native.js.map +1 -0
- package/dist/cjs/useFrappePagination.cjs +37 -18
- package/dist/cjs/useFrappePagination.native.js +59 -23
- package/dist/cjs/useFrappePagination.native.js.map +1 -1
- package/dist/cjs/useFrappeRows.native.js.map +1 -1
- package/dist/esm/FrappeDashboard.mjs +9 -11
- package/dist/esm/FrappeDashboard.mjs.map +1 -1
- package/dist/esm/FrappeDashboard.native.js +9 -15
- package/dist/esm/FrappeDashboard.native.js.map +1 -1
- package/dist/esm/FrappeForm.mjs +471 -181
- package/dist/esm/FrappeForm.mjs.map +1 -1
- package/dist/esm/FrappeForm.native.js +599 -195
- package/dist/esm/FrappeForm.native.js.map +1 -1
- package/dist/esm/FrappeFormConnections.mjs +99 -0
- package/dist/esm/FrappeFormConnections.mjs.map +1 -0
- package/dist/esm/FrappeFormConnections.native.js +120 -0
- package/dist/esm/FrappeFormConnections.native.js.map +1 -0
- package/dist/esm/FrappeImageView.mjs +8 -10
- package/dist/esm/FrappeImageView.mjs.map +1 -1
- package/dist/esm/FrappeImageView.native.js +8 -14
- package/dist/esm/FrappeImageView.native.js.map +1 -1
- package/dist/esm/FrappeList.mjs +31 -6
- package/dist/esm/FrappeList.mjs.map +1 -1
- package/dist/esm/FrappeList.native.js +39 -7
- package/dist/esm/FrappeList.native.js.map +1 -1
- package/dist/esm/FrappeListView.mjs +103 -30
- package/dist/esm/FrappeListView.mjs.map +1 -1
- package/dist/esm/FrappeListView.native.js +110 -30
- package/dist/esm/FrappeListView.native.js.map +1 -1
- package/dist/esm/FrappeProvider.mjs +7 -2
- package/dist/esm/FrappeProvider.mjs.map +1 -1
- package/dist/esm/FrappeProvider.native.js +7 -2
- package/dist/esm/FrappeProvider.native.js.map +1 -1
- package/dist/esm/FrappeReportBuilder.mjs +11 -12
- package/dist/esm/FrappeReportBuilder.mjs.map +1 -1
- package/dist/esm/FrappeReportBuilder.native.js +11 -17
- package/dist/esm/FrappeReportBuilder.native.js.map +1 -1
- package/dist/esm/FrappeRowsReader.mjs +24 -0
- package/dist/esm/FrappeRowsReader.mjs.map +1 -0
- package/dist/esm/FrappeRowsReader.native.js +25 -0
- package/dist/esm/FrappeRowsReader.native.js.map +1 -0
- package/dist/esm/FrappeTable.mjs +18 -6
- package/dist/esm/FrappeTable.mjs.map +1 -1
- package/dist/esm/FrappeTable.native.js +24 -6
- package/dist/esm/FrappeTable.native.js.map +1 -1
- package/dist/esm/fieldRegistry.mjs +35 -12
- package/dist/esm/fieldRegistry.mjs.map +1 -1
- package/dist/esm/fieldRegistry.native.js +58 -12
- package/dist/esm/fieldRegistry.native.js.map +1 -1
- package/dist/esm/fields/Date/index.native.js +6 -3
- package/dist/esm/fields/Date/index.native.js.map +1 -1
- package/dist/esm/fields/Date/sheetKeyboard.mjs +2 -2
- package/dist/esm/fields/Date/sheetKeyboard.mjs.map +1 -1
- package/dist/esm/fields/Date/sheetKeyboard.native.js +2 -2
- package/dist/esm/fields/Date/sheetKeyboard.native.js.map +1 -1
- package/dist/esm/fields/DateRange/index.mjs +2 -1
- package/dist/esm/fields/DateRange/index.mjs.map +1 -1
- package/dist/esm/fields/DateRange/index.native.js +4 -1
- package/dist/esm/fields/DateRange/index.native.js.map +1 -1
- package/dist/esm/formEngine/index.mjs +2 -1
- package/dist/esm/formEngine/index.mjs.map +1 -1
- package/dist/esm/formEngine/index.native.js +2 -1
- package/dist/esm/formEngine/index.native.js.map +1 -1
- package/dist/esm/formEngine/useSessionRoles.mjs +52 -0
- package/dist/esm/formEngine/useSessionRoles.mjs.map +1 -0
- package/dist/esm/formEngine/useSessionRoles.native.js +56 -0
- package/dist/esm/formEngine/useSessionRoles.native.js.map +1 -0
- package/dist/esm/frappeConnections.mjs +15 -0
- package/dist/esm/frappeConnections.mjs.map +1 -0
- package/dist/esm/frappeConnections.native.js +21 -0
- package/dist/esm/frappeConnections.native.js.map +1 -0
- package/dist/esm/frappeNavigation.mjs +78 -0
- package/dist/esm/frappeNavigation.mjs.map +1 -0
- package/dist/esm/frappeNavigation.native.js +80 -0
- package/dist/esm/frappeNavigation.native.js.map +1 -0
- package/dist/esm/index.mjs +7 -3
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +7 -3
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/schemaForm/index.mjs +4 -1
- package/dist/esm/schemaForm/index.mjs.map +1 -1
- package/dist/esm/schemaForm/index.native.js +4 -1
- package/dist/esm/schemaForm/index.native.js.map +1 -1
- package/dist/esm/useConnectionFilters.mjs +121 -0
- package/dist/esm/useConnectionFilters.mjs.map +1 -0
- package/dist/esm/useConnectionFilters.native.js +185 -0
- package/dist/esm/useConnectionFilters.native.js.map +1 -0
- package/dist/esm/useFrappePagination.mjs +38 -19
- package/dist/esm/useFrappePagination.mjs.map +1 -1
- package/dist/esm/useFrappePagination.native.js +60 -24
- package/dist/esm/useFrappePagination.native.js.map +1 -1
- package/dist/esm/useFrappeRows.mjs.map +1 -1
- package/dist/esm/useFrappeRows.native.js.map +1 -1
- package/dist/jsx/FrappeDashboard.mjs +9 -11
- package/dist/jsx/FrappeDashboard.mjs.map +1 -1
- package/dist/jsx/FrappeDashboard.native.js +8 -14
- package/dist/jsx/FrappeDashboard.native.js.map +1 -1
- package/dist/jsx/FrappeForm.mjs +471 -181
- package/dist/jsx/FrappeForm.mjs.map +1 -1
- package/dist/jsx/FrappeForm.native.js +611 -207
- package/dist/jsx/FrappeForm.native.js.map +1 -1
- package/dist/jsx/FrappeFormConnections.mjs +99 -0
- package/dist/jsx/FrappeFormConnections.mjs.map +1 -0
- package/dist/jsx/FrappeFormConnections.native.js +149 -0
- package/dist/jsx/FrappeFormConnections.native.js.map +1 -0
- package/dist/jsx/FrappeImageView.mjs +8 -10
- package/dist/jsx/FrappeImageView.mjs.map +1 -1
- package/dist/jsx/FrappeImageView.native.js +7 -13
- package/dist/jsx/FrappeImageView.native.js.map +1 -1
- package/dist/jsx/FrappeList.mjs +31 -6
- package/dist/jsx/FrappeList.mjs.map +1 -1
- package/dist/jsx/FrappeList.native.js +37 -5
- package/dist/jsx/FrappeList.native.js.map +1 -1
- package/dist/jsx/FrappeListView.mjs +103 -30
- package/dist/jsx/FrappeListView.mjs.map +1 -1
- package/dist/jsx/FrappeListView.native.js +109 -29
- package/dist/jsx/FrappeListView.native.js.map +1 -1
- package/dist/jsx/FrappeProvider.mjs +7 -2
- package/dist/jsx/FrappeProvider.mjs.map +1 -1
- package/dist/jsx/FrappeProvider.native.js +7 -2
- package/dist/jsx/FrappeProvider.native.js.map +1 -1
- package/dist/jsx/FrappeReportBuilder.mjs +11 -12
- package/dist/jsx/FrappeReportBuilder.mjs.map +1 -1
- package/dist/jsx/FrappeReportBuilder.native.js +10 -16
- package/dist/jsx/FrappeReportBuilder.native.js.map +1 -1
- package/dist/jsx/FrappeRowsReader.mjs +24 -0
- package/dist/jsx/FrappeRowsReader.mjs.map +1 -0
- package/dist/jsx/FrappeRowsReader.native.js +53 -0
- package/dist/jsx/FrappeRowsReader.native.js.map +1 -0
- package/dist/jsx/FrappeTable.mjs +18 -6
- package/dist/jsx/FrappeTable.mjs.map +1 -1
- package/dist/jsx/FrappeTable.native.js +24 -6
- package/dist/jsx/FrappeTable.native.js.map +1 -1
- package/dist/jsx/fieldRegistry.mjs +35 -12
- package/dist/jsx/fieldRegistry.mjs.map +1 -1
- package/dist/jsx/fieldRegistry.native.js +59 -11
- package/dist/jsx/fieldRegistry.native.js.map +1 -1
- package/dist/jsx/fields/Date/index.native.js +5 -2
- package/dist/jsx/fields/Date/index.native.js.map +1 -1
- package/dist/jsx/fields/Date/sheetKeyboard.mjs +2 -2
- package/dist/jsx/fields/Date/sheetKeyboard.mjs.map +1 -1
- package/dist/jsx/fields/Date/sheetKeyboard.native.js +2 -2
- package/dist/jsx/fields/Date/sheetKeyboard.native.js.map +1 -1
- package/dist/jsx/fields/DateRange/index.mjs +2 -1
- package/dist/jsx/fields/DateRange/index.mjs.map +1 -1
- package/dist/jsx/fields/DateRange/index.native.js +4 -1
- package/dist/jsx/fields/DateRange/index.native.js.map +1 -1
- package/dist/jsx/formEngine/index.mjs +2 -1
- package/dist/jsx/formEngine/index.mjs.map +1 -1
- package/dist/jsx/formEngine/index.native.js +3 -1
- package/dist/jsx/formEngine/index.native.js.map +1 -1
- package/dist/jsx/formEngine/useSessionRoles.mjs +52 -0
- package/dist/jsx/formEngine/useSessionRoles.mjs.map +1 -0
- package/dist/jsx/formEngine/useSessionRoles.native.js +84 -0
- package/dist/jsx/formEngine/useSessionRoles.native.js.map +1 -0
- package/dist/jsx/frappeConnections.mjs +15 -0
- package/dist/jsx/frappeConnections.mjs.map +1 -0
- package/dist/jsx/frappeConnections.native.js +50 -0
- package/dist/jsx/frappeConnections.native.js.map +1 -0
- package/dist/jsx/frappeNavigation.mjs +78 -0
- package/dist/jsx/frappeNavigation.mjs.map +1 -0
- package/dist/jsx/frappeNavigation.native.js +112 -0
- package/dist/jsx/frappeNavigation.native.js.map +1 -0
- package/dist/jsx/index.js +7 -3
- package/dist/jsx/index.js.map +1 -1
- package/dist/jsx/index.mjs +7 -3
- package/dist/jsx/index.mjs.map +1 -1
- package/dist/jsx/index.native.js +18 -1
- package/dist/jsx/index.native.js.map +1 -1
- package/dist/jsx/schemaForm/index.mjs +4 -1
- package/dist/jsx/schemaForm/index.mjs.map +1 -1
- package/dist/jsx/schemaForm/index.native.js +4 -1
- package/dist/jsx/schemaForm/index.native.js.map +1 -1
- package/dist/jsx/useConnectionFilters.mjs +121 -0
- package/dist/jsx/useConnectionFilters.mjs.map +1 -0
- package/dist/jsx/useConnectionFilters.native.js +213 -0
- package/dist/jsx/useConnectionFilters.native.js.map +1 -0
- package/dist/jsx/useFrappePagination.mjs +38 -19
- package/dist/jsx/useFrappePagination.mjs.map +1 -1
- package/dist/jsx/useFrappePagination.native.js +59 -23
- package/dist/jsx/useFrappePagination.native.js.map +1 -1
- package/dist/jsx/useFrappeRows.mjs.map +1 -1
- package/dist/jsx/useFrappeRows.native.js.map +1 -1
- package/package.json +26 -22
- package/src/FileBrowser/AttachLibrary.stories.tsx +23 -0
- package/src/FrappeDashboard.tsx +11 -16
- package/src/FrappeForm.connections.spec.tsx +280 -0
- package/src/FrappeForm.connections.stories.tsx +93 -0
- package/src/FrappeForm.deskSemantics.spec.tsx +284 -0
- package/src/FrappeForm.tsx +560 -145
- package/src/FrappeFormConnections.tsx +148 -0
- package/src/FrappeGuestMeta.spec.tsx +143 -0
- package/src/FrappeImageView.tsx +8 -12
- package/src/FrappeList.tsx +71 -15
- package/src/FrappeListView.cards.spec.tsx +175 -0
- package/src/FrappeListView.cards.stories.tsx +131 -0
- package/src/FrappeListView.connections.spec.tsx +192 -0
- package/src/FrappeListView.connections.stories.tsx +99 -0
- package/src/FrappeListView.seed.spec.tsx +228 -0
- package/src/FrappeListView.tsx +177 -31
- package/src/FrappeProvider.catchUp.spec.tsx +502 -0
- package/src/FrappeProvider.tsx +15 -3
- package/src/FrappeReportBuilder.tsx +11 -19
- package/src/FrappeRowsReader.tsx +38 -0
- package/src/FrappeTable.optionalProps.spec.tsx +249 -0
- package/src/FrappeTable.spec.tsx +32 -42
- package/src/FrappeTable.stories.spec.tsx +55 -0
- package/src/FrappeTable.stories.tsx +28 -37
- package/src/FrappeTable.tsx +108 -45
- package/src/childTableDependsOn.spec.tsx +85 -0
- package/src/desk/DeskFormSidebar.spec.tsx +20 -0
- package/src/desk/DeskFormSidebar.stories.tsx +42 -0
- package/src/fieldRegistry.spec.tsx +27 -64
- package/src/fieldRegistry.ts +71 -14
- package/src/fields/Date/index.native.tsx +4 -2
- package/src/fields/Date/sheetKeyboard.spec.ts +14 -5
- package/src/fields/Date/sheetKeyboard.ts +12 -4
- package/src/fields/DateRange/DateRange.spec.tsx +67 -0
- package/src/fields/DateRange/index.tsx +5 -1
- package/src/fields/LinkTree.spec.tsx +8 -0
- package/src/fields/LinkTree.stories.tsx +28 -5
- package/src/fields/Select/Select.hydration.spec.tsx +177 -0
- package/src/formEngine/doctypeMeta.ts +15 -114
- package/src/formEngine/index.ts +2 -0
- package/src/formEngine/seam.spec.ts +23 -4
- package/src/formEngine/useSessionRoles.ts +73 -0
- package/src/frappeConnections.ts +50 -0
- package/src/frappeNavigation.tsx +112 -0
- package/src/frappeRoutes.spec.tsx +335 -0
- package/src/index.ts +28 -1
- package/src/schemaForm/index.tsx +1 -0
- package/src/useConnectionFilters.tsx +157 -0
- package/src/useFrappePagination.ts +70 -26
- package/src/useFrappeRows.sharedPath.spec.tsx +206 -0
- package/src/useFrappeRows.ts +5 -4
- package/types/FrappeDashboard.d.ts +3 -4
- package/types/FrappeDashboard.d.ts.map +1 -1
- package/types/FrappeForm.d.ts +57 -5
- package/types/FrappeForm.d.ts.map +1 -1
- package/types/FrappeFormConnections.d.ts +18 -0
- package/types/FrappeFormConnections.d.ts.map +1 -0
- package/types/FrappeImageView.d.ts +2 -3
- package/types/FrappeImageView.d.ts.map +1 -1
- package/types/FrappeList.d.ts +20 -2
- package/types/FrappeList.d.ts.map +1 -1
- package/types/FrappeListView.d.ts +53 -3
- package/types/FrappeListView.d.ts.map +1 -1
- package/types/FrappeProvider.d.ts +10 -3
- package/types/FrappeProvider.d.ts.map +1 -1
- package/types/FrappeReportBuilder.d.ts.map +1 -1
- package/types/FrappeRowsReader.d.ts +26 -0
- package/types/FrappeRowsReader.d.ts.map +1 -0
- package/types/FrappeTable.d.ts +39 -8
- package/types/FrappeTable.d.ts.map +1 -1
- package/types/fieldRegistry.d.ts +17 -3
- package/types/fieldRegistry.d.ts.map +1 -1
- package/types/fields/Date/index.native.d.ts.map +1 -1
- package/types/fields/Date/sheetKeyboard.d.ts +4 -3
- package/types/fields/Date/sheetKeyboard.d.ts.map +1 -1
- package/types/fields/DateRange/index.d.ts.map +1 -1
- package/types/formEngine/doctypeMeta.d.ts +10 -114
- package/types/formEngine/doctypeMeta.d.ts.map +1 -1
- package/types/formEngine/index.d.ts +1 -0
- package/types/formEngine/index.d.ts.map +1 -1
- package/types/formEngine/useSessionRoles.d.ts +19 -0
- package/types/formEngine/useSessionRoles.d.ts.map +1 -0
- package/types/frappeConnections.d.ts +33 -0
- package/types/frappeConnections.d.ts.map +1 -0
- package/types/frappeNavigation.d.ts +49 -0
- package/types/frappeNavigation.d.ts.map +1 -0
- package/types/index.d.ts +7 -3
- package/types/index.d.ts.map +1 -1
- package/types/schemaForm/index.d.ts.map +1 -1
- package/types/useConnectionFilters.d.ts +34 -0
- package/types/useConnectionFilters.d.ts.map +1 -0
- package/types/useFrappePagination.d.ts +18 -5
- package/types/useFrappePagination.d.ts.map +1 -1
- package/types/useFrappeRows.d.ts +5 -4
- package/types/useFrappeRows.d.ts.map +1 -1
- package/src/FileBrowser/AttachLibrary.spec.tsx +0 -74
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type FrappeConnection } from "./frappeConnections";
|
|
2
|
+
import { type FrappeRowsConnection } from "./useFrappeRows";
|
|
3
|
+
export interface FrappeFormConnectionSectionProps {
|
|
4
|
+
connection: FrappeRowsConnection | undefined;
|
|
5
|
+
link: FrappeConnection;
|
|
6
|
+
/** The record whose linked rows to read. */
|
|
7
|
+
name: string;
|
|
8
|
+
}
|
|
9
|
+
/** One connection of a record: its linked rows, live, with honest states. */
|
|
10
|
+
export declare function FrappeFormConnectionSection({ connection, link, name, }: FrappeFormConnectionSectionProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export interface FrappeFormConnectionsProps {
|
|
12
|
+
connection: FrappeRowsConnection | undefined;
|
|
13
|
+
connections: readonly FrappeConnection[];
|
|
14
|
+
name: string;
|
|
15
|
+
}
|
|
16
|
+
/** The desk's Connections for one record: a section per linked doctype. */
|
|
17
|
+
export declare function FrappeFormConnections({ connection, connections, name, }: FrappeFormConnectionsProps): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
//# sourceMappingURL=FrappeFormConnections.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FrappeFormConnections.d.ts","sourceRoot":"","sources":["../src/FrappeFormConnections.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAoB,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE9E,OAAO,EAAiB,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAiD3E,MAAM,WAAW,gCAAgC;IAC/C,UAAU,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAC7C,IAAI,EAAE,gBAAgB,CAAC;IACvB,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;CACd;AAED,6EAA6E;AAC7E,wBAAgB,2BAA2B,CAAC,EAC1C,UAAU,EACV,IAAI,EACJ,IAAI,GACL,EAAE,gCAAgC,2CAmDlC;AAED,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAC7C,WAAW,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACzC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,2EAA2E;AAC3E,wBAAgB,qBAAqB,CAAC,EACpC,UAAU,EACV,WAAW,EACX,IAAI,GACL,EAAE,0BAA0B,2CAc5B"}
|
|
@@ -32,9 +32,8 @@ export interface FrappeImageViewProps<TDoc extends {
|
|
|
32
32
|
/**
|
|
33
33
|
* Thin Frappe wrapper around the generic ImageGrid component.
|
|
34
34
|
*
|
|
35
|
-
* Fetches data via `
|
|
36
|
-
*
|
|
37
|
-
* `@multiplatform.one/components`.
|
|
35
|
+
* Fetches data via `useFrappeRows`, resolves image URLs, and passes items
|
|
36
|
+
* to the generic `ImageGrid` from `@multiplatform.one/components`.
|
|
38
37
|
*
|
|
39
38
|
* **SSR**: `useLiveQuery` (via `useSyncExternalStore`) lacks a
|
|
40
39
|
* `getServerSnapshot` so it can't run on the server. If the consumer
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FrappeImageView.d.ts","sourceRoot":"","sources":["../src/FrappeImageView.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAiC,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"FrappeImageView.d.ts","sourceRoot":"","sources":["../src/FrappeImageView.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAiC,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAiC1E,MAAM,WAAW,oBAAoB,CAAC,IAAI,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAE,SAAQ,IAAI,CAChG,WAAW,EACX,UAAU,CACX;IACC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,IAAI,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IACpE,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC;CACnB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,IAAI,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAC5E,KAAK,EAAE,oBAAoB,CAAC,IAAI,CAAC,2CAqElC"}
|
package/types/FrappeList.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { type ListProps } from "@multiplatform.one/components";
|
|
1
|
+
import { type ImageGridProps, type ListProps } from "@multiplatform.one/components";
|
|
2
2
|
import type React from "react";
|
|
3
|
+
import { type UseFrappePaginationOptions } from "./useFrappePagination";
|
|
3
4
|
export interface FrappeListProps<TDoc extends {
|
|
4
5
|
name: string;
|
|
5
6
|
doctype: string;
|
|
@@ -12,8 +13,25 @@ export interface FrappeListProps<TDoc extends {
|
|
|
12
13
|
doctype: string;
|
|
13
14
|
fields?: readonly (keyof TDoc & string)[];
|
|
14
15
|
filters?: Partial<TDoc> | Array<[keyof TDoc & string, string, any]>;
|
|
16
|
+
/** Rows the subscription reads; omitted, the bench's page length (20) applies. */
|
|
17
|
+
limit?: number;
|
|
18
|
+
orderBy?: UseFrappePaginationOptions<TDoc>["orderBy"];
|
|
19
|
+
/** Server-rendered rows for this same query, shown until the first sync lands. */
|
|
20
|
+
initialRows?: readonly Partial<TDoc>[];
|
|
15
21
|
/** Page size for progressive loading (default 20). */
|
|
16
22
|
pageSize?: number;
|
|
23
|
+
/**
|
|
24
|
+
* `grid` lays the rows out as cards through the catalog ImageGrid;
|
|
25
|
+
* `renderItem` then draws one card. Loading, error and empty stay the
|
|
26
|
+
* same states in both layouts.
|
|
27
|
+
*/
|
|
28
|
+
layout?: "list" | "grid";
|
|
29
|
+
/** Grid layout: column count, tile rung and media aspect of the cards. */
|
|
30
|
+
gridProps?: Pick<ImageGridProps<Partial<TDoc>>, "columns" | "tileSize" | "mediaAspect">;
|
|
31
|
+
/** Replaces the default empty message when the doctype has no rows to show. */
|
|
32
|
+
emptyState?: React.ReactNode;
|
|
33
|
+
/** Error-state retry, e.g. a remount that starts one fresh sync. */
|
|
34
|
+
onRetry?: () => void;
|
|
17
35
|
}
|
|
18
36
|
/**
|
|
19
37
|
* Thin Frappe wrapper around the generic List component.
|
|
@@ -25,5 +43,5 @@ export interface FrappeListProps<TDoc extends {
|
|
|
25
43
|
export declare function FrappeList<TDoc extends {
|
|
26
44
|
name: string;
|
|
27
45
|
doctype: string;
|
|
28
|
-
}>({ baseURL, auth, syncOptions, doctype, fields, filters, pageSize, renderItem, ...listProps }: FrappeListProps<TDoc>): import("react/jsx-runtime").JSX.Element;
|
|
46
|
+
}>({ baseURL, auth, syncOptions, doctype, fields, filters, limit, orderBy, initialRows, pageSize, renderItem, layout, gridProps, emptyState, onRetry, ...listProps }: FrappeListProps<TDoc>): import("react/jsx-runtime").JSX.Element;
|
|
29
47
|
//# sourceMappingURL=FrappeList.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FrappeList.d.ts","sourceRoot":"","sources":["../src/FrappeList.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"FrappeList.d.ts","sourceRoot":"","sources":["../src/FrappeList.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,SAAS,EACf,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,EAAuB,KAAK,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAE7F,MAAM,WAAW,eAAe,CAAC,IAAI,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAE,SAAQ,IAAI,CAC3F,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EACxB,OAAO,GAAG,YAAY,GAAG,SAAS,GAAG,YAAY,CAClD;IACC,4CAA4C;IAC5C,UAAU,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,IAAI,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IACpE,kFAAkF;IAClF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,0BAA0B,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;IACtD,kFAAkF;IAClF,WAAW,CAAC,EAAE,SAAS,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;IACvC,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,aAAa,CAAC,CAAC;IACxF,+EAA+E;IAC/E,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,IAAI,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,EACzE,OAAO,EACP,IAAI,EACJ,WAAW,EACX,OAAO,EACP,MAAM,EACN,OAAO,EACP,KAAK,EACL,OAAO,EACP,WAAW,EACX,QAAQ,EACR,UAAU,EACV,MAAe,EACf,SAAS,EACT,UAAU,EACV,OAAO,EACP,GAAG,SAAS,EACb,EAAE,eAAe,CAAC,IAAI,CAAC,2CA6GvB"}
|
|
@@ -1,24 +1,74 @@
|
|
|
1
1
|
import type { DataTableColumn } from "@multiplatform.one/table";
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { type YStackProps } from "tamagui";
|
|
4
|
+
import { type ImageGridProps } from "@multiplatform.one/components";
|
|
5
|
+
import { type FrappeListProps } from "./FrappeList";
|
|
6
|
+
import { type FrappeConnection } from "./frappeConnections";
|
|
7
|
+
import { type FrappeDoctypeFilter } from "./useConnectionFilters";
|
|
4
8
|
interface ListFieldConfig {
|
|
5
9
|
key: string;
|
|
6
10
|
label?: string;
|
|
7
11
|
render?: (value: any, doc: any) => React.ReactNode;
|
|
8
12
|
}
|
|
9
|
-
export type ListViewMode = "list" | "table";
|
|
13
|
+
export type ListViewMode = "list" | "table" | "grid";
|
|
10
14
|
export interface FrappeListViewProps<TDoc extends {
|
|
11
15
|
name: string;
|
|
12
16
|
doctype: string;
|
|
13
17
|
}> extends Omit<YStackProps, "children"> {
|
|
14
18
|
doctype: string;
|
|
15
19
|
fields?: readonly (keyof TDoc & string)[];
|
|
16
|
-
|
|
20
|
+
/**
|
|
21
|
+
* Doctypes linking back to this one (desk Connections). A four-part filter
|
|
22
|
+
* on one of them, `[doctype, field, operator, value]`, narrows this list to
|
|
23
|
+
* the records its matching rows name. Defaults to the doctype's meta.links.
|
|
24
|
+
*/
|
|
25
|
+
connections?: readonly FrappeConnection[];
|
|
26
|
+
filters?: Partial<TDoc> | Array<[keyof TDoc & string, string, unknown] | FrappeDoctypeFilter>;
|
|
17
27
|
defaultViewMode?: ListViewMode;
|
|
28
|
+
/** Controlled view mode; the stored per-doctype choice is then ignored. */
|
|
29
|
+
viewMode?: ListViewMode;
|
|
30
|
+
onViewModeChange?: (mode: ListViewMode) => void;
|
|
18
31
|
onItemClick?: (doc: Partial<TDoc>) => void;
|
|
19
32
|
onAdd?: () => void;
|
|
33
|
+
/**
|
|
34
|
+
* The path the doctype's pages live under (`/moves`). Given, the view is
|
|
35
|
+
* the doctype's list page: it carries the list page template with the
|
|
36
|
+
* doctype as its title, a row opens `route/<name>` and Add opens
|
|
37
|
+
* `route/new` through the FrappeProvider's navigation. Add waits for the
|
|
38
|
+
* doctype's meta, so a reader who cannot load it is not offered a form.
|
|
39
|
+
*/
|
|
40
|
+
route?: string;
|
|
41
|
+
/**
|
|
42
|
+
* The query the list reads, beyond fields and filters. Give a route loader
|
|
43
|
+
* the same order and limit (`loadDocList`) so its server page and the live
|
|
44
|
+
* page match; `initialRows` is that server page.
|
|
45
|
+
*/
|
|
46
|
+
orderBy?: FrappeListProps<TDoc>["orderBy"];
|
|
47
|
+
limit?: number;
|
|
48
|
+
initialRows?: readonly Partial<TDoc>[];
|
|
20
49
|
columns?: DataTableColumn<Partial<TDoc>>[];
|
|
21
50
|
displayFields?: ListFieldConfig[];
|
|
51
|
+
/**
|
|
52
|
+
* Per-row card slot. Given, the view gains a card grid (`grid` mode, the
|
|
53
|
+
* catalog ImageGrid) that draws each row with it; loading, empty and error
|
|
54
|
+
* stay the view's own states.
|
|
55
|
+
*/
|
|
56
|
+
renderCard?: (doc: Partial<TDoc>, index: number) => React.ReactNode;
|
|
57
|
+
/** Card grid: column count, tile rung and media aspect. */
|
|
58
|
+
gridProps?: Pick<ImageGridProps<Partial<TDoc>>, "columns" | "tileSize" | "mediaAspect">;
|
|
59
|
+
/** Replaces the default empty message in list and card modes. */
|
|
60
|
+
emptyState?: React.ReactNode;
|
|
61
|
+
/**
|
|
62
|
+
* Error-state retry. Defaults to remounting the list, which restarts its
|
|
63
|
+
* sync only when nothing else still holds the failed collection.
|
|
64
|
+
*/
|
|
65
|
+
onRetry?: () => void;
|
|
66
|
+
/** Rows revealed per page in list and card modes (default 20). */
|
|
67
|
+
pageSize?: number;
|
|
68
|
+
/** False drops the list/card search band (a screen that owns its own search). */
|
|
69
|
+
showSearch?: boolean;
|
|
70
|
+
/** False renders the view without its card surface, flush in the page. */
|
|
71
|
+
surface?: boolean;
|
|
22
72
|
showToolbar?: boolean;
|
|
23
73
|
showFilterSidebar?: boolean;
|
|
24
74
|
/** @deprecated The toolbar always renders the List/Table switcher now. */
|
|
@@ -40,6 +90,6 @@ export interface FrappeListViewProps<TDoc extends {
|
|
|
40
90
|
export declare function FrappeListView<TDoc extends {
|
|
41
91
|
name: string;
|
|
42
92
|
doctype: string;
|
|
43
|
-
}>({ doctype, fields, filters, defaultViewMode, onItemClick, onAdd, columns, displayFields, showToolbar, showFilterSidebar, enableViewSwitcher: _enableViewSwitcher, baseURL, auth, syncOptions, ...stackProps }: FrappeListViewProps<TDoc>): import("react/jsx-runtime").JSX.Element;
|
|
93
|
+
}>({ doctype, fields, connections, filters, defaultViewMode, viewMode: controlledViewMode, onViewModeChange, onItemClick: onItemClickProp, onAdd: onAddProp, route, orderBy, limit, initialRows, columns, displayFields, renderCard, gridProps, emptyState, onRetry, pageSize, showSearch, surface, showToolbar, showFilterSidebar, enableViewSwitcher: _enableViewSwitcher, baseURL, auth, syncOptions, ...stackProps }: FrappeListViewProps<TDoc>): import("react/jsx-runtime").JSX.Element;
|
|
44
94
|
export {};
|
|
45
95
|
//# sourceMappingURL=FrappeListView.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FrappeListView.d.ts","sourceRoot":"","sources":["../src/FrappeListView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,KAAoD,MAAM,OAAO,CAAC;AAGzE,OAAO,EAA+C,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"FrappeListView.d.ts","sourceRoot":"","sources":["../src/FrappeListView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { FixtureProvider, UseFrappeCollectionConfig } from "@multiplatform.one/frappe";
|
|
2
2
|
import React from "react";
|
|
3
|
+
import { type FrappeNavigation } from "./frappeNavigation";
|
|
3
4
|
/**
|
|
4
5
|
* Configuration for the Frappe connection.
|
|
5
6
|
*
|
|
@@ -48,7 +49,7 @@ export interface FrappeConfig {
|
|
|
48
49
|
type?: string;
|
|
49
50
|
};
|
|
50
51
|
/** Sync options for the live data engine */
|
|
51
|
-
syncOptions?:
|
|
52
|
+
syncOptions?: UseFrappeCollectionConfig["syncOptions"];
|
|
52
53
|
/**
|
|
53
54
|
* Extra Socket.IO client options for the realtime connection — e.g.
|
|
54
55
|
* `{ transports: ["polling", "websocket"] }` behind dev proxies that
|
|
@@ -89,7 +90,7 @@ export interface FrappeProviderProps {
|
|
|
89
90
|
type?: string;
|
|
90
91
|
};
|
|
91
92
|
/** Sync options for the live data engine */
|
|
92
|
-
syncOptions?:
|
|
93
|
+
syncOptions?: UseFrappeCollectionConfig["syncOptions"];
|
|
93
94
|
/** Extra Socket.IO client options for the realtime connection. */
|
|
94
95
|
socketOptions?: UseFrappeCollectionConfig["socketOptions"];
|
|
95
96
|
/**
|
|
@@ -97,6 +98,12 @@ export interface FrappeProviderProps {
|
|
|
97
98
|
* `baseURL` to run the whole app off fixtures with no server.
|
|
98
99
|
*/
|
|
99
100
|
fixtures?: FixtureProvider;
|
|
101
|
+
/**
|
|
102
|
+
* The host router. Given, a `FrappeListView` or `FrappeForm` with a
|
|
103
|
+
* `route` reads its record from the path and navigates between the
|
|
104
|
+
* doctype's list, record, edit and new pages on its own.
|
|
105
|
+
*/
|
|
106
|
+
navigation?: FrappeNavigation;
|
|
100
107
|
}
|
|
101
108
|
/**
|
|
102
109
|
* Provider component for Frappe configuration.
|
|
@@ -121,7 +128,7 @@ export interface FrappeProviderProps {
|
|
|
121
128
|
*
|
|
122
129
|
* @category Components
|
|
123
130
|
*/
|
|
124
|
-
export declare function FrappeProvider({ children, baseURL, realtime, socketPort, socketBaseURL, siteName, auth, syncOptions, socketOptions, fixtures, }: FrappeProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
131
|
+
export declare function FrappeProvider({ children, baseURL, realtime, socketPort, socketBaseURL, siteName, auth, syncOptions, socketOptions, fixtures, navigation, }: FrappeProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
125
132
|
/**
|
|
126
133
|
* Hook to read the FrappeConfig from context.
|
|
127
134
|
* This uses the traditional useContext() hook.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FrappeProvider.d.ts","sourceRoot":"","sources":["../src/FrappeProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAC5F,OAAO,KAAyC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"FrappeProvider.d.ts","sourceRoot":"","sources":["../src/FrappeProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAC5F,OAAO,KAAyC,MAAM,OAAO,CAAC;AAC9D,OAAO,EAA4B,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAErF;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;;;OASG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,IAAI,CAAC,EAAE;QACL,gDAAgD;QAChD,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,sFAAsF;QACtF,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAClD,8BAA8B;QAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,4CAA4C;IAC5C,WAAW,CAAC,EAAE,yBAAyB,CAAC,aAAa,CAAC,CAAC;IACvD;;;;OAIG;IACH,aAAa,CAAC,EAAE,yBAAyB,CAAC,eAAe,CAAC,CAAC;IAC3D;;;OAGG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B;AAID;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,uBAAuB;IACvB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,IAAI,CAAC,EAAE;QACL,gDAAgD;QAChD,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,sFAAsF;QACtF,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAClD,8BAA8B;QAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,4CAA4C;IAC5C,WAAW,CAAC,EAAE,yBAAyB,CAAC,aAAa,CAAC,CAAC;IACvD,kEAAkE;IAClE,aAAa,CAAC,EAAE,yBAAyB,CAAC,eAAe,CAAC,CAAC;IAC3D;;;OAGG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B;;;;OAIG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,UAAU,EACV,aAAa,EACb,QAAQ,EACR,IAAI,EACJ,WAAW,EACX,aAAa,EACb,QAAQ,EACR,UAAU,GACX,EAAE,mBAAmB,2CA+BrB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,IAAI,YAAY,GAAG,SAAS,CAE1D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,gBAAgB,IAAI,YAAY,GAAG,SAAS,CAE3D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FrappeReportBuilder.d.ts","sourceRoot":"","sources":["../src/FrappeReportBuilder.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FrappeReportBuilder.d.ts","sourceRoot":"","sources":["../src/FrappeReportBuilder.tsx"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,aAAa,EACnB,MAAM,+BAA+B,CAAC;AAKvC,OAAO,EAAiC,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AA+D1E,MAAM,WAAW,wBAAyB,SAAQ,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,YAAY,EAAE,CAAC;IAChC,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACrE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC;IACrD,qEAAqE;IACrE,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AAMD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,cAAc,EACd,cAAc,EACd,OAAO,EACP,SAAiB,EACjB,QAAQ,EACR,UAAU,EACV,OAAO,EACP,IAAI,EACJ,WAAW,EACX,GAAG,UAAU,EACd,EAAE,wBAAwB,2CAmX1B;AAED,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type FrappeRowsConnection, type UseFrappeRowsOptions } from "./useFrappeRows";
|
|
2
|
+
export interface FrappeRowsSnapshot<TDoc> {
|
|
3
|
+
rows: TDoc[];
|
|
4
|
+
isLoading: boolean;
|
|
5
|
+
error: Error | null;
|
|
6
|
+
}
|
|
7
|
+
export interface FrappeRowsReaderProps<TDoc extends {
|
|
8
|
+
name: string;
|
|
9
|
+
doctype: string;
|
|
10
|
+
}> {
|
|
11
|
+
connection: FrappeRowsConnection | undefined;
|
|
12
|
+
doctype: string;
|
|
13
|
+
/** Memoize it: a new identity every render re-reports the same rows. */
|
|
14
|
+
options: UseFrappeRowsOptions<TDoc>;
|
|
15
|
+
onChange: (snapshot: FrappeRowsSnapshot<TDoc>) => void;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* One doctype read as a component. A parent that needs a varying number of
|
|
19
|
+
* reads (one per connection, one per junction filter) mounts one reader per
|
|
20
|
+
* read instead of calling hooks in a loop. Renders nothing.
|
|
21
|
+
*/
|
|
22
|
+
export declare function FrappeRowsReader<TDoc extends {
|
|
23
|
+
name: string;
|
|
24
|
+
doctype: string;
|
|
25
|
+
}>({ connection, doctype, options, onChange, }: FrappeRowsReaderProps<TDoc>): null;
|
|
26
|
+
//# sourceMappingURL=FrappeRowsReader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FrappeRowsReader.d.ts","sourceRoot":"","sources":["../src/FrappeRowsReader.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAC1B,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,kBAAkB,CAAC,IAAI;IACtC,IAAI,EAAE,IAAI,EAAE,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB,CAAC,IAAI,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;IACnF,UAAU,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,OAAO,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACpC,QAAQ,EAAE,CAAC,QAAQ,EAAE,kBAAkB,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;CACxD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,EAC/E,UAAU,EACV,OAAO,EACP,OAAO,EACP,QAAQ,GACT,EAAE,qBAAqB,CAAC,IAAI,CAAC,QAM7B"}
|
package/types/FrappeTable.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type DataTableColumn, type DataTableProps, type DataTableState, type FilterValue } from "@multiplatform.one/table";
|
|
1
|
+
import { type DataTableColumn, type DataTableProps, type DataTableState, type FilterValue, type FilterableField } from "@multiplatform.one/table";
|
|
2
2
|
import React from "react";
|
|
3
3
|
/**
|
|
4
4
|
* Props for the FrappeTable component.
|
|
@@ -45,7 +45,17 @@ export interface FrappeTableProps<TDoc extends {
|
|
|
45
45
|
doctype: string;
|
|
46
46
|
/** Column definitions for the table */
|
|
47
47
|
columns: DataTableColumn<Partial<TDoc>>[];
|
|
48
|
-
/**
|
|
48
|
+
/**
|
|
49
|
+
* Fields to fetch. Omitted, a read from the bench (`serverSide`, or client
|
|
50
|
+
* mode under a provider without `fixtures`) requests `name` plus every
|
|
51
|
+
* column's `accessorKey`, and client mode under a provider carrying
|
|
52
|
+
* `fixtures` reads whole documents from the corpus. A column keyed on
|
|
53
|
+
* something that is not a doctype field (a rowAccumulator's derived key,
|
|
54
|
+
* say) makes the bench refuse that read, so name the list to leave such a
|
|
55
|
+
* key out. Name it, too, to share one collection with another reader of
|
|
56
|
+
* the same doctype (see useFrappeRows) or to fetch fields no column shows,
|
|
57
|
+
* such as a title field or a filter-only field.
|
|
58
|
+
*/
|
|
49
59
|
fields?: readonly (keyof TDoc & string)[];
|
|
50
60
|
/** Initial filter criteria */
|
|
51
61
|
filters?: Partial<TDoc> | Array<[keyof TDoc & string, string, any]>;
|
|
@@ -91,7 +101,25 @@ export interface FrappeTableProps<TDoc extends {
|
|
|
91
101
|
* FrappeTable has to name it or callers (backoffice list) fail the build.
|
|
92
102
|
*/
|
|
93
103
|
compact?: boolean;
|
|
104
|
+
/**
|
|
105
|
+
* Filters the toolbar offers. Omitted, the list is derived from the
|
|
106
|
+
* doctype's meta: under a provider carrying `fixtures` that is the
|
|
107
|
+
* corpus's "DocType" entry and never the network, whatever `baseURL` the
|
|
108
|
+
* host also carries (a corpus without the entry yields no menu);
|
|
109
|
+
* otherwise it is a `frappe.desk.form.load.getdoctype` call. The
|
|
110
|
+
* meta-derived menu offers the doctype's fields, including ones the
|
|
111
|
+
* server refuses to filter on, so a live app should pass the honoured
|
|
112
|
+
* set by hand. Passing it skips the meta read entirely, which also drops
|
|
113
|
+
* title-field row labels back to the document name.
|
|
114
|
+
*/
|
|
115
|
+
filterableFields?: FilterableField[];
|
|
94
116
|
}
|
|
117
|
+
/**
|
|
118
|
+
* Map one table FilterValue to a Frappe filter tuple. Returns null when the
|
|
119
|
+
* filter carries no usable value (e.g. "contains" with an empty string) so
|
|
120
|
+
* half-built live-commit filters never reach the API.
|
|
121
|
+
*/
|
|
122
|
+
export declare function filterValueToFrappeTuple(fieldname: string, filterValue: FilterValue): [string, string, unknown] | null;
|
|
95
123
|
/**
|
|
96
124
|
* A data table component connected to Frappe Live data.
|
|
97
125
|
*
|
|
@@ -99,6 +127,15 @@ export interface FrappeTableProps<TDoc extends {
|
|
|
99
127
|
* with real-time updates via WebSocket. Integrates with the FrappeProvider
|
|
100
128
|
* for configuration.
|
|
101
129
|
*
|
|
130
|
+
* Two props read as optional and carry defaults that matter (MPO-230).
|
|
131
|
+
* Without `fields`, a read from the bench (`serverSide`, or client mode with
|
|
132
|
+
* no `fixtures`) requests `name` plus every column's `accessorKey`, and
|
|
133
|
+
* client mode under a fixture corpus reads whole documents. Without
|
|
134
|
+
* `filterableFields`, the filter menu comes from the doctype's meta: the
|
|
135
|
+
* corpus's "DocType" entry under a provider carrying `fixtures`, never the
|
|
136
|
+
* network whatever `baseURL` the host also carries, and a `getdoctype` call
|
|
137
|
+
* otherwise. Each prop's own entry has the detail.
|
|
138
|
+
*
|
|
102
139
|
* @typeParam TDoc - The document type with at least name and doctype fields
|
|
103
140
|
*
|
|
104
141
|
* @example
|
|
@@ -129,12 +166,6 @@ export interface FrappeTableProps<TDoc extends {
|
|
|
129
166
|
*
|
|
130
167
|
* @category Components
|
|
131
168
|
*/
|
|
132
|
-
/**
|
|
133
|
-
* Map one table FilterValue to a Frappe filter tuple. Returns null when the
|
|
134
|
-
* filter carries no usable value (e.g. "contains" with an empty string) so
|
|
135
|
-
* half-built live-commit filters never reach the API.
|
|
136
|
-
*/
|
|
137
|
-
export declare function filterValueToFrappeTuple(fieldname: string, filterValue: FilterValue): [string, string, unknown] | null;
|
|
138
169
|
export declare function FrappeTable<TDoc extends {
|
|
139
170
|
name: string;
|
|
140
171
|
doctype: string;
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"FrappeTable.d.ts","sourceRoot":"","sources":["../src/FrappeTable.tsx"],"names":[],"mappings":"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"}
|
package/types/fieldRegistry.d.ts
CHANGED
|
@@ -6,7 +6,9 @@
|
|
|
6
6
|
* generic field components from @multiplatform.one/forms by default.
|
|
7
7
|
*/
|
|
8
8
|
import type { ComponentType } from "react";
|
|
9
|
-
import { type
|
|
9
|
+
import { type FrappeFieldType } from "@multiplatform.one/frappe";
|
|
10
|
+
import { type DependsDoc } from "./dependsOn";
|
|
11
|
+
import { type ChildCellHidden, type DataTableField } from "@multiplatform.one/table";
|
|
10
12
|
import { type ChoiceControl, type CommitMode } from "./resolveControl";
|
|
11
13
|
/** Minimal field schema definition (generic, not tied to any framework). */
|
|
12
14
|
export interface FieldSchema {
|
|
@@ -51,6 +53,8 @@ export interface FieldRenderProps {
|
|
|
51
53
|
doctype?: string;
|
|
52
54
|
/** For Select fields: newline-separated options string or other config */
|
|
53
55
|
options?: string;
|
|
56
|
+
/** For Table fields: the form doc child `depends_on` reads as `parent`. */
|
|
57
|
+
parentDoc?: Record<string, unknown>;
|
|
54
58
|
/** Allow pass-through props */
|
|
55
59
|
[key: string]: any;
|
|
56
60
|
}
|
|
@@ -61,9 +65,10 @@ export interface FieldRenderProps {
|
|
|
61
65
|
* override channel: writing it per provider instance clobbers every other
|
|
62
66
|
* provider on the page (last render wins, silently). Per-subtree overrides
|
|
63
67
|
* belong on `FieldOverridesProvider` (fieldOverrides.tsx), which SchemaForm
|
|
64
|
-
* consults before this table.
|
|
68
|
+
* consults before this table. Only a `FrappeFieldType` registers: the union
|
|
69
|
+
* is the authority on what a fieldtype may be (MPO-15).
|
|
65
70
|
*/
|
|
66
|
-
export declare function registerField(fieldtype:
|
|
71
|
+
export declare function registerField(fieldtype: FrappeFieldType, component: ComponentType<FieldRenderProps>): void;
|
|
67
72
|
export declare function getFieldComponent(fieldtype: string): ComponentType<FieldRenderProps> | undefined;
|
|
68
73
|
/** Minimal child-table field descriptor (DocTypeField-compatible). */
|
|
69
74
|
export interface ChildTableFieldDef {
|
|
@@ -76,6 +81,8 @@ export interface ChildTableFieldDef {
|
|
|
76
81
|
hidden?: boolean | number;
|
|
77
82
|
precision?: number;
|
|
78
83
|
default?: string;
|
|
84
|
+
/** Per-row visibility, evaluated against the row with the parent doc in scope. */
|
|
85
|
+
depends_on?: string;
|
|
79
86
|
}
|
|
80
87
|
type TableColumnDef = {
|
|
81
88
|
id: string;
|
|
@@ -92,6 +99,13 @@ export declare function fieldtypeToTableField(fieldtype: string, options?: strin
|
|
|
92
99
|
};
|
|
93
100
|
/** Build editable ChildTable columns from child DocType field defs. */
|
|
94
101
|
export declare function childFieldsToColumns(fields: ChildTableFieldDef[]): TableColumnDef[];
|
|
102
|
+
/** Every editable child field, for the row detail editor (desk's row form). */
|
|
103
|
+
export declare function childFieldsToDetailColumns(fields: ChildTableFieldDef[]): TableColumnDef[];
|
|
104
|
+
/**
|
|
105
|
+
* Per-row cell visibility from child `depends_on`: the row is `doc`, the
|
|
106
|
+
* parent form doc is `parent`. Undefined when no child field declares one.
|
|
107
|
+
*/
|
|
108
|
+
export declare function childCellHidden(fields: ChildTableFieldDef[], parent?: DependsDoc): ChildCellHidden | undefined;
|
|
95
109
|
export declare function initDefaultRegistry(): void;
|
|
96
110
|
export {};
|
|
97
111
|
//# sourceMappingURL=fieldRegistry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fieldRegistry.d.ts","sourceRoot":"","sources":["../src/fieldRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"fieldRegistry.d.ts","sourceRoot":"","sources":["../src/fieldRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/fields/Date/index.native.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/fields/Date/index.native.tsx"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGzC;;;;GAIG;AAEH,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAyDzC;;;;;;;;GAQG;AACH,iBAAS,SAAS,CAChB,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/D,KAAK,SAAS,MAAM,GAAG,MAAM,EAC7B,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,2CAwT/B;AAED,OAAO,EAAE,SAAS,IAAI,IAAI,EAAE,CAAC"}
|
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
*
|
|
4
4
|
* The Date iOS sheet used to give the calendar a fixed 360pt height inside a
|
|
5
5
|
* Modal. KeyboardAvoidingView cannot shrink that shape — it pads the container
|
|
6
|
-
* and the sheet overflows off the top. Cap the sheet to the space
|
|
7
|
-
* keyboard (less a strip of backdrop) and shrink the picker
|
|
6
|
+
* and the sheet overflows off the top. Cap the sheet to the space between the
|
|
7
|
+
* status bar and the keyboard (less a strip of backdrop) and shrink the picker
|
|
8
|
+
* to fit.
|
|
8
9
|
*/
|
|
9
10
|
export declare const DATE_SHEET_MAX_HEIGHT_RATIO = 0.85;
|
|
10
11
|
export declare const DATE_SHEET_BACKDROP_STRIP = 48;
|
|
@@ -12,7 +13,7 @@ export declare const DATE_SHEET_MIN_HEIGHT = 180;
|
|
|
12
13
|
export declare const DATE_SHEET_CHROME = 96;
|
|
13
14
|
export declare const DATE_PICKER_CALENDAR_HEIGHT = 360;
|
|
14
15
|
export declare const DATE_PICKER_WHEEL_HEIGHT = 200;
|
|
15
|
-
export declare function dateSheetMaxHeight(windowHeight: number, keyboardInset: number): number;
|
|
16
|
+
export declare function dateSheetMaxHeight(windowHeight: number, keyboardInset: number, topInset: number): number;
|
|
16
17
|
/** Home-indicator clearance; drop it while the keyboard already covers that band. */
|
|
17
18
|
export declare function dateSheetBottomPadding(keyboardInset: number, isIos: boolean): number;
|
|
18
19
|
export declare function datePickerHeight(mode: "date" | "time", maxHeight: number): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sheetKeyboard.d.ts","sourceRoot":"","sources":["../../../src/fields/Date/sheetKeyboard.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"sheetKeyboard.d.ts","sourceRoot":"","sources":["../../../src/fields/Date/sheetKeyboard.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAChD,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAC5C,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAC/C,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAG5C,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,GACf,MAAM,CAWR;AAED,qFAAqF;AACrF,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAGpF;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAGjF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/DateRange/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAa,cAAc,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAKpD,MAAM,MAAM,mBAAmB,CAC7B,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/D,KAAK,SAAS,MAAM,GAAG,MAAM,IAC3B,IAAI,CACN,cAAc,CACZ,KAAK,EACL,KAAK,SAAS,QAAQ,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,EACvD,OAAO,EACP,OAAO,EACP,MAAM,CACP,EACD,UAAU,GAAG,OAAO,CACrB,GACC,OAAO,CACL,IAAI,CACF,mBAAmB,CACjB,KAAK,EACL,KAAK,SAAS,QAAQ,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,EACvD,OAAO,EACP,OAAO,EACP,MAAM,CACP,EACD,UAAU,CACX,CACF,GAAG;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAmCJ,wBAAgB,cAAc,CAC5B,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/D,KAAK,SAAS,MAAM,GAAG,MAAM,EAC7B,KAAK,EAAE,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/DateRange/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAa,cAAc,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAKpD,MAAM,MAAM,mBAAmB,CAC7B,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/D,KAAK,SAAS,MAAM,GAAG,MAAM,IAC3B,IAAI,CACN,cAAc,CACZ,KAAK,EACL,KAAK,SAAS,QAAQ,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,EACvD,OAAO,EACP,OAAO,EACP,MAAM,CACP,EACD,UAAU,GAAG,OAAO,CACrB,GACC,OAAO,CACL,IAAI,CACF,mBAAmB,CACjB,KAAK,EACL,KAAK,SAAS,QAAQ,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,EACvD,OAAO,EACP,OAAO,EACP,MAAM,CACP,EACD,UAAU,CACX,CACF,GAAG;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAmCJ,wBAAgB,cAAc,CAC5B,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/D,KAAK,SAAS,MAAM,GAAG,MAAM,EAC7B,KAAK,EAAE,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,2CAiDzC"}
|
|
@@ -1,117 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* a lower-tier package must never reach up into backoffice for a type.
|
|
8
|
-
* `useDoctypeMeta` (the loader hook, which needs the backoffice app context)
|
|
9
|
-
* stays where it is and re-exports these.
|
|
10
|
-
*
|
|
11
|
-
* Deliberately loose: the server is the source of truth, `0 | 1` flags are
|
|
12
|
-
* what the RPC actually sends, and the index signature carries the keys no
|
|
13
|
-
* surface has needed yet. `fieldtype` stays `string` here; narrowing it to
|
|
14
|
-
* the `FrappeFieldType` union is the remaining half of MPO-15's meta-model
|
|
15
|
-
* criterion and is tracked there, not silently done in a move.
|
|
2
|
+
* The desk's names for the one DocType meta model, which
|
|
3
|
+
* `@multiplatform.one/frappe` declares (MPO-15). These are aliases, not
|
|
4
|
+
* shapes: the form engine, the backoffice surfaces and `useDocTypeMeta`
|
|
5
|
+
* all read the same `DocTypeField` / `DocTypeMeta`, so a field key the
|
|
6
|
+
* server sends reaches every one of them or none.
|
|
16
7
|
*/
|
|
17
|
-
|
|
18
|
-
export
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
options?: string;
|
|
23
|
-
reqd?: 0 | 1;
|
|
24
|
-
hidden?: 0 | 1;
|
|
25
|
-
read_only?: 0 | 1;
|
|
26
|
-
bold?: 0 | 1;
|
|
27
|
-
in_list_view?: 0 | 1;
|
|
28
|
-
in_standard_filter?: 0 | 1;
|
|
29
|
-
in_global_search?: 0 | 1;
|
|
30
|
-
allow_in_quick_entry?: 0 | 1;
|
|
31
|
-
allow_on_submit?: 0 | 1;
|
|
32
|
-
no_copy?: 0 | 1;
|
|
33
|
-
collapsible?: 0 | 1;
|
|
34
|
-
collapsible_depends_on?: string;
|
|
35
|
-
depends_on?: string;
|
|
36
|
-
mandatory_depends_on?: string;
|
|
37
|
-
read_only_depends_on?: string;
|
|
38
|
-
fetch_from?: string;
|
|
39
|
-
permlevel?: number;
|
|
40
|
-
length?: number;
|
|
41
|
-
default?: string;
|
|
42
|
-
description?: string;
|
|
43
|
-
precision?: string | number;
|
|
44
|
-
idx?: number;
|
|
45
|
-
[key: string]: unknown;
|
|
46
|
-
}
|
|
47
|
-
/** DocType Link child row (Connections tab). Probed: `group` arrives null when unset. */
|
|
48
|
-
export interface DocLinkMeta {
|
|
49
|
-
name?: string;
|
|
50
|
-
link_doctype: string;
|
|
51
|
-
link_fieldname: string;
|
|
52
|
-
group?: string | null;
|
|
53
|
-
hidden?: 0 | 1;
|
|
54
|
-
is_child_table?: 0 | 1;
|
|
55
|
-
parent_doctype?: string;
|
|
56
|
-
table_fieldname?: string;
|
|
57
|
-
[key: string]: unknown;
|
|
58
|
-
}
|
|
59
|
-
/** Role permission row from the DocType meta. */
|
|
60
|
-
export interface DocPermissionRule {
|
|
61
|
-
role?: string;
|
|
62
|
-
permlevel?: number;
|
|
63
|
-
read?: 0 | 1;
|
|
64
|
-
write?: 0 | 1;
|
|
65
|
-
create?: 0 | 1;
|
|
66
|
-
delete?: 0 | 1;
|
|
67
|
-
submit?: 0 | 1;
|
|
68
|
-
cancel?: 0 | 1;
|
|
69
|
-
amend?: 0 | 1;
|
|
70
|
-
print?: 0 | 1;
|
|
71
|
-
email?: 0 | 1;
|
|
72
|
-
share?: 0 | 1;
|
|
73
|
-
if_owner?: 0 | 1;
|
|
74
|
-
[key: string]: unknown;
|
|
75
|
-
}
|
|
76
|
-
/** DocType meta as returned by frappe.desk.form.load.getdoctype (loose). */
|
|
77
|
-
export interface DoctypeMeta {
|
|
78
|
-
doctype?: string;
|
|
79
|
-
name: string;
|
|
80
|
-
module?: string;
|
|
81
|
-
issingle?: 0 | 1;
|
|
82
|
-
istable?: 0 | 1;
|
|
83
|
-
is_submittable?: 0 | 1;
|
|
84
|
-
is_tree?: 0 | 1;
|
|
85
|
-
/** Desk treeview_settings asset (`{doctype}_tree.js`) — gates Tree. */
|
|
86
|
-
__tree_js?: string;
|
|
87
|
-
/** Desk calendar_settings asset (`{doctype}_calendar.js`) — gates Calendar. */
|
|
88
|
-
__calendar_js?: string;
|
|
89
|
-
is_virtual?: 0 | 1;
|
|
90
|
-
editable_grid?: 0 | 1;
|
|
91
|
-
track_changes?: 0 | 1;
|
|
92
|
-
quick_entry?: 0 | 1;
|
|
93
|
-
autoname?: string;
|
|
94
|
-
naming_rule?: string;
|
|
95
|
-
allow_rename?: 0 | 1;
|
|
96
|
-
allow_copy?: 0 | 1;
|
|
97
|
-
read_only?: 0 | 1;
|
|
98
|
-
in_create?: 0 | 1;
|
|
99
|
-
hide_toolbar?: 0 | 1;
|
|
100
|
-
max_attachments?: number;
|
|
101
|
-
title_field?: string;
|
|
102
|
-
image_field?: string;
|
|
103
|
-
search_fields?: string;
|
|
104
|
-
sort_field?: string;
|
|
105
|
-
sort_order?: string;
|
|
106
|
-
icon?: string;
|
|
107
|
-
document_type?: string;
|
|
108
|
-
fields: DocFieldMeta[];
|
|
109
|
-
permissions?: DocPermissionRule[];
|
|
110
|
-
links?: DocLinkMeta[];
|
|
111
|
-
states?: Array<{
|
|
112
|
-
title?: string;
|
|
113
|
-
color?: string;
|
|
114
|
-
} & Record<string, unknown>>;
|
|
115
|
-
[key: string]: unknown;
|
|
116
|
-
}
|
|
8
|
+
import type { DocTypeField, DocTypeLink, DocTypeMeta, DocTypePermission } from "@multiplatform.one/frappe";
|
|
9
|
+
export type DocFieldMeta = DocTypeField;
|
|
10
|
+
export type DocLinkMeta = DocTypeLink;
|
|
11
|
+
export type DocPermissionRule = DocTypePermission;
|
|
12
|
+
export type DoctypeMeta = DocTypeMeta;
|
|
117
13
|
//# sourceMappingURL=doctypeMeta.d.ts.map
|