@odigos/ui-kit 0.0.34 → 0.0.35
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/CHANGELOG.md +15 -0
- package/eslint.config.mjs +17 -0
- package/lib/components/data-card/index.d.ts +2 -1
- package/lib/components.js +8 -9
- package/lib/constants/strings/index.d.ts +6 -0
- package/lib/constants.js +1 -2
- package/lib/containers/data-flow/helpers/build-action-nodes.d.ts +7 -1
- package/lib/containers/data-flow/helpers/build-destination-nodes.d.ts +7 -1
- package/lib/containers/data-flow/helpers/build-rule-nodes.d.ts +7 -1
- package/lib/containers/destination-modal/choose-destination/destinations-list/index.d.ts +1 -1
- package/lib/containers/destination-modal/choose-destination/index.d.ts +2 -2
- package/lib/containers.js +189 -83
- package/lib/functions.js +6 -7
- package/lib/hooks/index.d.ts +1 -0
- package/lib/hooks/useSessionStorage.d.ts +5 -0
- package/lib/hooks.js +4 -5
- package/lib/icons.js +7 -7
- package/lib/{index-Cq8NT9Hr.js → index-9R2N835W.js} +1 -1
- package/lib/{index--RecCPGA.js → index-BDqd3uNm.js} +1 -1
- package/lib/{index-Bd8ZAEvq.js → index-BVj4fOL3.js} +1 -1
- package/lib/{index-CnZlllYu.js → index-BlZKWuxe.js} +7 -1
- package/lib/{index-ChYtqgBW.js → index-CCX1HLUr.js} +2 -2
- package/lib/{index-CIKkezVt.js → index-CEWs8CTN.js} +1 -1
- package/lib/{index-DJGe2YeC.js → index-CKOBXat_.js} +332 -226
- package/lib/{index-a_WA-82O.js → index-CyG_tD3y.js} +2 -2
- package/lib/{index-ovjVbVQq.js → index-DmCjUtBQ.js} +4 -5
- package/lib/{index-BWZT-ipR.js → index-DqaI44fJ.js} +1 -1
- package/lib/{index-BZq0yNL-.js → index-THrvNIPj.js} +30 -27
- package/lib/{index-BBjwRlta.js → index-dLZvpGw3.js} +5 -12
- package/lib/mock-data/sources/index.d.ts +2 -0
- package/lib/snippets.js +8 -9
- package/lib/store.js +1 -1
- package/lib/theme.js +1 -1
- package/lib/types/common/index.d.ts +6 -0
- package/lib/types.js +8 -1
- package/lib/{useSourceSelectionFormData-DBNf1uEe.js → useSourceSelectionFormData-DqSNROtZ.js} +34 -16
- package/lib/{useTransition-dZ92VxT2.js → useTransition-D9f1CP9n.js} +1 -1
- package/package.json +11 -14
- package/lib/index-mOgS3e5E.js +0 -101
package/lib/containers.js
CHANGED
|
@@ -1,24 +1,23 @@
|
|
|
1
1
|
import React, { useState, useEffect, forwardRef, useRef, useImperativeHandle, useMemo, memo, useContext, createContext, useCallback, useLayoutEffect, Fragment } from 'react';
|
|
2
2
|
import styled, { css } from 'styled-components';
|
|
3
|
-
import { T as Theme, h as usePendingStore, g as useNotificationStore, b as useDrawerStore, c as useEntityStore, A as ACTION_OPTIONS,
|
|
4
|
-
import { a as DISPLAY_TITLES, B as BUTTON_TEXTS, F as FORM_ALERTS } from './index-mOgS3e5E.js';
|
|
3
|
+
import { k as DISPLAY_TITLES, T as Theme, h as usePendingStore, g as useNotificationStore, b as useDrawerStore, B as BUTTON_TEXTS, c as useEntityStore, A as ACTION_OPTIONS, l as getActionIcon, f as useModalStore, F as FORM_ALERTS, d as useFilterStore, M as MONITORS_OPTIONS, t as styleInject, i as useSelectedStore, e as useInstrumentStore, n as getInstrumentationRuleIcon, a as useDataStreamStore, m as getEntityId, S as STORAGE_KEYS, j as useSetupStore, I as INSTRUMENTATION_RULE_OPTIONS, u as useDarkMode } from './index-CKOBXat_.js';
|
|
5
4
|
import { ActionType, ActionKeyTypes, InputTypes, FieldTypes, EntityTypes, StatusType, Crud, OtherStatus, NodeTypes, AddNodeTypes, EdgeTypes, SignalType, HeadersCollectionKeyTypes, CodeAttributesKeyTypes, PayloadCollectionKeyTypes, InstrumentationRuleType } from './types.js';
|
|
6
|
-
import { f as DataCardFieldTypes, o as FieldLabel, C as Checkbox, n as FieldError, u as Input, w as InputTable, K as KeyValueInputsList, v as InputList, V as Text, O as Segment, L as SectionTitle, i as DocsButton, y as MonitorsCheckboxes, W as TextArea, j as Drawer, d as ConditionDetails, D as DataCard, a0 as FlexColumn, M as Modal, N as NavigationButtons, a4 as ModalBody, J as NotificationNote, a as AutocompleteInput, h as Divider, R as Status, $ as FlexRow, Y as Tooltip, r as IconWrapped, z as MonitorsIcons, a5 as TableContainer, a6 as TableTitleWrap, q as IconTitleBadge, a7 as TableWrap, x as InteractiveTable, a1 as CenterThis, G as NoDataFound, Z as TraceLoader, b as Badge, E as ExtendArrow, a2 as VerticalScroll, P as SelectionButton, B as Button, m as Dropdown, a8 as getDefaultExportFromCjs, F as FadeLoader, g as DataTab, Q as SkeletonLoader, X as Toggle, A as AddButton$1, U as Stepper, I as IconButton, e as DataCardFields, s as IconsNav, p as IconGroup } from './index-
|
|
5
|
+
import { f as DataCardFieldTypes, o as FieldLabel, C as Checkbox, n as FieldError, u as Input, w as InputTable, K as KeyValueInputsList, v as InputList, V as Text, O as Segment, L as SectionTitle, i as DocsButton, y as MonitorsCheckboxes, W as TextArea, j as Drawer, d as ConditionDetails, D as DataCard, a0 as FlexColumn, M as Modal, N as NavigationButtons, a4 as ModalBody, J as NotificationNote, a as AutocompleteInput, h as Divider, R as Status, $ as FlexRow, Y as Tooltip, r as IconWrapped, z as MonitorsIcons, a5 as TableContainer, a6 as TableTitleWrap, q as IconTitleBadge, a7 as TableWrap, x as InteractiveTable, a1 as CenterThis, G as NoDataFound, Z as TraceLoader, b as Badge, E as ExtendArrow, a2 as VerticalScroll, P as SelectionButton, B as Button, m as Dropdown, a8 as getDefaultExportFromCjs, F as FadeLoader, g as DataTab, Q as SkeletonLoader, X as Toggle, A as AddButton$1, U as Stepper, I as IconButton, e as DataCardFields, s as IconsNav, p as IconGroup } from './index-THrvNIPj.js';
|
|
7
6
|
import { i as isEmpty, s as safeJsonParse } from './index-BV85P9UP.js';
|
|
8
|
-
import { i as CheckCircledIcon, O as OdigosLogo } from './index-
|
|
9
|
-
import { C as CrossCircledIcon, O as OdigosLogoText, a as OverviewIcon, F as FilterIcon, D as DataStreamsIcon, N as NotificationIcon, S as SlackLogo, K as KeyIcon, T as TerminalIcon } from './index
|
|
10
|
-
import { u as useActionFormData, a as useClickNode, c as useDataStreamFormData, d as useDestinationFormData, b as useClickNotification,
|
|
11
|
-
import { d as useKeyDown, e as useOnClickOutside, u as useContainerSize, c as useInstrumentationRuleFormData, g as useTransition, f as useTimeAgo, a as useCopy } from './useTransition-
|
|
12
|
-
import { E as EditIcon } from './index-
|
|
13
|
-
import { T as TrashIcon, S as SearchIcon, P as PlusIcon$1, f as CheckIcon, A as ArrowIcon, a as CopyIcon, g as CrossIcon } from './index-
|
|
14
|
-
import { D as DeleteWarning, C as CancelWarning } from './index-
|
|
15
|
-
import { m as mapConditions, b as getStatusIcon, c as capitalizeFirstLetter } from './index-
|
|
16
|
-
import { f as filterActions, i as getConditionsBooleans, n as getEntityLabel, m as getEntityIcon,
|
|
7
|
+
import { i as CheckCircledIcon, O as OdigosLogo } from './index-BVj4fOL3.js';
|
|
8
|
+
import { C as CrossCircledIcon, O as OdigosLogoText, a as OverviewIcon, F as FilterIcon, D as DataStreamsIcon, N as NotificationIcon, S as SlackLogo, K as KeyIcon, T as TerminalIcon } from './index-BDqd3uNm.js';
|
|
9
|
+
import { u as useActionFormData, a as useClickNode, e as useSessionStorage, c as useDataStreamFormData, d as useDestinationFormData, b as useClickNotification, f as useSourceFormData, g as useSourceSelectionFormData } from './useSourceSelectionFormData-DqSNROtZ.js';
|
|
10
|
+
import { d as useKeyDown, e as useOnClickOutside, u as useContainerSize, c as useInstrumentationRuleFormData, g as useTransition, f as useTimeAgo, a as useCopy } from './useTransition-D9f1CP9n.js';
|
|
11
|
+
import { E as EditIcon } from './index-DqaI44fJ.js';
|
|
12
|
+
import { T as TrashIcon, S as SearchIcon, P as PlusIcon$1, f as CheckIcon, A as ArrowIcon, a as CopyIcon, g as CrossIcon } from './index-CEWs8CTN.js';
|
|
13
|
+
import { D as DeleteWarning, C as CancelWarning } from './index-CyG_tD3y.js';
|
|
14
|
+
import { m as mapConditions, b as getStatusIcon, c as capitalizeFirstLetter } from './index-CCX1HLUr.js';
|
|
15
|
+
import { f as filterActions, i as getConditionsBooleans, n as getEntityLabel, m as getEntityIcon, w as sleep$1, p as getPlatformIcon, q as getPlatformLabel, h as formatBytes, k as getContainersIcons, r as getValueForRange, l as getDestinationIcon, g as filterSourcesByStream, e as filterSources, b as filterDestinationsByStream, a as filterDestinations, v as mapDestinationFieldsForDisplay, c as compareCondition, t as getYamlFieldsForDestination, d as deepClone, o as getMetricForEntity, s as getWorkloadId, j as getContainersInstrumentedCount, u as isOverTime } from './index-dLZvpGw3.js';
|
|
17
16
|
import { createPortal } from 'react-dom';
|
|
18
|
-
import {
|
|
17
|
+
import { m as mapExportedSignals } from './index-BlZKWuxe.js';
|
|
18
|
+
import { N as NoteBackToSummary, E as EditButton } from './index-DmCjUtBQ.js';
|
|
19
19
|
import { D as DESTINATION_CATEGORIES } from './index-Dqief9td.js';
|
|
20
|
-
import { a6 as RulesIcon, a7 as SourcesIcon, a3 as ActionsIcon, a4 as DestinationsIcon } from './index-
|
|
21
|
-
import './index-CnZlllYu.js';
|
|
20
|
+
import { a6 as RulesIcon, a7 as SourcesIcon, a3 as ActionsIcon, a4 as DestinationsIcon } from './index-9R2N835W.js';
|
|
22
21
|
|
|
23
22
|
const buildCard$3 = (action) => {
|
|
24
23
|
const { type, spec: { actionName, notes, signals, disabled, collectContainerAttributes, collectReplicaSetAttributes, collectWorkloadId, collectClusterId, labelsAttributes, annotationsAttributes, clusterAttributes, attributeNamesToDelete, renames, piiCategories, fallbackSamplingRatio, samplingPercentage, endpointsFilters, servicesNameFilters, attributeFilters, }, } = action;
|
|
@@ -13146,7 +13145,7 @@ const nodeConfig = {
|
|
|
13146
13145
|
framePadding: 12,
|
|
13147
13146
|
};
|
|
13148
13147
|
|
|
13149
|
-
const { framePadding: framePadding$
|
|
13148
|
+
const { framePadding: framePadding$5 } = nodeConfig;
|
|
13150
13149
|
const Container$h = styled.div `
|
|
13151
13150
|
position: relative;
|
|
13152
13151
|
z-index: 1;
|
|
@@ -13158,7 +13157,7 @@ const Container$h = styled.div `
|
|
|
13158
13157
|
overflow-x: hidden;
|
|
13159
13158
|
`;
|
|
13160
13159
|
const BaseNodeWrapper = styled.div `
|
|
13161
|
-
margin: ${framePadding$
|
|
13160
|
+
margin: ${framePadding$5}px 0;
|
|
13162
13161
|
`;
|
|
13163
13162
|
const BottomOverlay = styled.div `
|
|
13164
13163
|
position: fixed;
|
|
@@ -13390,7 +13389,7 @@ const Flow = ({ nodes, edges, onNodesChange, onEdgesChange }) => {
|
|
|
13390
13389
|
} })))));
|
|
13391
13390
|
};
|
|
13392
13391
|
|
|
13393
|
-
const { nodeHeight: nodeHeight$
|
|
13392
|
+
const { nodeHeight: nodeHeight$5, framePadding: framePadding$4 } = nodeConfig;
|
|
13394
13393
|
const createEdge = (edgeId, params) => {
|
|
13395
13394
|
const { theme, label, isMultiTarget, isError, animated } = params || {};
|
|
13396
13395
|
const [sourceNodeId, targetNodeId] = edgeId.split('-to-');
|
|
@@ -13411,8 +13410,8 @@ const buildEdges = ({ theme, nodes, metrics, containerHeight }) => {
|
|
|
13411
13410
|
if (nodeType === NodeTypes.Edged && entityType === EntityTypes.Source) {
|
|
13412
13411
|
const { namespace, name, kind } = entityId;
|
|
13413
13412
|
const metric = metrics?.sources.find((m) => m.kind === kind && m.name === name && m.namespace === namespace);
|
|
13414
|
-
const topLimit = -80 / 2 + framePadding$
|
|
13415
|
-
const bottomLimit = Math.floor(containerHeight / nodeHeight$
|
|
13413
|
+
const topLimit = -80 / 2 + framePadding$4;
|
|
13414
|
+
const bottomLimit = Math.floor(containerHeight / nodeHeight$5) * nodeHeight$5 - (nodeHeight$5 / 2 + framePadding$4);
|
|
13416
13415
|
if (position.y >= topLimit && position.y <= bottomLimit) {
|
|
13417
13416
|
edges.push(createEdge(`${nodeId}-to-${actionNodeId}`, {
|
|
13418
13417
|
theme,
|
|
@@ -13437,7 +13436,7 @@ const buildEdges = ({ theme, nodes, metrics, containerHeight }) => {
|
|
|
13437
13436
|
return edges;
|
|
13438
13437
|
};
|
|
13439
13438
|
|
|
13440
|
-
const { nodeWidth: nodeWidth$4 } = nodeConfig;
|
|
13439
|
+
const { nodeWidth: nodeWidth$4, nodeHeight: nodeHeight$4, framePadding: framePadding$3 } = nodeConfig;
|
|
13441
13440
|
const mapToNodeData$3 = (entity) => {
|
|
13442
13441
|
return {
|
|
13443
13442
|
nodeWidth: nodeWidth$4,
|
|
@@ -13451,7 +13450,7 @@ const mapToNodeData$3 = (entity) => {
|
|
|
13451
13450
|
raw: entity,
|
|
13452
13451
|
};
|
|
13453
13452
|
};
|
|
13454
|
-
const buildRuleNodes = ({ loading, entities, positions, unfilteredCount }) => {
|
|
13453
|
+
const buildRuleNodes = ({ loading, entities, positions, unfilteredCount, containerHeight, onScroll }) => {
|
|
13455
13454
|
const nodes = [];
|
|
13456
13455
|
const position = positions[EntityTypes.InstrumentationRule];
|
|
13457
13456
|
nodes.push({
|
|
@@ -13470,13 +13469,38 @@ const buildRuleNodes = ({ loading, entities, positions, unfilteredCount }) => {
|
|
|
13470
13469
|
},
|
|
13471
13470
|
});
|
|
13472
13471
|
if (!!entities.length) {
|
|
13472
|
+
nodes.push({
|
|
13473
|
+
id: `${EntityTypes.InstrumentationRule}-${NodeTypes.Scroll}`,
|
|
13474
|
+
type: NodeTypes.Scroll,
|
|
13475
|
+
position: {
|
|
13476
|
+
x: position['x'],
|
|
13477
|
+
y: position['y']() - framePadding$3,
|
|
13478
|
+
},
|
|
13479
|
+
style: {
|
|
13480
|
+
zIndex: 1,
|
|
13481
|
+
},
|
|
13482
|
+
data: {
|
|
13483
|
+
nodeWidth: nodeWidth$4,
|
|
13484
|
+
nodeHeight: containerHeight - nodeHeight$4 + framePadding$3 * 2,
|
|
13485
|
+
items: entities.map((rule, idx) => ({
|
|
13486
|
+
id: `${EntityTypes.InstrumentationRule}-${idx}`,
|
|
13487
|
+
data: mapToNodeData$3(rule),
|
|
13488
|
+
})),
|
|
13489
|
+
onScroll,
|
|
13490
|
+
},
|
|
13491
|
+
});
|
|
13473
13492
|
entities.forEach((rule, idx) => {
|
|
13474
13493
|
nodes.push({
|
|
13475
|
-
id: `${EntityTypes.InstrumentationRule}-${idx}`,
|
|
13476
|
-
type: NodeTypes.
|
|
13494
|
+
id: `${EntityTypes.InstrumentationRule}-${idx}-hidden`,
|
|
13495
|
+
type: NodeTypes.Edged,
|
|
13496
|
+
extent: 'parent',
|
|
13497
|
+
parentId: `${EntityTypes.InstrumentationRule}-${NodeTypes.Scroll}`,
|
|
13477
13498
|
position: {
|
|
13478
|
-
x:
|
|
13479
|
-
y: position['y'](idx),
|
|
13499
|
+
x: framePadding$3,
|
|
13500
|
+
y: position['y'](idx) - (nodeHeight$4 - framePadding$3 / 2),
|
|
13501
|
+
},
|
|
13502
|
+
style: {
|
|
13503
|
+
zIndex: -1,
|
|
13480
13504
|
},
|
|
13481
13505
|
data: mapToNodeData$3(rule),
|
|
13482
13506
|
});
|
|
@@ -13514,7 +13538,7 @@ const buildRuleNodes = ({ loading, entities, positions, unfilteredCount }) => {
|
|
|
13514
13538
|
return nodes;
|
|
13515
13539
|
};
|
|
13516
13540
|
|
|
13517
|
-
const { nodeWidth: nodeWidth$3, nodeHeight: nodeHeight$
|
|
13541
|
+
const { nodeWidth: nodeWidth$3, nodeHeight: nodeHeight$3, framePadding: framePadding$2 } = nodeConfig;
|
|
13518
13542
|
const mapToNodeData$2 = (entity) => {
|
|
13519
13543
|
const { hasDisableds, priorotizedStatus } = getConditionsBooleans(entity.conditions || []);
|
|
13520
13544
|
return {
|
|
@@ -13531,7 +13555,7 @@ const mapToNodeData$2 = (entity) => {
|
|
|
13531
13555
|
raw: entity,
|
|
13532
13556
|
};
|
|
13533
13557
|
};
|
|
13534
|
-
const buildActionNodes = ({ loading, entities, positions, unfilteredCount }) => {
|
|
13558
|
+
const buildActionNodes = ({ loading, entities, positions, unfilteredCount, containerHeight, onScroll }) => {
|
|
13535
13559
|
const nodes = [];
|
|
13536
13560
|
const position = positions[EntityTypes.Action];
|
|
13537
13561
|
nodes.push({
|
|
@@ -13551,30 +13575,53 @@ const buildActionNodes = ({ loading, entities, positions, unfilteredCount }) =>
|
|
|
13551
13575
|
});
|
|
13552
13576
|
if (!!entities.length) {
|
|
13553
13577
|
nodes.push({
|
|
13554
|
-
id: `${EntityTypes.Action}-${NodeTypes.
|
|
13555
|
-
type: NodeTypes.
|
|
13578
|
+
id: `${EntityTypes.Action}-${NodeTypes.Scroll}`,
|
|
13579
|
+
type: NodeTypes.Scroll,
|
|
13556
13580
|
position: {
|
|
13557
|
-
x: position['x']
|
|
13558
|
-
y: position['y']() - framePadding$
|
|
13581
|
+
x: position['x'],
|
|
13582
|
+
y: position['y']() - framePadding$2,
|
|
13583
|
+
},
|
|
13584
|
+
style: {
|
|
13585
|
+
zIndex: 1,
|
|
13559
13586
|
},
|
|
13560
13587
|
data: {
|
|
13561
|
-
nodeWidth: nodeWidth$3
|
|
13562
|
-
nodeHeight: nodeHeight$
|
|
13588
|
+
nodeWidth: nodeWidth$3,
|
|
13589
|
+
nodeHeight: containerHeight - nodeHeight$3 + framePadding$2 * 2,
|
|
13590
|
+
items: entities.map((action, idx) => ({
|
|
13591
|
+
id: `${EntityTypes.Action}-${idx}`,
|
|
13592
|
+
data: mapToNodeData$2(action),
|
|
13593
|
+
})),
|
|
13594
|
+
onScroll,
|
|
13563
13595
|
},
|
|
13564
13596
|
});
|
|
13565
13597
|
entities.forEach((action, idx) => {
|
|
13566
13598
|
nodes.push({
|
|
13567
|
-
id: `${EntityTypes.Action}-${idx}`,
|
|
13568
|
-
type: NodeTypes.
|
|
13599
|
+
id: `${EntityTypes.Action}-${idx}-hidden`,
|
|
13600
|
+
type: NodeTypes.Edged,
|
|
13569
13601
|
extent: 'parent',
|
|
13570
|
-
parentId: `${EntityTypes.Action}-${NodeTypes.
|
|
13602
|
+
parentId: `${EntityTypes.Action}-${NodeTypes.Scroll}`,
|
|
13571
13603
|
position: {
|
|
13572
|
-
x: framePadding$
|
|
13573
|
-
y: position['y'](idx) - (nodeHeight$
|
|
13604
|
+
x: framePadding$2,
|
|
13605
|
+
y: position['y'](idx) - (nodeHeight$3 - framePadding$2 / 2),
|
|
13606
|
+
},
|
|
13607
|
+
style: {
|
|
13608
|
+
zIndex: -1,
|
|
13574
13609
|
},
|
|
13575
13610
|
data: mapToNodeData$2(action),
|
|
13576
13611
|
});
|
|
13577
13612
|
});
|
|
13613
|
+
nodes.push({
|
|
13614
|
+
id: `${EntityTypes.Action}-${NodeTypes.Frame}`,
|
|
13615
|
+
type: NodeTypes.Frame,
|
|
13616
|
+
position: {
|
|
13617
|
+
x: position['x'] - framePadding$2,
|
|
13618
|
+
y: position['y']() - framePadding$2,
|
|
13619
|
+
},
|
|
13620
|
+
data: {
|
|
13621
|
+
nodeWidth: nodeWidth$3 + 2 * framePadding$2,
|
|
13622
|
+
nodeHeight: Math.min(containerHeight, nodeHeight$3 * entities.length + framePadding$2),
|
|
13623
|
+
},
|
|
13624
|
+
});
|
|
13578
13625
|
}
|
|
13579
13626
|
else if (loading) {
|
|
13580
13627
|
nodes.push({
|
|
@@ -13608,12 +13655,12 @@ const buildActionNodes = ({ loading, entities, positions, unfilteredCount }) =>
|
|
|
13608
13655
|
return nodes;
|
|
13609
13656
|
};
|
|
13610
13657
|
|
|
13611
|
-
const { nodeWidth: nodeWidth$2, nodeHeight: nodeHeight$
|
|
13658
|
+
const { nodeWidth: nodeWidth$2, nodeHeight: nodeHeight$2, framePadding: framePadding$1 } = nodeConfig;
|
|
13612
13659
|
const mapToNodeData$1 = (entity) => {
|
|
13613
13660
|
const { priorotizedStatus, hasDisableds } = getConditionsBooleans(entity.conditions || []);
|
|
13614
13661
|
return {
|
|
13615
13662
|
nodeWidth: nodeWidth$2,
|
|
13616
|
-
nodeHeight: nodeHeight$
|
|
13663
|
+
nodeHeight: nodeHeight$2, // for edged node
|
|
13617
13664
|
id: {
|
|
13618
13665
|
namespace: entity.namespace,
|
|
13619
13666
|
name: entity.name,
|
|
@@ -13655,14 +13702,14 @@ const buildSourceNodes = ({ loading, entities, positions, unfilteredCount, conta
|
|
|
13655
13702
|
type: NodeTypes.Scroll,
|
|
13656
13703
|
position: {
|
|
13657
13704
|
x: position['x'],
|
|
13658
|
-
y: position['y']() - framePadding,
|
|
13705
|
+
y: position['y']() - framePadding$1,
|
|
13659
13706
|
},
|
|
13660
13707
|
style: {
|
|
13661
13708
|
zIndex: 1,
|
|
13662
13709
|
},
|
|
13663
13710
|
data: {
|
|
13664
13711
|
nodeWidth: nodeWidth$2,
|
|
13665
|
-
nodeHeight: containerHeight - nodeHeight$
|
|
13712
|
+
nodeHeight: containerHeight - nodeHeight$2 + framePadding$1 * 2,
|
|
13666
13713
|
items: entities.map((source, idx) => ({
|
|
13667
13714
|
id: `${EntityTypes.Source}-${idx}`,
|
|
13668
13715
|
data: mapToNodeData$1(source),
|
|
@@ -13677,8 +13724,8 @@ const buildSourceNodes = ({ loading, entities, positions, unfilteredCount, conta
|
|
|
13677
13724
|
extent: 'parent',
|
|
13678
13725
|
parentId: `${EntityTypes.Source}-${NodeTypes.Scroll}`,
|
|
13679
13726
|
position: {
|
|
13680
|
-
x: framePadding,
|
|
13681
|
-
y: position['y'](idx) - (nodeHeight$
|
|
13727
|
+
x: framePadding$1,
|
|
13728
|
+
y: position['y'](idx) - (nodeHeight$2 - framePadding$1 / 2),
|
|
13682
13729
|
},
|
|
13683
13730
|
style: {
|
|
13684
13731
|
zIndex: -1,
|
|
@@ -13719,11 +13766,11 @@ const buildSourceNodes = ({ loading, entities, positions, unfilteredCount, conta
|
|
|
13719
13766
|
return nodes;
|
|
13720
13767
|
};
|
|
13721
13768
|
|
|
13722
|
-
const { nodeWidth: nodeWidth$1, nodeHeight } = nodeConfig;
|
|
13769
|
+
const { nodeWidth: nodeWidth$1, nodeHeight: nodeHeight$1 } = nodeConfig;
|
|
13723
13770
|
const getNodePositions = ({ containerWidth }) => {
|
|
13724
13771
|
const startX = 24;
|
|
13725
13772
|
const endX = (containerWidth <= 1500 ? 1500 : containerWidth) - nodeWidth$1 - startX;
|
|
13726
|
-
const getY = (idx) => nodeHeight * ((idx || 0) + 1);
|
|
13773
|
+
const getY = (idx) => nodeHeight$1 * ((idx || 0) + 1);
|
|
13727
13774
|
const positions = {
|
|
13728
13775
|
[EntityTypes.Namespace]: {
|
|
13729
13776
|
x: 0,
|
|
@@ -13755,7 +13802,7 @@ const getNodePositions = ({ containerWidth }) => {
|
|
|
13755
13802
|
return positions;
|
|
13756
13803
|
};
|
|
13757
13804
|
|
|
13758
|
-
const { nodeWidth } = nodeConfig;
|
|
13805
|
+
const { nodeWidth, nodeHeight, framePadding } = nodeConfig;
|
|
13759
13806
|
const mapToNodeData = (entity) => {
|
|
13760
13807
|
const { hasDisableds, priorotizedStatus } = getConditionsBooleans(entity.conditions || []);
|
|
13761
13808
|
const { icon, iconSrc } = getDestinationIcon(entity.destinationType.type);
|
|
@@ -13773,7 +13820,7 @@ const mapToNodeData = (entity) => {
|
|
|
13773
13820
|
raw: entity,
|
|
13774
13821
|
};
|
|
13775
13822
|
};
|
|
13776
|
-
const buildDestinationNodes = ({ loading, entities, positions, unfilteredCount }) => {
|
|
13823
|
+
const buildDestinationNodes = ({ loading, entities, positions, unfilteredCount, containerHeight, onScroll }) => {
|
|
13777
13824
|
const nodes = [];
|
|
13778
13825
|
const position = positions[EntityTypes.Destination];
|
|
13779
13826
|
nodes.push({
|
|
@@ -13792,13 +13839,38 @@ const buildDestinationNodes = ({ loading, entities, positions, unfilteredCount }
|
|
|
13792
13839
|
},
|
|
13793
13840
|
});
|
|
13794
13841
|
if (!!entities.length) {
|
|
13842
|
+
nodes.push({
|
|
13843
|
+
id: `${EntityTypes.Destination}-${NodeTypes.Scroll}`,
|
|
13844
|
+
type: NodeTypes.Scroll,
|
|
13845
|
+
position: {
|
|
13846
|
+
x: position['x'],
|
|
13847
|
+
y: position['y']() - framePadding,
|
|
13848
|
+
},
|
|
13849
|
+
style: {
|
|
13850
|
+
zIndex: 1,
|
|
13851
|
+
},
|
|
13852
|
+
data: {
|
|
13853
|
+
nodeWidth,
|
|
13854
|
+
nodeHeight: containerHeight - nodeHeight + framePadding * 2,
|
|
13855
|
+
items: entities.map((destination, idx) => ({
|
|
13856
|
+
id: `${EntityTypes.Destination}-${idx}`,
|
|
13857
|
+
data: mapToNodeData(destination),
|
|
13858
|
+
})),
|
|
13859
|
+
onScroll,
|
|
13860
|
+
},
|
|
13861
|
+
});
|
|
13795
13862
|
entities.forEach((destination, idx) => {
|
|
13796
13863
|
nodes.push({
|
|
13797
|
-
id: `${EntityTypes.Destination}-${idx}`,
|
|
13798
|
-
type: NodeTypes.
|
|
13864
|
+
id: `${EntityTypes.Destination}-${idx}-hidden`,
|
|
13865
|
+
type: NodeTypes.Edged,
|
|
13866
|
+
extent: 'parent',
|
|
13867
|
+
parentId: `${EntityTypes.Destination}-${NodeTypes.Scroll}`,
|
|
13799
13868
|
position: {
|
|
13800
|
-
x:
|
|
13801
|
-
y: position['y'](idx),
|
|
13869
|
+
x: framePadding,
|
|
13870
|
+
y: position['y'](idx) - (nodeHeight - framePadding / 2),
|
|
13871
|
+
},
|
|
13872
|
+
style: {
|
|
13873
|
+
zIndex: -1,
|
|
13802
13874
|
},
|
|
13803
13875
|
data: mapToNodeData(destination),
|
|
13804
13876
|
});
|
|
@@ -13890,28 +13962,34 @@ const DataFlow = ({ heightToRemove, metrics }) => {
|
|
|
13890
13962
|
loading: destinationsLoading,
|
|
13891
13963
|
unfilteredCount: destinationsByStream.length,
|
|
13892
13964
|
positions,
|
|
13965
|
+
containerHeight,
|
|
13966
|
+
onScroll: ({ scrollTop }) => handleNodesScrolled(destinationNodes, EntityTypes.Destination, scrollTop),
|
|
13893
13967
|
});
|
|
13894
13968
|
handleNodesChanged(destinationNodes, EntityTypes.Destination);
|
|
13895
|
-
}, [selectedStreamName, destinations, destinationsLoading, positions[EntityTypes.Destination], filters]);
|
|
13969
|
+
}, [selectedStreamName, destinations, destinationsLoading, positions[EntityTypes.Destination], filters, containerHeight]);
|
|
13896
13970
|
useEffect(() => {
|
|
13897
13971
|
const actionNodes = buildActionNodes({
|
|
13898
13972
|
entities: filterActions(actions, filters),
|
|
13899
13973
|
loading: actionsLoading,
|
|
13900
13974
|
unfilteredCount: actions.length,
|
|
13901
13975
|
positions,
|
|
13976
|
+
containerHeight,
|
|
13977
|
+
onScroll: ({ scrollTop }) => handleNodesScrolled(actionNodes, EntityTypes.Action, scrollTop),
|
|
13902
13978
|
});
|
|
13903
13979
|
handleNodesChanged(actionNodes, EntityTypes.Action);
|
|
13904
|
-
}, [actions, actionsLoading, positions[EntityTypes.Action], filters]);
|
|
13980
|
+
}, [actions, actionsLoading, positions[EntityTypes.Action], filters, containerHeight]);
|
|
13905
13981
|
useEffect(() => {
|
|
13906
|
-
// note: rules do not have filters yet
|
|
13907
13982
|
const ruleNodes = buildRuleNodes({
|
|
13983
|
+
// note: rules do not have filters yet
|
|
13908
13984
|
entities: instrumentationRules,
|
|
13909
13985
|
loading: instrumentationRulesLoading,
|
|
13910
13986
|
unfilteredCount: instrumentationRules.length,
|
|
13911
13987
|
positions,
|
|
13988
|
+
containerHeight,
|
|
13989
|
+
onScroll: ({ scrollTop }) => handleNodesScrolled(ruleNodes, EntityTypes.InstrumentationRule, scrollTop),
|
|
13912
13990
|
});
|
|
13913
13991
|
handleNodesChanged(ruleNodes, EntityTypes.InstrumentationRule);
|
|
13914
|
-
}, [instrumentationRules, instrumentationRulesLoading, positions[EntityTypes.InstrumentationRule]]);
|
|
13992
|
+
}, [instrumentationRules, instrumentationRulesLoading, positions[EntityTypes.InstrumentationRule], containerHeight]);
|
|
13915
13993
|
return (React.createElement(Container$e, { ref: containerRef, "$heightToRemove": heightToRemove },
|
|
13916
13994
|
React.createElement(Flow, { nodes: nodes, edges: edges, onNodesChange: onNodesChange, onEdgesChange: onEdgesChange })));
|
|
13917
13995
|
};
|
|
@@ -14082,6 +14160,7 @@ const Filters$1 = () => {
|
|
|
14082
14160
|
const theme = Theme.useTheme();
|
|
14083
14161
|
const { namespaces, sources } = useEntityStore();
|
|
14084
14162
|
const { selectedStreamName } = useDataStreamStore();
|
|
14163
|
+
const { getItemSS, setItemSS, removeItemSS } = useSessionStorage();
|
|
14085
14164
|
const { namespaces: namespaceFilters, kinds, monitors, languages, errors, onlyErrors, setAll, clearAll, getEmptyState } = useFilterStore();
|
|
14086
14165
|
const sourcesByStream = useMemo(() => filterSourcesByStream(sources, selectedStreamName), [sources, selectedStreamName]);
|
|
14087
14166
|
// We need local state, because we want to keep the filters in the store only when the user clicks on apply
|
|
@@ -14089,6 +14168,10 @@ const Filters$1 = () => {
|
|
|
14089
14168
|
const [filterCount, setFilterCount] = useState(getFilterCount(filters));
|
|
14090
14169
|
const [focused, setFocused] = useState(false);
|
|
14091
14170
|
const toggleFocused = () => setFocused((prev) => !prev);
|
|
14171
|
+
useEffect(() => {
|
|
14172
|
+
const storedFilters = getItemSS(STORAGE_KEYS.OVERVIEW_FILTERS, getEmptyState());
|
|
14173
|
+
setAll(storedFilters);
|
|
14174
|
+
}, []);
|
|
14092
14175
|
useEffect(() => {
|
|
14093
14176
|
if (!focused) {
|
|
14094
14177
|
const payload = { namespaces: namespaceFilters, kinds, monitors, languages, errors, onlyErrors };
|
|
@@ -14097,17 +14180,13 @@ const Filters$1 = () => {
|
|
|
14097
14180
|
}
|
|
14098
14181
|
}, [focused, namespaceFilters, kinds, monitors, errors, onlyErrors]);
|
|
14099
14182
|
const onApply = () => {
|
|
14100
|
-
|
|
14101
|
-
|
|
14102
|
-
|
|
14103
|
-
|
|
14104
|
-
setFocused(false);
|
|
14105
|
-
}
|
|
14106
|
-
catch (error) {
|
|
14107
|
-
console.error(error);
|
|
14108
|
-
}
|
|
14183
|
+
setItemSS(STORAGE_KEYS.OVERVIEW_FILTERS, filters);
|
|
14184
|
+
setAll(filters);
|
|
14185
|
+
setFilterCount(getFilterCount(filters));
|
|
14186
|
+
setFocused(false);
|
|
14109
14187
|
};
|
|
14110
14188
|
const onReset = () => {
|
|
14189
|
+
removeItemSS(STORAGE_KEYS.OVERVIEW_FILTERS);
|
|
14111
14190
|
clearAll();
|
|
14112
14191
|
setFilters(getEmptyState());
|
|
14113
14192
|
setFilterCount(0);
|
|
@@ -14443,10 +14522,6 @@ const DestinationForm = ({ isUpdate, categoryItem, formData, formErrors, validat
|
|
|
14443
14522
|
setAutoFilled(didAutoFill);
|
|
14444
14523
|
}
|
|
14445
14524
|
}, [dynamicFields, isFormDirty]);
|
|
14446
|
-
const dirtyForm = () => {
|
|
14447
|
-
setIsFormDirty(true);
|
|
14448
|
-
setConnection(undefined);
|
|
14449
|
-
};
|
|
14450
14525
|
const supportedMonitors = useMemo(() => {
|
|
14451
14526
|
const { logs, metrics, traces } = supportedSignals || {};
|
|
14452
14527
|
const arr = [];
|
|
@@ -14468,7 +14543,11 @@ const DestinationForm = ({ isUpdate, categoryItem, formData, formErrors, validat
|
|
|
14468
14543
|
if (traces)
|
|
14469
14544
|
arr.push(SignalType.Traces);
|
|
14470
14545
|
return arr;
|
|
14471
|
-
}, [formData
|
|
14546
|
+
}, [formData]);
|
|
14547
|
+
const dirtyForm = () => {
|
|
14548
|
+
setIsFormDirty(true);
|
|
14549
|
+
setConnection(undefined);
|
|
14550
|
+
};
|
|
14472
14551
|
const handleSelectedSignals = (signals) => {
|
|
14473
14552
|
dirtyForm();
|
|
14474
14553
|
handleFormChange('exportedSignals', {
|
|
@@ -14600,7 +14679,7 @@ const ListsWrapper = styled.div `
|
|
|
14600
14679
|
flex-direction: column;
|
|
14601
14680
|
gap: 12px;
|
|
14602
14681
|
`;
|
|
14603
|
-
const DestinationsList = ({ items,
|
|
14682
|
+
const DestinationsList = ({ items, onSelectNew, onSelectConfigured }) => {
|
|
14604
14683
|
const { configuredDestinationsUpdateOnly } = useSetupStore();
|
|
14605
14684
|
return items.map((category) => {
|
|
14606
14685
|
const isAlreadyExisting = category.name === DESTINATION_CATEGORIES['EXISTS']['TITLE'];
|
|
@@ -14611,7 +14690,7 @@ const DestinationsList = ({ items, onSelectOption, onSelectConfigured }) => {
|
|
|
14611
14690
|
const key = `select-${category.name.replaceAll(' ', '')}-destination-${item.type}`;
|
|
14612
14691
|
const isChecked = item.selected || configuredDestinationsUpdateOnly.some((dest) => dest.id === item.id);
|
|
14613
14692
|
const monitors = Object.keys(item.supportedSignals).filter((signal) => item.supportedSignals[signal].supported);
|
|
14614
|
-
const onClick = isAlreadyExisting ? () => onSelectConfigured(item.id) : () =>
|
|
14693
|
+
const onClick = isAlreadyExisting ? () => onSelectConfigured(item.id) : () => onSelectNew(item);
|
|
14615
14694
|
const { icon, iconSrc } = getDestinationIcon(item.type);
|
|
14616
14695
|
return (React.createElement(DataTab, { key: key, "data-id": key, title: item.displayName, hoverText: BUTTON_TEXTS.SELECT, onClick: onClick, iconProps: { icon, iconSrc }, visualProps: { monitors, monitorsWithLabels: true }, checkboxProps: {
|
|
14617
14696
|
withCheckbox: isAlreadyExisting,
|
|
@@ -14679,7 +14758,7 @@ const createConfiguredItems = (destinations, selectedStreamName, configuredDesti
|
|
|
14679
14758
|
},
|
|
14680
14759
|
};
|
|
14681
14760
|
});
|
|
14682
|
-
const ChooseDestinationBody = ({ hidden, categories, potentialDestinations,
|
|
14761
|
+
const ChooseDestinationBody = ({ hidden, categories, potentialDestinations, onSelectNew, onSelectConfigured }) => {
|
|
14683
14762
|
const { destinations } = useEntityStore();
|
|
14684
14763
|
const { selectedStreamName } = useDataStreamStore();
|
|
14685
14764
|
const { configuredDestinations, configuredDestinationsUpdateOnly } = useSetupStore();
|
|
@@ -14712,7 +14791,7 @@ const ChooseDestinationBody = ({ hidden, categories, potentialDestinations, onSe
|
|
|
14712
14791
|
return { ...category, items: filteredItems };
|
|
14713
14792
|
})
|
|
14714
14793
|
.filter(({ items }) => !!items.length); // Filter out empty categories
|
|
14715
|
-
}, [categories, potentialDestinations, destinations, search, selectedCategory, selectedMonitors, selectedStreamName, configuredDestinations]);
|
|
14794
|
+
}, [categories, potentialDestinations, destinations, search, selectedCategory, selectedMonitors, selectedStreamName, configuredDestinations, configuredDestinationsUpdateOnly]);
|
|
14716
14795
|
if (hidden)
|
|
14717
14796
|
return null;
|
|
14718
14797
|
return (React.createElement(Container$9, null,
|
|
@@ -14726,7 +14805,7 @@ const ChooseDestinationBody = ({ hidden, categories, potentialDestinations, onSe
|
|
|
14726
14805
|
React.createElement(Divider, null),
|
|
14727
14806
|
!filteredDestinations.length ? (React.createElement(NoDataFoundWrapper, null,
|
|
14728
14807
|
React.createElement(NoDataFound, { title: 'No destinations found' }))) : (React.createElement(ListsContainer, null,
|
|
14729
|
-
React.createElement(DestinationsList, { items: filteredDestinations,
|
|
14808
|
+
React.createElement(DestinationsList, { items: filteredDestinations, onSelectNew: (dest) => onSelectNew(dest, selectedMonitors), onSelectConfigured: onSelectConfigured })))));
|
|
14730
14809
|
};
|
|
14731
14810
|
|
|
14732
14811
|
const Container$8 = styled.div `
|
|
@@ -14810,10 +14889,17 @@ const DestinationModal = ({ isOnboarding, categories, potentialDestinations, cre
|
|
|
14810
14889
|
resetFormData();
|
|
14811
14890
|
setSelectedItem(undefined);
|
|
14812
14891
|
};
|
|
14813
|
-
const
|
|
14892
|
+
const handleSelectNew = (item, selectedMonitors) => {
|
|
14814
14893
|
resetFormData();
|
|
14815
14894
|
handleFormChange('type', item?.type || '');
|
|
14816
14895
|
handleFormChange('currentStreamName', selectedStreamName);
|
|
14896
|
+
const exportedSignals = {
|
|
14897
|
+
logs: false,
|
|
14898
|
+
metrics: false,
|
|
14899
|
+
traces: false,
|
|
14900
|
+
};
|
|
14901
|
+
selectedMonitors.filter((monitor) => item.supportedSignals[monitor].supported).forEach((monitor) => (exportedSignals[monitor] = true));
|
|
14902
|
+
handleFormChange('exportedSignals', exportedSignals);
|
|
14817
14903
|
setYamlFields(item?.fields || []);
|
|
14818
14904
|
setSelectedItem(item);
|
|
14819
14905
|
};
|
|
@@ -14859,7 +14945,7 @@ const DestinationModal = ({ isOnboarding, categories, potentialDestinations, cre
|
|
|
14859
14945
|
{ stepNumber: 2, title: DISPLAY_TITLES.CONNECTION },
|
|
14860
14946
|
] })),
|
|
14861
14947
|
React.createElement(ModalBody, { style: { margin: '32px 24px 12px 24px' } },
|
|
14862
|
-
React.createElement(ChooseDestinationBody, { hidden: selectedItem !== undefined, categories: categories, potentialDestinations: potentialDestinations,
|
|
14948
|
+
React.createElement(ChooseDestinationBody, { hidden: selectedItem !== undefined, categories: categories, potentialDestinations: potentialDestinations, onSelectNew: handleSelectNew, onSelectConfigured: handleSelectConfigured }),
|
|
14863
14949
|
selectedItem && (React.createElement(DestinationForm, { categoryItem: selectedItem, formData: formData, formErrors: formErrors, handleFormChange: handleFormChange, dynamicFields: dynamicFields, setDynamicFields: setDynamicFields, validateForm: validateForm, testConnection: testConnection }))))));
|
|
14864
14950
|
};
|
|
14865
14951
|
|
|
@@ -15975,6 +16061,11 @@ const buildCard = (source) => {
|
|
|
15975
16061
|
{ title: DISPLAY_TITLES.NAMESPACE, value: namespace },
|
|
15976
16062
|
{ title: DISPLAY_TITLES.KIND, value: kind },
|
|
15977
16063
|
{ title: DISPLAY_TITLES.NAME, value: name, tooltip: 'K8s resource name' },
|
|
16064
|
+
{ type: DataCardFieldTypes.Divider },
|
|
16065
|
+
{
|
|
16066
|
+
type: DataCardFieldTypes.CopyText,
|
|
16067
|
+
value: `kubectl get ${kind} ${name} -n ${namespace}`,
|
|
16068
|
+
},
|
|
15978
16069
|
];
|
|
15979
16070
|
return arr;
|
|
15980
16071
|
};
|
|
@@ -16026,12 +16117,27 @@ const SourceDrawer = ({ persistSources, updateSource, fetchDescribeSource }) =>
|
|
|
16026
16117
|
loadFormWithDrawerItem(found);
|
|
16027
16118
|
return found;
|
|
16028
16119
|
}, [isOpen, drawerEntityId, sourcesByStream]);
|
|
16120
|
+
const containersData = useMemo(() => {
|
|
16121
|
+
const isDisabled = thisItem?.conditions?.some(({ status }) => status === OtherStatus.Disabled);
|
|
16122
|
+
const runtimeCondition = thisItem?.conditions?.find(({ type }) => type === 'RuntimeDetection');
|
|
16123
|
+
const mappedContainers = thisItem?.containers?.map((container) => {
|
|
16124
|
+
const value = {
|
|
16125
|
+
...container,
|
|
16126
|
+
isDisabled,
|
|
16127
|
+
};
|
|
16128
|
+
return {
|
|
16129
|
+
type: DataCardFieldTypes.SourceContainer,
|
|
16130
|
+
value: JSON.stringify(value),
|
|
16131
|
+
};
|
|
16132
|
+
}) || [];
|
|
16133
|
+
return {
|
|
16134
|
+
description: runtimeCondition?.message,
|
|
16135
|
+
isLoading: runtimeCondition?.status === OtherStatus.Loading,
|
|
16136
|
+
items: mappedContainers,
|
|
16137
|
+
};
|
|
16138
|
+
}, [thisItem]);
|
|
16029
16139
|
if (!thisItem)
|
|
16030
16140
|
return null;
|
|
16031
|
-
const containersData = thisItem.containers?.map((container) => ({
|
|
16032
|
-
type: DataCardFieldTypes.SourceContainer,
|
|
16033
|
-
value: JSON.stringify(container),
|
|
16034
|
-
})) || [];
|
|
16035
16141
|
const handleEdit = (bool) => {
|
|
16036
16142
|
setIsEditing(typeof bool === 'boolean' ? bool : true);
|
|
16037
16143
|
};
|
|
@@ -16075,7 +16181,7 @@ const SourceDrawer = ({ persistSources, updateSource, fetchDescribeSource }) =>
|
|
|
16075
16181
|
} }))) : (React.createElement(DataContainer$1, null,
|
|
16076
16182
|
React.createElement(ConditionDetails, { conditions: thisItem.conditions || [] }),
|
|
16077
16183
|
React.createElement(DataCard, { title: DISPLAY_TITLES.SOURCE_DETAILS, data: !!thisItem ? buildCard(thisItem) : [] }),
|
|
16078
|
-
React.createElement(DataCard, { title: DISPLAY_TITLES.DETECTED_CONTAINERS, titleBadge: containersData.length, description: DISPLAY_TITLES.DETECTED_CONTAINERS_DESCRIPTION, data: containersData })))) : (React.createElement(Describe$1, { source: thisItem, fetchDescribeSource: fetchDescribeSource }))));
|
|
16184
|
+
React.createElement(DataCard, { title: DISPLAY_TITLES.DETECTED_CONTAINERS, titleBadge: containersData.isLoading ? OtherStatus.Loading : containersData.items.length, description: containersData.description || DISPLAY_TITLES.DETECTED_CONTAINERS_DESCRIPTION, data: containersData.items })))) : (React.createElement(Describe$1, { source: thisItem, fetchDescribeSource: fetchDescribeSource }))));
|
|
16079
16185
|
};
|
|
16080
16186
|
|
|
16081
16187
|
const ActionsRow = styled(FlexRow) `
|
package/lib/functions.js
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
export { c as capitalizeFirstLetter, f as flattenObjectKeys, g as getMonitorIcon, a as getProgrammingLanguageIcon, b as getStatusIcon, m as mapConditions, n as numbersOnly, p as parseJsonStringToPrettyString, r as removeEmptyValuesFromObject, s as safeJsonStringify, d as splitCamelString } from './index-
|
|
2
|
-
export { c as compareCondition, d as deepClone, f as filterActions, a as filterDestinations, b as filterDestinationsByStream, e as filterSources, g as filterSourcesByStream, h as formatBytes, i as getConditionsBooleans, k as getContainersIcons, j as getContainersInstrumentedCount, l as getDestinationIcon, m as getEntityIcon, n as getEntityLabel, o as getMetricForEntity, p as getPlatformIcon, q as getPlatformLabel, r as getValueForRange, s as getWorkloadId, t as getYamlFieldsForDestination, u as isOverTime, v as mapDestinationFieldsForDisplay, w as
|
|
3
|
-
export {
|
|
4
|
-
export { g as getIdFromSseTarget, i as isLegalK8sLabel } from './index-
|
|
1
|
+
export { c as capitalizeFirstLetter, f as flattenObjectKeys, g as getMonitorIcon, a as getProgrammingLanguageIcon, b as getStatusIcon, m as mapConditions, n as numbersOnly, p as parseJsonStringToPrettyString, r as removeEmptyValuesFromObject, s as safeJsonStringify, d as splitCamelString } from './index-CCX1HLUr.js';
|
|
2
|
+
export { c as compareCondition, d as deepClone, f as filterActions, a as filterDestinations, b as filterDestinationsByStream, e as filterSources, g as filterSourcesByStream, h as formatBytes, i as getConditionsBooleans, k as getContainersIcons, j as getContainersInstrumentedCount, l as getDestinationIcon, m as getEntityIcon, n as getEntityLabel, o as getMetricForEntity, p as getPlatformIcon, q as getPlatformLabel, r as getValueForRange, s as getWorkloadId, t as getYamlFieldsForDestination, u as isOverTime, v as mapDestinationFieldsForDisplay, w as sleep } from './index-dLZvpGw3.js';
|
|
3
|
+
export { l as getActionIcon, m as getEntityId, n as getInstrumentationRuleIcon } from './index-CKOBXat_.js';
|
|
4
|
+
export { g as getIdFromSseTarget, i as isLegalK8sLabel, m as mapExportedSignals } from './index-BlZKWuxe.js';
|
|
5
5
|
import { EntityTypes } from './types.js';
|
|
6
6
|
export { i as isEmpty, s as safeJsonParse } from './index-BV85P9UP.js';
|
|
7
7
|
import 'react';
|
|
8
8
|
import 'styled-components';
|
|
9
|
-
import './index-
|
|
10
|
-
import './index-
|
|
11
|
-
import './index-Cq8NT9Hr.js';
|
|
9
|
+
import './index-BVj4fOL3.js';
|
|
10
|
+
import './index-9R2N835W.js';
|
|
12
11
|
|
|
13
12
|
const cleanObjectEmptyStringsValues = (obj) => {
|
|
14
13
|
const cleanArray = (arr) => arr.filter((item) => {
|
package/lib/hooks/index.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ export * from './useGenericForm';
|
|
|
9
9
|
export * from './useInstrumentationRuleFormData';
|
|
10
10
|
export * from './useKeyDown';
|
|
11
11
|
export * from './useOnClickOutside';
|
|
12
|
+
export * from './useSessionStorage';
|
|
12
13
|
export * from './useSourceFormData';
|
|
13
14
|
export * from './useSourceSelectionFormData';
|
|
14
15
|
export * from './useTimeAgo';
|
package/lib/hooks.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
export { u as useActionFormData, a as useClickNode, b as useClickNotification, c as useDataStreamFormData, d as useDestinationFormData, e as
|
|
2
|
-
export { u as useContainerSize, a as useCopy, b as useGenericForm, c as useInstrumentationRuleFormData, d as useKeyDown, e as useOnClickOutside, f as useTimeAgo, g as useTransition } from './useTransition-
|
|
1
|
+
export { u as useActionFormData, a as useClickNode, b as useClickNotification, c as useDataStreamFormData, d as useDestinationFormData, e as useSessionStorage, f as useSourceFormData, g as useSourceSelectionFormData } from './useSourceSelectionFormData-DqSNROtZ.js';
|
|
2
|
+
export { u as useContainerSize, a as useCopy, b as useGenericForm, c as useInstrumentationRuleFormData, d as useKeyDown, e as useOnClickOutside, f as useTimeAgo, g as useTransition } from './useTransition-D9f1CP9n.js';
|
|
3
3
|
import './types.js';
|
|
4
|
-
import './index-
|
|
4
|
+
import './index-CKOBXat_.js';
|
|
5
5
|
import 'react';
|
|
6
6
|
import 'styled-components';
|
|
7
|
-
import './index-mOgS3e5E.js';
|
|
8
7
|
import './index-BV85P9UP.js';
|
|
9
|
-
import './index-
|
|
8
|
+
import './index-BlZKWuxe.js';
|