@centreon/ui 24.4.18 → 24.4.19

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.
Files changed (94) hide show
  1. package/package.json +12 -17
  2. package/src/Button/Icon/index.tsx +1 -1
  3. package/src/Button/Save/Content.tsx +9 -26
  4. package/src/Button/Save/StartIcon.tsx +3 -3
  5. package/src/Button/Save/index.tsx +3 -10
  6. package/src/Checkbox/Checkbox.tsx +2 -2
  7. package/src/Checkbox/CheckboxGroup/index.tsx +2 -2
  8. package/src/Dashboard/Item.tsx +1 -1
  9. package/src/Dashboard/Layout.tsx +2 -2
  10. package/src/FallbackPage/FallbackPage.tsx +3 -3
  11. package/src/FileDropZone/index.tsx +1 -3
  12. package/src/Form/Inputs/CheckboxGroup.tsx +4 -1
  13. package/src/Form/Inputs/index.tsx +1 -3
  14. package/src/Form/Inputs/models.ts +1 -9
  15. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/Circle.tsx +2 -2
  16. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/index.tsx +4 -5
  17. package/src/Graph/LineChart/BasicComponents/Thresholds.tsx +2 -2
  18. package/src/Graph/LineChart/BasicComponents/useFilterLines.ts +1 -1
  19. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/GuidingLines.tsx +2 -2
  20. package/src/Graph/LineChart/InteractiveComponents/Annotations/Annotation/index.tsx +3 -2
  21. package/src/Graph/LineChart/InteractiveComponents/Annotations/EventAnnotations.tsx +1 -1
  22. package/src/Graph/LineChart/Legend/useLegend.ts +3 -3
  23. package/src/Graph/LineChart/helpers/doc.ts +13 -16
  24. package/src/Graph/LineChart/helpers/index.ts +1 -1
  25. package/src/Graph/LineChart/index.stories.tsx +2 -4
  26. package/src/Graph/SingleBar/Thresholds.tsx +2 -2
  27. package/src/Graph/Text/Text.stories.tsx +4 -60
  28. package/src/Graph/common/timeSeries/index.ts +3 -3
  29. package/src/InputField/Select/Autocomplete/Connected/index.tsx +7 -10
  30. package/src/InputField/Select/Autocomplete/Draggable/SortableList.tsx +1 -1
  31. package/src/InputField/Select/Autocomplete/Draggable/SortableListContent.tsx +1 -1
  32. package/src/InputField/Select/Autocomplete/Draggable/index.tsx +1 -1
  33. package/src/InputField/Select/IconPopover/index.tsx +2 -2
  34. package/src/InputField/Select/index.tsx +1 -1
  35. package/src/Listing/Cell/DataCell.tsx +1 -15
  36. package/src/Listing/Header/ListingHeader.tsx +1 -1
  37. package/src/Listing/Listing.cypress.spec.tsx +2 -2
  38. package/src/Listing/Listing.styles.ts +3 -2
  39. package/src/Listing/index.stories.tsx +3 -14
  40. package/src/Listing/index.tsx +9 -8
  41. package/src/Module/LicensedModule/LicenseCheck/index.tsx +10 -25
  42. package/src/Module/LicensedModule/index.tsx +1 -7
  43. package/src/Module/index.tsx +4 -2
  44. package/src/RichTextEditor/RichTextEditor.tsx +1 -12
  45. package/src/SortableItems/index.tsx +7 -2
  46. package/src/ThemeProvider/index.tsx +0 -24
  47. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/PickersStartEndDate.tsx +3 -8
  48. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/models.ts +2 -0
  49. package/src/TimePeriods/DateTimePickerInput.tsx +17 -45
  50. package/src/TimePeriods/TimePeriods.cypress.spec.tsx +33 -9
  51. package/src/TimePeriods/helpers/index.ts +1 -1
  52. package/src/TimePeriods/index.stories.tsx +4 -12
  53. package/src/TimePeriods/index.tsx +2 -2
  54. package/src/api/QueryProvider.tsx +1 -1
  55. package/src/api/TestQueryProvider.tsx +1 -1
  56. package/src/api/useFetchQuery/index.ts +23 -27
  57. package/src/api/useMutationQuery/index.ts +17 -41
  58. package/src/components/Button/Icon/IconButton.tsx +2 -6
  59. package/src/components/DataTable/DataTable.stories.tsx +0 -40
  60. package/src/components/DataTable/DataTable.styles.ts +0 -3
  61. package/src/components/DataTable/DataTable.tsx +3 -3
  62. package/src/components/DataTable/Item/DataTableItem.styles.ts +2 -7
  63. package/src/components/DataTable/Item/DataTableItem.tsx +2 -2
  64. package/src/components/DataTable/index.ts +1 -3
  65. package/src/components/Form/AccessRights/__fixtures__/contactAccessRight.mock.ts +0 -2
  66. package/src/components/Form/AccessRights/useAccessRightsForm.utils.ts +1 -1
  67. package/src/components/Form/Dashboard/DashboardForm.tsx +12 -15
  68. package/src/components/Layout/PageLayout/PageLayout.tsx +1 -1
  69. package/src/components/Layout/PageLayout/PageLayoutActions.tsx +0 -1
  70. package/src/components/Layout/PageLayout/PageLayoutBody.tsx +0 -1
  71. package/src/components/Layout/PageLayout/PageLayoutHeader.tsx +1 -5
  72. package/src/components/Layout/PageLayout/index.ts +1 -3
  73. package/src/components/Modal/Modal.styles.ts +3 -4
  74. package/src/components/Modal/ModalActions.tsx +2 -4
  75. package/src/index.ts +1 -2
  76. package/src/queryParameters/url/index.ts +1 -5
  77. package/src/screens/dashboard/DashboardsDetail.stories.tsx +108 -0
  78. package/src/screens/dashboard/DashboardsOverview.stories.tsx +281 -0
  79. package/src/utils/index.ts +1 -1
  80. package/src/utils/useDateTimePickerAdapter.ts +309 -0
  81. package/src/utils/{useLicenseExpirationWarning.test.tsx → useLicenseExpirationWarning.cypress.spec.tsx} +37 -48
  82. package/src/utils/useLicenseExpirationWarning.ts +18 -18
  83. package/src/Form/Form.cypress.spec.tsx +0 -133
  84. package/src/Form/Inputs/List/Content.tsx +0 -62
  85. package/src/Form/Inputs/List/List.styles.ts +0 -29
  86. package/src/Form/Inputs/List/List.tsx +0 -58
  87. package/src/Form/Inputs/List/useList.ts +0 -81
  88. package/src/Module/Module.cypress.spec.tsx +0 -129
  89. package/src/Typography/Subtitle.tsx +0 -55
  90. package/src/components/DataTable/DataListing.tsx +0 -6
  91. package/src/components/DataTable/DataTable.cypress.spec.tsx +0 -193
  92. package/src/components/Layout/PageLayout/PageQuickAccess.tsx +0 -76
  93. package/src/components/Layout/PageLayout.cypress.spec.tsx +0 -66
  94. package/src/utils/usePluralizedTranslation.ts +0 -21
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@centreon/ui",
3
- "version": "24.4.18",
3
+ "version": "24.4.19",
4
4
  "description": "Centreon UI Components",
