@multiplatform.one/frappe-ui 7.28.0 → 7.29.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.cjs +20 -3
- package/dist/cjs/FileBrowser/index.native.js +20 -3
- 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 +3 -2
- package/dist/cjs/FrappeCalendar.native.js +3 -2
- 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 +148 -464
- package/dist/cjs/FrappeForm.native.js +153 -634
- package/dist/cjs/FrappeForm.native.js.map +1 -1
- package/dist/cjs/FrappeFormActions.native.js.map +1 -1
- package/dist/cjs/FrappeFormConnections.native.js.map +1 -1
- package/dist/cjs/FrappeGantt.native.js.map +1 -1
- package/dist/cjs/FrappeImageView.native.js.map +1 -1
- package/dist/cjs/FrappeInsights.native.js.map +1 -1
- package/dist/cjs/FrappeKPICard.native.js.map +1 -1
- package/dist/cjs/FrappeKanban.native.js.map +1 -1
- package/dist/cjs/FrappeLikedBy.native.js.map +1 -1
- package/dist/cjs/FrappeList.native.js.map +1 -1
- package/dist/cjs/FrappeListView.cjs +5 -27
- package/dist/cjs/FrappeListView.native.js +11 -32
- package/dist/cjs/FrappeListView.native.js.map +1 -1
- package/dist/cjs/FrappeNotConfigured.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/FrappeRecordView.native.js.map +1 -1
- package/dist/cjs/FrappeReportBuilder.cjs +523 -309
- package/dist/cjs/FrappeReportBuilder.native.js +658 -353
- package/dist/cjs/FrappeReportBuilder.native.js.map +1 -1
- package/dist/cjs/FrappeReportView.cjs +35 -234
- package/dist/cjs/FrappeReportView.native.js +42 -286
- package/dist/cjs/FrappeReportView.native.js.map +1 -1
- package/dist/cjs/FrappeRowsReader.native.js.map +1 -1
- package/dist/cjs/FrappeTable.native.js.map +1 -1
- package/dist/cjs/FrappeTreeView.native.js.map +1 -1
- package/dist/cjs/SyncErrorNotice.native.js.map +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.native.js.map +1 -1
- package/dist/cjs/dependsOn.cjs +2 -2
- package/dist/cjs/dependsOn.native.js +1 -2
- 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.native.js.map +1 -1
- package/dist/cjs/desk/DeskSidebar.native.js.map +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.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.cjs +2 -2
- package/dist/cjs/fields/shared/EditorPreviewPanes.native.js +2 -2
- 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/docLifecycle.native.js.map +1 -1
- package/dist/cjs/formEngine/docPermissions.cjs +20 -0
- package/dist/cjs/formEngine/docPermissions.native.js +69 -0
- package/dist/cjs/formEngine/docPermissions.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.cjs +2 -0
- package/dist/cjs/formEngine/index.native.js +2 -0
- package/dist/cjs/formEngine/index.native.js.map +1 -1
- package/dist/cjs/formEngine/useAmendedAs.native.js.map +1 -1
- package/dist/cjs/formEngine/useDocRights.native.js.map +1 -1
- package/dist/cjs/formEngine/useFormEngine.native.js.map +1 -1
- package/dist/cjs/formEngine/useSessionRoles.native.js.map +1 -1
- package/dist/cjs/frappeConnections.native.js.map +1 -1
- package/dist/cjs/frappeEventColor.native.js.map +1 -1
- package/dist/cjs/frappeNavigation.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 +67 -7
- package/dist/cjs/index.native.js +101 -41
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/insights/InsightsFacetTags.native.js.map +1 -1
- package/dist/cjs/insights/InsightsKpiBand.native.js.map +1 -1
- package/dist/cjs/insights/InsightsLeaders.native.js.map +1 -1
- package/dist/cjs/insights/InsightsRecords.native.js.map +1 -1
- package/dist/cjs/insights/InsightsTable.native.js.map +1 -1
- package/dist/cjs/insights/insightsData.native.js.map +1 -1
- package/dist/cjs/insights/insightsRecord.native.js.map +1 -1
- package/dist/cjs/list/FacetBadge.native.js.map +1 -1
- package/dist/cjs/list/FacetRail.native.js.map +1 -1
- package/dist/cjs/list/ImageWell.native.js.map +1 -1
- package/dist/cjs/list/ListControls.native.js.map +1 -1
- package/dist/cjs/list/ListToastHost.native.js.map +1 -1
- package/dist/cjs/list/RangeFilter.native.js.map +1 -1
- package/dist/cjs/list/ShufflePanel.native.js.map +1 -1
- package/dist/cjs/list/facetReading.native.js.map +1 -1
- package/dist/cjs/list/favorites.native.js.map +1 -1
- package/dist/cjs/list/listColumns.native.js.map +1 -1
- package/dist/cjs/list/listFields.native.js.map +1 -1
- package/dist/cjs/list/listFormat.native.js.map +1 -1
- package/dist/cjs/list/listState.native.js.map +1 -1
- package/dist/cjs/list/recordLook.native.js.map +1 -1
- package/dist/cjs/list/statusColors.native.js.map +1 -1
- package/dist/cjs/list/useListControls.native.js.map +1 -1
- package/dist/cjs/liveErrors.cjs +8 -2
- package/dist/cjs/liveErrors.native.js +8 -2
- package/dist/cjs/liveErrors.native.js.map +1 -1
- package/dist/cjs/measures.cjs +31 -0
- package/dist/cjs/measures.native.js +34 -0
- package/dist/cjs/measures.native.js.map +1 -0
- package/dist/cjs/record/RecordBars.native.js.map +1 -1
- package/dist/cjs/record/RecordGallery.native.js.map +1 -1
- package/dist/cjs/record/RecordHero.native.js.map +1 -1
- package/dist/cjs/record/RecordPage.native.js.map +1 -1
- package/dist/cjs/record/RecordPager.native.js.map +1 -1
- package/dist/cjs/record/RecordRows.native.js.map +1 -1
- package/dist/cjs/record/recordData.native.js.map +1 -1
- package/dist/cjs/record/recordSections.native.js.map +1 -1
- package/dist/cjs/recordShape.cjs +103 -0
- package/dist/cjs/recordShape.native.js +115 -0
- package/dist/cjs/recordShape.native.js.map +1 -0
- package/dist/cjs/report/ReportGrid.cjs +453 -0
- package/dist/cjs/report/ReportGrid.native.js +510 -0
- package/dist/cjs/report/ReportGrid.native.js.map +1 -0
- package/dist/cjs/report/ReportViewToolbar.cjs +253 -0
- package/dist/cjs/report/ReportViewToolbar.native.js +303 -0
- package/dist/cjs/report/ReportViewToolbar.native.js.map +1 -0
- package/dist/cjs/report/queryReport.cjs +444 -0
- package/dist/cjs/report/queryReport.native.js +588 -0
- package/dist/cjs/report/queryReport.native.js.map +1 -0
- package/dist/cjs/report/queryReportColumns.cjs +131 -0
- package/dist/cjs/report/queryReportColumns.native.js +159 -0
- package/dist/cjs/report/queryReportColumns.native.js.map +1 -0
- package/dist/cjs/report/reportViewModel.cjs +386 -0
- package/dist/cjs/report/reportViewModel.native.js +657 -0
- package/dist/cjs/report/reportViewModel.native.js.map +1 -0
- package/dist/cjs/report/savedReports.cjs +137 -0
- package/dist/cjs/report/savedReports.native.js +169 -0
- package/dist/cjs/report/savedReports.native.js.map +1 -0
- package/dist/cjs/report/useFrappeReport.cjs +184 -0
- package/dist/cjs/report/useFrappeReport.native.js +214 -0
- package/dist/cjs/report/useFrappeReport.native.js.map +1 -0
- package/dist/cjs/report/useQueryReport.cjs +201 -0
- package/dist/cjs/report/useQueryReport.native.js +233 -0
- package/dist/cjs/report/useQueryReport.native.js.map +1 -0
- 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.native.js +1 -1
- package/dist/cjs/schemaForm/index.native.js.map +1 -1
- package/dist/cjs/shared/devWarn.native.js.map +1 -1
- package/dist/cjs/shared/useKeyboardInset.native.js.map +1 -1
- package/dist/cjs/syncError.native.js.map +1 -1
- package/dist/cjs/useConnectionFilters.native.js.map +1 -1
- package/dist/cjs/useFrappeAggregate.native.js.map +1 -1
- package/dist/cjs/useFrappeFacets.native.js.map +1 -1
- package/dist/cjs/useFrappeForm.cjs +558 -0
- package/dist/cjs/useFrappeForm.native.js +714 -0
- package/dist/cjs/useFrappeForm.native.js.map +1 -0
- package/dist/cjs/useFrappePagination.native.js.map +1 -1
- package/dist/cjs/useFrappeRows.native.js.map +1 -1
- 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.mjs +20 -3
- package/dist/esm/FileBrowser/index.mjs.map +1 -1
- package/dist/esm/FileBrowser/index.native.js +20 -3
- 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 +4 -3
- package/dist/esm/FrappeCalendar.mjs.map +1 -1
- package/dist/esm/FrappeCalendar.native.js +4 -3
- 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 +151 -467
- package/dist/esm/FrappeForm.mjs.map +1 -1
- package/dist/esm/FrappeForm.native.js +155 -636
- package/dist/esm/FrappeForm.native.js.map +1 -1
- package/dist/esm/FrappeFormActions.native.js.map +1 -1
- package/dist/esm/FrappeFormConnections.native.js.map +1 -1
- package/dist/esm/FrappeGantt.native.js.map +1 -1
- package/dist/esm/FrappeImageView.native.js.map +1 -1
- package/dist/esm/FrappeInsights.native.js.map +1 -1
- package/dist/esm/FrappeKPICard.native.js.map +1 -1
- package/dist/esm/FrappeKanban.native.js.map +1 -1
- package/dist/esm/FrappeLikedBy.native.js.map +1 -1
- package/dist/esm/FrappeList.native.js.map +1 -1
- package/dist/esm/FrappeListView.mjs +6 -28
- package/dist/esm/FrappeListView.mjs.map +1 -1
- package/dist/esm/FrappeListView.native.js +12 -33
- package/dist/esm/FrappeListView.native.js.map +1 -1
- package/dist/esm/FrappeNotConfigured.native.js.map +1 -1
- package/dist/esm/FrappeProvider.native.js.map +1 -1
- package/dist/esm/FrappeReconnectIndicator.native.js.map +1 -1
- package/dist/esm/FrappeRecordView.native.js.map +1 -1
- package/dist/esm/FrappeReportBuilder.mjs +526 -312
- package/dist/esm/FrappeReportBuilder.mjs.map +1 -1
- package/dist/esm/FrappeReportBuilder.native.js +661 -356
- package/dist/esm/FrappeReportBuilder.native.js.map +1 -1
- package/dist/esm/FrappeReportView.mjs +30 -229
- package/dist/esm/FrappeReportView.mjs.map +1 -1
- package/dist/esm/FrappeReportView.native.js +34 -278
- package/dist/esm/FrappeReportView.native.js.map +1 -1
- package/dist/esm/FrappeRowsReader.native.js.map +1 -1
- package/dist/esm/FrappeTable.native.js.map +1 -1
- package/dist/esm/FrappeTreeView.native.js.map +1 -1
- package/dist/esm/SyncErrorNotice.native.js.map +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.native.js.map +1 -1
- package/dist/esm/dependsOn.mjs +2 -2
- package/dist/esm/dependsOn.mjs.map +1 -1
- package/dist/esm/dependsOn.native.js +1 -2
- 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.native.js.map +1 -1
- package/dist/esm/desk/DeskSidebar.native.js.map +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.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.mjs +2 -2
- package/dist/esm/fields/shared/EditorPreviewPanes.mjs.map +1 -1
- package/dist/esm/fields/shared/EditorPreviewPanes.native.js +2 -2
- 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/docLifecycle.native.js.map +1 -1
- package/dist/esm/formEngine/docPermissions.mjs +19 -1
- package/dist/esm/formEngine/docPermissions.mjs.map +1 -1
- package/dist/esm/formEngine/docPermissions.native.js +68 -1
- package/dist/esm/formEngine/docPermissions.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.mjs +2 -2
- package/dist/esm/formEngine/index.mjs.map +1 -1
- package/dist/esm/formEngine/index.native.js +2 -2
- package/dist/esm/formEngine/index.native.js.map +1 -1
- package/dist/esm/formEngine/useAmendedAs.native.js.map +1 -1
- package/dist/esm/formEngine/useDocRights.native.js.map +1 -1
- package/dist/esm/formEngine/useFormEngine.native.js.map +1 -1
- package/dist/esm/formEngine/useSessionRoles.native.js.map +1 -1
- package/dist/esm/frappeConnections.native.js.map +1 -1
- package/dist/esm/frappeEventColor.native.js.map +1 -1
- package/dist/esm/frappeNavigation.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 +16 -4
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +16 -4
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/insights/InsightsFacetTags.native.js.map +1 -1
- package/dist/esm/insights/InsightsKpiBand.native.js.map +1 -1
- package/dist/esm/insights/InsightsLeaders.native.js.map +1 -1
- package/dist/esm/insights/InsightsRecords.native.js.map +1 -1
- package/dist/esm/insights/InsightsTable.native.js.map +1 -1
- package/dist/esm/insights/insightsData.native.js.map +1 -1
- package/dist/esm/insights/insightsRecord.native.js.map +1 -1
- package/dist/esm/list/FacetBadge.native.js.map +1 -1
- package/dist/esm/list/FacetRail.native.js.map +1 -1
- package/dist/esm/list/ImageWell.native.js.map +1 -1
- package/dist/esm/list/ListControls.native.js.map +1 -1
- package/dist/esm/list/ListToastHost.native.js.map +1 -1
- package/dist/esm/list/RangeFilter.native.js.map +1 -1
- package/dist/esm/list/ShufflePanel.native.js.map +1 -1
- package/dist/esm/list/facetReading.native.js.map +1 -1
- package/dist/esm/list/favorites.native.js.map +1 -1
- package/dist/esm/list/listColumns.native.js.map +1 -1
- package/dist/esm/list/listFields.native.js.map +1 -1
- package/dist/esm/list/listFormat.native.js.map +1 -1
- package/dist/esm/list/listState.native.js.map +1 -1
- package/dist/esm/list/recordLook.native.js.map +1 -1
- package/dist/esm/list/statusColors.native.js.map +1 -1
- package/dist/esm/list/useListControls.native.js.map +1 -1
- package/dist/esm/liveErrors.mjs +8 -3
- package/dist/esm/liveErrors.mjs.map +1 -1
- package/dist/esm/liveErrors.native.js +8 -3
- package/dist/esm/liveErrors.native.js.map +1 -1
- package/dist/esm/measures.mjs +5 -0
- package/dist/esm/measures.mjs.map +1 -0
- package/dist/esm/measures.native.js +5 -0
- package/dist/esm/measures.native.js.map +1 -0
- package/dist/esm/record/RecordBars.native.js.map +1 -1
- package/dist/esm/record/RecordGallery.native.js.map +1 -1
- package/dist/esm/record/RecordHero.native.js.map +1 -1
- package/dist/esm/record/RecordPage.native.js.map +1 -1
- package/dist/esm/record/RecordPager.native.js.map +1 -1
- package/dist/esm/record/RecordRows.native.js.map +1 -1
- package/dist/esm/record/recordData.native.js.map +1 -1
- package/dist/esm/record/recordSections.native.js.map +1 -1
- package/dist/esm/recordShape.mjs +74 -0
- package/dist/esm/recordShape.mjs.map +1 -0
- package/dist/esm/recordShape.native.js +83 -0
- package/dist/esm/recordShape.native.js.map +1 -0
- package/dist/esm/report/ReportGrid.mjs +428 -0
- package/dist/esm/report/ReportGrid.mjs.map +1 -0
- package/dist/esm/report/ReportGrid.native.js +471 -0
- package/dist/esm/report/ReportGrid.native.js.map +1 -0
- package/dist/esm/report/ReportViewToolbar.mjs +228 -0
- package/dist/esm/report/ReportViewToolbar.mjs.map +1 -0
- package/dist/esm/report/ReportViewToolbar.native.js +264 -0
- package/dist/esm/report/ReportViewToolbar.native.js.map +1 -0
- package/dist/esm/report/queryReport.mjs +404 -0
- package/dist/esm/report/queryReport.mjs.map +1 -0
- package/dist/esm/report/queryReport.native.js +545 -0
- package/dist/esm/report/queryReport.native.js.map +1 -0
- package/dist/esm/report/queryReportColumns.mjs +105 -0
- package/dist/esm/report/queryReportColumns.mjs.map +1 -0
- package/dist/esm/report/queryReportColumns.native.js +119 -0
- package/dist/esm/report/queryReportColumns.native.js.map +1 -0
- package/dist/esm/report/reportViewModel.mjs +343 -0
- package/dist/esm/report/reportViewModel.mjs.map +1 -0
- package/dist/esm/report/reportViewModel.native.js +611 -0
- package/dist/esm/report/reportViewModel.native.js.map +1 -0
- package/dist/esm/report/savedReports.mjs +112 -0
- package/dist/esm/report/savedReports.mjs.map +1 -0
- package/dist/esm/report/savedReports.native.js +141 -0
- package/dist/esm/report/savedReports.native.js.map +1 -0
- package/dist/esm/report/useFrappeReport.mjs +158 -0
- package/dist/esm/report/useFrappeReport.mjs.map +1 -0
- package/dist/esm/report/useFrappeReport.native.js +185 -0
- package/dist/esm/report/useFrappeReport.native.js.map +1 -0
- package/dist/esm/report/useQueryReport.mjs +176 -0
- package/dist/esm/report/useQueryReport.mjs.map +1 -0
- package/dist/esm/report/useQueryReport.native.js +205 -0
- package/dist/esm/report/useQueryReport.native.js.map +1 -0
- 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.native.js.map +1 -1
- package/dist/esm/shared/devWarn.native.js.map +1 -1
- package/dist/esm/shared/useKeyboardInset.native.js.map +1 -1
- package/dist/esm/syncError.native.js.map +1 -1
- package/dist/esm/useConnectionFilters.native.js.map +1 -1
- package/dist/esm/useFrappeAggregate.native.js.map +1 -1
- package/dist/esm/useFrappeFacets.native.js.map +1 -1
- package/dist/esm/useFrappeForm.mjs +533 -0
- package/dist/esm/useFrappeForm.mjs.map +1 -0
- package/dist/esm/useFrappeForm.native.js +686 -0
- package/dist/esm/useFrappeForm.native.js.map +1 -0
- package/dist/esm/useFrappePagination.native.js.map +1 -1
- package/dist/esm/useFrappeRows.native.js.map +1 -1
- package/dist/jsx/FileBrowser/index.mjs +20 -3
- package/dist/jsx/FileBrowser/index.mjs.map +1 -1
- package/dist/jsx/FileBrowser/index.native.js +20 -3
- package/dist/jsx/FileBrowser/index.native.js.map +1 -1
- package/dist/jsx/FrappeCalendar.mjs +4 -3
- package/dist/jsx/FrappeCalendar.mjs.map +1 -1
- package/dist/jsx/FrappeCalendar.native.js +3 -2
- package/dist/jsx/FrappeCalendar.native.js.map +1 -1
- package/dist/jsx/FrappeForm.mjs +151 -467
- package/dist/jsx/FrappeForm.mjs.map +1 -1
- package/dist/jsx/FrappeForm.native.js +152 -633
- package/dist/jsx/FrappeForm.native.js.map +1 -1
- package/dist/jsx/FrappeListView.mjs +6 -28
- package/dist/jsx/FrappeListView.mjs.map +1 -1
- package/dist/jsx/FrappeListView.native.js +11 -32
- package/dist/jsx/FrappeListView.native.js.map +1 -1
- package/dist/jsx/FrappeReportBuilder.mjs +526 -312
- package/dist/jsx/FrappeReportBuilder.mjs.map +1 -1
- package/dist/jsx/FrappeReportBuilder.native.js +658 -353
- package/dist/jsx/FrappeReportBuilder.native.js.map +1 -1
- package/dist/jsx/FrappeReportView.mjs +30 -229
- package/dist/jsx/FrappeReportView.mjs.map +1 -1
- package/dist/jsx/FrappeReportView.native.js +39 -283
- package/dist/jsx/FrappeReportView.native.js.map +1 -1
- package/dist/jsx/dependsOn.mjs +2 -2
- package/dist/jsx/dependsOn.mjs.map +1 -1
- package/dist/jsx/dependsOn.native.js +1 -2
- package/dist/jsx/dependsOn.native.js.map +1 -1
- package/dist/jsx/fields/shared/EditorPreviewPanes.mjs +2 -2
- package/dist/jsx/fields/shared/EditorPreviewPanes.mjs.map +1 -1
- package/dist/jsx/fields/shared/EditorPreviewPanes.native.js +2 -2
- package/dist/jsx/fields/shared/EditorPreviewPanes.native.js.map +1 -1
- package/dist/jsx/formEngine/docPermissions.mjs +19 -1
- package/dist/jsx/formEngine/docPermissions.mjs.map +1 -1
- package/dist/jsx/formEngine/docPermissions.native.js +69 -0
- package/dist/jsx/formEngine/docPermissions.native.js.map +1 -1
- package/dist/jsx/formEngine/index.mjs +2 -2
- package/dist/jsx/formEngine/index.mjs.map +1 -1
- package/dist/jsx/formEngine/index.native.js +2 -0
- package/dist/jsx/formEngine/index.native.js.map +1 -1
- package/dist/jsx/index.js +16 -4
- package/dist/jsx/index.js.map +1 -1
- package/dist/jsx/index.mjs +16 -4
- package/dist/jsx/index.mjs.map +1 -1
- package/dist/jsx/index.native.js +67 -7
- package/dist/jsx/index.native.js.map +1 -1
- package/dist/jsx/liveErrors.mjs +8 -3
- package/dist/jsx/liveErrors.mjs.map +1 -1
- package/dist/jsx/liveErrors.native.js +8 -2
- package/dist/jsx/liveErrors.native.js.map +1 -1
- package/dist/jsx/measures.mjs +5 -0
- package/dist/jsx/measures.mjs.map +1 -0
- package/dist/jsx/measures.native.js +34 -0
- package/dist/jsx/measures.native.js.map +1 -0
- package/dist/jsx/recordShape.mjs +74 -0
- package/dist/jsx/recordShape.mjs.map +1 -0
- package/dist/jsx/recordShape.native.js +115 -0
- package/dist/jsx/recordShape.native.js.map +1 -0
- package/dist/jsx/report/ReportGrid.mjs +428 -0
- package/dist/jsx/report/ReportGrid.mjs.map +1 -0
- package/dist/jsx/report/ReportGrid.native.js +510 -0
- package/dist/jsx/report/ReportGrid.native.js.map +1 -0
- package/dist/jsx/report/ReportViewToolbar.mjs +228 -0
- package/dist/jsx/report/ReportViewToolbar.mjs.map +1 -0
- package/dist/jsx/report/ReportViewToolbar.native.js +303 -0
- package/dist/jsx/report/ReportViewToolbar.native.js.map +1 -0
- package/dist/jsx/report/queryReport.mjs +404 -0
- package/dist/jsx/report/queryReport.mjs.map +1 -0
- package/dist/jsx/report/queryReport.native.js +588 -0
- package/dist/jsx/report/queryReport.native.js.map +1 -0
- package/dist/jsx/report/queryReportColumns.mjs +105 -0
- package/dist/jsx/report/queryReportColumns.mjs.map +1 -0
- package/dist/jsx/report/queryReportColumns.native.js +159 -0
- package/dist/jsx/report/queryReportColumns.native.js.map +1 -0
- package/dist/jsx/report/reportViewModel.mjs +343 -0
- package/dist/jsx/report/reportViewModel.mjs.map +1 -0
- package/dist/jsx/report/reportViewModel.native.js +657 -0
- package/dist/jsx/report/reportViewModel.native.js.map +1 -0
- package/dist/jsx/report/savedReports.mjs +112 -0
- package/dist/jsx/report/savedReports.mjs.map +1 -0
- package/dist/jsx/report/savedReports.native.js +169 -0
- package/dist/jsx/report/savedReports.native.js.map +1 -0
- package/dist/jsx/report/useFrappeReport.mjs +158 -0
- package/dist/jsx/report/useFrappeReport.mjs.map +1 -0
- package/dist/jsx/report/useFrappeReport.native.js +214 -0
- package/dist/jsx/report/useFrappeReport.native.js.map +1 -0
- package/dist/jsx/report/useQueryReport.mjs +176 -0
- package/dist/jsx/report/useQueryReport.mjs.map +1 -0
- package/dist/jsx/report/useQueryReport.native.js +233 -0
- package/dist/jsx/report/useQueryReport.native.js.map +1 -0
- package/dist/jsx/useFrappeForm.mjs +533 -0
- package/dist/jsx/useFrappeForm.mjs.map +1 -0
- package/dist/jsx/useFrappeForm.native.js +714 -0
- package/dist/jsx/useFrappeForm.native.js.map +1 -0
- package/package.json +16 -16
- package/src/FileBrowser/FileBrowser.spec.tsx +21 -0
- package/src/FileBrowser/FileBrowser.stories.tsx +27 -0
- package/src/FileBrowser/index.tsx +25 -2
- package/src/FrappeCalendar.tsx +8 -2
- package/src/FrappeForm.stories.tsx +52 -0
- package/src/FrappeForm.tsx +176 -565
- package/src/FrappeListView.cards.stories.tsx +3 -6
- package/src/FrappeListView.tsx +15 -55
- package/src/FrappeReportBuilder.stories.tsx +34 -7
- package/src/FrappeReportBuilder.tsx +790 -380
- package/src/FrappeReportView.spec.tsx +10 -6
- package/src/FrappeReportView.stories.tsx +20 -1
- package/src/FrappeReportView.tsx +89 -415
- package/src/dependsOn.ts +4 -1
- package/src/fields/shared/EditorPreviewPanes.tsx +2 -2
- package/src/formEngine/docPermissions.spec.ts +36 -1
- package/src/formEngine/docPermissions.ts +34 -0
- package/src/formEngine/index.ts +8 -1
- package/src/frappeRemainder.designLaw.spec.ts +9 -1
- package/src/frappeRoutes.spec.tsx +9 -0
- package/src/frappeViews.designLaw.spec.ts +15 -2
- package/src/guestFallback.spec.tsx +236 -0
- package/src/index.ts +117 -16
- package/src/liveErrors.spec.ts +10 -0
- package/src/liveErrors.ts +16 -3
- package/src/measures.ts +11 -0
- package/src/recordShape.spec.ts +100 -0
- package/src/recordShape.ts +133 -0
- package/src/report/ReportGrid.spec.tsx +175 -0
- package/src/report/ReportGrid.tsx +530 -0
- package/src/report/ReportViewToolbar.spec.tsx +90 -0
- package/src/report/ReportViewToolbar.tsx +314 -0
- package/src/report/queryReport.spec.ts +483 -0
- package/src/report/queryReport.ts +722 -0
- package/src/report/queryReportColumns.tsx +123 -0
- package/src/report/reportViewModel.spec.ts +393 -0
- package/src/report/reportViewModel.ts +617 -0
- package/src/report/savedReports.ts +172 -0
- package/src/report/seam.spec.ts +216 -0
- package/src/report/useFrappeReport.ts +241 -0
- package/src/report/useQueryReport.spec.tsx +131 -0
- package/src/report/useQueryReport.ts +309 -0
- package/src/useFrappeForm.spec.tsx +209 -0
- package/src/useFrappeForm.ts +778 -0
- package/types/FileBrowser/index.d.ts.map +1 -1
- package/types/FrappeCalendar.d.ts.map +1 -1
- package/types/FrappeForm.d.ts +21 -1
- package/types/FrappeForm.d.ts.map +1 -1
- package/types/FrappeListView.d.ts.map +1 -1
- package/types/FrappeReportBuilder.d.ts +66 -16
- package/types/FrappeReportBuilder.d.ts.map +1 -1
- package/types/FrappeReportView.d.ts +9 -127
- package/types/FrappeReportView.d.ts.map +1 -1
- package/types/dependsOn.d.ts.map +1 -1
- package/types/formEngine/docPermissions.d.ts +14 -0
- package/types/formEngine/docPermissions.d.ts.map +1 -1
- package/types/formEngine/index.d.ts +1 -1
- package/types/formEngine/index.d.ts.map +1 -1
- package/types/index.d.ts +15 -3
- package/types/index.d.ts.map +1 -1
- package/types/liveErrors.d.ts +9 -1
- package/types/liveErrors.d.ts.map +1 -1
- package/types/measures.d.ts +3 -0
- package/types/measures.d.ts.map +1 -0
- package/types/recordShape.d.ts +45 -0
- package/types/recordShape.d.ts.map +1 -0
- package/types/report/ReportGrid.d.ts +20 -0
- package/types/report/ReportGrid.d.ts.map +1 -0
- package/types/report/ReportViewToolbar.d.ts +31 -0
- package/types/report/ReportViewToolbar.d.ts.map +1 -0
- package/types/report/queryReport.d.ts +181 -0
- package/types/report/queryReport.d.ts.map +1 -0
- package/types/report/queryReportColumns.d.ts +12 -0
- package/types/report/queryReportColumns.d.ts.map +1 -0
- package/types/report/reportViewModel.d.ts +146 -0
- package/types/report/reportViewModel.d.ts.map +1 -0
- package/types/report/savedReports.d.ts +27 -0
- package/types/report/savedReports.d.ts.map +1 -0
- package/types/report/useFrappeReport.d.ts +60 -0
- package/types/report/useFrappeReport.d.ts.map +1 -0
- package/types/report/useQueryReport.d.ts +37 -0
- package/types/report/useQueryReport.d.ts.map +1 -0
- package/types/useFrappeForm.d.ts +142 -0
- package/types/useFrappeForm.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","FrappeReportBuilder_exports","FrappeReportBuilder","module","exports","import_jsx_runtime","require","import_frappe","import_platform","import_components","import_forms","import_store","import_react","import_react_i18next","import_tamagui","import_react2","import_theme","import_FrappeProvider","import_useFrappeRows","getSavedReportsKey","doctype","loadSavedReports","raw","Promise","resolve","storage","getItem","JSON","parse","unused","persistSavedReports","reports","setItem","stringify","canDownloadCsv","document","createElement","Blob","URL","createObjectURL","param","initialColumns","initialGroupBy","filters","showChart","onExport","onRowPress","baseURL","auth","syncOptions","stackProps","config","useFrappeConfig","knobProps","useResolvedKnobs","t","useTranslation","finalBaseURL","finalAuth","finalSyncOptions","fixtures","Error","connectionConfig","socketPort","siteName","socketBaseURL","realtime","meta","isLoading","isMetaLoading","error","metaError","useDocTypeMeta","allColumns","useMemo","fields","filter","f","fieldtype","map","fieldname","label","enabled","in_list_view","fetchFields","fieldNames","c","includes","unshift","rows","isQueryLoading","isError","useFrappeRows","limit","data","isLiveStale","setIsLiveStale","useState","staleTimerRef","useRef","clearStaleTimer","useCallback","current","clearTimeout","useFrappeDoctypeEvents","event","type","setTimeout","isFirstData","useEffect","groupBy","setGroupBy","enabledColumns","setEnabledColumns","length","initial","slice","savedReports","setSavedReports","saveDialogOpen","setSaveDialogOpen","saveReportName","setSaveReportName","cancelled","handleSaveReport","trim","report","columns","updated","r","handleLoadReport","handleDeleteReport","handleExport","exportData","cols","headers","csvRows","join","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_loop","row","_step","values","col","val","str","String","replace","push","_iterator","Symbol","iterator","next","done","err","return","csvContent","blob","downloadBlob","exportEnabled","Boolean","jsxs","YStack","panelPadding","alignItems","justifyContent","gap","children","jsx","Spinner","size","Text","color","fontSize","message","flex","borderRadius","XStack","surface","borderBottomWidth","borderBottomColor","formCommonColors","muted","Popover","placement","open","onOpenChange","Trigger","asChild","Button","icon","FloppyDiskIcon","PopoverContent","minWidth","fontWeight","Input","labelHidden","placeholder","onChangeText","inputProps","onSubmitEditing","onPress","disabled","FolderOpenIcon","Separator","padding","containerRadius","hoverStyle","backgroundColor","cursor","body","circular","chromeless","TrashIcon","e","stopPropagation","ReportBuilder","onGroupByChange","onColumnsChange"],"sources":["FrappeReportBuilder.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 FrappeReportBuilder_exports = {};\n__export(FrappeReportBuilder_exports, {\n FrappeReportBuilder: () => FrappeReportBuilder\n});\nmodule.exports = __toCommonJS(FrappeReportBuilder_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_frappe = require(\"@multiplatform.one/frappe\");\nvar import_platform = require(\"@multiplatform.one/platform\");\nvar import_components = require(\"@multiplatform.one/components\");\nvar import_forms = require(\"@multiplatform.one/forms\");\nvar import_store = require(\"@multiplatform.one/store\");\nvar import_react = __toESM(require(\"react\"));\nvar import_react_i18next = require(\"react-i18next\");\nvar import_tamagui = require(\"tamagui\");\nvar import_react2 = require(\"@phosphor-icons/react\");\nvar import_theme = require(\"@multiplatform.one/theme\");\nvar import_FrappeProvider = require(\"./FrappeProvider\");\nvar import_useFrappeRows = require(\"./useFrappeRows\");\nfunction getSavedReportsKey(doctype) {\n return `frappe-report-${doctype}`;\n}\nasync function loadSavedReports(doctype) {\n try {\n var raw = await Promise.resolve(import_store.storage.getItem(getSavedReportsKey(doctype)));\n if (raw) return JSON.parse(raw);\n } catch (unused) {\n }\n return [];\n}\nasync function persistSavedReports(doctype, reports) {\n try {\n await Promise.resolve(import_store.storage.setItem(getSavedReportsKey(doctype), JSON.stringify(reports)));\n } catch (unused) {\n }\n}\nfunction canDownloadCsv() {\n return typeof document !== \"undefined\" && typeof document.createElement === \"function\" && typeof Blob !== \"undefined\" && typeof URL !== \"undefined\" && typeof URL.createObjectURL === \"function\";\n}\nfunction FrappeReportBuilder(param) {\n var { doctype, initialColumns, initialGroupBy, filters, showChart = false, onExport, onRowPress, baseURL, auth, syncOptions, ...stackProps } = param;\n var config = (0, import_FrappeProvider.useFrappeConfig)();\n var { knobProps } = (0, import_theme.useResolvedKnobs)();\n var { t } = (0, import_react_i18next.useTranslation)();\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 && !(config === null || config === void 0 ? void 0 : config.fixtures)) {\n throw new Error(\"FrappeReportBuilder requires baseURL prop or FrappeProvider with baseURL or fixtures\");\n }\n var connectionConfig = {\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 var { meta, isLoading: isMetaLoading, error: metaError } = (0, import_frappe.useDocTypeMeta)(connectionConfig, doctype);\n var allColumns = (0, import_react.useMemo)(function() {\n if (initialColumns) return initialColumns;\n if (!meta) return [];\n return meta.fields.filter(function(f) {\n return f.fieldtype !== \"Section Break\" && f.fieldtype !== \"Column Break\" && f.fieldtype !== \"Tab Break\";\n }).map(function(f) {\n return {\n fieldname: f.fieldname,\n label: f.label || f.fieldname,\n fieldtype: f.fieldtype,\n enabled: !!f.in_list_view\n };\n });\n }, [\n initialColumns,\n meta\n ]);\n var fetchFields = (0, import_react.useMemo)(function() {\n var fieldNames = allColumns.map(function(c) {\n return c.fieldname;\n });\n if (!fieldNames.includes(\"name\")) {\n fieldNames.unshift(\"name\");\n }\n return fieldNames;\n }, [\n allColumns\n ]);\n var { rows, isQueryLoading: isLoading, isError } = (0, import_useFrappeRows.useFrappeRows)(connectionConfig, doctype, {\n fields: fetchFields,\n filters,\n limit: null\n });\n var data = rows;\n var [isLiveStale, setIsLiveStale] = (0, import_react.useState)(false);\n var staleTimerRef = (0, import_react.useRef)(void 0);\n var clearStaleTimer = (0, import_react.useCallback)(function() {\n if (staleTimerRef.current) {\n clearTimeout(staleTimerRef.current);\n staleTimerRef.current = void 0;\n }\n }, []);\n (0, import_frappe.useFrappeDoctypeEvents)(connectionConfig, doctype, function(event) {\n if (event.type !== \"doc_update\" && event.type !== \"list_update\" && event.type !== \"doc_deleted\" && event.type !== \"doc_changed\") {\n return;\n }\n setIsLiveStale(true);\n clearStaleTimer();\n staleTimerRef.current = setTimeout(function() {\n return setIsLiveStale(false);\n }, 2500);\n });\n var isFirstData = (0, import_react.useRef)(true);\n (0, import_react.useEffect)(function() {\n if (isFirstData.current) {\n isFirstData.current = false;\n return;\n }\n setIsLiveStale(false);\n clearStaleTimer();\n }, [\n data,\n clearStaleTimer\n ]);\n (0, import_react.useEffect)(function() {\n return clearStaleTimer;\n }, [\n clearStaleTimer\n ]);\n var [groupBy, setGroupBy] = (0, import_react.useState)(initialGroupBy !== null && initialGroupBy !== void 0 ? initialGroupBy : null);\n var [enabledColumns, setEnabledColumns] = (0, import_react.useState)([]);\n (0, import_react.useEffect)(function() {\n if (allColumns.length > 0 && enabledColumns.length === 0) {\n var initial = allColumns.filter(function(c) {\n return c.enabled;\n }).map(function(c) {\n return c.fieldname;\n });\n if (initial.length === 0) {\n setEnabledColumns(allColumns.slice(0, 5).map(function(c) {\n return c.fieldname;\n }));\n } else {\n setEnabledColumns(initial);\n }\n }\n }, [\n allColumns,\n enabledColumns.length\n ]);\n var [savedReports, setSavedReports] = (0, import_react.useState)([]);\n var [saveDialogOpen, setSaveDialogOpen] = (0, import_react.useState)(false);\n var [saveReportName, setSaveReportName] = (0, import_react.useState)(\"\");\n (0, import_react.useEffect)(function() {\n var cancelled = false;\n void (async function() {\n var reports = await loadSavedReports(doctype);\n if (!cancelled) {\n setSavedReports(reports);\n }\n })();\n return function() {\n cancelled = true;\n };\n }, [\n doctype\n ]);\n var handleSaveReport = (0, import_react.useCallback)(function() {\n if (!saveReportName.trim()) return;\n var report = {\n name: saveReportName.trim(),\n columns: enabledColumns,\n groupBy,\n filters\n };\n var updated = [\n ...savedReports.filter(function(r) {\n return r.name !== report.name;\n }),\n report\n ];\n setSavedReports(updated);\n void persistSavedReports(doctype, updated);\n setSaveDialogOpen(false);\n setSaveReportName(\"\");\n }, [\n saveReportName,\n enabledColumns,\n groupBy,\n filters,\n savedReports,\n doctype\n ]);\n var handleLoadReport = (0, import_react.useCallback)(function(report) {\n setEnabledColumns(report.columns);\n setGroupBy(report.groupBy);\n }, []);\n var handleDeleteReport = (0, import_react.useCallback)(function(name) {\n var updated = savedReports.filter(function(r) {\n return r.name !== name;\n });\n setSavedReports(updated);\n void persistSavedReports(doctype, updated);\n }, [\n savedReports,\n doctype\n ]);\n var handleExport = (0, import_react.useCallback)(function(exportData) {\n if (onExport) {\n onExport(exportData);\n return;\n }\n var cols = allColumns.filter(function(c) {\n return enabledColumns.includes(c.fieldname);\n });\n var headers = cols.map(function(c) {\n return c.label;\n });\n var csvRows = [\n headers.join(\",\")\n ];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n var _loop = function() {\n var row = _step.value;\n var values = cols.map(function(col) {\n var val = row[col.fieldname];\n if (val === null || val === void 0) return \"\";\n var str = String(val);\n if (str.includes(\",\") || str.includes('\"') || str.includes(\"\\n\")) {\n return `\"${str.replace(/\"/g, '\"\"')}\"`;\n }\n return str;\n });\n csvRows.push(values.join(\",\"));\n };\n for (var _iterator = exportData[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _loop();\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 csvContent = csvRows.join(\"\\n\");\n var blob = new Blob([\n csvContent\n ], {\n type: \"text/csv;charset=utf-8;\"\n });\n (0, import_platform.downloadBlob)(blob, `${doctype}_report.csv`);\n }, [\n allColumns,\n enabledColumns,\n onExport,\n doctype\n ]);\n var exportEnabled = Boolean(onExport) || canDownloadCsv();\n if (isMetaLoading) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {\n ...knobProps.panelPadding,\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: \"$2\",\n ...stackProps,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_forms.Spinner, {\n size: \"large\"\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n color: \"$color10\",\n children: t(\"Loading {{doctype}} schema...\", {\n doctype\n })\n })\n ]\n });\n }\n if (metaError && !meta) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {\n ...knobProps.panelPadding,\n alignItems: \"center\",\n ...knobProps.gap,\n ...stackProps,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n color: \"$red11\",\n children: t(\"Failed to load {{doctype}} schema\", {\n doctype\n })\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n color: \"$color10\",\n fontSize: \"$2\",\n children: metaError.message\n })\n ]\n });\n }\n if (isLoading) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {\n ...knobProps.panelPadding,\n alignItems: \"center\",\n gap: \"$1\",\n ...stackProps,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_forms.Spinner, {\n size: \"small\"\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n color: \"$color10\",\n fontSize: \"$2\",\n children: t(\"Loading data...\")\n })\n ]\n });\n }\n if (isError) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {\n ...knobProps.panelPadding,\n alignItems: \"center\",\n ...knobProps.gap,\n ...stackProps,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n color: \"$red11\",\n children: t(\"Failed to load {{doctype}} data\", {\n doctype\n })\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n color: \"$color10\",\n fontSize: \"$2\",\n children: t(\"The live query could not load report rows.\")\n })\n ]\n });\n }\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {\n flex: 1,\n ...knobProps.borderRadius,\n ...stackProps,\n children: [\n /* Frappe-specific toolbar: Save/Load reports */\n /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {\n ...knobProps.panelPadding,\n ...knobProps.surface,\n ...knobProps.gap,\n alignItems: \"center\",\n borderBottomWidth: 1,\n borderBottomColor: \"$borderColor\",\n children: [\n /* Subtle stale affordance while a post-event refresh reconciles */\n isLiveStale ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {\n gap: \"$2\",\n alignItems: \"center\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_forms.Spinner, {\n size: \"small\",\n \"aria-label\": t(\"Updating\")\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n ...knobProps.label,\n color: import_forms.formCommonColors.muted,\n children: t(\"Updating...\")\n })\n ]\n }) : null,\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.XStack, {\n flex: 1\n }),\n /* Save */\n /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.Popover, {\n placement: \"bottom-end\",\n open: saveDialogOpen,\n onOpenChange: setSaveDialogOpen,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Popover.Trigger, {\n asChild: true,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_forms.Button, {\n size: \"$2\",\n icon: import_react2.FloppyDiskIcon,\n children: t(\"Save\")\n })\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.PopoverContent, {\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {\n ...knobProps.gap,\n minWidth: 220,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n ...knobProps.label,\n fontWeight: \"400\",\n children: t(\"Save Report\")\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_forms.Input, {\n label: t(\"Report name\"),\n labelHidden: true,\n placeholder: t(\"Report name\"),\n value: saveReportName,\n onChangeText: setSaveReportName,\n inputProps: {\n onSubmitEditing: handleSaveReport\n }\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_forms.Button, {\n size: \"$2\",\n onPress: handleSaveReport,\n disabled: !saveReportName.trim(),\n children: t(\"Save\")\n })\n ]\n })\n })\n ]\n }),\n /* Load */\n savedReports.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.Popover, {\n placement: \"bottom-end\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Popover.Trigger, {\n asChild: true,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_forms.Button, {\n size: \"$2\",\n icon: import_react2.FolderOpenIcon,\n children: t(\"Load\")\n })\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.PopoverContent, {\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {\n ...knobProps.gap,\n minWidth: 180,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n ...knobProps.label,\n fontWeight: \"400\",\n color: import_forms.formCommonColors.muted,\n children: t(\"Saved Reports\")\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.Separator, {}),\n savedReports.map(function(report) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: \"$2\",\n ...knobProps.containerRadius,\n hoverStyle: {\n backgroundColor: \"$color2\"\n },\n cursor: \"pointer\",\n onPress: function onPress() {\n return handleLoadReport(report);\n },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n ...knobProps.body,\n flex: 1,\n children: report.name\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_forms.Button, {\n size: \"$2\",\n circular: true,\n chromeless: true,\n icon: import_react2.TrashIcon,\n onPress: function onPress(e) {\n e.stopPropagation();\n handleDeleteReport(report.name);\n },\n \"aria-label\": t(\"Delete {{name}}\", {\n name: report.name\n })\n })\n ]\n }, report.name);\n })\n ]\n })\n })\n ]\n })\n ]\n }),\n /* Delegate to generic ReportBuilder */\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.ReportBuilder, {\n columns: allColumns,\n data,\n groupBy: groupBy !== null && groupBy !== void 0 ? groupBy : void 0,\n onGroupByChange: setGroupBy,\n onColumnsChange: setEnabledColumns,\n onExport: exportEnabled ? handleExport : void 0,\n onRowPress,\n showChart,\n flex: 1\n })\n ]\n });\n}\n//# sourceMappingURL=FrappeReportBuilder.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["to","__toESM","mod","isNodeMode","target","__create","__getProtoOf","__copyProps","__esModule","__defProp","value","enumerable","__toCommonJS","FrappeReportBuilder_exports","__export","FrappeReportBuilder","module","exports","import_jsx_runtime","require","import_components","import_frappe","import_forms","import_platform","import_store","import_table","import_theme","import_react","import_react_i18next","import_FrappeNotConfigured","import_FrappeProvider","import_liveErrors","import_recordShape","import_ReportGrid","import_ReportViewToolbar","import_reportViewModel","import_savedReports","import_useFrappeRows","_instanceof","left","right","Symbol","hasInstance","_type_of","obj","constructor","EMPTY_FILTERS","COLUMN_FILTER_DEBOUNCE_MS","columnsStorageKey","doctype","readStoredColumns","raw","Promise","resolve","storage","getItem","parsed","JSON","parse","Array","isArray","every","entry","unused","persistStoredColumns","fieldnames","setItem","stringify","toReportFilters","filters","length","tuples","Object","entries","map","param","field","initialFieldnames","columns","flatMap","column","enabled","fieldname","asFieldType","fieldtype","_frappeFieldTypes_find","frappeFieldTypes","find","known","refusedMetaFields","initialColumns","recordFields","declared","label","recordKeyLabel","filter","read_only","in_list_view","asError","error","Error","String","groupField","groupBy","aggregateGroups","rows","config","groups","Map","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","row","key","bucket","get","push","set","err","return","numbers","numbers2","group","row2","Number","aggregationField","aggregation","reduce","sum","Math","min","max","canDownloadCsv","document","createElement","Blob","URL","createObjectURL","props","_props_baseURL","useFrappeConfig","baseURL","fixtures","jsx","FrappeNotConfigured","FrappeReportBuilderBody","scopeFilters","onClearFilters","initialGroupBy","showChart","onOpenRow","onRowPress","onOpenLink","report","reportProp","onReportChange","onExport","loading","loadingFallback","errorFallback","auth","syncOptions","stackProps","_ref","_ref1","_ref2","t","useTranslation","knobProps","useResolvedKnobs","finalBaseURL","finalAuth","finalSyncOptions","fixtureMode","Boolean","connection","useMemo","socketPort","siteName","socketBaseURL","realtime","meta","isLoading","metaLoading","metaError","useDocTypeMeta","metaRefused","isPermissionError","initialColumnsJson","declaresColumns","recordShape","useRecordShape","layoutMeta","fields","readsWithoutMeta","savedReports","useSavedReports","_connection_baseURL","internalReport","setInternalReport","useState","currentReport","allColumns","reportColumnsFromMeta","own","Set","has","defaultFieldnames","defaultReportFieldnames","initialColumnsKey","startFieldnames","storedColumns","setStoredColumns","selectedOverride","setSelectedOverride","useEffect","cancelled","then","stored","selectedFieldnames","selectedColumns","resolveSelectedColumns","filtersKey","propFilters","filtersCleared","setFiltersCleared","reportFilters","setReportFilters","baseFilters","filterDrafts","setFilterDrafts","committedFilters","setCommittedFilters","handle","setTimeout","previous","clearTimeout","columnTuples","columnFilterTuples","scopeKey","scope","effectiveFilters","metaSort","sort_field","split","order","sort_order","toLowerCase","sortOverride","setSortOverride","sort","startGroupBy","chartConfig","setGroupBy","pageSize","setPageSize","DEFAULT_REPORT_PAGE_SIZE","page","setPage","effectiveFiltersKey","load","saved","_saved_groupBy","REPORT_PAGE_SIZES","some","size","handleToggleColumn","useCallback","_ref3","_ref12","current","includes","handleResetColumns","fetchFields","add","orderBy","Order","Asc","Desc","rowsData","syncError","rowsLoading","useFrappeRows","limit","mapError","orderedRows","orderReportRows","total","pageCount","ceil","effectivePage","gridRows","buildGridRows","totals","computeTotals","groupByColumn","chartData","rowsPressable","handleOpenRow","name","index","findIndex","handleSelectReport","handleClearBaseFilters","handleSaveReport","save","addTotals","savedName","notify","severity","body","defaultValue"],"sources":["../../src/FrappeReportBuilder.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -23,18 +23,17 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
|
23
23
|
var FrappeReportView_exports = {};
|
|
24
24
|
__export(FrappeReportView_exports, {
|
|
25
25
|
FrappeReportView: () => FrappeReportView,
|
|
26
|
-
compactFilterValues: () => compactFilterValues,
|
|
27
|
-
normalizeReportColumn: () => normalizeReportColumn,
|
|
28
|
-
normalizeReportPayload: () => normalizeReportPayload,
|
|
29
|
-
normalizeReportRows: () => normalizeReportRows,
|
|
26
|
+
compactFilterValues: () => import_queryReport2.compactFilterValues,
|
|
27
|
+
normalizeReportColumn: () => import_queryReport2.normalizeReportColumn,
|
|
28
|
+
normalizeReportPayload: () => import_queryReport2.normalizeReportPayload,
|
|
29
|
+
normalizeReportRows: () => import_queryReport2.normalizeReportRows,
|
|
30
30
|
reportColumnToDataTableColumn: () => reportColumnToDataTableColumn,
|
|
31
31
|
reportFieldtypeToTableField: () => reportFieldtypeToTableField,
|
|
32
32
|
reportRowLabel: () => reportRowLabel,
|
|
33
|
-
scrubFieldname: () => scrubFieldname,
|
|
34
|
-
useFrappeReport: () => useFrappeReport
|
|
33
|
+
scrubFieldname: () => import_queryReport2.scrubFieldname,
|
|
34
|
+
useFrappeReport: () => import_useFrappeReport2.useFrappeReport
|
|
35
35
|
});
|
|
36
36
|
module.exports = __toCommonJS(FrappeReportView_exports);
|
|
37
|
-
var import_frappe = require("@multiplatform.one/frappe");
|
|
38
37
|
var import_components = require("@multiplatform.one/components");
|
|
39
38
|
var import_forms = require("@multiplatform.one/forms");
|
|
40
39
|
var import_table = require("@multiplatform.one/table");
|
|
@@ -48,67 +47,12 @@ var import_Check = require("./fields/Check/index.cjs");
|
|
|
48
47
|
var import_Data = require("./fields/Data/index.cjs");
|
|
49
48
|
var import_Select = require("./fields/Select/index.cjs");
|
|
50
49
|
var import_liveErrors = require("./liveErrors.cjs");
|
|
50
|
+
var import_queryReport = require("./report/queryReport.cjs");
|
|
51
|
+
var import_useFrappeReport = require("./report/useFrappeReport.cjs");
|
|
52
|
+
var import_queryReport2 = require("./report/queryReport.cjs");
|
|
53
|
+
var import_useFrappeReport2 = require("./report/useFrappeReport.cjs");
|
|
51
54
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
52
55
|
const ReportDataTable = import_table.DataTable;
|
|
53
|
-
function scrubFieldname(label) {
|
|
54
|
-
return label.trim().replace(/[\s-]+/g, "_").toLowerCase();
|
|
55
|
-
}
|
|
56
|
-
function normalizeReportColumn(col) {
|
|
57
|
-
if (typeof col === "string") {
|
|
58
|
-
const parts = col.split(":");
|
|
59
|
-
const label = parts[0] ?? "";
|
|
60
|
-
const out = {
|
|
61
|
-
label,
|
|
62
|
-
fieldname: scrubFieldname(label)
|
|
63
|
-
};
|
|
64
|
-
if (parts.length > 1 && parts[1]) {
|
|
65
|
-
const [fieldtype, options] = parts[1].split("/");
|
|
66
|
-
if (fieldtype) out.fieldtype = fieldtype;
|
|
67
|
-
if (options) out.options = options;
|
|
68
|
-
}
|
|
69
|
-
if (parts.length === 3 && parts[2]) out.width = parts[2];
|
|
70
|
-
return out;
|
|
71
|
-
}
|
|
72
|
-
return {
|
|
73
|
-
...col,
|
|
74
|
-
fieldname: col.fieldname || scrubFieldname(col.label ?? ""),
|
|
75
|
-
label: col.label ?? col.fieldname
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
function normalizeReportRows(columns, result) {
|
|
79
|
-
if (!result?.length) return [];
|
|
80
|
-
return result.map(row => {
|
|
81
|
-
if (Array.isArray(row)) {
|
|
82
|
-
const obj = {};
|
|
83
|
-
columns.forEach((col, idx) => {
|
|
84
|
-
obj[col.fieldname] = row[idx];
|
|
85
|
-
});
|
|
86
|
-
return obj;
|
|
87
|
-
}
|
|
88
|
-
return row;
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
function normalizeReportPayload(raw) {
|
|
92
|
-
const columns = (raw.columns ?? []).map(normalizeReportColumn);
|
|
93
|
-
const rows = normalizeReportRows(columns, raw.result);
|
|
94
|
-
const message = Array.isArray(raw.message) ? raw.message.filter(Boolean).join(" ") : raw.message ?? void 0;
|
|
95
|
-
return {
|
|
96
|
-
columns,
|
|
97
|
-
rows,
|
|
98
|
-
message: message || void 0,
|
|
99
|
-
addTotalRow: Boolean(raw.add_total_row) && !raw.skip_total_row,
|
|
100
|
-
filters: raw.filters,
|
|
101
|
-
raw
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
|
-
function compactFilterValues(values) {
|
|
105
|
-
const out = {};
|
|
106
|
-
for (const [key, value] of Object.entries(values ?? {})) {
|
|
107
|
-
if (value === void 0 || value === null || value === "") continue;
|
|
108
|
-
out[key] = value;
|
|
109
|
-
}
|
|
110
|
-
return out;
|
|
111
|
-
}
|
|
112
56
|
function parseSelectOptions(options) {
|
|
113
57
|
return (options ?? "").split("\n").map(opt => opt.trim()).filter((opt, idx, arr) => arr.indexOf(opt) === idx).map(opt => ({
|
|
114
58
|
label: opt,
|
|
@@ -206,159 +150,6 @@ function reportRowLabel(row) {
|
|
|
206
150
|
function canDownloadFiles() {
|
|
207
151
|
return typeof document !== "undefined" && typeof document.createElement === "function" && typeof Blob !== "undefined" && typeof URL !== "undefined" && typeof URL.createObjectURL === "function";
|
|
208
152
|
}
|
|
209
|
-
const callCache = /* @__PURE__ */new Map();
|
|
210
|
-
function getCall(connection) {
|
|
211
|
-
const key = `${connection.baseURL}:${connection.auth?.useToken ? "t" : ""}:${connection.auth?.token ?? ""}:${connection.auth?.type ?? ""}`;
|
|
212
|
-
let call = callCache.get(key);
|
|
213
|
-
if (!call) {
|
|
214
|
-
const authConfig = connection.auth ? {
|
|
215
|
-
useToken: connection.auth.useToken,
|
|
216
|
-
token: connection.auth.token,
|
|
217
|
-
type: connection.auth.type
|
|
218
|
-
} : void 0;
|
|
219
|
-
call = new import_frappe.CallModule(new import_frappe.HttpClient(connection.baseURL, authConfig));
|
|
220
|
-
callCache.set(key, call);
|
|
221
|
-
}
|
|
222
|
-
return call;
|
|
223
|
-
}
|
|
224
|
-
const DEFAULT_DEBOUNCE_MS = 400;
|
|
225
|
-
function useFrappeReport(connection, {
|
|
226
|
-
reportName,
|
|
227
|
-
filters,
|
|
228
|
-
fixture,
|
|
229
|
-
fetchFilterDefs = false,
|
|
230
|
-
ignorePreparedReport = false,
|
|
231
|
-
debounceMs = DEFAULT_DEBOUNCE_MS,
|
|
232
|
-
enabled = true
|
|
233
|
-
}) {
|
|
234
|
-
const isEnabled = enabled && !!reportName && (!!connection || !!fixture);
|
|
235
|
-
const [payload, setPayload] = (0, import_react2.useState)(void 0);
|
|
236
|
-
const [scriptFilters, setScriptFilters] = (0, import_react2.useState)(void 0);
|
|
237
|
-
const [isLoading, setIsLoading] = (0, import_react2.useState)(isEnabled);
|
|
238
|
-
const [isFetching, setIsFetching] = (0, import_react2.useState)(false);
|
|
239
|
-
const [error, setError] = (0, import_react2.useState)(void 0);
|
|
240
|
-
const compactedFilters = (0, import_react2.useMemo)(() => compactFilterValues(filters), [filters]);
|
|
241
|
-
const filtersKey = JSON.stringify(compactedFilters);
|
|
242
|
-
const runKey = JSON.stringify([connection?.baseURL, !!fixture, reportName, filtersKey, ignorePreparedReport]);
|
|
243
|
-
const fetchSeq = (0, import_react2.useRef)(0);
|
|
244
|
-
const argsRef = (0, import_react2.useRef)({
|
|
245
|
-
reportName,
|
|
246
|
-
filters: compactedFilters,
|
|
247
|
-
fixture,
|
|
248
|
-
ignorePreparedReport
|
|
249
|
-
});
|
|
250
|
-
argsRef.current = {
|
|
251
|
-
reportName,
|
|
252
|
-
filters: compactedFilters,
|
|
253
|
-
fixture,
|
|
254
|
-
ignorePreparedReport
|
|
255
|
-
};
|
|
256
|
-
const connectionRef = (0, import_react2.useRef)(connection);
|
|
257
|
-
connectionRef.current = connection;
|
|
258
|
-
const runFetch = (0, import_react2.useCallback)(async () => {
|
|
259
|
-
const {
|
|
260
|
-
reportName: name,
|
|
261
|
-
filters: values,
|
|
262
|
-
fixture: fx,
|
|
263
|
-
ignorePreparedReport: skipPrepared
|
|
264
|
-
} = argsRef.current;
|
|
265
|
-
const conn = connectionRef.current;
|
|
266
|
-
if (!name || !conn && !fx) return;
|
|
267
|
-
const seq = ++fetchSeq.current;
|
|
268
|
-
setIsFetching(true);
|
|
269
|
-
try {
|
|
270
|
-
let raw;
|
|
271
|
-
if (fx) {
|
|
272
|
-
raw = typeof fx === "function" ? await fx({
|
|
273
|
-
reportName: name,
|
|
274
|
-
filters: values
|
|
275
|
-
}) : fx;
|
|
276
|
-
} else if (conn) {
|
|
277
|
-
const res = await getCall(conn).post("frappe.desk.query_report.run", {
|
|
278
|
-
report_name: name,
|
|
279
|
-
filters: values,
|
|
280
|
-
ignore_prepared_report: skipPrepared ? 1 : 0,
|
|
281
|
-
// Desk parity: only let the server substitute saved custom
|
|
282
|
-
// filters when the caller sent no filter values at all.
|
|
283
|
-
are_default_filters: Object.keys(values).length ? 0 : 1
|
|
284
|
-
});
|
|
285
|
-
raw = res.payload.message;
|
|
286
|
-
}
|
|
287
|
-
if (seq !== fetchSeq.current) return;
|
|
288
|
-
setPayload(normalizeReportPayload(raw ?? {}));
|
|
289
|
-
setError(void 0);
|
|
290
|
-
} catch (err) {
|
|
291
|
-
if (seq !== fetchSeq.current) return;
|
|
292
|
-
setError(err instanceof Error ? err : new Error(String(err)));
|
|
293
|
-
} finally {
|
|
294
|
-
if (seq === fetchSeq.current) {
|
|
295
|
-
setIsLoading(false);
|
|
296
|
-
setIsFetching(false);
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
}, []);
|
|
300
|
-
const debouncerRef = (0, import_react2.useRef)(void 0);
|
|
301
|
-
if (!debouncerRef.current) {
|
|
302
|
-
debouncerRef.current = new import_frappe.AsyncDebouncer(() => runFetch(), {
|
|
303
|
-
wait: debounceMs
|
|
304
|
-
});
|
|
305
|
-
}
|
|
306
|
-
(0, import_react2.useEffect)(() => {
|
|
307
|
-
debouncerRef.current?.setOptions({
|
|
308
|
-
wait: debounceMs
|
|
309
|
-
});
|
|
310
|
-
}, [debounceMs]);
|
|
311
|
-
(0, import_react2.useEffect)(() => () => debouncerRef.current?.cancel(), []);
|
|
312
|
-
const lastRunKeyRef = (0, import_react2.useRef)(void 0);
|
|
313
|
-
const lastReportRef = (0, import_react2.useRef)(void 0);
|
|
314
|
-
(0, import_react2.useEffect)(() => {
|
|
315
|
-
if (!isEnabled || lastRunKeyRef.current === runKey) return;
|
|
316
|
-
lastRunKeyRef.current = runKey;
|
|
317
|
-
const reportChanged = lastReportRef.current !== argsRef.current.reportName;
|
|
318
|
-
lastReportRef.current = argsRef.current.reportName;
|
|
319
|
-
setError(void 0);
|
|
320
|
-
if (reportChanged) {
|
|
321
|
-
setIsLoading(true);
|
|
322
|
-
debouncerRef.current?.cancel();
|
|
323
|
-
void runFetch();
|
|
324
|
-
} else if (debounceMs <= 0) {
|
|
325
|
-
void runFetch();
|
|
326
|
-
} else {
|
|
327
|
-
void debouncerRef.current?.maybeExecute();
|
|
328
|
-
}
|
|
329
|
-
}, [isEnabled, runKey, debounceMs, runFetch]);
|
|
330
|
-
(0, import_react2.useEffect)(() => {
|
|
331
|
-
if (!isEnabled || !fetchFilterDefs || fixture || !connection) {
|
|
332
|
-
return;
|
|
333
|
-
}
|
|
334
|
-
let cancelled = false;
|
|
335
|
-
void (async () => {
|
|
336
|
-
try {
|
|
337
|
-
const res = await getCall(connection).get("frappe.desk.query_report.get_script", {
|
|
338
|
-
report_name: reportName
|
|
339
|
-
});
|
|
340
|
-
if (!cancelled) setScriptFilters(res.payload.message?.filters ?? []);
|
|
341
|
-
} catch {
|
|
342
|
-
if (!cancelled) setScriptFilters([]);
|
|
343
|
-
}
|
|
344
|
-
})();
|
|
345
|
-
return () => {
|
|
346
|
-
cancelled = true;
|
|
347
|
-
};
|
|
348
|
-
}, [isEnabled, fetchFilterDefs, fixture, connection, reportName]);
|
|
349
|
-
const refresh = (0, import_react2.useCallback)(() => {
|
|
350
|
-
debouncerRef.current?.cancel();
|
|
351
|
-
void runFetch();
|
|
352
|
-
}, [runFetch]);
|
|
353
|
-
return {
|
|
354
|
-
payload,
|
|
355
|
-
scriptFilters,
|
|
356
|
-
isLoading,
|
|
357
|
-
isFetching,
|
|
358
|
-
error,
|
|
359
|
-
refresh
|
|
360
|
-
};
|
|
361
|
-
}
|
|
362
153
|
function ReportFilterField({
|
|
363
154
|
def,
|
|
364
155
|
value,
|
|
@@ -367,6 +158,7 @@ function ReportFilterField({
|
|
|
367
158
|
const {
|
|
368
159
|
t
|
|
369
160
|
} = (0, import_react_i18next.useTranslation)();
|
|
161
|
+
const label = def.label || def.fieldname;
|
|
370
162
|
switch (def.fieldtype) {
|
|
371
163
|
case "Select":
|
|
372
164
|
{
|
|
@@ -375,7 +167,7 @@ function ReportFilterField({
|
|
|
375
167
|
value: ""
|
|
376
168
|
} : opt);
|
|
377
169
|
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_Select.Select, {
|
|
378
|
-
label
|
|
170
|
+
label,
|
|
379
171
|
compact: true,
|
|
380
172
|
options,
|
|
381
173
|
value: value == null ? "" : String(value),
|
|
@@ -385,25 +177,25 @@ function ReportFilterField({
|
|
|
385
177
|
case "Date":
|
|
386
178
|
case "Datetime":
|
|
387
179
|
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.DatePicker, {
|
|
388
|
-
label
|
|
180
|
+
label,
|
|
389
181
|
compact: true,
|
|
390
182
|
value: value == null ? null : String(value),
|
|
391
183
|
onChange: date => onChange(date ? (0, import_theme.formatCalendarDate)(date) : "")
|
|
392
184
|
});
|
|
393
185
|
case "Check":
|
|
394
186
|
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_Check.Check, {
|
|
395
|
-
label
|
|
187
|
+
label,
|
|
396
188
|
compact: true,
|
|
397
189
|
value: Boolean(value),
|
|
398
190
|
onChange: checked => onChange(checked ? 1 : 0)
|
|
399
191
|
});
|
|
400
192
|
default:
|
|
401
193
|
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_Data.Data, {
|
|
402
|
-
label
|
|
194
|
+
label,
|
|
403
195
|
compact: true,
|
|
404
196
|
value: value == null ? "" : String(value),
|
|
405
197
|
onChange,
|
|
406
|
-
placeholder:
|
|
198
|
+
placeholder: label
|
|
407
199
|
});
|
|
408
200
|
}
|
|
409
201
|
}
|
|
@@ -461,7 +253,7 @@ function FrappeReportView({
|
|
|
461
253
|
isFetching,
|
|
462
254
|
error,
|
|
463
255
|
refresh
|
|
464
|
-
} = useFrappeReport(connection, {
|
|
256
|
+
} = (0, import_useFrappeReport.useFrappeReport)(connection, {
|
|
465
257
|
reportName,
|
|
466
258
|
filters: filterValues,
|
|
467
259
|
fixture,
|
|
@@ -469,7 +261,8 @@ function FrappeReportView({
|
|
|
469
261
|
ignorePreparedReport,
|
|
470
262
|
debounceMs
|
|
471
263
|
});
|
|
472
|
-
const filterDefs = (0, import_react2.useMemo)(() => filterFields ?? payload?.filters ?? scriptFilters ?? [], [filterFields, payload?.filters, scriptFilters]);
|
|
264
|
+
const filterDefs = (0, import_react2.useMemo)(() => (0, import_queryReport.normalizeFilterMeta)(filterFields ?? payload?.filters ?? scriptFilters ?? []), [filterFields, payload?.filters, scriptFilters]);
|
|
265
|
+
const shownFilterDefs = (0, import_react2.useMemo)(() => filterDefs.filter(def => def.hidden !== 1), [filterDefs]);
|
|
473
266
|
const seededReportRef = (0, import_react2.useRef)(void 0);
|
|
474
267
|
(0, import_react2.useEffect)(() => {
|
|
475
268
|
if (isControlled || seededReportRef.current === reportName || !filterDefs.length) return;
|
|
@@ -477,7 +270,7 @@ function FrappeReportView({
|
|
|
477
270
|
setInternalFilters(prev => {
|
|
478
271
|
const seeded = {};
|
|
479
272
|
for (const def of filterDefs) {
|
|
480
|
-
if (def.default
|
|
273
|
+
if (def.default !== void 0 && def.default !== "" && prev[def.fieldname] == null) {
|
|
481
274
|
seeded[def.fieldname] = def.default;
|
|
482
275
|
}
|
|
483
276
|
}
|
|
@@ -494,13 +287,15 @@ function FrappeReportView({
|
|
|
494
287
|
header: col.label
|
|
495
288
|
})), [payload?.columns]);
|
|
496
289
|
const exportEnabled = showExport && canDownloadFiles();
|
|
497
|
-
const
|
|
290
|
+
const refused = error !== void 0 && (0, import_liveErrors.isPermissionError)(error);
|
|
291
|
+
const refreshShown = showRefresh && !refused;
|
|
292
|
+
const hasToolbar = shownFilterDefs.length > 0 || refreshShown || exportEnabled;
|
|
498
293
|
if (error && errorRenderer) {
|
|
499
294
|
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {
|
|
500
295
|
children: errorRenderer(error)
|
|
501
296
|
});
|
|
502
297
|
}
|
|
503
|
-
const normalizedError = error ? (0, import_liveErrors.toLiveLoadError)(error, {
|
|
298
|
+
const normalizedError = error && !refused ? (0, import_liveErrors.toLiveLoadError)(error, {
|
|
504
299
|
permissionMessage: t("You do not have permission to run {{reportName}}", {
|
|
505
300
|
reportName
|
|
506
301
|
}),
|
|
@@ -508,7 +303,7 @@ function FrappeReportView({
|
|
|
508
303
|
reportName
|
|
509
304
|
})
|
|
510
305
|
}) : null;
|
|
511
|
-
const boundaryState = normalizedError ? {
|
|
306
|
+
const boundaryState = refused ? null : normalizedError ? {
|
|
512
307
|
error: normalizedError
|
|
513
308
|
} : isLoading ? {
|
|
514
309
|
loading: loading ?? true
|
|
@@ -523,7 +318,7 @@ function FrappeReportView({
|
|
|
523
318
|
...knobProps.gap,
|
|
524
319
|
alignItems: "flex-end",
|
|
525
320
|
flexWrap: "wrap",
|
|
526
|
-
children: [
|
|
321
|
+
children: [shownFilterDefs.map(def => /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.YStack, {
|
|
527
322
|
minWidth: 180,
|
|
528
323
|
maxWidth: 280,
|
|
529
324
|
flexShrink: 1,
|
|
@@ -546,7 +341,7 @@ function FrappeReportView({
|
|
|
546
341
|
color: import_forms.formCommonColors.muted,
|
|
547
342
|
children: t("Updating...")
|
|
548
343
|
})]
|
|
549
|
-
}),
|
|
344
|
+
}), refreshShown && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
|
|
550
345
|
size: "$2",
|
|
551
346
|
icon: import_react.ArrowClockwiseIcon,
|
|
552
347
|
onPress: refresh,
|
|
@@ -555,7 +350,7 @@ function FrappeReportView({
|
|
|
555
350
|
}), exportEnabled && rows.length > 0 && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table.DataTableExport, {
|
|
556
351
|
data: rows,
|
|
557
352
|
columns: exportColumns,
|
|
558
|
-
filename: scrubFieldname(reportName),
|
|
353
|
+
filename: (0, import_queryReport.scrubFieldname)(reportName),
|
|
559
354
|
exportFormats: [{
|
|
560
355
|
id: "csv",
|
|
561
356
|
label: t("CSV"),
|
|
@@ -578,7 +373,13 @@ function FrappeReportView({
|
|
|
578
373
|
...knobProps.label,
|
|
579
374
|
color: import_forms.formCommonColors.muted,
|
|
580
375
|
children: payload.message
|
|
581
|
-
}),
|
|
376
|
+
}), refused ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.EmptyState, {
|
|
377
|
+
testID: "frappe-report-not-permitted",
|
|
378
|
+
title: t("You can't run {{reportName}}", {
|
|
379
|
+
reportName
|
|
380
|
+
}),
|
|
381
|
+
description: (0, import_liveErrors.refusalReason)((0, import_queryReport.humanizeFrappeError)(error))
|
|
382
|
+
}) : boundaryState ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.AsyncBoundary, {
|
|
582
383
|
layout: "table",
|
|
583
384
|
errorTitle: t("Error running {{reportName}}", {
|
|
584
385
|
reportName
|