@leav/ui 1.13.0-6f2d667e → 1.13.0-95c8de41

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 (115) hide show
  1. package/dist/_gqlTypes/index.d.ts +224 -72
  2. package/dist/_gqlTypes/index.js +143 -61
  3. package/dist/_gqlTypes/index.js.map +1 -1
  4. package/dist/_queries/attributes/attributeDetailsFragment.js +3 -0
  5. package/dist/_queries/attributes/attributeDetailsFragment.js.map +1 -1
  6. package/dist/components/Explorer/Explorer.d.ts +5 -1
  7. package/dist/components/Explorer/Explorer.js +7 -0
  8. package/dist/components/Explorer/Explorer.js.map +1 -1
  9. package/dist/components/Explorer/_types.d.ts +6 -0
  10. package/dist/components/Explorer/_types.js.map +1 -1
  11. package/dist/components/Explorer/actions-mass/edit-attribute/EditMonoDependencyWorkflowTreeAttribute.d.ts +8 -0
  12. package/dist/components/Explorer/actions-mass/edit-attribute/EditMonoDependencyWorkflowTreeAttribute.js +34 -0
  13. package/dist/components/Explorer/actions-mass/edit-attribute/EditMonoDependencyWorkflowTreeAttribute.js.map +1 -0
  14. package/dist/components/Explorer/actions-mass/edit-attribute/EditTreeAttributeValuesMapping.d.ts +3 -1
  15. package/dist/components/Explorer/actions-mass/edit-attribute/EditTreeAttributeValuesMapping.js +12 -14
  16. package/dist/components/Explorer/actions-mass/edit-attribute/EditTreeAttributeValuesMapping.js.map +1 -1
  17. package/dist/components/Explorer/actions-mass/edit-attribute/_types.d.ts +15 -3
  18. package/dist/components/Explorer/actions-mass/edit-attribute/_types.js.map +1 -1
  19. package/dist/components/Explorer/actions-mass/edit-attribute/useDependencyValues.d.ts +13 -0
  20. package/dist/components/Explorer/actions-mass/edit-attribute/useDependencyValues.js +47 -0
  21. package/dist/components/Explorer/actions-mass/edit-attribute/useDependencyValues.js.map +1 -0
  22. package/dist/components/Explorer/actions-mass/edit-attribute/useEditionMappingState.d.ts +13 -0
  23. package/dist/components/Explorer/actions-mass/edit-attribute/useEditionMappingState.js +73 -0
  24. package/dist/components/Explorer/actions-mass/edit-attribute/useEditionMappingState.js.map +1 -0
  25. package/dist/components/Explorer/actions-mass/edit-attribute/useMassEditableAttributes.js +14 -17
  26. package/dist/components/Explorer/actions-mass/edit-attribute/useMassEditableAttributes.js.map +1 -1
  27. package/dist/components/Explorer/actions-mass/edit-attribute/useTreeNodesCandidates.d.ts +23 -0
  28. package/dist/components/Explorer/actions-mass/edit-attribute/useTreeNodesCandidates.js +68 -0
  29. package/dist/components/Explorer/actions-mass/edit-attribute/useTreeNodesCandidates.js.map +1 -0
  30. package/dist/components/Explorer/actions-mass/useEditAttributeMassAction.js +16 -50
  31. package/dist/components/Explorer/actions-mass/useEditAttributeMassAction.js.map +1 -1
  32. package/dist/components/Explorer/manage-view-settings/filter-items/FilterItems.js +6 -6
  33. package/dist/components/Explorer/manage-view-settings/filter-items/FilterItems.js.map +1 -1
  34. package/dist/components/Explorer/manage-view-settings/store-view-settings/viewSettingsReducer.d.ts +7 -31
  35. package/dist/components/Explorer/manage-view-settings/store-view-settings/viewSettingsReducer.js +9 -20
  36. package/dist/components/Explorer/manage-view-settings/store-view-settings/viewSettingsReducer.js.map +1 -1
  37. package/dist/components/Explorer/useNotifyFiltersChange.d.ts +15 -0
  38. package/dist/components/Explorer/useNotifyFiltersChange.js +26 -0
  39. package/dist/components/Explorer/useNotifyFiltersChange.js.map +1 -0
  40. package/dist/components/Filters/_types.d.ts +14 -0
  41. package/dist/components/Filters/_types.js +2 -1
  42. package/dist/components/Filters/_types.js.map +1 -1
  43. package/dist/components/Filters/context/filtersReducer.d.ts +14 -1
  44. package/dist/components/Filters/context/filtersReducer.js +39 -8
  45. package/dist/components/Filters/context/filtersReducer.js.map +1 -1
  46. package/dist/components/Filters/filter-items/CommonFilterItem.js +4 -1
  47. package/dist/components/Filters/filter-items/CommonFilterItem.js.map +1 -1
  48. package/dist/components/Filters/filter-items/filter-type/FilterDropDown.js +15 -3
  49. package/dist/components/Filters/filter-items/filter-type/FilterDropDown.js.map +1 -1
  50. package/dist/components/Filters/filter-items/filter-type/FilterDropdownContent.d.ts +3 -1
  51. package/dist/components/Filters/filter-items/filter-type/FilterDropdownContent.js +2 -2
  52. package/dist/components/Filters/filter-items/filter-type/FilterDropdownContent.js.map +1 -1
  53. package/dist/components/Filters/filter-items/filter-type/_types.d.ts +3 -1
  54. package/dist/components/Filters/filter-items/filter-type/_types.js.map +1 -1
  55. package/dist/components/Filters/filter-items/filter-type/smart-filter/SmartFilterAttributeDropdown.js +2 -3
  56. package/dist/components/Filters/filter-items/filter-type/smart-filter/SmartFilterAttributeDropdown.js.map +1 -1
  57. package/dist/components/Filters/filter-items/filter-type/smart-filter/useGetSmartFilterData.d.ts +2 -4
  58. package/dist/components/Filters/filter-items/filter-type/smart-filter/useGetSmartFilterData.js +22 -16
  59. package/dist/components/Filters/filter-items/filter-type/smart-filter/useGetSmartFilterData.js.map +1 -1
  60. package/dist/components/Filters/filter-items/filter-type/tree/TreeAttributeDropDown.js +39 -83
  61. package/dist/components/Filters/filter-items/filter-type/tree/TreeAttributeDropDown.js.map +1 -1
  62. package/dist/components/Filters/filter-items/filter-type/tree/useGetTreeData.d.ts +1 -0
  63. package/dist/components/Filters/filter-items/filter-type/tree/useGetTreeData.js.map +1 -1
  64. package/dist/components/Filters/filter-items/filter-type/tree/useTreeNodeSelection.d.ts +21 -0
  65. package/dist/components/Filters/filter-items/filter-type/tree/useTreeNodeSelection.js +85 -0
  66. package/dist/components/Filters/filter-items/filter-type/tree/useTreeNodeSelection.js.map +1 -0
  67. package/dist/components/Filters/filter-items/filter-type/tree/useTreePermissions.d.ts +8 -0
  68. package/dist/components/Filters/filter-items/filter-type/tree/useTreePermissions.js +40 -0
  69. package/dist/components/Filters/filter-items/filter-type/tree/useTreePermissions.js.map +1 -0
  70. package/dist/components/Filters/filter-items/filter-type/tree/useTreesSearch.d.ts +2 -3
  71. package/dist/components/Filters/filter-items/filter-type/tree/useTreesSearch.js +2 -3
  72. package/dist/components/Filters/filter-items/filter-type/tree/useTreesSearch.js.map +1 -1
  73. package/dist/components/Filters/filter-items/filter-type/tree/utils/filterTreeByPermission.d.ts +1 -1
  74. package/dist/components/Filters/filter-items/filter-type/tree/utils/filterTreeByPermission.js +3 -4
  75. package/dist/components/Filters/filter-items/filter-type/tree/utils/filterTreeByPermission.js.map +1 -1
  76. package/dist/components/Filters/filter-items/shared/EmptyValueCheckbox.js +1 -7
  77. package/dist/components/Filters/filter-items/shared/EmptyValueCheckbox.js.map +1 -1
  78. package/dist/components/Filters/prepareFiltersForRequest.js +37 -14
  79. package/dist/components/Filters/prepareFiltersForRequest.js.map +1 -1
  80. package/dist/components/Filters/useFilters.d.ts +312 -0
  81. package/dist/components/Filters/useTransformFilters.js +1 -0
  82. package/dist/components/Filters/useTransformFilters.js.map +1 -1
  83. package/dist/hooks/index.d.ts +1 -0
  84. package/dist/hooks/index.js +1 -0
  85. package/dist/hooks/index.js.map +1 -1
  86. package/dist/hooks/useDelayedLoading/index.d.ts +1 -0
  87. package/dist/hooks/useDelayedLoading/index.js +5 -0
  88. package/dist/hooks/useDelayedLoading/index.js.map +1 -0
  89. package/dist/hooks/useDelayedLoading/useDelayedLoading.d.ts +17 -0
  90. package/dist/hooks/useDelayedLoading/useDelayedLoading.js +54 -0
  91. package/dist/hooks/useDelayedLoading/useDelayedLoading.js.map +1 -0
  92. package/dist/hooks/useIFrameMessenger/iFrameMessengerContext.d.ts +3 -1
  93. package/dist/hooks/useIFrameMessenger/iFrameMessengerContext.js.map +1 -1
  94. package/dist/hooks/useIFrameMessenger/messageHandlers.d.ts +2 -1
  95. package/dist/hooks/useIFrameMessenger/messageHandlers.js +9 -0
  96. package/dist/hooks/useIFrameMessenger/messageHandlers.js.map +1 -1
  97. package/dist/hooks/useIFrameMessenger/types.d.ts +21 -2
  98. package/dist/hooks/useIFrameMessenger/types.js.map +1 -1
  99. package/dist/hooks/useIFrameMessenger/useIFrameMessenger.d.ts +1 -0
  100. package/dist/hooks/useIFrameMessenger/useIFrameMessengerContext.js +29 -7
  101. package/dist/hooks/useIFrameMessenger/useIFrameMessengerContext.js.map +1 -1
  102. package/dist/hooks/useIFrameMessenger/useNativePanelMessengerHandlers.d.ts +14 -0
  103. package/dist/hooks/useIFrameMessenger/useNativePanelMessengerHandlers.js +22 -0
  104. package/dist/hooks/useIFrameMessenger/useNativePanelMessengerHandlers.js.map +1 -0
  105. package/dist/hooks/useIFrameMessengerClient/iFrameMessengerClientContext.d.ts +1 -0
  106. package/dist/hooks/useIFrameMessengerClient/useIFrameMessengerClient.d.ts +1 -0
  107. package/dist/locales/en/shared.json +3 -1
  108. package/dist/locales/fr/shared.json +3 -1
  109. package/package.json +2 -2
  110. package/dist/components/Explorer/actions-mass/edit-attribute/useTreeNodeRemapping.d.ts +0 -12
  111. package/dist/components/Explorer/actions-mass/edit-attribute/useTreeNodeRemapping.js +0 -24
  112. package/dist/components/Explorer/actions-mass/edit-attribute/useTreeNodeRemapping.js.map +0 -1
  113. package/dist/components/Explorer/actions-mass/edit-attribute/useValuesDistribution.d.ts +0 -13
  114. package/dist/components/Explorer/actions-mass/edit-attribute/useValuesDistribution.js +0 -28
  115. package/dist/components/Explorer/actions-mass/edit-attribute/useValuesDistribution.js.map +0 -1
