@multiplatform.one/frappe-ui 7.7.6 → 7.8.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/dist/cjs/ChartCard.native.js.map +1 -1
- package/dist/cjs/FileBrowser/AttachLibrary.native.js.map +1 -1
- package/dist/cjs/FileBrowser/folderTree.native.js.map +1 -1
- package/dist/cjs/FileBrowser/index.native.js.map +1 -1
- package/dist/cjs/FileBrowser/types.native.js.map +1 -1
- package/dist/cjs/FileBrowser/viewPersistence.native.js.map +1 -1
- package/dist/cjs/FormSidebar.native.js.map +1 -1
- package/dist/cjs/FrappeAssignment.native.js.map +1 -1
- package/dist/cjs/FrappeCalendar.cjs +20 -17
- package/dist/cjs/FrappeCalendar.native.js +22 -21
- package/dist/cjs/FrappeCalendar.native.js.map +1 -1
- package/dist/cjs/FrappeChartCard.native.js.map +1 -1
- package/dist/cjs/FrappeConnectionIndicator.native.js.map +1 -1
- package/dist/cjs/FrappeDashboard.native.js.map +1 -1
- package/dist/cjs/FrappeForm.cjs +1 -1
- package/dist/cjs/FrappeForm.native.js +2 -2
- package/dist/cjs/FrappeForm.native.js.map +1 -1
- package/dist/cjs/FrappeGantt.cjs +25 -34
- package/dist/cjs/FrappeGantt.native.js +27 -38
- package/dist/cjs/FrappeGantt.native.js.map +1 -1
- package/dist/cjs/FrappeImageView.cjs +4 -2
- package/dist/cjs/FrappeImageView.native.js +8 -4
- package/dist/cjs/FrappeImageView.native.js.map +1 -1
- package/dist/cjs/FrappeKPICard.cjs +26 -1
- package/dist/cjs/FrappeKPICard.native.js +26 -1
- package/dist/cjs/FrappeKPICard.native.js.map +1 -1
- package/dist/cjs/FrappeKanban.cjs +16 -17
- package/dist/cjs/FrappeKanban.native.js +18 -21
- package/dist/cjs/FrappeKanban.native.js.map +1 -1
- package/dist/cjs/FrappeLikedBy.cjs +1 -1
- package/dist/cjs/FrappeLikedBy.native.js +1 -1
- package/dist/cjs/FrappeLikedBy.native.js.map +1 -1
- package/dist/cjs/FrappeList.cjs +2 -2
- package/dist/cjs/FrappeList.native.js +2 -2
- package/dist/cjs/FrappeList.native.js.map +1 -1
- package/dist/cjs/FrappeListView.native.js.map +1 -1
- package/dist/cjs/FrappeProvider.native.js.map +1 -1
- package/dist/cjs/FrappeReconnectIndicator.native.js.map +1 -1
- package/dist/cjs/FrappeReportBuilder.cjs +2 -2
- package/dist/cjs/FrappeReportBuilder.native.js +2 -2
- package/dist/cjs/FrappeReportBuilder.native.js.map +1 -1
- package/dist/cjs/FrappeReportView.native.js +3 -3
- package/dist/cjs/FrappeReportView.native.js.map +1 -1
- package/dist/cjs/FrappeTable.cjs +35 -38
- package/dist/cjs/FrappeTable.native.js +38 -39
- package/dist/cjs/FrappeTable.native.js.map +1 -1
- package/dist/cjs/FrappeTreeView.cjs +85 -50
- package/dist/cjs/FrappeTreeView.native.js +129 -50
- package/dist/cjs/FrappeTreeView.native.js.map +1 -1
- package/dist/cjs/SyncErrorNotice.native.js.map +1 -1
- package/dist/cjs/commentActions.cjs +1 -1
- package/dist/cjs/commentActions.native.js +1 -1
- package/dist/cjs/commentActions.native.js.map +1 -1
- package/dist/cjs/components/attachments.native.js.map +1 -1
- package/dist/cjs/components/tags.native.js.map +1 -1
- package/dist/cjs/components/timeline.cjs +1 -1
- package/dist/cjs/components/timeline.native.js +1 -1
- package/dist/cjs/components/timeline.native.js.map +1 -1
- package/dist/cjs/dependsOn.native.js.map +1 -1
- package/dist/cjs/desk/DeskFormPage.native.js.map +1 -1
- package/dist/cjs/desk/DeskFormSidebar.native.js.map +1 -1
- package/dist/cjs/desk/DeskListPage.native.js.map +1 -1
- package/dist/cjs/desk/DeskShell.cjs +2 -0
- package/dist/cjs/desk/DeskShell.native.js +2 -0
- package/dist/cjs/desk/DeskShell.native.js.map +1 -1
- package/dist/cjs/desk/DeskSidebar.native.js.map +1 -1
- package/dist/cjs/desk/awesomebar.cjs +1 -1
- package/dist/cjs/desk/awesomebar.native.js +1 -1
- package/dist/cjs/desk/awesomebar.native.js.map +1 -1
- package/dist/cjs/fieldOverrides.native.js.map +1 -1
- package/dist/cjs/fieldRegistry.native.js +31 -31
- package/dist/cjs/fieldRegistry.native.js.map +1 -1
- package/dist/cjs/fields/Barcode/index.native.js.map +1 -1
- package/dist/cjs/fields/Check/index.native.js.map +1 -1
- package/dist/cjs/fields/CodeEditor/index.native.js.map +1 -1
- package/dist/cjs/fields/Color/index.native.js.map +1 -1
- package/dist/cjs/fields/Data/index.native.js.map +1 -1
- package/dist/cjs/fields/Date/sheetKeyboard.native.js.map +1 -1
- package/dist/cjs/fields/Date/types.native.js.map +1 -1
- package/dist/cjs/fields/Date/wire.native.js.map +1 -1
- package/dist/cjs/fields/DateRange/index.native.js.map +1 -1
- package/dist/cjs/fields/Duration/index.native.js.map +1 -1
- package/dist/cjs/fields/DynamicLink.native.js.map +1 -1
- package/dist/cjs/fields/FileUpload.native.js.map +1 -1
- package/dist/cjs/fields/FileUploadField/index.native.js.map +1 -1
- package/dist/cjs/fields/Geolocation/index.native.js.map +1 -1
- package/dist/cjs/fields/HTML/index.native.js.map +1 -1
- package/dist/cjs/fields/Heading/index.native.js.map +1 -1
- package/dist/cjs/fields/Icon/index.native.js.map +1 -1
- package/dist/cjs/fields/Link.native.js.map +1 -1
- package/dist/cjs/fields/LinkTree.native.js.map +1 -1
- package/dist/cjs/fields/LongText/index.native.js.map +1 -1
- package/dist/cjs/fields/MentionInput/index.cjs +4 -1
- package/dist/cjs/fields/MentionInput/index.native.js +4 -1
- package/dist/cjs/fields/MentionInput/index.native.js.map +1 -1
- package/dist/cjs/fields/Numeric/index.native.js.map +1 -1
- package/dist/cjs/fields/OTPInput/index.native.js.map +1 -1
- package/dist/cjs/fields/Password/index.native.js.map +1 -1
- package/dist/cjs/fields/Phone/index.native.js.map +1 -1
- package/dist/cjs/fields/Progress/index.native.js.map +1 -1
- package/dist/cjs/fields/RadioGroup/index.native.js.map +1 -1
- package/dist/cjs/fields/Rating/index.native.js.map +1 -1
- package/dist/cjs/fields/ReadOnly/index.native.js.map +1 -1
- package/dist/cjs/fields/Select/index.native.js.map +1 -1
- package/dist/cjs/fields/Signature/index.native.js.map +1 -1
- package/dist/cjs/fields/Slider/index.native.js.map +1 -1
- package/dist/cjs/fields/SmallText/index.native.js.map +1 -1
- package/dist/cjs/fields/Switch/index.native.js.map +1 -1
- package/dist/cjs/fields/TableMultiSelect.native.js.map +1 -1
- package/dist/cjs/fields/TextEditor/types.native.js.map +1 -1
- package/dist/cjs/fields/TimePicker/index.native.js.map +1 -1
- package/dist/cjs/fields/ToggleGroup/index.native.js.map +1 -1
- package/dist/cjs/fields/shared/EditorPreviewPanes.native.js.map +1 -1
- package/dist/cjs/filterFields.native.js.map +1 -1
- package/dist/cjs/formEngine/createPrefill.native.js.map +1 -1
- package/dist/cjs/formEngine/dirtyTracking.native.js.map +1 -1
- package/dist/cjs/formEngine/doctypeMeta.native.js.map +1 -1
- package/dist/cjs/formEngine/fetchFrom.native.js.map +1 -1
- package/dist/cjs/formEngine/fieldPermissions.native.js.map +1 -1
- package/dist/cjs/formEngine/formActions.native.js.map +1 -1
- package/dist/cjs/formEngine/formLayout.native.js.map +1 -1
- package/dist/cjs/formEngine/index.native.js.map +1 -1
- package/dist/cjs/formEngine/useFormEngine.native.js.map +1 -1
- package/dist/cjs/frappeEventColor.native.js.map +1 -1
- package/dist/cjs/frappeStoryTarget.native.js.map +1 -1
- package/dist/cjs/frappeUsers.native.js.map +1 -1
- package/dist/cjs/index.cjs +4 -0
- package/dist/cjs/index.native.js +38 -34
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/liveErrors.native.js.map +1 -1
- package/dist/cjs/resolveControl.native.js.map +1 -1
- package/dist/cjs/schemaForm/SchemaWizard.native.js.map +1 -1
- package/dist/cjs/schemaForm/applyFieldOrder.native.js.map +1 -1
- package/dist/cjs/schemaForm/index.cjs +10 -9
- package/dist/cjs/schemaForm/index.native.js +11 -10
- package/dist/cjs/schemaForm/index.native.js.map +1 -1
- package/dist/cjs/shared/devWarn.cjs +40 -0
- package/dist/cjs/shared/devWarn.native.js +45 -0
- package/dist/cjs/shared/devWarn.native.js.map +1 -0
- package/dist/cjs/shared/useKeyboardInset.native.js.map +1 -1
- package/dist/cjs/syncError.native.js.map +1 -1
- package/dist/cjs/useFrappeAggregate.cjs +15 -8
- package/dist/cjs/useFrappeAggregate.native.js +15 -9
- package/dist/cjs/useFrappeAggregate.native.js.map +1 -1
- package/dist/cjs/useFrappeFacets.cjs +10 -9
- package/dist/cjs/useFrappeFacets.native.js +10 -10
- package/dist/cjs/useFrappeFacets.native.js.map +1 -1
- package/dist/cjs/useFrappePagination.native.js.map +1 -1
- package/dist/cjs/useFrappeRows.cjs +113 -0
- package/dist/cjs/useFrappeRows.native.js +129 -0
- package/dist/cjs/useFrappeRows.native.js.map +1 -0
- package/dist/esm/ChartCard.native.js.map +1 -1
- package/dist/esm/FileBrowser/AttachLibrary.native.js.map +1 -1
- package/dist/esm/FileBrowser/folderTree.native.js.map +1 -1
- package/dist/esm/FileBrowser/index.native.js.map +1 -1
- package/dist/esm/FileBrowser/types.native.js.map +1 -1
- package/dist/esm/FileBrowser/viewPersistence.native.js.map +1 -1
- package/dist/esm/FormSidebar.native.js.map +1 -1
- package/dist/esm/FrappeAssignment.native.js.map +1 -1
- package/dist/esm/FrappeCalendar.mjs +20 -17
- package/dist/esm/FrappeCalendar.mjs.map +1 -1
- package/dist/esm/FrappeCalendar.native.js +22 -21
- package/dist/esm/FrappeCalendar.native.js.map +1 -1
- package/dist/esm/FrappeChartCard.native.js.map +1 -1
- package/dist/esm/FrappeConnectionIndicator.native.js.map +1 -1
- package/dist/esm/FrappeDashboard.native.js.map +1 -1
- package/dist/esm/FrappeForm.mjs +1 -1
- package/dist/esm/FrappeForm.mjs.map +1 -1
- package/dist/esm/FrappeForm.native.js +1 -1
- package/dist/esm/FrappeForm.native.js.map +1 -1
- package/dist/esm/FrappeGantt.mjs +27 -36
- package/dist/esm/FrappeGantt.mjs.map +1 -1
- package/dist/esm/FrappeGantt.native.js +29 -40
- package/dist/esm/FrappeGantt.native.js.map +1 -1
- package/dist/esm/FrappeImageView.mjs +5 -3
- package/dist/esm/FrappeImageView.mjs.map +1 -1
- package/dist/esm/FrappeImageView.native.js +9 -5
- package/dist/esm/FrappeImageView.native.js.map +1 -1
- package/dist/esm/FrappeKPICard.mjs +27 -2
- package/dist/esm/FrappeKPICard.mjs.map +1 -1
- package/dist/esm/FrappeKPICard.native.js +27 -2
- package/dist/esm/FrappeKPICard.native.js.map +1 -1
- package/dist/esm/FrappeKanban.mjs +16 -17
- package/dist/esm/FrappeKanban.mjs.map +1 -1
- package/dist/esm/FrappeKanban.native.js +18 -21
- package/dist/esm/FrappeKanban.native.js.map +1 -1
- package/dist/esm/FrappeLikedBy.mjs +1 -1
- package/dist/esm/FrappeLikedBy.mjs.map +1 -1
- package/dist/esm/FrappeLikedBy.native.js +1 -1
- package/dist/esm/FrappeLikedBy.native.js.map +1 -1
- package/dist/esm/FrappeList.mjs +2 -2
- package/dist/esm/FrappeList.mjs.map +1 -1
- package/dist/esm/FrappeList.native.js +2 -2
- package/dist/esm/FrappeList.native.js.map +1 -1
- package/dist/esm/FrappeListView.native.js.map +1 -1
- package/dist/esm/FrappeProvider.mjs.map +1 -1
- package/dist/esm/FrappeProvider.native.js.map +1 -1
- package/dist/esm/FrappeReconnectIndicator.native.js.map +1 -1
- package/dist/esm/FrappeReportBuilder.mjs +2 -2
- package/dist/esm/FrappeReportBuilder.mjs.map +1 -1
- package/dist/esm/FrappeReportBuilder.native.js +2 -2
- package/dist/esm/FrappeReportBuilder.native.js.map +1 -1
- package/dist/esm/FrappeReportView.native.js.map +1 -1
- package/dist/esm/FrappeTable.mjs +36 -39
- package/dist/esm/FrappeTable.mjs.map +1 -1
- package/dist/esm/FrappeTable.native.js +39 -40
- package/dist/esm/FrappeTable.native.js.map +1 -1
- package/dist/esm/FrappeTreeView.mjs +89 -55
- package/dist/esm/FrappeTreeView.mjs.map +1 -1
- package/dist/esm/FrappeTreeView.native.js +133 -55
- package/dist/esm/FrappeTreeView.native.js.map +1 -1
- package/dist/esm/SyncErrorNotice.native.js.map +1 -1
- package/dist/esm/commentActions.mjs +1 -1
- package/dist/esm/commentActions.mjs.map +1 -1
- package/dist/esm/commentActions.native.js +1 -1
- package/dist/esm/commentActions.native.js.map +1 -1
- package/dist/esm/components/attachments.native.js.map +1 -1
- package/dist/esm/components/tags.native.js.map +1 -1
- package/dist/esm/components/timeline.mjs +1 -1
- package/dist/esm/components/timeline.mjs.map +1 -1
- package/dist/esm/components/timeline.native.js +1 -1
- package/dist/esm/components/timeline.native.js.map +1 -1
- package/dist/esm/dependsOn.native.js.map +1 -1
- package/dist/esm/desk/DeskFormPage.native.js.map +1 -1
- package/dist/esm/desk/DeskFormSidebar.native.js.map +1 -1
- package/dist/esm/desk/DeskListPage.native.js.map +1 -1
- package/dist/esm/desk/DeskShell.mjs +2 -0
- package/dist/esm/desk/DeskShell.mjs.map +1 -1
- package/dist/esm/desk/DeskShell.native.js +2 -0
- package/dist/esm/desk/DeskShell.native.js.map +1 -1
- package/dist/esm/desk/DeskSidebar.native.js.map +1 -1
- package/dist/esm/desk/awesomebar.mjs +1 -1
- package/dist/esm/desk/awesomebar.mjs.map +1 -1
- package/dist/esm/desk/awesomebar.native.js +1 -1
- package/dist/esm/desk/awesomebar.native.js.map +1 -1
- package/dist/esm/fieldOverrides.native.js.map +1 -1
- package/dist/esm/fieldRegistry.native.js.map +1 -1
- package/dist/esm/fields/Barcode/index.native.js.map +1 -1
- package/dist/esm/fields/Check/index.native.js.map +1 -1
- package/dist/esm/fields/CodeEditor/index.native.js.map +1 -1
- package/dist/esm/fields/Color/index.native.js.map +1 -1
- package/dist/esm/fields/Data/index.native.js.map +1 -1
- package/dist/esm/fields/Date/sheetKeyboard.native.js.map +1 -1
- package/dist/esm/fields/Date/types.native.js.map +1 -1
- package/dist/esm/fields/Date/wire.native.js.map +1 -1
- package/dist/esm/fields/DateRange/index.native.js.map +1 -1
- package/dist/esm/fields/Duration/index.native.js.map +1 -1
- package/dist/esm/fields/DynamicLink.native.js.map +1 -1
- package/dist/esm/fields/FileUpload.native.js.map +1 -1
- package/dist/esm/fields/FileUploadField/index.native.js.map +1 -1
- package/dist/esm/fields/Geolocation/index.native.js.map +1 -1
- package/dist/esm/fields/HTML/index.native.js.map +1 -1
- package/dist/esm/fields/Heading/index.native.js.map +1 -1
- package/dist/esm/fields/Icon/index.native.js.map +1 -1
- package/dist/esm/fields/Link.native.js.map +1 -1
- package/dist/esm/fields/LinkTree.native.js.map +1 -1
- package/dist/esm/fields/LongText/index.native.js.map +1 -1
- package/dist/esm/fields/MentionInput/index.mjs +4 -1
- package/dist/esm/fields/MentionInput/index.mjs.map +1 -1
- package/dist/esm/fields/MentionInput/index.native.js +4 -1
- package/dist/esm/fields/MentionInput/index.native.js.map +1 -1
- package/dist/esm/fields/Numeric/index.native.js.map +1 -1
- package/dist/esm/fields/OTPInput/index.native.js.map +1 -1
- package/dist/esm/fields/Password/index.native.js.map +1 -1
- package/dist/esm/fields/Phone/index.native.js.map +1 -1
- package/dist/esm/fields/Progress/index.native.js.map +1 -1
- package/dist/esm/fields/RadioGroup/index.native.js.map +1 -1
- package/dist/esm/fields/Rating/index.native.js.map +1 -1
- package/dist/esm/fields/ReadOnly/index.native.js.map +1 -1
- package/dist/esm/fields/Select/index.native.js.map +1 -1
- package/dist/esm/fields/Signature/index.native.js.map +1 -1
- package/dist/esm/fields/Slider/index.native.js.map +1 -1
- package/dist/esm/fields/SmallText/index.native.js.map +1 -1
- package/dist/esm/fields/Switch/index.native.js.map +1 -1
- package/dist/esm/fields/TableMultiSelect.native.js.map +1 -1
- package/dist/esm/fields/TextEditor/types.native.js.map +1 -1
- package/dist/esm/fields/TimePicker/index.native.js.map +1 -1
- package/dist/esm/fields/ToggleGroup/index.native.js.map +1 -1
- package/dist/esm/fields/shared/EditorPreviewPanes.native.js.map +1 -1
- package/dist/esm/filterFields.native.js.map +1 -1
- package/dist/esm/formEngine/createPrefill.native.js.map +1 -1
- package/dist/esm/formEngine/dirtyTracking.native.js.map +1 -1
- package/dist/esm/formEngine/doctypeMeta.native.js.map +1 -1
- package/dist/esm/formEngine/fetchFrom.native.js.map +1 -1
- package/dist/esm/formEngine/fieldPermissions.native.js.map +1 -1
- package/dist/esm/formEngine/formActions.native.js.map +1 -1
- package/dist/esm/formEngine/formLayout.native.js.map +1 -1
- package/dist/esm/formEngine/index.native.js.map +1 -1
- package/dist/esm/formEngine/useFormEngine.native.js.map +1 -1
- package/dist/esm/frappeEventColor.native.js.map +1 -1
- package/dist/esm/frappeStoryTarget.native.js.map +1 -1
- package/dist/esm/frappeUsers.native.js.map +1 -1
- package/dist/esm/index.mjs +2 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +2 -1
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/liveErrors.native.js.map +1 -1
- package/dist/esm/resolveControl.native.js.map +1 -1
- package/dist/esm/schemaForm/SchemaWizard.native.js.map +1 -1
- package/dist/esm/schemaForm/applyFieldOrder.native.js.map +1 -1
- package/dist/esm/schemaForm/index.mjs +8 -7
- package/dist/esm/schemaForm/index.mjs.map +1 -1
- package/dist/esm/schemaForm/index.native.js +8 -7
- package/dist/esm/schemaForm/index.native.js.map +1 -1
- package/dist/esm/shared/devWarn.mjs +14 -0
- package/dist/esm/shared/devWarn.mjs.map +1 -0
- package/dist/esm/shared/devWarn.native.js +16 -0
- package/dist/esm/shared/devWarn.native.js.map +1 -0
- package/dist/esm/shared/useKeyboardInset.native.js.map +1 -1
- package/dist/esm/syncError.native.js.map +1 -1
- package/dist/esm/useFrappeAggregate.mjs +15 -8
- package/dist/esm/useFrappeAggregate.mjs.map +1 -1
- package/dist/esm/useFrappeAggregate.native.js +15 -9
- package/dist/esm/useFrappeAggregate.native.js.map +1 -1
- package/dist/esm/useFrappeFacets.mjs +10 -9
- package/dist/esm/useFrappeFacets.mjs.map +1 -1
- package/dist/esm/useFrappeFacets.native.js +10 -10
- package/dist/esm/useFrappeFacets.native.js.map +1 -1
- package/dist/esm/useFrappePagination.native.js.map +1 -1
- package/dist/esm/useFrappeRows.mjs +86 -0
- package/dist/esm/useFrappeRows.mjs.map +1 -0
- package/dist/esm/useFrappeRows.native.js +99 -0
- package/dist/esm/useFrappeRows.native.js.map +1 -0
- package/dist/jsx/FrappeCalendar.mjs +20 -17
- package/dist/jsx/FrappeCalendar.mjs.map +1 -1
- package/dist/jsx/FrappeCalendar.native.js +22 -21
- package/dist/jsx/FrappeCalendar.native.js.map +1 -1
- package/dist/jsx/FrappeForm.mjs +1 -1
- package/dist/jsx/FrappeForm.mjs.map +1 -1
- package/dist/jsx/FrappeForm.native.js +1 -1
- package/dist/jsx/FrappeForm.native.js.map +1 -1
- package/dist/jsx/FrappeGantt.mjs +27 -36
- package/dist/jsx/FrappeGantt.mjs.map +1 -1
- package/dist/jsx/FrappeGantt.native.js +27 -38
- package/dist/jsx/FrappeGantt.native.js.map +1 -1
- package/dist/jsx/FrappeImageView.mjs +5 -3
- package/dist/jsx/FrappeImageView.mjs.map +1 -1
- package/dist/jsx/FrappeImageView.native.js +8 -4
- package/dist/jsx/FrappeImageView.native.js.map +1 -1
- package/dist/jsx/FrappeKPICard.mjs +27 -2
- package/dist/jsx/FrappeKPICard.mjs.map +1 -1
- package/dist/jsx/FrappeKPICard.native.js +26 -1
- package/dist/jsx/FrappeKPICard.native.js.map +1 -1
- package/dist/jsx/FrappeKanban.mjs +16 -17
- package/dist/jsx/FrappeKanban.mjs.map +1 -1
- package/dist/jsx/FrappeKanban.native.js +18 -21
- package/dist/jsx/FrappeKanban.native.js.map +1 -1
- package/dist/jsx/FrappeLikedBy.mjs +1 -1
- package/dist/jsx/FrappeLikedBy.mjs.map +1 -1
- package/dist/jsx/FrappeLikedBy.native.js +1 -1
- package/dist/jsx/FrappeLikedBy.native.js.map +1 -1
- package/dist/jsx/FrappeList.mjs +2 -2
- package/dist/jsx/FrappeList.mjs.map +1 -1
- package/dist/jsx/FrappeList.native.js +2 -2
- package/dist/jsx/FrappeList.native.js.map +1 -1
- package/dist/jsx/FrappeProvider.mjs.map +1 -1
- package/dist/jsx/FrappeProvider.native.js.map +1 -1
- package/dist/jsx/FrappeReportBuilder.mjs +2 -2
- package/dist/jsx/FrappeReportBuilder.mjs.map +1 -1
- package/dist/jsx/FrappeReportBuilder.native.js +2 -2
- package/dist/jsx/FrappeReportBuilder.native.js.map +1 -1
- package/dist/jsx/FrappeTable.mjs +36 -39
- package/dist/jsx/FrappeTable.mjs.map +1 -1
- package/dist/jsx/FrappeTable.native.js +38 -39
- package/dist/jsx/FrappeTable.native.js.map +1 -1
- package/dist/jsx/FrappeTreeView.mjs +89 -55
- package/dist/jsx/FrappeTreeView.mjs.map +1 -1
- package/dist/jsx/FrappeTreeView.native.js +129 -50
- package/dist/jsx/FrappeTreeView.native.js.map +1 -1
- package/dist/jsx/commentActions.mjs +1 -1
- package/dist/jsx/commentActions.mjs.map +1 -1
- package/dist/jsx/commentActions.native.js +1 -1
- package/dist/jsx/commentActions.native.js.map +1 -1
- package/dist/jsx/components/timeline.mjs +1 -1
- package/dist/jsx/components/timeline.mjs.map +1 -1
- package/dist/jsx/components/timeline.native.js +1 -1
- package/dist/jsx/desk/DeskShell.mjs +2 -0
- package/dist/jsx/desk/DeskShell.mjs.map +1 -1
- package/dist/jsx/desk/DeskShell.native.js +2 -0
- package/dist/jsx/desk/DeskShell.native.js.map +1 -1
- package/dist/jsx/desk/awesomebar.mjs +1 -1
- package/dist/jsx/desk/awesomebar.mjs.map +1 -1
- package/dist/jsx/desk/awesomebar.native.js +1 -1
- package/dist/jsx/desk/awesomebar.native.js.map +1 -1
- package/dist/jsx/fields/MentionInput/index.mjs +4 -1
- package/dist/jsx/fields/MentionInput/index.mjs.map +1 -1
- package/dist/jsx/fields/MentionInput/index.native.js +4 -1
- package/dist/jsx/fields/MentionInput/index.native.js.map +1 -1
- package/dist/jsx/index.js +2 -1
- package/dist/jsx/index.js.map +1 -1
- package/dist/jsx/index.mjs +2 -1
- package/dist/jsx/index.mjs.map +1 -1
- package/dist/jsx/index.native.js +4 -0
- package/dist/jsx/index.native.js.map +1 -1
- package/dist/jsx/schemaForm/index.mjs +8 -7
- package/dist/jsx/schemaForm/index.mjs.map +1 -1
- package/dist/jsx/schemaForm/index.native.js +10 -9
- package/dist/jsx/schemaForm/index.native.js.map +1 -1
- package/dist/jsx/shared/devWarn.mjs +14 -0
- package/dist/jsx/shared/devWarn.mjs.map +1 -0
- package/dist/jsx/shared/devWarn.native.js +45 -0
- package/dist/jsx/shared/devWarn.native.js.map +1 -0
- package/dist/jsx/useFrappeAggregate.mjs +15 -8
- package/dist/jsx/useFrappeAggregate.mjs.map +1 -1
- package/dist/jsx/useFrappeAggregate.native.js +15 -9
- package/dist/jsx/useFrappeAggregate.native.js.map +1 -1
- package/dist/jsx/useFrappeFacets.mjs +10 -9
- package/dist/jsx/useFrappeFacets.mjs.map +1 -1
- package/dist/jsx/useFrappeFacets.native.js +10 -10
- package/dist/jsx/useFrappeFacets.native.js.map +1 -1
- package/dist/jsx/useFrappeRows.mjs +86 -0
- package/dist/jsx/useFrappeRows.mjs.map +1 -0
- package/dist/jsx/useFrappeRows.native.js +129 -0
- package/dist/jsx/useFrappeRows.native.js.map +1 -0
- package/package.json +17 -16
- package/src/FileBrowser/FileBrowser.spec.tsx +11 -1
- package/src/FrappeCalendar.tsx +25 -22
- package/src/FrappeForm.tsx +7 -3
- package/src/FrappeGantt.tsx +29 -39
- package/src/FrappeImageView.tsx +5 -3
- package/src/FrappeKPICard.spec.tsx +128 -0
- package/src/FrappeKPICard.tsx +44 -4
- package/src/FrappeKanban.tsx +24 -17
- package/src/FrappeLikedBy.tsx +1 -1
- package/src/FrappeList.tsx +3 -2
- package/src/FrappeProvider.fixturesOnly.spec.tsx +129 -0
- package/src/FrappeProvider.tsx +16 -6
- package/src/FrappeReportBuilder.tsx +4 -2
- package/src/FrappeTable.autoHeight.spec.tsx +142 -0
- package/src/FrappeTable.rowAccumulator.spec.tsx +110 -0
- package/src/FrappeTable.tsx +75 -48
- package/src/FrappeTreeView.stories.tsx +59 -0
- package/src/FrappeTreeView.tsx +166 -56
- package/src/commentActions.ts +1 -1
- package/src/components/timeline.tsx +1 -1
- package/src/desk/DeskShell.tsx +2 -0
- package/src/desk/awesomebar.tsx +5 -2
- package/src/fields/CodeEditor/CodeEditor.spec.tsx +10 -9
- package/src/fields/Date/typeParity.spec.tsx +19 -9
- package/src/fields/Duration/Duration.spec.tsx +73 -0
- package/src/fields/MentionInput/MentionInput.spec.tsx +110 -0
- package/src/fields/MentionInput/index.tsx +4 -1
- package/src/fields/Password/index.tsx +1 -1
- package/src/fields/Progress/Progress.spec.tsx +9 -0
- package/src/fields/RadioGroup/RadioGroup.spec.tsx +93 -0
- package/src/fields/Signature/Signature.spec.tsx +105 -0
- package/src/fields/Slider/Slider.spec.tsx +73 -0
- package/src/fields/Switch/Switch.spec.tsx +65 -0
- package/src/fields/TextEditor/TextEditor.spec.tsx +2 -3
- package/src/fields/TextEditor/TextEditor.stories.tsx +31 -1
- package/src/fields/ToggleGroup/ToggleGroup.spec.tsx +110 -0
- package/src/frappeViews.designLaw.spec.ts +11 -7
- package/src/index.ts +13 -0
- package/src/schemaForm/index.tsx +6 -7
- package/src/shared/devWarn.ts +42 -0
- package/src/useFrappeAggregate.ts +17 -11
- package/src/useFrappeFacets.ts +17 -10
- package/src/useFrappeRows.spec.tsx +176 -0
- package/src/useFrappeRows.ts +293 -0
- package/types/FrappeCalendar.d.ts.map +1 -1
- package/types/FrappeForm.d.ts +6 -2
- package/types/FrappeForm.d.ts.map +1 -1
- package/types/FrappeGantt.d.ts.map +1 -1
- package/types/FrappeImageView.d.ts.map +1 -1
- package/types/FrappeKPICard.d.ts +9 -1
- package/types/FrappeKPICard.d.ts.map +1 -1
- package/types/FrappeKanban.d.ts.map +1 -1
- package/types/FrappeList.d.ts.map +1 -1
- package/types/FrappeProvider.d.ts +16 -6
- package/types/FrappeProvider.d.ts.map +1 -1
- package/types/FrappeReportBuilder.d.ts.map +1 -1
- package/types/FrappeTable.d.ts +20 -1
- package/types/FrappeTable.d.ts.map +1 -1
- package/types/FrappeTreeView.d.ts +38 -1
- package/types/FrappeTreeView.d.ts.map +1 -1
- package/types/desk/DeskShell.d.ts.map +1 -1
- package/types/desk/awesomebar.d.ts.map +1 -1
- package/types/fields/MentionInput/index.d.ts.map +1 -1
- package/types/fields/Password/index.d.ts +1 -1
- package/types/fields/Password/index.d.ts.map +1 -1
- package/types/index.d.ts +1 -0
- package/types/index.d.ts.map +1 -1
- package/types/schemaForm/index.d.ts.map +1 -1
- package/types/shared/devWarn.d.ts +23 -0
- package/types/shared/devWarn.d.ts.map +1 -0
- package/types/useFrappeAggregate.d.ts +2 -1
- package/types/useFrappeAggregate.d.ts.map +1 -1
- package/types/useFrappeFacets.d.ts +2 -1
- package/types/useFrappeFacets.d.ts.map +1 -1
- package/types/useFrappeRows.d.ts +186 -0
- package/types/useFrappeRows.d.ts.map +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","FrappeTable_exports","FrappeTable","filterValueToFrappeTuple","module","exports","import_jsx_runtime","require","import_frappe","import_table","import_components","import_theme","import_react","import_react_i18next","import_tamagui","import_table2","import_FrappeProvider","import_FrappeReconnectIndicator","import_filterFields","import_liveErrors","_instanceof","left","right","Symbol","hasInstance","_type_of","obj","constructor","fieldname","filterValue","operator","values","wrap","wrap2","pattern","includes","length","isOperatorFilterValue","sortRowsLocally","rows","orderBy","sort","a","b","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","field","order","av","bv","Order","Asc","err","return","stateToFrappeParams","state","pagination","sorting","filters","columnFilters","globalFilter","limitStart","pageIndex","pageSize","limit","frappeFilters","f","_f_value","tuple","columnId","push","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","cf","tuple1","id","trim","map","s","Desc","param","baseURL","auth","syncOptions","doctype","columns","fields","initialFilters","onRowClick","loading","error","savedFilters","canCreateGlobalFilters","userId","serverSide","onStateChange","onStateChangeProp","refreshToken","paginationMode","loadPage","loadPageProp","filterableFields","filterableFieldsProp","layout","dataTableProps","infiniteServerMode","knobProps","useResolvedKnobs","t","useTranslation","errorState","setErrorState","default","useState","activeFilters","setActiveFilters","config","useFrappeConfig","filtersPropKey","JSON","stringify","adoptedFiltersPropRef","useRef","useEffect","current","parse","finalBaseURL","finalAuth","finalSyncOptions","Error","connectionConfig","useMemo","socketPort","siteName","socketBaseURL","realtime","fixtures","frappeApp","FrappeApp","meta","useDocTypeMeta","metaFilterFields","docFieldsToFilterFields","titleField","title_field","rowLabel","useCallback","row","fromTitle","String","serverData","setServerData","serverRowCount","setServerRowCount","serverLoading","setServerLoading","hasLoadedOnce","setHasLoadedOnce","hasLoadedOnceRef","lastFetchKey","fetchSeq","fetchAbortRef","lastStateRef","lastFiltersKey","lastSortKey","lastGoodServerRows","fetchServerData","_params_orderBy","_fetchAbortRef_current","params","filtersKey","sortKey","alreadyLoaded","filtersChanged","sortChanged","previous","_params_orderBy2","narrowed","filter","matchesFilters","abort","controller","AbortController","seq","data","count","Promise","db","getDocList","signal","getCount","aborted","liveRefetchTimer","useFrappeDoctypeEvents","clearTimeout","setTimeout","refreshTokenSeen","frappeLoadPage","query","rows2","resolve","totalCount","resolvedLoadPage","handleStateChange","_lastStateRef_current","columnVisibility","columnOrder","c","_c_id","columnSizing","savedFiltersHook","useSavedFilters","handleSyncError","toLiveLoadError","permissionMessage","genericMessage","collection","useFrappeCollection","onSyncError","rawData","isLoading","isRowsLoading","isError","isLiveError","useLiveQuery","q","_list","clientRows","lastGoodClientRows","clientRowsResolved","held","serverRowsResolved","isRowsLoadingResolved","isFetching","prev","handleSelectFilter","handleSelectFilter2","handleSaveFilter","handleSaveFilter2","filterName","isGlobal","filterArray","Array","isArray","entries","param2","saveFilter","handleDeleteFilter","handleDeleteFilter2","deleteFilter","jsx","Fragment","children","rowData","boundaryState","empty","jsxs","YStack","gap","flex","FrappeReconnectIndicator","AsyncBoundary","errorTitle","emptyTitle","XStack","padding","SavedFilterDropdown","selectedFilter","onSelectFilter","onDeleteFilter","FilterManager","currentFilters","onSaveFilter","canCreateGlobal","DataTable","onRowPress","manualFiltering","manualPagination","manualSorting","rowCount"],"sources":["FrappeTable.native.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar FrappeTable_exports = {};\n__export(FrappeTable_exports, {\n FrappeTable: () => FrappeTable,\n filterValueToFrappeTuple: () => filterValueToFrappeTuple\n});\nmodule.exports = __toCommonJS(FrappeTable_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_frappe = require(\"@multiplatform.one/frappe\");\nvar import_table = require(\"@multiplatform.one/table\");\nvar import_components = require(\"@multiplatform.one/components\");\nvar import_theme = require(\"@multiplatform.one/theme\");\nvar import_react = __toESM(require(\"react\"));\nvar import_react_i18next = require(\"react-i18next\");\nvar import_tamagui = require(\"tamagui\");\nvar import_table2 = require(\"@multiplatform.one/table\");\nvar import_FrappeProvider = require(\"./FrappeProvider\");\nvar import_FrappeReconnectIndicator = require(\"./FrappeReconnectIndicator\");\nvar import_filterFields = require(\"./filterFields\");\nvar import_liveErrors = require(\"./liveErrors\");\nfunction _instanceof(left, right) {\n \"@swc/helpers - instanceof\";\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return !!right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n}\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nfunction filterValueToFrappeTuple(fieldname, filterValue) {\n var { operator, value, values } = filterValue;\n var wrap = function wrap2(pattern) {\n return typeof value === \"string\" && value.includes(\"%\") ? value : pattern;\n };\n switch (operator) {\n case \"isEmpty\":\n return [\n fieldname,\n \"is\",\n \"not set\"\n ];\n case \"isNotEmpty\":\n return [\n fieldname,\n \"is\",\n \"set\"\n ];\n case \"isAnyOf\":\n return (values === null || values === void 0 ? void 0 : values.length) ? [\n fieldname,\n \"in\",\n values\n ] : null;\n case \"isNoneOf\":\n return (values === null || values === void 0 ? void 0 : values.length) ? [\n fieldname,\n \"not in\",\n values\n ] : null;\n case \"isBetween\":\n return (values === null || values === void 0 ? void 0 : values.length) === 2 ? [\n fieldname,\n \"between\",\n values\n ] : null;\n }\n if (value == null || value === \"\") return null;\n switch (operator) {\n case \"contains\":\n return [\n fieldname,\n \"like\",\n wrap(`%${value}%`)\n ];\n case \"doesNotContain\":\n return [\n fieldname,\n \"not like\",\n wrap(`%${value}%`)\n ];\n case \"startsWith\":\n return [\n fieldname,\n \"like\",\n wrap(`${value}%`)\n ];\n case \"endsWith\":\n return [\n fieldname,\n \"like\",\n wrap(`%${value}`)\n ];\n case \"is\":\n return [\n fieldname,\n \"=\",\n value\n ];\n case \"isNot\":\n return [\n fieldname,\n \"!=\",\n value\n ];\n case \"isLessThan\":\n case \"isBefore\":\n return [\n fieldname,\n \"<\",\n value\n ];\n case \"isGreaterThan\":\n case \"isAfter\":\n return [\n fieldname,\n \">\",\n value\n ];\n case \"isLessThanOrEqual\":\n case \"isOnOrBefore\":\n return [\n fieldname,\n \"<=\",\n value\n ];\n case \"isGreaterThanOrEqual\":\n case \"isOnOrAfter\":\n return [\n fieldname,\n \">=\",\n value\n ];\n default:\n return [\n fieldname,\n \"=\",\n value\n ];\n }\n}\nfunction isOperatorFilterValue(value) {\n return (typeof value === \"undefined\" ? \"undefined\" : _type_of(value)) === \"object\" && value !== null && typeof value.operator === \"string\";\n}\nfunction sortRowsLocally(rows, orderBy) {\n if (!(orderBy === null || orderBy === void 0 ? void 0 : orderBy.length)) return rows;\n return [\n ...rows\n ].sort(function(a, b) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = orderBy[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var { field, order } = _step.value;\n var av = a[field];\n var bv = b[field];\n if (av == null && bv == null) continue;\n if (av == null) return order === import_frappe.Order.Asc ? -1 : 1;\n if (bv == null) return order === import_frappe.Order.Asc ? 1 : -1;\n if (av < bv) return order === import_frappe.Order.Asc ? -1 : 1;\n if (av > bv) return order === import_frappe.Order.Asc ? 1 : -1;\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return 0;\n });\n}\nfunction stateToFrappeParams(state) {\n var { pagination, sorting, filters, columnFilters, globalFilter } = state;\n var limitStart = pagination.pageIndex * pagination.pageSize;\n var limit = pagination.pageSize;\n var frappeFilters = [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = (filters !== null && filters !== void 0 ? filters : [])[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var f = _step.value;\n var _f_value;\n if (!((_f_value = f.value) === null || _f_value === void 0 ? void 0 : _f_value.operator)) continue;\n var tuple = filterValueToFrappeTuple(f.columnId, f.value);\n if (tuple) frappeFilters.push(tuple);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = (columnFilters !== null && columnFilters !== void 0 ? columnFilters : [])[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var cf = _step1.value;\n if (isOperatorFilterValue(cf.value)) {\n var tuple1 = filterValueToFrappeTuple(cf.id, cf.value);\n if (tuple1) frappeFilters.push(tuple1);\n } else if (cf.value != null && cf.value !== \"\") {\n frappeFilters.push([\n cf.id,\n \"=\",\n cf.value\n ]);\n }\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n if (globalFilter && typeof globalFilter === \"string\" && globalFilter.trim()) {\n frappeFilters.push([\n \"name\",\n \"like\",\n `%${globalFilter}%`\n ]);\n }\n var orderBy = (sorting === null || sorting === void 0 ? void 0 : sorting.length) && sorting[0] ? sorting.map(function(s) {\n return {\n field: s.id,\n order: s.desc ? import_frappe.Order.Desc : import_frappe.Order.Asc\n };\n }) : void 0;\n return {\n limitStart,\n limit,\n filters: frappeFilters,\n orderBy\n };\n}\nfunction FrappeTable(param) {\n var { baseURL, auth, syncOptions, doctype, columns, fields, filters: initialFilters, onRowClick, loading, error, savedFilters = false, canCreateGlobalFilters = false, userId, serverSide = false, onStateChange: onStateChangeProp, refreshToken, paginationMode = \"pages\", loadPage: loadPageProp, filterableFields: filterableFieldsProp, layout, ...dataTableProps } = param;\n var infiniteServerMode = serverSide && paginationMode === \"infinite\";\n var { knobProps } = (0, import_theme.useResolvedKnobs)();\n var { t } = (0, import_react_i18next.useTranslation)();\n var [errorState, setErrorState] = import_react.default.useState(null);\n var [activeFilters, setActiveFilters] = import_react.default.useState(initialFilters);\n var config = (0, import_FrappeProvider.useFrappeConfig)();\n var filtersPropKey = initialFilters !== void 0 ? JSON.stringify(initialFilters) : void 0;\n var adoptedFiltersPropRef = (0, import_react.useRef)(filtersPropKey);\n (0, import_react.useEffect)(function() {\n if (filtersPropKey === void 0) return;\n if (adoptedFiltersPropRef.current === filtersPropKey) return;\n adoptedFiltersPropRef.current = filtersPropKey;\n setActiveFilters(JSON.parse(filtersPropKey));\n }, [\n filtersPropKey\n ]);\n var finalBaseURL = baseURL !== null && baseURL !== void 0 ? baseURL : config === null || config === void 0 ? void 0 : config.baseURL;\n var finalAuth = auth !== null && auth !== void 0 ? auth : config === null || config === void 0 ? void 0 : config.auth;\n var finalSyncOptions = syncOptions !== null && syncOptions !== void 0 ? syncOptions : config === null || config === void 0 ? void 0 : config.syncOptions;\n if (!finalBaseURL) {\n throw new Error(\"FrappeTable requires baseURL prop or FrappeProvider with baseURL\");\n }\n var connectionConfig = (0, import_react.useMemo)(function() {\n return {\n baseURL: finalBaseURL,\n socketPort: config === null || config === void 0 ? void 0 : config.socketPort,\n siteName: config === null || config === void 0 ? void 0 : config.siteName,\n socketBaseURL: config === null || config === void 0 ? void 0 : config.socketBaseURL,\n auth: finalAuth,\n syncOptions: finalSyncOptions,\n realtime: config === null || config === void 0 ? void 0 : config.realtime,\n fixtures: config === null || config === void 0 ? void 0 : config.fixtures\n };\n }, [\n finalBaseURL,\n config === null || config === void 0 ? void 0 : config.socketPort,\n config === null || config === void 0 ? void 0 : config.siteName,\n config === null || config === void 0 ? void 0 : config.socketBaseURL,\n config === null || config === void 0 ? void 0 : config.realtime,\n finalAuth,\n finalSyncOptions,\n config === null || config === void 0 ? void 0 : config.fixtures\n ]);\n var frappeApp = (0, import_react.useMemo)(function() {\n if (!serverSide || !finalBaseURL) return null;\n return new import_frappe.FrappeApp(finalBaseURL, finalAuth !== null && finalAuth !== void 0 ? finalAuth : {});\n }, [\n serverSide,\n finalBaseURL,\n finalAuth\n ]);\n var { meta } = (0, import_frappe.useDocTypeMeta)(filterableFieldsProp ? void 0 : connectionConfig, doctype);\n var metaFilterFields = (0, import_react.useMemo)(function() {\n return (meta === null || meta === void 0 ? void 0 : meta.fields) ? (0, import_filterFields.docFieldsToFilterFields)(meta.fields) : void 0;\n }, [\n meta\n ]);\n var filterableFields = filterableFieldsProp !== null && filterableFieldsProp !== void 0 ? filterableFieldsProp : metaFilterFields;\n var titleField = meta === null || meta === void 0 ? void 0 : meta.title_field;\n var rowLabel = (0, import_react.useCallback)(function(row) {\n var fromTitle = titleField ? row[titleField] : void 0;\n if (typeof fromTitle === \"string\" && fromTitle) return fromTitle;\n if (typeof fromTitle === \"number\") return String(fromTitle);\n return typeof row.name === \"string\" ? row.name : \"\";\n }, [\n titleField\n ]);\n var [serverData, setServerData] = (0, import_react.useState)([]);\n var [serverRowCount, setServerRowCount] = (0, import_react.useState)(0);\n var [serverLoading, setServerLoading] = (0, import_react.useState)(serverSide);\n var [hasLoadedOnce, setHasLoadedOnce] = (0, import_react.useState)(false);\n var hasLoadedOnceRef = (0, import_react.useRef)(false);\n var lastFetchKey = (0, import_react.useRef)(\"\");\n var fetchSeq = (0, import_react.useRef)(0);\n var fetchAbortRef = (0, import_react.useRef)(null);\n var lastStateRef = (0, import_react.useRef)(null);\n var lastFiltersKey = (0, import_react.useRef)(\"\");\n var lastSortKey = (0, import_react.useRef)(\"\");\n var lastGoodServerRows = (0, import_react.useRef)([]);\n var fetchServerData = (0, import_react.useCallback)(async function(state) {\n var _params_orderBy;\n var _fetchAbortRef_current;\n if (!frappeApp || !serverSide) return;\n lastStateRef.current = state;\n var params = stateToFrappeParams(state);\n var key = JSON.stringify(params);\n if (key === lastFetchKey.current) return;\n lastFetchKey.current = key;\n var filtersKey = JSON.stringify(params.filters);\n var sortKey = JSON.stringify((_params_orderBy = params.orderBy) !== null && _params_orderBy !== void 0 ? _params_orderBy : []);\n var alreadyLoaded = lastFiltersKey.current !== \"\" || lastGoodServerRows.current.length > 0;\n if (alreadyLoaded) {\n var filtersChanged = filtersKey !== lastFiltersKey.current;\n var sortChanged = sortKey !== lastSortKey.current;\n if (filtersChanged || sortChanged) {\n setServerData(function(previous) {\n var _params_orderBy2;\n var next = previous;\n if (filtersChanged && params.filters.length > 0) {\n var narrowed = previous.filter(function(row) {\n return (0, import_frappe.matchesFilters)(row, params.filters);\n });\n if (narrowed.length > 0) next = narrowed;\n }\n if (sortChanged && ((_params_orderBy2 = params.orderBy) === null || _params_orderBy2 === void 0 ? void 0 : _params_orderBy2.length)) {\n next = sortRowsLocally(next, params.orderBy);\n }\n return next;\n });\n }\n }\n lastFiltersKey.current = filtersKey;\n lastSortKey.current = sortKey;\n (_fetchAbortRef_current = fetchAbortRef.current) === null || _fetchAbortRef_current === void 0 ? void 0 : _fetchAbortRef_current.abort();\n var controller = new AbortController();\n fetchAbortRef.current = controller;\n var seq = ++fetchSeq.current;\n setServerLoading(true);\n try {\n var [data, count] = await Promise.all([\n frappeApp.db().getDocList(doctype, {\n fields: fields !== null && fields !== void 0 ? fields : [\n \"name\"\n ],\n filters: params.filters.length ? params.filters : void 0,\n limitStart: params.limitStart,\n limit: params.limit,\n orderBy: params.orderBy,\n signal: controller.signal\n }),\n frappeApp.db().getCount(doctype, params.filters.length ? params.filters : void 0, void 0, void 0, controller.signal)\n ]);\n if (seq !== fetchSeq.current) return;\n setServerData(data);\n setServerRowCount(count);\n lastGoodServerRows.current = data;\n setErrorState(null);\n } catch (err) {\n if (seq !== fetchSeq.current) return;\n if (controller.signal.aborted) return;\n setErrorState(_instanceof(err, Error) ? err : new Error(String(err)));\n if (!hasLoadedOnceRef.current) {\n setServerData([]);\n setServerRowCount(0);\n }\n } finally {\n if (seq === fetchSeq.current && !controller.signal.aborted) {\n setServerLoading(false);\n hasLoadedOnceRef.current = true;\n setHasLoadedOnce(true);\n }\n }\n }, [\n frappeApp,\n serverSide,\n doctype,\n fields\n ]);\n var liveRefetchTimer = (0, import_react.useRef)(null);\n (0, import_frappe.useFrappeDoctypeEvents)(connectionConfig, doctype, function() {\n if (liveRefetchTimer.current) clearTimeout(liveRefetchTimer.current);\n liveRefetchTimer.current = setTimeout(function() {\n lastFetchKey.current = \"\";\n if (lastStateRef.current) fetchServerData(lastStateRef.current);\n }, 250);\n }, serverSide && !infiniteServerMode);\n (0, import_react.useEffect)(function() {\n return function() {\n var _fetchAbortRef_current;\n if (liveRefetchTimer.current) clearTimeout(liveRefetchTimer.current);\n (_fetchAbortRef_current = fetchAbortRef.current) === null || _fetchAbortRef_current === void 0 ? void 0 : _fetchAbortRef_current.abort();\n };\n }, []);\n var refreshTokenSeen = (0, import_react.useRef)(refreshToken);\n (0, import_react.useEffect)(function() {\n if (refreshTokenSeen.current === refreshToken) return;\n refreshTokenSeen.current = refreshToken;\n if (!serverSide || infiniteServerMode) return;\n lastFetchKey.current = \"\";\n if (lastStateRef.current) fetchServerData(lastStateRef.current);\n }, [\n refreshToken,\n serverSide,\n infiniteServerMode,\n fetchServerData\n ]);\n var frappeLoadPage = (0, import_react.useCallback)(async function(query) {\n if (!frappeApp) return {\n rows: []\n };\n var params = stateToFrappeParams({\n pagination: {\n pageIndex: query.pageIndex,\n pageSize: query.pageSize\n },\n sorting: query.sorting,\n filters: query.filters,\n columnFilters: query.columnFilters,\n globalFilter: query.globalFilter\n });\n var [rows2, count] = await Promise.all([\n frappeApp.db().getDocList(doctype, {\n fields: fields !== null && fields !== void 0 ? fields : [\n \"name\"\n ],\n filters: params.filters.length ? params.filters : void 0,\n limitStart: params.limitStart,\n limit: params.limit,\n orderBy: params.orderBy\n }),\n query.pageIndex === 0 ? frappeApp.db().getCount(doctype, params.filters.length ? params.filters : void 0) : Promise.resolve(void 0)\n ]);\n return {\n rows: rows2,\n totalCount: count !== null && count !== void 0 ? count : void 0\n };\n }, [\n frappeApp,\n doctype,\n fields\n ]);\n var resolvedLoadPage = loadPageProp !== null && loadPageProp !== void 0 ? loadPageProp : infiniteServerMode ? frappeLoadPage : void 0;\n var handleStateChange = (0, import_react.useCallback)(function(state) {\n onStateChangeProp === null || onStateChangeProp === void 0 ? void 0 : onStateChangeProp(state);\n if (serverSide && !infiniteServerMode) fetchServerData(state);\n }, [\n onStateChangeProp,\n serverSide,\n infiniteServerMode,\n fetchServerData\n ]);\n (0, import_react.useEffect)(function() {\n if (serverSide && !infiniteServerMode && frappeApp) {\n var _lastStateRef_current;\n lastFetchKey.current = \"\";\n fetchServerData((_lastStateRef_current = lastStateRef.current) !== null && _lastStateRef_current !== void 0 ? _lastStateRef_current : {\n data: [],\n columns,\n pagination: {\n pageIndex: 0,\n pageSize: 10\n },\n sorting: [],\n filters: [],\n columnFilters: [],\n columnVisibility: {},\n columnOrder: columns.map(function(c) {\n var _c_id;\n return (_c_id = c.id) !== null && _c_id !== void 0 ? _c_id : \"\";\n }),\n columnSizing: {}\n });\n }\n }, [\n serverSide,\n infiniteServerMode,\n !!frappeApp,\n fetchServerData\n ]);\n var savedFiltersHook = (0, import_table2.useSavedFilters)({\n userId\n });\n var handleSyncError = (0, import_react.useCallback)(function(err) {\n setErrorState((0, import_liveErrors.toLiveLoadError)(err, {\n permissionMessage: t(\"You do not have permission to view {{doctype}}\", {\n doctype\n }),\n genericMessage: t(\"Error loading {{doctype}}\", {\n doctype\n })\n }));\n }, [\n doctype,\n t\n ]);\n var collection = (0, import_frappe.useFrappeCollection)(serverSide ? void 0 : connectionConfig, serverSide ? \"\" : doctype, serverSide ? void 0 : {\n fields,\n filters: activeFilters,\n onSyncError: handleSyncError\n });\n var { data: rawData, isLoading: isRowsLoading, isError: isLiveError } = (0, import_frappe.useLiveQuery)(function(q) {\n return collection ? q.from({\n _list: collection\n }) : null;\n }, [\n collection\n ]);\n var clientRows = (0, import_react.useMemo)(function() {\n return rawData !== null && rawData !== void 0 ? rawData : [];\n }, [\n rawData\n ]);\n var lastGoodClientRows = (0, import_react.useRef)(null);\n if (!serverSide && !isRowsLoading) lastGoodClientRows.current = clientRows;\n var clientRowsResolved = (0, import_react.useMemo)(function() {\n if (serverSide) return clientRows;\n if (!isRowsLoading || !lastGoodClientRows.current) return clientRows;\n var held = lastGoodClientRows.current;\n if (!activeFilters) return held;\n var narrowed = held.filter(function(row) {\n return (0, import_frappe.matchesFilters)(row, activeFilters);\n });\n return narrowed.length > 0 ? narrowed : held;\n }, [\n serverSide,\n clientRows,\n isRowsLoading,\n activeFilters\n ]);\n var serverRowsResolved = serverSide && serverLoading && serverData.length === 0 && lastGoodServerRows.current.length > 0 ? lastGoodServerRows.current : serverData;\n var rows = serverSide ? serverRowsResolved : clientRowsResolved;\n var isRowsLoadingResolved = serverSide ? infiniteServerMode ? false : serverLoading && !hasLoadedOnce : isRowsLoading && lastGoodClientRows.current === null;\n var isFetching = serverSide ? !infiniteServerMode && serverLoading && hasLoadedOnce : isRowsLoading && lastGoodClientRows.current !== null;\n (0, import_react.useEffect)(function() {\n if (!serverSide) setErrorState(null);\n }, [\n collection,\n serverSide\n ]);\n (0, import_react.useEffect)(function() {\n if (serverSide || !isLiveError) return;\n setErrorState(function(prev) {\n return prev !== null && prev !== void 0 ? prev : new Error(t(\"Failed to load {{doctype}}\", {\n doctype\n }));\n });\n }, [\n serverSide,\n isLiveError,\n doctype,\n t\n ]);\n var handleSelectFilter = function handleSelectFilter2(filter) {\n if (filter) {\n setActiveFilters(filter.filters);\n } else {\n setActiveFilters(initialFilters);\n }\n };\n var handleSaveFilter = async function handleSaveFilter2(filterName, isGlobal) {\n if (!savedFiltersHook || !activeFilters) return;\n var filterArray = Array.isArray(activeFilters) ? activeFilters : Object.entries(activeFilters).map(function(param2) {\n var [key, value] = param2;\n return [\n key,\n \"=\",\n value\n ];\n });\n await savedFiltersHook.saveFilter(filterName, filterArray, isGlobal);\n };\n var handleDeleteFilter = async function handleDeleteFilter2(name) {\n if (!savedFiltersHook) return;\n await savedFiltersHook.deleteFilter(name);\n };\n if (errorState && error) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {\n children: error(errorState)\n });\n }\n var rowData = rows !== null && rows !== void 0 ? rows : [];\n var boundaryState = errorState ? {\n error: errorState\n } : isRowsLoadingResolved ? {\n loading: loading !== null && loading !== void 0 ? loading : true\n } : rowData.length === 0 && !infiniteServerMode && !isFetching ? {\n empty: true\n } : null;\n if (boundaryState) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {\n ...knobProps.gap,\n flex: 1,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_FrappeReconnectIndicator.FrappeReconnectIndicator, {\n config: connectionConfig\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.AsyncBoundary, {\n layout: layout === \"list\" || layout === \"cards\" ? \"list\" : \"table\",\n errorTitle: t(\"Error loading {{doctype}}\", {\n doctype\n }),\n emptyTitle: t(\"No {{doctype}} records found\", {\n doctype\n }),\n ...boundaryState\n })\n ]\n });\n }\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {\n ...knobProps.gap,\n flex: 1,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_FrappeReconnectIndicator.FrappeReconnectIndicator, {\n config: connectionConfig\n }),\n savedFilters && savedFiltersHook && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {\n ...knobProps.gap,\n padding: \"$2\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_table2.SavedFilterDropdown, {\n filters: savedFiltersHook.filters,\n selectedFilter: null,\n onSelectFilter: handleSelectFilter,\n onDeleteFilter: handleDeleteFilter\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_table2.FilterManager, {\n currentFilters: Array.isArray(activeFilters) ? activeFilters : activeFilters ? Object.entries(activeFilters).map(function(param2) {\n var [key, value] = param2;\n return [\n key,\n \"=\",\n value\n ];\n }) : [],\n onSaveFilter: handleSaveFilter,\n canCreateGlobal: canCreateGlobalFilters\n })\n ]\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_table.DataTable, {\n data: rowData,\n columns,\n // onRowClick (the stable FrappeTable prop name) rides DataTable's\n // first-class row activation: whole-row press target, roving tab\n // stop (LC-49), Enter/Space activation (LC-50), inner interactive\n // controls win. rowLabel names each pressable row and its\n // selection checkbox by document identity. Both spread BEFORE\n // {...dataTableProps} so an explicit consumer onRowPress/rowLabel\n // still ejects (consumer-last house rule).\n ...onRowClick ? {\n onRowPress: function onRowPress(row) {\n return onRowClick(row);\n }\n } : {},\n rowLabel,\n ...serverSide && {\n manualFiltering: true,\n manualPagination: true,\n manualSorting: true,\n onStateChange: handleStateChange,\n ...infiniteServerMode ? {} : {\n rowCount: serverRowCount\n }\n },\n paginationMode,\n ...resolvedLoadPage ? {\n loadPage: resolvedLoadPage\n } : {},\n ...filterableFields ? {\n filterableFields\n } : {},\n isFetching,\n ...dataTableProps,\n ...layout ? {\n layout\n } : {}\n })\n ]\n });\n}\n//# sourceMappingURL=FrappeTable.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","FrappeTable_exports","__export","FrappeTable","filterValueToFrappeTuple","module","exports","import_jsx_runtime","require","import_frappe","import_table","import_components","import_theme","import_react","__toESM","import_react_i18next","import_tamagui","import_table2","import_FrappeProvider","import_FrappeReconnectIndicator","import_filterFields","import_useFrappeRows","_instanceof","left","right","Symbol","hasInstance","_type_of","obj","constructor","fieldname","filterValue","operator","values","wrap","wrap2","pattern","includes","length","isOperatorFilterValue","sortRowsLocally","rows","orderBy","sort","a","b","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","field","order","av","bv","Order","Asc","err","return","stateToFrappeParams","state","pagination","sorting","filters","columnFilters","globalFilter","limitStart","pageIndex","pageSize","limit","frappeFilters","f","_f_value","tuple","columnId","push","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","cf","tuple1","id","trim","map","s","desc","Desc","param","baseURL","auth","syncOptions","doctype","columns","fields","initialFilters","onRowClick","loading","error","savedFilters","canCreateGlobalFilters","userId","serverSide","onStateChange","onStateChangeProp","refreshToken","paginationMode","loadPage","loadPageProp","filterableFields","filterableFieldsProp","layout","dataTableProps","infiniteServerMode","knobProps","useResolvedKnobs","t","useTranslation","errorState","setErrorState","default","useState","activeFilters","setActiveFilters","config","useFrappeConfig","filtersPropKey","JSON","stringify","adoptedFiltersPropRef","useRef","useEffect","current","parse","finalBaseURL","finalAuth","finalSyncOptions","fixtures","Error","connectionConfig","useMemo","socketPort","siteName","socketBaseURL","realtime","frappeApp","FrappeApp","meta","useDocTypeMeta","metaFilterFields","docFieldsToFilterFields","titleField","title_field","rowLabel","useCallback","row","fromTitle","String","name","serverData","setServerData","serverRowCount","setServerRowCount","serverLoading","setServerLoading","hasLoadedOnce","setHasLoadedOnce","hasLoadedOnceRef","lastFetchKey","fetchSeq","fetchAbortRef","lastStateRef","lastFiltersKey","lastSortKey","lastGoodServerRows","fetchServerData","_params_orderBy","_fetchAbortRef_current","params","key","filtersKey","sortKey","alreadyLoaded","filtersChanged","sortChanged","previous","_params_orderBy2","narrowed","filter","matchesFilters","abort","controller","AbortController","seq","data","count","Promise","all","db","getDocList","signal","getCount","aborted","liveRefetchTimer","useFrappeDoctypeEvents","clearTimeout","setTimeout","refreshTokenSeen","frappeLoadPage","query","rows2","resolve","totalCount","resolvedLoadPage","handleStateChange","_lastStateRef_current","columnVisibility","columnOrder","c"],"sources":["../../src/FrappeTable.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -23,6 +23,7 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
|
23
23
|
var FrappeTreeView_exports = {};
|
|
24
24
|
__export(FrappeTreeView_exports, {
|
|
25
25
|
FrappeTreeView: () => FrappeTreeView,
|
|
26
|
+
buildPathTreeNodes: () => buildPathTreeNodes,
|
|
26
27
|
buildTreeNodes: () => buildTreeNodes
|
|
27
28
|
});
|
|
28
29
|
module.exports = __toCommonJS(FrappeTreeView_exports);
|
|
@@ -36,7 +37,7 @@ var import_theme = require("@multiplatform.one/theme");
|
|
|
36
37
|
var import_forms = require("@multiplatform.one/forms");
|
|
37
38
|
var import_FrappeProvider = require("./FrappeProvider.cjs");
|
|
38
39
|
var import_FrappeReconnectIndicator = require("./FrappeReconnectIndicator.cjs");
|
|
39
|
-
var
|
|
40
|
+
var import_useFrappeRows = require("./useFrappeRows.cjs");
|
|
40
41
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
41
42
|
function isRootParent(value) {
|
|
42
43
|
return value == null || value === "";
|
|
@@ -76,14 +77,56 @@ function buildTreeNodes(docs, parentField, titleField) {
|
|
|
76
77
|
};
|
|
77
78
|
return sortDocs(roots).map(buildNode);
|
|
78
79
|
}
|
|
80
|
+
function buildPathTreeNodes(docs, pathField, separator) {
|
|
81
|
+
const roots = /* @__PURE__ */new Map();
|
|
82
|
+
const splitPath = doc => {
|
|
83
|
+
const raw = doc[pathField];
|
|
84
|
+
const value = raw == null ? "" : String(raw);
|
|
85
|
+
const segments = separator ? value.split(separator) : [value];
|
|
86
|
+
const cleaned = segments.map(segment => segment.trim()).filter(segment => segment !== "");
|
|
87
|
+
return cleaned.length > 0 ? cleaned : [doc.name];
|
|
88
|
+
};
|
|
89
|
+
for (const doc of docs) {
|
|
90
|
+
let level = roots;
|
|
91
|
+
let prefix = "";
|
|
92
|
+
let bucket;
|
|
93
|
+
for (const segment of splitPath(doc)) {
|
|
94
|
+
prefix = prefix ? `${prefix}${separator}${segment}` : segment;
|
|
95
|
+
bucket = level.get(segment);
|
|
96
|
+
if (!bucket) {
|
|
97
|
+
bucket = {
|
|
98
|
+
path: prefix,
|
|
99
|
+
segment,
|
|
100
|
+
children: /* @__PURE__ */new Map()
|
|
101
|
+
};
|
|
102
|
+
level.set(segment, bucket);
|
|
103
|
+
}
|
|
104
|
+
level = bucket.children;
|
|
105
|
+
}
|
|
106
|
+
if (bucket && !bucket.doc) bucket.doc = doc;
|
|
107
|
+
}
|
|
108
|
+
const toNodes = level => Array.from(level.values()).sort((a, b) => a.segment.localeCompare(b.segment)).map(bucket => {
|
|
109
|
+
const children = toNodes(bucket.children);
|
|
110
|
+
return {
|
|
111
|
+
id: bucket.path,
|
|
112
|
+
label: bucket.segment,
|
|
113
|
+
data: bucket.doc,
|
|
114
|
+
children: children.length > 0 ? children : void 0
|
|
115
|
+
};
|
|
116
|
+
});
|
|
117
|
+
return toNodes(roots);
|
|
118
|
+
}
|
|
79
119
|
function FrappeTreeView({
|
|
80
120
|
doctype,
|
|
81
121
|
parentField: parentFieldProp,
|
|
122
|
+
pathSeparator,
|
|
123
|
+
pathField,
|
|
82
124
|
titleField: titleFieldProp,
|
|
83
125
|
valueField,
|
|
84
126
|
fields,
|
|
85
127
|
filters,
|
|
86
128
|
onNodeClick,
|
|
129
|
+
onPathSelect,
|
|
87
130
|
enableDragDrop: _enableDragDrop = false,
|
|
88
131
|
expandByDefault = false,
|
|
89
132
|
display = "default",
|
|
@@ -99,6 +142,7 @@ function FrappeTreeView({
|
|
|
99
142
|
const {
|
|
100
143
|
knobProps
|
|
101
144
|
} = (0, import_theme.useResolvedKnobs)();
|
|
145
|
+
const emptyIconColor = (0, import_theme.useGlyphColor)(import_forms.formCommonColors.muted);
|
|
102
146
|
const {
|
|
103
147
|
t
|
|
104
148
|
} = (0, import_react_i18next.useTranslation)();
|
|
@@ -106,8 +150,8 @@ function FrappeTreeView({
|
|
|
106
150
|
const finalBaseURL = baseURL ?? config?.baseURL;
|
|
107
151
|
const finalAuth = auth ?? config?.auth;
|
|
108
152
|
const finalSyncOptions = syncOptions ?? config?.syncOptions;
|
|
109
|
-
if (!finalBaseURL) {
|
|
110
|
-
throw new Error("FrappeTreeView requires baseURL prop or FrappeProvider with baseURL");
|
|
153
|
+
if (!finalBaseURL && !config?.fixtures) {
|
|
154
|
+
throw new Error("FrappeTreeView requires baseURL prop or FrappeProvider with baseURL or fixtures");
|
|
111
155
|
}
|
|
112
156
|
const appConfig = (0, import_react2.useMemo)(() => ({
|
|
113
157
|
baseURL: finalBaseURL,
|
|
@@ -124,54 +168,50 @@ function FrappeTreeView({
|
|
|
124
168
|
isLoading: isMetaLoading,
|
|
125
169
|
error: metaError
|
|
126
170
|
} = (0, import_frappe.useDocTypeMeta)(appConfig, doctype);
|
|
171
|
+
const isPathMode = !!pathSeparator;
|
|
172
|
+
const effectivePathField = pathField ?? "name";
|
|
127
173
|
const effectiveTitleField = titleFieldProp ?? meta?.title_field ?? "name";
|
|
128
174
|
const effectiveParentField = parentFieldProp ?? `parent_${doctype.toLowerCase().replace(/ /g, "_")}`;
|
|
129
|
-
const isKnownNotTree = !!meta && !meta.is_tree;
|
|
130
|
-
const canProceed = !!meta?.is_tree || !!metaError && !meta && !!parentFieldProp;
|
|
175
|
+
const isKnownNotTree = !isPathMode && !!meta && !meta.is_tree;
|
|
176
|
+
const canProceed = isPathMode || !!meta?.is_tree || !!metaError && !meta && !!parentFieldProp;
|
|
131
177
|
const effectiveFields = (0, import_react2.useMemo)(() => {
|
|
132
178
|
const fieldSet = new Set(fields);
|
|
133
179
|
fieldSet.add("name");
|
|
134
|
-
|
|
135
|
-
|
|
180
|
+
if (isPathMode) {
|
|
181
|
+
fieldSet.add(effectivePathField);
|
|
182
|
+
} else {
|
|
183
|
+
fieldSet.add(effectiveTitleField);
|
|
184
|
+
fieldSet.add(effectiveParentField);
|
|
185
|
+
}
|
|
136
186
|
if (valueField) fieldSet.add(valueField);
|
|
137
187
|
return Array.from(fieldSet);
|
|
138
|
-
}, [fields, effectiveTitleField, effectiveParentField, valueField]);
|
|
139
|
-
const
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
188
|
+
}, [fields, isPathMode, effectivePathField, effectiveTitleField, effectiveParentField, valueField]);
|
|
189
|
+
const rowsMessages = (0, import_react2.useMemo)(() => ({
|
|
190
|
+
permission: t("You do not have permission to view {{doctype}}", {
|
|
191
|
+
doctype
|
|
192
|
+
}),
|
|
193
|
+
generic: t("Failed to load {{doctype}} tree", {
|
|
194
|
+
doctype
|
|
195
|
+
})
|
|
196
|
+
}), [doctype, t]);
|
|
197
|
+
const {
|
|
198
|
+
rows: docs,
|
|
199
|
+
isQueryLoading: isDataLoading,
|
|
200
|
+
error: queryError
|
|
201
|
+
} = (0, import_useFrappeRows.useFrappeRows)(appConfig, doctype, {
|
|
151
202
|
fields: effectiveFields,
|
|
152
203
|
filters,
|
|
153
|
-
|
|
204
|
+
limit: null,
|
|
205
|
+
enabled: canProceed && !isKnownNotTree,
|
|
206
|
+
messages: rowsMessages
|
|
154
207
|
});
|
|
155
|
-
(0, import_react2.
|
|
156
|
-
setSyncError(null);
|
|
157
|
-
}, [collection]);
|
|
158
|
-
const {
|
|
159
|
-
data: rawData,
|
|
160
|
-
isLoading: isDataLoading,
|
|
161
|
-
isError
|
|
162
|
-
} = (0, import_frappe.useLiveQuery)(q => collection ? q.from({
|
|
163
|
-
_list: collection
|
|
164
|
-
}) : null, [collection]);
|
|
165
|
-
const docs = (0, import_react2.useMemo)(() => rawData ?? [], [rawData]);
|
|
166
|
-
const treeNodes = (0, import_react2.useMemo)(() => buildTreeNodes(docs, effectiveParentField, effectiveTitleField), [docs, effectiveParentField, effectiveTitleField]);
|
|
167
|
-
const queryError = syncError ?? (isError ? new Error(t("Failed to load {{doctype}} tree", {
|
|
168
|
-
doctype
|
|
169
|
-
})) : null);
|
|
208
|
+
const treeNodes = (0, import_react2.useMemo)(() => pathSeparator ? buildPathTreeNodes(docs, effectivePathField, pathSeparator) : buildTreeNodes(docs, effectiveParentField, effectiveTitleField), [docs, pathSeparator, effectivePathField, effectiveParentField, effectiveTitleField]);
|
|
170
209
|
const handleNodeSelect = (0, import_react2.useCallback)(node => {
|
|
171
210
|
setSelectedId(node.id);
|
|
211
|
+
if (isPathMode) onPathSelect?.(node.id, node.data);
|
|
172
212
|
if (!node.data) return;
|
|
173
213
|
onNodeClick?.(node.data);
|
|
174
|
-
}, [onNodeClick]);
|
|
214
|
+
}, [isPathMode, onNodeClick, onPathSelect]);
|
|
175
215
|
if (isMetaLoading) {
|
|
176
216
|
if (loading) return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {
|
|
177
217
|
children: loading
|
|
@@ -182,7 +222,7 @@ function FrappeTreeView({
|
|
|
182
222
|
...stackProps
|
|
183
223
|
});
|
|
184
224
|
}
|
|
185
|
-
if (metaError && !meta && !parentFieldProp) {
|
|
225
|
+
if (metaError && !meta && !parentFieldProp && !isPathMode) {
|
|
186
226
|
if (error) return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {
|
|
187
227
|
children: error(metaError)
|
|
188
228
|
});
|
|
@@ -197,19 +237,14 @@ function FrappeTreeView({
|
|
|
197
237
|
}
|
|
198
238
|
if (isKnownNotTree) {
|
|
199
239
|
const iconSize = Number(knobProps.controlIcon?.width) || 16;
|
|
200
|
-
return /* @__PURE__ */(0, import_jsx_runtime.
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
...stackProps,
|
|
205
|
-
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.TreeStructureIcon, {
|
|
240
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.EmptyState, {
|
|
241
|
+
title: t("This DocType does not support tree view"),
|
|
242
|
+
description: t("Pass pathSeparator and pathField to build the hierarchy from a path-shaped value on each row. parentField alone does not, because a flat DocType has no parent field."),
|
|
243
|
+
icon: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.TreeStructureIcon, {
|
|
206
244
|
size: iconSize * 2,
|
|
207
|
-
color:
|
|
208
|
-
}),
|
|
209
|
-
|
|
210
|
-
...knobProps.body,
|
|
211
|
-
children: t("This DocType does not support tree view")
|
|
212
|
-
})]
|
|
245
|
+
color: emptyIconColor
|
|
246
|
+
}),
|
|
247
|
+
...stackProps
|
|
213
248
|
});
|
|
214
249
|
}
|
|
215
250
|
if (queryError) {
|