@multiplatform.one/backoffice 7.20.0 → 7.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/form/DocFormScreen.cjs +27 -4
- package/dist/cjs/form/DocFormScreen.native.js +28 -5
- package/dist/cjs/form/DocFormScreen.native.js.map +1 -1
- package/dist/cjs/list/DoctypeListScreen.cjs +18 -10
- package/dist/cjs/list/DoctypeListScreen.native.js +21 -11
- package/dist/cjs/list/DoctypeListScreen.native.js.map +1 -1
- package/dist/cjs/list/listFields.cjs +1 -1
- package/dist/cjs/list/listFields.native.js +1 -1
- package/dist/cjs/list/listFields.native.js.map +1 -1
- package/dist/cjs/shared/useFrappeApp.cjs +7 -3
- package/dist/cjs/shared/useFrappeApp.native.js +8 -4
- package/dist/cjs/shared/useFrappeApp.native.js.map +1 -1
- package/dist/cjs/shared/useUserRoles.cjs +6 -1
- package/dist/cjs/shared/useUserRoles.native.js +6 -1
- package/dist/cjs/shared/useUserRoles.native.js.map +1 -1
- package/dist/esm/chrome/BackofficeAwesomebar.native.js.map +1 -1
- package/dist/esm/chrome/CommandPalette.native.js.map +1 -1
- package/dist/esm/chrome/HelpMenu.native.js.map +1 -1
- package/dist/esm/chrome/NotificationsButton.native.js.map +1 -1
- package/dist/esm/chrome/UserMenu.native.js.map +1 -1
- package/dist/esm/chrome/awesomebar-data.native.js.map +1 -1
- package/dist/esm/chrome/command-palette-model.native.js.map +1 -1
- package/dist/esm/chrome/help-about-dialog.native.js.map +1 -1
- package/dist/esm/chrome/help-shortcuts-dialog.native.js.map +1 -1
- package/dist/esm/chrome/notifications-data.native.js.map +1 -1
- package/dist/esm/chrome/notifications-panel.native.js.map +1 -1
- package/dist/esm/chrome/notifications-utils.native.js.map +1 -1
- package/dist/esm/chrome/shortcuts.native.js.map +1 -1
- package/dist/esm/chrome/user-session.native.js.map +1 -1
- package/dist/esm/config/BackofficeProvider.native.js.map +1 -1
- package/dist/esm/config/capabilities.native.js.map +1 -1
- package/dist/esm/config/events.native.js.map +1 -1
- package/dist/esm/config/slots.native.js.map +1 -1
- package/dist/esm/desk/Desk.native.js.map +1 -1
- package/dist/esm/desk/DeskSurface.native.js.map +1 -1
- package/dist/esm/desk/resolveDeskPath.native.js.map +1 -1
- package/dist/esm/desk/scope.native.js.map +1 -1
- package/dist/esm/desk/target.native.js.map +1 -1
- package/dist/esm/form/DocFormScreen.mjs +28 -5
- package/dist/esm/form/DocFormScreen.mjs.map +1 -1
- package/dist/esm/form/DocFormScreen.native.js +29 -6
- package/dist/esm/form/DocFormScreen.native.js.map +1 -1
- package/dist/esm/form/FormConnections.native.js.map +1 -1
- package/dist/esm/form/FormDialogs.native.js.map +1 -1
- package/dist/esm/form/FormErrorBoundary.native.js.map +1 -1
- package/dist/esm/form/FormHeaderCluster.native.js.map +1 -1
- package/dist/esm/form/FormSidebarPanel.native.js.map +1 -1
- package/dist/esm/form/FormTimeline.native.js.map +1 -1
- package/dist/esm/form/FormToolbar.native.js.map +1 -1
- package/dist/esm/form/connections-data.native.js.map +1 -1
- package/dist/esm/form/createPrefill.native.js.map +1 -1
- package/dist/esm/form/dependsOn.native.js.map +1 -1
- package/dist/esm/form/dirtyTracking.native.js.map +1 -1
- package/dist/esm/form/docinfo.native.js.map +1 -1
- package/dist/esm/form/fetchFrom.native.js.map +1 -1
- package/dist/esm/form/fieldPermissions.native.js.map +1 -1
- package/dist/esm/form/formActions.native.js.map +1 -1
- package/dist/esm/form/formLayout.native.js.map +1 -1
- package/dist/esm/form/platformHooks.native.js.map +1 -1
- package/dist/esm/form/sidebar-attachments.native.js.map +1 -1
- package/dist/esm/form/sidebar-dialogs.native.js.map +1 -1
- package/dist/esm/form/sidebar-people.native.js.map +1 -1
- package/dist/esm/form/sidebar-rpc.native.js.map +1 -1
- package/dist/esm/form/sidebar-utils.native.js.map +1 -1
- package/dist/esm/form/timeline-entries.native.js.map +1 -1
- package/dist/esm/form/timeline-utils.native.js.map +1 -1
- package/dist/esm/form/useFormEngine.native.js.map +1 -1
- package/dist/esm/i18n/en.native.js.map +1 -1
- package/dist/esm/i18n/index.native.js.map +1 -1
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/list/AddTagsDialog.native.js.map +1 -1
- package/dist/esm/list/AssignToDialog.native.js.map +1 -1
- package/dist/esm/list/DoctypeListScreen.mjs +19 -11
- package/dist/esm/list/DoctypeListScreen.mjs.map +1 -1
- package/dist/esm/list/DoctypeListScreen.native.js +22 -12
- package/dist/esm/list/DoctypeListScreen.native.js.map +1 -1
- package/dist/esm/list/ListBulkActionsBar.native.js.map +1 -1
- package/dist/esm/list/ListFilterBar.native.js.map +1 -1
- package/dist/esm/list/ListSidebar.native.js.map +1 -1
- package/dist/esm/list/bulk-edit-dialog.native.js.map +1 -1
- package/dist/esm/list/bulk-export.native.js.map +1 -1
- package/dist/esm/list/bulk-submit-cancel.native.js.map +1 -1
- package/dist/esm/list/bulkActions.native.js.map +1 -1
- package/dist/esm/list/filter-chips.native.js.map +1 -1
- package/dist/esm/list/filter-editor.native.js.map +1 -1
- package/dist/esm/list/filter-fields.native.js.map +1 -1
- package/dist/esm/list/filter-saved.native.js.map +1 -1
- package/dist/esm/list/filter-sort.native.js.map +1 -1
- package/dist/esm/list/filter-standard.native.js.map +1 -1
- package/dist/esm/list/filterConversion.native.js.map +1 -1
- package/dist/esm/list/list-tools-sheet.native.js.map +1 -1
- package/dist/esm/list/listColumns.native.js.map +1 -1
- package/dist/esm/list/listFields.mjs +1 -1
- package/dist/esm/list/listFields.mjs.map +1 -1
- package/dist/esm/list/listFields.native.js +1 -1
- package/dist/esm/list/listFields.native.js.map +1 -1
- package/dist/esm/list/listFormat.native.js.map +1 -1
- package/dist/esm/list/listUrlState.native.js.map +1 -1
- package/dist/esm/list/sidebar-section.native.js.map +1 -1
- package/dist/esm/list/sidebar-stats.native.js.map +1 -1
- package/dist/esm/list/statusColors.native.js.map +1 -1
- package/dist/esm/navigation/navigator.native.js.map +1 -1
- package/dist/esm/navigation/paths.native.js.map +1 -1
- package/dist/esm/oneAdapter/index.native.js.map +1 -1
- package/dist/esm/quickEntry/QuickEntryDialog.native.js.map +1 -1
- package/dist/esm/quickEntry/quickEntryPlan.native.js.map +1 -1
- package/dist/esm/report/DoctypeReportView.native.js.map +1 -1
- package/dist/esm/report/QueryReportScreen.native.js.map +1 -1
- package/dist/esm/report/queryReportColumns.native.js.map +1 -1
- package/dist/esm/report/queryReportFilterBar.native.js.map +1 -1
- package/dist/esm/report/queryReportUrlState.native.js.map +1 -1
- package/dist/esm/report/report-grid.native.js.map +1 -1
- package/dist/esm/report/report-toolbar.native.js.map +1 -1
- package/dist/esm/report/reportShapes.native.js.map +1 -1
- package/dist/esm/report/reportViewModel.native.js.map +1 -1
- package/dist/esm/report/savedReports.native.js.map +1 -1
- package/dist/esm/report/useQueryReport.native.js.map +1 -1
- package/dist/esm/shared/deskLinks.native.js.map +1 -1
- package/dist/esm/shared/listNavContext.native.js.map +1 -1
- package/dist/esm/shared/types.native.js.map +1 -1
- package/dist/esm/shared/useDocinfo.native.js.map +1 -1
- package/dist/esm/shared/useDoctypeMeta.native.js.map +1 -1
- package/dist/esm/shared/useFrappeApp.mjs +7 -3
- package/dist/esm/shared/useFrappeApp.mjs.map +1 -1
- package/dist/esm/shared/useFrappeApp.native.js +8 -4
- package/dist/esm/shared/useFrappeApp.native.js.map +1 -1
- package/dist/esm/shared/useRecentVisit.native.js.map +1 -1
- package/dist/esm/shared/useSessionUserId.native.js.map +1 -1
- package/dist/esm/shared/useSlugTarget.native.js.map +1 -1
- package/dist/esm/shared/useUserRoles.mjs +7 -2
- package/dist/esm/shared/useUserRoles.mjs.map +1 -1
- package/dist/esm/shared/useUserRoles.native.js +7 -2
- package/dist/esm/shared/useUserRoles.native.js.map +1 -1
- package/dist/esm/shell/BackofficeShell.native.js.map +1 -1
- package/dist/esm/shell/HomeRedirect.native.js.map +1 -1
- package/dist/esm/shell/NotFoundScreen.native.js.map +1 -1
- package/dist/esm/shell/SlugScreen.native.js.map +1 -1
- package/dist/esm/shell/WorkspaceSidebar.native.js.map +1 -1
- package/dist/esm/shell/useWorkspaces.native.js.map +1 -1
- package/dist/esm/shell/workspaceIcons.native.js.map +1 -1
- package/dist/esm/views/CalendarView.native.js.map +1 -1
- package/dist/esm/views/DashboardView.native.js.map +1 -1
- package/dist/esm/views/DoctypeViewScreen.native.js.map +1 -1
- package/dist/esm/views/ImageView.native.js.map +1 -1
- package/dist/esm/views/KanbanView.native.js.map +1 -1
- package/dist/esm/views/ReportView.native.js.map +1 -1
- package/dist/esm/views/TreeView.native.js.map +1 -1
- package/dist/esm/views/ViewHeader.native.js.map +1 -1
- package/dist/esm/views/ViewStates.native.js.map +1 -1
- package/dist/esm/views/ViewSwitcherMenu.native.js.map +1 -1
- package/dist/esm/views/calendar-field-selector.native.js.map +1 -1
- package/dist/esm/views/connection.native.js.map +1 -1
- package/dist/esm/views/dashboard-data.native.js.map +1 -1
- package/dist/esm/views/deskViewConfigs.native.js.map +1 -1
- package/dist/esm/views/kanban-board-controls.native.js.map +1 -1
- package/dist/esm/views/kanban-field-picker.native.js.map +1 -1
- package/dist/esm/views/kanbanBoardOps.native.js.map +1 -1
- package/dist/esm/views/report-controls.native.js.map +1 -1
- package/dist/esm/views/viewAvailability.native.js.map +1 -1
- package/dist/esm/views/viewMeta.native.js.map +1 -1
- package/dist/esm/workspace/WorkspaceChartBlock.native.js.map +1 -1
- package/dist/esm/workspace/WorkspaceGrid.native.js.map +1 -1
- package/dist/esm/workspace/WorkspaceLinkCard.native.js.map +1 -1
- package/dist/esm/workspace/WorkspaceLinkDirectory.native.js.map +1 -1
- package/dist/esm/workspace/WorkspaceNumberCard.native.js.map +1 -1
- package/dist/esm/workspace/WorkspaceQuickList.native.js.map +1 -1
- package/dist/esm/workspace/WorkspaceRecents.native.js.map +1 -1
- package/dist/esm/workspace/WorkspaceScreen.native.js.map +1 -1
- package/dist/esm/workspace/WorkspaceShortcut.native.js.map +1 -1
- package/dist/esm/workspace/parseContent.native.js.map +1 -1
- package/dist/esm/workspace/types.native.js.map +1 -1
- package/dist/esm/workspace/useDashboardChart.native.js.map +1 -1
- package/dist/esm/workspace/useWorkspaceDoc.native.js.map +1 -1
- package/dist/jsx/chrome/BackofficeAwesomebar.native.js +1 -1
- package/dist/jsx/chrome/BackofficeAwesomebar.native.js.map +1 -1
- package/dist/jsx/chrome/CommandPalette.native.js +1 -1
- package/dist/jsx/chrome/CommandPalette.native.js.map +1 -1
- package/dist/jsx/chrome/HelpMenu.native.js +1 -1
- package/dist/jsx/chrome/HelpMenu.native.js.map +1 -1
- package/dist/jsx/chrome/NotificationsButton.native.js +1 -1
- package/dist/jsx/chrome/NotificationsButton.native.js.map +1 -1
- package/dist/jsx/chrome/UserMenu.native.js +1 -1
- package/dist/jsx/chrome/UserMenu.native.js.map +1 -1
- package/dist/jsx/chrome/awesomebar-data.native.js.map +1 -1
- package/dist/jsx/chrome/command-palette-model.native.js +1 -1
- package/dist/jsx/chrome/command-palette-model.native.js.map +1 -1
- package/dist/jsx/chrome/help-about-dialog.native.js +1 -1
- package/dist/jsx/chrome/help-about-dialog.native.js.map +1 -1
- package/dist/jsx/chrome/help-shortcuts-dialog.native.js +1 -1
- package/dist/jsx/chrome/help-shortcuts-dialog.native.js.map +1 -1
- package/dist/jsx/chrome/notifications-data.native.js.map +1 -1
- package/dist/jsx/chrome/notifications-panel.native.js +1 -1
- package/dist/jsx/chrome/notifications-panel.native.js.map +1 -1
- package/dist/jsx/chrome/notifications-utils.native.js.map +1 -1
- package/dist/jsx/chrome/shortcuts.native.js.map +1 -1
- package/dist/jsx/chrome/user-session.native.js.map +1 -1
- package/dist/jsx/config/BackofficeProvider.native.js +1 -1
- package/dist/jsx/config/BackofficeProvider.native.js.map +1 -1
- package/dist/jsx/config/capabilities.native.js.map +1 -1
- package/dist/jsx/config/events.native.js.map +1 -1
- package/dist/jsx/config/slots.native.js.map +1 -1
- package/dist/jsx/desk/Desk.native.js.map +1 -1
- package/dist/jsx/desk/DeskSurface.native.js.map +1 -1
- package/dist/jsx/desk/resolveDeskPath.native.js.map +1 -1
- package/dist/jsx/desk/scope.native.js.map +1 -1
- package/dist/jsx/desk/target.native.js.map +1 -1
- package/dist/jsx/form/DocFormScreen.mjs +28 -5
- package/dist/jsx/form/DocFormScreen.mjs.map +1 -1
- package/dist/jsx/form/DocFormScreen.native.js +29 -6
- package/dist/jsx/form/DocFormScreen.native.js.map +1 -1
- package/dist/jsx/form/FormConnections.native.js +1 -1
- package/dist/jsx/form/FormConnections.native.js.map +1 -1
- package/dist/jsx/form/FormDialogs.native.js +1 -1
- package/dist/jsx/form/FormDialogs.native.js.map +1 -1
- package/dist/jsx/form/FormErrorBoundary.native.js +1 -1
- package/dist/jsx/form/FormErrorBoundary.native.js.map +1 -1
- package/dist/jsx/form/FormHeaderCluster.native.js +1 -1
- package/dist/jsx/form/FormHeaderCluster.native.js.map +1 -1
- package/dist/jsx/form/FormSidebarPanel.native.js +1 -1
- package/dist/jsx/form/FormSidebarPanel.native.js.map +1 -1
- package/dist/jsx/form/FormTimeline.native.js +1 -1
- package/dist/jsx/form/FormTimeline.native.js.map +1 -1
- package/dist/jsx/form/FormToolbar.native.js +1 -1
- package/dist/jsx/form/FormToolbar.native.js.map +1 -1
- package/dist/jsx/form/connections-data.native.js.map +1 -1
- package/dist/jsx/form/createPrefill.native.js.map +1 -1
- package/dist/jsx/form/dependsOn.native.js.map +1 -1
- package/dist/jsx/form/dirtyTracking.native.js.map +1 -1
- package/dist/jsx/form/docinfo.native.js.map +1 -1
- package/dist/jsx/form/fetchFrom.native.js.map +1 -1
- package/dist/jsx/form/fieldPermissions.native.js.map +1 -1
- package/dist/jsx/form/formActions.native.js.map +1 -1
- package/dist/jsx/form/formLayout.native.js.map +1 -1
- package/dist/jsx/form/platformHooks.native.js.map +1 -1
- package/dist/jsx/form/sidebar-attachments.native.js +1 -1
- package/dist/jsx/form/sidebar-attachments.native.js.map +1 -1
- package/dist/jsx/form/sidebar-dialogs.native.js +1 -1
- package/dist/jsx/form/sidebar-dialogs.native.js.map +1 -1
- package/dist/jsx/form/sidebar-people.native.js +1 -1
- package/dist/jsx/form/sidebar-people.native.js.map +1 -1
- package/dist/jsx/form/sidebar-rpc.native.js.map +1 -1
- package/dist/jsx/form/sidebar-utils.native.js.map +1 -1
- package/dist/jsx/form/timeline-entries.native.js.map +1 -1
- package/dist/jsx/form/timeline-utils.native.js.map +1 -1
- package/dist/jsx/form/useFormEngine.native.js.map +1 -1
- package/dist/jsx/i18n/en.native.js.map +1 -1
- package/dist/jsx/i18n/index.native.js.map +1 -1
- package/dist/jsx/index.native.js +1 -1
- package/dist/jsx/index.native.js.map +1 -1
- package/dist/jsx/list/AddTagsDialog.native.js +1 -1
- package/dist/jsx/list/AddTagsDialog.native.js.map +1 -1
- package/dist/jsx/list/AssignToDialog.native.js +1 -1
- package/dist/jsx/list/AssignToDialog.native.js.map +1 -1
- package/dist/jsx/list/DoctypeListScreen.mjs +19 -11
- package/dist/jsx/list/DoctypeListScreen.mjs.map +1 -1
- package/dist/jsx/list/DoctypeListScreen.native.js +22 -12
- package/dist/jsx/list/DoctypeListScreen.native.js.map +1 -1
- package/dist/jsx/list/ListBulkActionsBar.native.js +1 -1
- package/dist/jsx/list/ListBulkActionsBar.native.js.map +1 -1
- package/dist/jsx/list/ListFilterBar.native.js +1 -1
- package/dist/jsx/list/ListFilterBar.native.js.map +1 -1
- package/dist/jsx/list/ListSidebar.native.js +1 -1
- package/dist/jsx/list/ListSidebar.native.js.map +1 -1
- package/dist/jsx/list/bulk-edit-dialog.native.js +1 -1
- package/dist/jsx/list/bulk-edit-dialog.native.js.map +1 -1
- package/dist/jsx/list/bulk-export.native.js.map +1 -1
- package/dist/jsx/list/bulk-submit-cancel.native.js.map +1 -1
- package/dist/jsx/list/bulkActions.native.js.map +1 -1
- package/dist/jsx/list/filter-chips.native.js +1 -1
- package/dist/jsx/list/filter-chips.native.js.map +1 -1
- package/dist/jsx/list/filter-editor.native.js +1 -1
- package/dist/jsx/list/filter-editor.native.js.map +1 -1
- package/dist/jsx/list/filter-fields.native.js.map +1 -1
- package/dist/jsx/list/filter-saved.native.js +1 -1
- package/dist/jsx/list/filter-saved.native.js.map +1 -1
- package/dist/jsx/list/filter-sort.native.js +1 -1
- package/dist/jsx/list/filter-sort.native.js.map +1 -1
- package/dist/jsx/list/filter-standard.native.js.map +1 -1
- package/dist/jsx/list/filterConversion.native.js.map +1 -1
- package/dist/jsx/list/list-tools-sheet.native.js +1 -1
- package/dist/jsx/list/list-tools-sheet.native.js.map +1 -1
- package/dist/jsx/list/listColumns.native.js.map +1 -1
- package/dist/jsx/list/listFields.mjs +1 -1
- package/dist/jsx/list/listFields.mjs.map +1 -1
- package/dist/jsx/list/listFields.native.js +1 -1
- package/dist/jsx/list/listFields.native.js.map +1 -1
- package/dist/jsx/list/listFormat.native.js.map +1 -1
- package/dist/jsx/list/listUrlState.native.js.map +1 -1
- package/dist/jsx/list/sidebar-section.native.js +1 -1
- package/dist/jsx/list/sidebar-section.native.js.map +1 -1
- package/dist/jsx/list/sidebar-stats.native.js.map +1 -1
- package/dist/jsx/list/statusColors.native.js.map +1 -1
- package/dist/jsx/navigation/navigator.native.js.map +1 -1
- package/dist/jsx/navigation/paths.native.js.map +1 -1
- package/dist/jsx/oneAdapter/index.native.js.map +1 -1
- package/dist/jsx/quickEntry/QuickEntryDialog.native.js +1 -1
- package/dist/jsx/quickEntry/QuickEntryDialog.native.js.map +1 -1
- package/dist/jsx/quickEntry/quickEntryPlan.native.js.map +1 -1
- package/dist/jsx/report/DoctypeReportView.native.js +1 -1
- package/dist/jsx/report/DoctypeReportView.native.js.map +1 -1
- package/dist/jsx/report/QueryReportScreen.native.js +1 -1
- package/dist/jsx/report/QueryReportScreen.native.js.map +1 -1
- package/dist/jsx/report/queryReportColumns.native.js.map +1 -1
- package/dist/jsx/report/queryReportFilterBar.native.js +1 -1
- package/dist/jsx/report/queryReportFilterBar.native.js.map +1 -1
- package/dist/jsx/report/queryReportUrlState.native.js.map +1 -1
- package/dist/jsx/report/report-grid.native.js +1 -1
- package/dist/jsx/report/report-grid.native.js.map +1 -1
- package/dist/jsx/report/report-toolbar.native.js +1 -1
- package/dist/jsx/report/report-toolbar.native.js.map +1 -1
- package/dist/jsx/report/reportShapes.native.js.map +1 -1
- package/dist/jsx/report/reportViewModel.native.js.map +1 -1
- package/dist/jsx/report/savedReports.native.js.map +1 -1
- package/dist/jsx/report/useQueryReport.native.js.map +1 -1
- package/dist/jsx/shared/deskLinks.native.js.map +1 -1
- package/dist/jsx/shared/listNavContext.native.js.map +1 -1
- package/dist/jsx/shared/types.native.js.map +1 -1
- package/dist/jsx/shared/useDocinfo.native.js.map +1 -1
- package/dist/jsx/shared/useDoctypeMeta.native.js.map +1 -1
- package/dist/jsx/shared/useFrappeApp.mjs +7 -3
- package/dist/jsx/shared/useFrappeApp.mjs.map +1 -1
- package/dist/jsx/shared/useFrappeApp.native.js +8 -4
- package/dist/jsx/shared/useFrappeApp.native.js.map +1 -1
- package/dist/jsx/shared/useRecentVisit.native.js.map +1 -1
- package/dist/jsx/shared/useSessionUserId.native.js.map +1 -1
- package/dist/jsx/shared/useSlugTarget.native.js.map +1 -1
- package/dist/jsx/shared/useUserRoles.mjs +7 -2
- package/dist/jsx/shared/useUserRoles.mjs.map +1 -1
- package/dist/jsx/shared/useUserRoles.native.js +6 -1
- package/dist/jsx/shared/useUserRoles.native.js.map +1 -1
- package/dist/jsx/shell/BackofficeShell.native.js +1 -1
- package/dist/jsx/shell/BackofficeShell.native.js.map +1 -1
- package/dist/jsx/shell/HomeRedirect.native.js +1 -1
- package/dist/jsx/shell/HomeRedirect.native.js.map +1 -1
- package/dist/jsx/shell/NotFoundScreen.native.js +1 -1
- package/dist/jsx/shell/NotFoundScreen.native.js.map +1 -1
- package/dist/jsx/shell/SlugScreen.native.js +1 -1
- package/dist/jsx/shell/SlugScreen.native.js.map +1 -1
- package/dist/jsx/shell/WorkspaceSidebar.native.js +1 -1
- package/dist/jsx/shell/WorkspaceSidebar.native.js.map +1 -1
- package/dist/jsx/shell/useWorkspaces.native.js.map +1 -1
- package/dist/jsx/shell/workspaceIcons.native.js.map +1 -1
- package/dist/jsx/views/CalendarView.native.js +1 -1
- package/dist/jsx/views/CalendarView.native.js.map +1 -1
- package/dist/jsx/views/DashboardView.native.js +1 -1
- package/dist/jsx/views/DashboardView.native.js.map +1 -1
- package/dist/jsx/views/DoctypeViewScreen.native.js.map +1 -1
- package/dist/jsx/views/ImageView.native.js +1 -1
- package/dist/jsx/views/ImageView.native.js.map +1 -1
- package/dist/jsx/views/KanbanView.native.js +1 -1
- package/dist/jsx/views/KanbanView.native.js.map +1 -1
- package/dist/jsx/views/ReportView.native.js +1 -1
- package/dist/jsx/views/ReportView.native.js.map +1 -1
- package/dist/jsx/views/TreeView.native.js +1 -1
- package/dist/jsx/views/TreeView.native.js.map +1 -1
- package/dist/jsx/views/ViewHeader.native.js +1 -1
- package/dist/jsx/views/ViewHeader.native.js.map +1 -1
- package/dist/jsx/views/ViewStates.native.js +1 -1
- package/dist/jsx/views/ViewStates.native.js.map +1 -1
- package/dist/jsx/views/ViewSwitcherMenu.native.js +1 -1
- package/dist/jsx/views/ViewSwitcherMenu.native.js.map +1 -1
- package/dist/jsx/views/calendar-field-selector.native.js +1 -1
- package/dist/jsx/views/calendar-field-selector.native.js.map +1 -1
- package/dist/jsx/views/connection.native.js.map +1 -1
- package/dist/jsx/views/dashboard-data.native.js.map +1 -1
- package/dist/jsx/views/deskViewConfigs.native.js.map +1 -1
- package/dist/jsx/views/kanban-board-controls.native.js +1 -1
- package/dist/jsx/views/kanban-board-controls.native.js.map +1 -1
- package/dist/jsx/views/kanban-field-picker.native.js +1 -1
- package/dist/jsx/views/kanban-field-picker.native.js.map +1 -1
- package/dist/jsx/views/kanbanBoardOps.native.js.map +1 -1
- package/dist/jsx/views/report-controls.native.js +1 -1
- package/dist/jsx/views/report-controls.native.js.map +1 -1
- package/dist/jsx/views/viewAvailability.native.js.map +1 -1
- package/dist/jsx/views/viewMeta.native.js.map +1 -1
- package/dist/jsx/workspace/WorkspaceChartBlock.native.js +1 -1
- package/dist/jsx/workspace/WorkspaceChartBlock.native.js.map +1 -1
- package/dist/jsx/workspace/WorkspaceGrid.native.js.map +1 -1
- package/dist/jsx/workspace/WorkspaceLinkCard.native.js +1 -1
- package/dist/jsx/workspace/WorkspaceLinkCard.native.js.map +1 -1
- package/dist/jsx/workspace/WorkspaceLinkDirectory.native.js +1 -1
- package/dist/jsx/workspace/WorkspaceLinkDirectory.native.js.map +1 -1
- package/dist/jsx/workspace/WorkspaceNumberCard.native.js +1 -1
- package/dist/jsx/workspace/WorkspaceNumberCard.native.js.map +1 -1
- package/dist/jsx/workspace/WorkspaceQuickList.native.js +1 -1
- package/dist/jsx/workspace/WorkspaceQuickList.native.js.map +1 -1
- package/dist/jsx/workspace/WorkspaceRecents.native.js +1 -1
- package/dist/jsx/workspace/WorkspaceRecents.native.js.map +1 -1
- package/dist/jsx/workspace/WorkspaceScreen.native.js +1 -1
- package/dist/jsx/workspace/WorkspaceScreen.native.js.map +1 -1
- package/dist/jsx/workspace/WorkspaceShortcut.native.js +1 -1
- package/dist/jsx/workspace/WorkspaceShortcut.native.js.map +1 -1
- package/dist/jsx/workspace/parseContent.native.js.map +1 -1
- package/dist/jsx/workspace/types.native.js.map +1 -1
- package/dist/jsx/workspace/useDashboardChart.native.js.map +1 -1
- package/dist/jsx/workspace/useWorkspaceDoc.native.js.map +1 -1
- package/package.json +12 -12
- package/src/form/DocFormScreen.rights.spec.tsx +130 -0
- package/src/form/DocFormScreen.tsx +34 -6
- package/src/list/DoctypeListScreen.rights.spec.tsx +113 -0
- package/src/list/DoctypeListScreen.tsx +76 -52
- package/src/list/listFields.spec.ts +37 -1
- package/src/list/listFields.ts +1 -1
- package/src/shared/useFrappeApp.spec.tsx +28 -0
- package/src/shared/useFrappeApp.ts +4 -2
- package/src/shared/useUserRoles.ts +7 -6
- package/types/form/DocFormScreen.d.ts.map +1 -1
- package/types/list/DoctypeListScreen.d.ts.map +1 -1
- package/types/shared/useFrappeApp.d.ts.map +1 -1
- package/types/shared/useUserRoles.d.ts +4 -3
- package/types/shared/useUserRoles.d.ts.map +1 -1
|
@@ -33,6 +33,7 @@ import {
|
|
|
33
33
|
import {
|
|
34
34
|
FrappeTable,
|
|
35
35
|
docFieldsToFilterFields,
|
|
36
|
+
sessionDocRights,
|
|
36
37
|
useFrappeAggregate,
|
|
37
38
|
useFrappeConfig,
|
|
38
39
|
} from "@multiplatform.one/frappe-ui";
|
|
@@ -222,8 +223,17 @@ export function DoctypeListScreen({
|
|
|
222
223
|
if (metaError && !meta) emitEvent({ type: "error", error: metaError, context: "list-meta" });
|
|
223
224
|
}, [metaError, meta, emitEvent]);
|
|
224
225
|
|
|
225
|
-
//
|
|
226
|
-
|
|
226
|
+
// Session roles × meta.permissions: the doctype-level rights (desk
|
|
227
|
+
// get_role_permissions) gate New and the write/delete bulk actions; fixture
|
|
228
|
+
// mode has no session and withholds nothing.
|
|
229
|
+
const { roles, user: rolesUser } = useUserRoles();
|
|
230
|
+
const rights = useMemo(
|
|
231
|
+
() => sessionDocRights({ fixtures: fixtureMode, meta, roles, user: rolesUser }),
|
|
232
|
+
[fixtureMode, meta, roles, rolesUser],
|
|
233
|
+
);
|
|
234
|
+
|
|
235
|
+
// "New" affordances: host prop + the newDoc capability + the create right.
|
|
236
|
+
const showNew = !hideNewButton && capabilities.newDoc.enabled && rights.create;
|
|
227
237
|
|
|
228
238
|
// ONE FILTER SYSTEM (MOD-04): `baseFilters` is the single writable filter
|
|
229
239
|
// state for this screen. Every filter surface — quick standard filters,
|
|
@@ -405,7 +415,6 @@ export function DoctypeListScreen({
|
|
|
405
415
|
// fields above the roles' read level are pruned (desk hides them; the
|
|
406
416
|
// server strips their values anyway). Undefined (fixtures / roles RPC
|
|
407
417
|
// unavailable) prunes nothing — never hides more than desk would.
|
|
408
|
-
const { roles } = useUserRoles();
|
|
409
418
|
const permMatrix = useMemo(
|
|
410
419
|
() => buildPermLevelMatrix(meta?.permissions, roles),
|
|
411
420
|
[meta?.permissions, roles],
|
|
@@ -690,14 +699,19 @@ export function DoctypeListScreen({
|
|
|
690
699
|
},
|
|
691
700
|
] as BulkAction<ListRow>[])
|
|
692
701
|
: []),
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
702
|
+
...(rights.write
|
|
703
|
+
? ([
|
|
704
|
+
{
|
|
705
|
+
id: "edit",
|
|
706
|
+
label: t("list.editTitle", "Bulk Edit"),
|
|
707
|
+
onExecute: (items, clearSelection) => {
|
|
708
|
+
const names = items.map((item) => item.name).filter(Boolean) as string[];
|
|
709
|
+
if (names.length > 0)
|
|
710
|
+
setPendingDialog({ type: "edit", names, clear: clearSelection });
|
|
711
|
+
},
|
|
712
|
+
},
|
|
713
|
+
] as BulkAction<ListRow>[])
|
|
714
|
+
: []),
|
|
701
715
|
{
|
|
702
716
|
id: "export",
|
|
703
717
|
label: t("list.export", "Export CSV"),
|
|
@@ -706,7 +720,7 @@ export function DoctypeListScreen({
|
|
|
706
720
|
if (names.length > 0) await handleBulkExport(names);
|
|
707
721
|
},
|
|
708
722
|
},
|
|
709
|
-
...(isSubmittable
|
|
723
|
+
...(isSubmittable && rights.submit
|
|
710
724
|
? ([
|
|
711
725
|
{
|
|
712
726
|
id: "submit",
|
|
@@ -724,6 +738,10 @@ export function DoctypeListScreen({
|
|
|
724
738
|
clearSelection();
|
|
725
739
|
},
|
|
726
740
|
},
|
|
741
|
+
] as BulkAction<ListRow>[])
|
|
742
|
+
: []),
|
|
743
|
+
...(isSubmittable && rights.cancel
|
|
744
|
+
? ([
|
|
727
745
|
{
|
|
728
746
|
id: "cancel",
|
|
729
747
|
label: t("list.cancel", "Cancel"),
|
|
@@ -742,47 +760,51 @@ export function DoctypeListScreen({
|
|
|
742
760
|
},
|
|
743
761
|
] as BulkAction<ListRow>[])
|
|
744
762
|
: []),
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
if (!app) return;
|
|
757
|
-
const names = items.map((item) => item.name).filter(Boolean) as string[];
|
|
758
|
-
if (names.length === 0) return;
|
|
759
|
-
const result = await bulkDelete(app, doctype, names);
|
|
760
|
-
if (result.failed.length > 0) {
|
|
761
|
-
notify({
|
|
762
|
-
severity: "warning",
|
|
763
|
-
scope: "page",
|
|
764
|
-
body: t("list.deletePartial", {
|
|
765
|
-
count: result.succeeded.length,
|
|
766
|
-
total: names.length,
|
|
767
|
-
names: result.failed.map((failure) => failure.name).join(", "),
|
|
768
|
-
defaultValue: "Deleted {{count}} of {{total}} documents; failed: {{names}}",
|
|
769
|
-
}),
|
|
770
|
-
});
|
|
771
|
-
} else {
|
|
772
|
-
notify({
|
|
773
|
-
severity: "success",
|
|
774
|
-
scope: "page",
|
|
775
|
-
body: t("list.deleteDone", {
|
|
776
|
-
count: result.succeeded.length,
|
|
777
|
-
defaultValue_one: "Deleted {{count}} document",
|
|
778
|
-
defaultValue_other: "Deleted {{count}} documents",
|
|
763
|
+
...(rights.delete
|
|
764
|
+
? ([
|
|
765
|
+
{
|
|
766
|
+
id: "delete",
|
|
767
|
+
label: t("list.delete", "Delete"),
|
|
768
|
+
variant: "destructive",
|
|
769
|
+
requiresConfirmation: true,
|
|
770
|
+
confirmTitle: t("list.deleteTitle", "Delete documents"),
|
|
771
|
+
confirmMessage: t("list.deleteConfirm", {
|
|
772
|
+
defaultValue: "Permanently delete the selected {{doctype}} documents?",
|
|
773
|
+
doctype,
|
|
779
774
|
}),
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
775
|
+
onExecute: async (items, clearSelection) => {
|
|
776
|
+
if (!app) return;
|
|
777
|
+
const names = items.map((item) => item.name).filter(Boolean) as string[];
|
|
778
|
+
if (names.length === 0) return;
|
|
779
|
+
const result = await bulkDelete(app, doctype, names);
|
|
780
|
+
if (result.failed.length > 0) {
|
|
781
|
+
notify({
|
|
782
|
+
severity: "warning",
|
|
783
|
+
scope: "page",
|
|
784
|
+
body: t("list.deletePartial", {
|
|
785
|
+
count: result.succeeded.length,
|
|
786
|
+
total: names.length,
|
|
787
|
+
names: result.failed.map((failure) => failure.name).join(", "),
|
|
788
|
+
defaultValue: "Deleted {{count}} of {{total}} documents; failed: {{names}}",
|
|
789
|
+
}),
|
|
790
|
+
});
|
|
791
|
+
} else {
|
|
792
|
+
notify({
|
|
793
|
+
severity: "success",
|
|
794
|
+
scope: "page",
|
|
795
|
+
body: t("list.deleteDone", {
|
|
796
|
+
count: result.succeeded.length,
|
|
797
|
+
defaultValue_one: "Deleted {{count}} document",
|
|
798
|
+
defaultValue_other: "Deleted {{count}} documents",
|
|
799
|
+
}),
|
|
800
|
+
});
|
|
801
|
+
}
|
|
802
|
+
clearSelection();
|
|
803
|
+
count.refresh();
|
|
804
|
+
},
|
|
805
|
+
},
|
|
806
|
+
] as BulkAction<ListRow>[])
|
|
807
|
+
: []),
|
|
786
808
|
...hostListActions,
|
|
787
809
|
],
|
|
788
810
|
[
|
|
@@ -796,6 +818,7 @@ export function DoctypeListScreen({
|
|
|
796
818
|
capabilities.assignments.enabled,
|
|
797
819
|
capabilities.tags.enabled,
|
|
798
820
|
hostListActions,
|
|
821
|
+
rights,
|
|
799
822
|
],
|
|
800
823
|
);
|
|
801
824
|
|
|
@@ -1060,6 +1083,7 @@ export function DoctypeListScreen({
|
|
|
1060
1083
|
{...(bulkActionsEnabled ? { bulkActions } : {})}
|
|
1061
1084
|
onRowClick={handleRowClick}
|
|
1062
1085
|
onStateChange={handleStateChange}
|
|
1086
|
+
rights={rights}
|
|
1063
1087
|
layout="list"
|
|
1064
1088
|
/>
|
|
1065
1089
|
)}
|
|
@@ -86,7 +86,7 @@ describe("listFieldsToFetch permlevel pruning", () => {
|
|
|
86
86
|
const matrix = buildPermLevelMatrix(meta.permissions, ["Desk User"]);
|
|
87
87
|
const fields = listFieldsToFetch(meta, matrix);
|
|
88
88
|
expect(fields).toEqual(
|
|
89
|
-
expect.arrayContaining(["name", "modified", "full_name", "enabled", "
|
|
89
|
+
expect.arrayContaining(["name", "modified", "full_name", "enabled", "_comments"]),
|
|
90
90
|
);
|
|
91
91
|
expect(fields).not.toContain("role_profile_name");
|
|
92
92
|
expect(fields).not.toContain("api_secret_hint");
|
|
@@ -99,6 +99,42 @@ describe("listFieldsToFetch permlevel pruning", () => {
|
|
|
99
99
|
});
|
|
100
100
|
});
|
|
101
101
|
|
|
102
|
+
// frappe/model/__init__.py default_fields and optional_fields: the only names
|
|
103
|
+
// frappe.desk.reportview.validate_fields lets through without a DocField.
|
|
104
|
+
// Anything else that isn't a field of the doctype answers 417 "Field not
|
|
105
|
+
// permitted in query" for every user without the query bypass (MPO-389).
|
|
106
|
+
const frappeStandardFields = new Set([
|
|
107
|
+
"doctype",
|
|
108
|
+
"name",
|
|
109
|
+
"owner",
|
|
110
|
+
"creation",
|
|
111
|
+
"modified",
|
|
112
|
+
"modified_by",
|
|
113
|
+
"docstatus",
|
|
114
|
+
"idx",
|
|
115
|
+
"_user_tags",
|
|
116
|
+
"_comments",
|
|
117
|
+
"_assign",
|
|
118
|
+
"_liked_by",
|
|
119
|
+
"_seen",
|
|
120
|
+
]);
|
|
121
|
+
|
|
122
|
+
describe("listFieldsToFetch asks only for columns Frappe will select", () => {
|
|
123
|
+
it("names nothing but the doctype's fields and Frappe's standard columns", () => {
|
|
124
|
+
const fieldnames = new Set(meta.fields.map((field) => field.fieldname));
|
|
125
|
+
const rejected = listFieldsToFetch(meta, undefined).filter(
|
|
126
|
+
(name) => !fieldnames.has(name) && !frappeStandardFields.has(name),
|
|
127
|
+
);
|
|
128
|
+
expect(rejected).toEqual([]);
|
|
129
|
+
});
|
|
130
|
+
|
|
131
|
+
it("reads the comment count from _comments instead of the computed _comment_count", () => {
|
|
132
|
+
const fields = listFieldsToFetch(meta, undefined);
|
|
133
|
+
expect(fields).toContain("_comments");
|
|
134
|
+
expect(fields).not.toContain("_comment_count");
|
|
135
|
+
});
|
|
136
|
+
});
|
|
137
|
+
|
|
102
138
|
describe("listDocumentColumnIds desk list anatomy", () => {
|
|
103
139
|
it("is title, in_list_view values, then the activity cluster — no extra ID/modified", () => {
|
|
104
140
|
expect(listDocumentColumnIds(meta)).toEqual([
|
package/src/list/listFields.ts
CHANGED
|
@@ -24,7 +24,7 @@ export function listFieldsToFetch(meta?: DoctypeMeta, permMatrix?: PermLevelMatr
|
|
|
24
24
|
"_liked_by",
|
|
25
25
|
"_assign",
|
|
26
26
|
"_user_tags",
|
|
27
|
-
"
|
|
27
|
+
"_comments",
|
|
28
28
|
]);
|
|
29
29
|
if (meta?.title_field) fields.add(meta.title_field);
|
|
30
30
|
for (const field of meta?.fields ?? []) {
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { FrappeProvider } from "@multiplatform.one/frappe-ui";
|
|
2
|
+
import { renderHook } from "@testing-library/react";
|
|
3
|
+
import type { ReactNode } from "react";
|
|
4
|
+
import { describe, expect, it } from "vitest";
|
|
5
|
+
import { useFrappeApp } from "./useFrappeApp";
|
|
6
|
+
|
|
7
|
+
function appUnder(syncOptions?: { writeStrategy?: "live" | "resource" }) {
|
|
8
|
+
const wrapper = ({ children }: { children: ReactNode }) => (
|
|
9
|
+
<FrappeProvider
|
|
10
|
+
baseURL="https://use-frappe-app.test"
|
|
11
|
+
realtime={false}
|
|
12
|
+
syncOptions={syncOptions}
|
|
13
|
+
>
|
|
14
|
+
{children}
|
|
15
|
+
</FrappeProvider>
|
|
16
|
+
);
|
|
17
|
+
return renderHook(() => useFrappeApp(), { wrapper }).result.current;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
describe("useFrappeApp write strategy (MPO-396)", () => {
|
|
21
|
+
it("bulk writes follow the provider's resource write strategy", () => {
|
|
22
|
+
expect(appUnder({ writeStrategy: "resource" })?.db().getWriteStrategy()).toBe("resource");
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
it("stays on the live app when the provider names none", () => {
|
|
26
|
+
expect(appUnder()?.db().getWriteStrategy()).toBe("live");
|
|
27
|
+
});
|
|
28
|
+
});
|
|
@@ -26,9 +26,10 @@ export function useFrappeApp(): FrappeApp | undefined {
|
|
|
26
26
|
const useToken = config?.auth?.useToken;
|
|
27
27
|
const token = config?.auth?.token;
|
|
28
28
|
const type = config?.auth?.type;
|
|
29
|
+
const writeStrategy = config?.syncOptions?.writeStrategy;
|
|
29
30
|
return useMemo(() => {
|
|
30
31
|
if (!baseURL) return undefined;
|
|
31
|
-
const key = `${baseURL}|${socketPort ?? ""}|${socketBaseURL ?? ""}|${siteName ?? ""}|${useToken ? "t" : ""}|${token ?? ""}|${type ?? ""}`;
|
|
32
|
+
const key = `${baseURL}|${socketPort ?? ""}|${socketBaseURL ?? ""}|${siteName ?? ""}|${useToken ? "t" : ""}|${token ?? ""}|${type ?? ""}|${writeStrategy ?? ""}`;
|
|
32
33
|
let app = appCache.get(key);
|
|
33
34
|
if (!app) {
|
|
34
35
|
const realtimeOptions =
|
|
@@ -40,9 +41,10 @@ export function useFrappeApp(): FrappeApp | undefined {
|
|
|
40
41
|
token,
|
|
41
42
|
type: (type === "Bearer" ? "Bearer" : type ? "token" : undefined) as AuthConfig["type"],
|
|
42
43
|
realtimeOptions,
|
|
44
|
+
frappeLive: writeStrategy ? { writeStrategy } : undefined,
|
|
43
45
|
});
|
|
44
46
|
appCache.set(key, app);
|
|
45
47
|
}
|
|
46
48
|
return app;
|
|
47
|
-
}, [baseURL, socketPort, socketBaseURL, siteName, useToken, token, type]);
|
|
49
|
+
}, [baseURL, socketPort, socketBaseURL, siteName, useToken, token, type, writeStrategy]);
|
|
48
50
|
}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Session user's role list for backoffice surfaces, read off the ambient
|
|
3
3
|
* FrappeProvider. The fetch itself lives in frappe-ui's form engine
|
|
4
|
-
* (`
|
|
5
|
-
* source; `roles`
|
|
6
|
-
* the RPC fails.
|
|
4
|
+
* (`useFrappeSession`) so FrappeForm and the desk resolve permlevel and doc
|
|
5
|
+
* rights from one source; `roles` and `user` stay undefined while loading,
|
|
6
|
+
* in fixture mode, or when the RPC fails.
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import { useFrappeConfig,
|
|
9
|
+
import { useFrappeConfig, useFrappeSession } from "@multiplatform.one/frappe-ui";
|
|
10
10
|
|
|
11
|
-
export function useUserRoles(): { roles?: string[] } {
|
|
11
|
+
export function useUserRoles(): { roles?: string[]; user?: string } {
|
|
12
12
|
const config = useFrappeConfig();
|
|
13
|
-
|
|
13
|
+
const { roles, user } = useFrappeSession(config);
|
|
14
|
+
return { roles, user };
|
|
14
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocFormScreen.d.ts","sourceRoot":"","sources":["../../src/form/DocFormScreen.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DocFormScreen.d.ts","sourceRoot":"","sources":["../../src/form/DocFormScreen.tsx"],"names":[],"mappings":"AA0CA,OAAO,EAML,KAAK,gBAAgB,EACtB,MAAM,8BAA8B,CAAC;AAqCtC,oDAAoD;AACpD,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,+EAA+E;IAC/E,KAAK,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,kBAAkB;IACjC,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uEAAuE;IACvE,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,2CAA2C;IAC3C,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,+EAA+E;IAC/E,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACpE,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,wDAAwD;IACxD,eAAe,CAAC,EAAE,sBAAsB,CAAC;CAC1C;AAID,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,SAAS,EACT,eAAe,GAChB,EAAE,kBAAkB,2CA4/BpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DoctypeListScreen.d.ts","sourceRoot":"","sources":["../../src/list/DoctypeListScreen.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DoctypeListScreen.d.ts","sourceRoot":"","sources":["../../src/list/DoctypeListScreen.tsx"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EAEV,eAAe,EAIhB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAOL,KAAK,gBAAgB,EACtB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAS1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,KAAK,WAAW,EAAkB,MAAM,0BAA0B,CAAC;AAoB5E,OAAO,EAAgB,KAAK,OAAO,EAAoB,MAAM,eAAe,CAAC;AAY7E,MAAM,WAAW,sBAAsB;IACrC,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IAClC;;;OAGG;IACH,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B;;;OAGG;IACH,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,8EAA8E;IAC9E,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,KAAK,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;IACtF,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gFAAgF;IAChF,cAAc,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;CAC9C;AAsBD,wBAAgB,iBAAiB,CAAC,EAChC,OAAO,EACP,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,KAAK,EAAE,cAAc,EACrB,cAAc,EACd,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,SAAS,EACT,aAAa,EACb,cAAc,GACf,EAAE,sBAAsB,2CAq8BxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFrappeApp.d.ts","sourceRoot":"","sources":["../../src/shared/useFrappeApp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAmB,MAAM,2BAA2B,CAAC;AAMvE;;;;;;GAMG;AACH,wBAAgB,YAAY,IAAI,SAAS,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"useFrappeApp.d.ts","sourceRoot":"","sources":["../../src/shared/useFrappeApp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAmB,MAAM,2BAA2B,CAAC;AAMvE;;;;;;GAMG;AACH,wBAAgB,YAAY,IAAI,SAAS,GAAG,SAAS,CAoCpD"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Session user's role list for backoffice surfaces, read off the ambient
|
|
3
3
|
* FrappeProvider. The fetch itself lives in frappe-ui's form engine
|
|
4
|
-
* (`
|
|
5
|
-
* source; `roles`
|
|
6
|
-
* the RPC fails.
|
|
4
|
+
* (`useFrappeSession`) so FrappeForm and the desk resolve permlevel and doc
|
|
5
|
+
* rights from one source; `roles` and `user` stay undefined while loading,
|
|
6
|
+
* in fixture mode, or when the RPC fails.
|
|
7
7
|
*/
|
|
8
8
|
export declare function useUserRoles(): {
|
|
9
9
|
roles?: string[];
|
|
10
|
+
user?: string;
|
|
10
11
|
};
|
|
11
12
|
//# sourceMappingURL=useUserRoles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUserRoles.d.ts","sourceRoot":"","sources":["../../src/shared/useUserRoles.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,wBAAgB,YAAY,IAAI;IAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"useUserRoles.d.ts","sourceRoot":"","sources":["../../src/shared/useUserRoles.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,wBAAgB,YAAY,IAAI;IAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAIlE"}
|