@@ -0,0 +1,14 @@
1
+ import { type IUseIFrameMessengerOptions, type Message } from './types';
2
+ /**
3
+ * Per-panel hook for native React panels (non-iframe).
4
+ * Registers the panel's handlers into the singleton `IFrameMessengerProvider`
5
+ * and cleans them up on unmount.
6
+ *
7
+ * Uses same-window `window.postMessage` as transport, routed via `__targetPanelId`
8
+ * in the message envelope — same protocol as iframe panels, no postMessage cross-origin.
9
+ *
10
+ * Returns `dispatch` to send messages to another panel by its ID.
11
+ */
12
+ export declare const useNativePanelMessengerHandlers: (panelId: string, handlers: IUseIFrameMessengerOptions["handlers"]) => {
13
+ dispatch: (targetPanelId: string, message: Message) => void;
14
+ };
@@ -0,0 +1,22 @@
1
+ // Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06
2
+ // This file is released under LGPL V3
3
+ // License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
4
+ import { useCallback, useContext, useEffect } from 'react';
5
+ import { IFrameMessengerContext } from './iFrameMessengerContext';
6
+ /**
7
+ * Per-panel hook for native React panels (non-iframe).
8
+ * Registers the panel's handlers into the singleton `IFrameMessengerProvider`
9
+ * and cleans them up on unmount.
10
+ *
11
+ * Uses same-window `window.postMessage` as transport, routed via `__targetPanelId`
12
+ * in the message envelope — same protocol as iframe panels, no postMessage cross-origin.
13
+ *
14
+ * Returns `dispatch` to send messages to another panel by its ID.
15
+ */
16
+ export const useNativePanelMessengerHandlers = (panelId, handlers) => {
17
+ const { registerNativePanelHandlers, dispatchToNativePanel } = useContext(IFrameMessengerContext);
18
+ useEffect(() => registerNativePanelHandlers(panelId, handlers), []);
19
+ const dispatch = useCallback((targetPanelId, message) => dispatchToNativePanel(targetPanelId, message), [dispatchToNativePanel]);
20
+ return { dispatch };
21
+ };
22
+ //# sourceMappingURL=useNativePanelMessengerHandlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useNativePanelMessengerHandlers.js","sourceRoot":"","sources":["../../../src/hooks/useIFrameMessenger/useNativePanelMessengerHandlers.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,WAAW,EAAE,UAAU,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AACzD,OAAO,EAAC,sBAAsB,EAAC,MAAM,0BAA0B,CAAC;AAGhE;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,OAAe,EAAE,QAAgD,EAAE,EAAE;IACjH,MAAM,EAAC,2BAA2B,EAAE,qBAAqB,EAAC,GAAG,UAAU,CAAC,sBAAsB,CAAC,CAAC;IAEhG,SAAS,CAAC,GAAG,EAAE,CAAC,2BAA2B,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEpE,MAAM,QAAQ,GAAG,WAAW,CACxB,CAAC,aAAqB,EAAE,OAAgB,EAAE,EAAE,CAAC,qBAAqB,CAAC,aAAa,EAAE,OAAO,CAAC,EAC1F,CAAC,qBAAqB,CAAC,CAC1B,CAAC;IAEF,OAAO,EAAC,QAAQ,EAAC,CAAC;AACtB,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 {useCallback, useContext, useEffect} from 'react';\nimport {IFrameMessengerContext} from './iFrameMessengerContext';\nimport {type IUseIFrameMessengerOptions, type Message} from './types';\n\n/**\n * Per-panel hook for native React panels (non-iframe).\n * Registers the panel's handlers into the singleton `IFrameMessengerProvider`\n * and cleans them up on unmount.\n *\n * Uses same-window `window.postMessage` as transport, routed via `__targetPanelId`\n * in the message envelope — same protocol as iframe panels, no postMessage cross-origin.\n *\n * Returns `dispatch` to send messages to another panel by its ID.\n */\nexport const useNativePanelMessengerHandlers = (panelId: string, handlers: IUseIFrameMessengerOptions['handlers']) => {\n const {registerNativePanelHandlers, dispatchToNativePanel} = useContext(IFrameMessengerContext);\n\n useEffect(() => registerNativePanelHandlers(panelId, handlers), []);\n\n const dispatch = useCallback(\n (targetPanelId: string, message: Message) => dispatchToNativePanel(targetPanelId, message),\n [dispatchToNativePanel],\n );\n\n return {dispatch};\n};\n"]}
@@ -15,4 +15,5 @@ export declare const IframeMessengerClientContext: import("react").Context<{
15
15
  closeFlapPanel: () => void;
16
16
  getPanelConfig: (data: import("../useIFrameMessenger/types").GetPanelConfigMessage["data"]) => void;
17
17
  getUrl: (data: import("../useIFrameMessenger/types").GetUrlMessage["data"]) => void;
18
+ explorerViewChanged: (data: import("../useIFrameMessenger/types").ExplorerViewChangedMessage["data"]) => void;
18
19
  }>;
