@cccsaurora/howler-ui 3.1.0-dev.1466 → 3.1.0-dev.1602
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/api/action/execute.d.ts +1 -1
- package/api/action/index.d.ts +10 -6
- package/api/action/index.js +5 -9
- package/api/action/operations.js +2 -2
- package/api/analytic/comments/index.d.ts +4 -6
- package/api/analytic/comments/react.d.ts +2 -2
- package/api/analytic/favourite.d.ts +2 -4
- package/api/analytic/index.d.ts +7 -4
- package/api/analytic/index.js +2 -2
- package/api/analytic/notebooks/index.d.ts +2 -4
- package/api/analytic/owner.d.ts +1 -1
- package/api/auth/apikey.d.ts +2 -2
- package/api/auth/login.d.ts +2 -2
- package/api/configs/index.d.ts +1 -1
- package/api/dossier.d.ts +16 -0
- package/api/{dossier/index.js → dossier.js} +6 -4
- package/api/help.d.ts +2 -2
- package/api/hit/assign.d.ts +6 -2
- package/api/hit/comments/index.d.ts +4 -6
- package/api/hit/comments/react.d.ts +2 -2
- package/api/hit/index.d.ts +3 -8
- package/api/hit/labels.d.ts +2 -2
- package/api/hit/overwrite.d.ts +1 -1
- package/api/hit/transition.d.ts +1 -1
- package/api/index.d.ts +6 -6
- package/api/index.js +7 -6
- package/api/notebook/environments.d.ts +1 -1
- package/api/notebook/index.d.ts +1 -1
- package/api/overview/index.d.ts +4 -4
- package/api/search/action.d.ts +1 -1
- package/api/search/analytic.d.ts +1 -1
- package/api/search/case.d.ts +1 -1
- package/api/search/count/hit.d.ts +1 -1
- package/api/search/dossier.d.ts +1 -1
- package/api/search/eql/hit.d.ts +1 -1
- package/api/search/explain/hit.d.ts +1 -1
- package/api/search/facet/hit.d.ts +1 -1
- package/api/search/fields/hit.js +1 -2
- package/api/search/fields/user.js +2 -4
- package/api/search/grouped/hit.d.ts +1 -1
- package/api/search/grouped/user.js +3 -0
- package/api/search/histogram/hit.d.ts +1 -1
- package/api/search/hit.d.ts +1 -1
- package/api/search/overview.d.ts +1 -1
- package/api/search/sigma/hit.d.ts +1 -1
- package/api/search/template.d.ts +1 -1
- package/api/search/user.d.ts +30 -2
- package/api/search/user.js +3 -0
- package/api/search/view.d.ts +1 -1
- package/api/socket/viewers.d.ts +1 -1
- package/api/socket/viewers.js +1 -1
- package/api/template/index.d.ts +3 -3
- package/api/template/index.js +2 -2
- package/api/user/avatar/index.d.ts +1 -1
- package/api/user/groups.d.ts +1 -1
- package/api/user/index.d.ts +2 -2
- package/api/user/whoami.d.ts +1 -1
- package/api/utils/createPermissionsApi.d.ts +10 -0
- package/api/utils/createPermissionsApi.js +10 -0
- package/api/v2/case/index.d.ts +4 -4
- package/api/v2/case/items.d.ts +3 -3
- package/api/v2/case/rules.d.ts +3 -3
- package/api/v2/fuzzy.d.ts +1 -1
- package/api/v2/search/facet.d.ts +1 -1
- package/api/v2/search/index.d.ts +1 -1
- package/api/view/favourite.d.ts +2 -4
- package/api/view/index.d.ts +9 -5
- package/api/view/index.js +3 -1
- package/branding/AppBrand.d.ts +2 -2
- package/branding/AppBrand.js +4 -6
- package/components/app/App.js +248 -51
- package/components/app/AppContainer.js +1 -1
- package/components/app/drawers/ApiKeyDrawer.js +13 -5
- package/components/app/drawers/AssignUserDrawer.js +11 -4
- package/components/app/hooks/useMatchers.d.ts +3 -3
- package/components/app/hooks/useMatchers.js +12 -12
- package/components/app/hooks/useMatchers.test.js +15 -14
- package/components/app/hooks/useTitle.js +8 -7
- package/components/app/providers/AnalyticProvider.d.ts +1 -1
- package/components/app/providers/AnalyticProvider.js +7 -4
- package/components/app/providers/ApiConfigProvider.d.ts +2 -1
- package/components/app/providers/ApiConfigProvider.js +12 -10
- package/components/app/providers/AppDrawerProvider.js +2 -2
- package/components/app/providers/AvatarProvider.js +18 -11
- package/components/app/providers/FavouritesProvider.js +56 -86
- package/components/app/providers/FieldProvider.js +1 -1
- package/components/app/providers/GridColumnsProvider.d.ts +1 -1
- package/components/app/providers/GridColumnsProvider.js +17 -4
- package/components/app/providers/GridColumnsProvider.test.js +2 -1
- package/components/app/providers/LocalStorageProvider.d.ts +2 -2
- package/components/app/providers/LocalStorageProvider.js +4 -3
- package/components/app/providers/ModalProvider.js +8 -1
- package/components/app/providers/OverviewProvider.js +10 -2
- package/components/app/providers/ParameterProvider.d.ts +7 -7
- package/components/app/providers/ParameterProvider.js +42 -5
- package/components/app/providers/ParameterProvider.test.js +1 -0
- package/components/app/providers/RecordProvider.js +7 -1
- package/components/app/providers/RecordSearchProvider.d.ts +1 -2
- package/components/app/providers/RecordSearchProvider.js +32 -23
- package/components/app/providers/RecordSearchProvider.test.js +2 -1
- package/components/app/providers/SearchResponseProvider.d.ts +9 -6
- package/components/app/providers/SearchResponseProvider.js +37 -19
- package/components/app/providers/SearchResponseProvider.test.js +37 -11
- package/components/app/providers/SocketProvider.js +6 -4
- package/components/app/providers/UserListProvider.d.ts +1 -1
- package/components/app/providers/ViewProvider.d.ts +2 -2
- package/components/app/providers/ViewProvider.js +22 -12
- package/components/app/providers/ViewProvider.test.js +2 -2
- package/components/app/providers/contextUtils.d.ts +1 -0
- package/components/app/providers/contextUtils.js +3 -0
- package/components/elements/Comment.d.ts +1 -1
- package/components/elements/Comment.js +11 -9
- package/components/elements/ContextMenu.js +1 -1
- package/components/elements/ContextMenu.test.js +2 -2
- package/components/elements/EditRow.d.ts +9 -4
- package/components/elements/EditRow.js +5 -4
- package/components/elements/MarkdownEditor.js +1 -1
- package/components/elements/MembershipManagement.test.js +178 -0
- package/components/elements/ObjectDetails.js +6 -6
- package/components/elements/ThemedEditor.js +17 -17
- package/components/elements/UserList.d.ts +2 -0
- package/components/elements/UserList.js +26 -18
- package/components/elements/UserList.test.js +24 -1
- package/components/elements/addons/buttons/CustomButton.d.ts +1 -1
- package/components/elements/addons/buttons/CustomButton.js +2 -2
- package/components/elements/addons/buttons/CustomIconButton.d.ts +1 -1
- package/components/elements/addons/buttons/CustomIconButton.js +3 -3
- package/components/elements/addons/buttons/index.d.ts +1 -1
- package/components/elements/addons/layout/FlexOne.d.ts +2 -2
- package/components/elements/addons/layout/FlexOne.test.js +1 -0
- package/components/elements/addons/layout/FlexPort.d.ts +1 -1
- package/components/elements/addons/layout/FlexPort.js +9 -2
- package/components/elements/addons/layout/FlexVertical.d.ts +2 -2
- package/components/elements/addons/layout/FlexVertical.js +1 -1
- package/components/elements/addons/layout/vsbox/VSBox.d.ts +2 -2
- package/components/elements/addons/layout/vsbox/VSBox.js +5 -4
- package/components/elements/addons/layout/vsbox/VSBoxElement.d.ts +1 -1
- package/components/elements/addons/layout/vsbox/VSBoxHeader.js +4 -3
- package/components/elements/addons/lists/TuiList.d.ts +2 -2
- package/components/elements/addons/lists/TuiList.js +1 -1
- package/components/elements/addons/lists/TuiListBase.d.ts +2 -2
- package/components/elements/addons/lists/TuiListBase.js +4 -4
- package/components/elements/addons/lists/TuiListElement.d.ts +2 -2
- package/components/elements/addons/lists/TuiListElement.js +2 -2
- package/components/elements/addons/lists/TuiListMenu.d.ts +13 -37
- package/components/elements/addons/lists/TuiListMenu.js +8 -8
- package/components/elements/addons/lists/TuiListProvider.d.ts +2 -2
- package/components/elements/addons/lists/TuiListProvider.js +4 -4
- package/components/elements/addons/lists/hooks/useTuiListKeyboard.js +1 -1
- package/components/elements/addons/lists/table/TuiTable.d.ts +1 -1
- package/components/elements/addons/lists/table/TuiTable.js +1 -1
- package/components/elements/addons/lists/table/TuiTableBody.d.ts +1 -1
- package/components/elements/addons/lists/table/TuiTableBody.js +1 -1
- package/components/elements/addons/lists/table/TuiTableHead.d.ts +1 -1
- package/components/elements/addons/lists/table/TuiTableHead.js +1 -1
- package/components/elements/addons/lists/table/TuiTableHeader.d.ts +1 -1
- package/components/elements/addons/lists/table/TuiTableLayout.js +1 -1
- package/components/elements/addons/search/SearchPagination.d.ts +1 -1
- package/components/elements/addons/search/SearchPagination.test.js +1 -1
- package/components/elements/addons/search/SearchTotal.d.ts +1 -1
- package/components/elements/addons/search/phrase/Phrase.d.ts +2 -2
- package/components/elements/addons/search/phrase/Phrase.js +7 -7
- package/components/elements/addons/search/phrase/PhraseConsumer.d.ts +2 -2
- package/components/elements/addons/search/phrase/PhraseLexer.d.ts +1 -1
- package/components/elements/addons/search/phrase/PhraseLexer.js +6 -6
- package/components/elements/addons/search/phrase/WordLexer.test.js +1 -0
- package/components/elements/addons/search/phrase/index.d.ts +2 -2
- package/components/elements/addons/search/phrase/index.js +3 -2
- package/components/elements/addons/search/phrase/word/consumers/WhitespaceConsumer.d.ts +1 -1
- package/components/elements/addons/search/phrase/word/consumers/WhitespaceConsumer.js +1 -1
- package/components/elements/addons/search/phrase/word/consumers/WordConsumer.d.ts +1 -1
- package/components/elements/case/CaseCard.js +10 -4
- package/components/elements/case/CasePreview.js +1 -1
- package/components/elements/display/ActionButton.js +3 -1
- package/components/elements/display/ChipPopper.js +1 -1
- package/components/elements/display/ChipPopper.test.js +1 -0
- package/components/elements/display/Classification.js +6 -5
- package/components/elements/display/ClassificationChip.d.ts +2 -4
- package/components/elements/display/ClassificationChip.js +5 -3
- package/components/elements/display/DocumentationButton.js +1 -1
- package/components/elements/display/DocumentationButton.test.js +1 -1
- package/components/elements/display/HandlebarsMarkdown.js +2 -2
- package/components/elements/display/HowlerAvatar.d.ts +1 -0
- package/components/elements/display/HowlerAvatar.js +5 -4
- package/components/elements/display/HowlerAvatarHeader.js +2 -2
- package/components/elements/display/Image.test.js +1 -0
- package/components/elements/display/ItemManager.d.ts +6 -6
- package/components/elements/display/ItemManager.js +1 -1
- package/components/elements/display/Markdown.js +9 -3
- package/components/elements/display/Modal.js +3 -3
- package/components/elements/display/QueryResultText.js +1 -1
- package/components/elements/display/TextDivider.test.js +1 -0
- package/components/elements/display/TypingIndicator.d.ts +1 -1
- package/components/elements/display/UserPageWrapper.js +2 -2
- package/components/elements/display/handlebars/helpers.js +1 -1
- package/components/elements/display/json/JSONViewer.js +2 -2
- package/components/elements/display/markdownPlugins/tabs.js +4 -0
- package/components/elements/display/modals/CreateActionModal.js +1 -1
- package/components/elements/display/modals/RationaleModal.js +1 -2
- package/components/elements/display/modals/RationaleModal.test.js +9 -5
- package/components/elements/event/EventPreview.js +1 -1
- package/components/elements/hit/HitActions.js +5 -7
- package/components/elements/hit/HitBanner.js +4 -16
- package/components/elements/hit/HitBanner.test.js +11 -20
- package/components/elements/hit/HitLabels.js +23 -13
- package/components/elements/hit/HitLinks.js +4 -4
- package/components/elements/hit/HitNotebooks.js +28 -10
- package/components/elements/hit/HitOutline.js +9 -15
- package/components/elements/hit/HitOutline.test.js +5 -5
- package/components/elements/hit/HitOverview.js +3 -3
- package/components/elements/hit/HitPreview.d.ts +1 -1
- package/components/elements/hit/HitPreview.js +6 -7
- package/components/elements/hit/HitSummary.js +8 -8
- package/components/elements/hit/PivotTooltip.js +1 -1
- package/components/elements/hit/actions/ButtonActions.js +2 -2
- package/components/elements/hit/actions/DropdownActions.js +4 -4
- package/components/elements/hit/aggregate/HitGraph.js +28 -11
- package/components/elements/hit/elements/AnalyticLink.js +2 -2
- package/components/elements/hit/elements/AnalyticLink.test.js +1 -1
- package/components/elements/hit/elements/Assigned.js +1 -1
- package/components/elements/hit/elements/Assigned.test.js +1 -1
- package/components/elements/hit/elements/EscalationChip.js +2 -2
- package/components/elements/hit/elements/HitTimestamp.js +2 -2
- package/components/elements/hit/grid/AddColumnModal.js +2 -2
- package/components/elements/hit/grid/ColumnHeader.js +1 -1
- package/components/elements/hit/grid/RecordRow.js +1 -1
- package/components/elements/hit/grid/RecordTable.d.ts +4 -3
- package/components/elements/hit/grid/RecordTable.js +6 -6
- package/components/elements/hit/related/PivotLink.js +2 -2
- package/components/elements/hit/related/RelatedIcon.js +2 -2
- package/components/elements/hit/related/RelatedLink.js +1 -1
- package/components/elements/hit/related/RelatedRecords.js +1 -1
- package/components/elements/membership/Members.d.ts +6 -0
- package/components/elements/membership/Members.js +14 -0
- package/components/elements/membership/MembershipManagement.d.ts +9 -0
- package/components/elements/membership/MembershipManagement.js +119 -0
- package/components/elements/membership/types.d.ts +7 -0
- package/components/elements/membership/utils.d.ts +2 -0
- package/components/elements/membership/utils.js +6 -0
- package/components/elements/record/RecordComments.js +16 -10
- package/components/elements/record/RecordContextMenu.d.ts +2 -2
- package/components/elements/record/RecordContextMenu.js +11 -5
- package/components/elements/record/RecordContextMenu.test.js +14 -6
- package/components/elements/record/RecordRelated.js +2 -2
- package/components/elements/search/FuzzySearchBar.js +1 -1
- package/components/elements/view/LayoutToggle.d.ts +1 -1
- package/components/elements/view/ViewTitle.js +3 -4
- package/components/hooks/useHitActions.d.ts +1 -1
- package/components/hooks/useHitActions.js +25 -15
- package/components/hooks/useLocalStorage.d.ts +1 -1
- package/components/hooks/useLocalStorage.js +1 -1
- package/components/hooks/useLocalStorageItem.d.ts +11 -1
- package/components/hooks/useLocalStorageItem.js +7 -5
- package/components/hooks/useLocalStorageItem.test.js +23 -0
- package/components/hooks/useMyAccessibility.d.ts +7 -0
- package/components/hooks/useMyAccessibility.js +21 -0
- package/components/hooks/useMyApi.d.ts +1 -1
- package/components/hooks/useMyApi.js +4 -4
- package/components/hooks/useMyChart.d.ts +46 -48
- package/components/hooks/useMyChart.js +30 -9
- package/components/hooks/useMyCookies.d.ts +3 -0
- package/components/hooks/useMyCookies.js +8 -0
- package/components/hooks/useMyLocalStorage.d.ts +8 -2
- package/components/hooks/useMyLocalStorage.js +1 -1
- package/components/hooks/useMyPreferences.d.ts +1 -1
- package/components/hooks/useMyPreferences.js +93 -127
- package/components/hooks/useMyRouter.d.ts +2 -0
- package/components/hooks/useMyRouter.js +24 -0
- package/components/hooks/useMySearch.d.ts +1 -1
- package/components/hooks/useMySearch.js +17 -7
- package/components/hooks/useMySnackbar.js +1 -1
- package/components/hooks/useMyTheme.d.ts +1 -1
- package/components/hooks/useMyTheme.js +13 -8
- package/components/hooks/useMyTheme.test.js +11 -6
- package/components/hooks/useMyUser.d.ts +1 -1
- package/components/hooks/useMyUser.js +6 -5
- package/components/hooks/useMyUserFunctions.d.ts +2 -2
- package/components/hooks/useMyUserFunctions.js +14 -10
- package/components/hooks/useMyUserList.d.ts +1 -1
- package/components/hooks/useMyUtils.js +1 -1
- package/components/hooks/useParamState.js +5 -3
- package/components/hooks/useParamState.test.js +1 -1
- package/components/hooks/useRecordSelection.d.ts +4 -3
- package/components/hooks/useRecordSelection.js +5 -5
- package/components/hooks/useScrollRestoration.js +3 -3
- package/components/logins/Login.d.ts +1 -1
- package/components/logins/Login.js +4 -6
- package/components/logins/auth/OAuthLogin.js +1 -1
- package/components/logins/auth/UserPassLogin.d.ts +1 -1
- package/components/logins/hooks/useLogin.js +10 -6
- package/components/routes/403.js +1 -1
- package/components/routes/403.test.js +7 -3
- package/components/routes/404.js +1 -1
- package/components/routes/404.test.js +7 -3
- package/components/routes/ErrorBoundary.d.ts +2 -2
- package/components/routes/ErrorBoundary.js +2 -2
- package/components/routes/ErrorBoundary.test.js +1 -4
- package/components/routes/ErrorOccured.js +1 -1
- package/components/routes/ErrorOccured.test.js +7 -3
- package/components/routes/Logout.js +3 -4
- package/components/routes/Logout.test.js +12 -11
- package/components/routes/action/edit/ActionEditor.js +38 -30
- package/components/routes/action/shared/ActionReportDisplay.js +1 -1
- package/components/routes/action/shared/OperationEntry.js +2 -2
- package/components/routes/action/shared/OperationStep.js +12 -10
- package/components/routes/action/useMyActionFunctions.d.ts +3 -3
- package/components/routes/action/useMyActionFunctions.js +13 -13
- package/components/routes/action/view/ActionDetails.d.ts +1 -1
- package/components/routes/action/view/ActionDetails.js +46 -26
- package/components/routes/action/view/ActionSearch.js +11 -10
- package/components/routes/action/view/Integrations.js +2 -2
- package/components/routes/action/view/markdown/integrations.en.md.js +1 -1
- package/components/routes/action/view/markdown/integrations.fr.md.js +1 -1
- package/components/routes/admin/users/UserEditor.js +21 -8
- package/components/routes/admin/users/UserSearch.js +10 -9
- package/components/routes/advanced/QueryBuilder.js +17 -11
- package/components/routes/advanced/luceneCompletionProvider.js +42 -21
- package/components/routes/analytics/AnalyticComments.js +19 -14
- package/components/routes/analytics/AnalyticDetails.d.ts +1 -1
- package/components/routes/analytics/AnalyticDetails.js +20 -16
- package/components/routes/analytics/AnalyticHitComments.js +13 -6
- package/components/routes/analytics/AnalyticHitComments.test.js +5 -4
- package/components/routes/analytics/AnalyticNotebooks.js +5 -5
- package/components/routes/analytics/AnalyticOverview.js +28 -15
- package/components/routes/analytics/AnalyticOverviews.js +2 -2
- package/components/routes/analytics/AnalyticSearch.js +11 -10
- package/components/routes/analytics/AnalyticTemplates.js +3 -3
- package/components/routes/analytics/TriageSettings.d.ts +1 -1
- package/components/routes/analytics/TriageSettings.js +1 -1
- package/components/routes/analytics/widgets/Assessment.js +1 -1
- package/components/routes/analytics/widgets/Created.js +9 -9
- package/components/routes/analytics/widgets/Escalation.js +3 -3
- package/components/routes/analytics/widgets/Stacked.js +5 -5
- package/components/routes/analytics/widgets/Status.js +2 -2
- package/components/routes/cases/CaseViewer.js +1 -1
- package/components/routes/cases/CaseViewer.test.js +2 -2
- package/components/routes/cases/Cases.d.ts +1 -1
- package/components/routes/cases/Cases.js +8 -7
- package/components/routes/cases/constants.d.ts +3 -3
- package/components/routes/cases/detail/AlertPanel.js +1 -1
- package/components/routes/cases/detail/AlertPanel.test.js +4 -6
- package/components/routes/cases/detail/CaseDashboard.js +8 -4
- package/components/routes/cases/detail/CaseDashboard.test.js +2 -2
- package/components/routes/cases/detail/CaseDetails.js +7 -2
- package/components/routes/cases/detail/CaseDetails.test.js +1 -1
- package/components/routes/cases/detail/CaseObservables.js +5 -4
- package/components/routes/cases/detail/CaseObservables.test.js +1 -1
- package/components/routes/cases/detail/CaseOverview.js +2 -2
- package/components/routes/cases/detail/CaseRules.js +10 -6
- package/components/routes/cases/detail/CaseRules.test.js +2 -2
- package/components/routes/cases/detail/CaseSearch.js +5 -5
- package/components/routes/cases/detail/CaseSearch.test.js +2 -2
- package/components/routes/cases/detail/CaseSidebar.js +12 -7
- package/components/routes/cases/detail/CaseSidebar.test.js +5 -6
- package/components/routes/cases/detail/CaseTask.js +27 -15
- package/components/routes/cases/detail/CaseTask.test.js +8 -1
- package/components/routes/cases/detail/CaseTimeline.js +8 -8
- package/components/routes/cases/detail/CaseTimeline.test.js +6 -6
- package/components/routes/cases/detail/CreateRuleDialog.js +4 -4
- package/components/routes/cases/detail/CreateRuleDialog.test.js +2 -2
- package/components/routes/cases/detail/ItemPage.js +3 -3
- package/components/routes/cases/detail/MarkdownPage.test.js +0 -4
- package/components/routes/cases/detail/RelatedCasePanel.js +1 -1
- package/components/routes/cases/detail/RelatedCasePanel.test.js +4 -6
- package/components/routes/cases/detail/TaskPanel.js +8 -8
- package/components/routes/cases/detail/TaskPanel.test.js +3 -3
- package/components/routes/cases/detail/aggregates/CaseAggregate.js +1 -1
- package/components/routes/cases/detail/aggregates/SourceAggregate.js +3 -3
- package/components/routes/cases/detail/observables/Observable.js +4 -5
- package/components/routes/cases/detail/observables/Observable.test.js +1 -1
- package/components/routes/cases/detail/observables/ObservableTable.js +3 -3
- package/components/routes/cases/detail/observables/ObservableTable.test.js +1 -1
- package/components/routes/cases/detail/sidebar/CaseFolder.js +24 -20
- package/components/routes/cases/detail/sidebar/CaseFolder.test.js +1 -1
- package/components/routes/cases/detail/sidebar/CaseFolderContextMenu.js +4 -2
- package/components/routes/cases/detail/sidebar/CaseFolderContextMenu.test.js +3 -2
- package/components/routes/cases/detail/sidebar/FolderEntry.js +3 -3
- package/components/routes/cases/detail/sidebar/FolderEntry.test.js +3 -3
- package/components/routes/cases/detail/sidebar/types.d.ts +1 -1
- package/components/routes/cases/detail/sidebar/utils.js +1 -1
- package/components/routes/cases/detail/sidebar/utils.test.js +8 -8
- package/components/routes/cases/detail/utils.d.ts +1 -1
- package/components/routes/cases/detail/utils.js +3 -2
- package/components/routes/cases/hooks/useCase.js +14 -2
- package/components/routes/cases/modals/AddRecordToCaseModal.test.js +1 -1
- package/components/routes/cases/modals/AddToCaseModal.d.ts +1 -1
- package/components/routes/cases/modals/AddToCaseModal.js +2 -2
- package/components/routes/cases/modals/CreateCaseModal.test.js +1 -1
- package/components/routes/cases/modals/ResolveModal.js +8 -5
- package/components/routes/cases/modals/ResolveModal.test.js +5 -5
- package/components/routes/cases/modals/hooks.js +1 -2
- package/components/routes/cases/modals/types.d.ts +1 -1
- package/components/routes/cases/search/CaseAssigneeFilter.js +1 -1
- package/components/routes/cases/search/CaseAssigneeFilter.test.js +8 -3
- package/components/routes/cases/search/CaseStatusFilter.test.js +1 -0
- package/components/routes/cases/utils.d.ts +0 -1
- package/components/routes/cases/utils.js +4 -13
- package/components/routes/dossiers/DossierCard.js +3 -3
- package/components/routes/dossiers/DossierCard.test.js +6 -6
- package/components/routes/dossiers/DossierEditor.js +61 -25
- package/components/routes/dossiers/DossierEditor.test.js +16 -9
- package/components/routes/dossiers/Dossiers.d.ts +1 -1
- package/components/routes/dossiers/Dossiers.js +6 -5
- package/components/routes/dossiers/LeadEditor.d.ts +1 -1
- package/components/routes/dossiers/LeadEditor.js +2 -2
- package/components/routes/dossiers/LeadForm.js +2 -2
- package/components/routes/dossiers/PivotForm.d.ts +1 -1
- package/components/routes/dossiers/PivotForm.js +10 -9
- package/components/routes/events/EventViewer.js +1 -1
- package/components/routes/help/ActionDocumentation.js +2 -2
- package/components/routes/help/ActionIntroductionDocumentation.js +2 -2
- package/components/routes/help/ApiDocumentation.js +3 -4
- package/components/routes/help/AuthDocumentation.js +1 -1
- package/components/routes/help/ClientDocumentation.js +1 -1
- package/components/routes/help/Help.d.ts +1 -1
- package/components/routes/help/Help.js +5 -4
- package/components/routes/help/HitDocumentation.js +3 -3
- package/components/routes/help/HitLabelsDocumentation.js +12 -12
- package/components/routes/help/HitLinksDocumentation.js +2 -2
- package/components/routes/help/HitSchemaDocumentation.js +14 -8
- package/components/routes/help/NotebookDocumentation.js +1 -1
- package/components/routes/help/OverviewDocumentation.js +1 -1
- package/components/routes/help/RetentionDocumentation.js +3 -3
- package/components/routes/help/SearchDocumentation.js +6 -4
- package/components/routes/help/TemplateDocumentation.js +2 -2
- package/components/routes/help/ViewDocumentation.js +1 -1
- package/components/routes/help/markdown/en/views.md.js +1 -1
- package/components/routes/help/markdown/fr/views.md.js +1 -1
- package/components/routes/hits/search/InformationPane.js +10 -20
- package/components/routes/hits/search/QuerySettings.js +1 -1
- package/components/routes/hits/search/QuerySettings.test.js +8 -4
- package/components/routes/hits/search/RecordBrowser.js +12 -9
- package/components/routes/hits/search/RecordQuery.js +13 -10
- package/components/routes/hits/search/SearchPane.js +2 -3
- package/components/routes/hits/search/ViewLink.js +4 -4
- package/components/routes/hits/search/ViewLink.test.js +1 -0
- package/components/routes/hits/search/grid/RecordGrid.js +1 -1
- package/components/routes/hits/search/shared/CustomSort.js +3 -2
- package/components/routes/hits/search/shared/CustomSpan.js +9 -1
- package/components/routes/hits/search/shared/HitFilter.js +8 -3
- package/components/routes/hits/search/shared/HitSort.js +8 -6
- package/components/routes/hits/search/shared/IndexPicker.js +1 -1
- package/components/routes/hits/search/shared/LayoutSettings.js +1 -1
- package/components/routes/hits/search/shared/SearchActionMenu.d.ts +1 -1
- package/components/routes/hits/search/shared/SearchActionMenu.js +1 -1
- package/components/routes/hits/search/shared/SearchSpan.js +1 -1
- package/components/routes/hits/shared/PluginViewing.d.ts +10 -0
- package/components/routes/hits/shared/PluginViewing.js +13 -0
- package/components/routes/hits/view/HitViewer.js +52 -52
- package/components/routes/hits/view/HitViewer.test.js +8 -6
- package/components/routes/home/AddNewCard.d.ts +2 -1
- package/components/routes/home/AddNewCard.js +7 -4
- package/components/routes/home/AnalyticCard.js +3 -3
- package/components/routes/home/EntryWrapper.js +1 -1
- package/components/routes/home/ViewCard.js +11 -7
- package/components/routes/home/ViewCard.test.js +3 -6
- package/components/routes/home/index.js +20 -17
- package/components/routes/overviews/OverviewCard.js +6 -2
- package/components/routes/overviews/OverviewViewer.d.ts +1 -1
- package/components/routes/overviews/OverviewViewer.js +48 -39
- package/components/routes/overviews/Overviews.d.ts +1 -1
- package/components/routes/overviews/Overviews.js +7 -6
- package/components/routes/overviews/markdownExtendedTokenProvider.test.js +1 -0
- package/components/routes/overviews/startingTemplate.js +1 -1
- package/components/routes/settings/ProfileSection.d.ts +1 -1
- package/components/routes/settings/ProfileSection.js +2 -2
- package/components/routes/settings/SecuritySection.d.ts +1 -1
- package/components/routes/settings/SecuritySection.js +2 -2
- package/components/routes/settings/Settings.js +6 -6
- package/components/routes/templates/TemplateCard.js +1 -1
- package/components/routes/templates/TemplateEditor.d.ts +1 -1
- package/components/routes/templates/TemplateEditor.js +3 -3
- package/components/routes/templates/TemplateViewer.d.ts +1 -1
- package/components/routes/templates/TemplateViewer.js +54 -52
- package/components/routes/templates/Templates.d.ts +1 -1
- package/components/routes/templates/Templates.js +10 -9
- package/components/routes/views/ViewComposer.js +38 -30
- package/components/routes/views/Views.d.ts +2 -1
- package/components/routes/views/Views.js +20 -14
- package/i18n.js +4 -0
- package/locales/en/translation.json +10 -0
- package/locales/fr/translation.json +10 -0
- package/models/entities/HowlerUser.d.ts +1 -1
- package/models/entities/generated/Action.d.ts +3 -1
- package/models/entities/generated/ApiType.d.ts +2 -3
- package/models/entities/generated/Dossier.d.ts +2 -0
- package/models/entities/generated/HowlerDossier.d.ts +2 -0
- package/models/entities/generated/Item.d.ts +2 -2
- package/models/entities/generated/Settings.d.ts +1 -1
- package/models/entities/generated/View.d.ts +2 -0
- package/package.json +102 -117
- package/plugins/HowlerPlugin.d.ts +9 -50
- package/plugins/HowlerPlugin.js +7 -113
- package/plugins/clue/Provider.js +1 -1
- package/plugins/clue/components/ClueLeadForm.js +2 -2
- package/plugins/clue/components/CluePivot.js +6 -7
- package/plugins/clue/components/CluePivotForm.js +26 -15
- package/plugins/clue/components/ClueTypography.js +2 -2
- package/plugins/clue/helpers.js +5 -5
- package/plugins/clue/index.d.ts +2 -2
- package/plugins/clue/index.js +1 -1
- package/plugins/clue/setup.js +1 -1
- package/plugins/clue/utils.d.ts +1 -1
- package/plugins/store.d.ts +26 -43
- package/plugins/store.js +2 -15
- package/rest/AxiosClient.js +3 -3
- package/rest/FetchClient.d.ts +1 -1
- package/rest/FetchClient.js +8 -5
- package/rest/FetchClient.test.js +7 -4
- package/rest/index.d.ts +4 -3
- package/setupTests.d.ts +3 -0
- package/tests/MockLocalStorage.js +2 -1
- package/tests/mocks.d.ts +2 -2
- package/tests/mocks.js +3 -3
- package/tests/server-handlers.js +1 -1
- package/utils/Throttler.js +1 -1
- package/utils/actionUtils.d.ts +1 -1
- package/utils/actionUtils.js +10 -6
- package/utils/classificationParser.js +56 -63
- package/utils/constants.d.ts +0 -17
- package/utils/constants.js +1 -18
- package/utils/exampleHit.d.ts +2 -0
- package/utils/exampleHit.js +18 -0
- package/utils/localStorage.d.ts +2 -2
- package/utils/localStorage.js +1 -1
- package/utils/menuUtils.d.ts +3 -89
- package/utils/menuUtils.js +66 -227
- package/utils/menuUtils.test.js +45 -181
- package/utils/sessionStorage.js +1 -1
- package/utils/sessionStorage.test.js +1 -0
- package/utils/stringUtils.d.ts +1 -1
- package/utils/utils.d.ts +30 -6
- package/utils/utils.js +66 -9
- package/utils/utils.test.js +1 -0
- package/utils/xsrf.d.ts +1 -1
- package/utils/xsrf.js +5 -10
- package/api/dossier/hit.d.ts +0 -2
- package/api/dossier/hit.js +0 -7
- package/api/dossier/index.d.ts +0 -9
- package/commons/components/app/AppConfigs.d.ts +0 -137
- package/commons/components/app/AppConstants.d.ts +0 -10
- package/commons/components/app/AppConstants.js +0 -10
- package/commons/components/app/AppContexts.d.ts +0 -105
- package/commons/components/app/AppContexts.js +0 -21
- package/commons/components/app/AppDefaults.d.ts +0 -6
- package/commons/components/app/AppDefaults.js +0 -40
- package/commons/components/app/AppNotificationService.d.ts +0 -6
- package/commons/components/app/AppNotificationService.js +0 -1
- package/commons/components/app/AppProvider.d.ts +0 -15
- package/commons/components/app/AppProvider.js +0 -41
- package/commons/components/app/AppSearchService.d.ts +0 -21
- package/commons/components/app/AppSearchService.js +0 -1
- package/commons/components/app/AppSkeleton.d.ts +0 -5
- package/commons/components/app/AppSkeleton.js +0 -152
- package/commons/components/app/AppUserService.d.ts +0 -17
- package/commons/components/app/AppUserService.js +0 -1
- package/commons/components/app/hooks/index.d.ts +0 -18
- package/commons/components/app/hooks/index.js +0 -18
- package/commons/components/app/hooks/useApp.d.ts +0 -1
- package/commons/components/app/hooks/useApp.js +0 -5
- package/commons/components/app/hooks/useAppBanner.d.ts +0 -1
- package/commons/components/app/hooks/useAppBanner.js +0 -6
- package/commons/components/app/hooks/useAppBar.d.ts +0 -1
- package/commons/components/app/hooks/useAppBar.js +0 -5
- package/commons/components/app/hooks/useAppBarHeight.d.ts +0 -2
- package/commons/components/app/hooks/useAppBarHeight.js +0 -22
- package/commons/components/app/hooks/useAppBarScrollTrigger.d.ts +0 -1
- package/commons/components/app/hooks/useAppBarScrollTrigger.js +0 -7
- package/commons/components/app/hooks/useAppBreadcrumbs.d.ts +0 -1
- package/commons/components/app/hooks/useAppBreadcrumbs.js +0 -5
- package/commons/components/app/hooks/useAppConfigs.d.ts +0 -59
- package/commons/components/app/hooks/useAppConfigs.js +0 -44
- package/commons/components/app/hooks/useAppLanguage.d.ts +0 -6
- package/commons/components/app/hooks/useAppLanguage.js +0 -17
- package/commons/components/app/hooks/useAppLayout.d.ts +0 -1
- package/commons/components/app/hooks/useAppLayout.js +0 -5
- package/commons/components/app/hooks/useAppLeftNav.d.ts +0 -1
- package/commons/components/app/hooks/useAppLeftNav.js +0 -5
- package/commons/components/app/hooks/useAppLogo.d.ts +0 -1
- package/commons/components/app/hooks/useAppLogo.js +0 -8
- package/commons/components/app/hooks/useAppNotification.d.ts +0 -1
- package/commons/components/app/hooks/useAppNotification.js +0 -5
- package/commons/components/app/hooks/useAppQuickSearch.d.ts +0 -1
- package/commons/components/app/hooks/useAppQuickSearch.js +0 -5
- package/commons/components/app/hooks/useAppSearchService.d.ts +0 -2
- package/commons/components/app/hooks/useAppSearchService.js +0 -5
- package/commons/components/app/hooks/useAppSitemap.d.ts +0 -16
- package/commons/components/app/hooks/useAppSitemap.js +0 -70
- package/commons/components/app/hooks/useAppSwitcher.d.ts +0 -1
- package/commons/components/app/hooks/useAppSwitcher.js +0 -5
- package/commons/components/app/hooks/useAppTheme.d.ts +0 -8
- package/commons/components/app/hooks/useAppTheme.js +0 -12
- package/commons/components/app/hooks/useAppUser.d.ts +0 -2
- package/commons/components/app/hooks/useAppUser.js +0 -5
- package/commons/components/app/providers/AppBarProvider.d.ts +0 -10
- package/commons/components/app/providers/AppBarProvider.js +0 -24
- package/commons/components/app/providers/AppBreadcrumbsProvider.d.ts +0 -6
- package/commons/components/app/providers/AppBreadcrumbsProvider.js +0 -43
- package/commons/components/app/providers/AppLayoutProvider.d.ts +0 -6
- package/commons/components/app/providers/AppLayoutProvider.js +0 -73
- package/commons/components/app/providers/AppLeftNavProvider.d.ts +0 -6
- package/commons/components/app/providers/AppLeftNavProvider.js +0 -22
- package/commons/components/app/providers/AppNotificationProvider.d.ts +0 -6
- package/commons/components/app/providers/AppNotificationProvider.js +0 -31
- package/commons/components/app/providers/AppQuickSearchProvider.d.ts +0 -8
- package/commons/components/app/providers/AppQuickSearchProvider.js +0 -19
- package/commons/components/app/providers/AppSearchServiceProvider.d.ts +0 -6
- package/commons/components/app/providers/AppSearchServiceProvider.js +0 -46
- package/commons/components/app/providers/AppSnackbarProvider.d.ts +0 -3
- package/commons/components/app/providers/AppSnackbarProvider.js +0 -15
- package/commons/components/app/providers/AppSwitcherProvider.d.ts +0 -6
- package/commons/components/app/providers/AppSwitcherProvider.js +0 -10
- package/commons/components/app/providers/AppUserProvider.d.ts +0 -8
- package/commons/components/app/providers/AppUserProvider.js +0 -12
- package/commons/components/breadcrumbs/BreadcrumbIcon.d.ts +0 -6
- package/commons/components/breadcrumbs/BreadcrumbIcon.js +0 -9
- package/commons/components/breadcrumbs/BreadcrumbLastItem.d.ts +0 -7
- package/commons/components/breadcrumbs/BreadcrumbLastItem.js +0 -19
- package/commons/components/breadcrumbs/BreadcrumbLinkItem.d.ts +0 -7
- package/commons/components/breadcrumbs/BreadcrumbLinkItem.js +0 -20
- package/commons/components/breadcrumbs/BreadcrumbList.d.ts +0 -11
- package/commons/components/breadcrumbs/BreadcrumbList.js +0 -44
- package/commons/components/breadcrumbs/Breadcrumbs.d.ts +0 -5
- package/commons/components/breadcrumbs/Breadcrumbs.js +0 -31
- package/commons/components/display/AppAvatar.d.ts +0 -8
- package/commons/components/display/AppAvatar.js +0 -18
- package/commons/components/display/AppInfoPanel.d.ts +0 -5
- package/commons/components/display/AppInfoPanel.js +0 -17
- package/commons/components/display/AppListEmpty.d.ts +0 -2
- package/commons/components/display/AppListEmpty.js +0 -5
- package/commons/components/display/AppToc.d.ts +0 -20
- package/commons/components/display/AppToc.js +0 -98
- package/commons/components/display/hooks/useAppColor.d.ts +0 -5
- package/commons/components/display/hooks/useAppColor.js +0 -10
- package/commons/components/leftnav/LeftNavDrawer.d.ts +0 -3
- package/commons/components/leftnav/LeftNavDrawer.js +0 -99
- package/commons/components/leftnav/LeftNavGroup.d.ts +0 -8
- package/commons/components/leftnav/LeftNavGroup.js +0 -55
- package/commons/components/leftnav/LeftNavItem.d.ts +0 -11
- package/commons/components/leftnav/LeftNavItem.js +0 -29
- package/commons/components/notification/FeedModels.d.ts +0 -64
- package/commons/components/notification/FeedModels.js +0 -94
- package/commons/components/notification/Notification.d.ts +0 -10
- package/commons/components/notification/Notification.js +0 -95
- package/commons/components/notification/elements/NotificationCloseButton.d.ts +0 -3
- package/commons/components/notification/elements/NotificationCloseButton.js +0 -6
- package/commons/components/notification/elements/NotificationContainer.d.ts +0 -16
- package/commons/components/notification/elements/NotificationContainer.js +0 -29
- package/commons/components/notification/elements/NotificationEndOfPage.d.ts +0 -5
- package/commons/components/notification/elements/NotificationEndOfPage.js +0 -36
- package/commons/components/notification/elements/NotificationError.d.ts +0 -2
- package/commons/components/notification/elements/NotificationError.js +0 -10
- package/commons/components/notification/elements/NotificationHeader.d.ts +0 -8
- package/commons/components/notification/elements/NotificationHeader.js +0 -18
- package/commons/components/notification/elements/NotificationItems.d.ts +0 -12
- package/commons/components/notification/elements/NotificationItems.js +0 -12
- package/commons/components/notification/elements/NotificationSkeleton.d.ts +0 -2
- package/commons/components/notification/elements/NotificationSkeleton.js +0 -12
- package/commons/components/notification/elements/NotificationTopNavButton.d.ts +0 -9
- package/commons/components/notification/elements/NotificationTopNavButton.js +0 -9
- package/commons/components/notification/elements/item/NotificationItem.d.ts +0 -5
- package/commons/components/notification/elements/item/NotificationItem.js +0 -25
- package/commons/components/notification/elements/item/NotificationItemAuthor.d.ts +0 -5
- package/commons/components/notification/elements/item/NotificationItemAuthor.js +0 -31
- package/commons/components/notification/elements/item/NotificationItemContent.d.ts +0 -3
- package/commons/components/notification/elements/item/NotificationItemContent.js +0 -9
- package/commons/components/notification/elements/item/NotificationItemDate.d.ts +0 -3
- package/commons/components/notification/elements/item/NotificationItemDate.js +0 -10
- package/commons/components/notification/elements/item/NotificationItemImage.d.ts +0 -4
- package/commons/components/notification/elements/item/NotificationItemImage.js +0 -8
- package/commons/components/notification/elements/item/NotificationItemTag.d.ts +0 -4
- package/commons/components/notification/elements/item/NotificationItemTag.js +0 -12
- package/commons/components/notification/elements/item/NotificationItemTitle.d.ts +0 -3
- package/commons/components/notification/elements/item/NotificationItemTitle.js +0 -15
- package/commons/components/notification/index.d.ts +0 -2
- package/commons/components/notification/index.js +0 -2
- package/commons/components/pages/PageCardCentered.d.ts +0 -5
- package/commons/components/pages/PageCardCentered.js +0 -30
- package/commons/components/pages/PageCenter.d.ts +0 -9
- package/commons/components/pages/PageCenter.js +0 -20
- package/commons/components/pages/PageContent.d.ts +0 -8
- package/commons/components/pages/PageContent.js +0 -8
- package/commons/components/pages/PageFullScreen.d.ts +0 -11
- package/commons/components/pages/PageFullScreen.js +0 -40
- package/commons/components/pages/PageFullWidth.d.ts +0 -11
- package/commons/components/pages/PageFullWidth.js +0 -7
- package/commons/components/pages/PageHeader.d.ts +0 -23
- package/commons/components/pages/PageHeader.js +0 -27
- package/commons/components/pages/hooks/usePageProps.d.ts +0 -24
- package/commons/components/pages/hooks/usePageProps.js +0 -19
- package/commons/components/search/AppSearch.d.ts +0 -1
- package/commons/components/search/AppSearch.js +0 -135
- package/commons/components/search/AppSearchInput.d.ts +0 -12
- package/commons/components/search/AppSearchInput.js +0 -35
- package/commons/components/search/AppSearchResult.d.ts +0 -5
- package/commons/components/search/AppSearchResult.js +0 -28
- package/commons/components/topnav/AppBar.d.ts +0 -6
- package/commons/components/topnav/AppBar.js +0 -80
- package/commons/components/topnav/AppName.d.ts +0 -5
- package/commons/components/topnav/AppName.js +0 -31
- package/commons/components/topnav/AppSwitcher.d.ts +0 -3
- package/commons/components/topnav/AppSwitcher.js +0 -44
- package/commons/components/topnav/Notifications.d.ts +0 -2
- package/commons/components/topnav/Notifications.js +0 -8
- package/commons/components/topnav/ThemeSelection.d.ts +0 -3
- package/commons/components/topnav/ThemeSelection.js +0 -33
- package/commons/components/topnav/ThemeSelectionIcon.d.ts +0 -2
- package/commons/components/topnav/ThemeSelectionIcon.js +0 -16
- package/commons/components/topnav/UserProfile.d.ts +0 -6
- package/commons/components/topnav/UserProfile.js +0 -71
- package/commons/components/utils/hooks/useClipboard.d.ts +0 -3
- package/commons/components/utils/hooks/useClipboard.js +0 -29
- package/commons/components/utils/hooks/useEnv.d.ts +0 -1
- package/commons/components/utils/hooks/useEnv.js +0 -11
- package/commons/components/utils/hooks/useFullscreenStatus.d.ts +0 -2
- package/commons/components/utils/hooks/useFullscreenStatus.js +0 -41
- package/commons/components/utils/hooks/useGravatar.d.ts +0 -2
- package/commons/components/utils/hooks/useGravatar.js +0 -9
- package/commons/components/utils/hooks/useLocalStorage.d.ts +0 -12
- package/commons/components/utils/hooks/useLocalStorage.js +0 -52
- package/commons/components/utils/hooks/useLocalStorageItem.d.ts +0 -14
- package/commons/components/utils/hooks/useLocalStorageItem.js +0 -39
- package/commons/components/utils/hooks/useThemeBuilder.d.ts +0 -7
- package/commons/components/utils/hooks/useThemeBuilder.js +0 -48
- package/commons/components/utils/keyboard.d.ts +0 -30
- package/commons/components/utils/keyboard.js +0 -50
- package/components/hooks/useMySitemap.d.ts +0 -3
- package/components/hooks/useMySitemap.js +0 -219
- /package/{commons/components/app/AppConfigs.js → components/elements/MembershipManagement.test.d.ts} +0 -0
package/rest/FetchClient.test.js
CHANGED
|
@@ -38,6 +38,9 @@ describe('FetchClient', () => {
|
|
|
38
38
|
const payload = { api_response: { items: [] } };
|
|
39
39
|
mockFetch(200, payload);
|
|
40
40
|
const result = await client.fetch('/api/v1/hit');
|
|
41
|
+
if (!result) {
|
|
42
|
+
throw new Error('Expected a response body.');
|
|
43
|
+
}
|
|
41
44
|
expect(result[0]).toEqual(payload);
|
|
42
45
|
expect(result[1]).toBe(200);
|
|
43
46
|
});
|
|
@@ -47,11 +50,11 @@ describe('FetchClient', () => {
|
|
|
47
50
|
const callArgs = spy.mock.calls[0][1];
|
|
48
51
|
expect(callArgs.body).toBe(JSON.stringify({ key: 'val' }));
|
|
49
52
|
});
|
|
50
|
-
it('
|
|
53
|
+
it('omits the body when no body is provided', async () => {
|
|
51
54
|
const spy = mockFetch(200, {});
|
|
52
55
|
await client.fetch('/api/v1/hit', 'get');
|
|
53
56
|
const callArgs = spy.mock.calls[0][1];
|
|
54
|
-
expect(callArgs.body).
|
|
57
|
+
expect(callArgs.body).toBeUndefined();
|
|
55
58
|
});
|
|
56
59
|
it('forwards custom headers to fetch', async () => {
|
|
57
60
|
const spy = mockFetch(200, {});
|
|
@@ -59,10 +62,10 @@ describe('FetchClient', () => {
|
|
|
59
62
|
const callArgs = spy.mock.calls[0][1];
|
|
60
63
|
expect(callArgs.headers.Authorization).toBe('******');
|
|
61
64
|
});
|
|
62
|
-
it('returns
|
|
65
|
+
it('returns undefined for a 204 No Content response', async () => {
|
|
63
66
|
mockFetch(204, null);
|
|
64
67
|
const result = await client.fetch('/api/v1/hit', 'delete');
|
|
65
|
-
expect(result).
|
|
68
|
+
expect(result).toBeUndefined();
|
|
66
69
|
});
|
|
67
70
|
it('works with a PUT method', async () => {
|
|
68
71
|
const spy = mockFetch(200, {});
|
package/rest/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { HowlerResponse } from '@cccsaurora/howler-ui/api';
|
|
2
|
+
export type RestResponse<R> = [HowlerResponse<R>, number, {
|
|
3
|
+
[index: string]: any;
|
|
4
|
+
}];
|
|
2
5
|
export default interface RestClient {
|
|
3
|
-
fetch<R>(url: string, method: 'get' | 'post' | 'put' | 'delete', body?: any, params?: URLSearchParams, headers?: HeadersInit): Promise<
|
|
4
|
-
[index: string]: any;
|
|
5
|
-
}]>;
|
|
6
|
+
fetch<R>(url: string, method: 'get' | 'post' | 'put' | 'delete', body?: any, params?: URLSearchParams, headers?: HeadersInit): Promise<RestResponse<R> | undefined>;
|
|
6
7
|
}
|
package/setupTests.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
1
2
|
export default class MockLocalStorage {
|
|
2
3
|
constructor() {
|
|
3
4
|
Object.defineProperty(this, 'getItem', {
|
|
4
5
|
enumerable: false,
|
|
5
|
-
value: vi.fn(key => (this[key] !== undefined ? this[key] : null))
|
|
6
|
+
value: vi.fn(key => (this[key] !== undefined && this[key] !== null ? this[key] : null))
|
|
6
7
|
});
|
|
7
8
|
Object.defineProperty(this, 'setItem', {
|
|
8
9
|
enumerable: false,
|
package/tests/mocks.d.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
export declare const setupContextSelectorMock: () => void;
|
|
6
6
|
/**
|
|
7
|
-
* Sets up a mock for react-router
|
|
7
|
+
* Sets up a mock for react-router with common defaults
|
|
8
8
|
* @param options - Override specific router behavior
|
|
9
9
|
*/
|
|
10
10
|
export declare const setupReactRouterMock: () => {
|
|
@@ -15,7 +15,7 @@ export declare const setupReactRouterMock: () => {
|
|
|
15
15
|
search: string;
|
|
16
16
|
};
|
|
17
17
|
mockParams: {
|
|
18
|
-
id:
|
|
18
|
+
id: undefined;
|
|
19
19
|
};
|
|
20
20
|
};
|
|
21
21
|
/**
|
package/tests/mocks.js
CHANGED
|
@@ -22,7 +22,7 @@ export const setupContextSelectorMock = () => {
|
|
|
22
22
|
afterAll(() => vi.resetModules());
|
|
23
23
|
};
|
|
24
24
|
/**
|
|
25
|
-
* Sets up a mock for react-router
|
|
25
|
+
* Sets up a mock for react-router with common defaults
|
|
26
26
|
* @param options - Override specific router behavior
|
|
27
27
|
*/
|
|
28
28
|
export const setupReactRouterMock = () => {
|
|
@@ -31,8 +31,8 @@ export const setupReactRouterMock = () => {
|
|
|
31
31
|
const mockSearchParams = vi.hoisted(() => new URLSearchParams());
|
|
32
32
|
const mockSetParams = vi.hoisted(() => vi.fn());
|
|
33
33
|
beforeAll(() => {
|
|
34
|
-
vi.mock('react-router
|
|
35
|
-
const actual = await vi.importActual('react-router
|
|
34
|
+
vi.mock('react-router', async () => {
|
|
35
|
+
const actual = await vi.importActual('react-router');
|
|
36
36
|
return {
|
|
37
37
|
...actual,
|
|
38
38
|
Link: forwardRef(({ to, children, ...props }, ref) => (_jsx("a", { ref: ref, href: to, ...props, children: children }))),
|
package/tests/server-handlers.js
CHANGED
|
@@ -92,7 +92,7 @@ const handlers = [
|
|
|
92
92
|
]
|
|
93
93
|
})),
|
|
94
94
|
http.post('/api/v1/search/facet/hit', async ({ request }) => {
|
|
95
|
-
const payload = await request.json();
|
|
95
|
+
const payload = (await request.json());
|
|
96
96
|
let facetResponse = Object.fromEntries(payload.fields.map(field => [field, { 'facet 1': 1, 'facet 2': 2 }]));
|
|
97
97
|
if (payload.filters?.[0]?.includes('analytic')) {
|
|
98
98
|
facetResponse = Object.fromEntries(payload.fields.map(field => [field, { 'Analytic 1': 1, 'Analytic 2': 2 }]));
|
package/utils/Throttler.js
CHANGED
package/utils/actionUtils.d.ts
CHANGED
|
@@ -28,4 +28,4 @@ export declare const getArgsByContext: (args: ActionOperationStep['args'], value
|
|
|
28
28
|
* @param action The action to validate
|
|
29
29
|
* @returns whether the action is ready to execute
|
|
30
30
|
*/
|
|
31
|
-
export declare const operationReady: (data
|
|
31
|
+
export declare const operationReady: (data?: Operation['data_json'], action?: ActionOperation) => boolean;
|
package/utils/actionUtils.js
CHANGED
|
@@ -34,12 +34,13 @@ const buildContext = (values = '{}') => Object.entries(JSON.parse(values)).map(t
|
|
|
34
34
|
* @returns a list of options matching the current context
|
|
35
35
|
*/
|
|
36
36
|
export const getOptionsByContext = (options, arg, context) => {
|
|
37
|
-
|
|
37
|
+
const argOptions = options[arg];
|
|
38
|
+
if (!argOptions) {
|
|
38
39
|
return [];
|
|
39
40
|
}
|
|
40
41
|
// If it's just an array, there's no special conditional logic to deal with - we just return the array
|
|
41
|
-
if (Array.isArray(
|
|
42
|
-
return
|
|
42
|
+
if (Array.isArray(argOptions)) {
|
|
43
|
+
return argOptions;
|
|
43
44
|
}
|
|
44
45
|
// Build the context up from the raw values, and check to see if any of the context values matches the conditionals provided in the options.
|
|
45
46
|
// i.e.
|
|
@@ -50,8 +51,11 @@ export const getOptionsByContext = (options, arg, context) => {
|
|
|
50
51
|
//
|
|
51
52
|
// Note that this restricts the options to a single key:value pair.
|
|
52
53
|
// For more complex cases down the road (if those end up existing), we'll need to improve this
|
|
53
|
-
const matchingKey = buildContext(context).find(key => !!
|
|
54
|
-
|
|
54
|
+
const matchingKey = buildContext(context).find(key => !!argOptions[key]);
|
|
55
|
+
if (!matchingKey) {
|
|
56
|
+
return [];
|
|
57
|
+
}
|
|
58
|
+
return argOptions[matchingKey] ?? [];
|
|
55
59
|
};
|
|
56
60
|
/**
|
|
57
61
|
* Get a list of arguments to display based on the current context, using the current values supplied for the action entry.
|
|
@@ -79,7 +83,7 @@ export const getArgsByContext = (args, values) => Object.entries(args)
|
|
|
79
83
|
* @returns whether the action is ready to execute
|
|
80
84
|
*/
|
|
81
85
|
export const operationReady = (data, action) => {
|
|
82
|
-
if (!data) {
|
|
86
|
+
if (!data || !action) {
|
|
83
87
|
return false;
|
|
84
88
|
}
|
|
85
89
|
const parsedData = JSON.parse(data);
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
// pulled from https://github.com/CybercentreCanada/assemblyline-ui-frontend/blob/master/src/helpers/classificationParser.ts
|
|
2
|
+
import { isNil } from 'lodash-es';
|
|
3
|
+
import { notNil } from './utils';
|
|
2
4
|
export const defaultParts = {
|
|
3
5
|
lvlIdx: 0,
|
|
4
6
|
lvl: '',
|
|
@@ -17,7 +19,7 @@ export const getLevelText = (lvl, c12nDef, format, isMobile) => {
|
|
|
17
19
|
if (c12nDef != null && lvl != null) {
|
|
18
20
|
text = c12nDef.levels_map[lvl.toString()];
|
|
19
21
|
}
|
|
20
|
-
if (text
|
|
22
|
+
if (isNil(text)) {
|
|
21
23
|
//ERROR: `Classification level number '${lvl}' was not found in your classification definition.`
|
|
22
24
|
/* eslint-disable no-console */
|
|
23
25
|
console.error(`[classificationParser] Classification level number '${lvl}' was not found in your classification definition.`);
|
|
@@ -35,13 +37,13 @@ const getLevelIndex = (c12n, c12nDef) => {
|
|
|
35
37
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars
|
|
36
38
|
const [level, unused, _x] = c12n?.split(/\/\/(.*)/) ?? [null, null, null];
|
|
37
39
|
const c12nLvl = level?.toUpperCase();
|
|
38
|
-
if (c12nDef.levels_map[c12nLvl]
|
|
40
|
+
if (notNil(c12nDef.levels_map[c12nLvl])) {
|
|
39
41
|
retIndex = c12nDef.levels_map[c12nLvl];
|
|
40
42
|
}
|
|
41
|
-
else if (c12nDef.levels_map_lts[c12nLvl]
|
|
43
|
+
else if (notNil(c12nDef.levels_map_lts[c12nLvl])) {
|
|
42
44
|
retIndex = c12nDef.levels_map[c12nDef.levels_map_lts[c12nLvl]];
|
|
43
45
|
}
|
|
44
|
-
else if (c12nDef.levels_aliases[c12nLvl]
|
|
46
|
+
else if (notNil(c12nDef.levels_aliases[c12nLvl])) {
|
|
45
47
|
retIndex = c12nDef.levels_map[c12nDef.levels_aliases[c12nLvl]];
|
|
46
48
|
}
|
|
47
49
|
else {
|
|
@@ -188,7 +190,7 @@ const getGroups = (groupParts, c12nDef, format, isMobile, autoSelect = false) =>
|
|
|
188
190
|
// Check if there are any forbidden group assignments
|
|
189
191
|
for (const subgroup of g2Set) {
|
|
190
192
|
const limitedToGroup = c12nDef.params_map?.[subgroup]?.limited_to_group;
|
|
191
|
-
if (limitedToGroup
|
|
193
|
+
if (notNil(limitedToGroup)) {
|
|
192
194
|
if (g1Set.size > 1 || (g1Set.size === 1 && !g1Set.has(limitedToGroup))) {
|
|
193
195
|
// ERROR: `Subgroup ${subgroup} is limited to group ${limitedToGroup} (found: ${Array.from(g1Set).toString()})`
|
|
194
196
|
// just log the error and leave it
|
|
@@ -413,15 +415,6 @@ export const normalizedClassification = (parts, c12nDef, format, isMobile, skipA
|
|
|
413
415
|
}
|
|
414
416
|
return out;
|
|
415
417
|
};
|
|
416
|
-
const levelList = (c12nDef) => {
|
|
417
|
-
const out = [];
|
|
418
|
-
for (const i in c12nDef.levels_map) {
|
|
419
|
-
if (!isNaN(parseInt(i))) {
|
|
420
|
-
out.push(c12nDef.levels_map[i]);
|
|
421
|
-
}
|
|
422
|
-
}
|
|
423
|
-
return out;
|
|
424
|
-
};
|
|
425
418
|
export const defaultClassificationValidator = {
|
|
426
419
|
disabled: defaultDisabled,
|
|
427
420
|
parts: defaultParts
|
|
@@ -463,64 +456,64 @@ export const applyClassificationRules = (parts, c12nDef, format, isMobile, userC
|
|
|
463
456
|
}
|
|
464
457
|
}
|
|
465
458
|
}
|
|
466
|
-
for (const partName
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
if (value) {
|
|
472
|
-
if (
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
const
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
disabledList.levels.push(l);
|
|
481
|
-
}
|
|
459
|
+
for (const partName of partsToCheck) {
|
|
460
|
+
const part = retParts[partName];
|
|
461
|
+
for (const value of part) {
|
|
462
|
+
let triggerAutoSelect = false;
|
|
463
|
+
if (value) {
|
|
464
|
+
if (value in requireLvl) {
|
|
465
|
+
if (retParts.lvlIdx < requireLvl[value]) {
|
|
466
|
+
retParts.lvlIdx = requireLvl[value];
|
|
467
|
+
retParts.lvl = getLevelText(requireLvl[value], c12nDef, format, isMobile);
|
|
468
|
+
}
|
|
469
|
+
for (const [levelIndex, levelLabel] of Object.entries(c12nDef.levels_map)) {
|
|
470
|
+
const numericLevel = Number.parseInt(levelIndex, 10);
|
|
471
|
+
if (!Number.isNaN(numericLevel) && numericLevel < requireLvl[value]) {
|
|
472
|
+
disabledList.levels.push(levelLabel);
|
|
482
473
|
}
|
|
483
474
|
}
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
475
|
+
}
|
|
476
|
+
if (value in requireGroup) {
|
|
477
|
+
const requiredGroup = requireGroup[value];
|
|
478
|
+
const valueLong = c12nDef.groups_map_stl[requiredGroup] || requiredGroup;
|
|
479
|
+
const valueShort = c12nDef.groups_map_lts[requiredGroup] || requiredGroup;
|
|
480
|
+
if (!retParts.groups.includes(valueLong) && !retParts.groups.includes(valueShort)) {
|
|
481
|
+
retParts.groups.push(valueShort);
|
|
482
|
+
for (const group of c12nDef.groups_auto_select) {
|
|
483
|
+
const gLong = c12nDef.groups_map_stl[group] || group;
|
|
484
|
+
const gShort = c12nDef.groups_map_lts[group] || group;
|
|
485
|
+
if (!retParts.groups.includes(gShort) && !retParts.groups.includes(gLong)) {
|
|
486
|
+
retParts.groups.push(group);
|
|
495
487
|
}
|
|
496
488
|
}
|
|
497
489
|
}
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
490
|
+
}
|
|
491
|
+
if (value in limitedToGroup) {
|
|
492
|
+
const limitedGroup = limitedToGroup[value];
|
|
493
|
+
for (const gShort in c12nDef.groups_map_stl) {
|
|
494
|
+
const lgShort = c12nDef.groups_map_lts[limitedGroup] || limitedGroup;
|
|
495
|
+
if (gShort !== lgShort) {
|
|
496
|
+
const gLong = c12nDef.groups_map_stl[gShort];
|
|
497
|
+
disabledList.groups.push(gShort);
|
|
498
|
+
if (retParts.groups.includes(gShort)) {
|
|
499
|
+
retParts.groups.splice(retParts.groups.indexOf(gShort), 1);
|
|
500
|
+
}
|
|
501
|
+
else if (retParts.groups.includes(gLong)) {
|
|
502
|
+
retParts.groups.splice(retParts.groups.indexOf(gLong), 1);
|
|
510
503
|
}
|
|
511
504
|
}
|
|
512
505
|
}
|
|
513
|
-
if (!userClassification && partsToCheck[partName] === 'groups') {
|
|
514
|
-
triggerAutoSelect = true;
|
|
515
|
-
}
|
|
516
506
|
}
|
|
517
|
-
if (
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
507
|
+
if (!userClassification && partName === 'groups') {
|
|
508
|
+
triggerAutoSelect = true;
|
|
509
|
+
}
|
|
510
|
+
}
|
|
511
|
+
if (triggerAutoSelect) {
|
|
512
|
+
for (const group of c12nDef.groups_auto_select) {
|
|
513
|
+
const gLong = c12nDef.groups_map_stl[group] || group;
|
|
514
|
+
const gShort = c12nDef.groups_map_lts[group] || group;
|
|
515
|
+
if (!retParts.groups.includes(gLong) && !retParts.groups.includes(gShort)) {
|
|
516
|
+
retParts.groups.push(group);
|
|
524
517
|
}
|
|
525
518
|
}
|
|
526
519
|
}
|
package/utils/constants.d.ts
CHANGED
|
@@ -4,23 +4,6 @@ export declare const LOCAL: boolean;
|
|
|
4
4
|
export declare const VERSION: any;
|
|
5
5
|
export declare const MY_LOCAL_STORAGE_PREFIX = "howler.ui";
|
|
6
6
|
export declare const MY_SESSION_STORAGE_PREFIX = "howler.ui.cache";
|
|
7
|
-
export declare const ESCALATION_COLORS: {
|
|
8
|
-
alert: 'warning';
|
|
9
|
-
evidence: 'error';
|
|
10
|
-
hit: 'primary';
|
|
11
|
-
};
|
|
12
|
-
export declare const STATUS_COLORS: {
|
|
13
|
-
open: string;
|
|
14
|
-
'in-progress': string;
|
|
15
|
-
resolved: string;
|
|
16
|
-
};
|
|
17
|
-
export declare const PROVIDER_COLORS: {
|
|
18
|
-
HBS: "#303f9f";
|
|
19
|
-
NBS: "#ff4081";
|
|
20
|
-
CBS: "#00796b";
|
|
21
|
-
howler: string;
|
|
22
|
-
unknown: "#616161";
|
|
23
|
-
};
|
|
24
7
|
export declare enum StorageKey {
|
|
25
8
|
DISABLE_FEATURE_WARNING = "disable.feature.warning",
|
|
26
9
|
DEFAULT_VIEW = "default.view",
|
package/utils/constants.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { LocalPolice, MoodBad, NewReleases, PsychologyAlt, Star, Timeline } from '@mui/icons-material';
|
|
3
|
-
import { blue,
|
|
3
|
+
import { blue, orange, pink, red, yellow } from '@mui/material/colors';
|
|
4
4
|
import dayjs from 'dayjs';
|
|
5
5
|
export const HOWLER_API = import.meta.env.VITE_API;
|
|
6
6
|
export const LOCAL = HOWLER_API === 'MOCK';
|
|
@@ -8,23 +8,6 @@ export const VERSION = import.meta.env.VITE_VERSION;
|
|
|
8
8
|
// A constant that will be used as prefix of all local storage keys.
|
|
9
9
|
export const MY_LOCAL_STORAGE_PREFIX = 'howler.ui';
|
|
10
10
|
export const MY_SESSION_STORAGE_PREFIX = `${MY_LOCAL_STORAGE_PREFIX}.cache`;
|
|
11
|
-
export const ESCALATION_COLORS = {
|
|
12
|
-
alert: 'warning',
|
|
13
|
-
evidence: 'error',
|
|
14
|
-
hit: 'primary'
|
|
15
|
-
};
|
|
16
|
-
export const STATUS_COLORS = {
|
|
17
|
-
open: 'primary',
|
|
18
|
-
'in-progress': 'warning',
|
|
19
|
-
resolved: 'success'
|
|
20
|
-
};
|
|
21
|
-
export const PROVIDER_COLORS = {
|
|
22
|
-
HBS: indigo[700],
|
|
23
|
-
NBS: pink.A200,
|
|
24
|
-
CBS: teal[700],
|
|
25
|
-
howler: '#1769bb',
|
|
26
|
-
unknown: grey[700]
|
|
27
|
-
};
|
|
28
11
|
export var StorageKey;
|
|
29
12
|
(function (StorageKey) {
|
|
30
13
|
StorageKey["DISABLE_FEATURE_WARNING"] = "disable.feature.warning";
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import hitsData from './hit.json';
|
|
2
|
+
const isRecord = (value) => {
|
|
3
|
+
return typeof value === 'object' && value !== null;
|
|
4
|
+
};
|
|
5
|
+
const isHitFixture = (value) => {
|
|
6
|
+
if (!isRecord(value) || typeof value.timestamp !== 'string' || !isRecord(value.howler)) {
|
|
7
|
+
return false;
|
|
8
|
+
}
|
|
9
|
+
const { analytic, assignment, hash, id } = value.howler;
|
|
10
|
+
return [analytic, assignment, hash, id].every(field => typeof field === 'string');
|
|
11
|
+
};
|
|
12
|
+
export const getExampleHit = () => {
|
|
13
|
+
const hit = Object.values(hitsData.GET)[0];
|
|
14
|
+
if (!isHitFixture(hit)) {
|
|
15
|
+
throw new Error('The example hit fixture is missing required Hit fields.');
|
|
16
|
+
}
|
|
17
|
+
return Object.assign(structuredClone(hit), { __index: 'hit' });
|
|
18
|
+
};
|
package/utils/localStorage.d.ts
CHANGED
|
@@ -11,11 +11,11 @@ export declare const removeStored: (name: StorageKey) => void;
|
|
|
11
11
|
* If you want to edit localStorage items inside a React component, use
|
|
12
12
|
* src/components/hooks/useMyLocalStorage.tsx.
|
|
13
13
|
*/
|
|
14
|
-
export declare const setStored: (name: StorageKey, item:
|
|
14
|
+
export declare const setStored: (name: StorageKey, item: unknown) => void;
|
|
15
15
|
/**
|
|
16
16
|
* **IMPORTANT**: This function should only be used OUTSIDE of the React tree.
|
|
17
17
|
* If you want to edit localStorage items inside a React component, use
|
|
18
18
|
* src/components/hooks/useMyLocalStorage.tsx.
|
|
19
19
|
*/
|
|
20
|
-
export declare const getStored: <T = string>(name
|
|
20
|
+
export declare const getStored: <T = string>(name: StorageKey) => T | null;
|
|
21
21
|
export declare const saveLoginCredential: (loginRes: LoginResponse) => boolean;
|
package/utils/localStorage.js
CHANGED
|
@@ -23,7 +23,7 @@ export const setStored = (name, item) => {
|
|
|
23
23
|
*/
|
|
24
24
|
export const getStored = (name) => {
|
|
25
25
|
try {
|
|
26
|
-
return JSON.parse(localStorage.getItem(buildName(name)));
|
|
26
|
+
return JSON.parse(localStorage.getItem(buildName(name)) ?? 'null');
|
|
27
27
|
}
|
|
28
28
|
catch {
|
|
29
29
|
// Migrating from the old system, some values were not JSON encoded. Decoding them will cause an exception.
|
package/utils/menuUtils.d.ts
CHANGED
|
@@ -1,89 +1,3 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
private indexMap;
|
|
5
|
-
constructor(defaultMenu: AppLeftNavElement[]);
|
|
6
|
-
/**
|
|
7
|
-
* Applies a collection of Menu Operation objects created by the plugin system
|
|
8
|
-
*
|
|
9
|
-
* @param operations Operations created by the plugin system
|
|
10
|
-
*/
|
|
11
|
-
applyOperations(operations: {
|
|
12
|
-
operation: string;
|
|
13
|
-
targetId: string;
|
|
14
|
-
item: AppLeftNavElement;
|
|
15
|
-
}[]): void;
|
|
16
|
-
/**
|
|
17
|
-
* Get the completed menu structure
|
|
18
|
-
*/
|
|
19
|
-
get menu(): AppLeftNavElement[];
|
|
20
|
-
/**
|
|
21
|
-
* Insert provided menu item at the menu object identified by targetId.
|
|
22
|
-
*
|
|
23
|
-
* If the target menu is a group then item will be placed at end of sub items
|
|
24
|
-
*
|
|
25
|
-
* If the target menu is a standard item then group will be created and new item added, warning this removes
|
|
26
|
-
* the route from the new group parent item, be sure to add it back.
|
|
27
|
-
*
|
|
28
|
-
* If the target is 'root' then item will be added to end of root menu
|
|
29
|
-
*
|
|
30
|
-
* @param targetId Identifier of menu to insert to
|
|
31
|
-
* @param item Menu Item to insert
|
|
32
|
-
*/
|
|
33
|
-
insert(targetId: string, item: AppLeftNavElement): void;
|
|
34
|
-
/**
|
|
35
|
-
* Insert provided menu item before the menu object identified by targetId.
|
|
36
|
-
*
|
|
37
|
-
* @param targetId Identifier of menu to insert to
|
|
38
|
-
* @param item Menu Item to insert
|
|
39
|
-
*/
|
|
40
|
-
insertBefore(targetId: string, item: AppLeftNavElement): void;
|
|
41
|
-
/**
|
|
42
|
-
* Insert provided menu item after the menu object identified by targetId.
|
|
43
|
-
*
|
|
44
|
-
* @param targetId Identifier of menu to insert to
|
|
45
|
-
* @param item Menu Item to insert
|
|
46
|
-
*/
|
|
47
|
-
insertAfter(targetId: string, item: AppLeftNavElement): void;
|
|
48
|
-
/**
|
|
49
|
-
* Locates menu location in menu structure by menu id.
|
|
50
|
-
*
|
|
51
|
-
* @param id Menu Id to search for
|
|
52
|
-
* @return {index: number, subIndex: number} A dictionary containing indexes needed to access Menu Item
|
|
53
|
-
*/
|
|
54
|
-
indexOfMenuId(id: string): {
|
|
55
|
-
index: number;
|
|
56
|
-
subIndex?: number;
|
|
57
|
-
};
|
|
58
|
-
/**
|
|
59
|
-
* Grabs a menu by indexes, helper function to account for an index of -1
|
|
60
|
-
* to represent the root menu
|
|
61
|
-
*
|
|
62
|
-
* @param index First level index
|
|
63
|
-
* @param subIndex Second level index
|
|
64
|
-
* @return {} Menu item
|
|
65
|
-
*/
|
|
66
|
-
menuFromIndex(index: number, subIndex?: number): AppLeftNavElement[] | AppLeftNavElement | AppLeftNavItem;
|
|
67
|
-
/**
|
|
68
|
-
* Determine if provided element is a group element
|
|
69
|
-
*
|
|
70
|
-
* @param elem Element to check
|
|
71
|
-
* @private
|
|
72
|
-
*/
|
|
73
|
-
private isGroupElement;
|
|
74
|
-
/**
|
|
75
|
-
* Determine if provided element is an item element
|
|
76
|
-
*
|
|
77
|
-
* @param elem Element to check
|
|
78
|
-
* @private
|
|
79
|
-
*/
|
|
80
|
-
private isItemElement;
|
|
81
|
-
/**
|
|
82
|
-
* Creates a flat list of menu items and subitems by menu id
|
|
83
|
-
* for quick lookup.
|
|
84
|
-
*
|
|
85
|
-
* @private
|
|
86
|
-
*/
|
|
87
|
-
private updateMenuMap;
|
|
88
|
-
}
|
|
89
|
-
export default AppMenuBuilder;
|
|
1
|
+
import type { LeftNavMenuProps } from '@tui/core';
|
|
2
|
+
import type { MainMenuOperation } from '@cccsaurora/howler-ui/plugins/store';
|
|
3
|
+
export declare const applyMainMenuOperations: (root: LeftNavMenuProps, operations: readonly MainMenuOperation[]) => LeftNavMenuProps;
|