5
5
  "scripts": {
6
6
  "eslint": "eslint ./src --ext .js,.jsx,.ts,.tsx --max-warnings 0",
@@ -12,7 +12,6 @@
12
12
  "test:ci": "jest --silent --reporter=jest-junit",
13
13
  "cypress:ui": "cypress open --component --browser=chrome",
14
14
  "cypress:cli:updateSnapshot": "pnpm cypress:cli --env updateSnapshots=true",
15
- "cypress:run:coverage": "cypress run --component --browser=chrome --env codeCoverageTasksRegistered=true",
16
15
  "cypress:cli": "cypress run --component --browser=chrome",
17
16
  "tokens:transform": "TS_NODE_PROJECT=tsconfig.node.json ts-node style-dictionary.transform.ts"
18
17
  },
@@ -74,14 +73,13 @@
74
73
  "@testing-library/react-hooks": "^8.0.1",
75
74
  "@types/cypress": "^1.1.3",
76
75
  "@types/jest": "^27.5.0",
77
- "@types/mocha": "^10.0.6",
78
- "@types/ramda": "^0.29.6",
76
+ "@types/ramda": "^0.28.12",
79
77
  "@types/react": "^18.0.26",
80
78
  "@types/testing-library__jest-dom": "^5.14.6",
81
79
  "@vitejs/plugin-react": "^4.0.0",
