@leav/ui 1.7.0 → 1.8.0-24fcde77

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 (124) hide show
  1. package/dist/__mocks__/common/library.d.ts +1 -0
  2. package/dist/_gqlTypes/index.d.ts +317 -113
  3. package/dist/_gqlTypes/index.js +142 -53
  4. package/dist/_gqlTypes/index.js.map +1 -1
  5. package/dist/_queries/attributes/attributeDetailsFragment.js +3 -0
  6. package/dist/_queries/attributes/attributeDetailsFragment.js.map +1 -1
  7. package/dist/_queries/attributes/getAttributeWithEmbeddedFields.d.ts +1 -1
  8. package/dist/_queries/libraries/libraryDetailsFragment.js +1 -0
  9. package/dist/_queries/libraries/libraryDetailsFragment.js.map +1 -1
  10. package/dist/components/AttributePicker/AttributesList/AttributesList.js +3 -7
  11. package/dist/components/AttributePicker/AttributesList/AttributesList.js.map +1 -1
  12. package/dist/components/EditLibraryModal/EditLibrary/EditLibraryAttributes/AttributesList/AttributesList.js +3 -7
  13. package/dist/components/EditLibraryModal/EditLibrary/EditLibraryAttributes/AttributesList/AttributesList.js.map +1 -1
  14. package/dist/components/Explorer/TableCell.js +9 -16
  15. package/dist/components/Explorer/TableCell.js.map +1 -1
  16. package/dist/components/Explorer/manage-view-settings/configure-display/view-type/SelectViewType.js +2 -2
  17. package/dist/components/Explorer/manage-view-settings/configure-display/view-type/SelectViewType.js.map +1 -1
  18. package/dist/components/Explorer/manage-view-settings/filter-items/FilterItems.js +3 -0
  19. package/dist/components/Explorer/manage-view-settings/filter-items/FilterItems.js.map +1 -1
  20. package/dist/components/Explorer/manage-view-settings/open-view-settings/useOpenViewSettings.js +2 -2
  21. package/dist/components/Explorer/manage-view-settings/open-view-settings/useOpenViewSettings.js.map +1 -1
  22. package/dist/components/Explorer/manage-view-settings/save-view/prepareViewForRequest.js +17 -8
  23. package/dist/components/Explorer/manage-view-settings/save-view/prepareViewForRequest.js.map +1 -1
  24. package/dist/components/Filters/_types.d.ts +12 -1
  25. package/dist/components/Filters/_types.js +2 -1
  26. package/dist/components/Filters/_types.js.map +1 -1
  27. package/dist/components/Filters/context/filtersReducer.js +3 -2
  28. package/dist/components/Filters/context/filtersReducer.js.map +1 -1
  29. package/dist/components/Filters/context/useGetTreeFilters.d.ts +8 -6
  30. package/dist/components/Filters/context/useGetTreeFilters.js +41 -18
  31. package/dist/components/Filters/context/useGetTreeFilters.js.map +1 -1
  32. package/dist/components/Filters/filter-items/CommonFilterItem.js +3 -3
  33. package/dist/components/Filters/filter-items/CommonFilterItem.js.map +1 -1
  34. package/dist/components/Filters/filter-items/filter-type/ColorAttributeDropDown.js +1 -1
  35. package/dist/components/Filters/filter-items/filter-type/ColorAttributeDropDown.js.map +1 -1
  36. package/dist/components/Filters/filter-items/filter-type/FilterDropdownContent.js +6 -2
  37. package/dist/components/Filters/filter-items/filter-type/FilterDropdownContent.js.map +1 -1
  38. package/dist/components/Filters/filter-items/filter-type/FilterValueListDropDown.js +4 -4
  39. package/dist/components/Filters/filter-items/filter-type/FilterValueListDropDown.js.map +1 -1
  40. package/dist/components/Filters/filter-items/filter-type/_types.d.ts +6 -1
  41. package/dist/components/Filters/filter-items/filter-type/_types.js.map +1 -1
  42. package/dist/components/Filters/filter-items/filter-type/smart-filter/SmartFilterAttributeDropdown.d.ts +2 -0
  43. package/dist/components/Filters/filter-items/filter-type/smart-filter/SmartFilterAttributeDropdown.js +106 -0
  44. package/dist/components/Filters/filter-items/filter-type/smart-filter/SmartFilterAttributeDropdown.js.map +1 -0
  45. package/dist/components/Filters/filter-items/filter-type/smart-filter/useGetSmartFilterData.d.ts +25 -0
  46. package/dist/components/Filters/filter-items/filter-type/smart-filter/useGetSmartFilterData.js +59 -0
  47. package/dist/components/Filters/filter-items/filter-type/smart-filter/useGetSmartFilterData.js.map +1 -0
  48. package/dist/components/Filters/filter-items/filter-type/smart-filter/useSmartFilerSearch.d.ts +5 -0
  49. package/dist/components/Filters/filter-items/filter-type/smart-filter/useSmartFilerSearch.js +25 -0
  50. package/dist/components/Filters/filter-items/filter-type/smart-filter/useSmartFilerSearch.js.map +1 -0
  51. package/dist/components/Filters/filter-items/filter-type/{TreeAttributeDropDown.d.ts → tree/TreeAttributeDropDown.d.ts} +1 -1
  52. package/dist/components/Filters/filter-items/filter-type/tree/TreeAttributeDropDown.js +131 -0
  53. package/dist/components/Filters/filter-items/filter-type/tree/TreeAttributeDropDown.js.map +1 -0
  54. package/dist/components/Filters/filter-items/filter-type/tree/useGetTreeData.d.ts +20 -0
  55. package/dist/components/Filters/filter-items/filter-type/tree/useGetTreeData.js +72 -0
  56. package/dist/components/Filters/filter-items/filter-type/tree/useGetTreeData.js.map +1 -0
  57. package/dist/components/Filters/filter-items/filter-type/tree/useTreesSearch.d.ts +7 -0
  58. package/dist/components/Filters/filter-items/filter-type/tree/useTreesSearch.js +36 -0
  59. package/dist/components/Filters/filter-items/filter-type/tree/useTreesSearch.js.map +1 -0
  60. package/dist/components/Filters/filter-items/filter-type/tree/utils/buildFlattenTreeMap.d.ts +2 -0
  61. package/dist/components/Filters/filter-items/filter-type/tree/utils/buildFlattenTreeMap.js +14 -0
  62. package/dist/components/Filters/filter-items/filter-type/tree/utils/buildFlattenTreeMap.js.map +1 -0
  63. package/dist/components/Filters/filter-items/filter-type/tree/utils/filterTreeByPermission.d.ts +2 -0
  64. package/dist/components/Filters/filter-items/filter-type/tree/utils/filterTreeByPermission.js +15 -0
  65. package/dist/components/Filters/filter-items/filter-type/tree/utils/filterTreeByPermission.js.map +1 -0
  66. package/dist/components/Filters/filter-items/filter-type/tree/utils/getSelectAllState.d.ts +5 -0
  67. package/dist/components/Filters/filter-items/filter-type/tree/utils/getSelectAllState.js +17 -0
  68. package/dist/components/Filters/filter-items/filter-type/tree/utils/getSelectAllState.js.map +1 -0
  69. package/dist/components/Filters/filter-items/{EmptyValueCheckbox.d.ts → shared/EmptyValueCheckbox.d.ts} +2 -1
  70. package/dist/components/Filters/filter-items/shared/EmptyValueCheckbox.js +20 -0
  71. package/dist/components/Filters/filter-items/shared/EmptyValueCheckbox.js.map +1 -0
  72. package/dist/components/Filters/filter-items/shared/FilterTreeNodeTitle.d.ts +5 -0
  73. package/dist/components/Filters/filter-items/shared/FilterTreeNodeTitle.js +18 -0
  74. package/dist/components/Filters/filter-items/shared/FilterTreeNodeTitle.js.map +1 -0
  75. package/dist/components/Filters/filter-items/shared/SelectAllCheckbox.d.ts +8 -0
  76. package/dist/components/Filters/filter-items/shared/SelectAllCheckbox.js +22 -0
  77. package/dist/components/Filters/filter-items/shared/SelectAllCheckbox.js.map +1 -0
  78. package/dist/components/Filters/prepareFiltersForRequest.js +10 -5
  79. package/dist/components/Filters/prepareFiltersForRequest.js.map +1 -1
  80. package/dist/components/Filters/useFilters.d.ts +542 -0
  81. package/dist/components/Filters/useTransformFilters.js +3 -0
  82. package/dist/components/Filters/useTransformFilters.js.map +1 -1
  83. package/dist/components/LibraryItemsList/hooks/useSearchReducer/_types.d.ts +2 -2
  84. package/dist/components/LibraryItemsList/hooks/useSearchReducer/_types.js.map +1 -1
  85. package/dist/components/LibraryItemsList/hooks/useSearchReducer/searchReducer.d.ts +2 -2
  86. package/dist/components/LibraryItemsList/hooks/useSearchReducer/searchReducer.js.map +1 -1
  87. package/dist/components/LibraryItemsList/hooks/useSearchReducer/useSearchReducer.d.ts +1 -1
  88. package/dist/components/Notifications/hooks/useNotificationSubscription.d.ts +9 -3
  89. package/dist/components/Notifications/hooks/useNotificationSubscription.js +2 -2
  90. package/dist/components/Notifications/hooks/useNotificationSubscription.js.map +1 -1
  91. package/dist/components/RecordEdition/EditRecord/EditRecord.js +1 -1
  92. package/dist/components/RecordEdition/EditRecord/EditRecord.js.map +1 -1
  93. package/dist/components/RecordEdition/EditRecordContent/antdUtils.js +2 -0
  94. package/dist/components/RecordEdition/EditRecordContent/antdUtils.js.map +1 -1
  95. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/tag/link-record/useLinkRecord.js +4 -1
  96. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/tag/link-record/useLinkRecord.js.map +1 -1
  97. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSRichTextWrapper.js +1 -1
  98. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSRichTextWrapper.js.map +1 -1
  99. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/StandardFieldValue.js +2 -0
  100. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/StandardFieldValue.js.map +1 -1
  101. package/dist/components/RecordHistory/RecordHistoryLogEntry.js +10 -2
  102. package/dist/components/RecordHistory/RecordHistoryLogEntry.js.map +1 -1
  103. package/dist/components/RecordHistory/_queries/recordHistoryQuery.d.ts +7 -0
  104. package/dist/components/RecordHistory/_queries/recordHistoryQuery.js +64 -0
  105. package/dist/components/RecordHistory/_queries/recordHistoryQuery.js.map +1 -0
  106. package/dist/components/RecordHistory/hooks/useFetchRecordHistory.js +5 -2
  107. package/dist/components/RecordHistory/hooks/useFetchRecordHistory.js.map +1 -1
  108. package/dist/components/RecordHistory/utils/extendedAttribute.d.ts +13 -0
  109. package/dist/components/RecordHistory/utils/extendedAttribute.js +40 -0
  110. package/dist/components/RecordHistory/utils/extendedAttribute.js.map +1 -0
  111. package/dist/components/SelectTreeNode/TreeNodeTitle.js +2 -2
  112. package/dist/components/SelectTreeNode/TreeNodeTitle.js.map +1 -1
  113. package/dist/hooks/useGetLibraryDetailExtendedQuery/useGetLibraryDetailExtendedQuery.d.ts +1 -1
  114. package/dist/hooks/useGetRecordUpdatesSubscription/useGetRecordUpdatesSubscription.d.ts +9 -3
  115. package/dist/hooks/useGetRecordValuesQuery/useGetRecordValuesQuery.js.map +1 -1
  116. package/dist/locales/en/shared.json +6 -2
  117. package/dist/locales/fr/shared.json +6 -2
  118. package/dist/types/records.d.ts +1 -0
  119. package/dist/types/records.js.map +1 -1
  120. package/package.json +9 -9
  121. package/dist/components/Filters/filter-items/EmptyValueCheckbox.js +0 -16
  122. package/dist/components/Filters/filter-items/EmptyValueCheckbox.js.map +0 -1
  123. package/dist/components/Filters/filter-items/filter-type/TreeAttributeDropDown.js +0 -71
  124. package/dist/components/Filters/filter-items/filter-type/TreeAttributeDropDown.js.map +0 -1
