@multiplatform.one/frappe-ui 7.7.4 → 7.7.6
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/FrappeAssignment.cjs +1 -0
- package/dist/cjs/FrappeAssignment.native.js +1 -0
- package/dist/cjs/FrappeAssignment.native.js.map +1 -1
- package/dist/cjs/FrappeCalendar.cjs +2 -1
- package/dist/cjs/FrappeCalendar.native.js +2 -1
- package/dist/cjs/FrappeCalendar.native.js.map +1 -1
- package/dist/cjs/FrappeChartCard.cjs +1 -0
- package/dist/cjs/FrappeChartCard.native.js +1 -0
- package/dist/cjs/FrappeChartCard.native.js.map +1 -1
- package/dist/cjs/FrappeDashboard.cjs +1 -0
- package/dist/cjs/FrappeDashboard.native.js +1 -0
- package/dist/cjs/FrappeDashboard.native.js.map +1 -1
- package/dist/cjs/FrappeForm.cjs +2 -1
- package/dist/cjs/FrappeForm.native.js +2 -1
- package/dist/cjs/FrappeForm.native.js.map +1 -1
- package/dist/cjs/FrappeGantt.cjs +2 -1
- package/dist/cjs/FrappeGantt.native.js +2 -1
- package/dist/cjs/FrappeGantt.native.js.map +1 -1
- package/dist/cjs/FrappeImageView.cjs +2 -1
- package/dist/cjs/FrappeImageView.native.js +2 -1
- package/dist/cjs/FrappeImageView.native.js.map +1 -1
- package/dist/cjs/FrappeKPICard.cjs +1 -0
- package/dist/cjs/FrappeKPICard.native.js +1 -0
- package/dist/cjs/FrappeKPICard.native.js.map +1 -1
- package/dist/cjs/FrappeKanban.cjs +2 -1
- package/dist/cjs/FrappeKanban.native.js +2 -1
- package/dist/cjs/FrappeKanban.native.js.map +1 -1
- package/dist/cjs/FrappeLikedBy.cjs +1 -0
- package/dist/cjs/FrappeLikedBy.native.js +1 -0
- package/dist/cjs/FrappeLikedBy.native.js.map +1 -1
- package/dist/cjs/FrappeList.cjs +2 -1
- package/dist/cjs/FrappeList.native.js +2 -1
- package/dist/cjs/FrappeList.native.js.map +1 -1
- package/dist/cjs/FrappeListView.cjs +1 -0
- package/dist/cjs/FrappeListView.native.js +1 -0
- package/dist/cjs/FrappeListView.native.js.map +1 -1
- package/dist/cjs/FrappeProvider.cjs +3 -1
- package/dist/cjs/FrappeProvider.native.js +3 -1
- package/dist/cjs/FrappeProvider.native.js.map +1 -1
- package/dist/cjs/FrappeReportBuilder.cjs +1 -0
- package/dist/cjs/FrappeReportBuilder.native.js +1 -0
- package/dist/cjs/FrappeReportBuilder.native.js.map +1 -1
- package/dist/cjs/FrappeReportView.cjs +2 -1
- package/dist/cjs/FrappeReportView.native.js +2 -1
- package/dist/cjs/FrappeReportView.native.js.map +1 -1
- package/dist/cjs/FrappeTable.cjs +2 -1
- package/dist/cjs/FrappeTable.native.js +2 -1
- package/dist/cjs/FrappeTable.native.js.map +1 -1
- package/dist/cjs/FrappeTreeView.cjs +2 -1
- package/dist/cjs/FrappeTreeView.native.js +2 -1
- package/dist/cjs/FrappeTreeView.native.js.map +1 -1
- package/dist/cjs/components/attachments.cjs +1 -0
- package/dist/cjs/components/attachments.native.js +1 -0
- package/dist/cjs/components/attachments.native.js.map +1 -1
- package/dist/cjs/components/tags.cjs +1 -0
- package/dist/cjs/components/tags.native.js +1 -0
- package/dist/cjs/components/tags.native.js.map +1 -1
- package/dist/cjs/components/timeline.cjs +1 -0
- package/dist/cjs/components/timeline.native.js +1 -0
- package/dist/cjs/components/timeline.native.js.map +1 -1
- package/dist/cjs/desk/DeskFormSidebar.cjs +1 -0
- package/dist/cjs/desk/DeskFormSidebar.native.js +1 -0
- package/dist/cjs/desk/DeskFormSidebar.native.js.map +1 -1
- package/dist/cjs/desk/DeskSidebar.cjs +1 -0
- package/dist/cjs/desk/DeskSidebar.native.js +1 -0
- package/dist/cjs/desk/DeskSidebar.native.js.map +1 -1
- package/dist/cjs/desk/awesomebar.cjs +1 -0
- package/dist/cjs/desk/awesomebar.native.js +1 -0
- package/dist/cjs/desk/awesomebar.native.js.map +1 -1
- package/dist/cjs/fieldRegistry.cjs +1 -0
- package/dist/cjs/fieldRegistry.native.js +1 -0
- package/dist/cjs/fieldRegistry.native.js.map +1 -1
- package/dist/cjs/fields/FileUpload.cjs +1 -0
- package/dist/cjs/fields/FileUpload.native.js +1 -0
- package/dist/cjs/fields/FileUpload.native.js.map +1 -1
- package/dist/cjs/fields/Link.cjs +1 -0
- package/dist/cjs/fields/Link.native.js +1 -0
- package/dist/cjs/fields/Link.native.js.map +1 -1
- package/dist/cjs/fields/LinkTree.cjs +2 -1
- package/dist/cjs/fields/LinkTree.native.js +2 -1
- package/dist/cjs/fields/LinkTree.native.js.map +1 -1
- package/dist/cjs/fields/TableMultiSelect.cjs +1 -0
- package/dist/cjs/fields/TableMultiSelect.native.js +1 -0
- package/dist/cjs/fields/TableMultiSelect.native.js.map +1 -1
- package/dist/cjs/frappeUsers.cjs +1 -0
- package/dist/cjs/frappeUsers.native.js +1 -0
- package/dist/cjs/frappeUsers.native.js.map +1 -1
- package/dist/esm/FrappeAssignment.mjs +1 -0
- package/dist/esm/FrappeAssignment.mjs.map +1 -1
- package/dist/esm/FrappeAssignment.native.js +1 -0
- package/dist/esm/FrappeAssignment.native.js.map +1 -1
- package/dist/esm/FrappeCalendar.mjs +2 -1
- package/dist/esm/FrappeCalendar.mjs.map +1 -1
- package/dist/esm/FrappeCalendar.native.js +2 -1
- package/dist/esm/FrappeCalendar.native.js.map +1 -1
- package/dist/esm/FrappeChartCard.mjs +1 -0
- package/dist/esm/FrappeChartCard.mjs.map +1 -1
- package/dist/esm/FrappeChartCard.native.js +1 -0
- package/dist/esm/FrappeChartCard.native.js.map +1 -1
- package/dist/esm/FrappeDashboard.mjs +1 -0
- package/dist/esm/FrappeDashboard.mjs.map +1 -1
- package/dist/esm/FrappeDashboard.native.js +1 -0
- package/dist/esm/FrappeDashboard.native.js.map +1 -1
- package/dist/esm/FrappeForm.mjs +2 -1
- package/dist/esm/FrappeForm.mjs.map +1 -1
- package/dist/esm/FrappeForm.native.js +2 -1
- package/dist/esm/FrappeForm.native.js.map +1 -1
- package/dist/esm/FrappeGantt.mjs +2 -1
- package/dist/esm/FrappeGantt.mjs.map +1 -1
- package/dist/esm/FrappeGantt.native.js +2 -1
- package/dist/esm/FrappeGantt.native.js.map +1 -1
- package/dist/esm/FrappeImageView.mjs +2 -1
- package/dist/esm/FrappeImageView.mjs.map +1 -1
- package/dist/esm/FrappeImageView.native.js +2 -1
- package/dist/esm/FrappeImageView.native.js.map +1 -1
- package/dist/esm/FrappeKPICard.mjs +1 -0
- package/dist/esm/FrappeKPICard.mjs.map +1 -1
- package/dist/esm/FrappeKPICard.native.js +1 -0
- package/dist/esm/FrappeKPICard.native.js.map +1 -1
- package/dist/esm/FrappeKanban.mjs +2 -1
- package/dist/esm/FrappeKanban.mjs.map +1 -1
- package/dist/esm/FrappeKanban.native.js +2 -1
- package/dist/esm/FrappeKanban.native.js.map +1 -1
- package/dist/esm/FrappeLikedBy.mjs +1 -0
- package/dist/esm/FrappeLikedBy.mjs.map +1 -1
- package/dist/esm/FrappeLikedBy.native.js +1 -0
- package/dist/esm/FrappeLikedBy.native.js.map +1 -1
- package/dist/esm/FrappeList.mjs +2 -1
- package/dist/esm/FrappeList.mjs.map +1 -1
- package/dist/esm/FrappeList.native.js +2 -1
- package/dist/esm/FrappeList.native.js.map +1 -1
- package/dist/esm/FrappeListView.mjs +1 -0
- package/dist/esm/FrappeListView.mjs.map +1 -1
- package/dist/esm/FrappeListView.native.js +1 -0
- package/dist/esm/FrappeListView.native.js.map +1 -1
- package/dist/esm/FrappeProvider.mjs +3 -1
- package/dist/esm/FrappeProvider.mjs.map +1 -1
- package/dist/esm/FrappeProvider.native.js +3 -1
- package/dist/esm/FrappeProvider.native.js.map +1 -1
- package/dist/esm/FrappeReportBuilder.mjs +1 -0
- package/dist/esm/FrappeReportBuilder.mjs.map +1 -1
- package/dist/esm/FrappeReportBuilder.native.js +1 -0
- package/dist/esm/FrappeReportBuilder.native.js.map +1 -1
- package/dist/esm/FrappeReportView.mjs +2 -1
- package/dist/esm/FrappeReportView.mjs.map +1 -1
- package/dist/esm/FrappeReportView.native.js +2 -1
- package/dist/esm/FrappeReportView.native.js.map +1 -1
- package/dist/esm/FrappeTable.mjs +2 -1
- package/dist/esm/FrappeTable.mjs.map +1 -1
- package/dist/esm/FrappeTable.native.js +2 -1
- package/dist/esm/FrappeTable.native.js.map +1 -1
- package/dist/esm/FrappeTreeView.mjs +2 -1
- package/dist/esm/FrappeTreeView.mjs.map +1 -1
- package/dist/esm/FrappeTreeView.native.js +2 -1
- package/dist/esm/FrappeTreeView.native.js.map +1 -1
- package/dist/esm/components/attachments.mjs +1 -0
- package/dist/esm/components/attachments.mjs.map +1 -1
- package/dist/esm/components/attachments.native.js +1 -0
- package/dist/esm/components/attachments.native.js.map +1 -1
- package/dist/esm/components/tags.mjs +1 -0
- package/dist/esm/components/tags.mjs.map +1 -1
- package/dist/esm/components/tags.native.js +1 -0
- package/dist/esm/components/tags.native.js.map +1 -1
- package/dist/esm/components/timeline.mjs +1 -0
- package/dist/esm/components/timeline.mjs.map +1 -1
- package/dist/esm/components/timeline.native.js +1 -0
- package/dist/esm/components/timeline.native.js.map +1 -1
- package/dist/esm/desk/DeskFormSidebar.mjs +1 -0
- package/dist/esm/desk/DeskFormSidebar.mjs.map +1 -1
- package/dist/esm/desk/DeskFormSidebar.native.js +1 -0
- package/dist/esm/desk/DeskFormSidebar.native.js.map +1 -1
- package/dist/esm/desk/DeskSidebar.mjs +1 -0
- package/dist/esm/desk/DeskSidebar.mjs.map +1 -1
- package/dist/esm/desk/DeskSidebar.native.js +1 -0
- package/dist/esm/desk/DeskSidebar.native.js.map +1 -1
- package/dist/esm/desk/awesomebar.mjs +1 -0
- package/dist/esm/desk/awesomebar.mjs.map +1 -1
- package/dist/esm/desk/awesomebar.native.js +1 -0
- package/dist/esm/desk/awesomebar.native.js.map +1 -1
- package/dist/esm/fieldRegistry.mjs +1 -0
- package/dist/esm/fieldRegistry.mjs.map +1 -1
- package/dist/esm/fieldRegistry.native.js +1 -0
- package/dist/esm/fieldRegistry.native.js.map +1 -1
- package/dist/esm/fields/FileUpload.mjs +1 -0
- package/dist/esm/fields/FileUpload.mjs.map +1 -1
- package/dist/esm/fields/FileUpload.native.js +1 -0
- package/dist/esm/fields/FileUpload.native.js.map +1 -1
- package/dist/esm/fields/Link.mjs +1 -0
- package/dist/esm/fields/Link.mjs.map +1 -1
- package/dist/esm/fields/Link.native.js +1 -0
- package/dist/esm/fields/Link.native.js.map +1 -1
- package/dist/esm/fields/LinkTree.mjs +2 -1
- package/dist/esm/fields/LinkTree.mjs.map +1 -1
- package/dist/esm/fields/LinkTree.native.js +2 -1
- package/dist/esm/fields/LinkTree.native.js.map +1 -1
- package/dist/esm/fields/TableMultiSelect.mjs +1 -0
- package/dist/esm/fields/TableMultiSelect.mjs.map +1 -1
- package/dist/esm/fields/TableMultiSelect.native.js +1 -0
- package/dist/esm/fields/TableMultiSelect.native.js.map +1 -1
- package/dist/esm/formEngine/formActions.mjs.map +1 -1
- package/dist/esm/frappeUsers.mjs +1 -0
- package/dist/esm/frappeUsers.mjs.map +1 -1
- package/dist/esm/frappeUsers.native.js +1 -0
- package/dist/esm/frappeUsers.native.js.map +1 -1
- package/dist/esm/useFrappeAggregate.mjs.map +1 -1
- package/dist/jsx/FrappeAssignment.mjs +1 -0
- package/dist/jsx/FrappeAssignment.mjs.map +1 -1
- package/dist/jsx/FrappeAssignment.native.js +1 -0
- package/dist/jsx/FrappeAssignment.native.js.map +1 -1
- package/dist/jsx/FrappeCalendar.mjs +2 -1
- package/dist/jsx/FrappeCalendar.mjs.map +1 -1
- package/dist/jsx/FrappeCalendar.native.js +2 -1
- package/dist/jsx/FrappeCalendar.native.js.map +1 -1
- package/dist/jsx/FrappeChartCard.mjs +1 -0
- package/dist/jsx/FrappeChartCard.mjs.map +1 -1
- package/dist/jsx/FrappeChartCard.native.js +1 -0
- package/dist/jsx/FrappeChartCard.native.js.map +1 -1
- package/dist/jsx/FrappeDashboard.mjs +1 -0
- package/dist/jsx/FrappeDashboard.mjs.map +1 -1
- package/dist/jsx/FrappeDashboard.native.js +1 -0
- package/dist/jsx/FrappeDashboard.native.js.map +1 -1
- package/dist/jsx/FrappeForm.mjs +2 -1
- package/dist/jsx/FrappeForm.mjs.map +1 -1
- package/dist/jsx/FrappeForm.native.js +2 -1
- package/dist/jsx/FrappeForm.native.js.map +1 -1
- package/dist/jsx/FrappeGantt.mjs +2 -1
- package/dist/jsx/FrappeGantt.mjs.map +1 -1
- package/dist/jsx/FrappeGantt.native.js +2 -1
- package/dist/jsx/FrappeGantt.native.js.map +1 -1
- package/dist/jsx/FrappeImageView.mjs +2 -1
- package/dist/jsx/FrappeImageView.mjs.map +1 -1
- package/dist/jsx/FrappeImageView.native.js +2 -1
- package/dist/jsx/FrappeImageView.native.js.map +1 -1
- package/dist/jsx/FrappeKPICard.mjs +1 -0
- package/dist/jsx/FrappeKPICard.mjs.map +1 -1
- package/dist/jsx/FrappeKPICard.native.js +1 -0
- package/dist/jsx/FrappeKPICard.native.js.map +1 -1
- package/dist/jsx/FrappeKanban.mjs +2 -1
- package/dist/jsx/FrappeKanban.mjs.map +1 -1
- package/dist/jsx/FrappeKanban.native.js +2 -1
- package/dist/jsx/FrappeKanban.native.js.map +1 -1
- package/dist/jsx/FrappeLikedBy.mjs +1 -0
- package/dist/jsx/FrappeLikedBy.mjs.map +1 -1
- package/dist/jsx/FrappeLikedBy.native.js +1 -0
- package/dist/jsx/FrappeLikedBy.native.js.map +1 -1
- package/dist/jsx/FrappeList.mjs +2 -1
- package/dist/jsx/FrappeList.mjs.map +1 -1
- package/dist/jsx/FrappeList.native.js +2 -1
- package/dist/jsx/FrappeList.native.js.map +1 -1
- package/dist/jsx/FrappeListView.mjs +1 -0
- package/dist/jsx/FrappeListView.mjs.map +1 -1
- package/dist/jsx/FrappeListView.native.js +1 -0
- package/dist/jsx/FrappeListView.native.js.map +1 -1
- package/dist/jsx/FrappeProvider.mjs +3 -1
- package/dist/jsx/FrappeProvider.mjs.map +1 -1
- package/dist/jsx/FrappeProvider.native.js +3 -1
- package/dist/jsx/FrappeProvider.native.js.map +1 -1
- package/dist/jsx/FrappeReportBuilder.mjs +1 -0
- package/dist/jsx/FrappeReportBuilder.mjs.map +1 -1
- package/dist/jsx/FrappeReportBuilder.native.js +1 -0
- package/dist/jsx/FrappeReportBuilder.native.js.map +1 -1
- package/dist/jsx/FrappeReportView.mjs +2 -1
- package/dist/jsx/FrappeReportView.mjs.map +1 -1
- package/dist/jsx/FrappeReportView.native.js +2 -1
- package/dist/jsx/FrappeReportView.native.js.map +1 -1
- package/dist/jsx/FrappeTable.mjs +2 -1
- package/dist/jsx/FrappeTable.mjs.map +1 -1
- package/dist/jsx/FrappeTable.native.js +2 -1
- package/dist/jsx/FrappeTable.native.js.map +1 -1
- package/dist/jsx/FrappeTreeView.mjs +2 -1
- package/dist/jsx/FrappeTreeView.mjs.map +1 -1
- package/dist/jsx/FrappeTreeView.native.js +2 -1
- package/dist/jsx/FrappeTreeView.native.js.map +1 -1
- package/dist/jsx/components/attachments.mjs +1 -0
- package/dist/jsx/components/attachments.mjs.map +1 -1
- package/dist/jsx/components/attachments.native.js +1 -0
- package/dist/jsx/components/attachments.native.js.map +1 -1
- package/dist/jsx/components/tags.mjs +1 -0
- package/dist/jsx/components/tags.mjs.map +1 -1
- package/dist/jsx/components/tags.native.js +1 -0
- package/dist/jsx/components/tags.native.js.map +1 -1
- package/dist/jsx/components/timeline.mjs +1 -0
- package/dist/jsx/components/timeline.mjs.map +1 -1
- package/dist/jsx/components/timeline.native.js +1 -0
- package/dist/jsx/components/timeline.native.js.map +1 -1
- package/dist/jsx/desk/DeskFormSidebar.mjs +1 -0
- package/dist/jsx/desk/DeskFormSidebar.mjs.map +1 -1
- package/dist/jsx/desk/DeskFormSidebar.native.js +1 -0
- package/dist/jsx/desk/DeskFormSidebar.native.js.map +1 -1
- package/dist/jsx/desk/DeskSidebar.mjs +1 -0
- package/dist/jsx/desk/DeskSidebar.mjs.map +1 -1
- package/dist/jsx/desk/DeskSidebar.native.js +1 -0
- package/dist/jsx/desk/DeskSidebar.native.js.map +1 -1
- package/dist/jsx/desk/awesomebar.mjs +1 -0
- package/dist/jsx/desk/awesomebar.mjs.map +1 -1
- package/dist/jsx/desk/awesomebar.native.js +1 -0
- package/dist/jsx/desk/awesomebar.native.js.map +1 -1
- package/dist/jsx/fieldRegistry.mjs +1 -0
- package/dist/jsx/fieldRegistry.mjs.map +1 -1
- package/dist/jsx/fieldRegistry.native.js +1 -0
- package/dist/jsx/fieldRegistry.native.js.map +1 -1
- package/dist/jsx/fields/FileUpload.mjs +1 -0
- package/dist/jsx/fields/FileUpload.mjs.map +1 -1
- package/dist/jsx/fields/FileUpload.native.js +1 -0
- package/dist/jsx/fields/FileUpload.native.js.map +1 -1
- package/dist/jsx/fields/Link.mjs +1 -0
- package/dist/jsx/fields/Link.mjs.map +1 -1
- package/dist/jsx/fields/Link.native.js +1 -0
- package/dist/jsx/fields/Link.native.js.map +1 -1
- package/dist/jsx/fields/LinkTree.mjs +2 -1
- package/dist/jsx/fields/LinkTree.mjs.map +1 -1
- package/dist/jsx/fields/LinkTree.native.js +2 -1
- package/dist/jsx/fields/LinkTree.native.js.map +1 -1
- package/dist/jsx/fields/TableMultiSelect.mjs +1 -0
- package/dist/jsx/fields/TableMultiSelect.mjs.map +1 -1
- package/dist/jsx/fields/TableMultiSelect.native.js +1 -0
- package/dist/jsx/fields/TableMultiSelect.native.js.map +1 -1
- package/dist/jsx/formEngine/formActions.mjs.map +1 -1
- package/dist/jsx/formEngine/formActions.native.js.map +1 -1
- package/dist/jsx/frappeUsers.mjs +1 -0
- package/dist/jsx/frappeUsers.mjs.map +1 -1
- package/dist/jsx/frappeUsers.native.js +1 -0
- package/dist/jsx/frappeUsers.native.js.map +1 -1
- package/dist/jsx/index.native.js.map +1 -1
- package/dist/jsx/useFrappeAggregate.mjs.map +1 -1
- package/dist/jsx/useFrappeAggregate.native.js.map +1 -1
- package/package.json +16 -16
- package/src/FrappeAssignment.tsx +1 -0
- package/src/FrappeCalendar.tsx +2 -0
- package/src/FrappeChartCard.tsx +1 -0
- package/src/FrappeDashboard.tsx +3 -0
- package/src/FrappeForm.tsx +2 -0
- package/src/FrappeGantt.tsx +2 -0
- package/src/FrappeImageView.tsx +2 -0
- package/src/FrappeKPICard.tsx +1 -0
- package/src/FrappeKanban.tsx +2 -0
- package/src/FrappeLikedBy.tsx +1 -0
- package/src/FrappeList.tsx +2 -0
- package/src/FrappeListView.tsx +1 -0
- package/src/FrappeProvider.realtime.spec.tsx +59 -0
- package/src/FrappeProvider.tsx +17 -1
- package/src/FrappeReportBuilder.tsx +1 -0
- package/src/FrappeReportView.tsx +5 -2
- package/src/FrappeTable.tsx +2 -0
- package/src/FrappeTreeView.tsx +2 -0
- package/src/components/attachments.tsx +1 -0
- package/src/components/tags.tsx +1 -0
- package/src/components/timeline.tsx +1 -0
- package/src/desk/DeskFormSidebar.tsx +1 -0
- package/src/desk/DeskSidebar.tsx +6 -1
- package/src/desk/awesomebar.tsx +6 -1
- package/src/fieldRegistry.ts +1 -0
- package/src/fields/FileUpload.tsx +1 -0
- package/src/fields/Link.tsx +6 -1
- package/src/fields/LinkTree.tsx +2 -1
- package/src/fields/TableMultiSelect.tsx +1 -0
- package/src/formEngine/formActions.ts +2 -0
- package/src/frappeUsers.ts +1 -0
- package/src/useFrappeAggregate.ts +2 -0
- package/types/FrappeAssignment.d.ts.map +1 -1
- package/types/FrappeCalendar.d.ts.map +1 -1
- package/types/FrappeChartCard.d.ts.map +1 -1
- package/types/FrappeDashboard.d.ts.map +1 -1
- package/types/FrappeForm.d.ts.map +1 -1
- package/types/FrappeGantt.d.ts.map +1 -1
- package/types/FrappeKPICard.d.ts.map +1 -1
- package/types/FrappeKanban.d.ts.map +1 -1
- package/types/FrappeLikedBy.d.ts.map +1 -1
- package/types/FrappeList.d.ts.map +1 -1
- package/types/FrappeListView.d.ts.map +1 -1
- package/types/FrappeProvider.d.ts +5 -1
- package/types/FrappeProvider.d.ts.map +1 -1
- package/types/FrappeReportBuilder.d.ts.map +1 -1
- package/types/FrappeReportView.d.ts.map +1 -1
- package/types/FrappeTable.d.ts.map +1 -1
- package/types/FrappeTreeView.d.ts.map +1 -1
- package/types/components/attachments.d.ts.map +1 -1
- package/types/components/tags.d.ts.map +1 -1
- package/types/components/timeline.d.ts.map +1 -1
- package/types/desk/DeskFormSidebar.d.ts.map +1 -1
- package/types/desk/DeskSidebar.d.ts.map +1 -1
- package/types/desk/awesomebar.d.ts.map +1 -1
- package/types/fieldRegistry.d.ts.map +1 -1
- package/types/fields/FileUpload.d.ts.map +1 -1
- package/types/fields/Link.d.ts.map +1 -1
- package/types/fields/LinkTree.d.ts.map +1 -1
- package/types/fields/TableMultiSelect.d.ts.map +1 -1
- package/types/formEngine/formActions.d.ts +2 -0
- package/types/formEngine/formActions.d.ts.map +1 -1
- package/types/frappeUsers.d.ts.map +1 -1
- package/types/useFrappeAggregate.d.ts +2 -0
- package/types/useFrappeAggregate.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","FrappeApp","Order","matchesFilters","useDocTypeMeta","useFrappeCollection","useFrappeDoctypeEvents","useLiveQuery","DataTable","AsyncBoundary","useResolvedKnobs","React","useCallback","useEffect","useMemo","useRef","useState","useTranslation","XStack","YStack","FilterManager","SavedFilterDropdown","useSavedFilters","useFrappeConfig","FrappeReconnectIndicator","docFieldsToFilterFields","toLiveLoadError","_instanceof","left","right","Symbol","hasInstance","_type_of","obj","constructor","filterValueToFrappeTuple","fieldname","filterValue","operator","value","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","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","FrappeTable","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","t","errorState","setErrorState","activeFilters","setActiveFilters","config","filtersPropKey","JSON","stringify","adoptedFiltersPropRef","current","parse","finalBaseURL","finalAuth","finalSyncOptions","Error","connectionConfig","socketPort","siteName","socketBaseURL","fixtures","frappeApp","meta","metaFilterFields","titleField","title_field","rowLabel","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","abort","controller","AbortController","seq","data","count","Promise","all","db","getDocList","signal","getCount","aborted","liveRefetchTimer","clearTimeout","setTimeout","refreshTokenSeen","frappeLoadPage","query","rows2","resolve","totalCount","resolvedLoadPage","handleStateChange","_lastStateRef_current","columnVisibility","columnOrder","c","_c_id","columnSizing","savedFiltersHook","handleSyncError","permissionMessage","genericMessage","collection","onSyncError","rawData","isLoading","isRowsLoading","isError","isLiveError","q","from","_list","clientRows","lastGoodClientRows","clientRowsResolved","held","serverRowsResolved","isRowsLoadingResolved","isFetching","prev","handleSelectFilter","handleSelectFilter2","handleSaveFilter","handleSaveFilter2","filterName","isGlobal","filterArray","Array","isArray","Object","entries","param2","saveFilter","handleDeleteFilter","handleDeleteFilter2","deleteFilter","children","rowData","boundaryState","empty","gap","flex","errorTitle","emptyTitle","padding","selectedFilter","onSelectFilter","onDeleteFilter","currentFilters","onSaveFilter","canCreateGlobal","onRowPress","manualFiltering","manualPagination","manualSorting","rowCount"],"sources":["FrappeTable.native.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { FrappeApp, Order, matchesFilters, useDocTypeMeta, useFrappeCollection, useFrappeDoctypeEvents, useLiveQuery } from \"@multiplatform.one/frappe\";\nimport { DataTable } from \"@multiplatform.one/table\";\nimport { AsyncBoundary } from \"@multiplatform.one/components\";\nimport { useResolvedKnobs } from \"@multiplatform.one/theme\";\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { XStack, YStack } from \"tamagui\";\nimport { FilterManager, SavedFilterDropdown, useSavedFilters } from \"@multiplatform.one/table\";\nimport { useFrappeConfig } from \"./FrappeProvider\";\nimport { FrappeReconnectIndicator } from \"./FrappeReconnectIndicator\";\nimport { docFieldsToFilterFields } from \"./filterFields\";\nimport { toLiveLoadError } from \"./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 === Order.Asc ? -1 : 1;\n if (bv == null) return order === Order.Asc ? 1 : -1;\n if (av < bv) return order === Order.Asc ? -1 : 1;\n if (av > bv) return order === 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 ? Order.Desc : 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 } = useResolvedKnobs();\n var { t } = useTranslation();\n var [errorState, setErrorState] = React.useState(null);\n var [activeFilters, setActiveFilters] = React.useState(initialFilters);\n var config = useFrappeConfig();\n var filtersPropKey = initialFilters !== void 0 ? JSON.stringify(initialFilters) : void 0;\n var adoptedFiltersPropRef = useRef(filtersPropKey);\n 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 = 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 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 finalAuth,\n finalSyncOptions,\n config === null || config === void 0 ? void 0 : config.fixtures\n ]);\n var frappeApp = useMemo(function() {\n if (!serverSide || !finalBaseURL) return null;\n return new FrappeApp(finalBaseURL, finalAuth !== null && finalAuth !== void 0 ? finalAuth : {});\n }, [\n serverSide,\n finalBaseURL,\n finalAuth\n ]);\n var { meta } = useDocTypeMeta(filterableFieldsProp ? void 0 : connectionConfig, doctype);\n var metaFilterFields = useMemo(function() {\n return (meta === null || meta === void 0 ? void 0 : meta.fields) ? 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 = 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] = useState([]);\n var [serverRowCount, setServerRowCount] = useState(0);\n var [serverLoading, setServerLoading] = useState(serverSide);\n var [hasLoadedOnce, setHasLoadedOnce] = useState(false);\n var hasLoadedOnceRef = useRef(false);\n var lastFetchKey = useRef(\"\");\n var fetchSeq = useRef(0);\n var fetchAbortRef = useRef(null);\n var lastStateRef = useRef(null);\n var lastFiltersKey = useRef(\"\");\n var lastSortKey = useRef(\"\");\n var lastGoodServerRows = useRef([]);\n var fetchServerData = 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 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 = useRef(null);\n 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 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 = useRef(refreshToken);\n 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 = 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 = 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 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 = useSavedFilters({\n userId\n });\n var handleSyncError = useCallback(function(err) {\n setErrorState(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 = 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 } = useLiveQuery(function(q) {\n return collection ? q.from({\n _list: collection\n }) : null;\n }, [\n collection\n ]);\n var clientRows = useMemo(function() {\n return rawData !== null && rawData !== void 0 ? rawData : [];\n }, [\n rawData\n ]);\n var lastGoodClientRows = useRef(null);\n if (!serverSide && !isRowsLoading) lastGoodClientRows.current = clientRows;\n var clientRowsResolved = 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 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 useEffect(function() {\n if (!serverSide) setErrorState(null);\n }, [\n collection,\n serverSide\n ]);\n 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__ */ _jsx(_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__ */ _jsxs(YStack, {\n ...knobProps.gap,\n flex: 1,\n children: [\n /* @__PURE__ */ _jsx(FrappeReconnectIndicator, {\n config: connectionConfig\n }),\n /* @__PURE__ */ _jsx(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__ */ _jsxs(YStack, {\n ...knobProps.gap,\n flex: 1,\n children: [\n /* @__PURE__ */ _jsx(FrappeReconnectIndicator, {\n config: connectionConfig\n }),\n savedFilters && savedFiltersHook && /* @__PURE__ */ _jsxs(XStack, {\n ...knobProps.gap,\n padding: \"$2\",\n children: [\n /* @__PURE__ */ _jsx(SavedFilterDropdown, {\n filters: savedFiltersHook.filters,\n selectedFilter: null,\n onSelectFilter: handleSelectFilter,\n onDeleteFilter: handleDeleteFilter\n }),\n /* @__PURE__ */ _jsx(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__ */ _jsx(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}\nexport {\n FrappeTable,\n filterValueToFrappeTuple\n};\n//# sourceMappingURL=FrappeTable.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","FrappeApp","Order","matchesFilters","useDocTypeMeta","useFrappeCollection","useFrappeDoctypeEvents","useLiveQuery","DataTable","AsyncBoundary","useResolvedKnobs","React","useCallback","useEffect","useMemo","useRef","useState","useTranslation","XStack","YStack","FilterManager","SavedFilterDropdown","useSavedFilters","useFrappeConfig","FrappeReconnectIndicator","docFieldsToFilterFields","toLiveLoadError","_instanceof","left","right","Symbol","hasInstance","_type_of","obj","constructor","filterValueToFrappeTuple","fieldname","filterValue","operator","value","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","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","FrappeTable","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","t","errorState","setErrorState","activeFilters","setActiveFilters","config","filtersPropKey","JSON","stringify","adoptedFiltersPropRef","current","parse","finalBaseURL","finalAuth","finalSyncOptions","Error","connectionConfig","socketPort","siteName","socketBaseURL","realtime","fixtures","frappeApp","meta","metaFilterFields","titleField","title_field","rowLabel","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","abort","controller","AbortController","seq","data","count","Promise","all","db","getDocList","signal","getCount","aborted","liveRefetchTimer","clearTimeout","setTimeout","refreshTokenSeen","frappeLoadPage","query","rows2","resolve","totalCount","resolvedLoadPage","handleStateChange","_lastStateRef_current","columnVisibility","columnOrder","c","_c_id","columnSizing","savedFiltersHook","handleSyncError","permissionMessage","genericMessage","collection","onSyncError","rawData","isLoading","isRowsLoading","isError","isLiveError","q","from","_list","clientRows","lastGoodClientRows","clientRowsResolved","held","serverRowsResolved","isRowsLoadingResolved","isFetching","prev","handleSelectFilter","handleSelectFilter2","handleSaveFilter","handleSaveFilter2","filterName","isGlobal","filterArray","Array","isArray","Object","entries","param2","saveFilter","handleDeleteFilter","handleDeleteFilter2","deleteFilter","children","rowData","boundaryState","empty","gap","flex","errorTitle","emptyTitle","padding","selectedFilter","onSelectFilter","onDeleteFilter","currentFilters","onSaveFilter","canCreateGlobal","onRowPress","manualFiltering","manualPagination","manualSorting","rowCount"],"sources":["FrappeTable.native.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { FrappeApp, Order, matchesFilters, useDocTypeMeta, useFrappeCollection, useFrappeDoctypeEvents, useLiveQuery } from \"@multiplatform.one/frappe\";\nimport { DataTable } from \"@multiplatform.one/table\";\nimport { AsyncBoundary } from \"@multiplatform.one/components\";\nimport { useResolvedKnobs } from \"@multiplatform.one/theme\";\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { XStack, YStack } from \"tamagui\";\nimport { FilterManager, SavedFilterDropdown, useSavedFilters } from \"@multiplatform.one/table\";\nimport { useFrappeConfig } from \"./FrappeProvider\";\nimport { FrappeReconnectIndicator } from \"./FrappeReconnectIndicator\";\nimport { docFieldsToFilterFields } from \"./filterFields\";\nimport { toLiveLoadError } from \"./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 === Order.Asc ? -1 : 1;\n if (bv == null) return order === Order.Asc ? 1 : -1;\n if (av < bv) return order === Order.Asc ? -1 : 1;\n if (av > bv) return order === 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 ? Order.Desc : 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 } = useResolvedKnobs();\n var { t } = useTranslation();\n var [errorState, setErrorState] = React.useState(null);\n var [activeFilters, setActiveFilters] = React.useState(initialFilters);\n var config = useFrappeConfig();\n var filtersPropKey = initialFilters !== void 0 ? JSON.stringify(initialFilters) : void 0;\n var adoptedFiltersPropRef = useRef(filtersPropKey);\n 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 = 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 = useMemo(function() {\n if (!serverSide || !finalBaseURL) return null;\n return new FrappeApp(finalBaseURL, finalAuth !== null && finalAuth !== void 0 ? finalAuth : {});\n }, [\n serverSide,\n finalBaseURL,\n finalAuth\n ]);\n var { meta } = useDocTypeMeta(filterableFieldsProp ? void 0 : connectionConfig, doctype);\n var metaFilterFields = useMemo(function() {\n return (meta === null || meta === void 0 ? void 0 : meta.fields) ? 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 = 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] = useState([]);\n var [serverRowCount, setServerRowCount] = useState(0);\n var [serverLoading, setServerLoading] = useState(serverSide);\n var [hasLoadedOnce, setHasLoadedOnce] = useState(false);\n var hasLoadedOnceRef = useRef(false);\n var lastFetchKey = useRef(\"\");\n var fetchSeq = useRef(0);\n var fetchAbortRef = useRef(null);\n var lastStateRef = useRef(null);\n var lastFiltersKey = useRef(\"\");\n var lastSortKey = useRef(\"\");\n var lastGoodServerRows = useRef([]);\n var fetchServerData = 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 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 = useRef(null);\n 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 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 = useRef(refreshToken);\n 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 = 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 = 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 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 = useSavedFilters({\n userId\n });\n var handleSyncError = useCallback(function(err) {\n setErrorState(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 = 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 } = useLiveQuery(function(q) {\n return collection ? q.from({\n _list: collection\n }) : null;\n }, [\n collection\n ]);\n var clientRows = useMemo(function() {\n return rawData !== null && rawData !== void 0 ? rawData : [];\n }, [\n rawData\n ]);\n var lastGoodClientRows = useRef(null);\n if (!serverSide && !isRowsLoading) lastGoodClientRows.current = clientRows;\n var clientRowsResolved = 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 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 useEffect(function() {\n if (!serverSide) setErrorState(null);\n }, [\n collection,\n serverSide\n ]);\n 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__ */ _jsx(_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__ */ _jsxs(YStack, {\n ...knobProps.gap,\n flex: 1,\n children: [\n /* @__PURE__ */ _jsx(FrappeReconnectIndicator, {\n config: connectionConfig\n }),\n /* @__PURE__ */ _jsx(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__ */ _jsxs(YStack, {\n ...knobProps.gap,\n flex: 1,\n children: [\n /* @__PURE__ */ _jsx(FrappeReconnectIndicator, {\n config: connectionConfig\n }),\n savedFilters && savedFiltersHook && /* @__PURE__ */ _jsxs(XStack, {\n ...knobProps.gap,\n padding: \"$2\",\n children: [\n /* @__PURE__ */ _jsx(SavedFilterDropdown, {\n filters: savedFiltersHook.filters,\n selectedFilter: null,\n onSelectFilter: handleSelectFilter,\n onDeleteFilter: handleDeleteFilter\n }),\n /* @__PURE__ */ _jsx(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__ */ _jsx(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}\nexport {\n FrappeTable,\n filterValueToFrappeTuple\n};\n//# sourceMappingURL=FrappeTable.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -88,8 +88,9 @@ function FrappeTreeView({
|
|
|
88
88
|
socketBaseURL: config?.socketBaseURL,
|
|
89
89
|
auth: finalAuth,
|
|
90
90
|
syncOptions: finalSyncOptions,
|
|
91
|
+
realtime: config?.realtime,
|
|
91
92
|
fixtures: config?.fixtures
|
|
92
|
-
}), [finalBaseURL, config?.socketPort, config?.siteName, config?.socketBaseURL, finalAuth, finalSyncOptions, config?.fixtures]);
|
|
93
|
+
}), [finalBaseURL, config?.socketPort, config?.siteName, config?.socketBaseURL, config?.realtime, finalAuth, finalSyncOptions, config?.fixtures]);
|
|
93
94
|
const {
|
|
94
95
|
meta,
|
|
95
96
|
isLoading: isMetaLoading,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useDocTypeMeta","useFrappeCollection","useLiveQuery","AsyncBoundary","TreeView","TreeStructureIcon","useCallback","useEffect","useMemo","useState","useTranslation","Text","YStack","useResolvedKnobs","formCommonColors","useFrappeConfig","FrappeReconnectIndicator","toLiveLoadError","Fragment","jsx","jsxs","isRootParent","value","buildTreeNodes","docs","parentField","titleField","byName","Map","childrenByParent","doc","set","name","roots","parentRaw","push","parentName","String","has","siblings","get","sortDocs","items","sort","a","b","localeCompare","buildNode","childDocs","title","id","label","data","children","length","map","FrappeTreeView","doctype","parentFieldProp","titleFieldProp","valueField","fields","filters","onNodeClick","enableDragDrop","_enableDragDrop","expandByDefault","display","baseURL","auth","syncOptions","loading","error","stackProps","config","knobProps","t","selectedId","setSelectedId","finalBaseURL","finalAuth","finalSyncOptions","Error","appConfig","socketPort","siteName","socketBaseURL","fixtures","meta","isLoading","isMetaLoading","metaError","effectiveTitleField","title_field","effectiveParentField","toLowerCase","replace","isKnownNotTree","is_tree","canProceed","effectiveFields","fieldSet","Set","add","Array","from","syncError","setSyncError","handleSyncError","err","permissionMessage","genericMessage","collection","onSyncError","rawData","isDataLoading","isError","q","_list","treeNodes","queryError","handleNodeSelect","node","layout","errorTitle","iconSize","Number","controlIcon","width","panelPadding","alignItems","gap","size","color","muted","body","flex","containerRadius","nodes","ariaLabel","showExpansionArrows","renderNode","numberOfLines","marginInlineStart","onNodeSelect","emptyMessage"],"sources":["../../src/FrappeTreeView.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,cAAA,EAAgBC,mBAAA,EAAqBC,YAAA,QAAoB;AAClE,SAASC,aAAA,EAAeC,QAAA,QAA+B;AACvD,SAASC,iBAAA,QAAyB;AAClC,SAAgBC,WAAA,EAAaC,SAAA,EAAWC,OAAA,EAASC,QAAA,QAAgB;AACjE,SAASC,cAAA,QAAsB;AAC/B,SAASC,IAAA,EAAMC,MAAA,QAAgC;AAC/C,SAASC,gBAAA,QAAwB;AACjC,SAASC,gBAAA,QAAwB;AACjC,SAASC,eAAA,QAAuB;AAChC,SAASC,wBAAA,QAAgC;AACzC,SAASC,eAAA,QAAuB;
|
|
1
|
+
{"version":3,"names":["useDocTypeMeta","useFrappeCollection","useLiveQuery","AsyncBoundary","TreeView","TreeStructureIcon","useCallback","useEffect","useMemo","useState","useTranslation","Text","YStack","useResolvedKnobs","formCommonColors","useFrappeConfig","FrappeReconnectIndicator","toLiveLoadError","Fragment","jsx","jsxs","isRootParent","value","buildTreeNodes","docs","parentField","titleField","byName","Map","childrenByParent","doc","set","name","roots","parentRaw","push","parentName","String","has","siblings","get","sortDocs","items","sort","a","b","localeCompare","buildNode","childDocs","title","id","label","data","children","length","map","FrappeTreeView","doctype","parentFieldProp","titleFieldProp","valueField","fields","filters","onNodeClick","enableDragDrop","_enableDragDrop","expandByDefault","display","baseURL","auth","syncOptions","loading","error","stackProps","config","knobProps","t","selectedId","setSelectedId","finalBaseURL","finalAuth","finalSyncOptions","Error","appConfig","socketPort","siteName","socketBaseURL","realtime","fixtures","meta","isLoading","isMetaLoading","metaError","effectiveTitleField","title_field","effectiveParentField","toLowerCase","replace","isKnownNotTree","is_tree","canProceed","effectiveFields","fieldSet","Set","add","Array","from","syncError","setSyncError","handleSyncError","err","permissionMessage","genericMessage","collection","onSyncError","rawData","isDataLoading","isError","q","_list","treeNodes","queryError","handleNodeSelect","node","layout","errorTitle","iconSize","Number","controlIcon","width","panelPadding","alignItems","gap","size","color","muted","body","flex","containerRadius","nodes","ariaLabel","showExpansionArrows","renderNode","numberOfLines","marginInlineStart","onNodeSelect","emptyMessage"],"sources":["../../src/FrappeTreeView.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -135,9 +135,10 @@ function FrappeTreeView(param) {
|
|
|
135
135
|
socketBaseURL: config === null || config === void 0 ? void 0 : config.socketBaseURL,
|
|
136
136
|
auth: finalAuth,
|
|
137
137
|
syncOptions: finalSyncOptions,
|
|
138
|
+
realtime: config === null || config === void 0 ? void 0 : config.realtime,
|
|
138
139
|
fixtures: config === null || config === void 0 ? void 0 : config.fixtures
|
|
139
140
|
};
|
|
140
|
-
}, [finalBaseURL, config === null || config === void 0 ? void 0 : config.socketPort, config === null || config === void 0 ? void 0 : config.siteName, config === null || config === void 0 ? void 0 : config.socketBaseURL, finalAuth, finalSyncOptions, config === null || config === void 0 ? void 0 : config.fixtures]);
|
|
141
|
+
}, [finalBaseURL, config === null || config === void 0 ? void 0 : config.socketPort, config === null || config === void 0 ? void 0 : config.siteName, config === null || config === void 0 ? void 0 : config.socketBaseURL, config === null || config === void 0 ? void 0 : config.realtime, finalAuth, finalSyncOptions, config === null || config === void 0 ? void 0 : config.fixtures]);
|
|
141
142
|
var {
|
|
142
143
|
meta,
|
|
143
144
|
isLoading: isMetaLoading,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useDocTypeMeta","useFrappeCollection","useLiveQuery","AsyncBoundary","TreeView","TreeStructureIcon","React","useCallback","useEffect","useMemo","useState","useTranslation","Text","YStack","useResolvedKnobs","formCommonColors","useFrappeConfig","FrappeReconnectIndicator","toLiveLoadError","isRootParent","value","buildTreeNodes","docs","parentField","titleField","byName","Map","childrenByParent","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","doc","set","name","err","return","roots","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","doc1","_childrenByParent_get","parentRaw","push","parentName","String","has","siblings","get","sortDocs","sortDocs2","items","sort","a","b","localeCompare","buildNode","buildNode1","doc2","_childrenByParent_get2","childDocs","title","id","label","data","children","length","map","FrappeTreeView","param","doctype","parentFieldProp","titleFieldProp","valueField","fields","filters","onNodeClick","enableDragDrop","_enableDragDrop","expandByDefault","display","baseURL","auth","syncOptions","loading","error","stackProps","_ref","config","knobProps","t","selectedId","setSelectedId","finalBaseURL","finalAuth","finalSyncOptions","Error","appConfig","socketPort","siteName","socketBaseURL","fixtures","meta","isLoading","isMetaLoading","metaError","effectiveTitleField","title_field","effectiveParentField","toLowerCase","replace","isKnownNotTree","is_tree","canProceed","effectiveFields","fieldSet","Set","add","Array","from","syncError","setSyncError","handleSyncError","permissionMessage","genericMessage","collection","onSyncError","rawData","isDataLoading","isError","q","_list","treeNodes","queryError","handleNodeSelect","node","layout","errorTitle","_knobProps_controlIcon","iconSize","Number","controlIcon","width","panelPadding","alignItems","gap","size","color","muted","body","flex","containerRadius","nodes","ariaLabel","showExpansionArrows","renderNode","numberOfLines","marginInlineStart","onNodeSelect","emptyMessage"],"sources":["FrappeTreeView.native.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { useDocTypeMeta, useFrappeCollection, useLiveQuery } from \"@multiplatform.one/frappe\";\nimport { AsyncBoundary, TreeView } from \"@multiplatform.one/components\";\nimport { TreeStructureIcon } from \"@phosphor-icons/react\";\nimport React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Text, YStack } from \"tamagui\";\nimport { useResolvedKnobs } from \"@multiplatform.one/theme\";\nimport { formCommonColors } from \"@multiplatform.one/forms\";\nimport { useFrappeConfig } from \"./FrappeProvider\";\nimport { FrappeReconnectIndicator } from \"./FrappeReconnectIndicator\";\nimport { toLiveLoadError } from \"./liveErrors\";\nfunction isRootParent(value) {\n return value == null || value === \"\";\n}\nfunction buildTreeNodes(docs, parentField, titleField) {\n var byName = /* @__PURE__ */ new Map();\n var childrenByParent = /* @__PURE__ */ new Map();\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = docs[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var doc = _step.value;\n byName.set(doc.name, doc);\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 roots = [];\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = docs[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var doc1 = _step1.value;\n var _childrenByParent_get;\n var parentRaw = doc1[parentField];\n if (isRootParent(parentRaw)) {\n roots.push(doc1);\n continue;\n }\n var parentName = String(parentRaw);\n if (!byName.has(parentName)) {\n roots.push(doc1);\n continue;\n }\n var siblings = (_childrenByParent_get = childrenByParent.get(parentName)) !== null && _childrenByParent_get !== void 0 ? _childrenByParent_get : [];\n siblings.push(doc1);\n childrenByParent.set(parentName, siblings);\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 var sortDocs = function sortDocs2(items) {\n return [\n ...items\n ].sort(function(a, b) {\n return a.name.localeCompare(b.name);\n });\n };\n var buildNode = function buildNode1(doc2) {\n var _childrenByParent_get2;\n var childDocs = sortDocs((_childrenByParent_get2 = childrenByParent.get(doc2.name)) !== null && _childrenByParent_get2 !== void 0 ? _childrenByParent_get2 : []);\n var title = String(doc2[titleField] || doc2.name);\n return {\n id: doc2.name,\n label: title,\n data: doc2,\n children: childDocs.length > 0 ? childDocs.map(buildNode) : void 0\n };\n };\n return sortDocs(roots).map(buildNode);\n}\nfunction FrappeTreeView(param) {\n var { doctype, parentField: parentFieldProp, titleField: titleFieldProp, valueField, fields, filters, onNodeClick, enableDragDrop: _enableDragDrop = false, expandByDefault = false, display = \"default\", baseURL, auth, syncOptions, loading, error, ...stackProps } = param;\n var _ref;\n void _enableDragDrop;\n var config = useFrappeConfig();\n var { knobProps } = useResolvedKnobs();\n var { t } = useTranslation();\n var [selectedId, setSelectedId] = useState();\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(\"FrappeTreeView requires baseURL prop or FrappeProvider with baseURL\");\n }\n var appConfig = 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 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 finalAuth,\n finalSyncOptions,\n config === null || config === void 0 ? void 0 : config.fixtures\n ]);\n var { meta, isLoading: isMetaLoading, error: metaError } = useDocTypeMeta(appConfig, doctype);\n var effectiveTitleField = (_ref = titleFieldProp !== null && titleFieldProp !== void 0 ? titleFieldProp : meta === null || meta === void 0 ? void 0 : meta.title_field) !== null && _ref !== void 0 ? _ref : \"name\";\n var effectiveParentField = parentFieldProp !== null && parentFieldProp !== void 0 ? parentFieldProp : `parent_${doctype.toLowerCase().replace(/ /g, \"_\")}`;\n var isKnownNotTree = !!meta && !meta.is_tree;\n var canProceed = !!(meta === null || meta === void 0 ? void 0 : meta.is_tree) || !!metaError && !meta && !!parentFieldProp;\n var effectiveFields = useMemo(function() {\n var fieldSet = new Set(fields);\n fieldSet.add(\"name\");\n fieldSet.add(effectiveTitleField);\n fieldSet.add(effectiveParentField);\n if (valueField) fieldSet.add(valueField);\n return Array.from(fieldSet);\n }, [\n fields,\n effectiveTitleField,\n effectiveParentField,\n valueField\n ]);\n var [syncError, setSyncError] = useState(null);\n var handleSyncError = useCallback(function(err) {\n setSyncError(toLiveLoadError(err, {\n permissionMessage: t(\"You do not have permission to view {{doctype}}\", {\n doctype\n }),\n genericMessage: t(\"Failed to load {{doctype}} tree\", {\n doctype\n })\n }));\n }, [\n doctype,\n t\n ]);\n var collection = useFrappeCollection(canProceed && !isKnownNotTree ? appConfig : void 0, doctype, {\n fields: effectiveFields,\n filters,\n onSyncError: handleSyncError\n });\n useEffect(function() {\n setSyncError(null);\n }, [\n collection\n ]);\n var { data: rawData, isLoading: isDataLoading, isError } = useLiveQuery(function(q) {\n return collection ? q.from({\n _list: collection\n }) : null;\n }, [\n collection\n ]);\n var docs = useMemo(function() {\n return rawData !== null && rawData !== void 0 ? rawData : [];\n }, [\n rawData\n ]);\n var treeNodes = useMemo(function() {\n return buildTreeNodes(docs, effectiveParentField, effectiveTitleField);\n }, [\n docs,\n effectiveParentField,\n effectiveTitleField\n ]);\n var queryError = syncError !== null && syncError !== void 0 ? syncError : isError ? new Error(t(\"Failed to load {{doctype}} tree\", {\n doctype\n })) : null;\n var handleNodeSelect = useCallback(function(node) {\n setSelectedId(node.id);\n if (!node.data) return;\n onNodeClick === null || onNodeClick === void 0 ? void 0 : onNodeClick(node.data);\n }, [\n onNodeClick\n ]);\n if (isMetaLoading) {\n if (loading) return /* @__PURE__ */ _jsx(_Fragment, {\n children: loading\n });\n return /* @__PURE__ */ _jsx(AsyncBoundary, {\n layout: \"list\",\n loading: true,\n ...stackProps\n });\n }\n if (metaError && !meta && !parentFieldProp) {\n if (error) return /* @__PURE__ */ _jsx(_Fragment, {\n children: error(metaError)\n });\n return /* @__PURE__ */ _jsx(AsyncBoundary, {\n layout: \"list\",\n error: metaError,\n errorTitle: t(\"Failed to load {{doctype}} schema\", {\n doctype\n }),\n ...stackProps\n });\n }\n if (isKnownNotTree) {\n var _knobProps_controlIcon;\n var iconSize = Number((_knobProps_controlIcon = knobProps.controlIcon) === null || _knobProps_controlIcon === void 0 ? void 0 : _knobProps_controlIcon.width) || 16;\n return /* @__PURE__ */ _jsxs(YStack, {\n ...knobProps.panelPadding,\n alignItems: \"center\",\n ...knobProps.gap,\n ...stackProps,\n children: [\n /* @__PURE__ */ _jsx(TreeStructureIcon, {\n size: iconSize * 2,\n color: formCommonColors.muted\n }),\n /* @__PURE__ */ _jsx(Text, {\n color: formCommonColors.muted,\n ...knobProps.body,\n children: t(\"This DocType does not support tree view\")\n })\n ]\n });\n }\n if (queryError) {\n if (error) return /* @__PURE__ */ _jsx(_Fragment, {\n children: error(queryError)\n });\n return /* @__PURE__ */ _jsx(AsyncBoundary, {\n layout: \"list\",\n error: queryError,\n errorTitle: t(\"Failed to load {{doctype}} tree\", {\n doctype\n }),\n ...stackProps\n });\n }\n if (isDataLoading) {\n if (loading) return /* @__PURE__ */ _jsx(_Fragment, {\n children: loading\n });\n return /* @__PURE__ */ _jsx(AsyncBoundary, {\n layout: \"list\",\n loading: true,\n ...stackProps\n });\n }\n return /* @__PURE__ */ _jsxs(YStack, {\n ...knobProps.gap,\n flex: 1,\n ...stackProps,\n children: [\n /* @__PURE__ */ _jsx(FrappeReconnectIndicator, {\n config: appConfig\n }),\n /* @__PURE__ */ _jsx(TreeView, {\n ...knobProps.containerRadius,\n nodes: treeNodes,\n ariaLabel: t(\"{{doctype}} tree\", {\n doctype\n }),\n expandByDefault,\n display,\n showExpansionArrows: true,\n selectedId,\n renderNode: function renderNode(node) {\n return /* @__PURE__ */ _jsxs(Text, {\n ...knobProps.label,\n numberOfLines: 1,\n children: [\n node.label,\n valueField && node.data && node.data[valueField] != null && /* @__PURE__ */ _jsx(Text, {\n color: formCommonColors.muted,\n ...knobProps.label,\n marginInlineStart: \"$2\",\n children: String(node.data[valueField])\n })\n ]\n });\n },\n onNodeSelect: handleNodeSelect,\n emptyMessage: t(\"No items found\")\n })\n ]\n });\n}\nexport {\n FrappeTreeView,\n buildTreeNodes\n};\n//# sourceMappingURL=FrappeTreeView.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useDocTypeMeta","useFrappeCollection","useLiveQuery","AsyncBoundary","TreeView","TreeStructureIcon","React","useCallback","useEffect","useMemo","useState","useTranslation","Text","YStack","useResolvedKnobs","formCommonColors","useFrappeConfig","FrappeReconnectIndicator","toLiveLoadError","isRootParent","value","buildTreeNodes","docs","parentField","titleField","byName","Map","childrenByParent","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","doc","set","name","err","return","roots","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","doc1","_childrenByParent_get","parentRaw","push","parentName","String","has","siblings","get","sortDocs","sortDocs2","items","sort","a","b","localeCompare","buildNode","buildNode1","doc2","_childrenByParent_get2","childDocs","title","id","label","data","children","length","map","FrappeTreeView","param","doctype","parentFieldProp","titleFieldProp","valueField","fields","filters","onNodeClick","enableDragDrop","_enableDragDrop","expandByDefault","display","baseURL","auth","syncOptions","loading","error","stackProps","_ref","config","knobProps","t","selectedId","setSelectedId","finalBaseURL","finalAuth","finalSyncOptions","Error","appConfig","socketPort","siteName","socketBaseURL","realtime","fixtures","meta","isLoading","isMetaLoading","metaError","effectiveTitleField","title_field","effectiveParentField","toLowerCase","replace","isKnownNotTree","is_tree","canProceed","effectiveFields","fieldSet","Set","add","Array","from","syncError","setSyncError","handleSyncError","permissionMessage","genericMessage","collection","onSyncError","rawData","isDataLoading","isError","q","_list","treeNodes","queryError","handleNodeSelect","node","layout","errorTitle","_knobProps_controlIcon","iconSize","Number","controlIcon","width","panelPadding","alignItems","gap","size","color","muted","body","flex","containerRadius","nodes","ariaLabel","showExpansionArrows","renderNode","numberOfLines","marginInlineStart","onNodeSelect","emptyMessage"],"sources":["FrappeTreeView.native.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { useDocTypeMeta, useFrappeCollection, useLiveQuery } from \"@multiplatform.one/frappe\";\nimport { AsyncBoundary, TreeView } from \"@multiplatform.one/components\";\nimport { TreeStructureIcon } from \"@phosphor-icons/react\";\nimport React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Text, YStack } from \"tamagui\";\nimport { useResolvedKnobs } from \"@multiplatform.one/theme\";\nimport { formCommonColors } from \"@multiplatform.one/forms\";\nimport { useFrappeConfig } from \"./FrappeProvider\";\nimport { FrappeReconnectIndicator } from \"./FrappeReconnectIndicator\";\nimport { toLiveLoadError } from \"./liveErrors\";\nfunction isRootParent(value) {\n return value == null || value === \"\";\n}\nfunction buildTreeNodes(docs, parentField, titleField) {\n var byName = /* @__PURE__ */ new Map();\n var childrenByParent = /* @__PURE__ */ new Map();\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = docs[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var doc = _step.value;\n byName.set(doc.name, doc);\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 roots = [];\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = docs[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var doc1 = _step1.value;\n var _childrenByParent_get;\n var parentRaw = doc1[parentField];\n if (isRootParent(parentRaw)) {\n roots.push(doc1);\n continue;\n }\n var parentName = String(parentRaw);\n if (!byName.has(parentName)) {\n roots.push(doc1);\n continue;\n }\n var siblings = (_childrenByParent_get = childrenByParent.get(parentName)) !== null && _childrenByParent_get !== void 0 ? _childrenByParent_get : [];\n siblings.push(doc1);\n childrenByParent.set(parentName, siblings);\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 var sortDocs = function sortDocs2(items) {\n return [\n ...items\n ].sort(function(a, b) {\n return a.name.localeCompare(b.name);\n });\n };\n var buildNode = function buildNode1(doc2) {\n var _childrenByParent_get2;\n var childDocs = sortDocs((_childrenByParent_get2 = childrenByParent.get(doc2.name)) !== null && _childrenByParent_get2 !== void 0 ? _childrenByParent_get2 : []);\n var title = String(doc2[titleField] || doc2.name);\n return {\n id: doc2.name,\n label: title,\n data: doc2,\n children: childDocs.length > 0 ? childDocs.map(buildNode) : void 0\n };\n };\n return sortDocs(roots).map(buildNode);\n}\nfunction FrappeTreeView(param) {\n var { doctype, parentField: parentFieldProp, titleField: titleFieldProp, valueField, fields, filters, onNodeClick, enableDragDrop: _enableDragDrop = false, expandByDefault = false, display = \"default\", baseURL, auth, syncOptions, loading, error, ...stackProps } = param;\n var _ref;\n void _enableDragDrop;\n var config = useFrappeConfig();\n var { knobProps } = useResolvedKnobs();\n var { t } = useTranslation();\n var [selectedId, setSelectedId] = useState();\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(\"FrappeTreeView requires baseURL prop or FrappeProvider with baseURL\");\n }\n var appConfig = 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 { meta, isLoading: isMetaLoading, error: metaError } = useDocTypeMeta(appConfig, doctype);\n var effectiveTitleField = (_ref = titleFieldProp !== null && titleFieldProp !== void 0 ? titleFieldProp : meta === null || meta === void 0 ? void 0 : meta.title_field) !== null && _ref !== void 0 ? _ref : \"name\";\n var effectiveParentField = parentFieldProp !== null && parentFieldProp !== void 0 ? parentFieldProp : `parent_${doctype.toLowerCase().replace(/ /g, \"_\")}`;\n var isKnownNotTree = !!meta && !meta.is_tree;\n var canProceed = !!(meta === null || meta === void 0 ? void 0 : meta.is_tree) || !!metaError && !meta && !!parentFieldProp;\n var effectiveFields = useMemo(function() {\n var fieldSet = new Set(fields);\n fieldSet.add(\"name\");\n fieldSet.add(effectiveTitleField);\n fieldSet.add(effectiveParentField);\n if (valueField) fieldSet.add(valueField);\n return Array.from(fieldSet);\n }, [\n fields,\n effectiveTitleField,\n effectiveParentField,\n valueField\n ]);\n var [syncError, setSyncError] = useState(null);\n var handleSyncError = useCallback(function(err) {\n setSyncError(toLiveLoadError(err, {\n permissionMessage: t(\"You do not have permission to view {{doctype}}\", {\n doctype\n }),\n genericMessage: t(\"Failed to load {{doctype}} tree\", {\n doctype\n })\n }));\n }, [\n doctype,\n t\n ]);\n var collection = useFrappeCollection(canProceed && !isKnownNotTree ? appConfig : void 0, doctype, {\n fields: effectiveFields,\n filters,\n onSyncError: handleSyncError\n });\n useEffect(function() {\n setSyncError(null);\n }, [\n collection\n ]);\n var { data: rawData, isLoading: isDataLoading, isError } = useLiveQuery(function(q) {\n return collection ? q.from({\n _list: collection\n }) : null;\n }, [\n collection\n ]);\n var docs = useMemo(function() {\n return rawData !== null && rawData !== void 0 ? rawData : [];\n }, [\n rawData\n ]);\n var treeNodes = useMemo(function() {\n return buildTreeNodes(docs, effectiveParentField, effectiveTitleField);\n }, [\n docs,\n effectiveParentField,\n effectiveTitleField\n ]);\n var queryError = syncError !== null && syncError !== void 0 ? syncError : isError ? new Error(t(\"Failed to load {{doctype}} tree\", {\n doctype\n })) : null;\n var handleNodeSelect = useCallback(function(node) {\n setSelectedId(node.id);\n if (!node.data) return;\n onNodeClick === null || onNodeClick === void 0 ? void 0 : onNodeClick(node.data);\n }, [\n onNodeClick\n ]);\n if (isMetaLoading) {\n if (loading) return /* @__PURE__ */ _jsx(_Fragment, {\n children: loading\n });\n return /* @__PURE__ */ _jsx(AsyncBoundary, {\n layout: \"list\",\n loading: true,\n ...stackProps\n });\n }\n if (metaError && !meta && !parentFieldProp) {\n if (error) return /* @__PURE__ */ _jsx(_Fragment, {\n children: error(metaError)\n });\n return /* @__PURE__ */ _jsx(AsyncBoundary, {\n layout: \"list\",\n error: metaError,\n errorTitle: t(\"Failed to load {{doctype}} schema\", {\n doctype\n }),\n ...stackProps\n });\n }\n if (isKnownNotTree) {\n var _knobProps_controlIcon;\n var iconSize = Number((_knobProps_controlIcon = knobProps.controlIcon) === null || _knobProps_controlIcon === void 0 ? void 0 : _knobProps_controlIcon.width) || 16;\n return /* @__PURE__ */ _jsxs(YStack, {\n ...knobProps.panelPadding,\n alignItems: \"center\",\n ...knobProps.gap,\n ...stackProps,\n children: [\n /* @__PURE__ */ _jsx(TreeStructureIcon, {\n size: iconSize * 2,\n color: formCommonColors.muted\n }),\n /* @__PURE__ */ _jsx(Text, {\n color: formCommonColors.muted,\n ...knobProps.body,\n children: t(\"This DocType does not support tree view\")\n })\n ]\n });\n }\n if (queryError) {\n if (error) return /* @__PURE__ */ _jsx(_Fragment, {\n children: error(queryError)\n });\n return /* @__PURE__ */ _jsx(AsyncBoundary, {\n layout: \"list\",\n error: queryError,\n errorTitle: t(\"Failed to load {{doctype}} tree\", {\n doctype\n }),\n ...stackProps\n });\n }\n if (isDataLoading) {\n if (loading) return /* @__PURE__ */ _jsx(_Fragment, {\n children: loading\n });\n return /* @__PURE__ */ _jsx(AsyncBoundary, {\n layout: \"list\",\n loading: true,\n ...stackProps\n });\n }\n return /* @__PURE__ */ _jsxs(YStack, {\n ...knobProps.gap,\n flex: 1,\n ...stackProps,\n children: [\n /* @__PURE__ */ _jsx(FrappeReconnectIndicator, {\n config: appConfig\n }),\n /* @__PURE__ */ _jsx(TreeView, {\n ...knobProps.containerRadius,\n nodes: treeNodes,\n ariaLabel: t(\"{{doctype}} tree\", {\n doctype\n }),\n expandByDefault,\n display,\n showExpansionArrows: true,\n selectedId,\n renderNode: function renderNode(node) {\n return /* @__PURE__ */ _jsxs(Text, {\n ...knobProps.label,\n numberOfLines: 1,\n children: [\n node.label,\n valueField && node.data && node.data[valueField] != null && /* @__PURE__ */ _jsx(Text, {\n color: formCommonColors.muted,\n ...knobProps.label,\n marginInlineStart: \"$2\",\n children: String(node.data[valueField])\n })\n ]\n });\n },\n onNodeSelect: handleNodeSelect,\n emptyMessage: t(\"No items found\")\n })\n ]\n });\n}\nexport {\n FrappeTreeView,\n buildTreeNodes\n};\n//# sourceMappingURL=FrappeTreeView.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -40,6 +40,7 @@ function AttachmentsBody({
|
|
|
40
40
|
socketBaseURL: config.socketBaseURL,
|
|
41
41
|
auth: config.auth,
|
|
42
42
|
syncOptions: config.syncOptions,
|
|
43
|
+
realtime: config.realtime,
|
|
43
44
|
fixtures: config.fixtures
|
|
44
45
|
} : void 0, [config]);
|
|
45
46
|
const collection = useFrappeCollection(collectionConfig, "File", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Attachments","BaseAttachments","useFrappeCollection","useLiveQuery","useCallback","useMemo","useState","useTranslation","YStack","useFrappeConfig","FrappeReconnectIndicator","toLiveLoadError","jsx","jsxs","frappeFileToItem","file","id","name","fileName","file_name","fileUrl","file_url","fileSize","file_size","fileType","file_type","AttachmentsBody","doctype","docname","fieldname","onRetry","props","config","t","syncError","setSyncError","filters","base","push","collectionConfig","baseURL","socketPort","siteName","socketBaseURL","auth","syncOptions","fixtures","collection","fields","onSyncError","data","isLoading","q","from","_list","items","map","loadError","permissionMessage","genericMessage","gap","children","error","retryNonce","setRetryNonce","handleRetry","nonce"],"sources":["../../../src/components/attachments.tsx"],"sourcesContent":[null],"mappings":"AAAA,SACEA,WAAA,IAAeC,eAAA,QAGV;AACP,SAASC,mBAAA,EAAqBC,YAAA,QAAoB;AAClD,SAASC,WAAA,EAAaC,OAAA,EAASC,QAAA,QAAgB;AAC/C,SAASC,cAAA,QAAsB;AAC/B,SAASC,MAAA,QAAc;AACvB,SAASC,eAAA,QAAuB;AAChC,SAASC,wBAAA,QAAgC;AACzC,SAASC,eAAA,QAAuB;
|
|
1
|
+
{"version":3,"names":["Attachments","BaseAttachments","useFrappeCollection","useLiveQuery","useCallback","useMemo","useState","useTranslation","YStack","useFrappeConfig","FrappeReconnectIndicator","toLiveLoadError","jsx","jsxs","frappeFileToItem","file","id","name","fileName","file_name","fileUrl","file_url","fileSize","file_size","fileType","file_type","AttachmentsBody","doctype","docname","fieldname","onRetry","props","config","t","syncError","setSyncError","filters","base","push","collectionConfig","baseURL","socketPort","siteName","socketBaseURL","auth","syncOptions","realtime","fixtures","collection","fields","onSyncError","data","isLoading","q","from","_list","items","map","loadError","permissionMessage","genericMessage","gap","children","error","retryNonce","setRetryNonce","handleRetry","nonce"],"sources":["../../../src/components/attachments.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Attachments","BaseAttachments","useFrappeCollection","useLiveQuery","useCallback","useMemo","useState","useTranslation","YStack","useFrappeConfig","FrappeReconnectIndicator","toLiveLoadError","frappeFileToItem","file","id","name","fileName","file_name","fileUrl","file_url","fileSize","file_size","fileType","file_type","AttachmentsBody","param","doctype","docname","fieldname","onRetry","props","config","t","syncError","setSyncError","filters","base","push","collectionConfig","baseURL","socketPort","siteName","socketBaseURL","auth","syncOptions","fixtures","collection","fields","onSyncError","data","isLoading","q","from","_list","items","map","loadError","permissionMessage","genericMessage","gap","children","error","retryNonce","setRetryNonce","handleRetry","nonce"],"sources":["attachments.native.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Attachments as BaseAttachments } from \"@multiplatform.one/components\";\nimport { useFrappeCollection, useLiveQuery } from \"@multiplatform.one/frappe\";\nimport { useCallback, useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { YStack } from \"tamagui\";\nimport { useFrappeConfig } from \"../FrappeProvider\";\nimport { FrappeReconnectIndicator } from \"../FrappeReconnectIndicator\";\nimport { toLiveLoadError } from \"../liveErrors\";\nfunction frappeFileToItem(file) {\n return {\n id: file.name,\n fileName: file.file_name,\n fileUrl: file.file_url,\n fileSize: file.file_size,\n fileType: file.file_type\n };\n}\nfunction AttachmentsBody(param) {\n var { doctype, docname, fieldname, onRetry, ...props } = param;\n var config = useFrappeConfig();\n var { t } = useTranslation();\n var [syncError, setSyncError] = useState(null);\n var filters = useMemo(function() {\n var base = [\n [\n \"attached_to_doctype\",\n \"=\",\n doctype\n ],\n [\n \"attached_to_name\",\n \"=\",\n docname\n ]\n ];\n if (fieldname) base.push([\n \"attached_to_field\",\n \"=\",\n fieldname\n ]);\n return base;\n }, [\n doctype,\n docname,\n fieldname\n ]);\n var collectionConfig = useMemo(function() {\n return config ? {\n baseURL: config.baseURL,\n socketPort: config.socketPort,\n siteName: config.siteName,\n socketBaseURL: config.socketBaseURL,\n auth: config.auth,\n syncOptions: config.syncOptions,\n fixtures: config.fixtures\n } : void 0;\n }, [\n config\n ]);\n var collection = useFrappeCollection(collectionConfig, \"File\", {\n filters,\n fields: [\n \"name\",\n \"file_name\",\n \"file_url\",\n \"file_size\",\n \"file_type\",\n \"is_private\",\n \"attached_to_doctype\",\n \"attached_to_name\",\n \"attached_to_field\",\n \"creation\",\n \"modified\"\n ],\n onSyncError: setSyncError\n });\n var { data, isLoading } = useLiveQuery(function(q) {\n return collection ? q.from({\n _list: collection\n }) : null;\n }, [\n collection\n ]);\n var items = useMemo(function() {\n return (data !== null && data !== void 0 ? data : []).map(frappeFileToItem);\n }, [\n data\n ]);\n var loadError = syncError === null ? null : toLiveLoadError(syncError, {\n permissionMessage: t(\"You do not have permission to view attachments\"),\n genericMessage: t(\"Failed to load attachments\")\n });\n return /* @__PURE__ */ _jsxs(YStack, {\n gap: \"$2\",\n children: [\n /* @__PURE__ */ _jsx(FrappeReconnectIndicator, {\n config: collectionConfig\n }),\n /* Honest first-load state: skeleton until the File subscription is\n live; a failed subscription renders error chrome, never \"no\n attachments\". Consumer props spread last (explicit eject). */\n /* @__PURE__ */ _jsx(BaseAttachments, {\n items,\n isLoading: !!collection && isLoading,\n error: loadError,\n onRetry,\n ...props\n })\n ]\n });\n}\nfunction Attachments(props) {\n var [retryNonce, setRetryNonce] = useState(0);\n var handleRetry = useCallback(function() {\n return setRetryNonce(function(nonce) {\n return nonce + 1;\n });\n }, []);\n return /* @__PURE__ */ _jsx(AttachmentsBody, {\n onRetry: handleRetry,\n ...props\n }, retryNonce);\n}\nexport {\n Attachments\n};\n//# sourceMappingURL=attachments.js.map\n"],"mappings":"AAAA,SAASA,GAAG,IAAIC,IAAI,EAAEC,IAAI,IAAIC,KAAK,QAAQ,mBAAmB;AAC9D,SAASC,WAAW,IAAIC,eAAe,QAAQ,+BAA+B;AAC9E,SAASC,mBAAmB,EAAEC,YAAY,QAAQ,2BAA2B;AAC7E,SAASC,WAAW,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AACtD,SAASC,cAAc,QAAQ,eAAe;AAC9C,SAASC,MAAM,QAAQ,SAAS;AAChC,SAASC,eAAe,QAAQ,6BAAmB;AACnD,SAASC,wBAAwB,QAAQ,uCAA6B;AACtE,SAASC,eAAe,QAAQ,yBAAe;AAC/C,SAASC,gBAAgBA,CAACC,IAAI,EAAE;EAC9B,OAAO;IACLC,EAAE,EAAED,IAAI,CAACE,IAAI;IACbC,QAAQ,EAAEH,IAAI,CAACI,SAAS;IACxBC,OAAO,EAAEL,IAAI,CAACM,QAAQ;IACtBC,QAAQ,EAAEP,IAAI,CAACQ,SAAS;IACxBC,QAAQ,EAAET,IAAI,CAACU;EACjB,CAAC;AACH;AACA,SAASC,eAAeA,CAACC,KAAK,EAAE;EAC9B,IAAI;IAAEC,OAAO;IAAEC,OAAO;IAAEC,SAAS;IAAEC,OAAO;IAAE,GAAGC;EAAM,CAAC,GAAGL,KAAK;EAC9D,IAAIM,MAAM,GAAGtB,eAAe,CAAC,CAAC;EAC9B,IAAI;IAAEuB;EAAE,CAAC,GAAGzB,cAAc,CAAC,CAAC;EAC5B,IAAI,CAAC0B,SAAS,EAAEC,YAAY,CAAC,GAAG5B,QAAQ,CAAC,IAAI,CAAC;EAC9C,IAAI6B,OAAO,GAAG9B,OAAO,CAAC,YAAW;IAC/B,IAAI+B,IAAI,GAAG,CACT,CACE,qBAAqB,EACrB,GAAG,EACHV,OAAO,CACR,EACD,CACE,kBAAkB,EAClB,GAAG,EACHC,OAAO,CACR,CACF;IACD,IAAIC,SAAS,EAAEQ,IAAI,CAACC,IAAI,CAAC,CACvB,mBAAmB,EACnB,GAAG,EACHT,SAAS,CACV,CAAC;IACF,OAAOQ,IAAI;EACb,CAAC,EAAE,CACDV,OAAO,EACPC,OAAO,EACPC,SAAS,CACV,CAAC;EACF,IAAIU,gBAAgB,GAAGjC,OAAO,CAAC,YAAW;IACxC,OAAO0B,MAAM,GAAG;MACdQ,OAAO,EAAER,MAAM,CAACQ,OAAO;MACvBC,UAAU,EAAET,MAAM,CAACS,UAAU;MAC7BC,QAAQ,EAAEV,MAAM,CAACU,QAAQ;MACzBC,aAAa,EAAEX,MAAM,CAACW,aAAa;MACnCC,IAAI,EAAEZ,MAAM,CAACY,IAAI;MACjBC,WAAW,EAAEb,MAAM,CAACa,WAAW;MAC/BC,QAAQ,EAAEd,MAAM,CAACc;IACnB,CAAC,GAAG,KAAK,CAAC;EACZ,CAAC,EAAE,
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Attachments","BaseAttachments","useFrappeCollection","useLiveQuery","useCallback","useMemo","useState","useTranslation","YStack","useFrappeConfig","FrappeReconnectIndicator","toLiveLoadError","frappeFileToItem","file","id","name","fileName","file_name","fileUrl","file_url","fileSize","file_size","fileType","file_type","AttachmentsBody","param","doctype","docname","fieldname","onRetry","props","config","t","syncError","setSyncError","filters","base","push","collectionConfig","baseURL","socketPort","siteName","socketBaseURL","auth","syncOptions","realtime","fixtures","collection","fields","onSyncError","data","isLoading","q","from","_list","items","map","loadError","permissionMessage","genericMessage","gap","children","error","retryNonce","setRetryNonce","handleRetry","nonce"],"sources":["attachments.native.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Attachments as BaseAttachments } from \"@multiplatform.one/components\";\nimport { useFrappeCollection, useLiveQuery } from \"@multiplatform.one/frappe\";\nimport { useCallback, useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { YStack } from \"tamagui\";\nimport { useFrappeConfig } from \"../FrappeProvider\";\nimport { FrappeReconnectIndicator } from \"../FrappeReconnectIndicator\";\nimport { toLiveLoadError } from \"../liveErrors\";\nfunction frappeFileToItem(file) {\n return {\n id: file.name,\n fileName: file.file_name,\n fileUrl: file.file_url,\n fileSize: file.file_size,\n fileType: file.file_type\n };\n}\nfunction AttachmentsBody(param) {\n var { doctype, docname, fieldname, onRetry, ...props } = param;\n var config = useFrappeConfig();\n var { t } = useTranslation();\n var [syncError, setSyncError] = useState(null);\n var filters = useMemo(function() {\n var base = [\n [\n \"attached_to_doctype\",\n \"=\",\n doctype\n ],\n [\n \"attached_to_name\",\n \"=\",\n docname\n ]\n ];\n if (fieldname) base.push([\n \"attached_to_field\",\n \"=\",\n fieldname\n ]);\n return base;\n }, [\n doctype,\n docname,\n fieldname\n ]);\n var collectionConfig = useMemo(function() {\n return config ? {\n baseURL: config.baseURL,\n socketPort: config.socketPort,\n siteName: config.siteName,\n socketBaseURL: config.socketBaseURL,\n auth: config.auth,\n syncOptions: config.syncOptions,\n realtime: config.realtime,\n fixtures: config.fixtures\n } : void 0;\n }, [\n config\n ]);\n var collection = useFrappeCollection(collectionConfig, \"File\", {\n filters,\n fields: [\n \"name\",\n \"file_name\",\n \"file_url\",\n \"file_size\",\n \"file_type\",\n \"is_private\",\n \"attached_to_doctype\",\n \"attached_to_name\",\n \"attached_to_field\",\n \"creation\",\n \"modified\"\n ],\n onSyncError: setSyncError\n });\n var { data, isLoading } = useLiveQuery(function(q) {\n return collection ? q.from({\n _list: collection\n }) : null;\n }, [\n collection\n ]);\n var items = useMemo(function() {\n return (data !== null && data !== void 0 ? data : []).map(frappeFileToItem);\n }, [\n data\n ]);\n var loadError = syncError === null ? null : toLiveLoadError(syncError, {\n permissionMessage: t(\"You do not have permission to view attachments\"),\n genericMessage: t(\"Failed to load attachments\")\n });\n return /* @__PURE__ */ _jsxs(YStack, {\n gap: \"$2\",\n children: [\n /* @__PURE__ */ _jsx(FrappeReconnectIndicator, {\n config: collectionConfig\n }),\n /* Honest first-load state: skeleton until the File subscription is\n live; a failed subscription renders error chrome, never \"no\n attachments\". Consumer props spread last (explicit eject). */\n /* @__PURE__ */ _jsx(BaseAttachments, {\n items,\n isLoading: !!collection && isLoading,\n error: loadError,\n onRetry,\n ...props\n })\n ]\n });\n}\nfunction Attachments(props) {\n var [retryNonce, setRetryNonce] = useState(0);\n var handleRetry = useCallback(function() {\n return setRetryNonce(function(nonce) {\n return nonce + 1;\n });\n }, []);\n return /* @__PURE__ */ _jsx(AttachmentsBody, {\n onRetry: handleRetry,\n ...props\n }, retryNonce);\n}\nexport {\n Attachments\n};\n//# sourceMappingURL=attachments.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -20,6 +20,7 @@ function Tags({
|
|
|
20
20
|
auth: config.auth,
|
|
21
21
|
syncOptions: config.syncOptions,
|
|
22
22
|
socketOptions: config.socketOptions,
|
|
23
|
+
realtime: config.realtime,
|
|
23
24
|
fixtures: config.fixtures
|
|
24
25
|
} : void 0;
|
|
25
26
|
const tagLinkFilters = useMemo(() => [["document_type", "=", doctype], ["document_name", "=", docname]], [doctype, docname]);
|