@@ -15,4 +15,5 @@ export declare const useIFrameMessengerClient: () => {
15
15
  closeFlapPanel: () => void;
16
16
  getPanelConfig: (data: import("../useIFrameMessenger/types").GetPanelConfigMessage["data"]) => void;
17
17
  getUrl: (data: import("../useIFrameMessenger/types").GetUrlMessage["data"]) => void;
18
+ explorerViewChanged: (data: import("../useIFrameMessenger/types").ExplorerViewChangedMessage["data"]) => void;
18
19
  };
@@ -313,7 +313,8 @@
313
313
  "empty-value": "Undefined",
314
314
  "visible-by-default": "Value(s) visible by default",
315
315
  "hidden-by-default": "Value(s) hidden by default",
316
- "select-all": "Select All"
316
+ "select-all": "Select All",
317
+ "show-hidden-options": "Include hidden options"
317
318
  },
318
319
  "filter-item": {
319
320
  "no-operator": "If"
@@ -740,6 +741,7 @@
740
741
  "editAttribute_value_occurrences_to_edit_other": "{{count, number}} elements to edit",
741
742
  "editAttribute_value_undefined": "Undefined",
742
743
  "editAttribute_value_do_not_change": "Do not change",
744
+ "editAttribute_mono_dependency_workflow_notice": "The elements are grouped by type. Select the new desired value for each group.",
743
745
  "editAttribute_submit_notification_title": "Bulk edit request",
744
746
  "editAttribute_submit_notification_description_one": "Your request to edit {{count, number}} item has been received. You will be notified once the operation is complete.",
745
747
  "editAttribute_submit_notification_description_other": "Your request to edit {{count, number}} items has been received. You will be notified once the operation is complete.",
@@ -313,7 +313,8 @@
313
313
  "empty-value": "Non défini",
314
314
  "visible-by-default": "Valeurs affichée(s) par défaut",
315
315
  "hidden-by-default": "Valeurs masquée(s) par défaut",
316
- "select-all": "Tout sélectionner"
316
+ "select-all": "Tout sélectionner",
317
+ "show-hidden-options": "Inclure les options masquées"
317
318
  },
