@odigos/ui-kit 0.0.64 → 0.0.66
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/lib/components.js +8 -8
- package/lib/constants.js +1 -1
- package/lib/containers/index.d.ts +1 -0
- package/lib/containers/system-settings/index.d.ts +2 -2
- package/lib/containers.js +367 -25
- package/lib/functions.js +5 -5
- package/lib/hooks/useGenericForm.d.ts +1 -1
- package/lib/hooks.js +3 -3
- package/lib/icons.js +7 -15
- package/lib/{index-b44c0701.js → index-391844c6.js} +1 -1
- package/lib/{index-cfdd4195.js → index-42f40e7c.js} +3 -3
- package/lib/{index-4e685db0.js → index-50101bec.js} +1 -1
- package/lib/{index-23b2865d.js → index-58440c5c.js} +2 -2
- package/lib/{index-53f817d1.js → index-7074fb24.js} +2 -2
- package/lib/{index-ff8fcc81.js → index-acc7c7dd.js} +2 -2
- package/lib/{index-8dad36e5.js → index-bd48e6e2.js} +1 -1
- package/lib/{index-d78c60e1.js → index-c1df4281.js} +10 -2
- package/lib/{index-13d8ebb2.js → index-f2da9ad4.js} +5 -5
- package/lib/snippets.js +7 -7
- package/lib/store.js +1 -1
- package/lib/theme.js +1 -1
- package/lib/types/config/index.d.ts +27 -27
- package/lib/{useTransition-985cc4a8.js → useTransition-c2aef0e4.js} +12 -5
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.0.66](https://github.com/odigos-io/ui-kit/compare/ui-kit-v0.0.65...ui-kit-v0.0.66) (2025-07-22)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* allow null values ([#265](https://github.com/odigos-io/ui-kit/issues/265)) ([cd92ec8](https://github.com/odigos-io/ui-kit/commit/cd92ec89e84893d69a126300ce8e6a232852223e))
|
|
9
|
+
|
|
10
|
+
## [0.0.65](https://github.com/odigos-io/ui-kit/compare/ui-kit-v0.0.64...ui-kit-v0.0.65) (2025-07-21)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* close on save ([9579c54](https://github.com/odigos-io/ui-kit/commit/9579c5474b5bf960828a83286455523a9a0deaa1))
|
|
16
|
+
* props, and exports for system settings ([#263](https://github.com/odigos-io/ui-kit/issues/263)) ([7279e3c](https://github.com/odigos-io/ui-kit/commit/7279e3ca043de51a4e7cf659427284e563d810ec))
|
|
17
|
+
|
|
3
18
|
## [0.0.64](https://github.com/odigos-io/ui-kit/compare/ui-kit-v0.0.63...ui-kit-v0.0.64) (2025-07-21)
|
|
4
19
|
|
|
5
20
|
|
package/lib/components.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { B as Button } from './index-
|
|
2
|
-
export { A as AutocompleteInput, a as Badge, a6 as CenterThis, C as Checkbox, b as Code, c as ConditionDetails, D as DataCard, e as DataCardFieldTypes, d as DataCardFields, f as DataFinger, g as DataTab, h as DescribeRow, i as Divider, j as DocsButton, k as Drawer, m as DrawerFooter, l as DrawerHeader, n as Dropdown, E as ExtendArrow, F as FadeLoader, o as FieldError, p as FieldLabel, a5 as FlexColumn, a4 as FlexRow, H as Header, I as IconButton, q as IconGroup, r as IconTitleBadge, s as IconWrapped, t as IconsNav, u as ImageControlled, v as Input, w as InputList, x as InputTable, y as InteractiveTable, K as KeyValueInputsList, M as Modal, a9 as ModalBody, z as MonitorsCheckboxes, G as MonitorsIcons, N as NavigationButtons, J as NoDataFound, L as NotificationNote, a8 as Overlay, P as Popup, O as PopupForm, S as ScrollX, Q as SectionTitle, R as Segment, U as SelectionButton, V as SkeletonLoader, W as Status, X as Stepper, Y as TabList, aa as TableContainer, ab as TableTitleWrap, ac as TableWrap, Z as Tag, _ as Text, $ as TextArea, a0 as Toggle, T as ToggleCodeComponent, a1 as Tooltip, a2 as TraceLoader, a7 as VerticalScroll, a3 as WarningModal } from './index-
|
|
3
|
-
export { C as CancelWarning, D as DeleteWarning } from './index-
|
|
1
|
+
import { B as Button } from './index-f2da9ad4.js';
|
|
2
|
+
export { A as AutocompleteInput, a as Badge, a6 as CenterThis, C as Checkbox, b as Code, c as ConditionDetails, D as DataCard, e as DataCardFieldTypes, d as DataCardFields, f as DataFinger, g as DataTab, h as DescribeRow, i as Divider, j as DocsButton, k as Drawer, m as DrawerFooter, l as DrawerHeader, n as Dropdown, E as ExtendArrow, F as FadeLoader, o as FieldError, p as FieldLabel, a5 as FlexColumn, a4 as FlexRow, H as Header, I as IconButton, q as IconGroup, r as IconTitleBadge, s as IconWrapped, t as IconsNav, u as ImageControlled, v as Input, w as InputList, x as InputTable, y as InteractiveTable, K as KeyValueInputsList, M as Modal, a9 as ModalBody, z as MonitorsCheckboxes, G as MonitorsIcons, N as NavigationButtons, J as NoDataFound, L as NotificationNote, a8 as Overlay, P as Popup, O as PopupForm, S as ScrollX, Q as SectionTitle, R as Segment, U as SelectionButton, V as SkeletonLoader, W as Status, X as Stepper, Y as TabList, aa as TableContainer, ab as TableTitleWrap, ac as TableWrap, Z as Tag, _ as Text, $ as TextArea, a0 as Toggle, T as ToggleCodeComponent, a1 as Tooltip, a2 as TraceLoader, a7 as VerticalScroll, a3 as WarningModal } from './index-f2da9ad4.js';
|
|
3
|
+
export { C as CancelWarning, D as DeleteWarning } from './index-7074fb24.js';
|
|
4
4
|
import React, { createContext, Component, createElement } from 'react';
|
|
5
|
-
import { T as Theme } from './index-
|
|
5
|
+
import { T as Theme } from './index-bd48e6e2.js';
|
|
6
6
|
import 'styled-components';
|
|
7
|
-
import './index-
|
|
7
|
+
import './index-391844c6.js';
|
|
8
8
|
import './types.js';
|
|
9
9
|
import './index-5e5f7bda.js';
|
|
10
|
-
import './index-
|
|
11
|
-
import './index-
|
|
10
|
+
import './index-58440c5c.js';
|
|
11
|
+
import './index-50101bec.js';
|
|
12
12
|
import 'react-dom';
|
|
13
|
-
import './useTransition-
|
|
13
|
+
import './useTransition-c2aef0e4.js';
|
|
14
14
|
|
|
15
15
|
const ErrorBoundaryContext = createContext(null);
|
|
16
16
|
|
package/lib/constants.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { A as ACTION_OPTIONS, B as BUTTON_TEXTS, a as DEFAULT_DATA_STREAM_NAME, D as DISPLAY_LANGUAGES, b as DISPLAY_TITLES, F as FORM_ALERTS, I as INSTRUMENTATION_RULE_OPTIONS, L as LANGUAGE_OPTIONS, M as MONITORS_OPTIONS, S as STORAGE_KEYS } from './index-
|
|
1
|
+
export { A as ACTION_OPTIONS, B as BUTTON_TEXTS, a as DEFAULT_DATA_STREAM_NAME, D as DISPLAY_LANGUAGES, b as DISPLAY_TITLES, F as FORM_ALERTS, I as INSTRUMENTATION_RULE_OPTIONS, L as LANGUAGE_OPTIONS, M as MONITORS_OPTIONS, S as STORAGE_KEYS } from './index-bd48e6e2.js';
|
|
2
2
|
export { D as DESTINATION_CATEGORIES } from './index-1cb4f9e2.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import './types.js';
|
|
@@ -34,6 +34,7 @@ export * from './source-modal';
|
|
|
34
34
|
export * from './source-selection-form';
|
|
35
35
|
export * from './source-table';
|
|
36
36
|
export * from './system-overview';
|
|
37
|
+
export * from './system-settings';
|
|
37
38
|
export * from './table-cell-conditions';
|
|
38
39
|
export * from './toast-list';
|
|
39
40
|
export * from './toggle-dark-mode';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { type FC } from 'react';
|
|
2
2
|
import type { OdigosConfig } from '@/types';
|
|
3
3
|
interface SystemSettingsProps {
|
|
4
|
-
|
|
5
|
-
onSave: (payload: OdigosConfig) => void
|
|
4
|
+
fetchSettings: () => Promise<OdigosConfig | undefined>;
|
|
5
|
+
onSave: (payload: OdigosConfig) => Promise<void>;
|
|
6
6
|
}
|
|
7
7
|
declare const SystemSettings: FC<SystemSettingsProps>;
|
|
8
8
|
export { SystemSettings, type SystemSettingsProps };
|
package/lib/containers.js
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import React, { useState, useEffect, forwardRef, useRef, useImperativeHandle, useMemo, Fragment, useCallback, Children } from 'react';
|
|
2
2
|
import styled, { css } from 'styled-components';
|
|
3
|
-
import { b as DISPLAY_TITLES, T as Theme, U as usePendingStore, V as useNotificationStore, O as useDrawerStore, B as BUTTON_TEXTS, W as useEntityStore, A as ACTION_OPTIONS, g as getActionIcon, z as useModalStore, F as FORM_ALERTS, X as useFilterStore, D as DISPLAY_LANGUAGES, M as MONITORS_OPTIONS, d as getInstrumentationRuleIcon, Y as useDataStreamStore, Z as useInstrumentStore, c as getEntityId, S as STORAGE_KEYS, a as DEFAULT_DATA_STREAM_NAME, _ as useSetupStore, e as getProgrammingLanguageIcon, I as INSTRUMENTATION_RULE_OPTIONS, $ as useSelectedStore,
|
|
4
|
-
import { ActionType, ActionKeyTypes, InputTypes, FieldTypes, EntityTypes, StatusType, Crud, OtherStatus, NodeTypes, EdgeTypes, AddNodeTypes, SignalType, HeadersCollectionKeyTypes, CustomInstrumentationsKeyTypes, CodeAttributesKeyTypes, PayloadCollectionKeyTypes, InstrumentationRuleType, K8sResourceKind } from './types.js';
|
|
5
|
-
import { e as DataCardFieldTypes, p as FieldLabel, C as Checkbox, o as FieldError, v as Input, x as InputTable, K as KeyValueInputsList, w as InputList, _ as Text, R as Segment, Q as SectionTitle, j as DocsButton, z as MonitorsCheckboxes, $ as TextArea, k as Drawer, c as ConditionDetails, D as DataCard, a5 as FlexColumn, M as Modal, N as NavigationButtons, a9 as ModalBody, L as NotificationNote, A as AutocompleteInput, i as Divider, W as Status, a4 as FlexRow, a1 as Tooltip, s as IconWrapped, G as MonitorsIcons, aa as TableContainer, ab as TableTitleWrap, r as IconTitleBadge, ac as TableWrap, y as InteractiveTable, a6 as CenterThis, J as NoDataFound, a2 as TraceLoader, a as Badge, E as ExtendArrow, a7 as VerticalScroll, U as SelectionButton, B as Button, n as Dropdown, ad as nodeConfig, ae as useNodesState, af as useEdgesState, ag as Flow, ah as applyNodeChanges, P as Popup, a0 as Toggle, I as IconButton, ai as AddButton, F as FadeLoader, g as DataTab, X as Stepper, d as DataCardFields, Z as Tag, aj as MarkerType, t as IconsNav, ak as CopyText, h as DescribeRow, al as PodContainer, am as SourceContainer, q as IconGroup, O as PopupForm } from './index-
|
|
3
|
+
import { b as DISPLAY_TITLES, T as Theme, U as usePendingStore, V as useNotificationStore, O as useDrawerStore, B as BUTTON_TEXTS, W as useEntityStore, A as ACTION_OPTIONS, g as getActionIcon, z as useModalStore, F as FORM_ALERTS, X as useFilterStore, D as DISPLAY_LANGUAGES, M as MONITORS_OPTIONS, d as getInstrumentationRuleIcon, Y as useDataStreamStore, Z as useInstrumentStore, c as getEntityId, S as STORAGE_KEYS, a as DEFAULT_DATA_STREAM_NAME, _ as useSetupStore, e as getProgrammingLanguageIcon, I as INSTRUMENTATION_RULE_OPTIONS, $ as useSelectedStore, j as ImageErrorIcon, a0 as useDarkMode } from './index-bd48e6e2.js';
|
|
4
|
+
import { ActionType, ActionKeyTypes, InputTypes, FieldTypes, EntityTypes, StatusType, Crud, OtherStatus, NodeTypes, EdgeTypes, AddNodeTypes, SignalType, HeadersCollectionKeyTypes, CustomInstrumentationsKeyTypes, CodeAttributesKeyTypes, PayloadCollectionKeyTypes, InstrumentationRuleType, K8sResourceKind, UiMode, ProgrammingLanguages, MountMethod, AgentEnvVarsInjectionMethod, Profile } from './types.js';
|
|
5
|
+
import { e as DataCardFieldTypes, p as FieldLabel, C as Checkbox, o as FieldError, v as Input, x as InputTable, K as KeyValueInputsList, w as InputList, _ as Text, R as Segment, Q as SectionTitle, j as DocsButton, z as MonitorsCheckboxes, $ as TextArea, k as Drawer, c as ConditionDetails, D as DataCard, a5 as FlexColumn, M as Modal, N as NavigationButtons, a9 as ModalBody, L as NotificationNote, A as AutocompleteInput, i as Divider, W as Status, a4 as FlexRow, a1 as Tooltip, s as IconWrapped, G as MonitorsIcons, aa as TableContainer, ab as TableTitleWrap, r as IconTitleBadge, ac as TableWrap, y as InteractiveTable, a6 as CenterThis, J as NoDataFound, a2 as TraceLoader, a as Badge, E as ExtendArrow, a7 as VerticalScroll, U as SelectionButton, B as Button, n as Dropdown, ad as nodeConfig, ae as useNodesState, af as useEdgesState, ag as Flow, ah as applyNodeChanges, P as Popup, a0 as Toggle, I as IconButton, ai as AddButton, F as FadeLoader, g as DataTab, X as Stepper, d as DataCardFields, Z as Tag, aj as MarkerType, t as IconsNav, ak as CopyText, h as DescribeRow, al as PodContainer, am as SourceContainer, q as IconGroup, O as PopupForm } from './index-f2da9ad4.js';
|
|
6
6
|
import { i as isEmpty, s as safeJsonParse, d as deepClone } from './index-5e5f7bda.js';
|
|
7
|
-
import { C as CheckCircledIcon, O as OdigosLogo } from './index-
|
|
8
|
-
import { C as CrossCircledIcon, O as OdigosLogoText, a as OverviewIcon, F as FilterIcon, D as DataStreamsIcon, A as ArrowIcon, R as RefreshLeftArrowIcon, N as NotificationIcon, U as UserIcon, S as SlackLogo, K as KeyIcon, T as TerminalIcon } from './index-
|
|
7
|
+
import { C as CheckCircledIcon, O as OdigosLogo } from './index-50101bec.js';
|
|
8
|
+
import { C as CrossCircledIcon, O as OdigosLogoText, a as OverviewIcon, F as FilterIcon, D as DataStreamsIcon, A as ArrowIcon, R as RefreshLeftArrowIcon, N as NotificationIcon, U as UserIcon, S as SlackLogo, K as KeyIcon, T as TerminalIcon, G as GearIcon } from './index-c1df4281.js';
|
|
9
9
|
import { useActionFormData, useSessionStorage, useDataStreamFormData, useDestinationFormData, useClickNotification, useSourceFormData, useSourceSelectionFormData } from './hooks.js';
|
|
10
|
-
import { u as useKeyDown, a as useOnClickOutside, b as useContainerSize, c as useClickNode, d as usePopup, e as useInstrumentationRuleFormData, f as useTransition, g as useTimeAgo, h as useCopy, i as useGenericForm } from './useTransition-
|
|
11
|
-
import { E as EditIcon, T as TrashIcon, S as SearchIcon, h as CheckIcon, P as PlusIcon, a as CopyIcon } from './index-
|
|
12
|
-
import { D as DeleteWarning, C as CancelWarning } from './index-
|
|
13
|
-
import { g as getConditionsBooleans, m as mapConditions, b as getStatusIcon, h as splitCamelString, c as capitalizeFirstLetter, i as isStringABoolean, p as parseBooleanFromString } from './index-
|
|
14
|
-
import { f as filterActions, l as getEntityLabel, k as getEntityIcon, v as sleep, n as getPlatformIcon, o as getPlatformLabel, g as formatBytes, i as getContainersIcons, p as getValueForRange, j as getDestinationIcon, e as filterSourcesByStream, d as filterSources, b as filterDestinationsByStream, a as filterDestinations, u as mapDestinationFieldsForDisplay, c as compareCondition, r as getYamlFieldsForDestination, m as getMetricForEntity, q as getWorkloadId, s as hasUnhealthyInstances, h as getContainersInstrumentedCount, t as isOverTime } from './index-
|
|
10
|
+
import { u as useKeyDown, a as useOnClickOutside, b as useContainerSize, c as useClickNode, d as usePopup, e as useInstrumentationRuleFormData, f as useTransition, g as useTimeAgo, h as useCopy, i as useGenericForm } from './useTransition-c2aef0e4.js';
|
|
11
|
+
import { E as EditIcon, T as TrashIcon, S as SearchIcon, h as CheckIcon, P as PlusIcon, a as CopyIcon } from './index-391844c6.js';
|
|
12
|
+
import { D as DeleteWarning, C as CancelWarning } from './index-7074fb24.js';
|
|
13
|
+
import { g as getConditionsBooleans, m as mapConditions, b as getStatusIcon, h as splitCamelString, c as capitalizeFirstLetter, i as isStringABoolean, p as parseBooleanFromString } from './index-58440c5c.js';
|
|
14
|
+
import { f as filterActions, l as getEntityLabel, k as getEntityIcon, v as sleep, n as getPlatformIcon, o as getPlatformLabel, g as formatBytes, i as getContainersIcons, p as getValueForRange, j as getDestinationIcon, e as filterSourcesByStream, d as filterSources, b as filterDestinationsByStream, a as filterDestinations, u as mapDestinationFieldsForDisplay, c as compareCondition, r as getYamlFieldsForDestination, m as getMetricForEntity, q as getWorkloadId, s as hasUnhealthyInstances, h as getContainersInstrumentedCount, t as isOverTime } from './index-42f40e7c.js';
|
|
15
15
|
import { m as mapExportedSignals } from './index-6a6bea6e.js';
|
|
16
16
|
import { NoteBackToSummary, EditButton } from './snippets.js';
|
|
17
17
|
import { D as DESTINATION_CATEGORIES } from './index-1cb4f9e2.js';
|
|
18
|
-
import { a6 as RulesIcon,
|
|
18
|
+
import { a6 as RulesIcon, a7 as SourcesIcon, a3 as ActionsIcon, a4 as DestinationsIcon } from './index-acc7c7dd.js';
|
|
19
19
|
import 'react-dom';
|
|
20
20
|
|
|
21
21
|
const buildCard$3 = (action) => {
|
|
@@ -677,7 +677,7 @@ const FormContainer$4 = styled.div `
|
|
|
677
677
|
overflow: overlay;
|
|
678
678
|
overflow-y: auto;
|
|
679
679
|
`;
|
|
680
|
-
const DataContainer$
|
|
680
|
+
const DataContainer$4 = styled.div `
|
|
681
681
|
display: flex;
|
|
682
682
|
flex-direction: column;
|
|
683
683
|
gap: 12px;
|
|
@@ -732,7 +732,7 @@ const ActionDrawer = ({ updateAction, deleteAction }) => {
|
|
|
732
732
|
React.createElement(ActionForm, { isUpdate: true, action: thisOptionType, formData: formData, formErrors: formErrors, handleFormChange: (...params) => {
|
|
733
733
|
setIsFormDirty(true);
|
|
734
734
|
handleFormChange(...params);
|
|
735
|
-
} }))) : (React.createElement(DataContainer$
|
|
735
|
+
} }))) : (React.createElement(DataContainer$4, null,
|
|
736
736
|
React.createElement(ConditionDetails, { conditions: thisItem.conditions || [] }),
|
|
737
737
|
React.createElement(DataCard, { title: DISPLAY_TITLES.ACTION_DETAILS, data: !!thisItem ? buildCard$3(thisItem) : [] })))));
|
|
738
738
|
};
|
|
@@ -2508,7 +2508,7 @@ const FormContainer$2 = styled.div `
|
|
|
2508
2508
|
overflow: overlay;
|
|
2509
2509
|
overflow-y: auto;
|
|
2510
2510
|
`;
|
|
2511
|
-
const DataContainer$
|
|
2511
|
+
const DataContainer$3 = styled.div `
|
|
2512
2512
|
display: flex;
|
|
2513
2513
|
flex-direction: column;
|
|
2514
2514
|
gap: 12px;
|
|
@@ -2573,7 +2573,7 @@ const DestinationDrawer = ({ categories, updateDestination, deleteDestination, t
|
|
|
2573
2573
|
}, dynamicFields: dynamicFields, setDynamicFields: (...params) => {
|
|
2574
2574
|
setIsFormDirty(true);
|
|
2575
2575
|
setDynamicFields(...params);
|
|
2576
|
-
}, validateForm: validateForm, testConnection: testConnection }))) : (React.createElement(DataContainer$
|
|
2576
|
+
}, validateForm: validateForm, testConnection: testConnection }))) : (React.createElement(DataContainer$3, null,
|
|
2577
2577
|
thisItem.conditions?.length ? React.createElement(ConditionDetails, { conditions: thisItem.conditions }) : null,
|
|
2578
2578
|
React.createElement(DataCard, { title: DISPLAY_TITLES.DESTINATION_DETAILS, data: !!thisItem ? buildCard$2(thisItem, yamlFields) : [] })))));
|
|
2579
2579
|
};
|
|
@@ -4286,7 +4286,7 @@ const FormContainer = styled.div `
|
|
|
4286
4286
|
overflow: overlay;
|
|
4287
4287
|
overflow-y: auto;
|
|
4288
4288
|
`;
|
|
4289
|
-
const DataContainer$
|
|
4289
|
+
const DataContainer$2 = styled.div `
|
|
4290
4290
|
display: flex;
|
|
4291
4291
|
flex-direction: column;
|
|
4292
4292
|
gap: 12px;
|
|
@@ -4375,7 +4375,7 @@ const SourceDrawer = ({ persistSources, updateSource, fetchDescribeSource, resta
|
|
|
4375
4375
|
setIsFormDirty(true);
|
|
4376
4376
|
handleFormChange(...params);
|
|
4377
4377
|
handleFormChange('currentStreamName', selectedStreamName);
|
|
4378
|
-
} }))) : (React.createElement(DataContainer$
|
|
4378
|
+
} }))) : (React.createElement(DataContainer$2, null,
|
|
4379
4379
|
React.createElement(ConditionDetails, { conditions: thisItem.conditions || [] }),
|
|
4380
4380
|
React.createElement(DataCard, { title: DISPLAY_TITLES.SOURCE_DETAILS, data: !!thisItem ? buildCard(thisItem) : [] }),
|
|
4381
4381
|
React.createElement(DataCard, { title: DISPLAY_TITLES.DETECTED_CONTAINERS, titleBadge: containersData.isLoading ? OtherStatus.Loading : containersData.containers.length, description: containersData.description || DISPLAY_TITLES.DETECTED_CONTAINERS_DESCRIPTION }, containersData.containers.map((container) => (React.createElement(SourceContainer, { key: `source-container-${container.containerName}`, ...container, callbackRuntimeOverride: async (payload) => await updateSource(drawerEntityId, payload) }))))))) : (React.createElement(Describe$1, { source: thisItem, fetchDescribeSource: fetchDescribeSource }))));
|
|
@@ -4699,30 +4699,372 @@ const Describe = ({ fetchDescribeOdigos }) => {
|
|
|
4699
4699
|
React.createElement(DataCard, { title: 'Node Collector', withExtend: true }, Object.values(describe?.nodeCollector || {}).map(mapObjectToCardChildren))));
|
|
4700
4700
|
};
|
|
4701
4701
|
|
|
4702
|
-
const DataContainer = styled.div `
|
|
4702
|
+
const DataContainer$1 = styled.div `
|
|
4703
4703
|
display: flex;
|
|
4704
4704
|
flex-direction: column;
|
|
4705
4705
|
gap: 12px;
|
|
4706
4706
|
`;
|
|
4707
|
-
const DRAWER_WIDTH = '750px';
|
|
4708
|
-
const TITLE_TEXT = 'System Overview';
|
|
4707
|
+
const DRAWER_WIDTH$1 = '750px';
|
|
4708
|
+
const TITLE_TEXT$1 = 'System Overview';
|
|
4709
4709
|
const SystemOverview = ({ tokens, saveToken, fetchDescribeOdigos }) => {
|
|
4710
4710
|
const [isOpen, setIsOpen] = useState(false);
|
|
4711
4711
|
const toggleOpen = () => setIsOpen((prev) => !prev);
|
|
4712
4712
|
return (React.createElement(React.Fragment, null,
|
|
4713
|
-
React.createElement(IconButton, { key: TITLE_TEXT, onClick: toggleOpen, tooltip: TITLE_TEXT },
|
|
4713
|
+
React.createElement(IconButton, { key: TITLE_TEXT$1, onClick: toggleOpen, tooltip: TITLE_TEXT$1 },
|
|
4714
4714
|
React.createElement(TerminalIcon, { size: 18 })),
|
|
4715
|
-
React.createElement(Drawer, { width: DRAWER_WIDTH, isOpen: isOpen, onClose: toggleOpen, header: {
|
|
4715
|
+
React.createElement(Drawer, { width: DRAWER_WIDTH$1, isOpen: isOpen, onClose: toggleOpen, header: {
|
|
4716
4716
|
icons: [TerminalIcon],
|
|
4717
|
-
title: TITLE_TEXT,
|
|
4717
|
+
title: TITLE_TEXT$1,
|
|
4718
4718
|
}, footer: {
|
|
4719
4719
|
isOpen: false,
|
|
4720
4720
|
} },
|
|
4721
|
-
React.createElement(DataContainer, null,
|
|
4721
|
+
React.createElement(DataContainer$1, null,
|
|
4722
4722
|
!!tokens?.length && React.createElement(Tokens, { tokens: tokens, saveToken: saveToken }),
|
|
4723
4723
|
React.createElement(Describe, { fetchDescribeOdigos: fetchDescribeOdigos })))));
|
|
4724
4724
|
};
|
|
4725
4725
|
|
|
4726
|
+
const Card = styled.div `
|
|
4727
|
+
align-self: stretch;
|
|
4728
|
+
display: flex;
|
|
4729
|
+
flex-direction: column;
|
|
4730
|
+
align-items: flex-start;
|
|
4731
|
+
gap: 16px;
|
|
4732
|
+
padding: 16px;
|
|
4733
|
+
border-radius: 24px;
|
|
4734
|
+
background: ${({ theme }) => theme.colors.secondary + Theme.opacity.hex['004']};
|
|
4735
|
+
`;
|
|
4736
|
+
const CardTitle = styled(Text) `
|
|
4737
|
+
color: ${({ theme }) => theme.text.secondary};
|
|
4738
|
+
font-size: 18px;
|
|
4739
|
+
font-weight: 600;
|
|
4740
|
+
line-height: 20px;
|
|
4741
|
+
`;
|
|
4742
|
+
|
|
4743
|
+
const UI_MODE_OPTIONS = [
|
|
4744
|
+
{ id: UiMode.Default, value: 'Default' },
|
|
4745
|
+
{ id: UiMode.ReadOnly, value: 'Read Only' },
|
|
4746
|
+
];
|
|
4747
|
+
const INSTRUMENTATION_LANG_OPTIONS = [
|
|
4748
|
+
{
|
|
4749
|
+
id: ProgrammingLanguages.Go,
|
|
4750
|
+
value: DISPLAY_LANGUAGES[ProgrammingLanguages.Go],
|
|
4751
|
+
icon: getProgrammingLanguageIcon(ProgrammingLanguages.Go),
|
|
4752
|
+
},
|
|
4753
|
+
{
|
|
4754
|
+
id: ProgrammingLanguages.JavaScript,
|
|
4755
|
+
value: DISPLAY_LANGUAGES[ProgrammingLanguages.JavaScript],
|
|
4756
|
+
icon: getProgrammingLanguageIcon(ProgrammingLanguages.JavaScript),
|
|
4757
|
+
},
|
|
4758
|
+
{
|
|
4759
|
+
id: ProgrammingLanguages.Python,
|
|
4760
|
+
value: DISPLAY_LANGUAGES[ProgrammingLanguages.Python],
|
|
4761
|
+
icon: getProgrammingLanguageIcon(ProgrammingLanguages.Python),
|
|
4762
|
+
},
|
|
4763
|
+
{
|
|
4764
|
+
id: ProgrammingLanguages.Java,
|
|
4765
|
+
value: DISPLAY_LANGUAGES[ProgrammingLanguages.Java],
|
|
4766
|
+
icon: getProgrammingLanguageIcon(ProgrammingLanguages.Java),
|
|
4767
|
+
},
|
|
4768
|
+
{
|
|
4769
|
+
id: ProgrammingLanguages.Php,
|
|
4770
|
+
value: DISPLAY_LANGUAGES[ProgrammingLanguages.Php],
|
|
4771
|
+
icon: getProgrammingLanguageIcon(ProgrammingLanguages.Php),
|
|
4772
|
+
},
|
|
4773
|
+
{
|
|
4774
|
+
id: ProgrammingLanguages.Ruby,
|
|
4775
|
+
value: DISPLAY_LANGUAGES[ProgrammingLanguages.Ruby],
|
|
4776
|
+
icon: getProgrammingLanguageIcon(ProgrammingLanguages.Ruby),
|
|
4777
|
+
},
|
|
4778
|
+
{
|
|
4779
|
+
id: ProgrammingLanguages.DotNet,
|
|
4780
|
+
value: DISPLAY_LANGUAGES[ProgrammingLanguages.DotNet],
|
|
4781
|
+
icon: getProgrammingLanguageIcon(ProgrammingLanguages.DotNet),
|
|
4782
|
+
},
|
|
4783
|
+
];
|
|
4784
|
+
const MOUNT_METHOD_OPTIONS = [
|
|
4785
|
+
{ id: MountMethod.VirtualDevice, value: 'Virtual Device' },
|
|
4786
|
+
{ id: MountMethod.HostPath, value: 'Host Path' },
|
|
4787
|
+
// { id: MountMethod.InitContainer, value: 'Init Container' },
|
|
4788
|
+
];
|
|
4789
|
+
const AGENT_ENV_VARS_INJECTION_METHOD_OPTIONS = [
|
|
4790
|
+
{ id: AgentEnvVarsInjectionMethod.Loader, value: 'Loader' },
|
|
4791
|
+
{ id: AgentEnvVarsInjectionMethod.PodManifest, value: 'Pod Manifest' },
|
|
4792
|
+
{ id: AgentEnvVarsInjectionMethod.LoaderFallbackToPodManifest, value: 'Loader Fallback to Pod Manifest' },
|
|
4793
|
+
];
|
|
4794
|
+
const PROFILE_OPTIONS = [
|
|
4795
|
+
// { id: Profile.CategoryAttributes, value: 'Category Attributes' },
|
|
4796
|
+
{ id: Profile.CodeAttributes, value: 'Code Attributes' },
|
|
4797
|
+
// { id: Profile.CopyScope, value: 'Copy Scope' },
|
|
4798
|
+
// { id: Profile.HostnameAsPodname, value: 'Hostname as Podname' },
|
|
4799
|
+
{ id: Profile.FullPayloadCollection, value: 'Full Payload Collection' },
|
|
4800
|
+
{ id: Profile.DbPayloadCollection, value: 'DB Payload Collection' },
|
|
4801
|
+
{ id: Profile.QueryOperationDetector, value: 'Query Operation Detector' },
|
|
4802
|
+
// { id: Profile.Semconv, value: 'Semconv' },
|
|
4803
|
+
// { id: Profile.ReduceSpanNameCardinality, value: 'Reduce Span Name Cardinality' },
|
|
4804
|
+
{ id: Profile.AllowConcurrentAgents, value: 'Allow Concurrent Agents' },
|
|
4805
|
+
{ id: Profile.JavaEbpfInstrumentations, value: 'Java EBPF Instrumentations' },
|
|
4806
|
+
{ id: Profile.JavaNativeInstrumentations, value: 'Java Native Instrumentations' },
|
|
4807
|
+
// { id: Profile.LegacyDotnetInstrumentation, value: 'Legacy .NET Instrumentation' },
|
|
4808
|
+
// { id: Profile.MountMethodK8sHostPath, value: 'Mount Method K8s Host Path' },
|
|
4809
|
+
// { id: Profile.MountMethodK8sVirtualDevice, value: 'Mount Method K8s Virtual Device' },
|
|
4810
|
+
// { id: Profile.PodManifestEnvVarInjection, value: 'Pod Manifest Env Var Injection' },
|
|
4811
|
+
// { id: Profile.DisableGin, value: 'Disable Gin' },
|
|
4812
|
+
// { id: Profile.SmallBatches, value: 'Small Batches' },
|
|
4813
|
+
{ id: Profile.SizeS, value: 'Size S' },
|
|
4814
|
+
{ id: Profile.SizeM, value: 'Size M' },
|
|
4815
|
+
{ id: Profile.SizeL, value: 'Size L' },
|
|
4816
|
+
];
|
|
4817
|
+
|
|
4818
|
+
const UiSettings = ({ formData, handleFormChange }) => {
|
|
4819
|
+
return (React.createElement(Card, null,
|
|
4820
|
+
React.createElement(CardTitle, null, "UI"),
|
|
4821
|
+
React.createElement(Dropdown, { title: 'UI Mode', tooltip: 'Mode of the UI - default or readonly', options: UI_MODE_OPTIONS, value: formData.uiMode ? UI_MODE_OPTIONS.find((option) => option.id === formData.uiMode) : undefined, onSelect: (option) => handleFormChange('uiMode', option.id) }),
|
|
4822
|
+
React.createElement(Input, { title: 'UI Pagination Limit', tooltip: 'Pagination limit for UI paginated fetching', type: 'number', value: formData.uiPaginationLimit?.toString() || '', onChange: (e) => {
|
|
4823
|
+
const { value } = e.target;
|
|
4824
|
+
handleFormChange('uiPaginationLimit', value === '' ? null : Number(value));
|
|
4825
|
+
} }),
|
|
4826
|
+
React.createElement(Input, { title: 'Central Backend URL', tooltip: 'URL of the central backend', value: formData.centralBackendURL || '', onChange: (e) => {
|
|
4827
|
+
const { value } = e.target;
|
|
4828
|
+
handleFormChange('centralBackendURL', value || null);
|
|
4829
|
+
} }),
|
|
4830
|
+
React.createElement(Input, { title: 'OIDC Tenant URL', tooltip: 'URL of the OIDC tenant', value: formData.oidc?.tenantUrl || '', onChange: (e) => {
|
|
4831
|
+
const { value } = e.target;
|
|
4832
|
+
handleFormChange('oidc.tenantUrl', value || null);
|
|
4833
|
+
} }),
|
|
4834
|
+
React.createElement(Input, { title: 'OIDC Client ID', tooltip: 'Client ID of the OIDC application', value: formData.oidc?.clientId || '', onChange: (e) => {
|
|
4835
|
+
const { value } = e.target;
|
|
4836
|
+
handleFormChange('oidc.clientId', value || null);
|
|
4837
|
+
} }),
|
|
4838
|
+
React.createElement(Input, { title: 'OIDC Client Secret', tooltip: 'Client Secret of the OIDC application', type: 'password', value: formData.oidc?.clientSecret || '', onChange: (e) => {
|
|
4839
|
+
const { value } = e.target;
|
|
4840
|
+
handleFormChange('oidc.clientSecret', value || null);
|
|
4841
|
+
} })));
|
|
4842
|
+
};
|
|
4843
|
+
|
|
4844
|
+
const OtherSettings = ({ formData, handleFormChange }) => {
|
|
4845
|
+
return (React.createElement(Card, null,
|
|
4846
|
+
React.createElement(CardTitle, null, "Other"),
|
|
4847
|
+
React.createElement(Toggle, { title: 'Telemetry Enabled', tooltip: 'Enable anonymous telemetry collection', initialValue: formData.telemetryEnabled || false, onChange: (bool) => handleFormChange('telemetryEnabled', bool) }),
|
|
4848
|
+
React.createElement(Toggle, { title: 'OpenShift Enabled', tooltip: 'Enable OpenShift-specific features', initialValue: formData.openshiftEnabled || false, onChange: (bool) => handleFormChange('openshiftEnabled', bool) }),
|
|
4849
|
+
React.createElement(Toggle, { title: 'Karpenter Enabled', tooltip: 'Enable Karpenter support', initialValue: formData.karpenterEnabled || false, onChange: (bool) => handleFormChange('karpenterEnabled', bool) }),
|
|
4850
|
+
React.createElement(Toggle, { title: 'PSP Enabled', tooltip: 'Enable Pod Security Policy support', initialValue: formData.psp || false, onChange: (bool) => handleFormChange('psp', bool) }),
|
|
4851
|
+
React.createElement(Toggle, { title: 'Allow Concurrent Agents', tooltip: 'Allow concurrent running agents', initialValue: formData.allowConcurrentAgents || false, onChange: (bool) => handleFormChange('allowConcurrentAgents', bool) }),
|
|
4852
|
+
React.createElement(Toggle, { title: 'Skip Webhook Issuer Creation', tooltip: 'Skip creation of the webhook issuer', initialValue: formData.skipWebhookIssuerCreation || false, onChange: (bool) => handleFormChange('skipWebhookIssuerCreation', bool) }),
|
|
4853
|
+
React.createElement(Toggle, { title: 'Automatic Rollout Disabled', tooltip: 'Disable automatic rollout of pods after instrumentation', initialValue: formData.rollout?.automaticRolloutDisabled || false, onChange: (bool) => handleFormChange('rollout.automaticRolloutDisabled', bool) }),
|
|
4854
|
+
React.createElement(Input, { title: 'Cluster Name', tooltip: 'Name of the cluster', value: formData.clusterName || '', onChange: (e) => {
|
|
4855
|
+
const { value } = e.target;
|
|
4856
|
+
handleFormChange('clusterName', value || null);
|
|
4857
|
+
} }),
|
|
4858
|
+
React.createElement(Input, { title: 'Image Prefix', tooltip: 'Image prefix for all Odigos components', value: formData.imagePrefix || '', onChange: (e) => {
|
|
4859
|
+
const { value } = e.target;
|
|
4860
|
+
handleFormChange('imagePrefix', value || null);
|
|
4861
|
+
} }),
|
|
4862
|
+
React.createElement(InputList, { title: 'Ignored Namespaces', tooltip: 'List of namespaces to exclude from instrumentation', value: formData.ignoredNamespaces || [], onChange: (arr) => handleFormChange('ignoredNamespaces', arr) }),
|
|
4863
|
+
React.createElement(InputList, { title: 'Ignored Containers', tooltip: 'List of container names to exclude from instrumentation', value: formData.ignoredContainers || [], onChange: (arr) => handleFormChange('ignoredContainers', arr) }),
|
|
4864
|
+
React.createElement(Dropdown, { title: 'Profiles', tooltip: 'Profiles to enable', isMulti: true, options: PROFILE_OPTIONS, value: PROFILE_OPTIONS.filter((option) => formData.profiles?.includes(option.id)), onSelect: (option) => handleFormChange('profiles', [...(formData.profiles || []), option.id]), onDeselect: (option) => handleFormChange('profiles', formData.profiles?.filter((p) => p !== option.id) || []) }),
|
|
4865
|
+
React.createElement(Dropdown, { title: 'Mount Method', tooltip: 'Method used to mount volume', options: MOUNT_METHOD_OPTIONS, value: MOUNT_METHOD_OPTIONS.find((option) => option.id === formData.mountMethod) || undefined, onSelect: (option) => handleFormChange('mountMethod', option.id) }),
|
|
4866
|
+
React.createElement(Dropdown, { title: 'Agent Env Vars Injection Method', tooltip: 'How to inject env vars into agents', options: AGENT_ENV_VARS_INJECTION_METHOD_OPTIONS, value: AGENT_ENV_VARS_INJECTION_METHOD_OPTIONS.find((option) => option.id === formData.agentEnvVarsInjectionMethod) || undefined, onSelect: (option) => handleFormChange('agentEnvVarsInjectionMethod', option.id) }),
|
|
4867
|
+
React.createElement(Input, { title: 'Custom Container Runtime Socket Path', tooltip: 'Path to the custom container runtime socket', value: formData.customContainerRuntimeSocketPath || '', onChange: (e) => {
|
|
4868
|
+
const { value } = e.target;
|
|
4869
|
+
handleFormChange('customContainerRuntimeSocketPath', value || null);
|
|
4870
|
+
} }),
|
|
4871
|
+
React.createElement(Input, { title: 'Odiglet Health Probe Bind Port', tooltip: 'Port to bind the health probe', type: 'number', value: formData.odigletHealthProbeBindPort?.toString() || '', onChange: (e) => {
|
|
4872
|
+
const { value } = e.target;
|
|
4873
|
+
handleFormChange('odigletHealthProbeBindPort', value === '' ? null : Number(value));
|
|
4874
|
+
} }),
|
|
4875
|
+
React.createElement(Toggle, { title: 'Rollback Disabled', tooltip: 'Disable rollback', initialValue: formData.rollbackDisabled || false, onChange: (bool) => handleFormChange('rollbackDisabled', bool) }),
|
|
4876
|
+
React.createElement(Input, { title: 'Rollback Grace Time', tooltip: 'Grace time for rollback', value: formData.rollbackGraceTime || '', onChange: (e) => {
|
|
4877
|
+
const { value } = e.target;
|
|
4878
|
+
handleFormChange('rollbackGraceTime', value || null);
|
|
4879
|
+
} }),
|
|
4880
|
+
React.createElement(Input, { title: 'Rollback Stability Window', tooltip: 'Stability window for rollback', value: formData.rollbackStabilityWindow || '', onChange: (e) => {
|
|
4881
|
+
const { value } = e.target;
|
|
4882
|
+
handleFormChange('rollbackStabilityWindow', value || null);
|
|
4883
|
+
} }),
|
|
4884
|
+
React.createElement(KeyValueInputsList, { title: 'Node Selector', value: Object.entries(formData.nodeSelector || {}).map(([key, value]) => ({
|
|
4885
|
+
key,
|
|
4886
|
+
value,
|
|
4887
|
+
})), onChange: (arr) => handleFormChange('nodeSelector', arr.reduce((acc, { key, value }) => ({
|
|
4888
|
+
...acc,
|
|
4889
|
+
[key]: value,
|
|
4890
|
+
}), {})) })));
|
|
4891
|
+
};
|
|
4892
|
+
|
|
4893
|
+
const CollectorNodeSettings = ({ formData, handleFormChange }) => {
|
|
4894
|
+
return (React.createElement(Card, null,
|
|
4895
|
+
React.createElement(CardTitle, null, "Collector Node"),
|
|
4896
|
+
React.createElement(Input, { title: 'Collector Own Metrics Port', tooltip: "Port for the collector's own Prometheus metrics", type: 'number', value: formData.collectorNode?.collectorOwnMetricsPort?.toString() || '', onChange: (e) => {
|
|
4897
|
+
const { value } = e.target;
|
|
4898
|
+
handleFormChange('collectorNode.collectorOwnMetricsPort', value === '' ? null : Number(value));
|
|
4899
|
+
} }),
|
|
4900
|
+
React.createElement(Input, { title: 'Request Memory (MB)', tooltip: 'Request memory for the collector node in Megabytes', type: 'number', value: formData.collectorNode?.requestMemoryMiB?.toString() || '', onChange: (e) => {
|
|
4901
|
+
const { value } = e.target;
|
|
4902
|
+
handleFormChange('collectorNode.requestMemoryMiB', value === '' ? null : Number(value));
|
|
4903
|
+
} }),
|
|
4904
|
+
React.createElement(Input, { title: 'Limit Memory (MB)', tooltip: 'Limit memory for the collector node in Megabytes', type: 'number', value: formData.collectorNode?.limitMemoryMiB?.toString() || '', onChange: (e) => {
|
|
4905
|
+
const { value } = e.target;
|
|
4906
|
+
handleFormChange('collectorNode.limitMemoryMiB', value === '' ? null : Number(value));
|
|
4907
|
+
} }),
|
|
4908
|
+
React.createElement(Input, { title: 'Request CPU (Millicores)', tooltip: 'Request CPU for the collector node in Millicores', type: 'number', value: formData.collectorNode?.requestCPUm?.toString() || '', onChange: (e) => {
|
|
4909
|
+
const { value } = e.target;
|
|
4910
|
+
handleFormChange('collectorNode.requestCPUm', value === '' ? null : Number(value));
|
|
4911
|
+
} }),
|
|
4912
|
+
React.createElement(Input, { title: 'Limit CPU (Millicores)', tooltip: 'Limit CPU for the collector node in Millicores', type: 'number', value: formData.collectorNode?.limitCPUm?.toString() || '', onChange: (e) => {
|
|
4913
|
+
const { value } = e.target;
|
|
4914
|
+
handleFormChange('collectorNode.limitCPUm', value === '' ? null : Number(value));
|
|
4915
|
+
} }),
|
|
4916
|
+
React.createElement(Input, { title: 'Memory Limiter Limit (MB)', tooltip: 'Memory limiter limit for the collector node in Megabytes', type: 'number', value: formData.collectorNode?.memoryLimiterLimitMiB?.toString() || '', onChange: (e) => {
|
|
4917
|
+
const { value } = e.target;
|
|
4918
|
+
handleFormChange('collectorNode.memoryLimiterLimitMiB', value === '' ? null : Number(value));
|
|
4919
|
+
} }),
|
|
4920
|
+
React.createElement(Input, { title: 'Memory Limiter Spike Limit (MB)', tooltip: 'Memory limiter spike limit for the collector node in Megabytes', type: 'number', value: formData.collectorNode?.memoryLimiterSpikeLimitMiB?.toString() || '', onChange: (e) => {
|
|
4921
|
+
const { value } = e.target;
|
|
4922
|
+
handleFormChange('collectorNode.memoryLimiterSpikeLimitMiB', value === '' ? null : Number(value));
|
|
4923
|
+
} }),
|
|
4924
|
+
React.createElement(Input, { title: 'Go Memory Limit (MB)', tooltip: 'Go memory limit for the collector node in Megabytes', type: 'number', value: formData.collectorNode?.goMemLimitMiB?.toString() || '', onChange: (e) => {
|
|
4925
|
+
const { value } = e.target;
|
|
4926
|
+
handleFormChange('collectorNode.goMemLimitMiB', value === '' ? null : Number(value));
|
|
4927
|
+
} }),
|
|
4928
|
+
React.createElement(Input, { title: 'K8s Node Logs Directory', tooltip: 'Target directory for K8s logs if `/var/log` is a symlink', value: formData.collectorNode?.k8sNodeLogsDirectory || '', onChange: (e) => {
|
|
4929
|
+
const { value } = e.target;
|
|
4930
|
+
handleFormChange('collectorNode.k8sNodeLogsDirectory', value || null);
|
|
4931
|
+
} })));
|
|
4932
|
+
};
|
|
4933
|
+
|
|
4934
|
+
const CollectorGatewaySettings = ({ formData, handleFormChange }) => {
|
|
4935
|
+
return (React.createElement(Card, null,
|
|
4936
|
+
React.createElement(CardTitle, null, "Collector Gateway"),
|
|
4937
|
+
React.createElement(Input, { title: 'Min. Replicas', tooltip: 'Minimum number of replicas for the collector gateway', type: 'number', value: formData.collectorGateway?.minReplicas?.toString() || '', onChange: (e) => {
|
|
4938
|
+
const { value } = e.target;
|
|
4939
|
+
handleFormChange('collectorGateway.minReplicas', value === '' ? null : Number(value));
|
|
4940
|
+
} }),
|
|
4941
|
+
React.createElement(Input, { title: 'Max. Replicas', tooltip: 'Maximum number of replicas for the collector gateway', type: 'number', value: formData.collectorGateway?.maxReplicas?.toString() || '', onChange: (e) => {
|
|
4942
|
+
const { value } = e.target;
|
|
4943
|
+
handleFormChange('collectorGateway.maxReplicas', value === '' ? null : Number(value));
|
|
4944
|
+
} }),
|
|
4945
|
+
React.createElement(Input, { title: 'Request Memory (MB)', tooltip: 'Request memory for the collector gateway in Megabytes', type: 'number', value: formData.collectorGateway?.requestMemoryMiB?.toString() || '', onChange: (e) => {
|
|
4946
|
+
const { value } = e.target;
|
|
4947
|
+
handleFormChange('collectorGateway.requestMemoryMiB', value === '' ? null : Number(value));
|
|
4948
|
+
} }),
|
|
4949
|
+
React.createElement(Input, { title: 'Limit Memory (MB)', tooltip: 'Limit memory for the collector gateway in Megabytes', type: 'number', value: formData.collectorGateway?.limitMemoryMiB?.toString() || '', onChange: (e) => {
|
|
4950
|
+
const { value } = e.target;
|
|
4951
|
+
handleFormChange('collectorGateway.limitMemoryMiB', value === '' ? null : Number(value));
|
|
4952
|
+
} }),
|
|
4953
|
+
React.createElement(Input, { title: 'Request CPU (Millicores)', tooltip: 'Request CPU for the collector gateway in Millicores', type: 'number', value: formData.collectorGateway?.requestCPUm?.toString() || '', onChange: (e) => {
|
|
4954
|
+
const { value } = e.target;
|
|
4955
|
+
handleFormChange('collectorGateway.requestCPUm', value === '' ? null : Number(value));
|
|
4956
|
+
} }),
|
|
4957
|
+
React.createElement(Input, { title: 'Limit CPU (Millicores)', tooltip: 'Limit CPU for the collector gateway in Millicores', type: 'number', value: formData.collectorGateway?.limitCPUm?.toString() || '', onChange: (e) => {
|
|
4958
|
+
const { value } = e.target;
|
|
4959
|
+
handleFormChange('collectorGateway.limitCPUm', value === '' ? null : Number(value));
|
|
4960
|
+
} }),
|
|
4961
|
+
React.createElement(Input, { title: 'Memory Limiter Limit (MB)', tooltip: 'Memory limiter limit for the collector gateway in Megabytes', type: 'number', value: formData.collectorGateway?.memoryLimiterLimitMiB?.toString() || '', onChange: (e) => {
|
|
4962
|
+
const { value } = e.target;
|
|
4963
|
+
handleFormChange('collectorGateway.memoryLimiterLimitMiB', value === '' ? null : Number(value));
|
|
4964
|
+
} }),
|
|
4965
|
+
React.createElement(Input, { title: 'Memory Limiter Spike Limit (MB)', tooltip: 'Memory limiter spike limit for the collector gateway in Megabytes', type: 'number', value: formData.collectorGateway?.memoryLimiterSpikeLimitMiB?.toString() || '', onChange: (e) => {
|
|
4966
|
+
const { value } = e.target;
|
|
4967
|
+
handleFormChange('collectorGateway.memoryLimiterSpikeLimitMiB', value === '' ? null : Number(value));
|
|
4968
|
+
} }),
|
|
4969
|
+
React.createElement(Input, { title: 'Go Memory Limit (MB)', tooltip: 'Go memory limit for the collector gateway in Megabytes', type: 'number', value: formData.collectorGateway?.goMemLimitMiB?.toString() || '', onChange: (e) => {
|
|
4970
|
+
const { value } = e.target;
|
|
4971
|
+
handleFormChange('collectorGateway.goMemLimitMiB', value === '' ? null : Number(value));
|
|
4972
|
+
} })));
|
|
4973
|
+
};
|
|
4974
|
+
|
|
4975
|
+
const UserInstrumentationEnvsSettings = ({ formData, handleFormChange }) => {
|
|
4976
|
+
return (React.createElement(Card, null,
|
|
4977
|
+
React.createElement(CardTitle, null, "User Instrumentation Environment Variables"),
|
|
4978
|
+
INSTRUMENTATION_LANG_OPTIONS.map(({ id, value, icon }) => (React.createElement(Card, { key: `${id}-card` },
|
|
4979
|
+
React.createElement(FlexRow, { "$gap": 8, "$alignItems": 'flex-start' },
|
|
4980
|
+
React.createElement(FlexRow, { "$gap": 8 },
|
|
4981
|
+
React.createElement(FlexRow, { "$gap": 8, style: { minWidth: '100px' } },
|
|
4982
|
+
React.createElement(IconWrapped, { icon: icon }),
|
|
4983
|
+
React.createElement(Text, { size: 14 }, value)),
|
|
4984
|
+
React.createElement(Tooltip, { text: 'enable/disable user instrumentation for this language' },
|
|
4985
|
+
React.createElement(Toggle, { initialValue: formData.userInstrumentationEnvs?.languages[id]?.enabled, onChange: (bool) => handleFormChange(`userInstrumentationEnvs.languages.${id}.enabled`, bool) }))),
|
|
4986
|
+
React.createElement(KeyValueInputsList, { inputMaxWidth: 220, disabled: !formData.userInstrumentationEnvs?.languages[id]?.enabled, value: Object.entries(formData.userInstrumentationEnvs?.languages[id]?.env || {}).map(([k, v]) => ({
|
|
4987
|
+
key: k,
|
|
4988
|
+
value: v,
|
|
4989
|
+
})), onChange: (rows) => {
|
|
4990
|
+
handleFormChange(`userInstrumentationEnvs.languages.${id}.env`, rows.reduce((acc, { key, value }) => ({
|
|
4991
|
+
...acc,
|
|
4992
|
+
[key]: value,
|
|
4993
|
+
}), {}));
|
|
4994
|
+
} })))))));
|
|
4995
|
+
};
|
|
4996
|
+
|
|
4997
|
+
const DataContainer = styled.div `
|
|
4998
|
+
display: flex;
|
|
4999
|
+
flex-direction: column;
|
|
5000
|
+
gap: 12px;
|
|
5001
|
+
`;
|
|
5002
|
+
const DRAWER_WIDTH = '750px';
|
|
5003
|
+
const TITLE_TEXT = 'System Settings';
|
|
5004
|
+
const SystemSettings = ({ fetchSettings, onSave }) => {
|
|
5005
|
+
const [settings, setSettings] = useState(undefined);
|
|
5006
|
+
const { formData, handleFormChange, resetFormData, isFormDirty } = useGenericForm(settings);
|
|
5007
|
+
useEffect(() => {
|
|
5008
|
+
fetchSettings().then(setSettings);
|
|
5009
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
5010
|
+
}, []);
|
|
5011
|
+
const [isSaving, setIsSaving] = useState(false);
|
|
5012
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
5013
|
+
const toggleOpen = () => setIsOpen((prev) => !prev);
|
|
5014
|
+
const [cancelWarningOpen, setCancelWarningOpen] = useState(false);
|
|
5015
|
+
const [cancelApproveCallback, setCancelApproveCallback] = useState(null);
|
|
5016
|
+
const handleWithCancelWarning = (callback) => {
|
|
5017
|
+
if (isFormDirty) {
|
|
5018
|
+
setCancelWarningOpen(true);
|
|
5019
|
+
setCancelApproveCallback(() => callback);
|
|
5020
|
+
}
|
|
5021
|
+
else {
|
|
5022
|
+
callback();
|
|
5023
|
+
}
|
|
5024
|
+
};
|
|
5025
|
+
return (React.createElement(React.Fragment, null,
|
|
5026
|
+
React.createElement(IconButton, { key: TITLE_TEXT, onClick: toggleOpen, tooltip: TITLE_TEXT },
|
|
5027
|
+
React.createElement(GearIcon, { size: 18 })),
|
|
5028
|
+
React.createElement(Drawer, { width: DRAWER_WIDTH, isOpen: isOpen, onClose: () => handleWithCancelWarning(toggleOpen), header: {
|
|
5029
|
+
icons: [GearIcon],
|
|
5030
|
+
title: TITLE_TEXT,
|
|
5031
|
+
}, footer: {
|
|
5032
|
+
isOpen: isFormDirty,
|
|
5033
|
+
centerButtons: [
|
|
5034
|
+
{
|
|
5035
|
+
'data-id': 'drawer-cancel',
|
|
5036
|
+
variant: 'secondary',
|
|
5037
|
+
onClick: () => handleWithCancelWarning(resetFormData),
|
|
5038
|
+
children: BUTTON_TEXTS.CANCEL,
|
|
5039
|
+
},
|
|
5040
|
+
{
|
|
5041
|
+
'data-id': 'drawer-save',
|
|
5042
|
+
variant: 'primary',
|
|
5043
|
+
onClick: async () => {
|
|
5044
|
+
setIsSaving(true);
|
|
5045
|
+
await onSave(formData);
|
|
5046
|
+
setSettings(await fetchSettings());
|
|
5047
|
+
setIsSaving(false);
|
|
5048
|
+
toggleOpen();
|
|
5049
|
+
},
|
|
5050
|
+
children: BUTTON_TEXTS.SAVE,
|
|
5051
|
+
},
|
|
5052
|
+
],
|
|
5053
|
+
} }, formData?.imagePrefix !== undefined && !isSaving ? (React.createElement(DataContainer, null,
|
|
5054
|
+
React.createElement(UserInstrumentationEnvsSettings, { formData: formData, handleFormChange: handleFormChange }),
|
|
5055
|
+
React.createElement(UiSettings, { formData: formData, handleFormChange: handleFormChange }),
|
|
5056
|
+
React.createElement(CollectorNodeSettings, { formData: formData, handleFormChange: handleFormChange }),
|
|
5057
|
+
React.createElement(CollectorGatewaySettings, { formData: formData, handleFormChange: handleFormChange }),
|
|
5058
|
+
React.createElement(OtherSettings, { formData: formData, handleFormChange: handleFormChange }))) : (React.createElement(CenterThis, null,
|
|
5059
|
+
React.createElement(FadeLoader, { scale: 1.2 })))),
|
|
5060
|
+
React.createElement(CancelWarning, { isOpen: cancelWarningOpen, name: TITLE_TEXT, onApprove: () => {
|
|
5061
|
+
cancelApproveCallback?.();
|
|
5062
|
+
setCancelWarningOpen(false);
|
|
5063
|
+
}, onDeny: () => {
|
|
5064
|
+
setCancelWarningOpen(false);
|
|
5065
|
+
} })));
|
|
5066
|
+
};
|
|
5067
|
+
|
|
4726
5068
|
const Container$1 = styled.div `
|
|
4727
5069
|
position: fixed;
|
|
4728
5070
|
bottom: 12px;
|
|
@@ -4800,4 +5142,4 @@ const ToggleDarkMode = () => {
|
|
|
4800
5142
|
React.createElement(Background, { "$darkMode": darkMode })));
|
|
4801
5143
|
};
|
|
4802
5144
|
|
|
4803
|
-
export { ActionDrawer, ActionForm, ActionModal, ActionTable, AwaitPipeline, ComputePlatformSelect, ComputePlatforms, ComputePlatformsActionsMenu, ConditionDropdown, ConnectionStatusDropdown, ConnectionTypeDropdown, DataFlow, DataFlowActionsMenu, DataStreamDrawer, DataStreamForm, DataStreamSelectionForm, DestinationDrawer, DestinationForm, DestinationModal, DestinationSelectionForm, DestinationTable, ErrorDropdown, InstrumentationRuleDrawer, InstrumentationRuleForm, InstrumentationRuleModal, InstrumentationRuleTable, KindDropdown, LanguageDropdown, MonitorDropdown, MultiSourceControl, NamespaceDropdown, NavIconIds, NotificationManager, OverviewDrawer, ServiceMap, SetupSummary, SideNav, SlackInvite, SourceDrawer, SourceForm, SourceModal, SourceSelectionForm, SourceTable, SystemOverview, TableCellConditions, ToastList, ToggleDarkMode };
|
|
5145
|
+
export { ActionDrawer, ActionForm, ActionModal, ActionTable, AwaitPipeline, ComputePlatformSelect, ComputePlatforms, ComputePlatformsActionsMenu, ConditionDropdown, ConnectionStatusDropdown, ConnectionTypeDropdown, DataFlow, DataFlowActionsMenu, DataStreamDrawer, DataStreamForm, DataStreamSelectionForm, DestinationDrawer, DestinationForm, DestinationModal, DestinationSelectionForm, DestinationTable, ErrorDropdown, InstrumentationRuleDrawer, InstrumentationRuleForm, InstrumentationRuleModal, InstrumentationRuleTable, KindDropdown, LanguageDropdown, MonitorDropdown, MultiSourceControl, NamespaceDropdown, NavIconIds, NotificationManager, OverviewDrawer, ServiceMap, SetupSummary, SideNav, SlackInvite, SourceDrawer, SourceForm, SourceModal, SourceSelectionForm, SourceTable, SystemOverview, SystemSettings, TableCellConditions, ToastList, ToggleDarkMode };
|
package/lib/functions.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
export { c as capitalizeFirstLetter, f as flattenObjectKeys, g as getConditionsBooleans, a as getMonitorIcon, b as getStatusIcon, i as isStringABoolean, d as isValidVersion, m as mapConditions, n as numbersOnly, p as parseBooleanFromString, e as parseJsonStringToPrettyString, r as removeEmptyValuesFromObject, s as safeJsonStringify, h as splitCamelString } from './index-
|
|
2
|
-
export { c as compareCondition, f as filterActions, a as filterDestinations, b as filterDestinationsByStream, d as filterSources, e as filterSourcesByStream, g as formatBytes, i as getContainersIcons, h as getContainersInstrumentedCount, j as getDestinationIcon, k as getEntityIcon, l as getEntityLabel, m as getMetricForEntity, n as getPlatformIcon, o as getPlatformLabel, p as getValueForRange, q as getWorkloadId, r as getYamlFieldsForDestination, s as hasUnhealthyInstances, t as isOverTime, u as mapDestinationFieldsForDisplay, v as sleep } from './index-
|
|
1
|
+
export { c as capitalizeFirstLetter, f as flattenObjectKeys, g as getConditionsBooleans, a as getMonitorIcon, b as getStatusIcon, i as isStringABoolean, d as isValidVersion, m as mapConditions, n as numbersOnly, p as parseBooleanFromString, e as parseJsonStringToPrettyString, r as removeEmptyValuesFromObject, s as safeJsonStringify, h as splitCamelString } from './index-58440c5c.js';
|
|
2
|
+
export { c as compareCondition, f as filterActions, a as filterDestinations, b as filterDestinationsByStream, d as filterSources, e as filterSourcesByStream, g as formatBytes, i as getContainersIcons, h as getContainersInstrumentedCount, j as getDestinationIcon, k as getEntityIcon, l as getEntityLabel, m as getMetricForEntity, n as getPlatformIcon, o as getPlatformLabel, p as getValueForRange, q as getWorkloadId, r as getYamlFieldsForDestination, s as hasUnhealthyInstances, t as isOverTime, u as mapDestinationFieldsForDisplay, v as sleep } from './index-42f40e7c.js';
|
|
3
3
|
export { d as deepClone, i as isEmpty, s as safeJsonParse } from './index-5e5f7bda.js';
|
|
4
|
-
export { g as getActionIcon, c as getEntityId, d as getInstrumentationRuleIcon, e as getProgrammingLanguageIcon } from './index-
|
|
4
|
+
export { g as getActionIcon, c as getEntityId, d as getInstrumentationRuleIcon, e as getProgrammingLanguageIcon } from './index-bd48e6e2.js';
|
|
5
5
|
export { g as getIdFromSseTarget, i as isLegalK8sLabel, m as mapExportedSignals } from './index-6a6bea6e.js';
|
|
6
6
|
import { ProgrammingLanguages, EntityTypes } from './types.js';
|
|
7
7
|
import 'react';
|
|
8
8
|
import 'styled-components';
|
|
9
|
-
import './index-
|
|
10
|
-
import './index-
|
|
9
|
+
import './index-50101bec.js';
|
|
10
|
+
import './index-acc7c7dd.js';
|
|
11
11
|
|
|
12
12
|
const cleanObjectEmptyStringsValues = (obj) => {
|
|
13
13
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AnyObj } from '@/types';
|
|
2
|
-
export declare const useGenericForm: <Form extends AnyObj>(initialFormData: Form) => {
|
|
2
|
+
export declare const useGenericForm: <Form extends AnyObj>(initialFormData: Form | undefined) => {
|
|
3
3
|
formData: Form;
|
|
4
4
|
formErrors: Partial<Record<keyof Form, string>>;
|
|
5
5
|
isFormDirty: boolean;
|
package/lib/hooks.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { ActionKeyTypes, ActionType, StatusType, EntityTypes, FieldTypes } from './types.js';
|
|
2
|
-
import { V as useNotificationStore, F as FORM_ALERTS, O as useDrawerStore, W as useEntityStore, Y as useDataStreamStore, _ as useSetupStore } from './index-
|
|
2
|
+
import { V as useNotificationStore, F as FORM_ALERTS, O as useDrawerStore, W as useEntityStore, Y as useDataStreamStore, _ as useSetupStore } from './index-bd48e6e2.js';
|
|
3
3
|
import { useState, useEffect, useMemo } from 'react';
|
|
4
4
|
import 'styled-components';
|
|
5
5
|
import { i as isEmpty, s as safeJsonParse } from './index-5e5f7bda.js';
|
|
6
|
-
import { i as useGenericForm } from './useTransition-
|
|
7
|
-
export { c as useClickNode, b as useContainerSize, h as useCopy, e as useInstrumentationRuleFormData, u as useKeyDown, a as useOnClickOutside, d as usePopup, g as useTimeAgo, f as useTransition } from './useTransition-
|
|
6
|
+
import { i as useGenericForm } from './useTransition-c2aef0e4.js';
|
|
7
|
+
export { c as useClickNode, b as useContainerSize, h as useCopy, e as useInstrumentationRuleFormData, u as useKeyDown, a as useOnClickOutside, d as usePopup, g as useTimeAgo, f as useTransition } from './useTransition-c2aef0e4.js';
|
|
8
8
|
import { g as getIdFromSseTarget, i as isLegalK8sLabel, m as mapExportedSignals } from './index-6a6bea6e.js';
|
|
9
9
|
|
|
10
10
|
const INITIAL$2 = {
|
package/lib/icons.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { T as Theme } from './index-
|
|
2
|
-
export {
|
|
3
|
-
export { C as CheckCircledIcon, E as ErrorTriangleIcon, I as InfoIcon, L as LogsIcon, M as MetricsIcon, O as OdigosLogo, T as TracesIcon, W as WarningTriangleIcon } from './index-
|
|
4
|
-
export { A as ArrowIcon, C as CrossCircledIcon, D as DataStreamsIcon, F as FilterIcon, K as KeyIcon, N as NotificationIcon, O as OdigosLogoText, a as OverviewIcon, R as RefreshLeftArrowIcon, S as SlackLogo, T as TerminalIcon, U as UserIcon } from './index-
|
|
1
|
+
import { T as Theme } from './index-bd48e6e2.js';
|
|
2
|
+
export { f as AddClusterInfoIcon, n as CPlusPlusLogo, o as CSharpLogo, C as CodeAttributesIcon, l as CustomInstrumentationIcon, h as DeleteAttributeIcon, p as DotnetLogo, E as ElixirLogo, G as GoLogo, H as HeadersCollectionIcon, j as ImageErrorIcon, J as JavaLogo, K as K8sLogo, k as KafkaLogo, q as MysqlLogo, N as NginxLogo, r as NodejsLogo, m as PayloadCollectionIcon, s as PhpLogo, P as PiiMaskingIcon, t as PostgresLogo, u as PythonLogo, v as RedisLogo, R as RenameAttributeIcon, w as RubyLogo, x as RustLogo, i as SamplerIcon, y as SwiftLogo } from './index-bd48e6e2.js';
|
|
3
|
+
export { C as CheckCircledIcon, E as ErrorTriangleIcon, I as InfoIcon, L as LogsIcon, M as MetricsIcon, O as OdigosLogo, T as TracesIcon, W as WarningTriangleIcon } from './index-50101bec.js';
|
|
4
|
+
export { A as ArrowIcon, C as CrossCircledIcon, D as DataStreamsIcon, F as FilterIcon, G as GearIcon, K as KeyIcon, N as NotificationIcon, O as OdigosLogoText, a as OverviewIcon, R as RefreshLeftArrowIcon, S as SlackLogo, T as TerminalIcon, U as UserIcon } from './index-c1df4281.js';
|
|
5
5
|
import React from 'react';
|
|
6
|
-
export { h as CheckIcon, C as CodeIcon, a as CopyIcon, i as CrossIcon, E as EditIcon, b as EditedIcon, c as ExtendArrowIcon, f as EyeClosedIcon, g as EyeOpenIcon, L as ListIcon, M as MinusIcon, N as NoDataIcon, d as NotebookIcon, P as PlusIcon, S as SearchIcon, e as SortArrowsIcon, T as TrashIcon, X as XIcon } from './index-
|
|
7
|
-
export {
|
|
6
|
+
export { h as CheckIcon, C as CodeIcon, a as CopyIcon, i as CrossIcon, E as EditIcon, b as EditedIcon, c as ExtendArrowIcon, f as EyeClosedIcon, g as EyeOpenIcon, L as ListIcon, M as MinusIcon, N as NoDataIcon, d as NotebookIcon, P as PlusIcon, S as SearchIcon, e as SortArrowsIcon, T as TrashIcon, X as XIcon } from './index-391844c6.js';
|
|
7
|
+
export { a3 as ActionsIcon, A as AlaudaLogo, a as AlibabaCloudLogo, b as AppDynamicsLogo, c as AwsCloudwatchLogo, d as AwsS3Logo, e as AwsXrayLogo, f as AxiomLogo, B as BetterStackLogo, g as BlobStorageLogo, h as BonreeLogo, C as CauselyLogo, i as ChecklyLogo, j as ChronosphereLogo, k as ClickhouseLogo, l as CoralogixLogo, D as Dash0Logo, m as DatadogLogo, a4 as DestinationsIcon, n as DynatraceLogo, E as ElasticApmLogo, o as ElasticSearchLogo, G as GigapipeLogo, p as GoogleCloudPlatformLogo, q as GrafanaLogo, r as GreptimeLogo, s as GroundcoverLogo, H as HoneycombLogo, t as HyperDxLogo, I as InstanaLogo, J as JaegerLogo, K as KloudmateLogo, L as Last9Logo, u as LightstepLogo, v as LogzioLogo, w as LokiLogo, x as LumigoLogo, M as MiddlewareLogo, a5 as NamespacesIcon, N as NewRelicLogo, O as ObserveLogo, y as OneUptimeLogo, z as OpenObserveLogo, F as OpenTelemetryLogo, P as OpsVerseLogo, Q as OracleLogo, R as PrometheusLogo, S as QrynLogo, T as QuickwitLogo, a6 as RulesIcon, U as SeqLogo, W as SignozLogo, a7 as SourcesIcon, X as SplunkLogo, Y as SumoLogicLogo, Z as TelemetryHubLogo, _ as TempoLogo, $ as TingyunLogo, a0 as TraceloopLogo, a1 as UptraceLogo, a2 as VictoriaMetricsLogo, V as VmLogo } from './index-acc7c7dd.js';
|
|
8
8
|
import './types.js';
|
|
9
9
|
import 'styled-components';
|
|
10
10
|
|
|
@@ -36,14 +36,6 @@ const FolderIcon = ({ size = 16, fill: f, rotate = 0, onClick, strokeWidth = 1 }
|
|
|
36
36
|
React.createElement("path", { stroke: fill, strokeWidth: strokeWidth, strokeLinecap: 'round', strokeLinejoin: 'round', d: 'M1.5 7.96504C1.5 6.28488 1.5 5.4448 1.82698 4.80307C2.1146 4.23858 2.57354 3.77964 3.13803 3.49202C3.77976 3.16504 4.61984 3.16504 6.3 3.16504H6.53667C6.88887 3.16504 7.06498 3.16504 7.22483 3.21358C7.36634 3.25656 7.49799 3.32702 7.61225 3.42093C7.74131 3.527 7.83899 3.67353 8.03436 3.96658L8.46564 4.6135C8.66101 4.90655 8.75869 5.05308 8.88775 5.15915C9.00201 5.25306 9.13366 5.32352 9.27517 5.36649C9.43502 5.41504 9.61113 5.41504 9.96333 5.41504H11.7C13.3802 5.41504 14.2202 5.41504 14.862 5.74202C15.4265 6.02964 15.8854 6.48858 16.173 7.05307C16.5 7.6948 16.5 8.53488 16.5 10.215V11.865C16.5 13.5452 16.5 14.3853 16.173 15.027C15.8854 15.5915 15.4265 16.0504 14.862 16.3381C14.2202 16.665 13.3802 16.665 11.7 16.665H6.3C4.61984 16.665 3.77976 16.665 3.13803 16.3381C2.57354 16.0504 2.1146 15.5915 1.82698 15.027C1.5 14.3853 1.5 13.5452 1.5 11.865V7.96504Z' })));
|
|
37
37
|
};
|
|
38
38
|
|
|
39
|
-
const GearIcon = ({ size = 16, fill: f, rotate = 0, onClick, strokeWidth = 1 }) => {
|
|
40
|
-
const theme = Theme.useTheme();
|
|
41
|
-
const fill = f || theme.text.secondary;
|
|
42
|
-
return (React.createElement("svg", { width: size, height: size, viewBox: '0 0 24 24', xmlns: 'http://www.w3.org/2000/svg', fill: 'none', style: { transform: `rotate(${rotate}deg)` }, onClick: onClick },
|
|
43
|
-
React.createElement("path", { stroke: fill, strokeWidth: strokeWidth, strokeLinecap: 'round', strokeLinejoin: 'round', d: 'M10.3982 4.27916C10.7851 2.57361 13.2149 2.57361 13.6018 4.27916L13.6531 4.50528C13.9038 5.61045 15.1719 6.13573 16.1306 5.53151L16.3268 5.40789C17.8064 4.47545 19.5246 6.19363 18.5921 7.6732L18.4685 7.86935C17.8643 8.82809 18.3895 10.0962 19.4947 10.3469L19.7208 10.3982C21.4264 10.7851 21.4264 13.2149 19.7208 13.6018L19.4947 13.6531C18.3895 13.9038 17.8643 15.1719 18.4685 16.1306L18.5921 16.3268C19.5246 17.8064 17.8064 19.5246 16.3268 18.5921L16.1306 18.4685C15.1719 17.8643 13.9038 18.3895 13.6531 19.4947L13.6018 19.7208C13.2149 21.4264 10.7851 21.4264 10.3982 19.7208L10.3469 19.4947C10.0962 18.3895 8.82809 17.8643 7.86935 18.4685L7.6732 18.5921C6.19363 19.5246 4.47545 17.8064 5.40789 16.3268L5.53151 16.1306C6.13573 15.1719 5.61045 13.9038 4.50528 13.6531L4.27916 13.6018C2.57361 13.2149 2.57361 10.7851 4.27916 10.3982L4.50528 10.3469C5.61045 10.0962 6.13573 8.82809 5.53151 7.86935L5.40789 7.6732C4.47544 6.19363 6.19363 4.47545 7.6732 5.40789L7.86935 5.53151C8.82809 6.13573 10.0962 5.61045 10.3469 4.50528L10.3982 4.27916Z' }),
|
|
44
|
-
React.createElement("path", { stroke: fill, strokeWidth: strokeWidth, strokeLinecap: 'round', strokeLinejoin: 'round', d: 'M10.9909 12C10.9909 11.4477 11.4478 11 12 11C12.5523 11 13.0092 11.4477 13.0092 12C13.0092 12.5523 12.5523 13 12 13C11.4478 13 10.9909 12.5523 10.9909 12Z' })));
|
|
45
|
-
};
|
|
46
|
-
|
|
47
39
|
const RefreshArrowsIcon = ({ size = 16, fill: f, rotate = 0, onClick, strokeWidth = 1 }) => {
|
|
48
40
|
const theme = Theme.useTheme();
|
|
49
41
|
const fill = f || theme.text.secondary;
|
|
@@ -175,4 +167,4 @@ const ErrorRoundIcon = ({ size = 16, fill: f, rotate = 0, onClick, strokeWidth =
|
|
|
175
167
|
React.createElement("path", { stroke: fill, strokeWidth: strokeWidth, strokeLinecap: 'round', strokeLinejoin: 'round', d: 'M7 8.33673V6.00339M7 10.3055V10.3061M12.25 7.97266C12.25 10.8722 9.89949 13.2227 7 13.2227C4.1005 13.2227 1.75 10.8721 1.75 7.97265C1.75 5.07316 4.10051 2.72266 7 2.72266C9.8995 2.72266 12.25 5.07316 12.25 7.97266Z' })));
|
|
176
168
|
};
|
|
177
169
|
|
|
178
|
-
export { AvatarIcon, CodeBracketsIcon, CommandIcon, ConnectionsIcon, ErrorRoundIcon, FolderIcon,
|
|
170
|
+
export { AvatarIcon, CodeBracketsIcon, CommandIcon, ConnectionsIcon, ErrorRoundIcon, FolderIcon, GoogleCloudStorageLogo, LightOffIcon, LightOnIcon, MinusCircledIcon, MoonIcon, PlusCircledIcon, RefreshArrowsIcon, RefreshRightArrowIcon, RotateArrowsIcon, SentryLogo, ServiceMapIcon, SunIcon, TraceViewIcon, UserGroupIcon, UserSettingsIcon };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { StatusType, DestinationTypes, EntityTypes, PlatformType } from './types.js';
|
|
2
|
-
import { a as DEFAULT_DATA_STREAM_NAME, e as getProgrammingLanguageIcon,
|
|
2
|
+
import { a as DEFAULT_DATA_STREAM_NAME, e as getProgrammingLanguageIcon, k as KafkaLogo, K as K8sLogo } from './index-bd48e6e2.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'styled-components';
|
|
5
|
-
import { A as AlaudaLogo, a as AlibabaCloudLogo, b as AppDynamicsLogo,
|
|
6
|
-
import { O as OdigosLogo } from './index-
|
|
5
|
+
import { A as AlaudaLogo, a as AlibabaCloudLogo, b as AppDynamicsLogo, f as AxiomLogo, g as BlobStorageLogo, B as BetterStackLogo, h as BonreeLogo, C as CauselyLogo, i as ChecklyLogo, j as ChronosphereLogo, k as ClickhouseLogo, c as AwsCloudwatchLogo, l as CoralogixLogo, D as Dash0Logo, m as DatadogLogo, F as OpenTelemetryLogo, n as DynatraceLogo, E as ElasticApmLogo, o as ElasticSearchLogo, p as GoogleCloudPlatformLogo, q as GrafanaLogo, r as GreptimeLogo, s as GroundcoverLogo, H as HoneycombLogo, t as HyperDxLogo, I as InstanaLogo, J as JaegerLogo, K as KloudmateLogo, L as Last9Logo, u as LightstepLogo, v as LogzioLogo, w as LokiLogo, x as LumigoLogo, M as MiddlewareLogo, N as NewRelicLogo, O as ObserveLogo, y as OneUptimeLogo, z as OpenObserveLogo, P as OpsVerseLogo, Q as OracleLogo, R as PrometheusLogo, S as QrynLogo, G as GigapipeLogo, T as QuickwitLogo, d as AwsS3Logo, U as SeqLogo, W as SignozLogo, X as SplunkLogo, Y as SumoLogicLogo, Z as TelemetryHubLogo, _ as TempoLogo, $ as TingyunLogo, a0 as TraceloopLogo, a1 as UptraceLogo, a2 as VictoriaMetricsLogo, e as AwsXrayLogo, a5 as NamespacesIcon, a7 as SourcesIcon, a4 as DestinationsIcon, a3 as ActionsIcon, a6 as RulesIcon, V as VmLogo } from './index-acc7c7dd.js';
|
|
6
|
+
import { O as OdigosLogo } from './index-50101bec.js';
|
|
7
7
|
import { s as safeJsonParse } from './index-5e5f7bda.js';
|
|
8
8
|
|
|
9
9
|
const compareCondition = (renderCondition, fields) => {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { StatusType, OtherStatus, SignalType } from './types.js';
|
|
2
2
|
import 'react';
|
|
3
|
-
import './index-
|
|
3
|
+
import './index-bd48e6e2.js';
|
|
4
4
|
import 'styled-components';
|
|
5
|
-
import { L as LogsIcon, M as MetricsIcon, T as TracesIcon, C as CheckCircledIcon, E as ErrorTriangleIcon, W as WarningTriangleIcon, I as InfoIcon, O as OdigosLogo } from './index-
|
|
5
|
+
import { L as LogsIcon, M as MetricsIcon, T as TracesIcon, C as CheckCircledIcon, E as ErrorTriangleIcon, W as WarningTriangleIcon, I as InfoIcon, O as OdigosLogo } from './index-50101bec.js';
|
|
6
6
|
|
|
7
7
|
const capitalizeFirstLetter = (string) => {
|
|
8
8
|
return string.charAt(0).toUpperCase() + string.slice(1);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { a3 as WarningModal } from './index-
|
|
2
|
+
import { a3 as WarningModal } from './index-f2da9ad4.js';
|
|
3
3
|
import { StatusType, EntityTypes } from './types.js';
|
|
4
|
-
import './index-
|
|
4
|
+
import './index-bd48e6e2.js';
|
|
5
5
|
import 'styled-components';
|
|
6
6
|
|
|
7
7
|
const CancelWarning = ({ isOpen, noOverlay, name, onApprove, onDeny }) => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { T as Theme } from './index-
|
|
2
|
+
import { T as Theme } from './index-bd48e6e2.js';
|
|
3
3
|
|
|
4
4
|
const VmLogo = ({ size = 16, fill: f, rotate = 0, onClick, strokeWidth = 1 }) => {
|
|
5
5
|
const theme = Theme.useTheme();
|
|
@@ -680,4 +680,4 @@ const SourcesIcon = ({ size = 16, fill: f, rotate = 0, onClick, strokeWidth = 1
|
|
|
680
680
|
React.createElement("path", { stroke: fill, strokeWidth: strokeWidth, strokeLinecap: 'round', strokeLinejoin: 'round', d: 'M13.3332 3.8V8M13.3332 3.8C13.3332 4.79411 10.9454 5.6 7.99984 5.6C5.05432 5.6 2.6665 4.79411 2.6665 3.8M13.3332 3.8C13.3332 2.80589 10.9454 2 7.99984 2C5.05432 2 2.6665 2.80589 2.6665 3.8M13.3332 8V12.0875C13.3332 13.1437 10.9454 14 7.99984 14C5.05432 14 2.6665 13.1437 2.6665 12.0875V8M13.3332 8C13.3332 8.99413 10.9454 9.8 7.99984 9.8C5.05432 9.8 2.6665 8.99413 2.6665 8M2.6665 8V3.8M10.6665 7.33333H10.6732M10.6665 11.3333H10.6732' })));
|
|
681
681
|
};
|
|
682
682
|
|
|
683
|
-
export {
|
|
683
|
+
export { TingyunLogo as $, AlaudaLogo as A, BetterStackLogo as B, CauselyLogo as C, Dash0Logo as D, ElasticApmLogo as E, OpenTelemetryLogo as F, GigapipeLogo as G, HoneycombLogo as H, InstanaLogo as I, JaegerLogo as J, KloudmateLogo as K, Last9Logo as L, MiddlewareLogo as M, NewRelicLogo as N, ObserveLogo as O, OpsVerseLogo as P, OracleLogo as Q, PrometheusLogo as R, QrynLogo as S, QuickwitLogo as T, SeqLogo as U, VmLogo as V, SignozLogo as W, SplunkLogo as X, SumoLogicLogo as Y, TelemetryHubLogo as Z, TempoLogo as _, AlibabaCloudLogo as a, TraceloopLogo as a0, UptraceLogo as a1, VictoriaMetricsLogo as a2, ActionsIcon as a3, DestinationsIcon as a4, NamespacesIcon as a5, RulesIcon as a6, SourcesIcon as a7, AppDynamicsLogo as b, AwsCloudwatchLogo as c, AwsS3Logo as d, AwsXrayLogo as e, AxiomLogo as f, BlobStorageLogo as g, BonreeLogo as h, ChecklyLogo as i, ChronosphereLogo as j, ClickhouseLogo as k, CoralogixLogo as l, DatadogLogo as m, DynatraceLogo as n, ElasticSearchLogo as o, GoogleCloudPlatformLogo as p, GrafanaLogo as q, GreptimeLogo as r, GroundcoverLogo as s, HyperDxLogo as t, LightstepLogo as u, LogzioLogo as v, LokiLogo as w, LumigoLogo as x, OneUptimeLogo as y, OpenObserveLogo as z };
|
|
@@ -1911,4 +1911,4 @@ var animations = /*#__PURE__*/Object.freeze({
|
|
|
1911
1911
|
|
|
1912
1912
|
const Theme = { Provider, useTheme, opacity, animations };
|
|
1913
1913
|
|
|
1914
|
-
export { useSelectedStore as $, ACTION_OPTIONS as A, BUTTON_TEXTS as B, CodeAttributesIcon as C, DISPLAY_LANGUAGES as D, ElixirLogo as E, FORM_ALERTS as F, GoLogo as G, HeadersCollectionIcon as H, INSTRUMENTATION_RULE_OPTIONS as I, JavaLogo as J,
|
|
1914
|
+
export { useSelectedStore as $, ACTION_OPTIONS as A, BUTTON_TEXTS as B, CodeAttributesIcon as C, DISPLAY_LANGUAGES as D, ElixirLogo as E, FORM_ALERTS as F, GoLogo as G, HeadersCollectionIcon as H, INSTRUMENTATION_RULE_OPTIONS as I, JavaLogo as J, K8sLogo as K, LANGUAGE_OPTIONS as L, MONITORS_OPTIONS as M, NginxLogo as N, useDrawerStore as O, PiiMaskingIcon as P, useActiveNodeStore as Q, RenameAttributeIcon as R, STORAGE_KEYS as S, Theme as T, usePendingStore as U, useNotificationStore as V, useEntityStore as W, useFilterStore as X, useDataStreamStore as Y, useInstrumentStore as Z, useSetupStore as _, DEFAULT_DATA_STREAM_NAME as a, useDarkMode as a0, styleInject as a1, DISPLAY_TITLES as b, getEntityId as c, getInstrumentationRuleIcon as d, getProgrammingLanguageIcon as e, AddClusterInfoIcon as f, getActionIcon as g, DeleteAttributeIcon as h, SamplerIcon as i, ImageErrorIcon as j, KafkaLogo as k, CustomInstrumentationIcon as l, PayloadCollectionIcon as m, CPlusPlusLogo as n, CSharpLogo as o, DotnetLogo as p, MysqlLogo as q, NodejsLogo as r, PhpLogo as s, PostgresLogo as t, PythonLogo as u, RedisLogo as v, RubyLogo as w, RustLogo as x, SwiftLogo as y, useModalStore as z };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { T as Theme } from './index-
|
|
2
|
+
import { T as Theme } from './index-bd48e6e2.js';
|
|
3
3
|
|
|
4
4
|
const OdigosLogoText = ({ size = 16, fill: f, rotate = 0, onClick }) => {
|
|
5
5
|
const theme = Theme.useTheme();
|
|
@@ -35,6 +35,14 @@ const FilterIcon = ({ size = 16, fill: f, rotate = 0, onClick, strokeWidth = 1 }
|
|
|
35
35
|
React.createElement("path", { stroke: fill, strokeWidth: strokeWidth, strokeLinecap: 'round', strokeLinejoin: 'round', d: 'M5.33341 8H10.6667M7.33341 12H8.66675M2.66675 4H13.3334' })));
|
|
36
36
|
};
|
|
37
37
|
|
|
38
|
+
const GearIcon = ({ size = 16, fill: f, rotate = 0, onClick, strokeWidth = 1 }) => {
|
|
39
|
+
const theme = Theme.useTheme();
|
|
40
|
+
const fill = f || theme.text.secondary;
|
|
41
|
+
return (React.createElement("svg", { width: size, height: size, viewBox: '0 0 24 24', xmlns: 'http://www.w3.org/2000/svg', fill: 'none', style: { transform: `rotate(${rotate}deg)` }, onClick: onClick },
|
|
42
|
+
React.createElement("path", { stroke: fill, strokeWidth: strokeWidth, strokeLinecap: 'round', strokeLinejoin: 'round', d: 'M10.3982 4.27916C10.7851 2.57361 13.2149 2.57361 13.6018 4.27916L13.6531 4.50528C13.9038 5.61045 15.1719 6.13573 16.1306 5.53151L16.3268 5.40789C17.8064 4.47545 19.5246 6.19363 18.5921 7.6732L18.4685 7.86935C17.8643 8.82809 18.3895 10.0962 19.4947 10.3469L19.7208 10.3982C21.4264 10.7851 21.4264 13.2149 19.7208 13.6018L19.4947 13.6531C18.3895 13.9038 17.8643 15.1719 18.4685 16.1306L18.5921 16.3268C19.5246 17.8064 17.8064 19.5246 16.3268 18.5921L16.1306 18.4685C15.1719 17.8643 13.9038 18.3895 13.6531 19.4947L13.6018 19.7208C13.2149 21.4264 10.7851 21.4264 10.3982 19.7208L10.3469 19.4947C10.0962 18.3895 8.82809 17.8643 7.86935 18.4685L7.6732 18.5921C6.19363 19.5246 4.47545 17.8064 5.40789 16.3268L5.53151 16.1306C6.13573 15.1719 5.61045 13.9038 4.50528 13.6531L4.27916 13.6018C2.57361 13.2149 2.57361 10.7851 4.27916 10.3982L4.50528 10.3469C5.61045 10.0962 6.13573 8.82809 5.53151 7.86935L5.40789 7.6732C4.47544 6.19363 6.19363 4.47545 7.6732 5.40789L7.86935 5.53151C8.82809 6.13573 10.0962 5.61045 10.3469 4.50528L10.3982 4.27916Z' }),
|
|
43
|
+
React.createElement("path", { stroke: fill, strokeWidth: strokeWidth, strokeLinecap: 'round', strokeLinejoin: 'round', d: 'M10.9909 12C10.9909 11.4477 11.4478 11 12 11C12.5523 11 13.0092 11.4477 13.0092 12C13.0092 12.5523 12.5523 13 12 13C11.4478 13 10.9909 12.5523 10.9909 12Z' })));
|
|
44
|
+
};
|
|
45
|
+
|
|
38
46
|
const KeyIcon = ({ size = 16, fill: f, rotate = 0, onClick, strokeWidth = 1 }) => {
|
|
39
47
|
const theme = Theme.useTheme();
|
|
40
48
|
const fill = f || theme.text.secondary;
|
|
@@ -104,4 +112,4 @@ const CrossCircledIcon = ({ size = 16, fill: f, rotate = 0, onClick, strokeWidth
|
|
|
104
112
|
React.createElement("path", { stroke: fill, strokeWidth: strokeWidth, strokeLinecap: 'round', strokeLinejoin: 'round', d: 'M6.75049 10.0005L8.75049 8.00049M8.75049 8.00049L10.7505 6.00049M8.75049 8.00049L6.75049 6.00049M8.75049 8.00049L10.7505 10.0005M8.75039 14.1004C5.38145 14.1004 2.65039 11.3693 2.65039 8.00039C2.65039 4.63145 5.38145 1.90039 8.75039 1.90039C12.1193 1.90039 14.8504 4.63145 14.8504 8.00039C14.8504 11.3693 12.1193 14.1004 8.75039 14.1004Z' })));
|
|
105
113
|
};
|
|
106
114
|
|
|
107
|
-
export { ArrowIcon as A, CrossCircledIcon as C, DataStreamsIcon as D, FilterIcon as F, KeyIcon as K, NotificationIcon as N, OdigosLogoText as O, RefreshLeftArrowIcon as R, SlackLogo as S, TerminalIcon as T, UserIcon as U, OverviewIcon as a };
|
|
115
|
+
export { ArrowIcon as A, CrossCircledIcon as C, DataStreamsIcon as D, FilterIcon as F, GearIcon as G, KeyIcon as K, NotificationIcon as N, OdigosLogoText as O, RefreshLeftArrowIcon as R, SlackLogo as S, TerminalIcon as T, UserIcon as U, OverviewIcon as a };
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import React, { useState, useEffect, useRef, forwardRef, useMemo, createElement, useCallback, Fragment, createContext, memo, useContext, useLayoutEffect } from 'react';
|
|
2
|
-
import { T as Theme, B as BUTTON_TEXTS,
|
|
2
|
+
import { T as Theme, B as BUTTON_TEXTS, j as ImageErrorIcon, M as MONITORS_OPTIONS, a1 as styleInject, U as usePendingStore, $ as useSelectedStore, Z as useInstrumentStore, Q as useActiveNodeStore, V as useNotificationStore, b as DISPLAY_TITLES, L as LANGUAGE_OPTIONS, F as FORM_ALERTS, D as DISPLAY_LANGUAGES, e as getProgrammingLanguageIcon } from './index-bd48e6e2.js';
|
|
3
3
|
import styled, { css } from 'styled-components';
|
|
4
|
-
import { M as MinusIcon$1, h as CheckIcon, L as ListIcon, C as CodeIcon, c as ExtendArrowIcon, P as PlusIcon$1, a as CopyIcon, E as EditIcon, b as EditedIcon, e as SortArrowsIcon, d as NotebookIcon, X as XIcon, f as EyeClosedIcon, g as EyeOpenIcon, N as NoDataIcon, i as CrossIcon, S as SearchIcon, T as TrashIcon } from './index-
|
|
4
|
+
import { M as MinusIcon$1, h as CheckIcon, L as ListIcon, C as CodeIcon, c as ExtendArrowIcon, P as PlusIcon$1, a as CopyIcon, E as EditIcon, b as EditedIcon, e as SortArrowsIcon, d as NotebookIcon, X as XIcon, f as EyeClosedIcon, g as EyeOpenIcon, N as NoDataIcon, i as CrossIcon, S as SearchIcon, T as TrashIcon } from './index-391844c6.js';
|
|
5
5
|
import { StatusType, OtherStatus, EntityTypes, NodeTypes, AddNodeTypes, EdgeTypes, ProgrammingLanguages, IntrumentationStatus, SortDirection, InputTypes, FieldTypes } from './types.js';
|
|
6
6
|
import { s as safeJsonParse, i as isEmpty } from './index-5e5f7bda.js';
|
|
7
|
-
import { b as getStatusIcon, r as removeEmptyValuesFromObject, s as safeJsonStringify, f as flattenObjectKeys, m as mapConditions, g as getConditionsBooleans, c as capitalizeFirstLetter, a as getMonitorIcon, i as isStringABoolean, p as parseBooleanFromString, d as isValidVersion, h as splitCamelString, e as parseJsonStringToPrettyString, n as numbersOnly } from './index-
|
|
7
|
+
import { b as getStatusIcon, r as removeEmptyValuesFromObject, s as safeJsonStringify, f as flattenObjectKeys, m as mapConditions, g as getConditionsBooleans, c as capitalizeFirstLetter, a as getMonitorIcon, i as isStringABoolean, p as parseBooleanFromString, d as isValidVersion, h as splitCamelString, e as parseJsonStringToPrettyString, n as numbersOnly } from './index-58440c5c.js';
|
|
8
8
|
import ReactDOM, { createPortal } from 'react-dom';
|
|
9
|
-
import { d as usePopup, h as useCopy, c as useClickNode, i as useGenericForm, b as useContainerSize, f as useTransition, u as useKeyDown, a as useOnClickOutside } from './useTransition-
|
|
10
|
-
import { I as InfoIcon } from './index-
|
|
9
|
+
import { d as usePopup, h as useCopy, c as useClickNode, i as useGenericForm, b as useContainerSize, f as useTransition, u as useKeyDown, a as useOnClickOutside } from './useTransition-c2aef0e4.js';
|
|
10
|
+
import { I as InfoIcon } from './index-50101bec.js';
|
|
11
11
|
|
|
12
12
|
const TextWrapper$2 = styled.div `
|
|
13
13
|
color: ${({ $color, theme }) => $color || theme.text.secondary};
|
package/lib/snippets.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { B as Button, _ as Text, L as NotificationNote } from './index-
|
|
2
|
-
export { ai as AddButton, an as AddNode, ao as BaseNode, ak as CopyText, ap as EdgedNode, ag as Flow, aq as FrameNode, ar as HeaderNode, aw as LabeledEdge, as as MapItemNode, at as NoDataNode, al as PodContainer, au as ScrollNode, av as SkeletonNode, am as SourceContainer, ad as nodeConfig } from './index-
|
|
1
|
+
import { B as Button, _ as Text, L as NotificationNote } from './index-f2da9ad4.js';
|
|
2
|
+
export { ai as AddButton, an as AddNode, ao as BaseNode, ak as CopyText, ap as EdgedNode, ag as Flow, aq as FrameNode, ar as HeaderNode, aw as LabeledEdge, as as MapItemNode, at as NoDataNode, al as PodContainer, au as ScrollNode, av as SkeletonNode, am as SourceContainer, ad as nodeConfig } from './index-f2da9ad4.js';
|
|
3
3
|
import React from 'react';
|
|
4
|
-
import { T as Theme, B as BUTTON_TEXTS, b as DISPLAY_TITLES } from './index-
|
|
5
|
-
import { E as EditIcon } from './index-
|
|
4
|
+
import { T as Theme, B as BUTTON_TEXTS, b as DISPLAY_TITLES } from './index-bd48e6e2.js';
|
|
5
|
+
import { E as EditIcon } from './index-391844c6.js';
|
|
6
6
|
import { StatusType } from './types.js';
|
|
7
7
|
import 'styled-components';
|
|
8
|
-
import { I as InfoIcon } from './index-
|
|
8
|
+
import { I as InfoIcon } from './index-50101bec.js';
|
|
9
9
|
import './index-5e5f7bda.js';
|
|
10
|
-
import './index-
|
|
10
|
+
import './index-58440c5c.js';
|
|
11
11
|
import 'react-dom';
|
|
12
|
-
import './useTransition-
|
|
12
|
+
import './useTransition-c2aef0e4.js';
|
|
13
13
|
|
|
14
14
|
const EditButton = ({ label, onClick, variant = 'tertiary', ...props }) => {
|
|
15
15
|
const theme = Theme.useTheme();
|
package/lib/store.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { Q as useActiveNodeStore, a0 as useDarkMode, Y as useDataStreamStore, O as useDrawerStore, W as useEntityStore, X as useFilterStore, Z as useInstrumentStore, z as useModalStore, V as useNotificationStore, U as usePendingStore, $ as useSelectedStore, _ as useSetupStore } from './index-
|
|
1
|
+
export { Q as useActiveNodeStore, a0 as useDarkMode, Y as useDataStreamStore, O as useDrawerStore, W as useEntityStore, X as useFilterStore, Z as useInstrumentStore, z as useModalStore, V as useNotificationStore, U as usePendingStore, $ as useSelectedStore, _ as useSetupStore } from './index-bd48e6e2.js';
|
|
2
2
|
import 'react';
|
|
3
3
|
import './types.js';
|
|
4
4
|
import 'styled-components';
|
package/lib/theme.js
CHANGED
|
@@ -59,31 +59,31 @@ export interface OidcConfiguration {
|
|
|
59
59
|
clientSecret: string;
|
|
60
60
|
}
|
|
61
61
|
export interface OdigosConfig {
|
|
62
|
-
telemetryEnabled: boolean;
|
|
63
|
-
openshiftEnabled: boolean;
|
|
64
|
-
karpenterEnabled: boolean;
|
|
65
|
-
psp: boolean;
|
|
66
|
-
allowConcurrentAgents: boolean;
|
|
67
|
-
skipWebhookIssuerCreation: boolean;
|
|
68
|
-
uiMode: UiMode;
|
|
69
|
-
uiPaginationLimit: number;
|
|
70
|
-
centralBackendURL: string;
|
|
71
|
-
oidc
|
|
72
|
-
clusterName: string;
|
|
73
|
-
imagePrefix: string;
|
|
74
|
-
ignoredNamespaces: string[];
|
|
75
|
-
ignoredContainers: string[];
|
|
76
|
-
profiles: Profile[];
|
|
77
|
-
mountMethod: MountMethod;
|
|
78
|
-
agentEnvVarsInjectionMethod: AgentEnvVarsInjectionMethod;
|
|
79
|
-
customContainerRuntimeSocketPath: string;
|
|
80
|
-
odigletHealthProbeBindPort: number;
|
|
81
|
-
rollbackDisabled: boolean;
|
|
82
|
-
rollbackGraceTime: string;
|
|
83
|
-
rollbackStabilityWindow: string;
|
|
84
|
-
nodeSelector
|
|
85
|
-
rollout
|
|
86
|
-
collectorNode
|
|
87
|
-
collectorGateway
|
|
88
|
-
userInstrumentationEnvs
|
|
62
|
+
telemetryEnabled: boolean | null;
|
|
63
|
+
openshiftEnabled: boolean | null;
|
|
64
|
+
karpenterEnabled: boolean | null;
|
|
65
|
+
psp: boolean | null;
|
|
66
|
+
allowConcurrentAgents: boolean | null;
|
|
67
|
+
skipWebhookIssuerCreation: boolean | null;
|
|
68
|
+
uiMode: UiMode | null;
|
|
69
|
+
uiPaginationLimit: number | null;
|
|
70
|
+
centralBackendURL: string | null;
|
|
71
|
+
oidc: OidcConfiguration | null;
|
|
72
|
+
clusterName: string | null;
|
|
73
|
+
imagePrefix: string | null;
|
|
74
|
+
ignoredNamespaces: string[] | null;
|
|
75
|
+
ignoredContainers: string[] | null;
|
|
76
|
+
profiles: Profile[] | null;
|
|
77
|
+
mountMethod: MountMethod | null;
|
|
78
|
+
agentEnvVarsInjectionMethod: AgentEnvVarsInjectionMethod | null;
|
|
79
|
+
customContainerRuntimeSocketPath: string | null;
|
|
80
|
+
odigletHealthProbeBindPort: number | null;
|
|
81
|
+
rollbackDisabled: boolean | null;
|
|
82
|
+
rollbackGraceTime: string | null;
|
|
83
|
+
rollbackStabilityWindow: string | null;
|
|
84
|
+
nodeSelector: Record<string, string> | null;
|
|
85
|
+
rollout: RolloutConfiguration | null;
|
|
86
|
+
collectorNode: CollectorNode | null;
|
|
87
|
+
collectorGateway: CollectorGateway | null;
|
|
88
|
+
userInstrumentationEnvs: UserInstrumentationEnvs | null;
|
|
89
89
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { z as useModalStore, O as useDrawerStore, Q as useActiveNodeStore } from './index-
|
|
1
|
+
import { z as useModalStore, O as useDrawerStore, Q as useActiveNodeStore } from './index-bd48e6e2.js';
|
|
2
2
|
import { AddNodeTypes, EntityTypes, PayloadCollectionKeyTypes, CodeAttributesKeyTypes, CustomInstrumentationsKeyTypes } from './types.js';
|
|
3
|
-
import React, { useState, useMemo,
|
|
3
|
+
import React, { useState, useMemo, useEffect, useRef, useCallback } from 'react';
|
|
4
4
|
import styled from 'styled-components';
|
|
5
5
|
import { d as deepClone } from './index-5e5f7bda.js';
|
|
6
6
|
|
|
@@ -9,10 +9,20 @@ const useGenericForm = (initialFormData) => {
|
|
|
9
9
|
// this is to avoid reference issues with the initial form data,
|
|
10
10
|
// when an object has arrays or objects as part of it's values, a simple spread operator won't work, the children would act as references,
|
|
11
11
|
// so we use JSON.parse(JSON.stringify()) to create a deep copy of the object without affecting the original
|
|
12
|
+
if (initialFormData === undefined)
|
|
13
|
+
return {};
|
|
12
14
|
return JSON.parse(JSON.stringify(initialFormData));
|
|
13
15
|
}
|
|
14
16
|
const [formData, setFormData] = useState(copyInitial());
|
|
15
17
|
const [formErrors, setFormErrors] = useState({});
|
|
18
|
+
const isFormDirty = useMemo(() => {
|
|
19
|
+
return initialFormData !== undefined && JSON.stringify(formData) !== JSON.stringify(initialFormData);
|
|
20
|
+
}, [initialFormData, formData]);
|
|
21
|
+
useEffect(() => {
|
|
22
|
+
if (initialFormData !== undefined && JSON.stringify(formData) === '{}')
|
|
23
|
+
setFormData(copyInitial());
|
|
24
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
25
|
+
}, [initialFormData, formData]);
|
|
16
26
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
17
27
|
const handleFormChange = (key, val, obj) => {
|
|
18
28
|
if (key) {
|
|
@@ -57,9 +67,6 @@ const useGenericForm = (initialFormData) => {
|
|
|
57
67
|
setFormData(copyInitial());
|
|
58
68
|
setFormErrors({});
|
|
59
69
|
};
|
|
60
|
-
const isFormDirty = useMemo(() => {
|
|
61
|
-
return JSON.stringify(formData) !== JSON.stringify(initialFormData);
|
|
62
|
-
}, [formData, initialFormData]);
|
|
63
70
|
return {
|
|
64
71
|
formData,
|
|
65
72
|
formErrors,
|