@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
|
@@ -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","WorkspaceShortcut_exports","WorkspaceShortcut","resolveShortcutTarget","module","exports","import_jsx_runtime","require","import_react","import_components","import_frappe_ui","import_platform","import_theme","import_react2","import_react_i18next","import_BackofficeProvider","import_i18n","import_paths","import_useSlugTarget","import_parseContent","defaultPaths","createBackofficePaths","uncountableDoctypes","Set","row","paths","arguments","length","link_to","url","prefix","base","type","path","list","externalUrl","disabled","TYPE_ICONS","DocType","ListBulletsIcon","Report","ChartBarIcon","Page","BrowserIcon","Dashboard","GaugeIcon","URL","ArrowSquareOutIcon","param","onPress","_row_link_to","_row_link_to1","_row_link_to2","_TYPE_ICONS_row_type","_knobProps_controlIcon","_theme_color11","navigator","useBackofficeNavigator","useBackofficePaths","config","useFrappeConfig","knobProps","useResolvedKnobs","iconSize","Number","controlIcon","width","t","useTranslation","BACKOFFICE_I18N_NAMESPACE","theme","useTheme","views","useBackofficeCapabilities","isDoctypeAllowed","useIsDoctypeAllowed","iconColor","color11","val","isDoctype","filters","useMemo","parseFrappeFilters","stats_filter","singleDoctypes","useSingleDoctypes","connection","baseURL","fixtures","socketPort","siteName","socketBaseURL","auth","syncOptions","hiddenByScope","hiddenByViews","enabled","isCountable","has","count","isLoading","countLoading","error","countError","useFrappeAggregate","doctype","useEffect","add","handlePress","handlePress2","navigate"],"sources":["../../../src/workspace/WorkspaceShortcut.tsx"],"sourcesContent":[null],"mappings":"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","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","WorkspaceShortcut_exports","WorkspaceShortcut","resolveShortcutTarget","module","exports","import_jsx_runtime","require","import_react","import_components","import_frappe_ui","import_platform","import_theme","import_react2","import_react_i18next","import_BackofficeProvider","import_i18n","import_paths","import_useSlugTarget","import_parseContent","defaultPaths","createBackofficePaths","uncountableDoctypes","Set","row","paths","arguments","length","link_to","url","prefix","base","type","path","list","externalUrl","disabled","TYPE_ICONS","DocType","ListBulletsIcon","Report","ChartBarIcon","Page","BrowserIcon","Dashboard","GaugeIcon","URL","ArrowSquareOutIcon","param","onPress","_row_link_to","_row_link_to1","_row_link_to2","_TYPE_ICONS_row_type","_knobProps_controlIcon","_theme_color11","navigator","useBackofficeNavigator","useBackofficePaths","config","useFrappeConfig","knobProps","useResolvedKnobs","iconSize","Number","controlIcon","width","t","useTranslation","BACKOFFICE_I18N_NAMESPACE","theme","useTheme","views","useBackofficeCapabilities","isDoctypeAllowed","useIsDoctypeAllowed","iconColor","color11","val","isDoctype","filters","useMemo","parseFrappeFilters","stats_filter","singleDoctypes","useSingleDoctypes","connection","baseURL","fixtures","socketPort","siteName","socketBaseURL","auth","syncOptions","hiddenByScope","hiddenByViews","enabled","isCountable","has","count","isLoading","countLoading","error","countError","useFrappeAggregate","doctype","useEffect","add","handlePress","handlePress2","navigate","openUrl","countLabel","format","replace","String","TypeIcon","SquaresFourIcon","jsx","Card","padding","opacity","cursor","hoverStyle","borderColor","pressStyle","scale","role","label","tabIndex","outlineWidth","focusStyle","focusVisibleStyle","ensureFocusVisibleRing","children","jsxs","XStack","paddingHorizontal","minHeight","alignItems","gap","size","color","Text","fontWeight","numberOfLines","flexShrink","Skeleton","variant","height","Chip"],"sources":["WorkspaceShortcut.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 WorkspaceShortcut_exports = {};\n__export(WorkspaceShortcut_exports, {\n WorkspaceShortcut: () => WorkspaceShortcut,\n resolveShortcutTarget: () => resolveShortcutTarget\n});\nmodule.exports = __toCommonJS(WorkspaceShortcut_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_react = require(\"@phosphor-icons/react\");\nvar import_components = require(\"@multiplatform.one/components\");\nvar import_frappe_ui = require(\"@multiplatform.one/frappe-ui\");\nvar import_platform = require(\"@multiplatform.one/platform\");\nvar import_theme = require(\"@multiplatform.one/theme\");\nvar import_react2 = require(\"react\");\nvar import_react_i18next = require(\"react-i18next\");\nvar import_BackofficeProvider = require(\"../config/BackofficeProvider\");\nvar import_i18n = require(\"../i18n\");\nvar import_paths = require(\"../navigation/paths\");\nvar import_useSlugTarget = require(\"../shared/useSlugTarget\");\nvar import_parseContent = require(\"./parseContent\");\nvar defaultPaths = (0, import_paths.createBackofficePaths)();\nvar uncountableDoctypes = /* @__PURE__ */ new Set();\nfunction resolveShortcutTarget(row) {\n var paths = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : defaultPaths;\n var target = row.link_to || row.url || \"\";\n var prefix = paths.base === \"/\" ? \"\" : paths.base;\n switch (row.type) {\n case \"DocType\":\n return {\n path: paths.list(target)\n };\n case \"Report\":\n return {\n path: paths.list(target)\n };\n case \"Page\":\n return {\n path: `${prefix}/${target}`\n };\n case \"URL\":\n return {\n externalUrl: row.url || row.link_to\n };\n default:\n return {\n disabled: true\n };\n }\n}\nvar TYPE_ICONS = {\n DocType: import_react.ListBulletsIcon,\n Report: import_react.ChartBarIcon,\n Page: import_react.BrowserIcon,\n Dashboard: import_react.GaugeIcon,\n URL: import_react.ArrowSquareOutIcon\n};\nfunction WorkspaceShortcut(param) {\n var { row, onPress } = param;\n var _row_link_to, _row_link_to1, _row_link_to2, _TYPE_ICONS_row_type;\n var _knobProps_controlIcon, _theme_color11;\n var navigator = (0, import_BackofficeProvider.useBackofficeNavigator)();\n var paths = (0, import_BackofficeProvider.useBackofficePaths)();\n var config = (0, import_frappe_ui.useFrappeConfig)();\n var { knobProps } = (0, import_theme.useResolvedKnobs)();\n var iconSize = Number((_knobProps_controlIcon = knobProps.controlIcon) === null || _knobProps_controlIcon === void 0 ? void 0 : _knobProps_controlIcon.width) || 16;\n var { t } = (0, import_react_i18next.useTranslation)(import_i18n.BACKOFFICE_I18N_NAMESPACE);\n var theme = (0, import_components.useTheme)();\n var { views } = (0, import_BackofficeProvider.useBackofficeCapabilities)();\n var isDoctypeAllowed = (0, import_BackofficeProvider.useIsDoctypeAllowed)();\n var iconColor = typeof ((_theme_color11 = theme.color11) === null || _theme_color11 === void 0 ? void 0 : _theme_color11.val) === \"string\" ? theme.color11.val : void 0;\n var isDoctype = row.type === \"DocType\" && !!row.link_to;\n var filters = (0, import_react2.useMemo)(function() {\n return (0, import_parseContent.parseFrappeFilters)(row.stats_filter);\n }, [\n row.stats_filter\n ]);\n var singleDoctypes = (0, import_useSlugTarget.useSingleDoctypes)();\n var connection = (0, import_react2.useMemo)(function() {\n return (config === null || config === void 0 ? void 0 : config.baseURL) || (config === null || config === void 0 ? void 0 : config.fixtures) ? {\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 hiddenByScope = isDoctype && row.link_to ? !isDoctypeAllowed(row.link_to) : false;\n var hiddenByViews = (row.type === \"DocType\" || row.type === \"Report\") && !views.enabled;\n var isCountable = isDoctype && singleDoctypes !== void 0 && !singleDoctypes.has((_row_link_to = row.link_to) !== null && _row_link_to !== void 0 ? _row_link_to : \"\") && !uncountableDoctypes.has((_row_link_to1 = row.link_to) !== null && _row_link_to1 !== void 0 ? _row_link_to1 : \"\");\n var { value: count, isLoading: countLoading, error: countError } = (0, import_frappe_ui.useFrappeAggregate)(connection, {\n doctype: (_row_link_to2 = row.link_to) !== null && _row_link_to2 !== void 0 ? _row_link_to2 : \"\",\n filters,\n enabled: isCountable && !!connection && !hiddenByScope && !hiddenByViews\n });\n (0, import_react2.useEffect)(function() {\n if (countError && row.link_to) uncountableDoctypes.add(row.link_to);\n }, [\n countError,\n row.link_to\n ]);\n if (hiddenByScope || hiddenByViews) return null;\n var target = resolveShortcutTarget(row, paths);\n var handlePress = function handlePress2() {\n if (onPress) {\n onPress(row);\n return;\n }\n if (target.path) {\n navigator.navigate(target.path);\n return;\n }\n if (target.externalUrl) {\n (0, import_platform.openUrl)(target.externalUrl);\n }\n };\n var countLabel = count === void 0 ? void 0 : row.format ? row.format.replace(\"{}\", String(count)) : String(count);\n var TypeIcon = (_TYPE_ICONS_row_type = TYPE_ICONS[row.type]) !== null && _TYPE_ICONS_row_type !== void 0 ? _TYPE_ICONS_row_type : import_react.SquaresFourIcon;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.Card, {\n // Chip-scale surface: eject the Card's default panelPadding — the\n // inner row owns the compact inset (LC-18 eject-last contract).\n padding: 0,\n onPress: target.disabled && !onPress ? void 0 : handlePress,\n disabled: target.disabled && !onPress,\n opacity: target.disabled && !onPress ? 0.5 : 1,\n cursor: target.disabled && !onPress ? \"default\" : \"pointer\",\n hoverStyle: target.disabled && !onPress ? void 0 : {\n borderColor: \"$accentBackground\"\n },\n pressStyle: target.disabled && !onPress ? void 0 : {\n scale: 0.98\n },\n role: \"button\",\n \"aria-label\": row.label,\n tabIndex: target.disabled && !onPress ? void 0 : 0,\n outlineWidth: 0,\n focusStyle: {\n outlineWidth: 0\n },\n // Default ring (offset 0): a shortcut tile is a standalone rectangle on\n // the page ground, not a thumb or an inline link, so it takes no LC-71 §4\n // carve-out (MPO-92).\n focusVisibleStyle: (0, import_theme.ensureFocusVisibleRing)(),\n children: (\n /* Compact chip anatomy: icon + label + count, ≥44px press target\n (DG-LAY-04), self-sized so the band wraps instead of stretching. */\n /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_components.XStack, {\n paddingHorizontal: \"$3\",\n minHeight: 44,\n alignItems: \"center\",\n ...knobProps.gap,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TypeIcon, {\n size: iconSize,\n color: iconColor,\n \"aria-hidden\": true\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.Text, {\n ...knobProps.label,\n fontWeight: \"400\",\n numberOfLines: 1,\n flexShrink: 1,\n children: row.label\n }),\n isDoctype ? countLoading ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.Skeleton, {\n variant: \"rounded\",\n width: 28,\n height: 16\n }) : countError ? null : countLabel !== void 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.Chip, {\n size: \"$2\",\n variant: \"subtle\",\n color: \"gray\",\n children: countLabel\n }) : null : target.disabled && !onPress ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.Text, {\n ...knobProps.label,\n fontWeight: \"400\",\n color: \"$color10\",\n children: t(\"workspaceShortcutUnavailable\", \"Not available\")\n }) : null\n ]\n })\n )\n });\n}\n//# sourceMappingURL=WorkspaceShortcut.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -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","parseContent_exports","collapseLinkRows","composeWorkspaceBlocks","filterLinkGroup","findLinkGroup","findShortcut","groupLinks","headerLevel","parseFrappeFilters","parseWorkspaceContent","stripHtml","module","exports","_type_of","obj","Symbol","constructor","content","parsed","JSON","parse","Array","isArray","filter","block","type","unused","NAMED_ENTITIES","amp","lt","gt","quot","apos","nbsp","html","withoutTags","replace","match","entity","_NAMED_ENTITIES_entity_toLowerCase","startsWith","code","Number","parseInt","slice","isNaN","String","fromCodePoint","code1","toLowerCase","trim","links","groups","current","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","row","hidden","label","breakRow","push","err","return","group","query","needle","includes","length","linkCount","options","canCollapse","collapse","shown","expanded","hiddenCount","showMore","raw"],"sources":["../../../src/workspace/parseContent.ts"],"sourcesContent":[null],"mappings":"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","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","parseContent_exports","collapseLinkRows","composeWorkspaceBlocks","filterLinkGroup","findLinkGroup","findShortcut","groupLinks","headerLevel","parseFrappeFilters","parseWorkspaceContent","stripHtml","module","exports","_type_of","obj","Symbol","constructor","content","parsed","JSON","parse","Array","isArray","filter","block","type","unused","NAMED_ENTITIES","amp","lt","gt","quot","apos","nbsp","html","withoutTags","replace","match","entity","_NAMED_ENTITIES_entity_toLowerCase","startsWith","code","Number","parseInt","slice","isNaN","String","fromCodePoint","code1","toLowerCase","trim","links","groups","current","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","row","hidden","label","breakRow","push","err","return","group","query","needle","includes","length","linkCount","options","canCollapse","collapse","shown","expanded","hiddenCount","showMore","raw","tuples","entry","tuples1","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","entries","_step1","field","DATA_BLOCK_RANK","number_card","chart","quick_list","isDataBlock","blocks","shortcuts","cards","text","dataBlocks","index","labelsWidgets","following","data","map","block2","index2","sort","a","b","_DATA_BLOCK_RANK_a_block_type","_DATA_BLOCK_RANK_b_block_type","param","doc","shortcutName","_doc_shortcuts","find","cardName"],"sources":["parseContent.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 parseContent_exports = {};\n__export(parseContent_exports, {\n collapseLinkRows: () => collapseLinkRows,\n composeWorkspaceBlocks: () => composeWorkspaceBlocks,\n filterLinkGroup: () => filterLinkGroup,\n findLinkGroup: () => findLinkGroup,\n findShortcut: () => findShortcut,\n groupLinks: () => groupLinks,\n headerLevel: () => headerLevel,\n parseFrappeFilters: () => parseFrappeFilters,\n parseWorkspaceContent: () => parseWorkspaceContent,\n stripHtml: () => stripHtml\n});\nmodule.exports = __toCommonJS(parseContent_exports);\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nfunction parseWorkspaceContent(content) {\n if (!content) return [];\n try {\n var parsed = JSON.parse(content);\n if (!Array.isArray(parsed)) return [];\n return parsed.filter(function(block) {\n return !!block && (typeof block === \"undefined\" ? \"undefined\" : _type_of(block)) === \"object\" && typeof block.type === \"string\";\n });\n } catch (unused) {\n return [];\n }\n}\nvar NAMED_ENTITIES = {\n amp: \"&\",\n lt: \"<\",\n gt: \">\",\n quot: '\"',\n apos: \"'\",\n nbsp: \" \"\n};\nfunction stripHtml(html) {\n if (!html) return \"\";\n var withoutTags = html.replace(/<br\\s*\\/?>/gi, \"\\n\").replace(/<[^>]*>/g, \"\");\n return withoutTags.replace(/&(#[xX]?[0-9a-fA-F]+|[a-zA-Z]+);/g, function(match, entity) {\n var _NAMED_ENTITIES_entity_toLowerCase;\n if (entity.startsWith(\"#x\") || entity.startsWith(\"#X\")) {\n var code = Number.parseInt(entity.slice(2), 16);\n return Number.isNaN(code) ? match : String.fromCodePoint(code);\n }\n if (entity.startsWith(\"#\")) {\n var code1 = Number.parseInt(entity.slice(1), 10);\n return Number.isNaN(code1) ? match : String.fromCodePoint(code1);\n }\n return (_NAMED_ENTITIES_entity_toLowerCase = NAMED_ENTITIES[entity.toLowerCase()]) !== null && _NAMED_ENTITIES_entity_toLowerCase !== void 0 ? _NAMED_ENTITIES_entity_toLowerCase : match;\n }).trim();\n}\nfunction headerLevel(html) {\n var match = (html !== null && html !== void 0 ? html : \"\").match(/class=\"[^\"]*\\bh([1-6])\\b[^\"]*\"/);\n if (match) return Number(match[1]);\n return 4;\n}\nfunction groupLinks(links) {\n var groups = [];\n var current;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = (links !== null && links !== void 0 ? links : [])[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var row = _step.value;\n if (row.type === \"Card Break\") {\n if (row.hidden) {\n current = void 0;\n continue;\n }\n current = {\n label: row.label,\n breakRow: row,\n links: []\n };\n groups.push(current);\n } else if (row.type === \"Link\" && current && !row.hidden) {\n current.links.push(row);\n }\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 groups;\n}\nfunction filterLinkGroup(group, query) {\n var needle = query.trim().toLowerCase();\n if (!needle) return group;\n if (group.label.toLowerCase().includes(needle)) return group;\n var links = group.links.filter(function(row) {\n return row.label.toLowerCase().includes(needle);\n });\n return links.length > 0 ? {\n ...group,\n links\n } : void 0;\n}\nfunction collapseLinkRows(links, linkCount, options) {\n var canCollapse = options.collapse && typeof linkCount === \"number\" && linkCount > 0 && links.length > linkCount;\n var shown = canCollapse && !options.expanded ? links.slice(0, linkCount) : links;\n var hiddenCount = canCollapse ? links.length - linkCount : 0;\n return {\n shown,\n hiddenCount,\n showMore: canCollapse && hiddenCount > 0\n };\n}\nfunction parseFrappeFilters(raw) {\n if (!raw) return void 0;\n var parsed;\n try {\n parsed = JSON.parse(raw);\n } catch (unused) {\n return void 0;\n }\n if (Array.isArray(parsed)) {\n var tuples = [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = parsed[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var entry = _step.value;\n if (!Array.isArray(entry)) continue;\n if (entry.length >= 4) {\n tuples.push([\n String(entry[1]),\n String(entry[2]),\n entry[3]\n ]);\n } else if (entry.length === 3) {\n tuples.push([\n String(entry[0]),\n String(entry[1]),\n entry[2]\n ]);\n }\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 tuples.length > 0 ? tuples : void 0;\n }\n if (parsed && (typeof parsed === \"undefined\" ? \"undefined\" : _type_of(parsed)) === \"object\") {\n var tuples1 = [];\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = Object.entries(parsed)[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var [field, value] = _step1.value;\n if (Array.isArray(value) && value.length === 2 && typeof value[0] === \"string\") {\n tuples1.push([\n field,\n value[0],\n value[1]\n ]);\n } else {\n tuples1.push([\n field,\n \"=\",\n 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 return tuples1.length > 0 ? tuples1 : void 0;\n }\n return void 0;\n}\nvar DATA_BLOCK_RANK = {\n number_card: 0,\n chart: 1,\n quick_list: 2\n};\nfunction isDataBlock(block) {\n return block.type in DATA_BLOCK_RANK;\n}\nfunction composeWorkspaceBlocks(blocks) {\n var shortcuts = [];\n var cards = [];\n var text = [];\n var dataBlocks = [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = blocks.entries()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var [index, block] = _step.value;\n if (isDataBlock(block)) {\n dataBlocks.push(block);\n } else if (block.type === \"shortcut\") {\n shortcuts.push(block);\n } else if (block.type === \"card\") {\n cards.push(block);\n } else if (block.type === \"paragraph\") {\n text.push(block);\n } else if (block.type === \"header\") {\n var labelsWidgets = false;\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = blocks.slice(index + 1)[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var following = _step1.value;\n if (following.type === \"header\") break;\n if (following.type === \"paragraph\" || following.type === \"spacer\") continue;\n labelsWidgets = true;\n break;\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 (!labelsWidgets) text.push(block);\n }\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 data = dataBlocks.map(function(block2, index2) {\n return {\n block: block2,\n index: index2\n };\n }).sort(function(a, b) {\n var _DATA_BLOCK_RANK_a_block_type, _DATA_BLOCK_RANK_b_block_type;\n return ((_DATA_BLOCK_RANK_a_block_type = DATA_BLOCK_RANK[a.block.type]) !== null && _DATA_BLOCK_RANK_a_block_type !== void 0 ? _DATA_BLOCK_RANK_a_block_type : 0) - ((_DATA_BLOCK_RANK_b_block_type = DATA_BLOCK_RANK[b.block.type]) !== null && _DATA_BLOCK_RANK_b_block_type !== void 0 ? _DATA_BLOCK_RANK_b_block_type : 0) || a.index - b.index;\n }).map(function(param) {\n var { block: block2 } = param;\n return block2;\n });\n return {\n data,\n shortcuts,\n cards,\n text\n };\n}\nfunction findShortcut(doc, shortcutName) {\n var _doc_shortcuts;\n if (!shortcutName) return void 0;\n return (_doc_shortcuts = doc.shortcuts) === null || _doc_shortcuts === void 0 ? void 0 : _doc_shortcuts.find(function(row) {\n return row.label === shortcutName;\n });\n}\nfunction findLinkGroup(groups, cardName) {\n if (!cardName) return void 0;\n return groups.find(function(group) {\n return group.label === cardName;\n });\n}\n//# sourceMappingURL=parseContent.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":[],"sourcesContent":[],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__copyProps","to","from","except","desc","key","call","get","enumerable","__toCommonJS","mod","value","types_exports","module","exports"],"sources":["types.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\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 types_exports = {};\nmodule.exports = __toCommonJS(types_exports);\n//# sourceMappingURL=types.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,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,IAAIV,iBAAiB,CAACO,IAAI,CAAC,EACrC,IAAI,CAACL,YAAY,CAACS,IAAI,CAACL,EAAE,EAAEI,GAAG,CAAC,IAAIA,GAAG,KAAKF,MAAM,EAC/Cb,SAAS,CAACW,EAAE,EAAEI,GAAG,EAAE;MAAEE,GAAG,EAAEA,CAAA,KAAML,IAAI,CAACG,GAAG,CAAC;MAAEG,UAAU,EAAE,EAAEJ,IAAI,GAAGX,gBAAgB,CAACS,IAAI,EAAEG,GAAG,CAAC,CAAC,IAAID,IAAI,CAACI;IAAW,CAAC,CAAC;EACxH;EACA,OAAOP,EAAE;AACX,CAAC;AACD,IAAIQ,YAAY,GAAIC,GAAG,IAAKV,WAAW,CAACV,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE;EAAEqB,KAAK,EAAE;AAAK,CAAC,CAAC,EAAED,GAAG,CAAC;AAC1F,IAAIE,aAAa,GAAG,CAAC,CAAC;AACtBC,MAAM,CAACC,OAAO,GAAGL,YAAY,CAACG,aAAa,CAAC","ignoreList":[]}
|
|
@@ -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","useDashboardChart_exports","useDashboardChartData","module","exports","import_frappe","require","import_frappe_ui","import_react","_instanceof","left","right","Symbol","hasInstance","callCache","Map","getCall","baseURL","auth","_ref","_ref1","token","type","authConfig","useToken","CallModule","HttpClient","set","CHART_GET_METHOD","chartName","config","useFrappeConfig","series","setSeries","useState","isLoading","setIsLoading","fixtures","error","setError","fetchSeq","useRef","configRef","current","unsupported","runFetch","useCallback","conn"],"sources":["../../../src/workspace/useDashboardChart.ts"],"sourcesContent":[null],"mappings":"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","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","useDashboardChart_exports","useDashboardChartData","module","exports","import_frappe","require","import_frappe_ui","import_react","_instanceof","left","right","Symbol","hasInstance","callCache","Map","getCall","baseURL","auth","_ref","_ref1","token","type","authConfig","useToken","CallModule","HttpClient","set","CHART_GET_METHOD","chartName","config","useFrappeConfig","series","setSeries","useState","isLoading","setIsLoading","fixtures","error","setError","fetchSeq","useRef","configRef","current","unsupported","runFetch","useCallback","conn","seq","Error","res","post","chart_name","refresh","payload","message","err","String","useEffect"],"sources":["useDashboardChart.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 useDashboardChart_exports = {};\n__export(useDashboardChart_exports, {\n useDashboardChartData: () => useDashboardChartData\n});\nmodule.exports = __toCommonJS(useDashboardChart_exports);\nvar import_frappe = require(\"@multiplatform.one/frappe\");\nvar import_frappe_ui = require(\"@multiplatform.one/frappe-ui\");\nvar import_react = require(\"react\");\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}\nvar callCache = /* @__PURE__ */ new Map();\nfunction getCall(baseURL, auth) {\n var _ref, _ref1;\n var key = `${baseURL}:${(_ref = auth === null || auth === void 0 ? void 0 : auth.token) !== null && _ref !== void 0 ? _ref : \"\"}:${(_ref1 = auth === null || auth === void 0 ? void 0 : auth.type) !== null && _ref1 !== void 0 ? _ref1 : \"\"}`;\n var call = callCache.get(key);\n if (!call) {\n var authConfig = auth ? {\n useToken: auth.useToken,\n token: auth.token,\n type: auth.type\n } : void 0;\n call = new import_frappe.CallModule(new import_frappe.HttpClient(baseURL, authConfig));\n callCache.set(key, call);\n }\n return call;\n}\nvar CHART_GET_METHOD = \"frappe.desk.doctype.dashboard_chart.dashboard_chart.get\";\nfunction useDashboardChartData(chartName) {\n var config = (0, import_frappe_ui.useFrappeConfig)();\n var [series, setSeries] = (0, import_react.useState)(void 0);\n var [isLoading, setIsLoading] = (0, import_react.useState)(!!chartName && !(config === null || config === void 0 ? void 0 : config.fixtures));\n var [error, setError] = (0, import_react.useState)(void 0);\n var fetchSeq = (0, import_react.useRef)(0);\n var configRef = (0, import_react.useRef)(config);\n configRef.current = config;\n var unsupported = !!(config === null || config === void 0 ? void 0 : config.fixtures);\n var runFetch = (0, import_react.useCallback)(async function(name) {\n var conn = configRef.current;\n if (conn === null || conn === void 0 ? void 0 : conn.fixtures) return;\n var seq = ++fetchSeq.current;\n setIsLoading(true);\n setError(void 0);\n try {\n if (!(conn === null || conn === void 0 ? void 0 : conn.baseURL)) {\n throw new Error(\"useDashboardChartData requires a FrappeProvider with baseURL\");\n }\n var res = await getCall(conn.baseURL, conn.auth).post(CHART_GET_METHOD, {\n chart_name: name,\n refresh: 1\n });\n if (seq !== fetchSeq.current) return;\n setSeries(res.payload.message);\n } catch (err) {\n if (seq !== fetchSeq.current) return;\n setError(_instanceof(err, Error) ? err : new Error(String(err)));\n } finally {\n if (seq === fetchSeq.current) setIsLoading(false);\n }\n }, []);\n (0, import_react.useEffect)(function() {\n if (!chartName || unsupported) {\n setIsLoading(false);\n return;\n }\n void runFetch(chartName);\n }, [\n chartName,\n unsupported,\n runFetch,\n config === null || config === void 0 ? void 0 : config.baseURL\n ]);\n var refresh = (0, import_react.useCallback)(function() {\n if (chartName) void runFetch(chartName);\n }, [\n chartName,\n runFetch\n ]);\n return {\n series,\n isLoading,\n error,\n unsupported,\n refresh\n };\n}\n//# sourceMappingURL=useDashboardChart.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -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","useWorkspaceDoc_exports","useFrappeDoc","useWorkspaceDoc","module","exports","import_frappe","require","import_frappe_ui","import_react","_instanceof","left","right","Symbol","hasInstance","dbCache","Map","getDb","baseURL","auth","_ref","_ref1","token","type","db","authConfig","useToken","DbModule","HttpClient","set","doctype","config","useFrappeConfig","doc","setDoc","useState","isLoading","setIsLoading","error","setError","fetchSeq","useRef","configRef","current","runFetch","useCallback","docName","conn","seq","result","fixtures","fixtureDoc","getDoc","Error"],"sources":["../../../src/workspace/useWorkspaceDoc.ts"],"sourcesContent":[null],"mappings":"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","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","useWorkspaceDoc_exports","useFrappeDoc","useWorkspaceDoc","module","exports","import_frappe","require","import_frappe_ui","import_react","_instanceof","left","right","Symbol","hasInstance","dbCache","Map","getDb","baseURL","auth","_ref","_ref1","token","type","db","authConfig","useToken","DbModule","HttpClient","set","doctype","config","useFrappeConfig","doc","setDoc","useState","isLoading","setIsLoading","error","setError","fetchSeq","useRef","configRef","current","runFetch","useCallback","docName","conn","seq","result","fixtures","fixtureDoc","getDoc","Error","err","String","useEffect","refresh","isPermissionError","status","workspace"],"sources":["useWorkspaceDoc.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 useWorkspaceDoc_exports = {};\n__export(useWorkspaceDoc_exports, {\n useFrappeDoc: () => useFrappeDoc,\n useWorkspaceDoc: () => useWorkspaceDoc\n});\nmodule.exports = __toCommonJS(useWorkspaceDoc_exports);\nvar import_frappe = require(\"@multiplatform.one/frappe\");\nvar import_frappe_ui = require(\"@multiplatform.one/frappe-ui\");\nvar import_react = require(\"react\");\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}\nvar dbCache = /* @__PURE__ */ new Map();\nfunction getDb(baseURL, auth) {\n var _ref, _ref1;\n var key = `${baseURL}:${(_ref = auth === null || auth === void 0 ? void 0 : auth.token) !== null && _ref !== void 0 ? _ref : \"\"}:${(_ref1 = auth === null || auth === void 0 ? void 0 : auth.type) !== null && _ref1 !== void 0 ? _ref1 : \"\"}`;\n var db = dbCache.get(key);\n if (!db) {\n var authConfig = auth ? {\n useToken: auth.useToken,\n token: auth.token,\n type: auth.type\n } : void 0;\n db = new import_frappe.DbModule(new import_frappe.HttpClient(baseURL, authConfig));\n dbCache.set(key, db);\n }\n return db;\n}\nfunction useFrappeDoc(doctype, name) {\n var config = (0, import_frappe_ui.useFrappeConfig)();\n var [doc, setDoc] = (0, import_react.useState)(void 0);\n var [isLoading, setIsLoading] = (0, import_react.useState)(!!name);\n var [error, setError] = (0, import_react.useState)(void 0);\n var fetchSeq = (0, import_react.useRef)(0);\n var configRef = (0, import_react.useRef)(config);\n configRef.current = config;\n var runFetch = (0, import_react.useCallback)(\n async function(docName) {\n var conn = configRef.current;\n var seq = ++fetchSeq.current;\n setIsLoading(true);\n setError(void 0);\n try {\n var result;\n if (conn === null || conn === void 0 ? void 0 : conn.fixtures) {\n var fixtureDoc = await conn.fixtures.getDoc(doctype, docName);\n if (!fixtureDoc) throw new Error(`${doctype} ${docName} not found`);\n result = fixtureDoc;\n } else if (conn === null || conn === void 0 ? void 0 : conn.baseURL) {\n result = await getDb(conn.baseURL, conn.auth).getDoc(doctype, docName);\n } else {\n throw new Error(\"useFrappeDoc requires a FrappeProvider with baseURL or fixtures\");\n }\n if (seq !== fetchSeq.current) return;\n setDoc(result);\n } catch (err) {\n if (seq !== fetchSeq.current) return;\n setDoc(void 0);\n setError(_instanceof(err, Error) ? err : new Error(String(err)));\n } finally {\n if (seq === fetchSeq.current) setIsLoading(false);\n }\n },\n // doctype is stable per hook usage; config flows through configRef.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n doctype\n ]\n );\n (0, import_react.useEffect)(function() {\n if (!name) {\n setDoc(void 0);\n setIsLoading(false);\n return;\n }\n void runFetch(name);\n }, [\n name,\n runFetch,\n config === null || config === void 0 ? void 0 : config.baseURL,\n config === null || config === void 0 ? void 0 : config.fixtures\n ]);\n var refresh = (0, import_react.useCallback)(function() {\n if (name) void runFetch(name);\n }, [\n name,\n runFetch\n ]);\n var isPermissionError = (error === null || error === void 0 ? void 0 : error.status) === 403;\n return {\n doc,\n isLoading,\n error,\n isPermissionError,\n refresh\n };\n}\nfunction useWorkspaceDoc(workspace) {\n return useFrappeDoc(\"Workspace\", workspace);\n}\n//# sourceMappingURL=useWorkspaceDoc.js.map\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@multiplatform.one/backoffice",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.22.0",
|
|
4
4
|
"description": "Embeddable Frappe desk recreation (backoffice) for the multiplatform.one stack",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"backoffice",
|
|
@@ -71,21 +71,21 @@
|
|
|
71
71
|
"access": "public"
|
|
72
72
|
},
|
|
73
73
|
"dependencies": {
|
|
74
|
-
"@multiplatform.one/components": "7.
|
|
75
|
-
"@multiplatform.one/forms": "7.
|
|
76
|
-
"@multiplatform.one/frappe": "7.
|
|
77
|
-
"@multiplatform.one/frappe-ui": "7.
|
|
78
|
-
"@multiplatform.one/i18n": "7.
|
|
79
|
-
"@multiplatform.one/platform": "7.
|
|
80
|
-
"@multiplatform.one/store": "7.
|
|
81
|
-
"@multiplatform.one/table": "7.
|
|
82
|
-
"@multiplatform.one/theme": "7.
|
|
74
|
+
"@multiplatform.one/components": "7.22.0",
|
|
75
|
+
"@multiplatform.one/forms": "7.22.0",
|
|
76
|
+
"@multiplatform.one/frappe": "7.22.0",
|
|
77
|
+
"@multiplatform.one/frappe-ui": "7.22.0",
|
|
78
|
+
"@multiplatform.one/i18n": "7.22.0",
|
|
79
|
+
"@multiplatform.one/platform": "7.22.0",
|
|
80
|
+
"@multiplatform.one/store": "7.22.0",
|
|
81
|
+
"@multiplatform.one/table": "7.22.0",
|
|
82
|
+
"@multiplatform.one/theme": "7.22.0",
|
|
83
83
|
"@phosphor-icons/react": "^2.1.10",
|
|
84
84
|
"tamagui": "2.7.6"
|
|
85
85
|
},
|
|
86
86
|
"devDependencies": {
|
|
87
|
-
"@multiplatform.one/config": "7.
|
|
88
|
-
"@multiplatform.one/test-utils": "7.
|
|
87
|
+
"@multiplatform.one/config": "7.22.0",
|
|
88
|
+
"@multiplatform.one/test-utils": "7.22.0",
|
|
89
89
|
"@tamagui/build": "2.7.6",
|
|
90
90
|
"@testing-library/react": "^16.3.2",
|
|
91
91
|
"@types/react-dom": "^19.2.3",
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
// DocFormScreen's permission fallback (MPO-390). When docinfo carries no
|
|
2
|
+
// usable permissions (a new record, or a token-auth bench answering
|
|
3
|
+
// {"null": 0}) the screen used to union every role's DocPerm rows, so any
|
|
4
|
+
// reader got an editable form and Save. It now resolves the session's roles.
|
|
5
|
+
import { renderWithProviders } from "@multiplatform.one/test-utils";
|
|
6
|
+
import { act, screen, waitFor } from "@testing-library/react";
|
|
7
|
+
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
8
|
+
import { BackofficeProvider } from "../config/BackofficeProvider";
|
|
9
|
+
import { createMemoryNavigator } from "../navigation/navigator";
|
|
10
|
+
import { DocFormScreen } from "./DocFormScreen";
|
|
11
|
+
|
|
12
|
+
const doctype = "Poke Move";
|
|
13
|
+
|
|
14
|
+
const meta = {
|
|
15
|
+
name: doctype,
|
|
16
|
+
doctype: "DocType",
|
|
17
|
+
title_field: "move_name",
|
|
18
|
+
fields: [{ fieldname: "move_name", fieldtype: "Data", label: "Move Name" }],
|
|
19
|
+
permissions: [
|
|
20
|
+
{ role: "Pokemon Editor", read: 1, write: 1, create: 1, delete: 1 },
|
|
21
|
+
{ role: "Guest", read: 1 },
|
|
22
|
+
],
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
const tackle = {
|
|
26
|
+
name: "a1b2c3",
|
|
27
|
+
doctype,
|
|
28
|
+
owner: "Administrator",
|
|
29
|
+
modified: "2026-09-27 00:00:00.000000",
|
|
30
|
+
docstatus: 0,
|
|
31
|
+
move_name: "tackle",
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
let run = 0;
|
|
35
|
+
let roles: string[] = [];
|
|
36
|
+
let sessionAnswered = false;
|
|
37
|
+
|
|
38
|
+
function json(body: unknown, status = 200) {
|
|
39
|
+
return new Response(JSON.stringify(body), {
|
|
40
|
+
status,
|
|
41
|
+
headers: { "content-type": "application/json" },
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
beforeEach(() => {
|
|
46
|
+
run += 1;
|
|
47
|
+
sessionAnswered = false;
|
|
48
|
+
vi.stubGlobal("fetch", async (input: string | URL | Request) => {
|
|
49
|
+
const url = new URL(String(input instanceof Request ? input.url : input));
|
|
50
|
+
const method = url.pathname.replace(/^\/api\/method\//, "");
|
|
51
|
+
if (method === "frappe.auth.get_logged_user") return json({ message: "user@pokemon.test" });
|
|
52
|
+
if (method === "frappe.core.doctype.user.user.get_roles") {
|
|
53
|
+
sessionAnswered = true;
|
|
54
|
+
return json({ message: roles });
|
|
55
|
+
}
|
|
56
|
+
if (method === "frappe.desk.form.load.getdoctype") return json({ docs: [meta] });
|
|
57
|
+
if (method === "frappe.desk.form.load.getdoc") {
|
|
58
|
+
return json({ docs: [tackle], docinfo: { permissions: { null: 0 } } });
|
|
59
|
+
}
|
|
60
|
+
if (method === "frappe.desk.form.load.get_docinfo") {
|
|
61
|
+
return json({ docinfo: { permissions: { null: 0 } } });
|
|
62
|
+
}
|
|
63
|
+
const resource = `/api/resource/${encodeURIComponent(doctype)}`;
|
|
64
|
+
if (url.pathname === `${resource}/a1b2c3`) return json({ data: tackle });
|
|
65
|
+
if (url.pathname === resource) return json({ data: [tackle] });
|
|
66
|
+
return json({ data: [], message: [] });
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
afterEach(() => {
|
|
71
|
+
vi.restoreAllMocks();
|
|
72
|
+
vi.unstubAllGlobals();
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
function renderForm(name: string) {
|
|
76
|
+
return renderWithProviders(
|
|
77
|
+
<BackofficeProvider
|
|
78
|
+
frappe={{ baseURL: `https://form-rights-${run}.spec.test` }}
|
|
79
|
+
navigation={createMemoryNavigator("/backoffice")}
|
|
80
|
+
>
|
|
81
|
+
<DocFormScreen doctype={doctype} name={name} />
|
|
82
|
+
</BackofficeProvider>,
|
|
83
|
+
);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
function saveButton(): HTMLElement | undefined {
|
|
87
|
+
return Array.from(document.querySelectorAll('[role="button"], button')).find(
|
|
88
|
+
(node) => node.textContent?.trim() === "Save",
|
|
89
|
+
) as HTMLElement | undefined;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
function moveNameInput(): HTMLInputElement {
|
|
93
|
+
const field = screen.getByLabelText("Move Name", { exact: false });
|
|
94
|
+
return (
|
|
95
|
+
field instanceof HTMLInputElement ? field : field.querySelector("input")
|
|
96
|
+
) as HTMLInputElement;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
async function settle() {
|
|
100
|
+
await waitFor(() => expect(sessionAnswered).toBe(true), { timeout: 5000 });
|
|
101
|
+
await act(async () => {
|
|
102
|
+
await new Promise((resolve) => setTimeout(resolve, 50));
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
describe("DocFormScreen rights without docinfo permissions", () => {
|
|
107
|
+
it("lets an editor save a new record", async () => {
|
|
108
|
+
roles = ["Pokemon Editor", "Guest"];
|
|
109
|
+
renderForm("new");
|
|
110
|
+
await waitFor(() => expect(saveButton()).toBeTruthy(), { timeout: 5000 });
|
|
111
|
+
expect(moveNameInput().disabled || moveNameInput().readOnly).toBe(false);
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
it("gives a reader a read-only new record with no Save", async () => {
|
|
115
|
+
roles = ["Guest"];
|
|
116
|
+
renderForm("new");
|
|
117
|
+
await waitFor(() => expect(moveNameInput()).toBeTruthy(), { timeout: 5000 });
|
|
118
|
+
await settle();
|
|
119
|
+
expect(saveButton()).toBeUndefined();
|
|
120
|
+
expect(moveNameInput().disabled || moveNameInput().readOnly).toBe(true);
|
|
121
|
+
});
|
|
122
|
+
|
|
123
|
+
it("gives a reader an existing record read-only", async () => {
|
|
124
|
+
roles = ["Guest"];
|
|
125
|
+
renderForm("a1b2c3");
|
|
126
|
+
await waitFor(() => expect(moveNameInput().value).toBe("tackle"), { timeout: 5000 });
|
|
127
|
+
await settle();
|
|
128
|
+
expect(moveNameInput().disabled || moveNameInput().readOnly).toBe(true);
|
|
129
|
+
});
|
|
130
|
+
});
|
|
@@ -30,7 +30,12 @@ import {
|
|
|
30
30
|
type TabsItem,
|
|
31
31
|
} from "@multiplatform.one/components";
|
|
32
32
|
import { Input } from "@multiplatform.one/forms";
|
|
33
|
-
import {
|
|
33
|
+
import {
|
|
34
|
+
SchemaForm,
|
|
35
|
+
sessionDocRights,
|
|
36
|
+
useFrappeConfig,
|
|
37
|
+
type DocShareGrant,
|
|
38
|
+
} from "@multiplatform.one/frappe-ui";
|
|
34
39
|
import { useLayoutSizeClass, useResolvedKnobs } from "@multiplatform.one/theme";
|
|
35
40
|
import { ListBulletsIcon } from "@phosphor-icons/react";
|
|
36
41
|
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
@@ -222,10 +227,14 @@ export function DocFormScreen({
|
|
|
222
227
|
}, [modifiedStamp, docName, doctype, reloadDocinfo]);
|
|
223
228
|
|
|
224
229
|
// -----------------------------------------------------------------------
|
|
225
|
-
// Permissions: per-doc flags from docinfo when usable, else the
|
|
226
|
-
//
|
|
227
|
-
//
|
|
230
|
+
// Permissions: per-doc flags from docinfo when usable, else the session's
|
|
231
|
+
// roles against meta's DocPerm rows (sessionDocRights). Fixture mode has no
|
|
232
|
+
// session, so it keeps the union of every role's rows.
|
|
228
233
|
// -----------------------------------------------------------------------
|
|
234
|
+
const { roles, user: sessionUser } = useUserRoles();
|
|
235
|
+
const fixtureMode = Boolean(config?.fixtures);
|
|
236
|
+
const recordOwner =
|
|
237
|
+
!isCreate && typeof engine.baseline?.owner === "string" ? engine.baseline.owner : undefined;
|
|
229
238
|
const perms = useMemo(() => {
|
|
230
239
|
const docPerms = normalizeDocPermissions(
|
|
231
240
|
docinfo?.permissions as Record<string, number> | undefined,
|
|
@@ -242,6 +251,26 @@ export function DocFormScreen({
|
|
|
242
251
|
print: !!docPerms.print,
|
|
243
252
|
};
|
|
244
253
|
}
|
|
254
|
+
if (!fixtureMode) {
|
|
255
|
+
const rights = sessionDocRights({
|
|
256
|
+
fixtures: false,
|
|
257
|
+
meta,
|
|
258
|
+
roles,
|
|
259
|
+
user: sessionUser,
|
|
260
|
+
owner: recordOwner,
|
|
261
|
+
shares: docinfo?.shared as DocShareGrant[] | undefined,
|
|
262
|
+
});
|
|
263
|
+
return {
|
|
264
|
+
write: rights.write,
|
|
265
|
+
create: rights.create,
|
|
266
|
+
delete: rights.delete,
|
|
267
|
+
submit: rights.submit,
|
|
268
|
+
cancel: rights.cancel,
|
|
269
|
+
amend: rights.amend,
|
|
270
|
+
email: rights.email,
|
|
271
|
+
print: rights.print,
|
|
272
|
+
};
|
|
273
|
+
}
|
|
245
274
|
const rules = meta?.permissions ?? [];
|
|
246
275
|
const anyRole = (key: keyof (typeof rules)[number]) =>
|
|
247
276
|
rules.some((rule) => !rule.permlevel && !!rule[key]);
|
|
@@ -255,7 +284,7 @@ export function DocFormScreen({
|
|
|
255
284
|
email: rules.length === 0 || anyRole("email"),
|
|
256
285
|
print: rules.length === 0 || anyRole("print"),
|
|
257
286
|
};
|
|
258
|
-
}, [docinfo?.permissions, meta
|
|
287
|
+
}, [docinfo?.permissions, docinfo?.shared, meta, fixtureMode, roles, sessionUser, recordOwner]);
|
|
259
288
|
|
|
260
289
|
const isSubmittable = !!meta?.is_submittable;
|
|
261
290
|
const formReadOnly =
|
|
@@ -270,7 +299,6 @@ export function DocFormScreen({
|
|
|
270
299
|
// -----------------------------------------------------------------------
|
|
271
300
|
// Permlevel matrix: session roles × meta.permissions (desk perm.js). Roles
|
|
272
301
|
// stay undefined in fixture mode → coarse permlevel>0 read-only fallback.
|
|
273
|
-
const { roles } = useUserRoles();
|
|
274
302
|
const permLevels = useMemo(
|
|
275
303
|
() => buildPermLevelMatrix(meta?.permissions, roles),
|
|
276
304
|
[meta?.permissions, roles],
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
// The backoffice list offers New and the write/delete bulk actions only as
|
|
2
|
+
// far as the session's roles grant them on the doctype (MPO-390), measured
|
|
3
|
+
// against a live-shaped bench: getdoctype for meta, the session RPCs for the
|
|
4
|
+
// user and roles, and empty answers for everything else the list asks.
|
|
5
|
+
import { renderWithProviders } from "@multiplatform.one/test-utils";
|
|
6
|
+
import { act, fireEvent, screen, waitFor } from "@testing-library/react";
|
|
7
|
+
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
8
|
+
import { BackofficeProvider } from "../config/BackofficeProvider";
|
|
9
|
+
import { createMemoryNavigator } from "../navigation/navigator";
|
|
10
|
+
import { DoctypeListScreen } from "./DoctypeListScreen";
|
|
11
|
+
|
|
12
|
+
const doctype = "Poke Move";
|
|
13
|
+
|
|
14
|
+
const meta = {
|
|
15
|
+
name: doctype,
|
|
16
|
+
doctype: "DocType",
|
|
17
|
+
title_field: "move_name",
|
|
18
|
+
fields: [{ fieldname: "move_name", fieldtype: "Data", label: "Move Name", in_list_view: 1 }],
|
|
19
|
+
permissions: [
|
|
20
|
+
{ role: "Pokemon Editor", read: 1, write: 1, create: 1, delete: 1 },
|
|
21
|
+
{ role: "Guest", read: 1 },
|
|
22
|
+
],
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
let run = 0;
|
|
26
|
+
let roles: string[] = [];
|
|
27
|
+
let sessionAnswered = false;
|
|
28
|
+
|
|
29
|
+
function json(body: unknown, status = 200) {
|
|
30
|
+
return new Response(JSON.stringify(body), {
|
|
31
|
+
status,
|
|
32
|
+
headers: { "content-type": "application/json" },
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
beforeEach(() => {
|
|
37
|
+
run += 1;
|
|
38
|
+
sessionAnswered = false;
|
|
39
|
+
vi.stubGlobal("fetch", async (input: string | URL | Request) => {
|
|
40
|
+
const url = new URL(String(input instanceof Request ? input.url : input));
|
|
41
|
+
const method = url.pathname.replace(/^\/api\/method\//, "");
|
|
42
|
+
if (method === "frappe.auth.get_logged_user") return json({ message: "user@pokemon.test" });
|
|
43
|
+
if (method === "frappe.core.doctype.user.user.get_roles") {
|
|
44
|
+
sessionAnswered = true;
|
|
45
|
+
return json({ message: roles });
|
|
46
|
+
}
|
|
47
|
+
if (method === "frappe.desk.form.load.getdoctype") return json({ docs: [meta] });
|
|
48
|
+
if (method === "frappe.client.get_count") return json({ message: 1 });
|
|
49
|
+
if (url.pathname === `/api/resource/${encodeURIComponent(doctype)}`) {
|
|
50
|
+
return json({ data: [{ name: "a1b2c3", doctype, move_name: "tackle" }] });
|
|
51
|
+
}
|
|
52
|
+
return json({ data: [], message: [] });
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
afterEach(() => {
|
|
57
|
+
vi.restoreAllMocks();
|
|
58
|
+
vi.unstubAllGlobals();
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
function renderList() {
|
|
62
|
+
return renderWithProviders(
|
|
63
|
+
<BackofficeProvider
|
|
64
|
+
frappe={{ baseURL: `https://list-rights-${run}.spec.test` }}
|
|
65
|
+
navigation={createMemoryNavigator("/backoffice")}
|
|
66
|
+
>
|
|
67
|
+
<DoctypeListScreen doctype={doctype} />
|
|
68
|
+
</BackofficeProvider>,
|
|
69
|
+
);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
async function settle() {
|
|
73
|
+
await waitFor(() => expect(sessionAnswered).toBe(true));
|
|
74
|
+
await act(async () => {
|
|
75
|
+
await new Promise((resolve) => setTimeout(resolve, 50));
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
async function selectRow() {
|
|
80
|
+
const checkbox = await waitFor(() => screen.getAllByLabelText(/^Select row a1b2c3$/)[0], {
|
|
81
|
+
timeout: 5000,
|
|
82
|
+
});
|
|
83
|
+
fireEvent.click(checkbox as HTMLElement);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
function bulkActionLabels(): string[] {
|
|
87
|
+
return Array.from(document.querySelectorAll('[role="button"], button'), (node) =>
|
|
88
|
+
node.textContent?.trim(),
|
|
89
|
+
).filter((label): label is string => label === "Bulk Edit" || label === "Delete");
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
describe("DoctypeListScreen rights", () => {
|
|
93
|
+
it("offers an editor New, Bulk Edit and Delete", async () => {
|
|
94
|
+
roles = ["Pokemon Editor", "Guest"];
|
|
95
|
+
renderList();
|
|
96
|
+
await waitFor(() => expect(screen.getByLabelText(`New ${doctype}`)).toBeTruthy());
|
|
97
|
+
await selectRow();
|
|
98
|
+
await waitFor(() => expect(bulkActionLabels()).toEqual(["Bulk Edit", "Delete"]));
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
it("offers a reader no New, no Bulk Edit and no Delete", async () => {
|
|
102
|
+
roles = ["Guest"];
|
|
103
|
+
renderList();
|
|
104
|
+
await waitFor(() => expect(screen.getByRole("heading", { name: doctype })).toBeTruthy());
|
|
105
|
+
await settle();
|
|
106
|
+
expect(screen.queryByLabelText(`New ${doctype}`)).toBeNull();
|
|
107
|
+
await selectRow();
|
|
108
|
+
await act(async () => {
|
|
109
|
+
await new Promise((resolve) => setTimeout(resolve, 50));
|
|
110
|
+
});
|
|
111
|
+
expect(bulkActionLabels()).toEqual([]);
|
|
112
|
+
});
|
|
113
|
+
});
|