@equinor/echo-framework 5.0.0-beta-r19 → 5.0.0-beta-r19-1
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/index.cjs.js +2 -2
- package/package.json +8 -8
- package/src/index.d.ts +4 -4
- package/src/lib/components/prepview/panels/objects/objects.logic.d.ts +7 -0
- package/src/lib/components/prepview/panels/objects/objects.utils.d.ts +14 -0
- package/src/lib/components/prepview/panels/objects/selectionActionBarMultiple/AddSelectionListWithSameNameDialog.d.ts +8 -0
- package/src/lib/components/prepview/panels/objects/selectionActionBarMultiple/SelectionActionBarMultiple.d.ts +9 -0
- package/src/lib/components/prepview/panels/objects/selectionActionBarMultiple/logic/selectionActionBarMultiple.colors.d.ts +2 -0
- package/src/lib/components/prepview/panels/objects/selectionActionBarMultiple/logic/selectionActionBarMultiple.constants.d.ts +1 -0
- package/src/lib/components/prepview/panels/objects/selectionActionBarMultiple/logic/selectionActionBarMultiple.logic.d.ts +4 -0
- package/src/lib/components/prepview/panels/objects/selectionActionBarMultiple/logic/selectionActionBarMultiple.orchestration.d.ts +10 -0
- package/src/lib/components/prepview/panels/objects/selectionActionBarMultiple/logic/selectionActionBarMultiple.utils.d.ts +3 -0
- package/src/lib/components/prepview/panels/tagDocumentRefs/HorizontalDocumentGroups.d.ts +1 -1
- package/src/lib/feature/equipment/components/fullEquipmentItem/fullEquipmentItem.d.ts +3 -3
- package/src/lib/feature/globalSelection/components/selectionActionBar/SelectionActionBar.d.ts +14 -0
- package/src/lib/feature/globalSelection/components/selectionActionBar/SelectionActionBarMenuItem.d.ts +12 -0
- package/src/lib/feature/globalSelection/components/selectionActionBar/hooks/useSelectionAction.d.ts +28 -0
- package/src/lib/feature/globalSelection/globalSelection.api.d.ts +3 -2
- package/src/lib/feature/globalSelection/globalSelectionColorService.d.ts +3 -3
- package/src/lib/feature/globalSelection/globalSelectionColorService.types.d.ts +1 -0
- package/src/lib/feature/globalSelection/globalSelectionStore/actions/addItemsByStrategy.action.d.ts +17 -0
- package/src/lib/feature/globalSelection/globalSelectionStore/globalSelectionStore.d.ts +13 -16
- package/src/lib/feature/globalSelection/globalSelectionStore/globalSelectionStore.types.d.ts +9 -16
- package/src/lib/feature/globalSelection/globalSelectionStore/globalSelectionStore.utils.d.ts +2 -36
- package/src/lib/feature/globalSelection/globalSelectionStore/selectionActionFeedbackStore.d.ts +30 -0
- package/src/lib/feature/globalSelection/hooks/useGlobalSelectionLists.d.ts +5 -3
- package/src/lib/feature/globalSelection/hooks/useIsInGlobalSelection.d.ts +0 -1
- package/src/lib/feature/globalSelection/hooks/useSelectionCategoriesByGroupId.d.ts +3 -2
- package/src/lib/feature/globalSelection/index.d.ts +2 -2
- package/src/lib/feature/globalSelection/selectionMenu/hooks/{useIsAllIGlobalSelectionItemsHidden.d.ts → useIsAllGlobalSelectionItemsHidden.d.ts} +4 -6
- package/src/lib/feature/globalSelection/selectionMenu/hooks/useSelectionColorFrequency.d.ts +5 -2
- package/src/lib/feature/globalSelection/selectionMenu/selectionTreeStore/actions/addItems.action.d.ts +5 -4
- package/src/lib/feature/globalSelection/selectionMenu/selectionTreeStore/actions/removeAllItemsById.action.d.ts +1 -1
- package/src/lib/feature/globalSelection/selectionMenu/selectionTreeStore/actions/removeItemsById.action.d.ts +1 -1
- package/src/lib/feature/globalSelection/selectionMenu/selectionTreeStore/actions/selectionTree.action.types.d.ts +5 -4
- package/src/lib/feature/globalSelection/selectionMenu/selectionTreeStore/selectionTree.store.d.ts +11 -11
- package/src/lib/feature/globalSelection/selectionMenu/selectionTreeStore/selectionTree.store.types.d.ts +4 -3
- package/src/lib/feature/globalSelection/selectionMenu/selectionTreeStore/selectionTree.store.utils.d.ts +9 -7
- package/src/lib/feature/globalSelection/strategies/equipmentSelection.strategy.d.ts +3 -0
- package/src/lib/feature/globalSelection/strategies/index.d.ts +2 -0
- package/src/lib/feature/globalSelection/strategies/isItemIdOfType.d.ts +2 -0
- package/src/lib/feature/globalSelection/strategies/measuringPointSelection.strategy.d.ts +3 -0
- package/src/lib/feature/globalSelection/strategies/registerStrategies.d.ts +1 -0
- package/src/lib/feature/globalSelection/strategies/selectionItemTypeRegistry.d.ts +37 -0
- package/src/lib/feature/globalSelection/strategies/selectionItemTypeStrategy.types.d.ts +50 -0
- package/src/lib/feature/globalSelection/strategies/tagSelection.strategy.d.ts +3 -0
- package/src/lib/feature/globalSelection/strategies/workOrderSelection.strategy.d.ts +3 -0
- package/src/lib/feature/legend/components/BasicLegendRenderer.d.ts +1 -1
- package/src/lib/feature/legend/components/LegendSelectorContainer.d.ts +17 -0
- package/src/lib/feature/legend/components/pdfMarkers/subComponents/ItemMarkerPopoverContainer.d.ts +9 -0
- package/src/lib/feature/legend/components/pdfMarkers/subComponents/MarkerWithPopover.d.ts +1 -1
- package/src/lib/feature/legend/components/pdfMarkers/subComponents/components/MultipleMarkersBySingleLegend/multipleMarkersBySingleLegend.logic.d.ts +1 -1
- package/src/lib/feature/legend/components/pdfMarkers/subComponents/components/MultipleMarkersBySingleLegend/useStalePopoverMarkers.d.ts +3 -3
- package/src/lib/feature/legend/components/pdfMarkers/subComponents/hooks/useMarkerPopover.d.ts +1 -2
- package/src/lib/feature/legend/components/pdfMarkers/utils/markerId.utils.d.ts +1 -2
- package/src/lib/feature/legend/components/popover/LegendPopoverContent.d.ts +9 -26
- package/src/lib/feature/legend/components/popover/LegendPopoverContent.logic.d.ts +12 -6
- package/src/lib/feature/legend/hooks/useGroupedMarkers.utils.d.ts +0 -4
- package/src/lib/feature/legend/hooks/useLegendMarker/useLegendMarker.utils.d.ts +1 -1
- package/src/lib/feature/legend/hooks/useLegendUniqueBadges.d.ts +1 -3
- package/src/lib/feature/legend/hooks/useLegendUniqueMarkers.d.ts +1 -3
- package/src/lib/feature/legend/index.d.ts +8 -5
- package/src/lib/feature/legend/legendAnalytics.d.ts +1 -1
- package/src/lib/feature/legend/legendFacade.d.ts +8 -0
- package/src/lib/feature/legend/legendStrategies/notificationStrategy/api/fetchNotificationDetailsByIds.d.ts +8 -0
- package/src/lib/feature/legend/legendStrategies/notificationStrategy/api/notificationsLegend.api.d.ts +7 -0
- package/src/lib/feature/legend/legendStrategies/notificationStrategy/components/NotificationPopover.d.ts +8 -0
- package/src/lib/feature/legend/legendStrategies/notificationStrategy/hooks/useNotificationDetailsByIds.d.ts +2 -0
- package/src/lib/feature/legend/legendStrategies/notificationStrategy/hooks/useNotificationLegendData.d.ts +5 -0
- package/src/lib/feature/legend/legendStrategies/notificationStrategy/hooks/useNotificationMarkers.d.ts +10 -0
- package/src/lib/feature/legend/legendStrategies/notificationStrategy/hooks/useOpenNotificationsByTagIds.d.ts +14 -0
- package/src/lib/feature/legend/legendStrategies/notificationStrategy/logic/getNotificationPopover.d.ts +6 -0
- package/src/lib/feature/legend/legendStrategies/notificationStrategy/logic/notificationLegend.logic.d.ts +12 -0
- package/src/lib/feature/legend/legendStrategies/notificationStrategy/notificationStrategy.types.d.ts +13 -0
- package/src/lib/feature/legend/legendStrategies/notificationStrategy/optionConfigs/notificationBadgeLegendOptionConfig.d.ts +3 -0
- package/src/lib/feature/legend/legendStrategies/notificationStrategy/optionConfigs/notificationMarkerLegendOptionConfig.d.ts +3 -0
- package/src/lib/feature/legend/legendStrategies/notificationStrategy/testing/createTestNotification.d.ts +2 -0
- package/src/lib/feature/legend/legendStrategies/notificationStrategy/utils/getColorForNotificationLegendStatus.d.ts +7 -0
- package/src/lib/feature/legend/legendStrategies/notificationStrategy/utils/getNotificationTitlesByPropertyName.d.ts +2 -0
- package/src/lib/feature/legend/legendStrategies/notificationStrategy/utils/notificationLegend.utils.d.ts +17 -0
- package/src/lib/feature/legend/legendStrategies/workOrderStrategy/workOrder.utils.d.ts +14 -0
- package/src/lib/feature/legend/logic/getColorForLegendStatus.d.ts +5 -0
- package/src/lib/feature/legend/logic/normalizeBadges.d.ts +25 -12
- package/src/lib/feature/legend/logic/propertyAccessor.utils.d.ts +36 -0
- package/src/lib/feature/legend/stores/initializeLegendInStores.d.ts +3 -4
- package/src/lib/feature/legend/stores/legendDataStore/legendStore.d.ts +0 -1
- package/src/lib/feature/legend/stores/legendUIStore/legendUIStore.types.d.ts +3 -14
- package/src/lib/feature/legend/stores/legendVisibleDataAsTagsStore/legendVisibleDataAsTagsStore.d.ts +8 -0
- package/src/lib/feature/legend/types/legendStrategy.type.d.ts +6 -6
- package/src/lib/feature/legend/types/legendType.d.ts +26 -19
- package/src/lib/feature/measuringPoint/index.d.ts +1 -1
- package/src/lib/feature/openItemsIn3d/logic/createEcho3dInternalLink.d.ts +1 -0
- package/src/lib/feature/shared/markerId.types.d.ts +11 -0
- package/src/lib/hooks/useOpenPdfFile.d.ts +12 -0
- package/src/lib/hooks/useScreenValues.d.ts +2 -2
- package/src/lib/services/dataLayerPanel/dataLayerPanel.store.d.ts +2 -0
- package/src/lib/utils/index.d.ts +1 -0
- package/src/lib/utils/notification.utils.d.ts +2 -0
- package/src/lib/feature/globalSelection/components/SelectionActionBar/SelectionFeedbackDisplay.d.ts +0 -7
- package/src/lib/feature/globalSelection/components/SelectionActionBar/selectionFeedback.types.d.ts +0 -1
- package/src/lib/feature/globalSelection/components/SelectionActionBar.d.ts +0 -7
- package/src/lib/feature/globalSelection/components/SelectionMenuTrigger/SelectionGroupMenuItem.d.ts +0 -9
- package/src/lib/feature/globalSelection/components/SelectionMenuTrigger/SelectionMenuTrigger.d.ts +0 -12
- package/src/lib/feature/globalSelection/globalSelectionStore/actions/addEquipmentsToSelection.action.d.ts +0 -7
- package/src/lib/feature/globalSelection/globalSelectionStore/actions/addItemsToSelectionFactory.d.ts +0 -21
- package/src/lib/feature/globalSelection/globalSelectionStore/actions/addMeasuringPointsToSelection.action.d.ts +0 -7
- package/src/lib/feature/globalSelection/globalSelectionStore/actions/addTagsToSelection.action.d.ts +0 -12
- package/src/lib/feature/globalSelection/globalSelectionStore/actions/addWorkOrdersToSelection.action.d.ts +0 -7
- package/src/lib/feature/globalSelection/hooks/useSelectionAction.d.ts +0 -21
- package/src/lib/feature/legend/components/legendTextSelector/LegendTextSelector.d.ts +0 -20
- package/src/lib/feature/legend/legendStrategies/workOrderStrategy/components/WorkOrderPopoverPrimaryRow.d.ts +0 -15
- package/src/lib/feature/legend/legendStrategies/workOrderStrategy/components/WorkOrderPopoverThirdRow.d.ts +0 -16
- package/src/lib/icons/index.d.ts +0 -13
- package/src/lib/icons/search.d.ts +0 -3
- /package/src/lib/feature/globalSelection/components/{RemoveSelectionItemsConfirmDialog.d.ts → selectionActionBar/RemoveSelectionItemsConfirmDialog.d.ts} +0 -0
package/src/lib/feature/globalSelection/selectionMenu/selectionTreeStore/selectionTree.store.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Guid } from '@equinor/echo-utils';
|
|
2
|
-
import { GlobalSelectionTypes } from '../../globalSelectionStore/globalSelectionStore.types';
|
|
3
2
|
import { SelectionGroup, SelectionTreeStore } from './selectionTree.store.types';
|
|
4
3
|
/**
|
|
5
4
|
* Zustand store hook for managing the selection tree state in the global selection feature.
|
|
@@ -34,13 +33,14 @@ export declare const useSelectionTreeStore: import("zustand").UseBoundStore<Omit
|
|
|
34
33
|
guid: Guid | undefined;
|
|
35
34
|
}) => void;
|
|
36
35
|
addItems: (args: {
|
|
37
|
-
itemIds: GlobalSelectionTypes.ItemId
|
|
36
|
+
itemIds: ReadonlyArray<import("../..").GlobalSelectionTypes.ItemId>;
|
|
38
37
|
groupId?: Guid;
|
|
38
|
+
useDefaultSelectionTypeColors?: boolean;
|
|
39
39
|
}) => Promise<void>;
|
|
40
|
-
addTags: (args: import("./actions/selectionTree.action.types").AddItemArgs<GlobalSelectionTypes.TagId>) => import("./selectionTree.store.types").AddTagsReturnType;
|
|
41
|
-
addWorkOrders: (args: import("./actions/selectionTree.action.types").AddItemArgs<GlobalSelectionTypes.WorkOrderId>) => import("./selectionTree.store.types").AddWorkOrdersReturnType;
|
|
42
|
-
addEquipments: (args: import("./actions/selectionTree.action.types").AddItemArgs<GlobalSelectionTypes.EquipmentId>) => import("./selectionTree.store.types").AddEquipmentsReturnType;
|
|
43
|
-
addMeasuringPoints: (args: import("./actions/selectionTree.action.types").AddItemArgs<GlobalSelectionTypes.MeasuringPointId>) => import("./selectionTree.store.types").AddMeasuringPointsReturnType;
|
|
40
|
+
addTags: (args: import("./actions/selectionTree.action.types").AddItemArgs<import("../..").GlobalSelectionTypes.TagId>) => import("./selectionTree.store.types").AddTagsReturnType;
|
|
41
|
+
addWorkOrders: (args: import("./actions/selectionTree.action.types").AddItemArgs<import("../..").GlobalSelectionTypes.WorkOrderId>) => import("./selectionTree.store.types").AddWorkOrdersReturnType;
|
|
42
|
+
addEquipments: (args: import("./actions/selectionTree.action.types").AddItemArgs<import("../..").GlobalSelectionTypes.EquipmentId>) => import("./selectionTree.store.types").AddEquipmentsReturnType;
|
|
43
|
+
addMeasuringPoints: (args: import("./actions/selectionTree.action.types").AddItemArgs<import("../..").GlobalSelectionTypes.MeasuringPointId>) => import("./selectionTree.store.types").AddMeasuringPointsReturnType;
|
|
44
44
|
createGroup: (args: {
|
|
45
45
|
groupId?: string;
|
|
46
46
|
label: string;
|
|
@@ -59,15 +59,15 @@ export declare const useSelectionTreeStore: import("zustand").UseBoundStore<Omit
|
|
|
59
59
|
removeItemsById: (args: {
|
|
60
60
|
groupId?: Guid;
|
|
61
61
|
categoryId: import("./selectionTree.store.types").GlobalSelectionCategoryId;
|
|
62
|
-
itemIds: GlobalSelectionTypes.ItemId
|
|
62
|
+
itemIds: ReadonlyArray<import("../..").GlobalSelectionTypes.ItemId>;
|
|
63
63
|
}) => void;
|
|
64
64
|
removeAllItemsById: (args: {
|
|
65
|
-
itemIds: GlobalSelectionTypes.ItemId
|
|
65
|
+
itemIds: ReadonlyArray<import("../..").GlobalSelectionTypes.ItemId>;
|
|
66
66
|
}) => void;
|
|
67
67
|
moveItems: (args: {
|
|
68
68
|
sourceGroupId: Guid;
|
|
69
69
|
sourceCategoryId?: import("./selectionTree.store.types").GlobalSelectionCategoryId;
|
|
70
|
-
sourceItemId?: GlobalSelectionTypes.ItemId;
|
|
70
|
+
sourceItemId?: import("../..").GlobalSelectionTypes.ItemId;
|
|
71
71
|
targetGroupId: Guid;
|
|
72
72
|
}) => void;
|
|
73
73
|
setVisibilityById: (args: {
|
|
@@ -85,7 +85,7 @@ export declare const useSelectionTreeStore: import("zustand").UseBoundStore<Omit
|
|
|
85
85
|
categories: {
|
|
86
86
|
id: import("./selectionTree.store.types").GlobalSelectionCategoryId;
|
|
87
87
|
label: string;
|
|
88
|
-
items: Map<GlobalSelectionTypes.ItemIdString, {
|
|
88
|
+
items: Map<import("../..").GlobalSelectionTypes.ItemIdString, {
|
|
89
89
|
id: {
|
|
90
90
|
workOrderId: string;
|
|
91
91
|
} | {
|
|
@@ -102,7 +102,7 @@ export declare const useSelectionTreeStore: import("zustand").UseBoundStore<Omit
|
|
|
102
102
|
} | {
|
|
103
103
|
measuringPointId: string;
|
|
104
104
|
};
|
|
105
|
-
type: import("
|
|
105
|
+
type: import("../..").GlobalSelectionItemType;
|
|
106
106
|
}>;
|
|
107
107
|
}[];
|
|
108
108
|
groupId: Guid;
|
|
@@ -35,8 +35,9 @@ export interface SelectionTreeStore extends SelectionTreeData {
|
|
|
35
35
|
guid: Guid | undefined;
|
|
36
36
|
}) => void;
|
|
37
37
|
addItems: (args: {
|
|
38
|
-
itemIds: GlobalSelectionTypes.ItemId
|
|
38
|
+
itemIds: ReadonlyArray<GlobalSelectionTypes.ItemId>;
|
|
39
39
|
groupId?: Guid;
|
|
40
|
+
useDefaultSelectionTypeColors?: boolean;
|
|
40
41
|
}) => Promise<void>;
|
|
41
42
|
addTags: (args: AddItemArgs<GlobalSelectionTypes.TagId>) => AddTagsReturnType;
|
|
42
43
|
addWorkOrders: (args: AddItemArgs<GlobalSelectionTypes.WorkOrderId>) => AddWorkOrdersReturnType;
|
|
@@ -60,10 +61,10 @@ export interface SelectionTreeStore extends SelectionTreeData {
|
|
|
60
61
|
removeItemsById: (args: {
|
|
61
62
|
groupId?: Guid;
|
|
62
63
|
categoryId: GlobalSelectionCategoryId;
|
|
63
|
-
itemIds: GlobalSelectionTypes.ItemId
|
|
64
|
+
itemIds: ReadonlyArray<GlobalSelectionTypes.ItemId>;
|
|
64
65
|
}) => void;
|
|
65
66
|
removeAllItemsById: (args: {
|
|
66
|
-
itemIds: GlobalSelectionTypes.ItemId
|
|
67
|
+
itemIds: ReadonlyArray<GlobalSelectionTypes.ItemId>;
|
|
67
68
|
}) => void;
|
|
68
69
|
moveItems: (args: {
|
|
69
70
|
sourceGroupId: Guid;
|
|
@@ -50,7 +50,7 @@ export declare function findSelectionCategoryById(args: {
|
|
|
50
50
|
*/
|
|
51
51
|
export declare function itemsNotFoundInSelectionTree(args: {
|
|
52
52
|
groups: SelectionTreeTypes.Group[];
|
|
53
|
-
itemIds: GlobalSelectionTypes.ItemId
|
|
53
|
+
itemIds: ReadonlyArray<GlobalSelectionTypes.ItemId>;
|
|
54
54
|
}): GlobalSelectionTypes.ItemId[];
|
|
55
55
|
/**
|
|
56
56
|
* Get an array of group IDs where any of the item IDs are found.
|
|
@@ -64,7 +64,7 @@ export declare function itemsNotFoundInSelectionTree(args: {
|
|
|
64
64
|
* @returns {Object[]} An array of group IDs, with labels and sublabels, where any of the item IDs are found.
|
|
65
65
|
*/
|
|
66
66
|
export declare function getGroupIdsByItemIds(args: {
|
|
67
|
-
itemIds: GlobalSelectionTypes.ItemId
|
|
67
|
+
itemIds: ReadonlyArray<GlobalSelectionTypes.ItemId>;
|
|
68
68
|
groups: SelectionTreeTypes.Group[];
|
|
69
69
|
}): {
|
|
70
70
|
id: Guid;
|
|
@@ -103,8 +103,8 @@ export declare function isSelectionEmpty(groups: SelectionTreeTypes.Group[]): bo
|
|
|
103
103
|
* @param {GlobalSelectionTypes.ItemId[]} itemIds - The list of item IDs to be checked and potentially removed.
|
|
104
104
|
* @returns {void}
|
|
105
105
|
*/
|
|
106
|
-
export declare function removeStaleItemsFromGlobalSelection(groups: SelectionTreeTypes.Group[], itemIds: GlobalSelectionTypes.ItemId
|
|
107
|
-
export declare function getItemsByIdsFromGlobalSelectionStore(itemIds: GlobalSelectionTypes.ItemId
|
|
106
|
+
export declare function removeStaleItemsFromGlobalSelection(groups: SelectionTreeTypes.Group[], itemIds: ReadonlyArray<GlobalSelectionTypes.ItemId>): void;
|
|
107
|
+
export declare function getItemsByIdsFromGlobalSelectionStore(itemIds: ReadonlyArray<GlobalSelectionTypes.ItemId>): GlobalSelectionTypes.SelectionItem[];
|
|
108
108
|
/**
|
|
109
109
|
* Returns an array of selection colors sorted by their frequency for the specified item IDs within a group.
|
|
110
110
|
*
|
|
@@ -122,7 +122,7 @@ export declare function getItemsByIdsFromGlobalSelectionStore(itemIds: GlobalSel
|
|
|
122
122
|
*/
|
|
123
123
|
export declare function getSelectionColorFrequencyByIds(args: {
|
|
124
124
|
groupId: string;
|
|
125
|
-
itemIds: GlobalSelectionTypes.ItemId
|
|
125
|
+
itemIds: ReadonlyArray<GlobalSelectionTypes.ItemId>;
|
|
126
126
|
allGroups: ReadonlyArray<SelectionTreeTypes.Group>;
|
|
127
127
|
}): string[];
|
|
128
128
|
/**
|
|
@@ -143,8 +143,9 @@ export declare function handleItemColorization(args: {
|
|
|
143
143
|
itemType: GlobalSelectionItemType;
|
|
144
144
|
treeState: SelectionTreeStore;
|
|
145
145
|
affectedGroupId?: Guid;
|
|
146
|
-
itemIds: GlobalSelectionTypes.ItemId
|
|
146
|
+
itemIds: ReadonlyArray<GlobalSelectionTypes.ItemId>;
|
|
147
147
|
handleColorConflicts?: boolean;
|
|
148
|
+
useDefaultSelectionTypeColors?: boolean;
|
|
148
149
|
}): string | undefined;
|
|
149
150
|
/**
|
|
150
151
|
* Assigns a color to a set of items within a specified group in the selection tree.
|
|
@@ -164,5 +165,6 @@ export declare function assignColorToItemsInGroup(args: {
|
|
|
164
165
|
itemType: GlobalSelectionItemType;
|
|
165
166
|
allGroups: ReadonlyArray<SelectionTreeTypes.Group>;
|
|
166
167
|
groupId: string;
|
|
167
|
-
itemIdsToColor: GlobalSelectionTypes.ItemId
|
|
168
|
+
itemIdsToColor: ReadonlyArray<GlobalSelectionTypes.ItemId>;
|
|
169
|
+
useDefaultSelectionTypeColors?: boolean;
|
|
168
170
|
}): string | undefined;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { GlobalSelectionItemType } from '../globalSelectionStore/globalSelectionStore.types';
|
|
2
|
+
import type { SelectionItemTypeStrategy } from './selectionItemTypeStrategy.types';
|
|
3
|
+
export declare const equipmentSelectionStrategy: SelectionItemTypeStrategy<GlobalSelectionItemType.Equipment>;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import type { GlobalSelectionItemType, GlobalSelectionTypes, SelectionItemTypeToItemIdMap } from '../globalSelectionStore/globalSelectionStore.types';
|
|
2
|
+
export declare function isItemIdOfType<T extends GlobalSelectionItemType>(type: T, itemId: GlobalSelectionTypes.ItemId): itemId is SelectionItemTypeToItemIdMap[T];
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { GlobalSelectionItemType } from '../globalSelectionStore/globalSelectionStore.types';
|
|
2
|
+
import type { SelectionItemTypeStrategy } from './selectionItemTypeStrategy.types';
|
|
3
|
+
export declare const measuringPointSelectionStrategy: SelectionItemTypeStrategy<GlobalSelectionItemType.MeasuringPoint>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { GlobalSelectionItemType } from '../globalSelectionStore/globalSelectionStore.types';
|
|
2
|
+
import type { OrderedSelectionItemTypeStrategy, RegistrationOptions, SelectionItemTypeStrategy } from './selectionItemTypeStrategy.types';
|
|
3
|
+
export declare class SelectionItemTypeRegistry {
|
|
4
|
+
private readonly strategies;
|
|
5
|
+
private cachedAll;
|
|
6
|
+
private cachedAllByRegistrationOrder;
|
|
7
|
+
/**
|
|
8
|
+
* Register a strategy for the given item type. Throws if the type is already registered.
|
|
9
|
+
* @param strategy - The strategy implementation for a specific item type.
|
|
10
|
+
* @param options - Registration options including categoryOrderIndex for UI sort order.
|
|
11
|
+
*/
|
|
12
|
+
register<T extends GlobalSelectionItemType>(strategy: SelectionItemTypeStrategy<T>, options: RegistrationOptions): void;
|
|
13
|
+
/**
|
|
14
|
+
* Retrieve the strategy for a specific item type. Throws if no strategy is registered.
|
|
15
|
+
* @param type - The item type to look up (e.g. GlobalSelectionItemType.Tag).
|
|
16
|
+
*/
|
|
17
|
+
get<T extends GlobalSelectionItemType>(type: T): OrderedSelectionItemTypeStrategy<T>;
|
|
18
|
+
/**
|
|
19
|
+
* Returns all strategies sorted by `categoryOrderIndex` — use for **UI rendering**.
|
|
20
|
+
*
|
|
21
|
+
* `categoryOrderIndex` is a display-order index assigned at registration time that
|
|
22
|
+
* controls the visual order of categories in the selection menu (e.g. Tags=0, WorkOrders=1, …).
|
|
23
|
+
* It is independent of registration order and can be set to any value as long as it is unique.
|
|
24
|
+
*/
|
|
25
|
+
getAll(): ReadonlyArray<OrderedSelectionItemTypeStrategy>;
|
|
26
|
+
/**
|
|
27
|
+
* Returns all strategies in the order they were registered — use for **type-guard dispatch**.
|
|
28
|
+
*
|
|
29
|
+
* When identifying an unknown `ItemId` (e.g. in `mapIdToItemType`), strategies are tried
|
|
30
|
+
* in this order until one's `isItemId()` returns true. Registration order therefore controls
|
|
31
|
+
* type-guard priority: if type A's `isItemId()` can match type B's IDs,
|
|
32
|
+
* type B must be registered before type A so it is checked first.
|
|
33
|
+
* See `registerStrategies.ts` for the concrete ordering rationale.
|
|
34
|
+
*/
|
|
35
|
+
getAllByRegistrationOrder(): ReadonlyArray<OrderedSelectionItemTypeStrategy>;
|
|
36
|
+
}
|
|
37
|
+
export declare const selectionItemTypeRegistry: SelectionItemTypeRegistry;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { ResultArray } from '@equinor/echo-search';
|
|
2
|
+
import type { GlobalSelectionItemType, GlobalSelectionItemTypeToDataMap, GlobalSelectionTypes, SelectionItemTypeToItemIdMap } from '../globalSelectionStore/globalSelectionStore.types';
|
|
3
|
+
import type { GlobalSelectionCategoryId } from '../selectionMenu/selectionTreeStore/selectionTree.store.types';
|
|
4
|
+
export interface SelectionItemTypeStrategy<T extends GlobalSelectionItemType> {
|
|
5
|
+
/** Discriminant — e.g. GlobalSelectionItemType.Tag */
|
|
6
|
+
readonly itemType: T;
|
|
7
|
+
/** Category ID for tree grouping */
|
|
8
|
+
readonly categoryId: GlobalSelectionCategoryId;
|
|
9
|
+
/** Category label shown in UI */
|
|
10
|
+
readonly categoryLabel: string;
|
|
11
|
+
/** Type guard: narrows ItemId to this type's ID */
|
|
12
|
+
isItemId(itemId: GlobalSelectionTypes.ItemId): itemId is SelectionItemTypeToItemIdMap[T];
|
|
13
|
+
/** Convert raw ItemId to canonical form (trim, normalize) */
|
|
14
|
+
normalizeId(itemId: SelectionItemTypeToItemIdMap[T]): SelectionItemTypeToItemIdMap[T];
|
|
15
|
+
/** Serialize ItemId to unique string key */
|
|
16
|
+
itemIdToString(itemId: SelectionItemTypeToItemIdMap[T]): GlobalSelectionTypes.ItemIdString;
|
|
17
|
+
/** Check equality of two IDs of this type */
|
|
18
|
+
idsEqual(itemA: SelectionItemTypeToItemIdMap[T], itemB: SelectionItemTypeToItemIdMap[T]): boolean;
|
|
19
|
+
/** Create a placeholder item for loading state */
|
|
20
|
+
createNullItem(itemId: SelectionItemTypeToItemIdMap[T]): GlobalSelectionItemTypeToDataMap[T];
|
|
21
|
+
/**
|
|
22
|
+
* Resolve items synchronously from the ID alone — no loading state, no API call.
|
|
23
|
+
* Only implement when item data is embedded in the ID itself (e.g. PDMS tags).
|
|
24
|
+
*
|
|
25
|
+
* The generic action calls this first (if present) and only passes the `remaining` IDs
|
|
26
|
+
* to `fetchAsync`, skipping the isLoading → fetched cycle for the resolved items.
|
|
27
|
+
* If absent, all IDs are forwarded directly to `fetchAsync`.
|
|
28
|
+
*/
|
|
29
|
+
resolveSync?(itemIds: ReadonlyArray<SelectionItemTypeToItemIdMap[T]>): {
|
|
30
|
+
readonly resolved: ReadonlyArray<{
|
|
31
|
+
readonly data: GlobalSelectionItemTypeToDataMap[T];
|
|
32
|
+
readonly id: SelectionItemTypeToItemIdMap[T];
|
|
33
|
+
}>;
|
|
34
|
+
readonly remaining: ReadonlyArray<SelectionItemTypeToItemIdMap[T]>;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Fetch real data from the API for items that could not be resolved synchronously.
|
|
38
|
+
* Called only with the `remaining` IDs returned by resolveSync (or all IDs if resolveSync is absent).
|
|
39
|
+
*/
|
|
40
|
+
fetchAsync(itemIds: ReadonlyArray<SelectionItemTypeToItemIdMap[T]>): Promise<ReadonlyArray<{
|
|
41
|
+
readonly result: ResultArray<GlobalSelectionItemTypeToDataMap[T]>;
|
|
42
|
+
readonly itemIdsUsed: ReadonlyArray<SelectionItemTypeToItemIdMap[T]>;
|
|
43
|
+
}>>;
|
|
44
|
+
}
|
|
45
|
+
export interface RegistrationOptions {
|
|
46
|
+
readonly categoryOrderIndex: number;
|
|
47
|
+
}
|
|
48
|
+
export type OrderedSelectionItemTypeStrategy<T extends GlobalSelectionItemType = GlobalSelectionItemType> = SelectionItemTypeStrategy<T> & {
|
|
49
|
+
readonly categoryOrderIndex: number;
|
|
50
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { GlobalSelectionItemType } from '../globalSelectionStore/globalSelectionStore.types';
|
|
2
|
+
import type { SelectionItemTypeStrategy } from './selectionItemTypeStrategy.types';
|
|
3
|
+
export declare const tagSelectionStrategy: SelectionItemTypeStrategy<GlobalSelectionItemType.Tag>;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { GlobalSelectionItemType } from '../globalSelectionStore/globalSelectionStore.types';
|
|
2
|
+
import type { SelectionItemTypeStrategy } from './selectionItemTypeStrategy.types';
|
|
3
|
+
export declare const workOrderSelectionStrategy: SelectionItemTypeStrategy<GlobalSelectionItemType.WorkOrder>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { LegendChipProps } from '@equinor/echo-components';
|
|
2
|
+
import { type LegendOptionConfig } from '../types/legendType';
|
|
3
|
+
interface LegendSelectorContainerProps {
|
|
4
|
+
readonly selectedOption: LegendOptionConfig;
|
|
5
|
+
readonly onSelectedOptionChange?: (option: LegendOptionConfig) => void;
|
|
6
|
+
readonly options: ReadonlyArray<LegendOptionConfig>;
|
|
7
|
+
readonly legendChips: ReadonlyArray<LegendChipProps>;
|
|
8
|
+
/** Whether this is a marker or badge selector (affects icon displayed) */
|
|
9
|
+
readonly variant: 'marker' | 'badge';
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* A reusable container for legend selectors that handles both option selection
|
|
13
|
+
* and display option selection (how the badge text is rendered) based on LegendOptionConfigs.
|
|
14
|
+
* Display options are only available for badge variants with enableDisplayOptions: true.
|
|
15
|
+
*/
|
|
16
|
+
export declare const LegendSelectorContainer: (props: LegendSelectorContainerProps) => import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export {};
|
package/src/lib/feature/legend/components/pdfMarkers/subComponents/ItemMarkerPopoverContainer.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type LegendId } from '../../../types/legendType';
|
|
2
|
+
interface ItemMarkerPopoverContainerProps {
|
|
3
|
+
legendId: LegendId;
|
|
4
|
+
elements: ReadonlyArray<React.ReactElement>;
|
|
5
|
+
isPopoverActive: boolean;
|
|
6
|
+
handleClose: () => void;
|
|
7
|
+
}
|
|
8
|
+
export declare const ItemMarkerPopoverContainer: ({ legendId, elements, isPopoverActive, handleClose }: ItemMarkerPopoverContainerProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
9
|
+
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import type { MarkerId } from '../../../../shared/markerId.types';
|
|
1
2
|
import { LegendDataId, LegendId } from '../../../types/legendType';
|
|
2
|
-
import { MarkerId } from '../utils/markerId.utils';
|
|
3
3
|
import { ColorGroupedMarker } from '../utils/splitMarkerByColor.types';
|
|
4
4
|
interface MarkerWithPopoverProps {
|
|
5
5
|
legendId: LegendId;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import type { MarkerId } from '../../../../../../shared/markerId.types';
|
|
1
2
|
import { Marker } from '../../../../../types/legendMarkerBadge.type';
|
|
2
|
-
import { MarkerId } from '../../../utils/markerId.utils';
|
|
3
3
|
import { ColorGroupedMarker } from '../../../utils/splitMarkerByColor.types';
|
|
4
4
|
/**
|
|
5
5
|
* Builds the list of color-grouped markers to render for a single legend item.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MarkerId } from '
|
|
1
|
+
import type { MarkerId } from '../../../../../../shared/markerId.types';
|
|
2
2
|
import { ColorGroupedMarker } from '../../../utils/splitMarkerByColor.types';
|
|
3
3
|
interface UseStalePopoverMarkersProps {
|
|
4
4
|
readonly markersToRender: ReadonlyArray<ColorGroupedMarker> | null;
|
|
@@ -8,9 +8,9 @@ interface UseStalePopoverMarkersProps {
|
|
|
8
8
|
/**
|
|
9
9
|
* Holds stale markers visible while selection feedback is displayed after a delayed close or migration.
|
|
10
10
|
*
|
|
11
|
-
* When `
|
|
11
|
+
* When `selectionActionFeedback.isFeedbackActive` is true and the active popover's marker disappears (e.g. last item
|
|
12
12
|
* removed from a color group), this hook keeps the old `MarkerWithPopover` rendered for
|
|
13
|
-
* `
|
|
13
|
+
* `FEEDBACK_DISPLAY_DURATION_MS`. That gives the loading indicator and feedback message ("Removed",
|
|
14
14
|
* "Color changed") time to be visible before the popover closes or migrates to a new marker.
|
|
15
15
|
*
|
|
16
16
|
* @returns The markers that should be rendered — either the stale snapshot or the live `markersToRender`.
|
package/src/lib/feature/legend/components/pdfMarkers/subComponents/hooks/useMarkerPopover.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
+
import type { MarkerId } from '../../../../../shared/markerId.types';
|
|
1
2
|
import { LegendDataId, LegendId } from '../../../../types/legendType';
|
|
2
|
-
import { MarkerId } from '../../utils/markerId.utils';
|
|
3
3
|
import { ColorGroupedMarker } from '../../utils/splitMarkerByColor.types';
|
|
4
|
-
export declare const POPOVER_UPDATE_DELAY_MS = 2000;
|
|
5
4
|
/**
|
|
6
5
|
* Hook to manage popover state and async content loading for legend markers.
|
|
7
6
|
* When fetching, it will show a loading spinner if content takes too long to load.
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { MarkerId } from '../../../../shared/markerId.types';
|
|
2
2
|
import { LegendId } from '../../../types/legendType';
|
|
3
|
-
export type MarkerId = Brand<string, 'MarkerId'>;
|
|
4
3
|
/**
|
|
5
4
|
* Color key used when a marker is not in any selection group (fallback/transparent state).
|
|
6
5
|
*/
|
|
@@ -1,41 +1,24 @@
|
|
|
1
|
-
import { FC } from 'react';
|
|
2
|
-
import { Marker } from '../../types/legendMarkerBadge.type';
|
|
3
1
|
import { LegendDataId, LegendId } from '../../types/legendType';
|
|
4
2
|
export interface LegendPopoverContentProps {
|
|
5
3
|
legendId: LegendId;
|
|
6
4
|
legendDataId: LegendDataId;
|
|
7
|
-
title: string | React.ReactNode;
|
|
8
|
-
description: string;
|
|
9
|
-
tertiary?: LegendPopoverTertiaryLabels | React.ReactNode;
|
|
10
5
|
onPopoverClicked?: () => void;
|
|
11
6
|
children?: React.ReactNode;
|
|
12
|
-
|
|
7
|
+
excludedChipLegendTitles?: ReadonlyArray<string>;
|
|
13
8
|
showAddToSelectionButton?: boolean;
|
|
14
|
-
getMarkersForChipsCreation?: () => ReadonlyArray<Marker>;
|
|
15
9
|
}
|
|
16
|
-
export type LegendPopoverTertiaryLabels = {
|
|
17
|
-
first: string;
|
|
18
|
-
second?: string;
|
|
19
|
-
third?: string;
|
|
20
|
-
};
|
|
21
10
|
/**
|
|
22
11
|
* Renders the content for a legend popover, typically used as the content for the ItemMarkerPopover component.
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
* Additional custom content can be rendered via `children`.
|
|
27
|
-
* Optionally, chips can be created from markers provided by the `getMarkersForChipsCreation` callback.
|
|
12
|
+
* The content includes dynamically generated chips based on the markers associated with the provided legendId and legendDataId.
|
|
13
|
+
* It is possible to exclude certain chips based on their legend titles using props. Chips with excluded titles will not be rendered in the popover.
|
|
14
|
+
* The component also includes an optional "Add to Selection" button that allows users to add the item to their global selection groups.
|
|
28
15
|
*
|
|
29
16
|
* @component
|
|
30
|
-
* @param {object} props - Component props
|
|
31
17
|
* @param {LegendId} props.legendId - The identifier used to look up legend strategy.
|
|
32
18
|
* @param {LegendDataId} props.legendDataId - The identifier for retrieving the markers.
|
|
33
|
-
* @param {
|
|
34
|
-
* @param {
|
|
35
|
-
* @param {
|
|
36
|
-
* @param {
|
|
37
|
-
* @param {React.ReactNode} [props.children] - Optional custom content to render below the predefined main content.
|
|
38
|
-
* @param {ReadonlyArray<string>} [props.excludedLegendTitles] - Optional array of titles to exclude from the legend chips.
|
|
39
|
-
* @param {() => ReadonlyArray<Marker>} [props.getMarkersForChipsCreation] - Optional callback that returns the markers to be used for chip creation.
|
|
19
|
+
* @param {() => void} [props.onPopoverClicked] - Optional callback for popover content click events.
|
|
20
|
+
* @param {React.ReactNode} [props.children] - Optional custom content to render inside the popover content area, will be above chips.
|
|
21
|
+
* @param {ReadonlyArray<string>} [props.excludedChipLegendTitles] - Optional array of titles to exclude from the legend chips.
|
|
22
|
+
* @param {boolean} [props.showAddToSelectionButton] - Optional flag to show or hide the "Add to Selection" button.
|
|
40
23
|
*/
|
|
41
|
-
export declare const LegendPopoverContent:
|
|
24
|
+
export declare const LegendPopoverContent: (props: LegendPopoverContentProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { LegendChipProps } from '@equinor/echo-components';
|
|
2
1
|
import { LegendState } from '../../types/legendType';
|
|
3
2
|
import { Marker } from './../../types/legendMarkerBadge.type';
|
|
4
3
|
/**
|
|
5
|
-
* Returns an array of visible
|
|
4
|
+
* Returns an array of visible PopoverChip for the given markers and legend state.
|
|
6
5
|
*
|
|
7
6
|
* Filters out markers and badges that are hidden (using isHiddenMarker/isHiddenBadge) or whose titles match any value in the
|
|
8
7
|
* excludedLegendTitles array (case-insensitive). Badge chips are only included if selectedMarkerOption !== selectedBadgeOption.
|
|
@@ -11,11 +10,18 @@ import { Marker } from './../../types/legendMarkerBadge.type';
|
|
|
11
10
|
* @param {ReadonlyArray<Marker>} params.markers - The list of marker objects to process.
|
|
12
11
|
* @param {LegendState} params.legend - The legend state, used for filtering and selection logic.
|
|
13
12
|
* @param {ReadonlyArray<string>} [params.excludedLegendTitles] - Optional array of titles to exclude from the chips (case-insensitive).
|
|
14
|
-
* @returns {
|
|
13
|
+
* @returns {PopoverChip[]} The filtered and mapped array of PopoverChip for rendering.
|
|
15
14
|
*/
|
|
16
|
-
|
|
15
|
+
interface GetPopoverChipsParams {
|
|
17
16
|
markers: ReadonlyArray<Marker>;
|
|
18
|
-
excludedLegendTitles?: ReadonlyArray<string>;
|
|
19
17
|
legendSelectedBadgeOption?: LegendState['selectedBadgeOption'];
|
|
20
18
|
legendSelectedMarkerOption?: LegendState['selectedMarkerOption'];
|
|
21
|
-
|
|
19
|
+
excludedLegendTitles?: ReadonlyArray<string>;
|
|
20
|
+
}
|
|
21
|
+
interface PopoverChip {
|
|
22
|
+
text: string;
|
|
23
|
+
backgroundColor: string;
|
|
24
|
+
textColor: string;
|
|
25
|
+
}
|
|
26
|
+
export declare function getPopoverChips({ markers, legendSelectedBadgeOption, legendSelectedMarkerOption, excludedLegendTitles }: GetPopoverChipsParams): PopoverChip[];
|
|
27
|
+
export {};
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
import { SelectionGroup } from '../../globalSelection/selectionMenu/selectionTreeStore/selectionTree.store.types';
|
|
2
2
|
import { Marker } from '../types/legendMarkerBadge.type';
|
|
3
|
-
/**
|
|
4
|
-
* Checks if a marker has badges from multiple different item IDs.
|
|
5
|
-
*/
|
|
6
|
-
export declare const hasBadgesFromMultipleItemIds: (marker: Marker) => boolean;
|
|
7
3
|
/**
|
|
8
4
|
* Gets all potential group keys a marker could generate.
|
|
9
5
|
* Used for per-marker hidden state subscriptions.
|
|
@@ -18,4 +18,4 @@ export declare const useUniqueVisibleData: () => LegendDataId[];
|
|
|
18
18
|
* Common logic for creating markers from data using strategy.
|
|
19
19
|
* Selection-based grouping is handled at the viewport rendering level.
|
|
20
20
|
*/
|
|
21
|
-
export declare const useCreateMarkers: (legendId: LegendId, data: LegendDataId[]
|
|
21
|
+
export declare const useCreateMarkers: (legendId: LegendId, data: LegendDataId[]) => ReadonlyArray<Marker>;
|
|
@@ -4,6 +4,4 @@ import { LegendId } from '../types/legendType';
|
|
|
4
4
|
* Returns all unique badges for the given legendId, determined by unique title + color.
|
|
5
5
|
* This will also return markers that are not visible on screen.
|
|
6
6
|
*/
|
|
7
|
-
export declare function useLegendUniqueBadges(legendId: LegendId
|
|
8
|
-
isViewport?: boolean;
|
|
9
|
-
}): ReadonlyArray<Badge>;
|
|
7
|
+
export declare function useLegendUniqueBadges(legendId: LegendId): ReadonlyArray<Badge>;
|
|
@@ -4,6 +4,4 @@ import { LegendId } from '../types/legendType';
|
|
|
4
4
|
* Returns all unique markers for the given legendId, determined by unique displayKey (title + color).
|
|
5
5
|
* This will also return markers that are not visible on screen.
|
|
6
6
|
*/
|
|
7
|
-
export declare function useLegendUniqueMarkers(legendId: LegendId
|
|
8
|
-
isViewport?: boolean;
|
|
9
|
-
}): ReadonlyArray<Marker>;
|
|
7
|
+
export declare function useLegendUniqueMarkers(legendId: LegendId): ReadonlyArray<Marker>;
|
|
@@ -2,22 +2,25 @@ import './legendStrategies/notificationStrategy/notificationStrategy';
|
|
|
2
2
|
import './legendStrategies/workOrderStrategy/WorkOrderLegend';
|
|
3
3
|
export { getBadgeChips, getMarkerChips } from './components/basicLegendRenderer.logic';
|
|
4
4
|
export { LegendList } from './components/LegendList';
|
|
5
|
-
export {
|
|
5
|
+
export { LegendSelectorContainer } from './components/LegendSelectorContainer';
|
|
6
6
|
export { PositionalItem } from './components/pdfMarkers/PositionalItem';
|
|
7
7
|
export { MultipleMarkersByLegends } from './components/pdfMarkers/subComponents/MultipleMarkersByLegends';
|
|
8
8
|
export { LegendPopoverContent } from './components/popover/LegendPopoverContent';
|
|
9
|
-
export type { LegendPopoverContentProps
|
|
9
|
+
export type { LegendPopoverContentProps } from './components/popover/LegendPopoverContent';
|
|
10
10
|
export { trackEventNewLegendAccordionToggled, trackEventNewLegendSelectedBadgeOptionChanged, trackEventNewLegendSelectedMarkerOptionChanged } from './legendAnalytics';
|
|
11
11
|
export { legendFacade } from './legendFacade';
|
|
12
12
|
export { getLegendStrategy } from './legendStrategies/legendCollections';
|
|
13
13
|
export { legendSnapShot } from './stores/legendDataStore/legendStore';
|
|
14
14
|
export type { Badge, Marker } from './types/legendMarkerBadge.type';
|
|
15
15
|
export type { LegendStrategy } from './types/legendStrategy.type';
|
|
16
|
-
export type { LegendId, LegendOptionConfig } from './types/legendType';
|
|
16
|
+
export type { LegendBadgeOptionConfig, LegendId, LegendMarkerOptionConfig, LegendOptionConfig, LegendOptionDisplayOption } from './types/legendType';
|
|
17
17
|
export { useLegendUniqueBadges } from './hooks/useLegendUniqueBadges';
|
|
18
18
|
export { useLegendUniqueMarkers } from './hooks/useLegendUniqueMarkers';
|
|
19
19
|
export { useOpenWorkOrdersByTagNos } from './hooks/useWorkOrdersByTagNos';
|
|
20
20
|
export { useWorkOrdersByTagsQuery } from './hooks/useWorkOrdersByTagsQuery';
|
|
21
|
-
export {
|
|
22
|
-
export {
|
|
21
|
+
export { isCountMode, isIdMode, normalizeBadges } from './logic/normalizeBadges';
|
|
22
|
+
export { getColorForLegendStatus } from './logic/getColorForLegendStatus';
|
|
23
|
+
export { createArrayAccessor, createCountAccessor, createDateAccessor, createStringAccessor, getPropertyValues, toSingleTitle } from './logic/propertyAccessor.utils';
|
|
24
|
+
export type { PropertyAccessor } from './logic/propertyAccessor.utils';
|
|
23
25
|
export { useLegendUIStore } from './stores/legendUIStore/legendUIStore';
|
|
26
|
+
export { useLegendVisibleDataStore } from './stores/legendVisibleDataStore/legendVisibleDataStore';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { MarkerId } from '
|
|
1
|
+
import type { MarkerId } from '../shared/markerId.types';
|
|
2
2
|
import type { LegendId, LegendState } from './types/legendType';
|
|
3
3
|
export declare const LEGEND_OBJECT_NAME = "Legend";
|
|
4
4
|
export declare function trackEventNewLegendSelectedMarkerOptionChanged(legendId: LegendId, legendState: LegendState): void;
|
|
@@ -126,6 +126,14 @@ export declare const legendFacade: Readonly<{
|
|
|
126
126
|
type: string;
|
|
127
127
|
value: string;
|
|
128
128
|
}[];
|
|
129
|
+
coordinates: {
|
|
130
|
+
tagSeqNo: number;
|
|
131
|
+
xEasting: number;
|
|
132
|
+
yNorthing: number;
|
|
133
|
+
zElevation: number;
|
|
134
|
+
uom: string;
|
|
135
|
+
linePosition: number | undefined;
|
|
136
|
+
}[];
|
|
129
137
|
tagNo: string;
|
|
130
138
|
description: string;
|
|
131
139
|
projectCode: string;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { NotificationDetails } from '@equinor/echo-search';
|
|
2
|
+
import type { LegendNotificationId } from '../../../types/legendType';
|
|
3
|
+
export declare const notificationDetailsQueryOptions: (notificationIds: ReadonlyArray<LegendNotificationId>) => {
|
|
4
|
+
queryKey: readonly ["notificationDetails", readonly LegendNotificationId[]];
|
|
5
|
+
queryFn: () => Promise<readonly NotificationDetails[]>;
|
|
6
|
+
staleTime: number;
|
|
7
|
+
gcTime: number;
|
|
8
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { NotificationDto } from '@equinor/echo-search';
|
|
2
|
+
export declare function createFunctionalLocationList(tagNos: ReadonlyArray<string>, plantNo: string): ReadonlyArray<string>;
|
|
3
|
+
export interface RequestTagsNotifications {
|
|
4
|
+
readonly tagNos: ReadonlyArray<string>;
|
|
5
|
+
readonly instCode: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function getOpenNotificationsForTagsApi({ instCode, tagNos }: RequestTagsNotifications): Promise<ReadonlyArray<NotificationDto>>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { NotificationItemCardData } from '@equinor/echo-components';
|
|
2
|
+
import { type LegendDataId } from '../../../types/legendType';
|
|
3
|
+
interface NotificationPopoverProps {
|
|
4
|
+
legendDataId: LegendDataId;
|
|
5
|
+
notification: NotificationItemCardData;
|
|
6
|
+
}
|
|
7
|
+
export declare const NotificationPopover: (props: NotificationPopoverProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import type { LegendDataId } from '../../../types/legendType';
|
|
2
|
+
export declare const useNotificationDetailsByIds: (itemIds: ReadonlyArray<LegendDataId>, isEnabled: boolean) => import("@tanstack/react-query").UseQueryResult<readonly import("@equinor/echo-search").NotificationDetails[], Error>;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const useNotificationLegendData: () => {
|
|
2
|
+
isEnabled: boolean;
|
|
3
|
+
selectedMarkerOption: import("../../../types/legendType").LegendMarkerOptionConfig<string>;
|
|
4
|
+
selectedBadgeOption: import("../../../types/legendType").LegendBadgeOptionConfig<string>;
|
|
5
|
+
} | undefined;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Marker } from '../../../types/legendMarkerBadge.type';
|
|
2
|
+
import { type LegendDataId } from '../../../types/legendType';
|
|
3
|
+
/**
|
|
4
|
+
* Creates notification markers from two sources:
|
|
5
|
+
* 1. Tag-based: fetches open notifications for selected tags
|
|
6
|
+
* 2. ID-based: fetches notification details by direct notification IDs
|
|
7
|
+
*
|
|
8
|
+
* Both sources are merged into a single marker array.
|
|
9
|
+
*/
|
|
10
|
+
export declare const useNotificationMarkers: (itemIds: ReadonlyArray<LegendDataId>) => ReadonlyArray<Marker>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { TagNo, type NotificationDto } from '@equinor/echo-search';
|
|
2
|
+
import { type LegendTagId } from '../../../types/legendType';
|
|
3
|
+
export interface TagNotificationGroup {
|
|
4
|
+
readonly tagId: TagNo;
|
|
5
|
+
readonly notifications: ReadonlyArray<NotificationDto>;
|
|
6
|
+
}
|
|
7
|
+
interface UseOpenNotificationsByTagIdsResult {
|
|
8
|
+
readonly data: ReadonlyArray<TagNotificationGroup>;
|
|
9
|
+
readonly error: Error | undefined;
|
|
10
|
+
readonly isFetching: boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare const useOpenNotificationsByTagIds: (tagIds: ReadonlyArray<LegendTagId>, enabled: boolean) => UseOpenNotificationsByTagIdsResult;
|
|
13
|
+
export declare const groupNotificationsByTagId: (notifications: ReadonlyArray<NotificationDto>) => ReadonlyArray<TagNotificationGroup>;
|
|
14
|
+
export {};
|