318
319
  "filter-item": {
319
320
  "no-operator": "Si"
@@ -740,6 +741,7 @@
740
741
  "editAttribute_value_occurrences_to_edit_other": "{{count, number}} éléments à traiter",
741
742
  "editAttribute_value_undefined": "Non défini",
742
743
  "editAttribute_value_do_not_change": "Ne pas changer",
744
+ "editAttribute_mono_dependency_workflow_notice": "Les éléments sont regroupés par type. Sélectionnez la nouvelle valeur souhaitée pour chaque groupe.",
743
745
  "editAttribute_submit_notification_title": "Demande de modification en masse",
744
746
  "editAttribute_submit_notification_description_one": "Votre demande de modification de {{count, number}} élément a bien été prise en compte. Vous serez notifié une fois l’opération terminée.",
745
747
  "editAttribute_submit_notification_description_other": "Votre demande de modification de {{count, number}} éléments a bien été prise en compte. Vous serez notifié une fois l’opération terminée.",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leav/ui",
3
- "version": "1.13.0-6f2d667e",
3
+ "version": "1.13.0-95c8de41",
4
4
  "description": "Shared React components and hooks",
5
5
  "scripts": {
6
6
  "prepublishOnly": "yarn build",
@@ -44,7 +44,7 @@
44
44
  "@types/react-dom": "18.2.6",
45
45
  "aristid-ds": "15.3.1-3917c51",
46
46
  "babel-jest": "29.7.0",
47
- "graphql": "16.13.2",
47
+ "graphql": "16.14.0",
48
48
  "i18next": "22.5.1",
49
49
  "jest": "29.7.0",
50
50
  "jest-environment-jsdom": "29.7.0",
@@ -1,12 +0,0 @@
1
- import { type MassEditTreeNode } from './_types';
2
- export declare const useTreeNodeRemapping: ({ distribution, editableNodes, }: {
3
- distribution: Array<{
4
- count: number;
5
- treeNodeId: string;
6
- }>;
7
- editableNodes: MassEditTreeNode[];
8
- }) => Array<{
9
- currentNode: MassEditTreeNode;
10
- occurrenceCount: number;
11
- candidateNodes: MassEditTreeNode[];
12
- }>;
@@ -1,24 +0,0 @@
1
- // Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06
2
- // This file is released under LGPL V3
3
- // License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
4
- import { useSharedTranslation } from '../../../../hooks/useSharedTranslation';
5
- export const useTreeNodeRemapping = ({ distribution, editableNodes, }) => {
6
- const { t } = useSharedTranslation();
7
- return distribution.map(occurrence => {
8
- const currentNode = editableNodes.find(({ id }) => id === occurrence.treeNodeId);
9
- const filteredCandidates = editableNodes
10
- .filter(({ id }) => id !== currentNode.id)
11
- .filter(candidate => currentNode.allowedDependentNodeIds &&
12
- (currentNode.allowedDependentNodeIds.length === 0 ||
13
- currentNode.allowedDependentNodeIds.includes(candidate.id)));
14
- return {
15
- currentNode,
16
- occurrenceCount: occurrence.count,
17
- candidateNodes: [
18
- { id: occurrence.treeNodeId, label: t('explorer.massAction.editAttribute_value_do_not_change') },
19
- ...filteredCandidates,
20
- ],
21
- };
22
- });
23
- };
24
- //# sourceMappingURL=useTreeNodeRemapping.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTreeNodeRemapping.js","sourceRoot":"","sources":["../../../../../src/components/Explorer/actions-mass/edit-attribute/useTreeNodeRemapping.tsx"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AAGpE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EACjC,YAAY,EACZ,aAAa,GAIhB,EAIE,EAAE;IACD,MAAM,EAAC,CAAC,EAAC,GAAG,oBAAoB,EAAE,CAAC;IAEnC,OAAO,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;QACjC,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAE,CAAC,EAAE,KAAK,UAAU,CAAC,UAAU,CAAE,CAAC;QAEhF,MAAM,kBAAkB,GAAG,aAAa;aACnC,MAAM,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAE,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE,CAAC;aACvC,MAAM,CACH,SAAS,CAAC,EAAE,CACR,WAAW,CAAC,uBAAuB;YACnC,CAAC,WAAW,CAAC,uBAAuB,CAAC,MAAM,KAAK,CAAC;gBAC7C,WAAW,CAAC,uBAAuB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAG,CAAC,CAAC,CACvE,CAAC;QAEN,OAAO;YACH,WAAW;YACX,eAAe,EAAE,UAAU,CAAC,KAAK;YACjC,cAAc,EAAE;gBACZ,EAAC,EAAE,EAAE,UAAU,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,uDAAuD,CAAC,EAAC;gBAC9F,GAAG,kBAAkB;aACxB;SACJ,CAAC;IACN,CAAC,CAAC,CAAC;AACP,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 {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {type MassEditTreeNode} from './_types';\n\nexport const useTreeNodeRemapping = ({\n distribution,\n editableNodes,\n}: {\n distribution: Array<{count: number; treeNodeId: string}>;\n editableNodes: MassEditTreeNode[];\n}): Array<{\n currentNode: MassEditTreeNode;\n occurrenceCount: number;\n candidateNodes: MassEditTreeNode[];\n}> => {\n const {t} = useSharedTranslation();\n\n return distribution.map(occurrence => {\n const currentNode = editableNodes.find(({id}) => id === occurrence.treeNodeId)!;\n\n const filteredCandidates = editableNodes\n .filter(({id}) => id !== currentNode.id)\n .filter(\n candidate =>\n currentNode.allowedDependentNodeIds &&\n (currentNode.allowedDependentNodeIds.length === 0 ||\n currentNode.allowedDependentNodeIds.includes(candidate.id!)),\n );\n\n return {\n currentNode,\n occurrenceCount: occurrence.count,\n candidateNodes: [\n {id: occurrence.treeNodeId, label: t('explorer.massAction.editAttribute_value_do_not_change')},\n ...filteredCandidates,\n ],\n };\n });\n};\n"]}
@@ -1,13 +0,0 @@
1
- import { type RecordFilterInput } from '../../../../_gqlTypes';
2
- export declare const useValuesDistribution: ({ attributeId, libraryId, recordFilters, }: {
3
- attributeId: string;
4
- libraryId: string;
5
- recordFilters: RecordFilterInput[];
6
- }) => {
7
- noValueCount: number;
8
- distribution: Array<{
9
- count: number;
10
- treeNodeId: string;
11
- }>;
12
- loading: boolean;
13
- };
@@ -1,28 +0,0 @@
1
- // Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06
2
- // This file is released under LGPL V3
3
- // License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
4
- import { useValuesOccurrencesQuery } from '../../../../_gqlTypes';
5
- export const useValuesDistribution = ({ attributeId, libraryId, recordFilters, }) => {
6
- const { data: valuesOccurrences, loading } = useValuesOccurrencesQuery({
7
- variables: {
8
- attributeId,
9
- libraryId,
10
- recordFilters,
11
- },
12
- });
13
- const noValueCount = valuesOccurrences?.listDistinctValues?.find(treeOccurrence => !('treeNode' in treeOccurrence && treeOccurrence.treeNode))?.count ?? 0;
14
- const distribution = valuesOccurrences?.listDistinctValues
15
- ?.map(treeOccurrence => 'treeNode' in treeOccurrence && treeOccurrence.treeNode
16
- ? {
17
- count: treeOccurrence.count,
18
- treeNodeId: treeOccurrence.treeNode.id,
19
- }
20
- : null)
21
- .filter(Boolean) ?? [];
22
- return {
23
- distribution,
24
- noValueCount,
25
- loading,
26
- };
27
- };
28
- //# sourceMappingURL=useValuesDistribution.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useValuesDistribution.js","sourceRoot":"","sources":["../../../../../src/components/Explorer/actions-mass/edit-attribute/useValuesDistribution.tsx"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAyB,yBAAyB,EAAC,MAAM,eAAe,CAAC;AAEhF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EAClC,WAAW,EACX,SAAS,EACT,aAAa,GAKhB,EAOC,EAAE;IACA,MAAM,EAAC,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAC,GAAG,yBAAyB,CAAC;QACjE,SAAS,EAAE;YACP,WAAW;YACX,SAAS;YACT,aAAa;SAChB;KACJ,CAAC,CAAC;IAEH,MAAM,YAAY,GACd,iBAAiB,EAAE,kBAAkB,EAAE,IAAI,CACvC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,cAAc,IAAI,cAAc,CAAC,QAAQ,CAAC,CAC/E,EAAE,KAAK,IAAI,CAAC,CAAC;IAElB,MAAM,YAAY,GACd,iBAAiB,EAAE,kBAAkB;QACjC,EAAE,GAAG,CAAC,cAAc,CAAC,EAAE,CACnB,UAAU,IAAI,cAAc,IAAI,cAAc,CAAC,QAAQ;QACnD,CAAC,CAAC;YACI,KAAK,EAAE,cAAc,CAAC,KAAK;YAC3B,UAAU,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE;SACzC;QACH,CAAC,CAAC,IAAI,CACb;SACA,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAE/B,OAAO;QACH,YAAY;QACZ,YAAY;QACZ,OAAO;KACV,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 RecordFilterInput, useValuesOccurrencesQuery} from '_ui/_gqlTypes';\n\nexport const useValuesDistribution = ({\n attributeId,\n libraryId,\n recordFilters,\n}: {\n attributeId: string;\n libraryId: string;\n recordFilters: RecordFilterInput[];\n}): {\n noValueCount: number;\n distribution: Array<{\n count: number;\n treeNodeId: string;\n }>;\n loading: boolean;\n} => {\n const {data: valuesOccurrences, loading} = useValuesOccurrencesQuery({\n variables: {\n attributeId,\n libraryId,\n recordFilters,\n },\n });\n\n const noValueCount =\n valuesOccurrences?.listDistinctValues?.find(\n treeOccurrence => !('treeNode' in treeOccurrence && treeOccurrence.treeNode),\n )?.count ?? 0;\n\n const distribution =\n valuesOccurrences?.listDistinctValues\n ?.map(treeOccurrence =>\n 'treeNode' in treeOccurrence && treeOccurrence.treeNode\n ? {\n count: treeOccurrence.count,\n treeNodeId: treeOccurrence.treeNode.id,\n }\n : null,\n )\n .filter(Boolean) ?? [];\n\n return {\n distribution,\n noValueCount,\n loading,\n };\n};\n"]}