@@ -310,7 +310,10 @@
310
310
  "activate": "Activer",
311
311
  "add": "Ajouter",
312
312
  "add-condition": "Ajouter une condition",
313
- "empty-value": "Non défini"
313
+ "empty-value": "Non défini",
314
+ "visible-by-default": "Valeurs affichée(s) par défaut",
315
+ "hidden-by-default": "Valeurs masquée(s) par défaut",
316
+ "select-all": "Tout sélectionner"
314
317
  },
315
318
  "filter-item": {
316
319
  "no-operator": "Si"
@@ -542,7 +545,8 @@
542
545
  "unknown_attribute": "Attribut inconnu",
543
546
  "unknown_user": "Utilisateur inconnu",
544
547
  "show_history": "Voir tout l'historique ({{total}} événements)",
545
- "hide_history": "Masquer l'historique ({{total}} événements)"
548
+ "hide_history": "Masquer l'historique ({{total}} événements)",
549
+ "of": "de"
546
550
  },
547
551
  "view": {
548
552
  "views": "Vues",
@@ -18,6 +18,7 @@ export interface IRecordIdentityWhoAmI {
18
18
  color?: string | null;
19
19
  library: IRecordIdentityLibrary;
20
20
  preview?: IPreviewScalar | null;
21
+ parentContext?: IRecordIdentityWhoAmI[] | null;
21
22
  }
22
23
  export interface IRecordIdentity {
23
24
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"records.js","sourceRoot":"","sources":["../../src/types/records.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {type IPreviewScalar} from '@leav/utils';\nimport {type SystemTranslation} from './scalars';\n\nexport interface IRecordIdentityLibrary {\n id: string;\n label?: SystemTranslation | null;\n}\n\nexport interface IRecordIdentityPreview {\n tiny: string | null;\n small: string | null;\n medium: string | null;\n big: string | null;\n huge: string | null;\n}\n\nexport interface IRecordIdentityWhoAmI {\n id: string;\n label?: string | null;\n subLabel?: string | null;\n color?: string | null;\n library: IRecordIdentityLibrary;\n preview?: IPreviewScalar | null;\n}\n\nexport interface IRecordIdentity {\n id: string;\n whoAmI: IRecordIdentityWhoAmI;\n}\n"]}
1
+ {"version":3,"file":"records.js","sourceRoot":"","sources":["../../src/types/records.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {type IPreviewScalar} from '@leav/utils';\nimport {type SystemTranslation} from './scalars';\n\nexport interface IRecordIdentityLibrary {\n id: string;\n label?: SystemTranslation | null;\n}\n\nexport interface IRecordIdentityPreview {\n tiny: string | null;\n small: string | null;\n medium: string | null;\n big: string | null;\n huge: string | null;\n}\n\nexport interface IRecordIdentityWhoAmI {\n id: string;\n label?: string | null;\n subLabel?: string | null;\n color?: string | null;\n library: IRecordIdentityLibrary;\n preview?: IPreviewScalar | null;\n parentContext?: IRecordIdentityWhoAmI[] | null;\n}\n\nexport interface IRecordIdentity {\n id: string;\n whoAmI: IRecordIdentityWhoAmI;\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leav/ui",
3
- "version": "1.7.0",
3
+ "version": "1.8.0-24fcde77",
4
4
  "description": "Shared React components and hooks",
5
5
  "scripts": {
6
6
  "prepublishOnly": "yarn build",
@@ -24,8 +24,8 @@
24
24
  "license": "LGPL3",
25
25
  "repository": "https://github.com/leav-solutions/leav-engine",
26
26
  "devDependencies": {
27
- "@apollo/client": "3.8.1",
28
- "@babel/preset-env": "7.28.6",
27
+ "@apollo/client": "3.14.0",
28
+ "@babel/preset-env": "7.29.0",
29
29
  "@babel/preset-react": "7.28.5",
30
30
  "@graphql-codegen/add": "5.0.3",
31
31
  "@graphql-codegen/cli": "6.1.1",
@@ -44,7 +44,7 @@
44
44
  "@types/react": "18.2.14",
45
45
  "@types/react-dom": "18.2.6",
46
46
  "@types/react-table": "7.7.20",
47
- "aristid-ds": "14.0.0-ee1e09c",
47
+ "aristid-ds": "15.0.0-06322cf",
48
48
  "babel-jest": "29.7.0",
49
49
  "graphql": "16.12.0",
50
50
  "i18next": "22.5.1",
@@ -57,12 +57,12 @@
57
57
  "react-router-dom": "6.22.0",
58
58
  "ts-jest": "29.4.6",
59
59
  "tsc-alias": "1.8.16",
60
- "typescript": "5.5.3",
60
+ "typescript": "5.9.3",
61
61
  "vite": "7.3.1"
62
62
  },
63
63
  "peerDependencies": {
64
64
  "@apollo/client": ">=3.8.1",
65
- "aristid-ds": "^14.0.0-ee1e09c",
65
+ "aristid-ds": "15.0.0-06322cf",
66
66
  "i18next": ">=22.5.1",
67
67
  "react": "^18.2.0",
68
68
  "react-dom": "^18.2.0",
@@ -70,9 +70,9 @@
70
70
  "react-router-dom": "^6.22.0"
71
71
  },
72
72
  "dependencies": {
73
- "@ant-design/icons": "5.2.6",
73
+ "@ant-design/icons": "5.6.1",
74
74
  "@ckeditor/ckeditor5-build-inline": "39.0.2",
75
- "@ckeditor/ckeditor5-react": "6.1.0",
75
+ "@ckeditor/ckeditor5-react": "6.3.0",
76
76
  "@dnd-kit/core": "6.1.0",
77
77
  "@dnd-kit/sortable": "8.0.0",
78
78
  "@dnd-kit/utilities": "3.2.2",
@@ -80,7 +80,7 @@
80
80
  "@fortawesome/free-regular-svg-icons": "7.0.1",
81
81
  "@fortawesome/free-solid-svg-icons": "7.0.1",
82
82
  "@fortawesome/react-fontawesome": "3.0.2",
83
- "@leav/utils": "1.7.0",
83
+ "@leav/utils": "1.8.0",
84
84
  "@uidotdev/usehooks": "2.4.1",
85
85
  "dayjs": "^1.11.13",
86
86
  "dompurify": "3.2.4",
@@ -1,16 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import styled from 'styled-components';
3
- import { KitTree } from 'aristid-ds';
4
- import { useSharedTranslation } from '../../../hooks/useSharedTranslation';
5
- const TreeStyled = styled(KitTree) `
6
- font-style: italic;
7
- `;
8
- const EMPTY_VALUE_KEY = '0';
9
- export const EmptyValueCheckbox = ({ filter, onSelect }) => {
10
- const { t } = useSharedTranslation();
11
- const onChange = () => {
12
- onSelect(!filter.withEmptyValues);
13
- };
14
- return (_jsx(TreeStyled, { checkable: true, treeData: [{ title: t('filters.empty-value'), key: EMPTY_VALUE_KEY, isLeaf: true }], checkedKeys: filter.withEmptyValues ? [EMPTY_VALUE_KEY] : [], onSelect: onChange, onCheck: onChange }));
15
- };
16
- //# sourceMappingURL=EmptyValueCheckbox.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EmptyValueCheckbox.js","sourceRoot":"","sources":["../../../../src/components/Filters/filter-items/EmptyValueCheckbox.tsx"],"names":[],"mappings":";AAIA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAC,OAAO,EAAC,MAAM,YAAY,CAAC;AACnC,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AAQpE,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;;CAEjC,CAAC;AAEF,MAAM,eAAe,GAAG,GAAG,CAAC;AAE5B,MAAM,CAAC,MAAM,kBAAkB,GAAgD,CAAC,EAAC,MAAM,EAAE,QAAQ,EAAC,EAAE,EAAE;IAClG,MAAM,EAAC,CAAC,EAAC,GAAG,oBAAoB,EAAE,CAAC;IAEnC,MAAM,QAAQ,GAAG,GAAG,EAAE;QAClB,QAAQ,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IACtC,CAAC,CAAC;IAEF,OAAO,CACH,KAAC,UAAU,IACP,SAAS,QACT,QAAQ,EAAE,CAAC,EAAC,KAAK,EAAE,CAAC,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,EAAC,CAAC,EACjF,WAAW,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,EAC5D,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,QAAQ,GACnB,CACL,CAAC;AACN,CAAC,CAAC","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {type FunctionComponent} from 'react';\nimport styled from 'styled-components';\nimport {KitTree} from 'aristid-ds';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {type UIFilter} from '../_types';\n\ninterface IEmptyValueCheckboxProps {\n filter: UIFilter;\n onSelect: (selected: boolean) => void;\n}\n\nconst TreeStyled = styled(KitTree)`\n font-style: italic;\n`;\n\nconst EMPTY_VALUE_KEY = '0';\n\nexport const EmptyValueCheckbox: FunctionComponent<IEmptyValueCheckboxProps> = ({filter, onSelect}) => {\n const {t} = useSharedTranslation();\n\n const onChange = () => {\n onSelect(!filter.withEmptyValues);\n };\n\n return (\n <TreeStyled\n checkable\n treeData={[{title: t('filters.empty-value'), key: EMPTY_VALUE_KEY, isLeaf: true}]}\n checkedKeys={filter.withEmptyValues ? [EMPTY_VALUE_KEY] : []}\n onSelect={onChange}\n onCheck={onChange}\n />\n );\n};\n"]}
@@ -1,71 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { RecordFilterCondition } from '../../../../_gqlTypes';
3
- import { SelectTreeNode } from '../../../../components/SelectTreeNode';
4
- import styled from 'styled-components';
5
- import { EmptyValueCheckbox } from '../EmptyValueCheckbox';
6
- const DivStyled = styled.div `
7
- max-height: 30rem;
8
- overflow: auto;
9
- `;
10
- export const TreeAttributeDropDown = ({ filter, onFilterChange, }) => {
11
- const selectedNodesIds = (filter.nodes ?? []).map(node => node.nodeId);
12
- const _handleOnCheckEmptyValue = (selected) => {
13
- onFilterChange({
14
- ...filter,
15
- withEmptyValues: selected,
16
- });
17
- };
18
- const _handleOnSelect = (node, selected) => {
19
- let newSelectedIds;
20
- if (selected) {
21
- newSelectedIds = [...selectedNodesIds, node.id];
22
- }
23
- else {
24
- newSelectedIds = selectedNodesIds.filter(selectedValue => selectedValue !== node.id);
25
- }
26
- onFilterChange({
27
- ...filter,
28
- nodes: newSelectedIds.map(id => ({ nodeId: id, libraryId: node.record.whoAmI.library.id })),
29
- });
30
- };
31
- const _getRecursiveChildrenRecord = (nodes) => {
32
- const records = [];
33
- const collectRecordIdsRecursively = (nodeList) => {
34
- for (const node of nodeList) {
35
- if (node.id === filter.attribute.linkedTree?.id) {
36
- continue;
37
- }
38
- if (node.record) {
39
- records.push(node.record);
40
- }
41
- if (node.children && node.children.length > 0) {
42
- collectRecordIdsRecursively(node.children);
43
- }
44
- }
45
- };
46
- collectRecordIdsRecursively(nodes);
47
- // Delete duplicates
48
- return Array.from(new Set(records));
49
- };
50
- const _getRecursiveFieldsFromLibraries = (nodes) => nodes
51
- .filter(node => !!node.record?.whoAmI?.library?.id)
52
- .map(node => `${filter.attribute.id}.${node.record?.whoAmI?.library?.id}.id`);
53
- const _handleOnCheck = (selection) => {
54
- const newSelectedNodes = selection.filter(node => !node?.disabled);
55
- const records = _getRecursiveChildrenRecord(selection);
56
- const fields = _getRecursiveFieldsFromLibraries(selection);
57
- onFilterChange({
58
- ...filter,
59
- nodes: newSelectedNodes.map(node => ({
60
- nodeId: node.id,
61
- libraryId: node.record?.whoAmI.library.id ?? records[0]?.whoAmI.library.id ?? '',
62
- })),
63
- value: records.map(record => record.id),
64
- formattedValue: records.map(record => record.whoAmI.label).filter(Boolean),
65
- condition: RecordFilterCondition.EQUAL,
66
- field: fields,
67
- });
68
- };
69
- return (_jsxs(DivStyled, { children: [_jsx(EmptyValueCheckbox, { onSelect: _handleOnCheckEmptyValue, filter: filter }), _jsx(SelectTreeNode, { treeId: filter.attribute.linkedTree?.id ?? '', selectedNodes: selectedNodesIds, onSelect: _handleOnSelect, onCheck: _handleOnCheck, multiple: true, canSelectRoot: true, checkStrictly: false, checkable: true, loadRecursively: true, noPagination: true })] }));
70
- };
71
- //# sourceMappingURL=TreeAttributeDropDown.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TreeAttributeDropDown.js","sourceRoot":"","sources":["../../../../../src/components/Filters/filter-items/filter-type/TreeAttributeDropDown.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {type FunctionComponent} from 'react';\nimport {type IRecordIdentity, type ITreeNodeWithRecord} from '_ui/types';\nimport {RecordFilterCondition} from '_ui/_gqlTypes';\nimport {type IFilterChildrenTreeDropDownProps} from './_types';\nimport {SelectTreeNode} from '_ui/components/SelectTreeNode';\nimport styled from 'styled-components';\nimport {EmptyValueCheckbox} from '../EmptyValueCheckbox';\n\nconst DivStyled = styled.div`\n max-height: 30rem;\n overflow: auto;\n`;\n\nexport const TreeAttributeDropDown: FunctionComponent<IFilterChildrenTreeDropDownProps> = ({\n filter,\n onFilterChange,\n}) => {\n const selectedNodesIds = (filter.nodes ?? []).map(node => node.nodeId);\n\n const _handleOnCheckEmptyValue = (selected: boolean) => {\n onFilterChange({\n ...filter,\n withEmptyValues: selected,\n });\n };\n\n const _handleOnSelect = (node: ITreeNodeWithRecord, selected: boolean) => {\n let newSelectedIds: string[];\n if (selected) {\n newSelectedIds = [...selectedNodesIds, node.id];\n } else {\n newSelectedIds = selectedNodesIds.filter(selectedValue => selectedValue !== node.id);\n }\n onFilterChange({\n ...filter,\n nodes: newSelectedIds.map(id => ({nodeId: id, libraryId: node.record.whoAmI.library.id})),\n });\n };\n\n const _getRecursiveChildrenRecord = (nodes: ITreeNodeWithRecord[]): IRecordIdentity[] => {\n const records: IRecordIdentity[] = [];\n const collectRecordIdsRecursively = (nodeList: ITreeNodeWithRecord[]) => {\n for (const node of nodeList) {\n if (node.id === filter.attribute.linkedTree?.id) {\n continue;\n }\n if (node.record) {\n records.push(node.record);\n }\n if (node.children && node.children.length > 0) {\n collectRecordIdsRecursively(node.children);\n }\n }\n };\n collectRecordIdsRecursively(nodes);\n // Delete duplicates\n return Array.from(new Set(records));\n };\n const _getRecursiveFieldsFromLibraries = (nodes: ITreeNodeWithRecord[]): string[] =>\n nodes\n .filter(node => !!node.record?.whoAmI?.library?.id)\n .map(node => `${filter.attribute.id}.${node.record?.whoAmI?.library?.id}.id`);\n\n const _handleOnCheck = (selection: ITreeNodeWithRecord[]) => {\n const newSelectedNodes = selection.filter(node => !node?.disabled);\n\n const records = _getRecursiveChildrenRecord(selection);\n const fields = _getRecursiveFieldsFromLibraries(selection);\n\n onFilterChange({\n ...filter,\n nodes: newSelectedNodes.map(node => ({\n nodeId: node.id,\n libraryId: node.record?.whoAmI.library.id ?? records[0]?.whoAmI.library.id ?? '',\n })),\n value: records.map(record => record.id),\n formattedValue: records.map(record => record.whoAmI.label).filter(Boolean),\n condition: RecordFilterCondition.EQUAL,\n field: fields,\n });\n };\n\n return (\n <DivStyled>\n <EmptyValueCheckbox onSelect={_handleOnCheckEmptyValue} filter={filter} />\n <SelectTreeNode\n treeId={filter.attribute.linkedTree?.id ?? ''}\n selectedNodes={selectedNodesIds}\n onSelect={_handleOnSelect}\n onCheck={_handleOnCheck}\n multiple\n canSelectRoot={true}\n checkStrictly={false}\n checkable\n loadRecursively={true}\n noPagination={true}\n />\n </DivStyled>\n );\n};\n"]}