82
80
  "@vitejs/plugin-react-swc": "^3.3.0",
83
81
  "axios-mock-adapter": "^1.21.4",
84
- "cypress": "^13.3.1",
82
+ "cypress": "^12.8.0",
85
83
  "identity-obj-proxy": "^3.0.0",
86
84
  "jest-transform-stub": "^2.0.0",
87
85
  "mochawesome": "^7.1.3",
@@ -99,18 +97,16 @@
99
97
  "ts-node": "^10.9.1",
100
98
  "use-resize-observer": "^9.1.0",
101
99
  "vite": "^4.3.5",
102
- "vite-plugin-istanbul": "^5.0.0",
103
100
  "vite-plugin-svgr": "^3.2.0",
104
101
  "vite-plugin-turbosnap": "^1.0.2"
105
102
  },
106
103
  "dependencies": {
107
- "@lexical/html": "^0.12.2",
108
- "@lexical/link": "^0.12.2",
109
- "@lexical/list": "^0.12.2",
110
- "@lexical/react": "^0.12.2",
111
- "@lexical/rich-text": "^0.12.2",
112
- "@lexical/selection": "^0.12.2",
113
- "@lexical/utils": "^0.12.2",
104
+ "@lexical/link": "0.11.3",
105
+ "@lexical/list": "^0.11.3",
106
+ "@lexical/react": "0.11.3",
107
+ "@lexical/rich-text": "^0.11.3",
108
+ "@lexical/selection": "0.11.3",
109
+ "@lexical/utils": "0.11.3",
114
110
  "@react-spring/web": "^9.7.3",
115
111
  "@visx/curve": "^2.1.0",
116
112
  "@visx/group": "^3.3.0",
@@ -122,9 +118,8 @@
122
118
  "anylogger": "^1.0.11",
123
119
  "d3-array": "3.2.0",
124
120
  "humanize-duration": "^3.27.3",
125
- "lexical": "^0.12.2",
126
- "notistack": "^3.0.1",
127
- "ramda": "0.29.1",
121
+ "lexical": "0.11.3",
122
+ "notistack": "^2.0.8",
128
123
  "react-grid-layout": "^1.3.4",
129
124
  "react-html-parser": "^2.0.2",
130
125
  "react-resizable": "^3.0.5",
@@ -140,7 +135,7 @@
140
135
  "@mui/icons-material": "5.x",
141
136
  "@mui/material": "5.x",
142
137
  "@mui/styles": "5.x",
143
- "@tanstack/react-query": "5.x",
138
+ "@tanstack/react-query": "4.x",
144
139
  "axios": "0.x",
145
140
  "dayjs": "1.x",
146
141
  "formik": "2.x",
@@ -21,7 +21,7 @@ type Props = {
21
21
  ariaLabel?: string;
22
22
  className?: string;
23
23
  onClick: (event) => void;
24
- title?: string | JSX.Element;
24
+ title?: string;
25
25
  tooltipClassName?: string;
26
26
  tooltipPlacement?:
27
27
  | 'bottom'
@@ -1,6 +1,7 @@
1
+ import { useTranslation } from 'react-i18next';
2
+
1
3
  import CheckIcon from '@mui/icons-material/Check';
2
4
  import SaveIcon from '@mui/icons-material/Save';
3
- import { Typography, TypographyProps } from '@mui/material';
4
5
 
5
6
  interface Props {
6
7
  labelLoading: string;
@@ -10,42 +11,24 @@ interface Props {
10
11
  succeeded: boolean;
11
12
  }
12
13
 
13
- interface WrapperLabelProps {
14
- label: string;
15
- }
16
-
17
- const WrapperLabel = ({
18
- label,
19
- ...rest
20
- }: WrapperLabelProps & TypographyProps): JSX.Element => {
21
- return <Typography {...rest}>{label}</Typography>;
22
- };
23
-
24
14
  const Content = ({
25
15
  succeeded,
26
16
  labelSucceeded,
27
17
  labelSave,
28
18
  loading,
29
- labelLoading,
30
- ...rest
31
- }: Props & TypographyProps): JSX.Element | string | null => {
19
+ labelLoading
20
+ }: Props): JSX.Element | string | null => {
21
+ const { t } = useTranslation();
22
+
32
23
  if (loading) {
33
- return <WrapperLabel label={labelLoading} {...rest} />;
24
+ return t(labelLoading);
34
25
  }
35
26
 
36
27
  if (succeeded) {
37
- return labelSucceeded ? (
38
- <WrapperLabel label={labelSucceeded} {...rest} />
39
- ) : (
40
- <CheckIcon />
41
- );
28
+ return labelSucceeded ? t(labelSucceeded) : <CheckIcon />;
42
29
  }
43
30
 
44
- return labelSave ? (
45
- <WrapperLabel label={labelSave} {...rest} />
46
- ) : (
47
- <SaveIcon />
48
- );
31
+ return labelSave ? t(labelSave) : <SaveIcon />;
49
32
  };
50
33
 
51
34
  export default Content;
@@ -15,9 +15,9 @@ interface Props {
15
15
 
16
16
  const StartIcon = ({ startIconConfig }: Props): JSX.Element | null =>
17
17
  cond<Array<StartIconConfigProps>, JSX.Element | null>([
18
- [pipe(propEq(true, 'hasLabel'), not), always(null)],
19
- [propEq(true, 'succeeded'), always(<CheckIcon />)],
20
- [propEq(true, 'loading'), always(<SaveIcon />)],
18
+ [pipe(propEq('hasLabel', true), not), always(null)],
19
+ [propEq('succeeded', true), always(<CheckIcon />)],
20
+ [propEq('loading', true), always(<SaveIcon />)],
21
21
  [T, always(<SaveIcon />)]
22
22
  ])(startIconConfig);
23
23
 
@@ -1,7 +1,7 @@
1
1
  import { any, isEmpty, isNil, not, or, pipe } from 'ramda';
2
2
  import { makeStyles } from 'tss-react/mui';
3
3
 
4
- import { Theme, Tooltip, TypographyProps } from '@mui/material';
4
+ import { Theme, Tooltip } from '@mui/material';
5
5
  import { LoadingButton } from '@mui/lab';
6
6
 
7
7
  import { getNormalizedId } from '../../utils';
@@ -18,12 +18,10 @@ const useStyles = makeStyles()((theme: Theme) => ({
18
18
  interface Props extends Record<string, unknown> {
19
19
  className?: string;
20
20
  labelLoading?: string;
21
- labelProps?: TypographyProps;
22
21
  labelSave?: string;
23
22
  labelSucceeded?: string;
24
23
  loading?: boolean;
25
24
  size?: 'small' | 'medium' | 'large';
26
- startIcon?: boolean;
27
25
  succeeded?: boolean;
28
26
  tooltip?: string;
29
27
  tooltipLabel?: string;
@@ -47,8 +45,6 @@ const SaveButton = ({
47
45
  labelSave = '',
48
46
  size = 'small',
49
47
  className,
50
- startIcon = true,
51
- labelProps,
52
48
  ...rest
53
49
  }: Props): JSX.Element => {
54
50
  const { classes, cx } = useStyles();
@@ -77,9 +73,7 @@ const SaveButton = ({
77
73
  loading={loading}
78
74
  loadingPosition={labelLoading ? 'start' : 'center'}
79
75
  size={size}
80
- startIcon={
81
- startIcon && <StartIcon startIconConfig={startIconConfig} />
82
- }
76
+ startIcon={<StartIcon startIconConfig={startIconConfig} />}
83
77
  variant="contained"
84
78
  {...rest}
85
79
  >
@@ -88,8 +82,7 @@ const SaveButton = ({
88
82
  labelSave,
89
83
  labelSucceeded,
90
84
  loading,
91
- succeeded,
92
- ...labelProps
85
+ succeeded
93
86
  })}
94
87
  </LoadingButton>
95
88
  </div>
@@ -2,7 +2,7 @@ import { makeStyles } from 'tss-react/mui';
2
2
  import { T, always, cond, equals } from 'ramda';
3
3
 
4
4
  import { SvgIconComponent } from '@mui/icons-material';
5
- import Typography, { TypographyProps } from '@mui/material/Typography';
5
+ import Typography, { TypographyTypeMap } from '@mui/material/Typography';
6
6
  import { FormControlLabel, Checkbox as MuiCheckbox, Box } from '@mui/material';
7
7
 
8
8
  export type LabelPlacement = 'bottom' | 'top' | 'end' | 'start' | undefined;
@@ -56,7 +56,7 @@ interface Props {
56
56
  disabled?: boolean;
57
57
  label: string;
58
58
  labelPlacement?: LabelPlacement;
59
- labelProps?: TypographyProps;
59
+ labelProps?: TypographyTypeMap['props'];
60
60
  onChange?: (e) => void;
61
61
  }
62
62
 
@@ -2,7 +2,7 @@ import { equals, includes } from 'ramda';
2
2
  import { makeStyles } from 'tss-react/mui';
3
3
 
4
4
  import FormGroup, { FormGroupProps } from '@mui/material/FormGroup';
5
- import { TypographyProps } from '@mui/material/Typography';
5
+ import { TypographyTypeMap } from '@mui/material/Typography';
6
6
 
7
7
  import Checkbox, { LabelPlacement } from '../Checkbox';
8
8
 
@@ -13,7 +13,7 @@ interface Props {
13
13
  disabled?: boolean;
14
14
  formGroupProps?: FormGroupProps;
15
15
  labelPlacement?: LabelPlacement;
16
- labelProps?: TypographyProps;
16
+ labelProps?: TypographyTypeMap['props'];
17
17
  onChange?: (e) => void;
18
18
  options: Array<string>;
19
19
  values: Array<string>;
@@ -27,7 +27,7 @@ interface DashboardItemProps {
27
27
  style?: CSSProperties;
28
28
  }
29
29
 
30
- const Item = forwardRef<HTMLDivElement, DashboardItemProps>(
30
+ const Item = forwardRef(
31
31
  (
32
32
  {
33
33
  children,
@@ -23,7 +23,7 @@ interface DashboardLayoutProps<T> {
23
23
  layout: Array<T>;
24
24
  }
25
25
 
26
- const DashboardLayout = <T extends Layout>({
26
+ const Layout = <T extends Layout>({
27
27
  children,
28
28
  changeLayout,
29
29
  displayGrid,
@@ -76,4 +76,4 @@ const DashboardLayout = <T extends Layout>({
76
76
  });
77
77
  };
78
78
 
79
- export default DashboardLayout;
79
+ export default Layout;
@@ -17,7 +17,7 @@ const useStyles = makeStyles()((theme) => ({
17
17
  logo: {
18
18
  alignSelf: 'flex-end',
19
19
  height: theme.spacing(11),
20
- width: '239px'
20
+ width: '22rem'
21
21
  },
22
22
  message: {
23
23
  color: theme.palette.text.primary
@@ -66,9 +66,9 @@ export const FallbackPage: FC<FallbackPageProps> = typedMemo(
66
66
 
67
67
  return (
68
68
  <div className={classes.notAuthorizedContainer}>
69
- <div className={classes.logo}>
69
+ <section className={classes.logo}>
70
70
  <CentreonLogo />
71
- </div>
71
+ </section>
72
72
  <section className={classes.messageBlock}>
73
73
  <header>
74
74
  <Typography color="primary" fontWeight="bold" variant="h3">
@@ -98,9 +98,7 @@ const getExtensions = cond([
98
98
  [T, identity]
99
99
  ]) as (accept: string) => Array<string>;
100
100
 
101
- export const transformFileListToArray = (
102
- files: FileList | null
103
- ): Array<File> =>
101
+ export const transformFileListToArray = (files: FileList | null): Array<File> =>
104
102
  isNil(files)
105
103
  ? []
106
104
  : (Array(files.length)
@@ -46,7 +46,10 @@ const CheckboxGroup = ({
46
46
  return;
47
47
  }
48
48
 
49
- setFieldValue(fieldName, value?.filter((elm) => !equals(elm, label)));
49
+ setFieldValue(
50
+ fieldName,
51
+ value?.filter((elm) => !equals(elm, label))
52
+ );
50
53
  };
51
54
 
52
55
  return useMemoComponent({
@@ -21,7 +21,6 @@ import CheckboxGroup from './CheckboxGroup';
21
21
  import Checkbox from './Checkbox';
22
22
  import Custom from './Custom';
23
23
  import LoadingSkeleton from './LoadingSkeleton';
24
- import List from './List/List';
25
24
 
26
25
  export const getInput = R.cond<
27
26
  Array<InputType>,
@@ -67,7 +66,6 @@ export const getInput = R.cond<
67
66
  R.equals(InputType.CheckboxGroup) as (b: InputType) => boolean,
68
67
  R.always(CheckboxGroup)
69
68
  ],
70
- [R.equals(InputType.List) as (b: InputType) => boolean, R.always(List)],
71
69
  [R.T, R.always(TextInput)]
72
70
  ]);
73
71
 
@@ -187,7 +185,7 @@ const Inputs = ({
187
185
  const hasGroupTitle = R.not(R.isNil(groupName));
188
186
 
189
187
  const groupProps = hasGroupTitle
190
- ? R.find(R.propEq(groupName, 'name'), groups)
188
+ ? R.find(R.propEq('name', groupName), groups)
191
189
  : ({} as Group);
192
190
 
193
191
  const isFirstElement = areGroupsOpen || R.equals(index, 0);
@@ -18,8 +18,7 @@ export enum InputType {
18
18
  Grid,
19
19
  Custom,
20
20
  Checkbox,
21
- CheckboxGroup,
22
- List
21
+ CheckboxGroup
23
22
  }
24
23
 
25
24
  interface FieldsTableGetRequiredProps {
@@ -77,13 +76,6 @@ export interface InputProps {
77
76
  hideInput?: (values: FormikValues) => boolean;
78
77
  inputClassName?: string;
79
78
  label: string;
80
- list?: {
81
- AddItem: React.ComponentType<{ addItem }>;
82
- SortContent: React.ComponentType<object>;
83
- addItemLabel?: string;
84
- itemProps: Array<string>;
85
- sortLabel?: string;
86
- };
87
79
  radio?: {
88
80
  options?: Array<{
89
81
  label: string | JSX.Element;
@@ -1,7 +1,7 @@
1
1
  import { Shape } from '@visx/visx';
2
2
  import { isEmpty, isNil } from 'ramda';
3
3
 
4
- import { Circle as CircleModel } from './models';
4
+ import { Circle } from './models';
5
5
  import useCoordinateCircle from './useCoordinateCircle';
6
6
 
7
7
  const Circle = ({
@@ -11,7 +11,7 @@ const Circle = ({
11
11
  timeSeries,
12
12
  getX,
13
13
  getCountDisplayedCircles
14
- }: CircleModel): JSX.Element | null => {
14
+ }: Circle): JSX.Element | null => {
15
15
  const coordinates = useCoordinateCircle({
16
16
  getCountDisplayedCircles,
17
17
  getX,
@@ -130,11 +130,10 @@ const WrapperThresholdLines = ({
130
130
 
131
131
  return (
132
132
  <g>
133
- {filteredThresholdLines.map(
134
- (element) =>
135
- element?.map(({ Component, props, key }) => (
136
- <Component {...props} id={key} key={key} />
137
- ))
133
+ {filteredThresholdLines.map((element) =>
134
+ element?.map(({ Component, props, key }) => (
135
+ <Component {...props} id={key} key={key} />
136
+ ))
138
137
  )}
139
138
  </g>
140
139
  );
@@ -2,7 +2,7 @@ import { equals, isNil } from 'ramda';
2
2
 
3
3
  import { getUnits, getYScale } from '../../common/timeSeries';
4
4
  import { Line } from '../../common/timeSeries/models';
5
- import { Thresholds as ThresholdsModel } from '../../common/models';
5
+ import { Thresholds } from '../../common/models';
6
6
 
7
7
  import { ThresholdLine } from './ThresholdLine';
8
8
 
@@ -13,7 +13,7 @@ interface Props {
13
13
  rightScale: (value: number) => number;
14
14
  showTooltip: (props) => void;
15
15
  thresholdUnit?: string;
16
- thresholds: ThresholdsModel;
16
+ thresholds: Thresholds;
17
17
  width: number;
18
18
  }
19
19
 
@@ -28,7 +28,7 @@ const useFilterLines = ({
28
28
  linesGraph,
29
29
  setLinesGraph
30
30
  }: UseFilterLines): Result => {
31
- const displayedLines = reject(propEq(false, 'display'), linesGraph ?? lines);
31
+ const displayedLines = reject(propEq('display', false), linesGraph ?? lines);
32
32
  const filterLines = (): Array<Line> => {
33
33
  const lineOriginMetric = findLineOfOriginMetricThreshold(lines);
34
34
 
@@ -2,7 +2,7 @@ import { Shape } from '@visx/visx';
2
2
 
3
3
  import { grey } from '@mui/material/colors';
4
4
 
5
- import { GuidingLines as GuidingLinesModel } from './models';
5
+ import { GuidingLines } from './models';
6
6
  import useTickGraph from './useTickGraph';
7
7
 
8
8
  const GuidingLines = ({
@@ -10,7 +10,7 @@ const GuidingLines = ({
10
10
  xScale,
11
11
  graphHeight,
12
12
  graphWidth
13
- }: GuidingLinesModel): JSX.Element | null => {
13
+ }: GuidingLines): JSX.Element | null => {
14
14
  const { positionX, positionY } = useTickGraph({
15
15
  timeSeries,
16
16
  xScale
@@ -43,8 +43,9 @@ const Annotation = ({
43
43
 
44
44
  const setAnnotationHovered = useSetAtom(annotationHoveredAtom);
45
45
 
46
- const content = `${truncate(event.content)} (${t(labelBy)} ${event.contact
47
- ?.name})`;
46
+ const content = `${truncate(event.content)} (${t(labelBy)} ${
47
+ event.contact?.name
48
+ })`;
48
49
 
49
50
  return (
50
51
  <g>
@@ -26,7 +26,7 @@ const EventAnnotations = ({
26
26
  color,
27
27
  annotationHoveredId
28
28
  }: Props): JSX.Element => {
29
- const events = filter(propEq(type, 'type'), data);
29
+ const events = filter(propEq('type', type), data);
30
30
 
31
31
  return (
32
32
  <>
@@ -27,9 +27,9 @@ interface Props {
27
27
  }
28
28
 
29
29
  const useLegend = ({ lines, setLinesGraph }: Props): LegendActions => {
30
- const displayedLines = reject(propEq(false, 'display'), lines);
30
+ const displayedLines = reject(propEq('display', false), lines);
31
31
  const getLineByMetric = (metric_id: number): Line =>
32
- find(propEq(metric_id, 'metric_id'), lines) as Line;
32
+ find(propEq('metric_id', metric_id), lines) as Line;
33
33
 
34
34
  const toggleMetricLine = (metric_id): void => {
35
35
  const data = lines.map((line) => ({
@@ -92,7 +92,7 @@ const useLegend = ({ lines, setLinesGraph }: Props): LegendActions => {
92
92
 
93
93
  const newLines = lines.map((line) => ({
94
94
  ...line,
95
- display: find(propEq(line.metric_id, 'metric_id'), lines)?.display ?? true
95
+ display: find(propEq('metric_id', line.metric_id), lines)?.display ?? true
96
96
  }));
97
97
 
98
98
  setLinesGraph(newLines);
@@ -69,24 +69,21 @@ export const getDescription = ({ sections }: Description): string => {
69
69
  })}<br></details>`;
70
70
  }
71
71
 
72
- const formattedProps = props.reduce(
73
- (accumulator, currentValue, index) => {
74
- const key = Object.keys(currentValue)[0];
75
- const { description, type } = currentValue[key];
76
- const body = `${accumulator} ${getBodyDescription({
77
- description,
78
- key,
79
- type
80
- })}`;
72
+ const formattedProps = props.reduce((accumulator, currentValue, index) => {
73
+ const key = Object.keys(currentValue)[0];
74
+ const { description, type } = currentValue[key];
75
+ const body = `${accumulator} ${getBodyDescription({
76
+ description,
77
+ key,
78
+ type
79
+ })}`;
81
80
 
82
- if (!equals(index, props.length - 1)) {
83
- return body;
84
- }
81
+ if (!equals(index, props.length - 1)) {
82
+ return body;
83
+ }
85
84
 
86
- return `${body}</details>`;
87
- },
88
- getInitialValue({ section: name, type: item?.type })
89
- );
85
+ return `${body}</details>`;
86
+ }, getInitialValue({ section: name, type: item?.type }));
90
87
 
91
88
  return formattedProps as string;
92
89
  });
@@ -14,7 +14,7 @@ import { LineChartData } from '../../common/models';
14
14
  export const adjustGraphData = (graphData: LineChartData): LinesData => {
15
15
  const lines = getLineData(graphData);
16
16
  const sortedLines = sortBy(prop('name'), lines);
17
- const displayedLines = reject(propEq(false, 'display'), sortedLines);
17
+ const displayedLines = reject(propEq('display', false), sortedLines);
18
18
 
19
19
  const timeSeries = getTimeSeries(graphData);
20
20
 
@@ -39,7 +39,8 @@ import { Interval, ThresholdType, TooltipData } from './models';
39
39
  import WrapperLineChart from './index';
40
40
 
41
41
  const meta: Meta<typeof WrapperLineChart> = {
42
- component: WrapperLineChart
42
+ component: WrapperLineChart,
43
+ tags: ['autodocs']
43
44
  };
44
45
  export default meta;
45
46
 
@@ -352,9 +353,6 @@ export const LineChartWithTimePeriod: Story = {
352
353
  end: defaultEnd,
353
354
  height: 500,
354
355
  start: defaultStart
355
- },
356
- parameters: {
357
- chromatic: { diffThreshold: 0.1 }
358
356
  }
359
357
  };
360
358
 
@@ -1,4 +1,4 @@
1
- import { Thresholds as ThresholdsModel } from '../common/models';
1
+ import { Thresholds } from '../common/models';
2
2
 
3
3
  import { ThresholdLine } from './ThresholdLine';
4
4
 
@@ -8,7 +8,7 @@ interface Props {
8
8
  hideTooltip: () => void;
9
9
  showTooltip: (args) => void;
10
10
  size: 'small' | 'medium';
11
- thresholds: ThresholdsModel;
11
+ thresholds: Thresholds;
12
12
  xScale: (value: number) => number;
13
13
  }
14
14