@cccsaurora/howler-ui 2.19.0-dev.1294 → 2.19.0-dev.1296
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/index.d.ts +1 -1
- package/api/search/action.js +1 -1
- package/api/search/analytic.js +1 -1
- package/api/search/case.js +1 -1
- package/api/search/count/hit.js +1 -1
- package/api/search/dossier.js +1 -1
- package/api/search/eql/hit.js +1 -1
- package/api/search/explain/hit.js +1 -1
- package/api/search/facet/hit.js +1 -1
- package/api/search/grouped/hit.js +1 -1
- package/api/search/grouped/user.js +1 -1
- package/api/search/histogram/hit.js +1 -1
- package/api/search/hit.js +1 -1
- package/api/search/overview.js +1 -1
- package/api/search/sigma/hit.js +1 -1
- package/api/search/template.js +1 -1
- package/api/search/user.js +1 -1
- package/api/search/view.js +1 -1
- package/api/v2/search/facet.js +1 -1
- package/api/v2/search/index.js +1 -1
- package/api/view/index.d.ts +1 -1
- package/branding/AppBrand.d.ts +2 -2
- package/commons/components/app/AppSkeleton.js +1 -1
- package/commons/components/app/hooks/useAppConfigs.d.ts +2 -2
- package/commons/components/app/hooks/useAppSitemap.d.ts +5 -2
- package/commons/components/breadcrumbs/BreadcrumbIcon.js +1 -1
- package/commons/components/breadcrumbs/Breadcrumbs.d.ts +3 -2
- package/commons/components/display/AppToc.d.ts +2 -1
- package/commons/components/display/AppToc.js +1 -1
- package/commons/components/display/hooks/useAppColor.d.ts +1 -1
- package/commons/components/leftnav/LeftNavDrawer.d.ts +2 -1
- package/commons/components/leftnav/LeftNavGroup.d.ts +2 -1
- package/commons/components/leftnav/LeftNavItem.d.ts +2 -1
- package/commons/components/leftnav/LeftNavItem.js +1 -1
- package/commons/components/notification/Notification.js +1 -1
- package/commons/components/notification/elements/NotificationHeader.js +1 -1
- package/commons/components/notification/elements/NotificationItems.js +1 -1
- package/commons/components/notification/elements/item/NotificationItemAuthor.js +1 -1
- package/commons/components/pages/PageCenter.d.ts +2 -1
- package/commons/components/pages/PageContent.d.ts +2 -1
- package/commons/components/pages/PageFullScreen.d.ts +2 -1
- package/commons/components/search/AppSearch.js +1 -1
- package/commons/components/search/AppSearchInput.d.ts +2 -1
- package/commons/components/search/AppSearchResult.d.ts +2 -1
- package/commons/components/topnav/AppBar.d.ts +2 -1
- package/commons/components/topnav/AppName.d.ts +3 -2
- package/commons/components/topnav/AppSwitcher.d.ts +2 -1
- package/commons/components/topnav/ThemeSelection.d.ts +2 -1
- package/commons/components/topnav/ThemeSelection.js +1 -1
- package/commons/components/topnav/UserProfile.d.ts +2 -1
- package/commons/components/topnav/UserProfile.js +1 -1
- package/commons/components/utils/hooks/useThemeBuilder.d.ts +1 -1
- package/components/app/App.js +2 -2
- package/components/app/drawers/ApiKeyDrawer.js +1 -1
- package/components/app/hooks/useMatchers.js +4 -4
- package/components/app/hooks/useTitle.js +1 -1
- package/components/app/providers/AnalyticProvider.js +1 -1
- package/components/app/providers/AvatarProvider.js +1 -1
- package/components/app/providers/FavouritesProvider.js +1 -1
- package/components/app/providers/GridColumnsProvider.d.ts +1 -1
- package/components/app/providers/GridColumnsProvider.js +1 -1
- package/components/app/providers/OverviewProvider.js +1 -1
- package/components/app/providers/RecordProvider.js +2 -2
- package/components/app/providers/RecordSearchProvider.js +2 -2
- package/components/app/providers/SocketProvider.js +3 -3
- package/components/app/providers/UserListProvider.test.js +6 -6
- package/components/app/providers/ViewProvider.js +3 -3
- package/components/elements/Comment.js +2 -2
- package/components/elements/ContextMenu.test.js +3 -3
- package/components/elements/EditRow.js +4 -4
- package/components/elements/ObjectDetails.js +1 -1
- package/components/elements/UserList.js +1 -1
- package/components/elements/addons/buttons/index.d.ts +1 -1
- package/components/elements/addons/layout/FlexOne.d.ts +3 -2
- package/components/elements/addons/layout/FlexPort.d.ts +2 -1
- package/components/elements/addons/layout/FlexVertical.d.ts +2 -1
- package/components/elements/addons/layout/vsbox/VSBoxElement.d.ts +2 -1
- package/components/elements/addons/lists/TuiList.d.ts +2 -1
- package/components/elements/addons/lists/TuiListBase.d.ts +2 -1
- package/components/elements/addons/lists/TuiListElement.d.ts +2 -1
- package/components/elements/addons/lists/TuiListMenu.d.ts +2 -1
- package/components/elements/addons/lists/TuiListMenu.js +1 -1
- package/components/elements/addons/lists/table/TuiTableHeader.d.ts +3 -2
- package/components/elements/addons/lists/table/index.d.ts +1 -1
- package/components/elements/case/CaseCard.js +2 -2
- package/components/elements/display/ActionButton.js +1 -1
- package/components/elements/display/ChipPopper.js +1 -1
- package/components/elements/display/ClassificationChip.d.ts +1 -1
- package/components/elements/display/HandlebarsMarkdown.js +3 -3
- package/components/elements/display/HowlerAvatar.js +2 -2
- package/components/elements/display/Image.js +3 -3
- package/components/elements/display/Markdown.js +2 -2
- package/components/elements/display/handlebars/helpers.js +3 -3
- package/components/elements/display/json/JSONViewer.js +2 -2
- package/components/elements/display/modals/RationaleModal.js +2 -2
- package/components/elements/display/modals/RationaleModal.test.js +1 -1
- package/components/elements/event/EventCard.js +1 -1
- package/components/elements/hit/HitActions.d.ts +1 -1
- package/components/elements/hit/HitActions.js +1 -1
- package/components/elements/hit/HitBanner.js +1 -1
- package/components/elements/hit/HitCard.js +1 -1
- package/components/elements/hit/HitLabels.js +1 -1
- package/components/elements/hit/HitNotebooks.js +9 -9
- package/components/elements/hit/HitOutline.js +1 -1
- package/components/elements/hit/HitOverview.js +1 -1
- package/components/elements/hit/HitPreview.js +1 -1
- package/components/elements/hit/HitSummary.js +2 -2
- package/components/elements/hit/ResolvePivotUrl.d.ts +1 -1
- package/components/elements/hit/actions/ButtonActions.js +1 -3
- package/components/elements/hit/aggregate/HitGraph.js +1 -1
- package/components/elements/hit/elements/AnalyticLink.js +1 -1
- package/components/elements/hit/elements/Assigned.js +1 -1
- package/components/elements/hit/grid/AddColumnModal.js +1 -1
- package/components/elements/hit/grid/ColumnHeader.js +1 -1
- package/components/elements/hit/grid/RecordRow.js +1 -1
- package/components/elements/hit/grid/RecordTable.js +2 -2
- package/components/elements/hit/outlines/DefaultOutline.js +1 -3
- package/components/elements/hit/related/PivotLink.js +1 -1
- package/components/elements/record/RecordComments.js +5 -7
- package/components/elements/record/RecordContextMenu.js +2 -2
- package/components/elements/record/RecordContextMenu.test.js +4 -4
- package/components/elements/record/RecordWorklog.js +1 -1
- package/components/elements/view/LayoutToggle.d.ts +1 -1
- package/components/hooks/useHitActions.js +1 -1
- package/components/hooks/useLocalStorage.js +1 -1
- package/components/hooks/useLocalStorageItem.test.js +2 -2
- package/components/hooks/useMyChart.d.ts +23 -23
- package/components/hooks/useMySnackbar.js +1 -1
- package/components/hooks/useMyUserFunctions.d.ts +21 -21
- package/components/hooks/useRelatedRecords.js +1 -1
- package/components/logins/Login.js +1 -1
- package/components/logins/auth/OAuthLogin.js +1 -1
- package/components/logins/hooks/useLogin.js +2 -2
- package/components/routes/action/edit/ActionEditor.js +4 -4
- package/components/routes/action/shared/OperationEntry.js +1 -1
- package/components/routes/action/shared/OperationStep.js +1 -1
- package/components/routes/action/useMyActionFunctions.js +1 -1
- package/components/routes/action/view/ActionDetails.js +2 -2
- package/components/routes/action/view/ActionSearch.js +4 -4
- package/components/routes/admin/users/UserEditor.js +1 -1
- package/components/routes/admin/users/UserSearch.js +5 -5
- package/components/routes/advanced/QueryBuilder.js +2 -2
- package/components/routes/advanced/luceneCompletionProvider.js +1 -1
- package/components/routes/analytics/AnalyticComments.js +3 -5
- package/components/routes/analytics/AnalyticDetails.js +2 -2
- package/components/routes/analytics/AnalyticHitComments.js +1 -1
- package/components/routes/analytics/AnalyticHitComments.test.js +1 -1
- package/components/routes/analytics/AnalyticOverview.js +2 -2
- package/components/routes/analytics/AnalyticOverviews.js +1 -1
- package/components/routes/analytics/AnalyticSearch.js +2 -2
- package/components/routes/analytics/AnalyticTemplates.js +1 -1
- package/components/routes/analytics/TriageSettings.js +2 -2
- package/components/routes/analytics/widgets/Assessment.js +1 -1
- package/components/routes/analytics/widgets/Created.js +1 -1
- package/components/routes/analytics/widgets/Escalation.js +1 -1
- package/components/routes/analytics/widgets/Stacked.js +1 -1
- package/components/routes/cases/CaseViewer.js +1 -1
- package/components/routes/cases/Cases.js +3 -3
- package/components/routes/cases/constants.d.ts +1 -1
- package/components/routes/cases/detail/CaseDashboard.js +1 -1
- package/components/routes/cases/detail/CaseDetails.js +3 -3
- package/components/routes/cases/detail/CaseObservables.js +2 -2
- package/components/routes/cases/detail/CaseRules.js +3 -3
- package/components/routes/cases/detail/CaseSearch.js +2 -2
- package/components/routes/cases/detail/CaseSearch.test.js +1 -1
- package/components/routes/cases/detail/CaseTask.js +4 -4
- package/components/routes/cases/detail/CaseTimeline.js +2 -2
- package/components/routes/cases/detail/CreateRuleDialog.test.js +1 -1
- package/components/routes/cases/detail/ItemPage.js +1 -1
- package/components/routes/cases/detail/MarkdownPage.js +1 -1
- package/components/routes/cases/detail/TaskPanel.js +2 -2
- package/components/routes/cases/detail/sidebar/CaseFolder.js +2 -2
- package/components/routes/cases/detail/sidebar/CaseFolderContextMenu.js +1 -1
- package/components/routes/cases/detail/utils.d.ts +1 -1
- package/components/routes/cases/hooks/useCase.js +2 -5
- package/components/routes/cases/modals/AddRecordToCaseModal.js +2 -2
- package/components/routes/cases/modals/AddToCaseModal.js +1 -1
- package/components/routes/cases/modals/CreateCaseModal.js +1 -1
- package/components/routes/cases/modals/RenameItemModal.js +2 -2
- package/components/routes/cases/modals/ResolveModal.js +1 -1
- package/components/routes/cases/modals/hooks.d.ts +1 -1
- package/components/routes/dossiers/DossierEditor.js +2 -2
- package/components/routes/dossiers/DossierEditor.test.js +1 -1
- package/components/routes/dossiers/Dossiers.js +3 -3
- package/components/routes/dossiers/PivotForm.js +2 -4
- package/components/routes/events/EventViewer.js +1 -1
- package/components/routes/help/ApiDocumentation.js +1 -1
- package/components/routes/help/HitBannerDocumentation.js +1 -1
- package/components/routes/help/HitSchemaDocumentation.js +1 -1
- package/components/routes/help/RetentionDocumentation.js +2 -2
- package/components/routes/help/SearchDocumentation.js +1 -1
- package/components/routes/hits/search/InformationPane.js +5 -5
- package/components/routes/hits/search/QuerySettings.test.js +4 -5
- package/components/routes/hits/search/RecordBrowser.js +1 -1
- package/components/routes/hits/search/SearchPane.js +4 -2
- package/components/routes/hits/search/ViewLink.js +1 -1
- package/components/routes/hits/search/shared/CustomSort.js +1 -1
- package/components/routes/hits/search/shared/HitFilter.d.ts +1 -1
- package/components/routes/hits/search/shared/HitSort.d.ts +1 -1
- package/components/routes/hits/search/shared/HitSort.js +1 -1
- package/components/routes/hits/search/shared/SearchSpan.d.ts +1 -1
- package/components/routes/hits/search/shared/SearchSpan.js +1 -1
- package/components/routes/hits/view/HitViewer.js +3 -3
- package/components/routes/home/AddNewCard.js +2 -2
- package/components/routes/home/AnalyticCard.js +1 -1
- package/components/routes/home/EntryWrapper.js +1 -1
- package/components/routes/home/HomeSettings.js +1 -1
- package/components/routes/home/ViewCard.js +5 -5
- package/components/routes/home/index.js +2 -2
- package/components/routes/overviews/OverviewCard.js +1 -1
- package/components/routes/overviews/OverviewViewer.js +3 -3
- package/components/routes/overviews/Overviews.js +3 -3
- package/components/routes/overviews/markdownExtendedTokenProvider.js +15 -15
- package/components/routes/settings/ProfileSection.js +2 -2
- package/components/routes/templates/TemplateEditor.d.ts +3 -2
- package/components/routes/templates/TemplateEditor.js +1 -1
- package/components/routes/templates/TemplateViewer.js +3 -3
- package/components/routes/templates/Templates.js +3 -3
- package/components/routes/views/ViewComposer.js +3 -3
- package/components/routes/views/Views.js +2 -2
- package/i18n.js +1 -1
- package/index.d.ts +1 -1
- package/index.js +1 -1
- package/locales/en/translation.json +1 -0
- package/locales/fr/translation.json +1 -0
- package/package.json +134 -134
- package/plugins/clue/components/ClueLeadForm.js +1 -1
- package/plugins/clue/components/CluePivotForm.js +2 -2
- package/plugins/clue/helpers.js +4 -4
- package/plugins/clue/index.d.ts +2 -1
- package/rest/AxiosClient.test.js +1 -0
- package/utils/Throttler.test.js +2 -2
- package/utils/actionUtils.d.ts +3 -3
- package/utils/classificationParser.js +20 -20
- package/utils/constants.d.ts +3 -3
- package/utils/localStorage.js +1 -1
- package/utils/menuUtils.js +0 -4
- package/utils/stringUtils.test.js +1 -1
- package/utils/utils.d.ts +1 -1
- package/utils/utils.js +2 -2
- package/utils/utils.test.js +1 -1
- package/utils/xsrf.js +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Avatar, Backdrop, Box, Button, Chip, CircularProgress, ClickAwayListener, Fade, MenuItem, Paper, Popper, Stack, TextField, Tooltip } from '@mui/material';
|
|
3
3
|
import api from '@cccsaurora/howler-ui/api';
|
|
4
4
|
import { ApiConfigContext } from '@cccsaurora/howler-ui/components/app/providers/ApiConfigProvider';
|
|
@@ -49,7 +49,7 @@ const HitNotebooks = ({ analytic, selectedNotebook, hit, compact }) => {
|
|
|
49
49
|
window.open(`${envs[0].url}lab/tree/${filename}`, '_blank');
|
|
50
50
|
setOpen(false);
|
|
51
51
|
}
|
|
52
|
-
catch
|
|
52
|
+
catch {
|
|
53
53
|
showErrorMessage(t('hit.notebook.error.failToPost'));
|
|
54
54
|
}
|
|
55
55
|
}, [envs, loadedNotebook, showErrorMessage, t]);
|
|
@@ -62,16 +62,16 @@ const HitNotebooks = ({ analytic, selectedNotebook, hit, compact }) => {
|
|
|
62
62
|
if (response.status < 300) {
|
|
63
63
|
// if it exists, we need to ask for overwrite
|
|
64
64
|
showModal(_jsx(ConfirmNotebookModal, { onConfirm: () => {
|
|
65
|
-
goToJupyhub(nbFileName, `${envs[0].url}post/${nbFileName}`);
|
|
65
|
+
void goToJupyhub(nbFileName, `${envs[0].url}post/${nbFileName}`);
|
|
66
66
|
} }));
|
|
67
67
|
}
|
|
68
68
|
else {
|
|
69
|
-
goToJupyhub(nbFileName, `${envs[0].url}post/${nbFileName}`);
|
|
69
|
+
void goToJupyhub(nbFileName, `${envs[0].url}post/${nbFileName}`);
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
|
-
catch
|
|
72
|
+
catch {
|
|
73
73
|
// error means notebook doesn't exist, we can proceed with posting
|
|
74
|
-
goToJupyhub(nbFileName, `${envs[0].url}post/${nbFileName}`);
|
|
74
|
+
void goToJupyhub(nbFileName, `${envs[0].url}post/${nbFileName}`);
|
|
75
75
|
}
|
|
76
76
|
setLoading(false);
|
|
77
77
|
}, [envs, goToJupyhub, hit, loadedNotebook, showModal]);
|
|
@@ -105,9 +105,9 @@ const HitNotebooks = ({ analytic, selectedNotebook, hit, compact }) => {
|
|
|
105
105
|
}, [analytic, dispatchApi, hit, selectedNotebook]);
|
|
106
106
|
useEffect(() => {
|
|
107
107
|
if (open) {
|
|
108
|
-
fetchEnvs(); //retrieve env info from howler-api/nbgallery
|
|
108
|
+
void fetchEnvs(); //retrieve env info from howler-api/nbgallery
|
|
109
109
|
if (selectedNotebook) {
|
|
110
|
-
fetchNb();
|
|
110
|
+
void fetchNb();
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
113
|
else {
|
|
@@ -120,7 +120,7 @@ const HitNotebooks = ({ analytic, selectedNotebook, hit, compact }) => {
|
|
|
120
120
|
}, [open]);
|
|
121
121
|
return (config.configuration.features.notebook &&
|
|
122
122
|
analytic?.notebooks && (_jsx(ClickAwayListener, { onClickAway: () => setOpen(false), mouseEvent: 'onMouseUp', children: _jsxs("div", { children: [_jsx(Popper, { open: open, anchorEl: anchorEl, placement: 'bottom', transition: true, sx: { zIndex: 1499 }, children: ({ TransitionProps }) => (_jsx(Fade, { ...TransitionProps, timeout: 350, children: _jsxs(Paper, { sx: { maxWidth: '90%', width: '400px', p: 1, position: 'relative' }, children: [_jsx(Backdrop, { open: loading, sx: { position: 'absolute', zIndex: theme => theme.zIndex.drawer + 1 }, children: _jsx(Stack, { direction: "column", children: _jsx("div", { style: { textAlign: 'center' }, children: _jsx(CircularProgress, { color: "inherit" }) }) }) }), _jsxs(Stack, { direction: "column", spacing: 2, sx: { p: 1 }, children: [_jsxs(TextField, { disabled: !!selectedNotebook, label: "Notebook", select: true, onChange: e => {
|
|
123
|
-
fetchNb(e.target.value);
|
|
123
|
+
void fetchNb(e.target.value);
|
|
124
124
|
}, SelectProps: {
|
|
125
125
|
MenuProps: {
|
|
126
126
|
style: { zIndex: 35001 }
|
|
@@ -15,7 +15,7 @@ const HitOutline = ({ hit, layout, lazy = false, forceAllFields = false }) => {
|
|
|
15
15
|
const [templateFieldCount] = useMyLocalStorageItem(StorageKey.TEMPLATE_FIELD_COUNT, null);
|
|
16
16
|
const [template, setTemplate] = useState(null);
|
|
17
17
|
useEffect(() => {
|
|
18
|
-
getMatchingTemplate(hit).then(setTemplate);
|
|
18
|
+
void getMatchingTemplate(hit).then(setTemplate);
|
|
19
19
|
}, [getMatchingTemplate, hit]);
|
|
20
20
|
const outline = useMemo(() => {
|
|
21
21
|
if (template) {
|
|
@@ -10,7 +10,7 @@ const HitOverview = ({ content, hit }) => {
|
|
|
10
10
|
const { getMatchingOverview } = useMatchers();
|
|
11
11
|
const [matchingOverview, setMatchingOverview] = useState(null);
|
|
12
12
|
useEffect(() => {
|
|
13
|
-
getMatchingOverview(hit).then(setMatchingOverview);
|
|
13
|
+
void getMatchingOverview(hit).then(setMatchingOverview);
|
|
14
14
|
}, [getMatchingOverview, hit]);
|
|
15
15
|
const link = useMemo(() => matchingOverview
|
|
16
16
|
? `/overviews/view?analytic=${encodeURIComponent(matchingOverview.analytic)}${matchingOverview.detection && '&detection=' + encodeURIComponent(matchingOverview.detection)}`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Box, Chip, Divider, Stack, Tooltip, Typography, useMediaQuery, useTheme } from '@mui/material';
|
|
3
3
|
import { memo, useMemo } from 'react';
|
|
4
4
|
import { Trans, useTranslation } from 'react-i18next';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Analytics, InfoOutlined } from '@mui/icons-material';
|
|
3
3
|
import { Alert, AlertTitle, Autocomplete, Box, Button, Chip, CircularProgress, Divider, Fade, Grid, LinearProgress, Stack, TextField, Tooltip, Typography } from '@mui/material';
|
|
4
4
|
import api from '@cccsaurora/howler-ui/api';
|
|
@@ -129,7 +129,7 @@ const HitSummary = ({ response, onStart, onComplete }) => {
|
|
|
129
129
|
if ((!query && views?.length < 1) || searching || error) {
|
|
130
130
|
return;
|
|
131
131
|
}
|
|
132
|
-
performAggregation();
|
|
132
|
+
void performAggregation();
|
|
133
133
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
134
134
|
}, [query, views, searching, error]);
|
|
135
135
|
return (_jsxs(Stack, { sx: { mx: 2, height: '100%' }, spacing: 1, children: [_jsx(Typography, { variant: "h6", children: t('hit.summary.aggregate.title') }), _jsx(Divider, { flexItem: true }), showHitSummaryGraph && (_jsxs(_Fragment, { children: [_jsx(HitGraph, {}), _jsx(Divider, { flexItem: true })] })), _jsxs(Stack, { sx: { overflow: 'auto', marginTop: '0 !important' }, pt: 1, spacing: 1, children: [_jsxs(Stack, { direction: "row", spacing: 2, mb: 2, alignItems: "stretch", children: [_jsx(Autocomplete, { fullWidth: true, multiple: true, sx: { minWidth: '175px' }, size: "small", value: customKeys, options: hitFields.map(_field => _field.key), renderInput: _params => _jsx(TextField, { ..._params, label: t('hit.summary.adhoc') }), onChange: (_, value) => setCustomKeys(value) }), _jsx(Button, { variant: "outlined", startIcon: loading ? _jsx(CircularProgress, { size: 20, sx: { ml: 1 } }) : _jsx(Analytics, { sx: { ml: 1 } }), disabled: loading, onClick: () => performAggregation(), children: t('button.aggregate') })] }), isEmpty(aggregateResults) && (_jsxs(Alert, { severity: "info", variant: "outlined", children: [_jsx(AlertTitle, { children: t('hit.summary.aggregate.nokeys.title') }), t('hit.summary.aggregate.nokeys.description')] })), loading && _jsx(LinearProgress, { sx: { minHeight: '4px' } }), Object.keys(aggregateResults)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { Dossier } from '@cccsaurora/howler-ui/models/entities/generated/Dossier';
|
|
2
2
|
import type { Hit } from '@cccsaurora/howler-ui/models/entities/generated/Hit';
|
|
3
|
-
declare const resolvePivotUrl: (pivot: NonNullable<Dossier[
|
|
3
|
+
declare const resolvePivotUrl: (pivot: NonNullable<Dossier['pivots']>[number], currentHit?: Hit) => string;
|
|
4
4
|
export default resolvePivotUrl;
|
|
@@ -91,9 +91,7 @@ const ButtonActions = ({ actions, loading, orientation, shortcuts, currentVote }
|
|
|
91
91
|
gridRow: rowIndex + 2
|
|
92
92
|
}
|
|
93
93
|
: { gridColumn: rowIndex + 1, gridRow: index + 3 + actionRows[0].length };
|
|
94
|
-
const button = (
|
|
95
|
-
// Set tooltip placement to be uniform for all buttons
|
|
96
|
-
_jsx(Tooltip, { title: t(`hit.details.asessments.${action.name}.description`), placement: "top", children: _jsx(Button, { variant: "outlined", size: "small", disabled: loading, onClick: action.actionFunction, sx: [
|
|
94
|
+
const button = (_jsx(Tooltip, { title: t(`hit.details.asessments.${action.name}.description`), placement: "top", children: _jsx(Button, { variant: "outlined", size: "small", disabled: loading, onClick: action.actionFunction, sx: [
|
|
97
95
|
{
|
|
98
96
|
width: '100%',
|
|
99
97
|
p: 0.6
|
|
@@ -112,7 +112,7 @@ const HitGraph = () => {
|
|
|
112
112
|
if ((!query && views?.length < 1) || error || !response) {
|
|
113
113
|
return;
|
|
114
114
|
}
|
|
115
|
-
performQuery();
|
|
115
|
+
void performQuery();
|
|
116
116
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
117
117
|
}, [query, views, error, span, response, escalationFilter, filterField]);
|
|
118
118
|
const options = useMemo(() => {
|
|
@@ -10,7 +10,7 @@ const AnalyticLink = ({ hit, lazy = false, compressed, alignSelf = 'start' }) =>
|
|
|
10
10
|
if (!hit?.howler.analytic) {
|
|
11
11
|
return;
|
|
12
12
|
}
|
|
13
|
-
getMatchingAnalytic(hit).then(analytic => setAnalyticId(analytic?.analytic_id));
|
|
13
|
+
void getMatchingAnalytic(hit).then(analytic => setAnalyticId(analytic?.analytic_id));
|
|
14
14
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
15
15
|
}, [hit?.howler.analytic]);
|
|
16
16
|
return (_jsxs(Typography, { variant: compressed ? 'body1' : 'h6', fontWeight: compressed && 'bold', sx: { alignSelf, '& a': { color: 'text.primary' } }, children: [analyticId ? (_jsx(Link, { to: `/analytics/${analyticId}`, target: "_blank", rel: "noopener noreferrer", onAuxClick: e => {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { avatarClasses, AvatarGroup, Chip, Divider, Stack, Typography } from '@mui/material';
|
|
3
3
|
import { useAppUser } from '@cccsaurora/howler-ui/commons/components/app/hooks';
|
|
4
4
|
import { SocketContext } from '@cccsaurora/howler-ui/components/app/providers/SocketProvider';
|
|
@@ -19,7 +19,7 @@ const AddColumnModal = ({ addColumn, columns }) => {
|
|
|
19
19
|
const options = useMemo(() => hitFields.map(field => field.key), [hitFields]);
|
|
20
20
|
const [suggestions, setSuggestions] = useState([]);
|
|
21
21
|
useEffect(() => {
|
|
22
|
-
(async () => {
|
|
22
|
+
void (async () => {
|
|
23
23
|
setSuggestions(uniq((await Promise.all((response?.items ?? []).filter(isHit).map(async (_hit) => (await getMatchingTemplate(_hit))?.keys ?? []))).flat()));
|
|
24
24
|
})();
|
|
25
25
|
}, [getMatchingTemplate, response?.items]);
|
|
@@ -15,7 +15,7 @@ const ColumnHeader = ({ col, width, colSource, setColumns, onMouseDown }) => {
|
|
|
15
15
|
borderRightColor: 'divider',
|
|
16
16
|
py: 0.5,
|
|
17
17
|
position: 'relative'
|
|
18
|
-
}, style: { transform: CSS.Translate.toString(transform), transition }, children: _jsxs(Stack, { className: `col-${col.replaceAll('.', '-')}`, direction: "row", spacing: 1, alignItems: "center", sx: [{ minWidth: '220px' },
|
|
18
|
+
}, style: { transform: CSS.Translate.toString(transform), transition }, children: _jsxs(Stack, { className: `col-${col.replaceAll('.', '-')}`, direction: "row", spacing: 1, alignItems: "center", sx: [{ minWidth: '220px' }, width ? { width, maxWidth: width } : { maxWidth: '300px' }], children: [_jsx(Tooltip, { title: config.indexes.hit[col].description, children: _jsx("span", { children: col }) }), colSource?.length > 1 && (_jsx(Tooltip, { title: colSource.join(', '), children: _jsx(JoinFull, { fontSize: "small" }) })), _jsx(FlexOne, {}), _jsx(IconButton, { size: "small", sx: { fontSize: '1rem' }, onClick: () => setColumns(_columns => _columns.filter(_col => _col !== col)), children: _jsx(Remove, { fontSize: "inherit" }) }), _jsx(DragIndicator, { fontSize: "small", sx: { cursor: 'grab' }, ...attributes, ...listeners }), _jsx(Box, { sx: {
|
|
19
19
|
position: 'absolute',
|
|
20
20
|
top: theme.spacing(0.75),
|
|
21
21
|
bottom: theme.spacing(0.75),
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { KeyboardArrowUp } from '@mui/icons-material';
|
|
3
3
|
import { Box, Collapse, IconButton, lighten, Stack, TableCell, TableRow, Typography, useTheme } from '@mui/material';
|
|
4
4
|
import { ParameterContext } from '@cccsaurora/howler-ui/components/app/providers/ParameterProvider';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { DndContext, KeyboardSensor, PointerSensor, pointerWithin, useSensor, useSensors } from '@dnd-kit/core';
|
|
3
3
|
import { arrayMove, SortableContext, sortableKeyboardCoordinates } from '@dnd-kit/sortable';
|
|
4
4
|
import { FormatIndentDecrease, FormatIndentIncrease, Search } from '@mui/icons-material';
|
|
@@ -23,7 +23,7 @@ const RecordTable = ({ query, items, refreshItems, ContextMenu, contextMenuProps
|
|
|
23
23
|
if (!isHit(record) || analyticIds[record.howler.analytic]) {
|
|
24
24
|
return;
|
|
25
25
|
}
|
|
26
|
-
getMatchingAnalytic(record).then(_analytic => {
|
|
26
|
+
void getMatchingAnalytic(record).then(_analytic => {
|
|
27
27
|
if (_analytic) {
|
|
28
28
|
setAnalyticIds(_analyticIds => ({ ..._analyticIds, [record.howler.analytic]: _analytic.analytic_id }));
|
|
29
29
|
}
|
|
@@ -32,9 +32,7 @@ const DefaultOutline = ({ hit, fields, template, layout = HitLayout.NORMAL, read
|
|
|
32
32
|
return (_jsxs(Box, { display: "grid", gridTemplateColumns: "auto 1fr", columnGap: 1, sx: { position: 'relative' }, children: [_jsx(IconButton, { size: "small", sx: { position: 'absolute', right: 0, top: 0 }, onClick: handleOpen, children: readonly ? ( // Built in template
|
|
33
33
|
_jsx(Tooltip, { title: t('route.templates.builtin'), children: _jsx(Lock, { fontSize: "small" }) })) : !template ? ( // No type specified => using the default
|
|
34
34
|
_jsx(Tooltip, { title: t('route.templates.default'), children: _jsx(Info, { fontSize: "small" }) })) : template.type === 'global' ? ( // Type is global => global template
|
|
35
|
-
_jsx(Tooltip, { title: t('route.templates.global'), children: _jsx(Language, { fontSize: "small" }) })) : (
|
|
36
|
-
// Finally, type isn't global => personal template
|
|
37
|
-
_jsx(Tooltip, { title: t('route.templates.personal'), children: _jsx(Person, { fontSize: "small" }) })) }), (fields ?? [])
|
|
35
|
+
_jsx(Tooltip, { title: t('route.templates.global'), children: _jsx(Language, { fontSize: "small" }) })) : (_jsx(Tooltip, { title: t('route.templates.personal'), children: _jsx(Person, { fontSize: "small" }) })) }), (fields ?? [])
|
|
38
36
|
.map(field => [field, get(hit, field)])
|
|
39
37
|
.map(([field, data]) => {
|
|
40
38
|
const displayedData = (Array.isArray(data) ? data.join(', ') : isObject(data) ? JSON.stringify(data) : data)?.toString();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { ErrorOutline } from '@mui/icons-material';
|
|
3
3
|
import { Tooltip } from '@mui/material';
|
|
4
4
|
import { useHelpers } from '@cccsaurora/howler-ui/components/elements/display/handlebars/helpers';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Clear, KeyboardArrowDown, Send } from '@mui/icons-material';
|
|
3
3
|
import { Accordion, AccordionDetails, AccordionSummary, AvatarGroup, Chip, IconButton, Skeleton, Stack, TextField, Typography } from '@mui/material';
|
|
4
4
|
import api from '@cccsaurora/howler-ui/api';
|
|
@@ -52,7 +52,7 @@ const RecordComments = ({ record, users }) => {
|
|
|
52
52
|
}, [handler]);
|
|
53
53
|
useEffect(() => {
|
|
54
54
|
if (isHit(record) && record.howler.analytic) {
|
|
55
|
-
getMatchingAnalytic(record).then(analytic => {
|
|
55
|
+
void getMatchingAnalytic(record).then(analytic => {
|
|
56
56
|
setAnalyticId(analytic?.analytic_id);
|
|
57
57
|
setAnalyticComments(sortByTimestamp(analytic?.comment ?? []));
|
|
58
58
|
});
|
|
@@ -104,7 +104,7 @@ const RecordComments = ({ record, users }) => {
|
|
|
104
104
|
setLength(input.current.value.length);
|
|
105
105
|
}
|
|
106
106
|
if (e.ctrlKey && e.key === 'Enter' && !loading) {
|
|
107
|
-
onSubmit();
|
|
107
|
+
void onSubmit();
|
|
108
108
|
}
|
|
109
109
|
}, [loading, onSubmit]);
|
|
110
110
|
const checkLength = useCallback(() => setLength(input.current?.value.length), []);
|
|
@@ -137,13 +137,11 @@ const RecordComments = ({ record, users }) => {
|
|
|
137
137
|
const handleReact = useCallback(async (commentId, type) => {
|
|
138
138
|
if (type) {
|
|
139
139
|
await dispatchApi(api.hit.comments.react.put(record.howler.id, commentId, type));
|
|
140
|
-
setComments(comments.map(cmt => cmt.id !== commentId ? cmt : { ...cmt, reactions: { ...
|
|
140
|
+
setComments(comments.map(cmt => cmt.id !== commentId ? cmt : { ...cmt, reactions: { ...cmt?.reactions, [user.username]: type } }));
|
|
141
141
|
}
|
|
142
142
|
else {
|
|
143
143
|
await dispatchApi(api.hit.comments.react.del(record.howler.id, commentId));
|
|
144
|
-
setComments(comments.map(cmt => cmt.id !== commentId
|
|
145
|
-
? cmt
|
|
146
|
-
: { ...cmt, reactions: { ...(cmt?.reactions ?? {}), [user.username]: undefined } }));
|
|
144
|
+
setComments(comments.map(cmt => cmt.id !== commentId ? cmt : { ...cmt, reactions: { ...cmt?.reactions, [user.username]: undefined } }));
|
|
147
145
|
}
|
|
148
146
|
}, [comments, dispatchApi, record?.howler.id, user.username]);
|
|
149
147
|
/**
|
|
@@ -128,8 +128,8 @@ const RecordContextMenu = ({ children, getSelectedId, Component }) => {
|
|
|
128
128
|
if (!record?.howler.analytic) {
|
|
129
129
|
return;
|
|
130
130
|
}
|
|
131
|
-
getMatchingAnalytic(record).then(setAnalytic);
|
|
132
|
-
getMatchingTemplate(record).then(setTemplate);
|
|
131
|
+
void getMatchingAnalytic(record).then(setAnalytic);
|
|
132
|
+
void getMatchingTemplate(record).then(setTemplate);
|
|
133
133
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
134
134
|
}, [record]);
|
|
135
135
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { fireEvent, render, screen, waitFor } from '@testing-library/react';
|
|
3
3
|
import userEvent, {} from '@testing-library/user-event';
|
|
4
4
|
import { omit } from 'lodash-es';
|
|
@@ -91,10 +91,10 @@ vi.mock('@mui/material', async () => {
|
|
|
91
91
|
const actual = await vi.importActual('@mui/material');
|
|
92
92
|
return {
|
|
93
93
|
...actual,
|
|
94
|
-
Menu: ({ children, open, onClose, ...props }) => open ? (_jsx("div", { role: "menu", onClick: onClose, ...omit(props, ['sx', 'slotProps', 'MenuListProps', 'anchorOrigin', 'anchorEl']), children: children })) : null,
|
|
94
|
+
Menu: ({ children, open, onClose, ...props }) => open ? (_jsx("div", { tabIndex: 0, role: "menu", onClick: onClose, ...omit(props, ['sx', 'slotProps', 'MenuListProps', 'anchorOrigin', 'anchorEl']), children: children })) : null,
|
|
95
95
|
MenuItem: ({ children, onClick, disabled, component, to, ...props }) => {
|
|
96
96
|
const Component = component || 'div';
|
|
97
|
-
return (_jsx(Component, { role: "menuitem", onClick: onClick, "aria-disabled": disabled, href: to, ...omit(props, ['sx', 'component']), children: children }));
|
|
97
|
+
return (_jsx(Component, { tabIndex: 0, role: "menuitem", onClick: onClick, "aria-disabled": disabled, href: to, ...omit(props, ['sx', 'component']), children: children }));
|
|
98
98
|
},
|
|
99
99
|
Fade: ({ children, in: inProp }) => (inProp ? _jsx(_Fragment, { children: children }) : null),
|
|
100
100
|
ListItemIcon: ({ children }) => _jsx("div", { children: children }),
|
|
@@ -171,7 +171,7 @@ describe('HitContextMenu', () => {
|
|
|
171
171
|
});
|
|
172
172
|
act(() => {
|
|
173
173
|
const menu = screen.getByRole('menu');
|
|
174
|
-
user.click(menu);
|
|
174
|
+
void user.click(menu);
|
|
175
175
|
});
|
|
176
176
|
await waitFor(() => {
|
|
177
177
|
expect(screen.queryByRole('menu')).not.toBeInTheDocument();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { KeyboardArrowUp } from '@mui/icons-material';
|
|
3
3
|
import { CardContent, CardHeader, Divider, Skeleton, Stack, Tooltip, Typography, useTheme } from '@mui/material';
|
|
4
4
|
import { useMyLocalStorageItem } from '@cccsaurora/howler-ui/components/hooks/useMyLocalStorage';
|
|
@@ -2,7 +2,7 @@ export type HowlerViewLayoutType = 'list' | 'grid' | null;
|
|
|
2
2
|
declare const LayoutToggle: ({ displayType, setDisplayType, size, allowNullValue }: {
|
|
3
3
|
displayType: HowlerViewLayoutType;
|
|
4
4
|
setDisplayType: (type: HowlerViewLayoutType) => void;
|
|
5
|
-
size?:
|
|
5
|
+
size?: 'small' | 'medium' | 'large';
|
|
6
6
|
allowNullValue?: boolean;
|
|
7
7
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
8
8
|
export default LayoutToggle;
|
|
@@ -173,7 +173,7 @@ const useHitActions = (_hits) => {
|
|
|
173
173
|
...option,
|
|
174
174
|
actionFunction: () => {
|
|
175
175
|
if (!loading) {
|
|
176
|
-
manage(option.name.toLowerCase());
|
|
176
|
+
void manage(option.name.toLowerCase());
|
|
177
177
|
}
|
|
178
178
|
}
|
|
179
179
|
})), [config.config.lookups?.transitions, hits, loading, manage, user.username]);
|
|
@@ -51,7 +51,7 @@ describe('useLocalStorageItem', () => {
|
|
|
51
51
|
it('skips persisting to storage when save=false', () => {
|
|
52
52
|
const { result } = renderHook(() => useLocalStorageItem('testkey', 0));
|
|
53
53
|
vi.mocked(mockLocalStorage.setItem).mockClear();
|
|
54
|
-
act(() => result.current[1](10, false));
|
|
54
|
+
void act(() => result.current[1](10, false));
|
|
55
55
|
expect(result.current[0]).toBe(10);
|
|
56
56
|
expect(mockLocalStorage.setItem).not.toHaveBeenCalled();
|
|
57
57
|
});
|
|
@@ -95,7 +95,7 @@ describe('useLocalStorageItem', () => {
|
|
|
95
95
|
it('propagates save=false updates to other subscribers', () => {
|
|
96
96
|
const { result: a } = renderHook(() => useLocalStorageItem('testkey', 0));
|
|
97
97
|
const { result: b } = renderHook(() => useLocalStorageItem('testkey', 0));
|
|
98
|
-
act(() => a.current[1](10, false));
|
|
98
|
+
void act(() => a.current[1](10, false));
|
|
99
99
|
expect(b.current[0]).toBe(10);
|
|
100
100
|
});
|
|
101
101
|
it('stops receiving updates after unmount', () => {
|
|
@@ -5,7 +5,7 @@ declare const useMyChart: () => {
|
|
|
5
5
|
plugins: {
|
|
6
6
|
legend: {
|
|
7
7
|
display: boolean;
|
|
8
|
-
position:
|
|
8
|
+
position: 'top';
|
|
9
9
|
labels: {
|
|
10
10
|
color: string;
|
|
11
11
|
};
|
|
@@ -36,16 +36,16 @@ declare const useMyChart: () => {
|
|
|
36
36
|
zoom: {
|
|
37
37
|
wheel: {
|
|
38
38
|
enabled: boolean;
|
|
39
|
-
modifierKey:
|
|
39
|
+
modifierKey: 'ctrl';
|
|
40
40
|
};
|
|
41
41
|
pinch: {
|
|
42
42
|
enabled: boolean;
|
|
43
43
|
};
|
|
44
|
-
mode:
|
|
44
|
+
mode: 'y';
|
|
45
45
|
};
|
|
46
46
|
pan: {
|
|
47
47
|
enabled: boolean;
|
|
48
|
-
mode:
|
|
48
|
+
mode: 'x' | 'y' | 'xy';
|
|
49
49
|
};
|
|
50
50
|
limits: {
|
|
51
51
|
y: {
|
|
@@ -56,9 +56,9 @@ declare const useMyChart: () => {
|
|
|
56
56
|
};
|
|
57
57
|
scales: {
|
|
58
58
|
x: {
|
|
59
|
-
type:
|
|
59
|
+
type: 'time';
|
|
60
60
|
time: {
|
|
61
|
-
unit:
|
|
61
|
+
unit: 'day';
|
|
62
62
|
};
|
|
63
63
|
ticks: {
|
|
64
64
|
color: string;
|
|
@@ -73,12 +73,11 @@ declare const useMyChart: () => {
|
|
|
73
73
|
};
|
|
74
74
|
};
|
|
75
75
|
doughnut: (titleKey: string, subtitleKey?: string) => {
|
|
76
|
-
scales: any;
|
|
77
76
|
responsive: boolean;
|
|
78
77
|
plugins: {
|
|
79
78
|
legend: {
|
|
80
79
|
display: boolean;
|
|
81
|
-
position:
|
|
80
|
+
position: 'top';
|
|
82
81
|
labels: {
|
|
83
82
|
color: string;
|
|
84
83
|
};
|
|
@@ -109,16 +108,16 @@ declare const useMyChart: () => {
|
|
|
109
108
|
zoom: {
|
|
110
109
|
wheel: {
|
|
111
110
|
enabled: boolean;
|
|
112
|
-
modifierKey:
|
|
111
|
+
modifierKey: 'ctrl';
|
|
113
112
|
};
|
|
114
113
|
pinch: {
|
|
115
114
|
enabled: boolean;
|
|
116
115
|
};
|
|
117
|
-
mode:
|
|
116
|
+
mode: 'y';
|
|
118
117
|
};
|
|
119
118
|
pan: {
|
|
120
119
|
enabled: boolean;
|
|
121
|
-
mode:
|
|
120
|
+
mode: 'x' | 'y' | 'xy';
|
|
122
121
|
};
|
|
123
122
|
limits: {
|
|
124
123
|
y: {
|
|
@@ -127,13 +126,14 @@ declare const useMyChart: () => {
|
|
|
127
126
|
};
|
|
128
127
|
};
|
|
129
128
|
};
|
|
129
|
+
scales: any;
|
|
130
130
|
};
|
|
131
131
|
bar: (titleKey: string, subtitleKey?: string) => {
|
|
132
132
|
responsive: boolean;
|
|
133
133
|
plugins: {
|
|
134
134
|
legend: {
|
|
135
135
|
display: boolean;
|
|
136
|
-
position:
|
|
136
|
+
position: 'top';
|
|
137
137
|
labels: {
|
|
138
138
|
color: string;
|
|
139
139
|
};
|
|
@@ -164,16 +164,16 @@ declare const useMyChart: () => {
|
|
|
164
164
|
zoom: {
|
|
165
165
|
wheel: {
|
|
166
166
|
enabled: boolean;
|
|
167
|
-
modifierKey:
|
|
167
|
+
modifierKey: 'ctrl';
|
|
168
168
|
};
|
|
169
169
|
pinch: {
|
|
170
170
|
enabled: boolean;
|
|
171
171
|
};
|
|
172
|
-
mode:
|
|
172
|
+
mode: 'y';
|
|
173
173
|
};
|
|
174
174
|
pan: {
|
|
175
175
|
enabled: boolean;
|
|
176
|
-
mode:
|
|
176
|
+
mode: 'x' | 'y' | 'xy';
|
|
177
177
|
};
|
|
178
178
|
limits: {
|
|
179
179
|
y: {
|
|
@@ -184,9 +184,9 @@ declare const useMyChart: () => {
|
|
|
184
184
|
};
|
|
185
185
|
scales: {
|
|
186
186
|
x: {
|
|
187
|
-
type:
|
|
187
|
+
type: 'time';
|
|
188
188
|
time: {
|
|
189
|
-
unit:
|
|
189
|
+
unit: 'day';
|
|
190
190
|
};
|
|
191
191
|
ticks: {
|
|
192
192
|
color: string;
|
|
@@ -205,7 +205,7 @@ declare const useMyChart: () => {
|
|
|
205
205
|
plugins: {
|
|
206
206
|
legend: {
|
|
207
207
|
display: boolean;
|
|
208
|
-
position:
|
|
208
|
+
position: 'top';
|
|
209
209
|
labels: {
|
|
210
210
|
color: string;
|
|
211
211
|
};
|
|
@@ -236,16 +236,16 @@ declare const useMyChart: () => {
|
|
|
236
236
|
zoom: {
|
|
237
237
|
wheel: {
|
|
238
238
|
enabled: boolean;
|
|
239
|
-
modifierKey:
|
|
239
|
+
modifierKey: 'ctrl';
|
|
240
240
|
};
|
|
241
241
|
pinch: {
|
|
242
242
|
enabled: boolean;
|
|
243
243
|
};
|
|
244
|
-
mode:
|
|
244
|
+
mode: 'y';
|
|
245
245
|
};
|
|
246
246
|
pan: {
|
|
247
247
|
enabled: boolean;
|
|
248
|
-
mode:
|
|
248
|
+
mode: 'x' | 'y' | 'xy';
|
|
249
249
|
};
|
|
250
250
|
limits: {
|
|
251
251
|
y: {
|
|
@@ -256,9 +256,9 @@ declare const useMyChart: () => {
|
|
|
256
256
|
};
|
|
257
257
|
scales: {
|
|
258
258
|
x: {
|
|
259
|
-
type:
|
|
259
|
+
type: 'time';
|
|
260
260
|
time: {
|
|
261
|
-
unit:
|
|
261
|
+
unit: 'day';
|
|
262
262
|
};
|
|
263
263
|
ticks: {
|
|
264
264
|
color: string;
|