@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":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","FrappeTable_exports","FrappeTable","filterValueToFrappeTuple","module","exports","import_jsx_runtime","require","import_frappe","import_table","import_components","import_theme","import_react","import_react_i18next","import_tamagui","import_table2","import_FrappeProvider","import_FrappeReconnectIndicator","import_filterFields","import_liveErrors","_instanceof","left","right","Symbol","hasInstance","_type_of","obj","constructor","fieldname","filterValue","operator","values","wrap","wrap2","pattern","includes","length","isOperatorFilterValue","sortRowsLocally","rows","orderBy","sort","a","b","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","field","order","av","bv","Order","Asc","err","return","stateToFrappeParams","state","pagination","sorting","filters","columnFilters","globalFilter","limitStart","pageIndex","pageSize","limit","frappeFilters","f","_f_value","tuple","columnId","push","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","cf","tuple1","id","trim","map","s","Desc","param","baseURL","auth","syncOptions","doctype","columns","fields","initialFilters","onRowClick","loading","error","savedFilters","canCreateGlobalFilters","userId","serverSide","onStateChange","onStateChangeProp","refreshToken","paginationMode","loadPage","loadPageProp","filterableFields","filterableFieldsProp","layout","dataTableProps","infiniteServerMode","knobProps","useResolvedKnobs","t","useTranslation","errorState","setErrorState","default","useState","activeFilters","setActiveFilters","config","useFrappeConfig","filtersPropKey","JSON","stringify","adoptedFiltersPropRef","useRef","useEffect","current","parse","finalBaseURL","finalAuth","finalSyncOptions","Error","connectionConfig","useMemo","socketPort","siteName","socketBaseURL","fixtures","frappeApp","FrappeApp","meta","useDocTypeMeta","metaFilterFields","docFieldsToFilterFields","titleField","title_field","rowLabel","useCallback","row","fromTitle","String","serverData","setServerData","serverRowCount","setServerRowCount","serverLoading","setServerLoading","hasLoadedOnce","setHasLoadedOnce","hasLoadedOnceRef","lastFetchKey","fetchSeq","fetchAbortRef","lastStateRef","lastFiltersKey","lastSortKey","lastGoodServerRows","fetchServerData","_params_orderBy","_fetchAbortRef_current","params","filtersKey","sortKey","alreadyLoaded","filtersChanged","sortChanged","previous","_params_orderBy2","narrowed","filter","matchesFilters","abort","controller","AbortController","seq","data","count","Promise","db","getDocList","signal","getCount","aborted","liveRefetchTimer","useFrappeDoctypeEvents","clearTimeout","setTimeout","refreshTokenSeen","frappeLoadPage","query","rows2","resolve","totalCount","resolvedLoadPage","handleStateChange","_lastStateRef_current","columnVisibility","columnOrder","c","_c_id","columnSizing","savedFiltersHook","useSavedFilters","handleSyncError","toLiveLoadError","permissionMessage","genericMessage","collection","useFrappeCollection","onSyncError","rawData","isLoading","isRowsLoading","isError","isLiveError","useLiveQuery","q","_list","clientRows","lastGoodClientRows","clientRowsResolved","held","serverRowsResolved","isRowsLoadingResolved","isFetching","prev","handleSelectFilter","handleSelectFilter2","handleSaveFilter","handleSaveFilter2","filterName","isGlobal","filterArray","Array","isArray","entries","param2","saveFilter","handleDeleteFilter","handleDeleteFilter2","deleteFilter","jsx","Fragment","children","rowData","boundaryState","empty","jsxs","YStack","gap","flex","FrappeReconnectIndicator","AsyncBoundary","errorTitle","emptyTitle","XStack","padding","SavedFilterDropdown","selectedFilter","onSelectFilter","onDeleteFilter","FilterManager","currentFilters","onSaveFilter","canCreateGlobal","DataTable","onRowPress","manualFiltering","manualPagination","manualSorting","rowCount"],"sources":["FrappeTable.native.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar FrappeTable_exports = {};\n__export(FrappeTable_exports, {\n FrappeTable: () => FrappeTable,\n filterValueToFrappeTuple: () => filterValueToFrappeTuple\n});\nmodule.exports = __toCommonJS(FrappeTable_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_frappe = require(\"@multiplatform.one/frappe\");\nvar import_table = require(\"@multiplatform.one/table\");\nvar import_components = require(\"@multiplatform.one/components\");\nvar import_theme = require(\"@multiplatform.one/theme\");\nvar import_react = __toESM(require(\"react\"));\nvar import_react_i18next = require(\"react-i18next\");\nvar import_tamagui = require(\"tamagui\");\nvar import_table2 = require(\"@multiplatform.one/table\");\nvar import_FrappeProvider = require(\"./FrappeProvider\");\nvar import_FrappeReconnectIndicator = require(\"./FrappeReconnectIndicator\");\nvar import_filterFields = require(\"./filterFields\");\nvar import_liveErrors = require(\"./liveErrors\");\nfunction _instanceof(left, right) {\n \"@swc/helpers - instanceof\";\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return !!right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n}\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nfunction filterValueToFrappeTuple(fieldname, filterValue) {\n var { operator, value, values } = filterValue;\n var wrap = function wrap2(pattern) {\n return typeof value === \"string\" && value.includes(\"%\") ? value : pattern;\n };\n switch (operator) {\n case \"isEmpty\":\n return [\n fieldname,\n \"is\",\n \"not set\"\n ];\n case \"isNotEmpty\":\n return [\n fieldname,\n \"is\",\n \"set\"\n ];\n case \"isAnyOf\":\n return (values === null || values === void 0 ? void 0 : values.length) ? [\n fieldname,\n \"in\",\n values\n ] : null;\n case \"isNoneOf\":\n return (values === null || values === void 0 ? void 0 : values.length) ? [\n fieldname,\n \"not in\",\n values\n ] : null;\n case \"isBetween\":\n return (values === null || values === void 0 ? void 0 : values.length) === 2 ? [\n fieldname,\n \"between\",\n values\n ] : null;\n }\n if (value == null || value === \"\") return null;\n switch (operator) {\n case \"contains\":\n return [\n fieldname,\n \"like\",\n wrap(`%${value}%`)\n ];\n case \"doesNotContain\":\n return [\n fieldname,\n \"not like\",\n wrap(`%${value}%`)\n ];\n case \"startsWith\":\n return [\n fieldname,\n \"like\",\n wrap(`${value}%`)\n ];\n case \"endsWith\":\n return [\n fieldname,\n \"like\",\n wrap(`%${value}`)\n ];\n case \"is\":\n return [\n fieldname,\n \"=\",\n value\n ];\n case \"isNot\":\n return [\n fieldname,\n \"!=\",\n value\n ];\n case \"isLessThan\":\n case \"isBefore\":\n return [\n fieldname,\n \"<\",\n value\n ];\n case \"isGreaterThan\":\n case \"isAfter\":\n return [\n fieldname,\n \">\",\n value\n ];\n case \"isLessThanOrEqual\":\n case \"isOnOrBefore\":\n return [\n fieldname,\n \"<=\",\n value\n ];\n case \"isGreaterThanOrEqual\":\n case \"isOnOrAfter\":\n return [\n fieldname,\n \">=\",\n value\n ];\n default:\n return [\n fieldname,\n \"=\",\n value\n ];\n }\n}\nfunction isOperatorFilterValue(value) {\n return (typeof value === \"undefined\" ? \"undefined\" : _type_of(value)) === \"object\" && value !== null && typeof value.operator === \"string\";\n}\nfunction sortRowsLocally(rows, orderBy) {\n if (!(orderBy === null || orderBy === void 0 ? void 0 : orderBy.length)) return rows;\n return [\n ...rows\n ].sort(function(a, b) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = orderBy[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var { field, order } = _step.value;\n var av = a[field];\n var bv = b[field];\n if (av == null && bv == null) continue;\n if (av == null) return order === import_frappe.Order.Asc ? -1 : 1;\n if (bv == null) return order === import_frappe.Order.Asc ? 1 : -1;\n if (av < bv) return order === import_frappe.Order.Asc ? -1 : 1;\n if (av > bv) return order === import_frappe.Order.Asc ? 1 : -1;\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return 0;\n });\n}\nfunction stateToFrappeParams(state) {\n var { pagination, sorting, filters, columnFilters, globalFilter } = state;\n var limitStart = pagination.pageIndex * pagination.pageSize;\n var limit = pagination.pageSize;\n var frappeFilters = [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = (filters !== null && filters !== void 0 ? filters : [])[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var f = _step.value;\n var _f_value;\n if (!((_f_value = f.value) === null || _f_value === void 0 ? void 0 : _f_value.operator)) continue;\n var tuple = filterValueToFrappeTuple(f.columnId, f.value);\n if (tuple) frappeFilters.push(tuple);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = (columnFilters !== null && columnFilters !== void 0 ? columnFilters : [])[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var cf = _step1.value;\n if (isOperatorFilterValue(cf.value)) {\n var tuple1 = filterValueToFrappeTuple(cf.id, cf.value);\n if (tuple1) frappeFilters.push(tuple1);\n } else if (cf.value != null && cf.value !== \"\") {\n frappeFilters.push([\n cf.id,\n \"=\",\n cf.value\n ]);\n }\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n if (globalFilter && typeof globalFilter === \"string\" && globalFilter.trim()) {\n frappeFilters.push([\n \"name\",\n \"like\",\n `%${globalFilter}%`\n ]);\n }\n var orderBy = (sorting === null || sorting === void 0 ? void 0 : sorting.length) && sorting[0] ? sorting.map(function(s) {\n return {\n field: s.id,\n order: s.desc ? import_frappe.Order.Desc : import_frappe.Order.Asc\n };\n }) : void 0;\n return {\n limitStart,\n limit,\n filters: frappeFilters,\n orderBy\n };\n}\nfunction FrappeTable(param) {\n var { baseURL, auth, syncOptions, doctype, columns, fields, filters: initialFilters, onRowClick, loading, error, savedFilters = false, canCreateGlobalFilters = false, userId, serverSide = false, onStateChange: onStateChangeProp, refreshToken, paginationMode = \"pages\", loadPage: loadPageProp, filterableFields: filterableFieldsProp, layout, ...dataTableProps } = param;\n var infiniteServerMode = serverSide && paginationMode === \"infinite\";\n var { knobProps } = (0, import_theme.useResolvedKnobs)();\n var { t } = (0, import_react_i18next.useTranslation)();\n var [errorState, setErrorState] = import_react.default.useState(null);\n var [activeFilters, setActiveFilters] = import_react.default.useState(initialFilters);\n var config = (0, import_FrappeProvider.useFrappeConfig)();\n var filtersPropKey = initialFilters !== void 0 ? JSON.stringify(initialFilters) : void 0;\n var adoptedFiltersPropRef = (0, import_react.useRef)(filtersPropKey);\n (0, import_react.useEffect)(function() {\n if (filtersPropKey === void 0) return;\n if (adoptedFiltersPropRef.current === filtersPropKey) return;\n adoptedFiltersPropRef.current = filtersPropKey;\n setActiveFilters(JSON.parse(filtersPropKey));\n }, [\n filtersPropKey\n ]);\n var finalBaseURL = baseURL !== null && baseURL !== void 0 ? baseURL : config === null || config === void 0 ? void 0 : config.baseURL;\n var finalAuth = auth !== null && auth !== void 0 ? auth : config === null || config === void 0 ? void 0 : config.auth;\n var finalSyncOptions = syncOptions !== null && syncOptions !== void 0 ? syncOptions : config === null || config === void 0 ? void 0 : config.syncOptions;\n if (!finalBaseURL) {\n throw new Error(\"FrappeTable requires baseURL prop or FrappeProvider with baseURL\");\n }\n var connectionConfig = (0, import_react.useMemo)(function() {\n return {\n baseURL: finalBaseURL,\n socketPort: config === null || config === void 0 ? void 0 : config.socketPort,\n siteName: config === null || config === void 0 ? void 0 : config.siteName,\n socketBaseURL: config === null || config === void 0 ? void 0 : config.socketBaseURL,\n auth: finalAuth,\n syncOptions: finalSyncOptions,\n 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 = (0, import_react.useMemo)(function() {\n if (!serverSide || !finalBaseURL) return null;\n return new import_frappe.FrappeApp(finalBaseURL, finalAuth !== null && finalAuth !== void 0 ? finalAuth : {});\n }, [\n serverSide,\n finalBaseURL,\n finalAuth\n ]);\n var { meta } = (0, import_frappe.useDocTypeMeta)(filterableFieldsProp ? void 0 : connectionConfig, doctype);\n var metaFilterFields = (0, import_react.useMemo)(function() {\n return (meta === null || meta === void 0 ? void 0 : meta.fields) ? (0, import_filterFields.docFieldsToFilterFields)(meta.fields) : void 0;\n }, [\n meta\n ]);\n var filterableFields = filterableFieldsProp !== null && filterableFieldsProp !== void 0 ? filterableFieldsProp : metaFilterFields;\n var titleField = meta === null || meta === void 0 ? void 0 : meta.title_field;\n var rowLabel = (0, import_react.useCallback)(function(row) {\n var fromTitle = titleField ? row[titleField] : void 0;\n if (typeof fromTitle === \"string\" && fromTitle) return fromTitle;\n if (typeof fromTitle === \"number\") return String(fromTitle);\n return typeof row.name === \"string\" ? row.name : \"\";\n }, [\n titleField\n ]);\n var [serverData, setServerData] = (0, import_react.useState)([]);\n var [serverRowCount, setServerRowCount] = (0, import_react.useState)(0);\n var [serverLoading, setServerLoading] = (0, import_react.useState)(serverSide);\n var [hasLoadedOnce, setHasLoadedOnce] = (0, import_react.useState)(false);\n var hasLoadedOnceRef = (0, import_react.useRef)(false);\n var lastFetchKey = (0, import_react.useRef)(\"\");\n var fetchSeq = (0, import_react.useRef)(0);\n var fetchAbortRef = (0, import_react.useRef)(null);\n var lastStateRef = (0, import_react.useRef)(null);\n var lastFiltersKey = (0, import_react.useRef)(\"\");\n var lastSortKey = (0, import_react.useRef)(\"\");\n var lastGoodServerRows = (0, import_react.useRef)([]);\n var fetchServerData = (0, import_react.useCallback)(async function(state) {\n var _params_orderBy;\n var _fetchAbortRef_current;\n if (!frappeApp || !serverSide) return;\n lastStateRef.current = state;\n var params = stateToFrappeParams(state);\n var key = JSON.stringify(params);\n if (key === lastFetchKey.current) return;\n lastFetchKey.current = key;\n var filtersKey = JSON.stringify(params.filters);\n var sortKey = JSON.stringify((_params_orderBy = params.orderBy) !== null && _params_orderBy !== void 0 ? _params_orderBy : []);\n var alreadyLoaded = lastFiltersKey.current !== \"\" || lastGoodServerRows.current.length > 0;\n if (alreadyLoaded) {\n var filtersChanged = filtersKey !== lastFiltersKey.current;\n var sortChanged = sortKey !== lastSortKey.current;\n if (filtersChanged || sortChanged) {\n setServerData(function(previous) {\n var _params_orderBy2;\n var next = previous;\n if (filtersChanged && params.filters.length > 0) {\n var narrowed = previous.filter(function(row) {\n return (0, import_frappe.matchesFilters)(row, params.filters);\n });\n if (narrowed.length > 0) next = narrowed;\n }\n if (sortChanged && ((_params_orderBy2 = params.orderBy) === null || _params_orderBy2 === void 0 ? void 0 : _params_orderBy2.length)) {\n next = sortRowsLocally(next, params.orderBy);\n }\n return next;\n });\n }\n }\n lastFiltersKey.current = filtersKey;\n lastSortKey.current = sortKey;\n (_fetchAbortRef_current = fetchAbortRef.current) === null || _fetchAbortRef_current === void 0 ? void 0 : _fetchAbortRef_current.abort();\n var controller = new AbortController();\n fetchAbortRef.current = controller;\n var seq = ++fetchSeq.current;\n setServerLoading(true);\n try {\n var [data, count] = await Promise.all([\n frappeApp.db().getDocList(doctype, {\n fields: fields !== null && fields !== void 0 ? fields : [\n \"name\"\n ],\n filters: params.filters.length ? params.filters : void 0,\n limitStart: params.limitStart,\n limit: params.limit,\n orderBy: params.orderBy,\n signal: controller.signal\n }),\n frappeApp.db().getCount(doctype, params.filters.length ? params.filters : void 0, void 0, void 0, controller.signal)\n ]);\n if (seq !== fetchSeq.current) return;\n setServerData(data);\n setServerRowCount(count);\n lastGoodServerRows.current = data;\n setErrorState(null);\n } catch (err) {\n if (seq !== fetchSeq.current) return;\n if (controller.signal.aborted) return;\n setErrorState(_instanceof(err, Error) ? err : new Error(String(err)));\n if (!hasLoadedOnceRef.current) {\n setServerData([]);\n setServerRowCount(0);\n }\n } finally {\n if (seq === fetchSeq.current && !controller.signal.aborted) {\n setServerLoading(false);\n hasLoadedOnceRef.current = true;\n setHasLoadedOnce(true);\n }\n }\n }, [\n frappeApp,\n serverSide,\n doctype,\n fields\n ]);\n var liveRefetchTimer = (0, import_react.useRef)(null);\n (0, import_frappe.useFrappeDoctypeEvents)(connectionConfig, doctype, function() {\n if (liveRefetchTimer.current) clearTimeout(liveRefetchTimer.current);\n liveRefetchTimer.current = setTimeout(function() {\n lastFetchKey.current = \"\";\n if (lastStateRef.current) fetchServerData(lastStateRef.current);\n }, 250);\n }, serverSide && !infiniteServerMode);\n (0, import_react.useEffect)(function() {\n return function() {\n var _fetchAbortRef_current;\n if (liveRefetchTimer.current) clearTimeout(liveRefetchTimer.current);\n (_fetchAbortRef_current = fetchAbortRef.current) === null || _fetchAbortRef_current === void 0 ? void 0 : _fetchAbortRef_current.abort();\n };\n }, []);\n var refreshTokenSeen = (0, import_react.useRef)(refreshToken);\n (0, import_react.useEffect)(function() {\n if (refreshTokenSeen.current === refreshToken) return;\n refreshTokenSeen.current = refreshToken;\n if (!serverSide || infiniteServerMode) return;\n lastFetchKey.current = \"\";\n if (lastStateRef.current) fetchServerData(lastStateRef.current);\n }, [\n refreshToken,\n serverSide,\n infiniteServerMode,\n fetchServerData\n ]);\n var frappeLoadPage = (0, import_react.useCallback)(async function(query) {\n if (!frappeApp) return {\n rows: []\n };\n var params = stateToFrappeParams({\n pagination: {\n pageIndex: query.pageIndex,\n pageSize: query.pageSize\n },\n sorting: query.sorting,\n filters: query.filters,\n columnFilters: query.columnFilters,\n globalFilter: query.globalFilter\n });\n var [rows2, count] = await Promise.all([\n frappeApp.db().getDocList(doctype, {\n fields: fields !== null && fields !== void 0 ? fields : [\n \"name\"\n ],\n filters: params.filters.length ? params.filters : void 0,\n limitStart: params.limitStart,\n limit: params.limit,\n orderBy: params.orderBy\n }),\n query.pageIndex === 0 ? frappeApp.db().getCount(doctype, params.filters.length ? params.filters : void 0) : Promise.resolve(void 0)\n ]);\n return {\n rows: rows2,\n totalCount: count !== null && count !== void 0 ? count : void 0\n };\n }, [\n frappeApp,\n doctype,\n fields\n ]);\n var resolvedLoadPage = loadPageProp !== null && loadPageProp !== void 0 ? loadPageProp : infiniteServerMode ? frappeLoadPage : void 0;\n var handleStateChange = (0, import_react.useCallback)(function(state) {\n onStateChangeProp === null || onStateChangeProp === void 0 ? void 0 : onStateChangeProp(state);\n if (serverSide && !infiniteServerMode) fetchServerData(state);\n }, [\n onStateChangeProp,\n serverSide,\n infiniteServerMode,\n fetchServerData\n ]);\n (0, import_react.useEffect)(function() {\n if (serverSide && !infiniteServerMode && frappeApp) {\n var _lastStateRef_current;\n lastFetchKey.current = \"\";\n fetchServerData((_lastStateRef_current = lastStateRef.current) !== null && _lastStateRef_current !== void 0 ? _lastStateRef_current : {\n data: [],\n columns,\n pagination: {\n pageIndex: 0,\n pageSize: 10\n },\n sorting: [],\n filters: [],\n columnFilters: [],\n columnVisibility: {},\n columnOrder: columns.map(function(c) {\n var _c_id;\n return (_c_id = c.id) !== null && _c_id !== void 0 ? _c_id : \"\";\n }),\n columnSizing: {}\n });\n }\n }, [\n serverSide,\n infiniteServerMode,\n !!frappeApp,\n fetchServerData\n ]);\n var savedFiltersHook = (0, import_table2.useSavedFilters)({\n userId\n });\n var handleSyncError = (0, import_react.useCallback)(function(err) {\n setErrorState((0, import_liveErrors.toLiveLoadError)(err, {\n permissionMessage: t(\"You do not have permission to view {{doctype}}\", {\n doctype\n }),\n genericMessage: t(\"Error loading {{doctype}}\", {\n doctype\n })\n }));\n }, [\n doctype,\n t\n ]);\n var collection = (0, import_frappe.useFrappeCollection)(serverSide ? void 0 : connectionConfig, serverSide ? \"\" : doctype, serverSide ? void 0 : {\n fields,\n filters: activeFilters,\n onSyncError: handleSyncError\n });\n var { data: rawData, isLoading: isRowsLoading, isError: isLiveError } = (0, import_frappe.useLiveQuery)(function(q) {\n return collection ? q.from({\n _list: collection\n }) : null;\n }, [\n collection\n ]);\n var clientRows = (0, import_react.useMemo)(function() {\n return rawData !== null && rawData !== void 0 ? rawData : [];\n }, [\n rawData\n ]);\n var lastGoodClientRows = (0, import_react.useRef)(null);\n if (!serverSide && !isRowsLoading) lastGoodClientRows.current = clientRows;\n var clientRowsResolved = (0, import_react.useMemo)(function() {\n if (serverSide) return clientRows;\n if (!isRowsLoading || !lastGoodClientRows.current) return clientRows;\n var held = lastGoodClientRows.current;\n if (!activeFilters) return held;\n var narrowed = held.filter(function(row) {\n return (0, import_frappe.matchesFilters)(row, activeFilters);\n });\n return narrowed.length > 0 ? narrowed : held;\n }, [\n serverSide,\n clientRows,\n isRowsLoading,\n activeFilters\n ]);\n var serverRowsResolved = serverSide && serverLoading && serverData.length === 0 && lastGoodServerRows.current.length > 0 ? lastGoodServerRows.current : serverData;\n var rows = serverSide ? serverRowsResolved : clientRowsResolved;\n var isRowsLoadingResolved = serverSide ? infiniteServerMode ? false : serverLoading && !hasLoadedOnce : isRowsLoading && lastGoodClientRows.current === null;\n var isFetching = serverSide ? !infiniteServerMode && serverLoading && hasLoadedOnce : isRowsLoading && lastGoodClientRows.current !== null;\n (0, import_react.useEffect)(function() {\n if (!serverSide) setErrorState(null);\n }, [\n collection,\n serverSide\n ]);\n (0, import_react.useEffect)(function() {\n if (serverSide || !isLiveError) return;\n setErrorState(function(prev) {\n return prev !== null && prev !== void 0 ? prev : new Error(t(\"Failed to load {{doctype}}\", {\n doctype\n }));\n });\n }, [\n serverSide,\n isLiveError,\n doctype,\n t\n ]);\n var handleSelectFilter = function handleSelectFilter2(filter) {\n if (filter) {\n setActiveFilters(filter.filters);\n } else {\n setActiveFilters(initialFilters);\n }\n };\n var handleSaveFilter = async function handleSaveFilter2(filterName, isGlobal) {\n if (!savedFiltersHook || !activeFilters) return;\n var filterArray = Array.isArray(activeFilters) ? activeFilters : Object.entries(activeFilters).map(function(param2) {\n var [key, value] = param2;\n return [\n key,\n \"=\",\n value\n ];\n });\n await savedFiltersHook.saveFilter(filterName, filterArray, isGlobal);\n };\n var handleDeleteFilter = async function handleDeleteFilter2(name) {\n if (!savedFiltersHook) return;\n await savedFiltersHook.deleteFilter(name);\n };\n if (errorState && error) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {\n children: error(errorState)\n });\n }\n var rowData = rows !== null && rows !== void 0 ? rows : [];\n var boundaryState = errorState ? {\n error: errorState\n } : isRowsLoadingResolved ? {\n loading: loading !== null && loading !== void 0 ? loading : true\n } : rowData.length === 0 && !infiniteServerMode && !isFetching ? {\n empty: true\n } : null;\n if (boundaryState) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {\n ...knobProps.gap,\n flex: 1,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_FrappeReconnectIndicator.FrappeReconnectIndicator, {\n config: connectionConfig\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.AsyncBoundary, {\n layout: layout === \"list\" || layout === \"cards\" ? \"list\" : \"table\",\n errorTitle: t(\"Error loading {{doctype}}\", {\n doctype\n }),\n emptyTitle: t(\"No {{doctype}} records found\", {\n doctype\n }),\n ...boundaryState\n })\n ]\n });\n }\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {\n ...knobProps.gap,\n flex: 1,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_FrappeReconnectIndicator.FrappeReconnectIndicator, {\n config: connectionConfig\n }),\n savedFilters && savedFiltersHook && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {\n ...knobProps.gap,\n padding: \"$2\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_table2.SavedFilterDropdown, {\n filters: savedFiltersHook.filters,\n selectedFilter: null,\n onSelectFilter: handleSelectFilter,\n onDeleteFilter: handleDeleteFilter\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_table2.FilterManager, {\n currentFilters: Array.isArray(activeFilters) ? activeFilters : activeFilters ? Object.entries(activeFilters).map(function(param2) {\n var [key, value] = param2;\n return [\n key,\n \"=\",\n value\n ];\n }) : [],\n onSaveFilter: handleSaveFilter,\n canCreateGlobal: canCreateGlobalFilters\n })\n ]\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_table.DataTable, {\n data: rowData,\n columns,\n // onRowClick (the stable FrappeTable prop name) rides DataTable's\n // first-class row activation: whole-row press target, roving tab\n // stop (LC-49), Enter/Space activation (LC-50), inner interactive\n // controls win. rowLabel names each pressable row and its\n // selection checkbox by document identity. Both spread BEFORE\n // {...dataTableProps} so an explicit consumer onRowPress/rowLabel\n // still ejects (consumer-last house rule).\n ...onRowClick ? {\n onRowPress: function onRowPress(row) {\n return onRowClick(row);\n }\n } : {},\n rowLabel,\n ...serverSide && {\n manualFiltering: true,\n manualPagination: true,\n manualSorting: true,\n onStateChange: handleStateChange,\n ...infiniteServerMode ? {} : {\n rowCount: serverRowCount\n }\n },\n paginationMode,\n ...resolvedLoadPage ? {\n loadPage: resolvedLoadPage\n } : {},\n ...filterableFields ? {\n filterableFields\n } : {},\n isFetching,\n ...dataTableProps,\n ...layout ? {\n layout\n } : {}\n })\n ]\n });\n}\n//# sourceMappingURL=FrappeTable.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","FrappeTable_exports","FrappeTable","filterValueToFrappeTuple","module","exports","import_jsx_runtime","require","import_frappe","import_table","import_components","import_theme","import_react","import_react_i18next","import_tamagui","import_table2","import_FrappeProvider","import_FrappeReconnectIndicator","import_filterFields","import_liveErrors","_instanceof","left","right","Symbol","hasInstance","_type_of","obj","constructor","fieldname","filterValue","operator","values","wrap","wrap2","pattern","includes","length","isOperatorFilterValue","sortRowsLocally","rows","orderBy","sort","a","b","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","field","order","av","bv","Order","Asc","err","return","stateToFrappeParams","state","pagination","sorting","filters","columnFilters","globalFilter","limitStart","pageIndex","pageSize","limit","frappeFilters","f","_f_value","tuple","columnId","push","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","cf","tuple1","id","trim","map","s","Desc","param","baseURL","auth","syncOptions","doctype","columns","fields","initialFilters","onRowClick","loading","error","savedFilters","canCreateGlobalFilters","userId","serverSide","onStateChange","onStateChangeProp","refreshToken","paginationMode","loadPage","loadPageProp","filterableFields","filterableFieldsProp","layout","dataTableProps","infiniteServerMode","knobProps","useResolvedKnobs","t","useTranslation","errorState","setErrorState","default","useState","activeFilters","setActiveFilters","config","useFrappeConfig","filtersPropKey","JSON","stringify","adoptedFiltersPropRef","useRef","useEffect","current","parse","finalBaseURL","finalAuth","finalSyncOptions","Error","connectionConfig","useMemo","socketPort","siteName","socketBaseURL","realtime","fixtures","frappeApp","FrappeApp","meta","useDocTypeMeta","metaFilterFields","docFieldsToFilterFields","titleField","title_field","rowLabel","useCallback","row","fromTitle","String","serverData","setServerData","serverRowCount","setServerRowCount","serverLoading","setServerLoading","hasLoadedOnce","setHasLoadedOnce","hasLoadedOnceRef","lastFetchKey","fetchSeq","fetchAbortRef","lastStateRef","lastFiltersKey","lastSortKey","lastGoodServerRows","fetchServerData","_params_orderBy","_fetchAbortRef_current","params","filtersKey","sortKey","alreadyLoaded","filtersChanged","sortChanged","previous","_params_orderBy2","narrowed","filter","matchesFilters","abort","controller","AbortController","seq","data","count","Promise","db","getDocList","signal","getCount","aborted","liveRefetchTimer","useFrappeDoctypeEvents","clearTimeout","setTimeout","refreshTokenSeen","frappeLoadPage","query","rows2","resolve","totalCount","resolvedLoadPage","handleStateChange","_lastStateRef_current","columnVisibility","columnOrder","c","_c_id","columnSizing","savedFiltersHook","useSavedFilters","handleSyncError","toLiveLoadError","permissionMessage","genericMessage","collection","useFrappeCollection","onSyncError","rawData","isLoading","isRowsLoading","isError","isLiveError","useLiveQuery","q","_list","clientRows","lastGoodClientRows","clientRowsResolved","held","serverRowsResolved","isRowsLoadingResolved","isFetching","prev","handleSelectFilter","handleSelectFilter2","handleSaveFilter","handleSaveFilter2","filterName","isGlobal","filterArray","Array","isArray","entries","param2","saveFilter","handleDeleteFilter","handleDeleteFilter2","deleteFilter","jsx","Fragment","children","rowData","boundaryState","empty","jsxs","YStack","gap","flex","FrappeReconnectIndicator","AsyncBoundary","errorTitle","emptyTitle","XStack","padding","SavedFilterDropdown","selectedFilter","onSelectFilter","onDeleteFilter","FilterManager","currentFilters","onSaveFilter","canCreateGlobal","DataTable","onRowPress","manualFiltering","manualPagination","manualSorting","rowCount"],"sources":["FrappeTable.native.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar FrappeTable_exports = {};\n__export(FrappeTable_exports, {\n FrappeTable: () => FrappeTable,\n filterValueToFrappeTuple: () => filterValueToFrappeTuple\n});\nmodule.exports = __toCommonJS(FrappeTable_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_frappe = require(\"@multiplatform.one/frappe\");\nvar import_table = require(\"@multiplatform.one/table\");\nvar import_components = require(\"@multiplatform.one/components\");\nvar import_theme = require(\"@multiplatform.one/theme\");\nvar import_react = __toESM(require(\"react\"));\nvar import_react_i18next = require(\"react-i18next\");\nvar import_tamagui = require(\"tamagui\");\nvar import_table2 = require(\"@multiplatform.one/table\");\nvar import_FrappeProvider = require(\"./FrappeProvider\");\nvar import_FrappeReconnectIndicator = require(\"./FrappeReconnectIndicator\");\nvar import_filterFields = require(\"./filterFields\");\nvar import_liveErrors = require(\"./liveErrors\");\nfunction _instanceof(left, right) {\n \"@swc/helpers - instanceof\";\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return !!right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n}\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nfunction filterValueToFrappeTuple(fieldname, filterValue) {\n var { operator, value, values } = filterValue;\n var wrap = function wrap2(pattern) {\n return typeof value === \"string\" && value.includes(\"%\") ? value : pattern;\n };\n switch (operator) {\n case \"isEmpty\":\n return [\n fieldname,\n \"is\",\n \"not set\"\n ];\n case \"isNotEmpty\":\n return [\n fieldname,\n \"is\",\n \"set\"\n ];\n case \"isAnyOf\":\n return (values === null || values === void 0 ? void 0 : values.length) ? [\n fieldname,\n \"in\",\n values\n ] : null;\n case \"isNoneOf\":\n return (values === null || values === void 0 ? void 0 : values.length) ? [\n fieldname,\n \"not in\",\n values\n ] : null;\n case \"isBetween\":\n return (values === null || values === void 0 ? void 0 : values.length) === 2 ? [\n fieldname,\n \"between\",\n values\n ] : null;\n }\n if (value == null || value === \"\") return null;\n switch (operator) {\n case \"contains\":\n return [\n fieldname,\n \"like\",\n wrap(`%${value}%`)\n ];\n case \"doesNotContain\":\n return [\n fieldname,\n \"not like\",\n wrap(`%${value}%`)\n ];\n case \"startsWith\":\n return [\n fieldname,\n \"like\",\n wrap(`${value}%`)\n ];\n case \"endsWith\":\n return [\n fieldname,\n \"like\",\n wrap(`%${value}`)\n ];\n case \"is\":\n return [\n fieldname,\n \"=\",\n value\n ];\n case \"isNot\":\n return [\n fieldname,\n \"!=\",\n value\n ];\n case \"isLessThan\":\n case \"isBefore\":\n return [\n fieldname,\n \"<\",\n value\n ];\n case \"isGreaterThan\":\n case \"isAfter\":\n return [\n fieldname,\n \">\",\n value\n ];\n case \"isLessThanOrEqual\":\n case \"isOnOrBefore\":\n return [\n fieldname,\n \"<=\",\n value\n ];\n case \"isGreaterThanOrEqual\":\n case \"isOnOrAfter\":\n return [\n fieldname,\n \">=\",\n value\n ];\n default:\n return [\n fieldname,\n \"=\",\n value\n ];\n }\n}\nfunction isOperatorFilterValue(value) {\n return (typeof value === \"undefined\" ? \"undefined\" : _type_of(value)) === \"object\" && value !== null && typeof value.operator === \"string\";\n}\nfunction sortRowsLocally(rows, orderBy) {\n if (!(orderBy === null || orderBy === void 0 ? void 0 : orderBy.length)) return rows;\n return [\n ...rows\n ].sort(function(a, b) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = orderBy[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var { field, order } = _step.value;\n var av = a[field];\n var bv = b[field];\n if (av == null && bv == null) continue;\n if (av == null) return order === import_frappe.Order.Asc ? -1 : 1;\n if (bv == null) return order === import_frappe.Order.Asc ? 1 : -1;\n if (av < bv) return order === import_frappe.Order.Asc ? -1 : 1;\n if (av > bv) return order === import_frappe.Order.Asc ? 1 : -1;\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return 0;\n });\n}\nfunction stateToFrappeParams(state) {\n var { pagination, sorting, filters, columnFilters, globalFilter } = state;\n var limitStart = pagination.pageIndex * pagination.pageSize;\n var limit = pagination.pageSize;\n var frappeFilters = [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = (filters !== null && filters !== void 0 ? filters : [])[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var f = _step.value;\n var _f_value;\n if (!((_f_value = f.value) === null || _f_value === void 0 ? void 0 : _f_value.operator)) continue;\n var tuple = filterValueToFrappeTuple(f.columnId, f.value);\n if (tuple) frappeFilters.push(tuple);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = (columnFilters !== null && columnFilters !== void 0 ? columnFilters : [])[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var cf = _step1.value;\n if (isOperatorFilterValue(cf.value)) {\n var tuple1 = filterValueToFrappeTuple(cf.id, cf.value);\n if (tuple1) frappeFilters.push(tuple1);\n } else if (cf.value != null && cf.value !== \"\") {\n frappeFilters.push([\n cf.id,\n \"=\",\n cf.value\n ]);\n }\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n if (globalFilter && typeof globalFilter === \"string\" && globalFilter.trim()) {\n frappeFilters.push([\n \"name\",\n \"like\",\n `%${globalFilter}%`\n ]);\n }\n var orderBy = (sorting === null || sorting === void 0 ? void 0 : sorting.length) && sorting[0] ? sorting.map(function(s) {\n return {\n field: s.id,\n order: s.desc ? import_frappe.Order.Desc : import_frappe.Order.Asc\n };\n }) : void 0;\n return {\n limitStart,\n limit,\n filters: frappeFilters,\n orderBy\n };\n}\nfunction FrappeTable(param) {\n var { baseURL, auth, syncOptions, doctype, columns, fields, filters: initialFilters, onRowClick, loading, error, savedFilters = false, canCreateGlobalFilters = false, userId, serverSide = false, onStateChange: onStateChangeProp, refreshToken, paginationMode = \"pages\", loadPage: loadPageProp, filterableFields: filterableFieldsProp, layout, ...dataTableProps } = param;\n var infiniteServerMode = serverSide && paginationMode === \"infinite\";\n var { knobProps } = (0, import_theme.useResolvedKnobs)();\n var { t } = (0, import_react_i18next.useTranslation)();\n var [errorState, setErrorState] = import_react.default.useState(null);\n var [activeFilters, setActiveFilters] = import_react.default.useState(initialFilters);\n var config = (0, import_FrappeProvider.useFrappeConfig)();\n var filtersPropKey = initialFilters !== void 0 ? JSON.stringify(initialFilters) : void 0;\n var adoptedFiltersPropRef = (0, import_react.useRef)(filtersPropKey);\n (0, import_react.useEffect)(function() {\n if (filtersPropKey === void 0) return;\n if (adoptedFiltersPropRef.current === filtersPropKey) return;\n adoptedFiltersPropRef.current = filtersPropKey;\n setActiveFilters(JSON.parse(filtersPropKey));\n }, [\n filtersPropKey\n ]);\n var finalBaseURL = baseURL !== null && baseURL !== void 0 ? baseURL : config === null || config === void 0 ? void 0 : config.baseURL;\n var finalAuth = auth !== null && auth !== void 0 ? auth : config === null || config === void 0 ? void 0 : config.auth;\n var finalSyncOptions = syncOptions !== null && syncOptions !== void 0 ? syncOptions : config === null || config === void 0 ? void 0 : config.syncOptions;\n if (!finalBaseURL) {\n throw new Error(\"FrappeTable requires baseURL prop or FrappeProvider with baseURL\");\n }\n var connectionConfig = (0, import_react.useMemo)(function() {\n return {\n baseURL: finalBaseURL,\n socketPort: config === null || config === void 0 ? void 0 : config.socketPort,\n siteName: config === null || config === void 0 ? void 0 : config.siteName,\n socketBaseURL: config === null || config === void 0 ? void 0 : config.socketBaseURL,\n auth: finalAuth,\n syncOptions: finalSyncOptions,\n realtime: config === null || config === void 0 ? void 0 : config.realtime,\n fixtures: config === null || config === void 0 ? void 0 : config.fixtures\n };\n }, [\n finalBaseURL,\n config === null || config === void 0 ? void 0 : config.socketPort,\n config === null || config === void 0 ? void 0 : config.siteName,\n config === null || config === void 0 ? void 0 : config.socketBaseURL,\n config === null || config === void 0 ? void 0 : config.realtime,\n finalAuth,\n finalSyncOptions,\n config === null || config === void 0 ? void 0 : config.fixtures\n ]);\n var frappeApp = (0, import_react.useMemo)(function() {\n if (!serverSide || !finalBaseURL) return null;\n return new import_frappe.FrappeApp(finalBaseURL, finalAuth !== null && finalAuth !== void 0 ? finalAuth : {});\n }, [\n serverSide,\n finalBaseURL,\n finalAuth\n ]);\n var { meta } = (0, import_frappe.useDocTypeMeta)(filterableFieldsProp ? void 0 : connectionConfig, doctype);\n var metaFilterFields = (0, import_react.useMemo)(function() {\n return (meta === null || meta === void 0 ? void 0 : meta.fields) ? (0, import_filterFields.docFieldsToFilterFields)(meta.fields) : void 0;\n }, [\n meta\n ]);\n var filterableFields = filterableFieldsProp !== null && filterableFieldsProp !== void 0 ? filterableFieldsProp : metaFilterFields;\n var titleField = meta === null || meta === void 0 ? void 0 : meta.title_field;\n var rowLabel = (0, import_react.useCallback)(function(row) {\n var fromTitle = titleField ? row[titleField] : void 0;\n if (typeof fromTitle === \"string\" && fromTitle) return fromTitle;\n if (typeof fromTitle === \"number\") return String(fromTitle);\n return typeof row.name === \"string\" ? row.name : \"\";\n }, [\n titleField\n ]);\n var [serverData, setServerData] = (0, import_react.useState)([]);\n var [serverRowCount, setServerRowCount] = (0, import_react.useState)(0);\n var [serverLoading, setServerLoading] = (0, import_react.useState)(serverSide);\n var [hasLoadedOnce, setHasLoadedOnce] = (0, import_react.useState)(false);\n var hasLoadedOnceRef = (0, import_react.useRef)(false);\n var lastFetchKey = (0, import_react.useRef)(\"\");\n var fetchSeq = (0, import_react.useRef)(0);\n var fetchAbortRef = (0, import_react.useRef)(null);\n var lastStateRef = (0, import_react.useRef)(null);\n var lastFiltersKey = (0, import_react.useRef)(\"\");\n var lastSortKey = (0, import_react.useRef)(\"\");\n var lastGoodServerRows = (0, import_react.useRef)([]);\n var fetchServerData = (0, import_react.useCallback)(async function(state) {\n var _params_orderBy;\n var _fetchAbortRef_current;\n if (!frappeApp || !serverSide) return;\n lastStateRef.current = state;\n var params = stateToFrappeParams(state);\n var key = JSON.stringify(params);\n if (key === lastFetchKey.current) return;\n lastFetchKey.current = key;\n var filtersKey = JSON.stringify(params.filters);\n var sortKey = JSON.stringify((_params_orderBy = params.orderBy) !== null && _params_orderBy !== void 0 ? _params_orderBy : []);\n var alreadyLoaded = lastFiltersKey.current !== \"\" || lastGoodServerRows.current.length > 0;\n if (alreadyLoaded) {\n var filtersChanged = filtersKey !== lastFiltersKey.current;\n var sortChanged = sortKey !== lastSortKey.current;\n if (filtersChanged || sortChanged) {\n setServerData(function(previous) {\n var _params_orderBy2;\n var next = previous;\n if (filtersChanged && params.filters.length > 0) {\n var narrowed = previous.filter(function(row) {\n return (0, import_frappe.matchesFilters)(row, params.filters);\n });\n if (narrowed.length > 0) next = narrowed;\n }\n if (sortChanged && ((_params_orderBy2 = params.orderBy) === null || _params_orderBy2 === void 0 ? void 0 : _params_orderBy2.length)) {\n next = sortRowsLocally(next, params.orderBy);\n }\n return next;\n });\n }\n }\n lastFiltersKey.current = filtersKey;\n lastSortKey.current = sortKey;\n (_fetchAbortRef_current = fetchAbortRef.current) === null || _fetchAbortRef_current === void 0 ? void 0 : _fetchAbortRef_current.abort();\n var controller = new AbortController();\n fetchAbortRef.current = controller;\n var seq = ++fetchSeq.current;\n setServerLoading(true);\n try {\n var [data, count] = await Promise.all([\n frappeApp.db().getDocList(doctype, {\n fields: fields !== null && fields !== void 0 ? fields : [\n \"name\"\n ],\n filters: params.filters.length ? params.filters : void 0,\n limitStart: params.limitStart,\n limit: params.limit,\n orderBy: params.orderBy,\n signal: controller.signal\n }),\n frappeApp.db().getCount(doctype, params.filters.length ? params.filters : void 0, void 0, void 0, controller.signal)\n ]);\n if (seq !== fetchSeq.current) return;\n setServerData(data);\n setServerRowCount(count);\n lastGoodServerRows.current = data;\n setErrorState(null);\n } catch (err) {\n if (seq !== fetchSeq.current) return;\n if (controller.signal.aborted) return;\n setErrorState(_instanceof(err, Error) ? err : new Error(String(err)));\n if (!hasLoadedOnceRef.current) {\n setServerData([]);\n setServerRowCount(0);\n }\n } finally {\n if (seq === fetchSeq.current && !controller.signal.aborted) {\n setServerLoading(false);\n hasLoadedOnceRef.current = true;\n setHasLoadedOnce(true);\n }\n }\n }, [\n frappeApp,\n serverSide,\n doctype,\n fields\n ]);\n var liveRefetchTimer = (0, import_react.useRef)(null);\n (0, import_frappe.useFrappeDoctypeEvents)(connectionConfig, doctype, function() {\n if (liveRefetchTimer.current) clearTimeout(liveRefetchTimer.current);\n liveRefetchTimer.current = setTimeout(function() {\n lastFetchKey.current = \"\";\n if (lastStateRef.current) fetchServerData(lastStateRef.current);\n }, 250);\n }, serverSide && !infiniteServerMode);\n (0, import_react.useEffect)(function() {\n return function() {\n var _fetchAbortRef_current;\n if (liveRefetchTimer.current) clearTimeout(liveRefetchTimer.current);\n (_fetchAbortRef_current = fetchAbortRef.current) === null || _fetchAbortRef_current === void 0 ? void 0 : _fetchAbortRef_current.abort();\n };\n }, []);\n var refreshTokenSeen = (0, import_react.useRef)(refreshToken);\n (0, import_react.useEffect)(function() {\n if (refreshTokenSeen.current === refreshToken) return;\n refreshTokenSeen.current = refreshToken;\n if (!serverSide || infiniteServerMode) return;\n lastFetchKey.current = \"\";\n if (lastStateRef.current) fetchServerData(lastStateRef.current);\n }, [\n refreshToken,\n serverSide,\n infiniteServerMode,\n fetchServerData\n ]);\n var frappeLoadPage = (0, import_react.useCallback)(async function(query) {\n if (!frappeApp) return {\n rows: []\n };\n var params = stateToFrappeParams({\n pagination: {\n pageIndex: query.pageIndex,\n pageSize: query.pageSize\n },\n sorting: query.sorting,\n filters: query.filters,\n columnFilters: query.columnFilters,\n globalFilter: query.globalFilter\n });\n var [rows2, count] = await Promise.all([\n frappeApp.db().getDocList(doctype, {\n fields: fields !== null && fields !== void 0 ? fields : [\n \"name\"\n ],\n filters: params.filters.length ? params.filters : void 0,\n limitStart: params.limitStart,\n limit: params.limit,\n orderBy: params.orderBy\n }),\n query.pageIndex === 0 ? frappeApp.db().getCount(doctype, params.filters.length ? params.filters : void 0) : Promise.resolve(void 0)\n ]);\n return {\n rows: rows2,\n totalCount: count !== null && count !== void 0 ? count : void 0\n };\n }, [\n frappeApp,\n doctype,\n fields\n ]);\n var resolvedLoadPage = loadPageProp !== null && loadPageProp !== void 0 ? loadPageProp : infiniteServerMode ? frappeLoadPage : void 0;\n var handleStateChange = (0, import_react.useCallback)(function(state) {\n onStateChangeProp === null || onStateChangeProp === void 0 ? void 0 : onStateChangeProp(state);\n if (serverSide && !infiniteServerMode) fetchServerData(state);\n }, [\n onStateChangeProp,\n serverSide,\n infiniteServerMode,\n fetchServerData\n ]);\n (0, import_react.useEffect)(function() {\n if (serverSide && !infiniteServerMode && frappeApp) {\n var _lastStateRef_current;\n lastFetchKey.current = \"\";\n fetchServerData((_lastStateRef_current = lastStateRef.current) !== null && _lastStateRef_current !== void 0 ? _lastStateRef_current : {\n data: [],\n columns,\n pagination: {\n pageIndex: 0,\n pageSize: 10\n },\n sorting: [],\n filters: [],\n columnFilters: [],\n columnVisibility: {},\n columnOrder: columns.map(function(c) {\n var _c_id;\n return (_c_id = c.id) !== null && _c_id !== void 0 ? _c_id : \"\";\n }),\n columnSizing: {}\n });\n }\n }, [\n serverSide,\n infiniteServerMode,\n !!frappeApp,\n fetchServerData\n ]);\n var savedFiltersHook = (0, import_table2.useSavedFilters)({\n userId\n });\n var handleSyncError = (0, import_react.useCallback)(function(err) {\n setErrorState((0, import_liveErrors.toLiveLoadError)(err, {\n permissionMessage: t(\"You do not have permission to view {{doctype}}\", {\n doctype\n }),\n genericMessage: t(\"Error loading {{doctype}}\", {\n doctype\n })\n }));\n }, [\n doctype,\n t\n ]);\n var collection = (0, import_frappe.useFrappeCollection)(serverSide ? void 0 : connectionConfig, serverSide ? \"\" : doctype, serverSide ? void 0 : {\n fields,\n filters: activeFilters,\n onSyncError: handleSyncError\n });\n var { data: rawData, isLoading: isRowsLoading, isError: isLiveError } = (0, import_frappe.useLiveQuery)(function(q) {\n return collection ? q.from({\n _list: collection\n }) : null;\n }, [\n collection\n ]);\n var clientRows = (0, import_react.useMemo)(function() {\n return rawData !== null && rawData !== void 0 ? rawData : [];\n }, [\n rawData\n ]);\n var lastGoodClientRows = (0, import_react.useRef)(null);\n if (!serverSide && !isRowsLoading) lastGoodClientRows.current = clientRows;\n var clientRowsResolved = (0, import_react.useMemo)(function() {\n if (serverSide) return clientRows;\n if (!isRowsLoading || !lastGoodClientRows.current) return clientRows;\n var held = lastGoodClientRows.current;\n if (!activeFilters) return held;\n var narrowed = held.filter(function(row) {\n return (0, import_frappe.matchesFilters)(row, activeFilters);\n });\n return narrowed.length > 0 ? narrowed : held;\n }, [\n serverSide,\n clientRows,\n isRowsLoading,\n activeFilters\n ]);\n var serverRowsResolved = serverSide && serverLoading && serverData.length === 0 && lastGoodServerRows.current.length > 0 ? lastGoodServerRows.current : serverData;\n var rows = serverSide ? serverRowsResolved : clientRowsResolved;\n var isRowsLoadingResolved = serverSide ? infiniteServerMode ? false : serverLoading && !hasLoadedOnce : isRowsLoading && lastGoodClientRows.current === null;\n var isFetching = serverSide ? !infiniteServerMode && serverLoading && hasLoadedOnce : isRowsLoading && lastGoodClientRows.current !== null;\n (0, import_react.useEffect)(function() {\n if (!serverSide) setErrorState(null);\n }, [\n collection,\n serverSide\n ]);\n (0, import_react.useEffect)(function() {\n if (serverSide || !isLiveError) return;\n setErrorState(function(prev) {\n return prev !== null && prev !== void 0 ? prev : new Error(t(\"Failed to load {{doctype}}\", {\n doctype\n }));\n });\n }, [\n serverSide,\n isLiveError,\n doctype,\n t\n ]);\n var handleSelectFilter = function handleSelectFilter2(filter) {\n if (filter) {\n setActiveFilters(filter.filters);\n } else {\n setActiveFilters(initialFilters);\n }\n };\n var handleSaveFilter = async function handleSaveFilter2(filterName, isGlobal) {\n if (!savedFiltersHook || !activeFilters) return;\n var filterArray = Array.isArray(activeFilters) ? activeFilters : Object.entries(activeFilters).map(function(param2) {\n var [key, value] = param2;\n return [\n key,\n \"=\",\n value\n ];\n });\n await savedFiltersHook.saveFilter(filterName, filterArray, isGlobal);\n };\n var handleDeleteFilter = async function handleDeleteFilter2(name) {\n if (!savedFiltersHook) return;\n await savedFiltersHook.deleteFilter(name);\n };\n if (errorState && error) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {\n children: error(errorState)\n });\n }\n var rowData = rows !== null && rows !== void 0 ? rows : [];\n var boundaryState = errorState ? {\n error: errorState\n } : isRowsLoadingResolved ? {\n loading: loading !== null && loading !== void 0 ? loading : true\n } : rowData.length === 0 && !infiniteServerMode && !isFetching ? {\n empty: true\n } : null;\n if (boundaryState) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {\n ...knobProps.gap,\n flex: 1,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_FrappeReconnectIndicator.FrappeReconnectIndicator, {\n config: connectionConfig\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.AsyncBoundary, {\n layout: layout === \"list\" || layout === \"cards\" ? \"list\" : \"table\",\n errorTitle: t(\"Error loading {{doctype}}\", {\n doctype\n }),\n emptyTitle: t(\"No {{doctype}} records found\", {\n doctype\n }),\n ...boundaryState\n })\n ]\n });\n }\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {\n ...knobProps.gap,\n flex: 1,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_FrappeReconnectIndicator.FrappeReconnectIndicator, {\n config: connectionConfig\n }),\n savedFilters && savedFiltersHook && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {\n ...knobProps.gap,\n padding: \"$2\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_table2.SavedFilterDropdown, {\n filters: savedFiltersHook.filters,\n selectedFilter: null,\n onSelectFilter: handleSelectFilter,\n onDeleteFilter: handleDeleteFilter\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_table2.FilterManager, {\n currentFilters: Array.isArray(activeFilters) ? activeFilters : activeFilters ? Object.entries(activeFilters).map(function(param2) {\n var [key, value] = param2;\n return [\n key,\n \"=\",\n value\n ];\n }) : [],\n onSaveFilter: handleSaveFilter,\n canCreateGlobal: canCreateGlobalFilters\n })\n ]\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_table.DataTable, {\n data: rowData,\n columns,\n // onRowClick (the stable FrappeTable prop name) rides DataTable's\n // first-class row activation: whole-row press target, roving tab\n // stop (LC-49), Enter/Space activation (LC-50), inner interactive\n // controls win. rowLabel names each pressable row and its\n // selection checkbox by document identity. Both spread BEFORE\n // {...dataTableProps} so an explicit consumer onRowPress/rowLabel\n // still ejects (consumer-last house rule).\n ...onRowClick ? {\n onRowPress: function onRowPress(row) {\n return onRowClick(row);\n }\n } : {},\n rowLabel,\n ...serverSide && {\n manualFiltering: true,\n manualPagination: true,\n manualSorting: true,\n onStateChange: handleStateChange,\n ...infiniteServerMode ? {} : {\n rowCount: serverRowCount\n }\n },\n paginationMode,\n ...resolvedLoadPage ? {\n loadPage: resolvedLoadPage\n } : {},\n ...filterableFields ? {\n filterableFields\n } : {},\n isFetching,\n ...dataTableProps,\n ...layout ? {\n layout\n } : {}\n })\n ]\n });\n}\n//# sourceMappingURL=FrappeTable.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -116,8 +116,9 @@ function FrappeTreeView({
|
|
|
116
116
|
socketBaseURL: config?.socketBaseURL,
|
|
117
117
|
auth: finalAuth,
|
|
118
118
|
syncOptions: finalSyncOptions,
|
|
119
|
+
realtime: config?.realtime,
|
|
119
120
|
fixtures: config?.fixtures
|
|
120
|
-
}), [finalBaseURL, config?.socketPort, config?.siteName, config?.socketBaseURL, finalAuth, finalSyncOptions, config?.fixtures]);
|
|
121
|
+
}), [finalBaseURL, config?.socketPort, config?.siteName, config?.socketBaseURL, config?.realtime, finalAuth, finalSyncOptions, config?.fixtures]);
|
|
121
122
|
const {
|
|
122
123
|
meta,
|
|
123
124
|
isLoading: isMetaLoading,
|
|
@@ -176,9 +176,10 @@ function FrappeTreeView(param) {
|
|
|
176
176
|
socketBaseURL: config === null || config === void 0 ? void 0 : config.socketBaseURL,
|
|
177
177
|
auth: finalAuth,
|
|
178
178
|
syncOptions: finalSyncOptions,
|
|
179
|
+
realtime: config === null || config === void 0 ? void 0 : config.realtime,
|
|
179
180
|
fixtures: config === null || config === void 0 ? void 0 : config.fixtures
|
|
180
181
|
};
|
|
181
|
-
}, [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]);
|
|
182
|
+
}, [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]);
|
|
182
183
|
var {
|
|
183
184
|
meta,
|
|
184
185
|
isLoading: isMetaLoading,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","FrappeTreeView_exports","FrappeTreeView","buildTreeNodes","module","exports","import_jsx_runtime","require","import_frappe","import_components","import_react","import_react2","import_react_i18next","import_tamagui","import_theme","import_forms","import_FrappeProvider","import_FrappeReconnectIndicator","import_liveErrors","isRootParent","docs","parentField","titleField","byName","Map","childrenByParent","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","doc","set","err","return","roots","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","doc1","_childrenByParent_get","parentRaw","push","parentName","String","has","siblings","sortDocs","sortDocs2","items","sort","a","b","localeCompare","buildNode","buildNode1","doc2","_childrenByParent_get2","childDocs","title","id","label","data","children","length","map","param","doctype","parentFieldProp","titleFieldProp","valueField","fields","filters","onNodeClick","enableDragDrop","_enableDragDrop","expandByDefault","display","baseURL","auth","syncOptions","loading","error","stackProps","_ref","config","useFrappeConfig","knobProps","useResolvedKnobs","t","useTranslation","selectedId","setSelectedId","useState","finalBaseURL","finalAuth","finalSyncOptions","Error","appConfig","useMemo","socketPort","siteName","socketBaseURL","fixtures","meta","isLoading","isMetaLoading","metaError","useDocTypeMeta","effectiveTitleField","title_field","effectiveParentField","toLowerCase","replace","isKnownNotTree","is_tree","canProceed","effectiveFields","fieldSet","Set","add","Array","syncError","setSyncError","handleSyncError","useCallback","toLiveLoadError","permissionMessage","genericMessage","collection","useFrappeCollection","onSyncError","useEffect","rawData","isDataLoading","isError","useLiveQuery","q","_list","treeNodes","queryError","handleNodeSelect","node","jsx","Fragment","AsyncBoundary","layout","errorTitle","_knobProps_controlIcon","iconSize","Number","controlIcon","width","jsxs","YStack","panelPadding","alignItems","gap","TreeStructureIcon","size","color","formCommonColors","muted","Text","body","flex","FrappeReconnectIndicator","TreeView","containerRadius","nodes","ariaLabel","showExpansionArrows","renderNode","numberOfLines","marginInlineStart","onNodeSelect","emptyMessage"],"sources":["FrappeTreeView.native.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar FrappeTreeView_exports = {};\n__export(FrappeTreeView_exports, {\n FrappeTreeView: () => FrappeTreeView,\n buildTreeNodes: () => buildTreeNodes\n});\nmodule.exports = __toCommonJS(FrappeTreeView_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_frappe = require(\"@multiplatform.one/frappe\");\nvar import_components = require(\"@multiplatform.one/components\");\nvar import_react = require(\"@phosphor-icons/react\");\nvar import_react2 = __toESM(require(\"react\"));\nvar import_react_i18next = require(\"react-i18next\");\nvar import_tamagui = require(\"tamagui\");\nvar import_theme = require(\"@multiplatform.one/theme\");\nvar import_forms = require(\"@multiplatform.one/forms\");\nvar import_FrappeProvider = require(\"./FrappeProvider\");\nvar import_FrappeReconnectIndicator = require(\"./FrappeReconnectIndicator\");\nvar import_liveErrors = require(\"./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 = (0, import_FrappeProvider.useFrappeConfig)();\n var { knobProps } = (0, import_theme.useResolvedKnobs)();\n var { t } = (0, import_react_i18next.useTranslation)();\n var [selectedId, setSelectedId] = (0, import_react2.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 = (0, import_react2.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 } = (0, import_frappe.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 = (0, import_react2.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] = (0, import_react2.useState)(null);\n var handleSyncError = (0, import_react2.useCallback)(function(err) {\n setSyncError((0, import_liveErrors.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 = (0, import_frappe.useFrappeCollection)(canProceed && !isKnownNotTree ? appConfig : void 0, doctype, {\n fields: effectiveFields,\n filters,\n onSyncError: handleSyncError\n });\n (0, import_react2.useEffect)(function() {\n setSyncError(null);\n }, [\n collection\n ]);\n var { data: rawData, isLoading: isDataLoading, isError } = (0, import_frappe.useLiveQuery)(function(q) {\n return collection ? q.from({\n _list: collection\n }) : null;\n }, [\n collection\n ]);\n var docs = (0, import_react2.useMemo)(function() {\n return rawData !== null && rawData !== void 0 ? rawData : [];\n }, [\n rawData\n ]);\n var treeNodes = (0, import_react2.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 = (0, import_react2.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__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {\n children: loading\n });\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.AsyncBoundary, {\n layout: \"list\",\n loading: true,\n ...stackProps\n });\n }\n if (metaError && !meta && !parentFieldProp) {\n if (error) return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {\n children: error(metaError)\n });\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.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__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {\n ...knobProps.panelPadding,\n alignItems: \"center\",\n ...knobProps.gap,\n ...stackProps,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.TreeStructureIcon, {\n size: iconSize * 2,\n color: import_forms.formCommonColors.muted\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n color: import_forms.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__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {\n children: error(queryError)\n });\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.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__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {\n children: loading\n });\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.AsyncBoundary, {\n layout: \"list\",\n loading: true,\n ...stackProps\n });\n }\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {\n ...knobProps.gap,\n flex: 1,\n ...stackProps,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_FrappeReconnectIndicator.FrappeReconnectIndicator, {\n config: appConfig\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.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__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.Text, {\n ...knobProps.label,\n numberOfLines: 1,\n children: [\n node.label,\n valueField && node.data && node.data[valueField] != null && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n color: import_forms.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}\n//# sourceMappingURL=FrappeTreeView.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","FrappeTreeView_exports","FrappeTreeView","buildTreeNodes","module","exports","import_jsx_runtime","require","import_frappe","import_components","import_react","import_react2","import_react_i18next","import_tamagui","import_theme","import_forms","import_FrappeProvider","import_FrappeReconnectIndicator","import_liveErrors","isRootParent","docs","parentField","titleField","byName","Map","childrenByParent","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","doc","set","err","return","roots","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","doc1","_childrenByParent_get","parentRaw","push","parentName","String","has","siblings","sortDocs","sortDocs2","items","sort","a","b","localeCompare","buildNode","buildNode1","doc2","_childrenByParent_get2","childDocs","title","id","label","data","children","length","map","param","doctype","parentFieldProp","titleFieldProp","valueField","fields","filters","onNodeClick","enableDragDrop","_enableDragDrop","expandByDefault","display","baseURL","auth","syncOptions","loading","error","stackProps","_ref","config","useFrappeConfig","knobProps","useResolvedKnobs","t","useTranslation","selectedId","setSelectedId","useState","finalBaseURL","finalAuth","finalSyncOptions","Error","appConfig","useMemo","socketPort","siteName","socketBaseURL","realtime","fixtures","meta","isLoading","isMetaLoading","metaError","useDocTypeMeta","effectiveTitleField","title_field","effectiveParentField","toLowerCase","replace","isKnownNotTree","is_tree","canProceed","effectiveFields","fieldSet","Set","add","Array","syncError","setSyncError","handleSyncError","useCallback","toLiveLoadError","permissionMessage","genericMessage","collection","useFrappeCollection","onSyncError","useEffect","rawData","isDataLoading","isError","useLiveQuery","q","_list","treeNodes","queryError","handleNodeSelect","node","jsx","Fragment","AsyncBoundary","layout","errorTitle","_knobProps_controlIcon","iconSize","Number","controlIcon","width","jsxs","YStack","panelPadding","alignItems","gap","TreeStructureIcon","size","color","formCommonColors","muted","Text","body","flex","FrappeReconnectIndicator","TreeView","containerRadius","nodes","ariaLabel","showExpansionArrows","renderNode","numberOfLines","marginInlineStart","onNodeSelect","emptyMessage"],"sources":["FrappeTreeView.native.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar FrappeTreeView_exports = {};\n__export(FrappeTreeView_exports, {\n FrappeTreeView: () => FrappeTreeView,\n buildTreeNodes: () => buildTreeNodes\n});\nmodule.exports = __toCommonJS(FrappeTreeView_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_frappe = require(\"@multiplatform.one/frappe\");\nvar import_components = require(\"@multiplatform.one/components\");\nvar import_react = require(\"@phosphor-icons/react\");\nvar import_react2 = __toESM(require(\"react\"));\nvar import_react_i18next = require(\"react-i18next\");\nvar import_tamagui = require(\"tamagui\");\nvar import_theme = require(\"@multiplatform.one/theme\");\nvar import_forms = require(\"@multiplatform.one/forms\");\nvar import_FrappeProvider = require(\"./FrappeProvider\");\nvar import_FrappeReconnectIndicator = require(\"./FrappeReconnectIndicator\");\nvar import_liveErrors = require(\"./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 = (0, import_FrappeProvider.useFrappeConfig)();\n var { knobProps } = (0, import_theme.useResolvedKnobs)();\n var { t } = (0, import_react_i18next.useTranslation)();\n var [selectedId, setSelectedId] = (0, import_react2.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 = (0, import_react2.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 } = (0, import_frappe.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 = (0, import_react2.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] = (0, import_react2.useState)(null);\n var handleSyncError = (0, import_react2.useCallback)(function(err) {\n setSyncError((0, import_liveErrors.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 = (0, import_frappe.useFrappeCollection)(canProceed && !isKnownNotTree ? appConfig : void 0, doctype, {\n fields: effectiveFields,\n filters,\n onSyncError: handleSyncError\n });\n (0, import_react2.useEffect)(function() {\n setSyncError(null);\n }, [\n collection\n ]);\n var { data: rawData, isLoading: isDataLoading, isError } = (0, import_frappe.useLiveQuery)(function(q) {\n return collection ? q.from({\n _list: collection\n }) : null;\n }, [\n collection\n ]);\n var docs = (0, import_react2.useMemo)(function() {\n return rawData !== null && rawData !== void 0 ? rawData : [];\n }, [\n rawData\n ]);\n var treeNodes = (0, import_react2.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 = (0, import_react2.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__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {\n children: loading\n });\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.AsyncBoundary, {\n layout: \"list\",\n loading: true,\n ...stackProps\n });\n }\n if (metaError && !meta && !parentFieldProp) {\n if (error) return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {\n children: error(metaError)\n });\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.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__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {\n ...knobProps.panelPadding,\n alignItems: \"center\",\n ...knobProps.gap,\n ...stackProps,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.TreeStructureIcon, {\n size: iconSize * 2,\n color: import_forms.formCommonColors.muted\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n color: import_forms.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__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {\n children: error(queryError)\n });\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.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__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {\n children: loading\n });\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.AsyncBoundary, {\n layout: \"list\",\n loading: true,\n ...stackProps\n });\n }\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {\n ...knobProps.gap,\n flex: 1,\n ...stackProps,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_FrappeReconnectIndicator.FrappeReconnectIndicator, {\n config: appConfig\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.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__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.Text, {\n ...knobProps.label,\n numberOfLines: 1,\n children: [\n node.label,\n valueField && node.data && node.data[valueField] != null && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n color: import_forms.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}\n//# sourceMappingURL=FrappeTreeView.js.map\n"],"mappings":"AAAA,YAAY;;AACZ,IAAIA,QAAQ,GAAGC,MAAM,CAACC,MAAM;AAC5B,IAAIC,SAAS,GAAGF,MAAM,CAACG,cAAc;AACrC,IAAIC,gBAAgB,GAAGJ,MAAM,CAACK,wBAAwB;AACtD,IAAIC,iBAAiB,GAAGN,MAAM,CAACO,mBAAmB;AAClD,IAAIC,YAAY,GAAGR,MAAM,CAACS,cAAc;AACxC,IAAIC,YAAY,GAAGV,MAAM,CAACW,SAAS,CAACC,cAAc;AAClD,IAAIC,QAAQ,GAAGA,CAACC,MAAM,EAAEC,GAAG,KAAK;EAC9B,KAAK,IAAIC,IAAI,IAAID,GAAG,EAClBb,SAAS,CAACY,MAAM,EAAEE,IAAI,EAAE;IAAEC,GAAG,EAAEF,GAAG,CAACC,IAAI,CAAC;IAAEE,UAAU,EAAE;EAAK,CAAC,CAAC;AACjE,CAAC;AACD,IAAIC,WAAW,GAAGA,CAACC,EAAE,EAAEC,IAAI,EAAEC,MAAM,EAAEC,IAAI,KAAK;EAC5C,IAAIF,IAAI,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAI,OAAOA,IAAI,KAAK,UAAU,EAAE;IAClE,KAAK,IAAIG,GAAG,IAAIlB,iBAAiB,CAACe,IAAI,CAAC,EACrC,IAAI,CAACX,YAAY,CAACe,IAAI,CAACL,EAAE,EAAEI,GAAG,CAAC,IAAIA,GAAG,KAAKF,MAAM,EAC/CpB,SAAS,CAACkB,EAAE,EAAEI,GAAG,EAAE;MAAEP,GAAG,EAAEA,CAAA,KAAMI,IAAI,CAACG,GAAG,CAAC;MAAEN,UAAU,EAAE,EAAEK,IAAI,GAAGnB,gBAAgB,CAACiB,IAAI,EAAEG,GAAG,CAAC,CAAC,IAAID,IAAI,CAACL;IAAW,CAAC,CAAC;EACxH;EACA,OAAOE,EAAE;AACX,CAAC;AACD,IAAIM,OAAO,GAAGA,CAACC,GAAG,EAAEC,UAAU,EAAEd,MAAM,MAAMA,MAAM,GAAGa,GAAG,IAAI,IAAI,GAAG5B,QAAQ,CAACS,YAAY,CAACmB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAER,WAAW;AAC9G;AACA;AACA;AACA;AACAS,UAAU,IAAI,CAACD,GAAG,IAAI,CAACA,GAAG,CAACE,UAAU,GAAG3B,SAAS,CAACY,MAAM,EAAE,SAAS,EAAE;EAAEgB,KAAK,EAAEH,GAAG;EAAET,UAAU,EAAE;AAAK,CAAC,CAAC,GAAGJ,MAAM,EAC/Ga,GACF,CAAC,CAAC;AACF,IAAII,YAAY,GAAIJ,GAAG,IAAKR,WAAW,CAACjB,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE;EAAE4B,KAAK,EAAE;AAAK,CAAC,CAAC,EAAEH,GAAG,CAAC;AAC1F,IAAIK,sBAAsB,GAAG,CAAC,CAAC;AAC/BnB,QAAQ,CAACmB,sBAAsB,EAAE;EAC/BC,cAAc,EAAEA,CAAA,KAAMA,cAAc;EACpCC,cAAc,EAAEA,CAAA,KAAMA;AACxB,CAAC,CAAC;AACFC,MAAM,CAACC,OAAO,GAAGL,YAAY,CAACC,sBAAsB,CAAC;AACrD,IAAIK,kBAAkB,GAAGC,OAAO,CAAC,mBAAmB,CAAC;AACrD,IAAIC,aAAa,GAAGD,OAAO,CAAC,2BAA2B,CAAC;AACxD,IAAIE,iBAAiB,GAAGF,OAAO,CAAC,+BAA+B,CAAC;AAChE,IAAIG,YAAY,GAAGH,OAAO,CAAC,uBAAuB,CAAC;AACnD,IAAII,aAAa,GAAGhB,OAAO,CAACY,OAAO,CAAC,OAAO,CAAC,CAAC;AAC7C,IAAIK,oBAAoB,GAAGL,OAAO,CAAC,eAAe,CAAC;AACnD,IAAIM,cAAc,GAAGN,OAAO,CAAC,SAAS,CAAC;AACvC,IAAIO,YAAY,GAAGP,OAAO,CAAC,0BAA0B,CAAC;AACtD,IAAIQ,YAAY,GAAGR,OAAO,CAAC,0BAA0B,CAAC;AACtD,IAAIS,qBAAqB,GAAGT,OAAO,CAAC,4BAAkB,CAAC;AACvD,IAAIU,+BAA+B,GAAGV,OAAO,CAAC,sCAA4B,CAAC;AAC3E,IAAIW,iBAAiB,GAAGX,OAAO,CAAC,wBAAc,CAAC;AAC/C,SAASY,YAAYA,CAACpB,KAAK,EAAE;EAC3B,OAAOA,KAAK,IAAI,IAAI,IAAIA,KAAK,KAAK,EAAE;AACtC;AACA,SAASI,cAAcA,CAACiB,IAAI,EAAEC,WAAW,EAAEC,UAAU,EAAE;EACrD,IAAIC,MAAM,GAAG,eAAgB,IAAIC,GAAG,CAAC,CAAC;EACtC,IAAIC,gBAAgB,GAAG,eAAgB,IAAID,GAAG,CAAC,CAAC;EAChD,IAAIE,yBAAyB,GAAG,IAAI;IAAEC,iBAAiB,GAAG,KAAK;IAAEC,cAAc,GAAG,KAAK,CAAC;EACxF,IAAI;IACF,KAAK,IAAIC,SAAS,GAAGT,IAAI,CAACU,MAAM,CAACC,QAAQ,CAAC,CAAC,CAAC,EAAEC,KAAK,EAAE,EAAEN,yBAAyB,GAAG,CAACM,KAAK,GAAGH,SAAS,CAACI,IAAI,CAAC,CAAC,EAAEC,IAAI,CAAC,EAAER,yBAAyB,GAAG,IAAI,EAAE;MACrJ,IAAIS,GAAG,GAAGH,KAAK,CAACjC,KAAK;MACrBwB,MAAM,CAACa,GAAG,CAACD,GAAG,CAAClD,IAAI,EAAEkD,GAAG,CAAC;IAC3B;EACF,CAAC,CAAC,OAAOE,GAAG,EAAE;IACZV,iBAAiB,GAAG,IAAI;IACxBC,cAAc,GAAGS,GAAG;EACtB,CAAC,SAAS;IACR,IAAI;MACF,IAAI,CAACX,yBAAyB,IAAIG,SAAS,CAACS,MAAM,IAAI,IAAI,EAAE;QAC1DT,SAAS,CAACS,MAAM,CAAC,CAAC;MACpB;IACF,CAAC,SAAS;MACR,IAAIX,iBAAiB,EAAE;QACrB,MAAMC,cAAc;MACtB;IACF;EACF;EACA,IAAIW,KAAK,GAAG,EAAE;EACd,IAAIC,0BAA0B,GAAG,IAAI;IAAEC,kBAAkB,GAAG,KAAK;IAAEC,eAAe,GAAG,KAAK,CAAC;EAC3F,IAAI;IACF,KAAK,IAAIC,UAAU,GAAGvB,IAAI,CAACU,MAAM,CAACC,QAAQ,CAAC,CAAC,CAAC,EAAEa,MAAM,EAAE,EAAEJ,0BAA0B,GAAG,CAACI,MAAM,GAAGD,UAAU,CAACV,IAAI,CAAC,CAAC,EAAEC,IAAI,CAAC,EAAEM,0BAA0B,GAAG,IAAI,EAAE;MAC3J,IAAIK,IAAI,GAAGD,MAAM,CAAC7C,KAAK;MACvB,IAAI+C,qBAAqB;MACzB,IAAIC,SAAS,GAAGF,IAAI,CAACxB,WAAW,CAAC;MACjC,IAAIF,YAAY,CAAC4B,SAAS,CAAC,EAAE;QAC3BR,KAAK,CAACS,IAAI,CAACH,IAAI,CAAC;QAChB;MACF;MACA,IAAII,UAAU,GAAGC,MAAM,CAACH,SAAS,CAAC;MAClC,IAAI,CAACxB,MAAM,CAAC4B,GAAG,CAACF,UAAU,CAAC,EAAE;QAC3BV,KAAK,CAACS,IAAI,CAACH,IAAI,CAAC;QAChB;MACF;MACA,IAAIO,QAAQ,GAAG,CAACN,qBAAqB,GAAGrB,gBAAgB,CAACvC,GAAG,CAAC+D,UAAU,CAAC,MAAM,IAAI,IAAIH,qBAAqB,KAAK,KAAK,CAAC,GAAGA,qBAAqB,GAAG,EAAE;MACnJM,QAAQ,CAACJ,IAAI,CAACH,IAAI,CAAC;MACnBpB,gBAAgB,CAACW,GAAG,CAACa,UAAU,EAAEG,QAAQ,CAAC;IAC5C;EACF,CAAC,CAAC,OAAOf,GAAG,EAAE;IACZI,kBAAkB,GAAG,IAAI;IACzBC,eAAe,GAAGL,GAAG;EACvB,CAAC,SAAS;IACR,IAAI;MACF,IAAI,CAACG,0BAA0B,IAAIG,UAAU,CAACL,MAAM,IAAI,IAAI,EAAE;QAC5DK,UAAU,CAACL,MAAM,CAAC,CAAC;MACrB;IACF,CAAC,SAAS;MACR,IAAIG,kBAAkB,EAAE;QACtB,MAAMC,eAAe;MACvB;IACF;EACF;EACA,IAAIW,QAAQ,GAAG,SAASC,SAASA,CAACC,KAAK,EAAE;IACvC,OAAO,CACL,GAAGA,KAAK,CACT,CAACC,IAAI,CAAC,UAASC,CAAC,EAAEC,CAAC,EAAE;MACpB,OAAOD,CAAC,CAACxE,IAAI,CAAC0E,aAAa,CAACD,CAAC,CAACzE,IAAI,CAAC;IACrC,CAAC,CAAC;EACJ,CAAC;EACD,IAAI2E,SAAS,GAAG,SAASC,UAAUA,CAACC,IAAI,EAAE;IACxC,IAAIC,sBAAsB;IAC1B,IAAIC,SAAS,GAAGX,QAAQ,CAAC,CAACU,sBAAsB,GAAGtC,gBAAgB,CAACvC,GAAG,CAAC4E,IAAI,CAAC7E,IAAI,CAAC,MAAM,IAAI,IAAI8E,sBAAsB,KAAK,KAAK,CAAC,GAAGA,sBAAsB,GAAG,EAAE,CAAC;IAChK,IAAIE,KAAK,GAAGf,MAAM,CAACY,IAAI,CAACxC,UAAU,CAAC,IAAIwC,IAAI,CAAC7E,IAAI,CAAC;IACjD,OAAO;MACLiF,EAAE,EAAEJ,IAAI,CAAC7E,IAAI;MACbkF,KAAK,EAAEF,KAAK;MACZG,IAAI,EAAEN,IAAI;MACVO,QAAQ,EAAEL,SAAS,CAACM,MAAM,GAAG,CAAC,GAAGN,SAAS,CAACO,GAAG,CAACX,SAAS,CAAC,GAAG,KAAK;IACnE,CAAC;EACH,CAAC;EACD,OAAOP,QAAQ,CAACd,KAAK,CAAC,CAACgC,GAAG,CAACX,SAAS,CAAC;AACvC;AACA,SAAS1D,cAAcA,CAACsE,KAAK,EAAE;EAC7B,IAAI;IAAEC,OAAO;IAAEpD,WAAW,EAAEqD,eAAe;IAAEpD,UAAU,EAAEqD,cAAc;IAAEC,UAAU;IAAEC,MAAM;IAAEC,OAAO;IAAEC,WAAW;IAAEC,cAAc,EAAEC,eAAe,GAAG,KAAK;IAAEC,eAAe,GAAG,KAAK;IAAEC,OAAO,GAAG,SAAS;IAAEC,OAAO;IAAEC,IAAI;IAAEC,WAAW;IAAEC,OAAO;IAAEC,KAAK;IAAE,GAAGC;EAAW,CAAC,GAAGjB,KAAK;EAC7Q,IAAIkB,IAAI;EACR,KAAKT,eAAe;EACpB,IAAIU,MAAM,GAAG,CAAC,CAAC,EAAE3E,qBAAqB,CAAC4E,eAAe,EAAE,CAAC;EACzD,IAAI;IAAEC;EAAU,CAAC,GAAG,CAAC,CAAC,EAAE/E,YAAY,CAACgF,gBAAgB,EAAE,CAAC;EACxD,IAAI;IAAEC;EAAE,CAAC,GAAG,CAAC,CAAC,EAAEnF,oBAAoB,CAACoF,cAAc,EAAE,CAAC;EACtD,IAAI,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAEvF,aAAa,CAACwF,QAAQ,EAAE,CAAC;EAC/D,IAAIC,YAAY,GAAGhB,OAAO,KAAK,IAAI,IAAIA,OAAO,KAAK,KAAK,CAAC,GAAGA,OAAO,GAAGO,MAAM,KAAK,IAAI,IAAIA,MAAM,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,MAAM,CAACP,OAAO;EACpI,IAAIiB,SAAS,GAAGhB,IAAI,KAAK,IAAI,IAAIA,IAAI,KAAK,KAAK,CAAC,GAAGA,IAAI,GAAGM,MAAM,KAAK,IAAI,IAAIA,MAAM,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,MAAM,CAACN,IAAI;EACrH,IAAIiB,gBAAgB,GAAGhB,WAAW,KAAK,IAAI,IAAIA,WAAW,KAAK,KAAK,CAAC,GAAGA,WAAW,GAAGK,MAAM,KAAK,IAAI,IAAIA,MAAM,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,MAAM,CAACL,WAAW;EACxJ,IAAI,CAACc,YAAY,EAAE;IACjB,MAAM,IAAIG,KAAK,CAAC,qEAAqE,CAAC;EACxF;EACA,IAAIC,SAAS,GAAG,CAAC,CAAC,EAAE7F,aAAa,CAAC8F,OAAO,EAAE,YAAW;IACpD,OAAO;MACLrB,OAAO,EAAEgB,YAAY;MACrBM,UAAU,EAAEf,MAAM,KAAK,IAAI,IAAIA,MAAM,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,MAAM,CAACe,UAAU;MAC7EC,QAAQ,EAAEhB,MAAM,KAAK,IAAI,IAAIA,MAAM,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,MAAM,CAACgB,QAAQ;MACzEC,aAAa,EAAEjB,MAAM,KAAK,IAAI,IAAIA,MAAM,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,MAAM,CAACiB,aAAa;MACnFvB,IAAI,EAAEgB,SAAS;MACff,WAAW,EAAEgB,gBAAgB;MAC7BO,QAAQ,EAAElB,MAAM,KAAK,IAAI,IAAIA,MAAM,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,MAAM,CAACkB,QAAQ;MACzEC,QAAQ,EAAEnB,MAAM,KAAK,IAAI,IAAIA,MAAM,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,MAAM,CAACmB;IACnE,CAAC;EACH,CAAC,EAAE,CACDV,YAAY,EACZT,MAAM,KAAK,IAAI,IAAIA,MAAM,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,MAAM,CAACe,UAAU,EACjEf,MAAM,KAAK,IAAI,IAAIA,MAAM,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,MAAM,CAACgB,QAAQ,EAC/DhB,MAAM,KAAK,IAAI,IAAIA,MAAM,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,MAAM,CAACiB,aAAa,EACpEjB,MAAM,KAAK,IAAI,IAAIA,MAAM,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,MAAM,CAACkB,QAAQ,EAC/DR,SAAS,EACTC,gBAAgB,EAChBX,MAAM,KAAK,IAAI,IAAIA,MAAM,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,MAAM,CAACmB,QAAQ,CAChE,CAAC;EACF,IAAI;IAAEC,IAAI;IAAEC,SAAS,EAAEC,aAAa;IAAEzB,KAAK,EAAE0B;EAAU,CAAC,GAAG,CAAC,CAAC,EAAE1G,aAAa,CAAC2G,cAAc,EAAEX,SAAS,EAAE/B,OAAO,CAAC;EAChH,IAAI2C,mBAAmB,GAAG,CAAC1B,IAAI,GAAGf,cAAc,KAAK,IAAI,IAAIA,cAAc,KAAK,KAAK,CAAC,GAAGA,cAAc,GAAGoC,IAAI,KAAK,IAAI,IAAIA,IAAI,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,IAAI,CAACM,WAAW,MAAM,IAAI,IAAI3B,IAAI,KAAK,KAAK,CAAC,GAAGA,IAAI,GAAG,MAAM;EACnN,IAAI4B,oBAAoB,GAAG5C,eAAe,KAAK,IAAI,IAAIA,eAAe,KAAK,KAAK,CAAC,GAAGA,eAAe,GAAG,UAAUD,OAAO,CAAC8C,WAAW,CAAC,CAAC,CAACC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;EAC1J,IAAIC,cAAc,GAAG,CAAC,CAACV,IAAI,IAAI,CAACA,IAAI,CAACW,OAAO;EAC5C,IAAIC,UAAU,GAAG,CAAC,EAAEZ,IAAI,KAAK,IAAI,IAAIA,IAAI,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,IAAI,CAACW,OAAO,CAAC,IAAI,CAAC,CAACR,SAAS,IAAI,CAACH,IAAI,IAAI,CAAC,CAACrC,eAAe;EAC1H,IAAIkD,eAAe,GAAG,CAAC,CAAC,EAAEjH,aAAa,CAAC8F,OAAO,EAAE,YAAW;IAC1D,IAAIoB,QAAQ,GAAG,IAAIC,GAAG,CAACjD,MAAM,CAAC;IAC9BgD,QAAQ,CAACE,GAAG,CAAC,MAAM,CAAC;IACpBF,QAAQ,CAACE,GAAG,CAACX,mBAAmB,CAAC;IACjCS,QAAQ,CAACE,GAAG,CAACT,oBAAoB,CAAC;IAClC,IAAI1C,UAAU,EAAEiD,QAAQ,CAACE,GAAG,CAACnD,UAAU,CAAC;IACxC,OAAOoD,KAAK,CAAC1I,IAAI,CAACuI,QAAQ,CAAC;EAC7B,CAAC,EAAE,CACDhD,MAAM,EACNuC,mBAAmB,EACnBE,oBAAoB,EACpB1C,UAAU,CACX,CAAC;EACF,IAAI,CAACqD,SAAS,EAAEC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAEvH,aAAa,CAACwF,QAAQ,EAAE,IAAI,CAAC;EACjE,IAAIgC,eAAe,GAAG,CAAC,CAAC,EAAExH,aAAa,CAACyH,WAAW,EAAE,UAAS/F,GAAG,EAAE;IACjE6F,YAAY,CAAC,CAAC,CAAC,EAAEhH,iBAAiB,CAACmH,eAAe,EAAEhG,GAAG,EAAE;MACvDiG,iBAAiB,EAAEvC,CAAC,CAAC,gDAAgD,EAAE;QACrEtB;MACF,CAAC,CAAC;MACF8D,cAAc,EAAExC,CAAC,CAAC,iCAAiC,EAAE;QACnDtB;MACF,CAAC;IACH,CAAC,CAAC,CAAC;EACL,CAAC,EAAE,CACDA,OAAO,EACPsB,CAAC,CACF,CAAC;EACF,IAAIyC,UAAU,GAAG,CAAC,CAAC,EAAEhI,aAAa,CAACiI,mBAAmB,EAAEd,UAAU,IAAI,CAACF,cAAc,GAAGjB,SAAS,GAAG,KAAK,CAAC,EAAE/B,OAAO,EAAE;IACnHI,MAAM,EAAE+C,eAAe;IACvB9C,OAAO;IACP4D,WAAW,EAAEP;EACf,CAAC,CAAC;EACF,CAAC,CAAC,EAAExH,aAAa,CAACgI,SAAS,EAAE,YAAW;IACtCT,YAAY,CAAC,IAAI,CAAC;EACpB,CAAC,EAAE,CACDM,UAAU,CACX,CAAC;EACF,IAAI;IAAEpE,IAAI,EAAEwE,OAAO;IAAE5B,SAAS,EAAE6B,aAAa;IAAEC;EAAQ,CAAC,GAAG,CAAC,CAAC,EAAEtI,aAAa,CAACuI,YAAY,EAAE,UAASC,CAAC,EAAE;IACrG,OAAOR,UAAU,GAAGQ,CAAC,CAAC1J,IAAI,CAAC;MACzB2J,KAAK,EAAET;IACT,CAAC,CAAC,GAAG,IAAI;EACX,CAAC,EAAE,CACDA,UAAU,CACX,CAAC;EACF,IAAIpH,IAAI,GAAG,CAAC,CAAC,EAAET,aAAa,CAAC8F,OAAO,EAAE,YAAW;IAC/C,OAAOmC,OAAO,KAAK,IAAI,IAAIA,OAAO,KAAK,KAAK,CAAC,GAAGA,OAAO,GAAG,EAAE;EAC9D,CAAC,EAAE,CACDA,OAAO,CACR,CAAC;EACF,IAAIM,SAAS,GAAG,CAAC,CAAC,EAAEvI,aAAa,CAAC8F,OAAO,EAAE,YAAW;IACpD,OAAOtG,cAAc,CAACiB,IAAI,EAAEkG,oBAAoB,EAAEF,mBAAmB,CAAC;EACxE,CAAC,EAAE,CACDhG,IAAI,EACJkG,oBAAoB,EACpBF,mBAAmB,CACpB,CAAC;EACF,IAAI+B,UAAU,GAAGlB,SAAS,KAAK,IAAI,IAAIA,SAAS,KAAK,KAAK,CAAC,GAAGA,SAAS,GAAGa,OAAO,GAAG,IAAIvC,KAAK,CAACR,CAAC,CAAC,iCAAiC,EAAE;IACjItB;EACF,CAAC,CAAC,CAAC,GAAG,IAAI;EACV,IAAI2E,gBAAgB,GAAG,CAAC,CAAC,EAAEzI,aAAa,CAACyH,WAAW,EAAE,UAASiB,IAAI,EAAE;IACnEnD,aAAa,CAACmD,IAAI,CAACnF,EAAE,CAAC;IACtB,IAAI,CAACmF,IAAI,CAACjF,IAAI,EAAE;IAChBW,WAAW,KAAK,IAAI,IAAIA,WAAW,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,WAAW,CAACsE,IAAI,CAACjF,IAAI,CAAC;EAClF,CAAC,EAAE,CACDW,WAAW,CACZ,CAAC;EACF,IAAIkC,aAAa,EAAE;IACjB,IAAI1B,OAAO,EAAE,OAAO,eAAgB,CAAC,CAAC,EAAEjF,kBAAkB,CAACgJ,GAAG,EAAEhJ,kBAAkB,CAACiJ,QAAQ,EAAE;MAC3FlF,QAAQ,EAAEkB;IACZ,CAAC,CAAC;IACF,OAAO,eAAgB,CAAC,CAAC,EAAEjF,kBAAkB,CAACgJ,GAAG,EAAE7I,iBAAiB,CAAC+I,aAAa,EAAE;MAClFC,MAAM,EAAE,MAAM;MACdlE,OAAO,EAAE,IAAI;MACb,GAAGE;IACL,CAAC,CAAC;EACJ;EACA,IAAIyB,SAAS,IAAI,CAACH,IAAI,IAAI,CAACrC,eAAe,EAAE;IAC1C,IAAIc,KAAK,EAAE,OAAO,eAAgB,CAAC,CAAC,EAAElF,kBAAkB,CAACgJ,GAAG,EAAEhJ,kBAAkB,CAACiJ,QAAQ,EAAE;MACzFlF,QAAQ,EAAEmB,KAAK,CAAC0B,SAAS;IAC3B,CAAC,CAAC;IACF,OAAO,eAAgB,CAAC,CAAC,EAAE5G,kBAAkB,CAACgJ,GAAG,EAAE7I,iBAAiB,CAAC+I,aAAa,EAAE;MAClFC,MAAM,EAAE,MAAM;MACdjE,KAAK,EAAE0B,SAAS;MAChBwC,UAAU,EAAE3D,CAAC,CAAC,mCAAmC,EAAE;QACjDtB;MACF,CAAC,CAAC;MACF,GAAGgB;IACL,CAAC,CAAC;EACJ;EACA,IAAIgC,cAAc,EAAE;IAClB,IAAIkC,sBAAsB;IAC1B,IAAIC,QAAQ,GAAGC,MAAM,CAAC,CAACF,sBAAsB,GAAG9D,SAAS,CAACiE,WAAW,MAAM,IAAI,IAAIH,sBAAsB,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,sBAAsB,CAACI,KAAK,CAAC,IAAI,EAAE;IACnK,OAAO,eAAgB,CAAC,CAAC,EAAEzJ,kBAAkB,CAAC0J,IAAI,EAAEnJ,cAAc,CAACoJ,MAAM,EAAE;MACzE,GAAGpE,SAAS,CAACqE,YAAY;MACzBC,UAAU,EAAE,QAAQ;MACpB,GAAGtE,SAAS,CAACuE,GAAG;MAChB,GAAG3E,UAAU;MACbpB,QAAQ,EAAE,CACR,eAAgB,CAAC,CAAC,EAAE/D,kBAAkB,CAACgJ,GAAG,EAAE5I,YAAY,CAAC2J,iBAAiB,EAAE;QAC1EC,IAAI,EAAEV,QAAQ,GAAG,CAAC;QAClBW,KAAK,EAAExJ,YAAY,CAACyJ,gBAAgB,CAACC;MACvC,CAAC,CAAC,EACF,eAAgB,CAAC,CAAC,EAAEnK,kBAAkB,CAACgJ,GAAG,EAAEzI,cAAc,CAAC6J,IAAI,EAAE;QAC/DH,KAAK,EAAExJ,YAAY,CAACyJ,gBAAgB,CAACC,KAAK;QAC1C,GAAG5E,SAAS,CAAC8E,IAAI;QACjBtG,QAAQ,EAAE0B,CAAC,CAAC,yCAAyC;MACvD,CAAC,CAAC;IAEN,CAAC,CAAC;EACJ;EACA,IAAIoD,UAAU,EAAE;IACd,IAAI3D,KAAK,EAAE,OAAO,eAAgB,CAAC,CAAC,EAAElF,kBAAkB,CAACgJ,GAAG,EAAEhJ,kBAAkB,CAACiJ,QAAQ,EAAE;MACzFlF,QAAQ,EAAEmB,KAAK,CAAC2D,UAAU;IAC5B,CAAC,CAAC;IACF,OAAO,eAAgB,CAAC,CAAC,EAAE7I,kBAAkB,CAACgJ,GAAG,EAAE7I,iBAAiB,CAAC+I,aAAa,EAAE;MAClFC,MAAM,EAAE,MAAM;MACdjE,KAAK,EAAE2D,UAAU;MACjBO,UAAU,EAAE3D,CAAC,CAAC,iCAAiC,EAAE;QAC/CtB;MACF,CAAC,CAAC;MACF,GAAGgB;IACL,CAAC,CAAC;EACJ;EACA,IAAIoD,aAAa,EAAE;IACjB,IAAItD,OAAO,EAAE,OAAO,eAAgB,CAAC,CAAC,EAAEjF,kBAAkB,CAACgJ,GAAG,EAAEhJ,kBAAkB,CAACiJ,QAAQ,EAAE;MAC3FlF,QAAQ,EAAEkB;IACZ,CAAC,CAAC;IACF,OAAO,eAAgB,CAAC,CAAC,EAAEjF,kBAAkB,CAACgJ,GAAG,EAAE7I,iBAAiB,CAAC+I,aAAa,EAAE;MAClFC,MAAM,EAAE,MAAM;MACdlE,OAAO,EAAE,IAAI;MACb,GAAGE;IACL,CAAC,CAAC;EACJ;EACA,OAAO,eAAgB,CAAC,CAAC,EAAEnF,kBAAkB,CAAC0J,IAAI,EAAEnJ,cAAc,CAACoJ,MAAM,EAAE;IACzE,GAAGpE,SAAS,CAACuE,GAAG;IAChBQ,IAAI,EAAE,CAAC;IACP,GAAGnF,UAAU;IACbpB,QAAQ,EAAE,CACR,eAAgB,CAAC,CAAC,EAAE/D,kBAAkB,CAACgJ,GAAG,EAAErI,+BAA+B,CAAC4J,wBAAwB,EAAE;MACpGlF,MAAM,EAAEa;IACV,CAAC,CAAC,EACF,eAAgB,CAAC,CAAC,EAAElG,kBAAkB,CAACgJ,GAAG,EAAE7I,iBAAiB,CAACqK,QAAQ,EAAE;MACtE,GAAGjF,SAAS,CAACkF,eAAe;MAC5BC,KAAK,EAAE9B,SAAS;MAChB+B,SAAS,EAAElF,CAAC,CAAC,kBAAkB,EAAE;QAC/BtB;MACF,CAAC,CAAC;MACFS,eAAe;MACfC,OAAO;MACP+F,mBAAmB,EAAE,IAAI;MACzBjF,UAAU;MACVkF,UAAU,EAAE,SAASA,UAAUA,CAAC9B,IAAI,EAAE;QACpC,OAAO,eAAgB,CAAC,CAAC,EAAE/I,kBAAkB,CAAC0J,IAAI,EAAEnJ,cAAc,CAAC6J,IAAI,EAAE;UACvE,GAAG7E,SAAS,CAAC1B,KAAK;UAClBiH,aAAa,EAAE,CAAC;UAChB/G,QAAQ,EAAE,CACRgF,IAAI,CAAClF,KAAK,EACVS,UAAU,IAAIyE,IAAI,CAACjF,IAAI,IAAIiF,IAAI,CAACjF,IAAI,CAACQ,UAAU,CAAC,IAAI,IAAI,IAAI,eAAgB,CAAC,CAAC,EAAEtE,kBAAkB,CAACgJ,GAAG,EAAEzI,cAAc,CAAC6J,IAAI,EAAE;YAC3HH,KAAK,EAAExJ,YAAY,CAACyJ,gBAAgB,CAACC,KAAK;YAC1C,GAAG5E,SAAS,CAAC1B,KAAK;YAClBkH,iBAAiB,EAAE,IAAI;YACvBhH,QAAQ,EAAEnB,MAAM,CAACmG,IAAI,CAACjF,IAAI,CAACQ,UAAU,CAAC;UACxC,CAAC,CAAC;QAEN,CAAC,CAAC;MACJ,CAAC;MACD0G,YAAY,EAAElC,gBAAgB;MAC9BmC,YAAY,EAAExF,CAAC,CAAC,gBAAgB;IAClC,CAAC,CAAC;EAEN,CAAC,CAAC;AACJ","ignoreList":[]}
|
|
@@ -67,6 +67,7 @@ function AttachmentsBody({
|
|
|
67
67
|
socketBaseURL: config.socketBaseURL,
|
|
68
68
|
auth: config.auth,
|
|
69
69
|
syncOptions: config.syncOptions,
|
|
70
|
+
realtime: config.realtime,
|
|
70
71
|
fixtures: config.fixtures
|
|
71
72
|
} : void 0, [config]);
|
|
72
73
|
const collection = (0, import_frappe.useFrappeCollection)(collectionConfig, "File", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","attachments_exports","Attachments","module","exports","import_jsx_runtime","require","import_components","import_frappe","import_react","import_react_i18next","import_tamagui","import_FrappeProvider","import_FrappeReconnectIndicator","import_liveErrors","frappeFileToItem","file","id","fileName","file_name","fileUrl","file_url","fileSize","file_size","fileType","file_type","AttachmentsBody","param","doctype","docname","fieldname","onRetry","props","config","useFrappeConfig","t","useTranslation","syncError","setSyncError","useState","filters","useMemo","base","push","collectionConfig","baseURL","socketPort","siteName","socketBaseURL","auth","syncOptions","fixtures","collection","useFrappeCollection","fields","onSyncError","data","isLoading","useLiveQuery","q","_list","items","map","loadError","toLiveLoadError","permissionMessage","genericMessage","jsxs","YStack","gap","children","jsx","FrappeReconnectIndicator","error","retryNonce","setRetryNonce","handleRetry","useCallback","nonce"],"sources":["attachments.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar attachments_exports = {};\n__export(attachments_exports, {\n Attachments: () => Attachments\n});\nmodule.exports = __toCommonJS(attachments_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_components = require(\"@multiplatform.one/components\");\nvar import_frappe = require(\"@multiplatform.one/frappe\");\nvar import_react = require(\"react\");\nvar import_react_i18next = require(\"react-i18next\");\nvar import_tamagui = require(\"tamagui\");\nvar import_FrappeProvider = require(\"../FrappeProvider\");\nvar import_FrappeReconnectIndicator = require(\"../FrappeReconnectIndicator\");\nvar import_liveErrors = require(\"../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 = (0, import_FrappeProvider.useFrappeConfig)();\n var { t } = (0, import_react_i18next.useTranslation)();\n var [syncError, setSyncError] = (0, import_react.useState)(null);\n var filters = (0, import_react.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 = (0, import_react.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 = (0, import_frappe.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 } = (0, import_frappe.useLiveQuery)(function(q) {\n return collection ? q.from({\n _list: collection\n }) : null;\n }, [\n collection\n ]);\n var items = (0, import_react.useMemo)(function() {\n return (data !== null && data !== void 0 ? data : []).map(frappeFileToItem);\n }, [\n data\n ]);\n var loadError = syncError === null ? null : (0, import_liveErrors.toLiveLoadError)(syncError, {\n permissionMessage: t(\"You do not have permission to view attachments\"),\n genericMessage: t(\"Failed to load attachments\")\n });\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {\n gap: \"$2\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_FrappeReconnectIndicator.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__ */ (0, import_jsx_runtime.jsx)(import_components.Attachments, {\n items,\n isLoading: !!collection && isLoading,\n error: loadError,\n onRetry,\n ...props\n })\n ]\n });\n}\nfunction Attachments(props) {\n var [retryNonce, setRetryNonce] = (0, import_react.useState)(0);\n var handleRetry = (0, import_react.useCallback)(function() {\n return setRetryNonce(function(nonce) {\n return nonce + 1;\n });\n }, []);\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AttachmentsBody, {\n onRetry: handleRetry,\n ...props\n }, retryNonce);\n}\n//# sourceMappingURL=attachments.js.map\n"],"mappings":"AAAA,YAAY;;AACZ,IAAIA,SAAS,GAAGC,MAAM,CAACC,cAAc;AACrC,IAAIC,gBAAgB,GAAGF,MAAM,CAACG,wBAAwB;AACtD,IAAIC,iBAAiB,GAAGJ,MAAM,CAACK,mBAAmB;AAClD,IAAIC,YAAY,GAAGN,MAAM,CAACO,SAAS,CAACC,cAAc;AAClD,IAAIC,QAAQ,GAAGA,CAACC,MAAM,EAAEC,GAAG,KAAK;EAC9B,KAAK,IAAIC,IAAI,IAAID,GAAG,EAClBZ,SAAS,CAACW,MAAM,EAAEE,IAAI,EAAE;IAAEC,GAAG,EAAEF,GAAG,CAACC,IAAI,CAAC;IAAEE,UAAU,EAAE;EAAK,CAAC,CAAC;AACjE,CAAC;AACD,IAAIC,WAAW,GAAGA,CAACC,EAAE,EAAEC,IAAI,EAAEC,MAAM,EAAEC,IAAI,KAAK;EAC5C,IAAIF,IAAI,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAI,OAAOA,IAAI,KAAK,UAAU,EAAE;IAClE,KAAK,IAAIG,GAAG,IAAIhB,iBAAiB,CAACa,IAAI,CAAC,EACrC,IAAI,CAACX,YAAY,CAACe,IAAI,CAACL,EAAE,EAAEI,GAAG,CAAC,IAAIA,GAAG,KAAKF,MAAM,EAC/CnB,SAAS,CAACiB,EAAE,EAAEI,GAAG,EAAE;MAAEP,GAAG,EAAEA,CAAA,KAAMI,IAAI,CAACG,GAAG,CAAC;MAAEN,UAAU,EAAE,EAAEK,IAAI,GAAGjB,gBAAgB,CAACe,IAAI,EAAEG,GAAG,CAAC,CAAC,IAAID,IAAI,CAACL;IAAW,CAAC,CAAC;EACxH;EACA,OAAOE,EAAE;AACX,CAAC;AACD,IAAIM,YAAY,GAAIC,GAAG,IAAKR,WAAW,CAAChB,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE;EAAEyB,KAAK,EAAE;AAAK,CAAC,CAAC,EAAED,GAAG,CAAC;AAC1F,IAAIE,mBAAmB,GAAG,CAAC,CAAC;AAC5BhB,QAAQ,CAACgB,mBAAmB,EAAE;EAC5BC,WAAW,EAAEA,CAAA,KAAMA;AACrB,CAAC,CAAC;AACFC,MAAM,CAACC,OAAO,GAAGN,YAAY,CAACG,mBAAmB,CAAC;AAClD,IAAII,kBAAkB,GAAGC,OAAO,CAAC,mBAAmB,CAAC;AACrD,IAAIC,iBAAiB,GAAGD,OAAO,CAAC,+BAA+B,CAAC;AAChE,IAAIE,aAAa,GAAGF,OAAO,CAAC,2BAA2B,CAAC;AACxD,IAAIG,YAAY,GAAGH,OAAO,CAAC,OAAO,CAAC;AACnC,IAAII,oBAAoB,GAAGJ,OAAO,CAAC,eAAe,CAAC;AACnD,IAAIK,cAAc,GAAGL,OAAO,CAAC,SAAS,CAAC;AACvC,IAAIM,qBAAqB,GAAGN,OAAO,CAAC,6BAAmB,CAAC;AACxD,IAAIO,+BAA+B,GAAGP,OAAO,CAAC,uCAA6B,CAAC;AAC5E,IAAIQ,iBAAiB,GAAGR,OAAO,CAAC,yBAAe,CAAC;AAChD,SAASS,gBAAgBA,CAACC,IAAI,EAAE;EAC9B,OAAO;IACLC,EAAE,EAAED,IAAI,CAAC5B,IAAI;IACb8B,QAAQ,EAAEF,IAAI,CAACG,SAAS;IACxBC,OAAO,EAAEJ,IAAI,CAACK,QAAQ;IACtBC,QAAQ,EAAEN,IAAI,CAACO,SAAS;IACxBC,QAAQ,EAAER,IAAI,CAACS;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,GAAG,CAAC,CAAC,EAAErB,qBAAqB,CAACsB,eAAe,EAAE,CAAC;EACzD,IAAI;IAAEC;EAAE,CAAC,GAAG,CAAC,CAAC,EAAEzB,oBAAoB,CAAC0B,cAAc,EAAE,CAAC;EACtD,IAAI,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE7B,YAAY,CAAC8B,QAAQ,EAAE,IAAI,CAAC;EAChE,IAAIC,OAAO,GAAG,CAAC,CAAC,EAAE/B,YAAY,CAACgC,OAAO,EAAE,YAAW;IACjD,IAAIC,IAAI,GAAG,CACT,CACE,qBAAqB,EACrB,GAAG,EACHd,OAAO,CACR,EACD,CACE,kBAAkB,EAClB,GAAG,EACHC,OAAO,CACR,CACF;IACD,IAAIC,SAAS,EAAEY,IAAI,CAACC,IAAI,CAAC,CACvB,mBAAmB,EACnB,GAAG,EACHb,SAAS,CACV,CAAC;IACF,OAAOY,IAAI;EACb,CAAC,EAAE,CACDd,OAAO,EACPC,OAAO,EACPC,SAAS,CACV,CAAC;EACF,IAAIc,gBAAgB,GAAG,CAAC,CAAC,EAAEnC,YAAY,CAACgC,OAAO,EAAE,YAAW;IAC1D,OAAOR,MAAM,GAAG;MACdY,OAAO,EAAEZ,MAAM,CAACY,OAAO;MACvBC,UAAU,EAAEb,MAAM,CAACa,UAAU;MAC7BC,QAAQ,EAAEd,MAAM,CAACc,QAAQ;MACzBC,aAAa,EAAEf,MAAM,CAACe,aAAa;MACnCC,IAAI,EAAEhB,MAAM,CAACgB,IAAI;MACjBC,WAAW,EAAEjB,MAAM,CAACiB,WAAW;MAC/BC,QAAQ,EAAElB,MAAM,CAACkB;IACnB,CAAC,GAAG,KAAK,CAAC;EACZ,CAAC,EAAE,CACDlB,MAAM,CACP,CAAC;EACF,IAAImB,UAAU,GAAG,CAAC,CAAC,EAAE5C,aAAa,CAAC6C,mBAAmB,EAAET,gBAAgB,EAAE,MAAM,EAAE;IAChFJ,OAAO;IACPc,MAAM,EAAE,CACN,MAAM,EACN,WAAW,EACX,UAAU,EACV,WAAW,EACX,WAAW,EACX,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,EACV,UAAU,CACX;IACDC,WAAW,EAAEjB;EACf,CAAC,CAAC;EACF,IAAI;IAAEkB,IAAI;IAAEC;EAAU,CAAC,GAAG,CAAC,CAAC,EAAEjD,aAAa,CAACkD,YAAY,EAAE,UAASC,CAAC,EAAE;IACpE,OAAOP,UAAU,GAAGO,CAAC,CAAClE,IAAI,CAAC;MACzBmE,KAAK,EAAER;IACT,CAAC,CAAC,GAAG,IAAI;EACX,CAAC,EAAE,CACDA,UAAU,CACX,CAAC;EACF,IAAIS,KAAK,GAAG,CAAC,CAAC,EAAEpD,YAAY,CAACgC,OAAO,EAAE,YAAW;IAC/C,OAAO,CAACe,IAAI,KAAK,IAAI,IAAIA,IAAI,KAAK,KAAK,CAAC,GAAGA,IAAI,GAAG,EAAE,EAAEM,GAAG,CAAC/C,gBAAgB,CAAC;EAC7E,CAAC,EAAE,CACDyC,IAAI,CACL,CAAC;EACF,IAAIO,SAAS,GAAG1B,SAAS,KAAK,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,EAAEvB,iBAAiB,CAACkD,eAAe,EAAE3B,SAAS,EAAE;IAC5F4B,iBAAiB,EAAE9B,CAAC,CAAC,gDAAgD,CAAC;IACtE+B,cAAc,EAAE/B,CAAC,CAAC,4BAA4B;EAChD,CAAC,CAAC;EACF,OAAO,eAAgB,CAAC,CAAC,EAAE9B,kBAAkB,CAAC8D,IAAI,EAAExD,cAAc,CAACyD,MAAM,EAAE;IACzEC,GAAG,EAAE,IAAI;IACTC,QAAQ,EAAE,CACR,eAAgB,CAAC,CAAC,EAAEjE,kBAAkB,CAACkE,GAAG,EAAE1D,+BAA+B,CAAC2D,wBAAwB,EAAE;MACpGvC,MAAM,EAAEW;IACV,CAAC,CAAC;IACF;AACN;AACA;IACM;IAAgB,CAAC,CAAC,EAAEvC,kBAAkB,CAACkE,GAAG,EAAEhE,iBAAiB,CAACL,WAAW,EAAE;MACzE2D,KAAK;MACLJ,SAAS,EAAE,CAAC,CAACL,UAAU,IAAIK,SAAS;MACpCgB,KAAK,EAAEV,SAAS;MAChBhC,OAAO;MACP,GAAGC;IACL,CAAC,CAAC;EAEN,CAAC,CAAC;AACJ;AACA,SAAS9B,WAAWA,CAAC8B,KAAK,EAAE;EAC1B,IAAI,CAAC0C,UAAU,EAAEC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAElE,YAAY,CAAC8B,QAAQ,EAAE,CAAC,CAAC;EAC/D,IAAIqC,WAAW,GAAG,CAAC,CAAC,EAAEnE,YAAY,CAACoE,WAAW,EAAE,YAAW;IACzD,OAAOF,aAAa,CAAC,UAASG,KAAK,EAAE;MACnC,OAAOA,KAAK,GAAG,CAAC;IAClB,CAAC,CAAC;EACJ,CAAC,EAAE,EAAE,CAAC;EACN,OAAO,eAAgB,CAAC,CAAC,EAAEzE,kBAAkB,CAACkE,GAAG,EAAE7C,eAAe,EAAE;IAClEK,OAAO,EAAE6C,WAAW;IACpB,GAAG5C;EACL,CAAC,EAAE0C,UAAU,CAAC;AAChB","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","attachments_exports","Attachments","module","exports","import_jsx_runtime","require","import_components","import_frappe","import_react","import_react_i18next","import_tamagui","import_FrappeProvider","import_FrappeReconnectIndicator","import_liveErrors","frappeFileToItem","file","id","fileName","file_name","fileUrl","file_url","fileSize","file_size","fileType","file_type","AttachmentsBody","param","doctype","docname","fieldname","onRetry","props","config","useFrappeConfig","t","useTranslation","syncError","setSyncError","useState","filters","useMemo","base","push","collectionConfig","baseURL","socketPort","siteName","socketBaseURL","auth","syncOptions","realtime","fixtures","collection","useFrappeCollection","fields","onSyncError","data","isLoading","useLiveQuery","q","_list","items","map","loadError","toLiveLoadError","permissionMessage","genericMessage","jsxs","YStack","gap","children","jsx","FrappeReconnectIndicator","error","retryNonce","setRetryNonce","handleRetry","useCallback","nonce"],"sources":["attachments.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar attachments_exports = {};\n__export(attachments_exports, {\n Attachments: () => Attachments\n});\nmodule.exports = __toCommonJS(attachments_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_components = require(\"@multiplatform.one/components\");\nvar import_frappe = require(\"@multiplatform.one/frappe\");\nvar import_react = require(\"react\");\nvar import_react_i18next = require(\"react-i18next\");\nvar import_tamagui = require(\"tamagui\");\nvar import_FrappeProvider = require(\"../FrappeProvider\");\nvar import_FrappeReconnectIndicator = require(\"../FrappeReconnectIndicator\");\nvar import_liveErrors = require(\"../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 = (0, import_FrappeProvider.useFrappeConfig)();\n var { t } = (0, import_react_i18next.useTranslation)();\n var [syncError, setSyncError] = (0, import_react.useState)(null);\n var filters = (0, import_react.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 = (0, import_react.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 = (0, import_frappe.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 } = (0, import_frappe.useLiveQuery)(function(q) {\n return collection ? q.from({\n _list: collection\n }) : null;\n }, [\n collection\n ]);\n var items = (0, import_react.useMemo)(function() {\n return (data !== null && data !== void 0 ? data : []).map(frappeFileToItem);\n }, [\n data\n ]);\n var loadError = syncError === null ? null : (0, import_liveErrors.toLiveLoadError)(syncError, {\n permissionMessage: t(\"You do not have permission to view attachments\"),\n genericMessage: t(\"Failed to load attachments\")\n });\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {\n gap: \"$2\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_FrappeReconnectIndicator.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__ */ (0, import_jsx_runtime.jsx)(import_components.Attachments, {\n items,\n isLoading: !!collection && isLoading,\n error: loadError,\n onRetry,\n ...props\n })\n ]\n });\n}\nfunction Attachments(props) {\n var [retryNonce, setRetryNonce] = (0, import_react.useState)(0);\n var handleRetry = (0, import_react.useCallback)(function() {\n return setRetryNonce(function(nonce) {\n return nonce + 1;\n });\n }, []);\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AttachmentsBody, {\n onRetry: handleRetry,\n ...props\n }, retryNonce);\n}\n//# sourceMappingURL=attachments.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -47,6 +47,7 @@ function Tags({
|
|
|
47
47
|
auth: config.auth,
|
|
48
48
|
syncOptions: config.syncOptions,
|
|
49
49
|
socketOptions: config.socketOptions,
|
|
50
|
+
realtime: config.realtime,
|
|
50
51
|
fixtures: config.fixtures
|
|
51
52
|
} : void 0;
|
|
52
53
|
const tagLinkFilters = (0, import_react.useMemo)(() => [["document_type", "=", doctype], ["document_name", "=", docname]], [doctype, docname]);
|