@odigos/ui-kit 0.0.16 → 0.0.18
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 +23 -0
- package/lib/components/data-tab/index.d.ts +0 -1
- package/lib/components/drawer/drawer-header/index.d.ts +2 -2
- package/lib/components.js +10 -10
- package/lib/constants.js +4 -4
- package/lib/containers/overview-drawer/index.d.ts +2 -2
- package/lib/containers/source-modal/index.d.ts +0 -2
- package/lib/containers/source-selection-form/index.d.ts +0 -1
- package/lib/containers.js +90 -204
- package/lib/functions.js +6 -6
- package/lib/hooks.js +6 -6
- package/lib/icons.js +13 -6
- package/lib/{index-D_Qn2U89.js → index-BJxaoI0G.js} +1 -8
- package/lib/{index-D6cZdmUs.js → index-Bb7VdYPG.js} +44 -58
- package/lib/{index-IvGLauAo.js → index-Bdimyacn.js} +4 -0
- package/lib/{index-CLOUNx6Z.js → index-BlJU2fGe.js} +5 -5
- package/lib/{index-DM8CZWtL.js → index-BsH_egEe.js} +10 -1
- package/lib/{index-DiEc-llU.js → index-CT0qszYw.js} +9 -4
- package/lib/{index-CKtl8KxE.js → index-CVs2NNg9.js} +9 -9
- package/lib/{index-BGlk5VhF.js → index-DGel4E-Z.js} +4 -6
- package/lib/{index-DH2zLaey.js → index-KOMAv-TS.js} +1 -8
- package/lib/{index-lL1o2K_5.js → index-jPxFCX-5.js} +2 -2
- package/lib/store.js +1 -1
- package/lib/theme.js +1 -1
- package/lib/{useSourceSelectionFormData-R_uK7F7W.js → useSourceSelectionFormData-LmLZzJyk.js} +3 -3
- package/lib/{useTransition-hWYVBuSi.js → useTransition-WRhgkuG2.js} +2 -2
- package/package.json +1 -1
- package/lib/components/auto-complete-input/auto-complete-input.stories.d.ts +0 -9
- package/lib/components/badge/badge.stories.d.ts +0 -13
- package/lib/components/button/button.stories.d.ts +0 -9
- package/lib/components/cancel-warning/cancel-warning.stories.d.ts +0 -9
- package/lib/components/checkbox/checkbox.stories.d.ts +0 -9
- package/lib/components/code/code.stories.d.ts +0 -9
- package/lib/components/condition-details/condition-details.stories.d.ts +0 -14
- package/lib/components/data-card/data-card.stories.d.ts +0 -10
- package/lib/components/data-tab/data-tab.stories.d.ts +0 -15
- package/lib/components/delete-warning/delete-warning.stories.d.ts +0 -9
- package/lib/components/describe-row/describe-row.stories.d.ts +0 -9
- package/lib/components/divider/divider.stories.d.ts +0 -9
- package/lib/components/docs-button/docs-button.stories.d.ts +0 -9
- package/lib/components/drawer/drawer.stories.d.ts +0 -10
- package/lib/components/dropdown/dropdown.stories.d.ts +0 -10
- package/lib/components/error-boundary/error-boundary.stories.d.ts +0 -9
- package/lib/components/extend-arrow/extend-arrow.stories.d.ts +0 -9
- package/lib/components/fade-loader/fade-loader.stories.d.ts +0 -9
- package/lib/components/field-error/field-error.stories.d.ts +0 -9
- package/lib/components/field-label/field-label.stories.d.ts +0 -9
- package/lib/components/header/header.stories.d.ts +0 -9
- package/lib/components/icon-button/icon-button.stories.d.ts +0 -9
- package/lib/components/icon-group/icon-group.stories.d.ts +0 -14
- package/lib/components/icon-title-badge/icon-title-badge.stories.d.ts +0 -9
- package/lib/components/icon-wrapped/icon-wrapped.stories.d.ts +0 -10
- package/lib/components/icons-nav/icons-nav.stories.d.ts +0 -9
- package/lib/components/image-controlled/image-controlled.stories.d.ts +0 -9
- package/lib/components/input/input.stories.d.ts +0 -9
- package/lib/components/input-list/input-list.stories.d.ts +0 -9
- package/lib/components/input-table/input-table.stories.d.ts +0 -9
- package/lib/components/interactive-table/interactive-table.stories.d.ts +0 -12
- package/lib/components/key-value-input-list/key-value-input-list.stories.d.ts +0 -9
- package/lib/components/modal/modal.stories.d.ts +0 -9
- package/lib/components/monitors-checkboxes/monitors-checkboxes.stories.d.ts +0 -9
- package/lib/components/monitors-icons/monitors-icons.stories.d.ts +0 -9
- package/lib/components/navigation-buttons/navigation-buttons.stories.d.ts +0 -9
- package/lib/components/no-data-found/no-data-found.stories.d.ts +0 -9
- package/lib/components/notification-note/notification-note.stories.d.ts +0 -10
- package/lib/components/section-title/section-title.stories.d.ts +0 -9
- package/lib/components/segment/segment.stories.d.ts +0 -9
- package/lib/components/skeleton-loader/skeleton-loader.stories.d.ts +0 -9
- package/lib/components/status/status.stories.d.ts +0 -9
- package/lib/components/stepper/stepper.stories.d.ts +0 -9
- package/lib/components/text/text.stories.d.ts +0 -9
- package/lib/components/textarea/textarea.stories.d.ts +0 -9
- package/lib/components/toggle/toggle.stories.d.ts +0 -9
- package/lib/components/tooltip/tooltip.stories.d.ts +0 -9
- package/lib/components/trace-loader/trace-loader.stories.d.ts +0 -9
- package/lib/components/warning-modal/warning-modal.stories.d.ts +0 -9
- package/lib/containers/action-drawer/action-drawer.stories.d.ts +0 -9
- package/lib/containers/action-form/action-form.stories.d.ts +0 -9
- package/lib/containers/action-modal/action-modal.stories.d.ts +0 -9
- package/lib/containers/action-table/action-table.stories.d.ts +0 -9
- package/lib/containers/await-pipeline/await-pipeline.stories.d.ts +0 -9
- package/lib/containers/compute-platform-select/compute-platform-select.stories.d.ts +0 -9
- package/lib/containers/compute-platforms/compute-platforms.stories.d.ts +0 -9
- package/lib/containers/compute-platforms-actions-menu/compute-platforms-actions-menu.stories.d.ts +0 -9
- package/lib/containers/data-flow/data-flow.stories.d.ts +0 -9
- package/lib/containers/data-flow-actions-menu/data-flow-actions-menu.stories.d.ts +0 -11
- package/lib/containers/destination-drawer/destination-drawer.stories.d.ts +0 -9
- package/lib/containers/destination-form/destination-form.stories.d.ts +0 -9
- package/lib/containers/destination-modal/destination-modal.stories.d.ts +0 -9
- package/lib/containers/destination-selection-form/destination-selection-form.stories.d.ts +0 -9
- package/lib/containers/destination-table/destination-table.stories.d.ts +0 -9
- package/lib/containers/dropdowns/connection-status-dropdown/connection-status-dropdown.stories.d.ts +0 -9
- package/lib/containers/dropdowns/connection-type-dropdown/connection-type-dropdown.stories.d.ts +0 -9
- package/lib/containers/dropdowns/error-dropdown/error-dropdown.stories.d.ts +0 -9
- package/lib/containers/dropdowns/kind-dropdown/error-dropdown.stories.d.ts +0 -9
- package/lib/containers/dropdowns/language-dropdown/language-dropdown.stories.d.ts +0 -9
- package/lib/containers/dropdowns/monitor-dropdown/monitor-dropdown.stories.d.ts +0 -9
- package/lib/containers/dropdowns/namespace-dropdown/namespace-dropdown.stories.d.ts +0 -9
- package/lib/containers/instrumentation-rule-drawer/instrumentation-rule-drawer.stories.d.ts +0 -9
- package/lib/containers/instrumentation-rule-form/instrumentation-rule-form.stories.d.ts +0 -9
- package/lib/containers/instrumentation-rule-modal/instrumentation-rule-modal.stories.d.ts +0 -9
- package/lib/containers/instrumentation-rule-table/instrumentation-rule-table.stories.d.ts +0 -9
- package/lib/containers/multi-source-control/multi-source-control.stories.d.ts +0 -9
- package/lib/containers/notification-manager/notification-manager.stories.d.ts +0 -9
- package/lib/containers/overview-drawer/overview-drawer.stories.d.ts +0 -9
- package/lib/containers/side-nav/side-nav.stories.d.ts +0 -9
- package/lib/containers/slack-invite/slack-invite.stories.d.ts +0 -9
- package/lib/containers/source-drawer/source-drawer.stories.d.ts +0 -9
- package/lib/containers/source-form/source-form.stories.d.ts +0 -9
- package/lib/containers/source-modal/source-modal.stories.d.ts +0 -9
- package/lib/containers/source-selection-form/fast/index.d.ts +0 -7
- package/lib/containers/source-selection-form/simple/controls/index.d.ts +0 -9
- package/lib/containers/source-selection-form/simple/index.d.ts +0 -7
- package/lib/containers/source-selection-form/simple/list/index.d.ts +0 -8
- package/lib/containers/source-selection-form/source-selection-form.stories.d.ts +0 -9
- package/lib/containers/source-table/source-table.stories.d.ts +0 -9
- package/lib/containers/system-overview/system-overview.stories.d.ts +0 -9
- package/lib/containers/table-cell-conditions/table-cell-conditions.stories.d.ts +0 -9
- package/lib/containers/toast-list/toast-list.stories.d.ts +0 -9
- package/lib/containers/toggle-dark-mode/toggle-dark-mode.stories.d.ts +0 -9
- package/lib/icons/actions/add-cluster-info-icon/add-cluster-info-icon.stories.d.ts +0 -8
- package/lib/icons/actions/delete-attribute-icon/delete-attribute-icon.stories.d.ts +0 -8
- package/lib/icons/actions/pii-masking-icon/pii-masking-icon.stories.d.ts +0 -8
- package/lib/icons/actions/rename-attribute-icon/rename-attribute-icon.stories.d.ts +0 -8
- package/lib/icons/actions/sampler-icon/sampler-icon.stories.d.ts +0 -8
- package/lib/icons/brand/odigos-logo/odigos-logo.stories.d.ts +0 -8
- package/lib/icons/brand/odigos-logo-text/odigos-logo-text.stories.d.ts +0 -8
- package/lib/icons/common/arrow-icon/arrow-icon.stories.d.ts +0 -8
- package/lib/icons/common/code-brackets-icon/code-brackets-icon.stories.d.ts +0 -8
- package/lib/icons/common/code-icon/code-icon.stories.d.ts +0 -8
- package/lib/icons/common/command-icon/command-icon.stories.d.ts +0 -8
- package/lib/icons/common/copy-icon/copy-icon.stories.d.ts +0 -8
- package/lib/icons/common/edit-icon/edit-icon.stories.d.ts +0 -8
- package/lib/icons/common/extend-arrow-icon/extend-arrow-icon.stories.d.ts +0 -8
- package/lib/icons/common/filter-icon/filter-icon.stories.d.ts +0 -8
- package/lib/icons/common/folder-icon/folder-icon.stories.d.ts +0 -8
- package/lib/icons/common/image-error-icon/image-error-icon.stories.d.ts +0 -8
- package/lib/icons/common/key-icon/key-icon.stories.d.ts +0 -8
- package/lib/icons/common/list-icon/list-icon.stories.d.ts +0 -8
- package/lib/icons/common/no-data-icon/no-data-icon.stories.d.ts +0 -8
- package/lib/icons/common/notebook-icon/notebook-icon.stories.d.ts +0 -8
- package/lib/icons/common/notification-icon/notification-icon.stories.d.ts +0 -8
- package/lib/icons/common/search-icon/search-icon.stories.d.ts +0 -8
- package/lib/icons/common/sort-arrows-icon/sort-arrows-icon.stories.d.ts +0 -8
- package/lib/icons/common/terminal-icon/terminal-icon.stories.d.ts +0 -8
- package/lib/icons/common/trash-icon/trash-icon.stories.d.ts +0 -8
- package/lib/icons/common/x-icon/x-icon.stories.d.ts +0 -8
- package/lib/icons/compute-platform/k8s-logo/k8s-logo.stories.d.ts +0 -8
- package/lib/icons/compute-platform/vm-logo/vm-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/app-dynamics-logo/app-dynamics-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/aws-cloudwatch-logo/aws-cloudwatch-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/aws-s3-logo/aws-s3-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/aws-xray-logo/aws-xray-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/axiom-logo/axiom-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/better-stack-logo/better-stack-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/blob-storage-logo/blob-storage-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/causely-logo/causely-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/chronosphere-logo/chronosphere-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/clickhouse-logo/clickhouse-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/coralogix-logo/coralogix-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/dash0-logo/dash0-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/datadog-logo/datadog-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/dynatrace-logo/dynatrace-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/elastic-apm-logo/elastic-apm-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/elastic-search-logo/elastic-search-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/gigapipe-logo/gigapipe-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/google-cloud-platform-logo/google-cloud-platform-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/google-cloud-storage-logo/google-cloud-storage-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/grafana-logo/grafana-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/groundcover-logo/groundcover-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/honeycomb-logo/honeycomb-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/hyperdx-logo/hyperdx-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/instana-logo/instana-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/jaeger-logo/jaeger-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/kafka-logo/kafka-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/kloudmate-logo/kloudmate-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/last9-logo/last9-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/lightstep-logo/lightstep-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/logzio-logo/logzio-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/loki-logo/loki-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/lumigo-logo/lumigo-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/middleware-logo/middleware-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/new-relic-logo/new-relic-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/open-telemetry-logo/open-telemetry-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/ops-verse-logo/ops-verse-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/prometheus-logo/prometheus-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/qryn-logo/qryn-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/quickwit-logo/quickwit-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/sentry-logo/sentry-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/signoz-logo/signoz-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/splunk-logo/splunk-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/sumo-logic-logo/sumo-logic-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/tempo-logo/tempo-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/traceloop-logo/traceloop-logo.stories.d.ts +0 -8
- package/lib/icons/destinations/uptrace-logo/uptrace-logo.stories.d.ts +0 -8
- package/lib/icons/instrumentation-rules/code-attributes-icon/code-attributes-icon.stories.d.ts +0 -8
- package/lib/icons/instrumentation-rules/payload-collection-icon/payload-collection-icon.stories.d.ts +0 -8
- package/lib/icons/math/minus-icon/minus-icon.stories.d.ts +0 -8
- package/lib/icons/math/plus-icon/plus-icon.stories.d.ts +0 -8
- package/lib/icons/monitors/logs-icon/logs-icon.stories.d.ts +0 -8
- package/lib/icons/monitors/metrics-icon/metrics-icon.stories.d.ts +0 -8
- package/lib/icons/monitors/traces-icon/traces-icon.stories.d.ts +0 -8
- package/lib/icons/on-off/eye-closed-icon/eye-closed-icon.stories.d.ts +0 -8
- package/lib/icons/on-off/eye-open-icon/eye-open-icon.stories.d.ts +0 -8
- package/lib/icons/on-off/light-off-icon/light-off-icon.stories.d.ts +0 -8
- package/lib/icons/on-off/light-on-icon/light-on-icon.stories.d.ts +0 -8
- package/lib/icons/on-off/moon-icon/moon-icon.stories.d.ts +0 -8
- package/lib/icons/on-off/sun-icon/sun-icon.stories.d.ts +0 -8
- package/lib/icons/overview/actions-icon/actions-icon.stories.d.ts +0 -8
- package/lib/icons/overview/connections-icon/connections-icon.stories.d.ts +0 -8
- package/lib/icons/overview/destinations-icon/destinations-icon.stories.d.ts +0 -8
- package/lib/icons/overview/namespaces-icon/namespaces-icon.stories.d.ts +0 -8
- package/lib/icons/overview/overview-icon/overview-icon.stories.d.ts +0 -8
- package/lib/icons/overview/rules-icon/rules-icon.stories.d.ts +0 -8
- package/lib/icons/overview/service-map-icon/service-map-icon.stories.d.ts +0 -8
- package/lib/icons/overview/sources-icon/sources-icon.stories.d.ts +0 -8
- package/lib/icons/overview/trace-view-icon/trace-view-icon.stories.d.ts +0 -8
- package/lib/icons/programming-languages/c-plus-plus-logo/c-plus-plus-logo.stories.d.ts +0 -8
- package/lib/icons/programming-languages/c-sharp-logo/c-sharp-logo.stories.d.ts +0 -8
- package/lib/icons/programming-languages/dotnet-logo/dotnet-logo.stories.d.ts +0 -8
- package/lib/icons/programming-languages/elixir-logo/elixir-logo.stories.d.ts +0 -8
- package/lib/icons/programming-languages/go-logo/go-logo.stories.d.ts +0 -8
- package/lib/icons/programming-languages/java-logo/java-logo.stories.d.ts +0 -8
- package/lib/icons/programming-languages/mysql-logo/mysql-logo.stories.d.ts +0 -8
- package/lib/icons/programming-languages/nginx-logo/nginx-logo.stories.d.ts +0 -8
- package/lib/icons/programming-languages/nodejs-logo/nodejs-logo.stories.d.ts +0 -8
- package/lib/icons/programming-languages/php-logo/php-logo.stories.d.ts +0 -8
- package/lib/icons/programming-languages/postgres-logo/postgres-logo.stories.d.ts +0 -8
- package/lib/icons/programming-languages/python-logo/python-logo.stories.d.ts +0 -8
- package/lib/icons/programming-languages/redis-logo/redis-logo.stories.d.ts +0 -8
- package/lib/icons/programming-languages/ruby-logo/ruby-logo.stories.d.ts +0 -8
- package/lib/icons/programming-languages/rust-logo/rust-logo.stories.d.ts +0 -8
- package/lib/icons/programming-languages/swift-logo/swift-logo.stories.d.ts +0 -8
- package/lib/icons/social/slack-logo/slack-logo.stories.d.ts +0 -8
- package/lib/icons/status/check-circled-icon/check-circled-icon.stories.d.ts +0 -8
- package/lib/icons/status/check-icon/check-icon.stories.d.ts +0 -8
- package/lib/icons/status/cross-circled-icon/cross-circled-icon.stories.d.ts +0 -8
- package/lib/icons/status/cross-icon/cross-icon.stories.d.ts +0 -8
- package/lib/icons/status/error-round-icon/error-round-icon.stories.d.ts +0 -8
- package/lib/icons/status/error-triangle-icon/error-triangle-icon.stories.d.ts +0 -8
- package/lib/icons/status/info-icon/info-icon.stories.d.ts +0 -8
- package/lib/icons/status/warning-triangle-icon/warning-triangle-icon.stories.d.ts +0 -8
- /package/lib/containers/source-selection-form/{fast/controls → controls}/index.d.ts +0 -0
- /package/lib/containers/source-selection-form/{fast/list → list}/index.d.ts +0 -0
package/lib/containers.js
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
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 { A as ACTION_OPTIONS, M as MONITORS_OPTIONS, I as INSTRUMENTATION_RULE_OPTIONS } from './index-
|
|
3
|
+
import { A as ACTION_OPTIONS, M as MONITORS_OPTIONS, I as INSTRUMENTATION_RULE_OPTIONS } from './index-jPxFCX-5.js';
|
|
4
4
|
import { D as DISPLAY_TITLES, F as FORM_ALERTS } from './index-C_0J5P9M.js';
|
|
5
5
|
import { ActionType, EntityTypes, StatusType, Crud, OtherStatus, NodeTypes, AddNodeTypes, EdgeTypes, FieldTypes, SignalType, CodeAttributesKeyTypes, PayloadCollectionKeyTypes, InstrumentationRuleType } from './types.js';
|
|
6
|
-
import { f as DataCardFieldTypes, p as FieldLabel, b as Checkbox, o as FieldError, v as Input, x as InputTable, K as KeyValueInputsList, w as InputList, U as Text, O as Segment, S as SectionTitle, j as DocsButton, z as MonitorsCheckboxes, V as TextArea, k as Drawer, h as DeleteWarning, C as CancelWarning, d as ConditionDetails, D as DataCard, M as Modal, N as NavigationButtons, a2 as ModalBody, A as AutocompleteInput, i as Divider, Q as Status, _ as FlexRow, X as Tooltip, s as IconWrapped, G as MonitorsIcons, a3 as TableContainer, a4 as TableTitleWrap, r as IconTitleBadge, a5 as TableWrap, y as InteractiveTable, a0 as CenterThis, J as NoDataFound, $ as FlexColumn, Y as TraceLoader, a as Badge, B as Button, E as ExtendArrow, n as Dropdown, a6 as getDefaultExportFromCjs, F as FadeLoader, g as DataTab, P as SkeletonLoader, W as Toggle, L as NotificationNote, R as Stepper, I as IconButton, e as DataCardFields, t as IconsNav, q as IconGroup } from './index-
|
|
7
|
-
import { g as usePendingStore, f as useNotificationStore, a as useDrawerStore, b as useEntityStore, e as useModalStore, c as useFilterStore, s as styleInject, h as useSelectedStore, d as useInstrumentStore, j as getEntityId, i as useSetupStore, u as useDarkMode } from './index-
|
|
6
|
+
import { f as DataCardFieldTypes, p as FieldLabel, b as Checkbox, o as FieldError, v as Input, x as InputTable, K as KeyValueInputsList, w as InputList, U as Text, O as Segment, S as SectionTitle, j as DocsButton, z as MonitorsCheckboxes, V as TextArea, k as Drawer, h as DeleteWarning, C as CancelWarning, d as ConditionDetails, D as DataCard, M as Modal, N as NavigationButtons, a2 as ModalBody, A as AutocompleteInput, i as Divider, Q as Status, _ as FlexRow, X as Tooltip, s as IconWrapped, G as MonitorsIcons, a3 as TableContainer, a4 as TableTitleWrap, r as IconTitleBadge, a5 as TableWrap, y as InteractiveTable, a0 as CenterThis, J as NoDataFound, $ as FlexColumn, Y as TraceLoader, a as Badge, B as Button, E as ExtendArrow, n as Dropdown, a6 as getDefaultExportFromCjs, F as FadeLoader, g as DataTab, P as SkeletonLoader, W as Toggle, L as NotificationNote, R as Stepper, I as IconButton, e as DataCardFields, t as IconsNav, q as IconGroup } from './index-Bb7VdYPG.js';
|
|
7
|
+
import { g as usePendingStore, f as useNotificationStore, a as useDrawerStore, b as useEntityStore, e as useModalStore, c as useFilterStore, s as styleInject, h as useSelectedStore, d as useInstrumentStore, j as getEntityId, i as useSetupStore, u as useDarkMode } from './index-Bdimyacn.js';
|
|
8
8
|
import Theme from './theme.js';
|
|
9
9
|
import { i as isEmpty, s as safeJsonParse } from './index-BZS1ijMm.js';
|
|
10
|
-
import { i as CheckCircledIcon,
|
|
11
|
-
import { C as CrossCircledIcon, E as EditIcon, O as OdigosLogoText,
|
|
12
|
-
import { g as getActionIcon, a as getInstrumentationRuleIcon } from './index-
|
|
13
|
-
import { u as useActionFormData, a as useClickNode, c as useDestinationFormData, b as useClickNotification, d as useSourceFormData, e as useSourceSelectionFormData } from './useSourceSelectionFormData-
|
|
14
|
-
import { d as useKeyDown, e as useOnClickOutside, u as useContainerSize, c as useInstrumentationRuleFormData, g as useTransition, f as useTimeAgo, a as useCopy } from './useTransition-
|
|
15
|
-
import { T as TrashIcon, S as SearchIcon, P as PlusIcon$1, A as ArrowIcon, a as CopyIcon, f as CheckIcon, g as CrossIcon } from './index-
|
|
16
|
-
import { m as mapConditions, b as getStatusIcon, c as capitalizeFirstLetter } from './index-
|
|
17
|
-
import { f as filterActions, g as getConditionsBooleans, k as getEntityLabel, j as getEntityIcon, s as sleep$1, m as getPlatformIcon, n as getPlatformLabel, d as formatBytes, h as getContainersIcons, o as getValueForRange, i as getDestinationIcon, b as filterSources, a as filterDestinations, c as compareCondition, l as getMetricForEntity, p as getWorkloadId, e as getContainersInstrumentedCount, q as isOverTime } from './index-
|
|
10
|
+
import { i as CheckCircledIcon, O as OdigosLogo } from './index-BsH_egEe.js';
|
|
11
|
+
import { C as CrossCircledIcon, E as EditIcon, O as OdigosLogoText, a as OverviewIcon, F as FilterIcon, N as NotificationIcon, S as SlackLogo, K as KeyIcon, T as TerminalIcon } from './index-KOMAv-TS.js';
|
|
12
|
+
import { g as getActionIcon, a as getInstrumentationRuleIcon } from './index-BlJU2fGe.js';
|
|
13
|
+
import { u as useActionFormData, a as useClickNode, c as useDestinationFormData, b as useClickNotification, d as useSourceFormData, e as useSourceSelectionFormData } from './useSourceSelectionFormData-LmLZzJyk.js';
|
|
14
|
+
import { d as useKeyDown, e as useOnClickOutside, u as useContainerSize, c as useInstrumentationRuleFormData, g as useTransition, f as useTimeAgo, a as useCopy } from './useTransition-WRhgkuG2.js';
|
|
15
|
+
import { T as TrashIcon, S as SearchIcon, P as PlusIcon$1, A as ArrowIcon, a as CopyIcon, f as CheckIcon, g as CrossIcon } from './index-BJxaoI0G.js';
|
|
16
|
+
import { m as mapConditions, b as getStatusIcon, c as capitalizeFirstLetter } from './index-CVs2NNg9.js';
|
|
17
|
+
import { f as filterActions, g as getConditionsBooleans, k as getEntityLabel, j as getEntityIcon, s as sleep$1, m as getPlatformIcon, n as getPlatformLabel, d as formatBytes, h as getContainersIcons, o as getValueForRange, i as getDestinationIcon, b as filterSources, a as filterDestinations, c as compareCondition, l as getMetricForEntity, p as getWorkloadId, e as getContainersInstrumentedCount, q as isOverTime } from './index-CT0qszYw.js';
|
|
18
18
|
import require$$1 from 'use-sync-external-store/shim';
|
|
19
19
|
import { createPortal } from 'react-dom';
|
|
20
|
-
import { O as OdigosLogo } from './index-BGlk5VhF.js';
|
|
21
20
|
import { R as RulesIcon, W as SourcesIcon, y as ActionsIcon, z as DestinationsIcon } from './index-DB8Djrsy.js';
|
|
21
|
+
import './index-DGel4E-Z.js';
|
|
22
22
|
import 'babel-runtime/helpers/extends';
|
|
23
23
|
import 'babel-runtime/core-js/object/get-prototype-of';
|
|
24
24
|
import 'babel-runtime/helpers/classCallCheck';
|
|
@@ -307,7 +307,7 @@ const CustomFields$1 = ({ actionType, value, setValue, formErrors }) => {
|
|
|
307
307
|
return Component ? React.createElement(Component, { value: value, setValue: setValue, formErrors: formErrors }) : null;
|
|
308
308
|
};
|
|
309
309
|
|
|
310
|
-
const Container$
|
|
310
|
+
const Container$l = styled.div `
|
|
311
311
|
display: flex;
|
|
312
312
|
flex-direction: column;
|
|
313
313
|
gap: 24px;
|
|
@@ -318,7 +318,7 @@ const FieldTitle$1 = styled(Text) `
|
|
|
318
318
|
`;
|
|
319
319
|
const ActionForm = ({ isUpdate, action, formData, formErrors, handleFormChange }) => {
|
|
320
320
|
const theme = Theme.useTheme();
|
|
321
|
-
return (React.createElement(Container$
|
|
321
|
+
return (React.createElement(Container$l, null,
|
|
322
322
|
isUpdate && (React.createElement("div", null,
|
|
323
323
|
React.createElement(FieldTitle$1, null, "Status"),
|
|
324
324
|
React.createElement(Segment, { options: [
|
|
@@ -332,7 +332,7 @@ const ActionForm = ({ isUpdate, action, formData, formErrors, handleFormChange }
|
|
|
332
332
|
React.createElement(TextArea, { title: 'Notes', value: formData['notes'], onChange: ({ target: { value } }) => handleFormChange('notes', value), errorMessage: formErrors['notes'] })));
|
|
333
333
|
};
|
|
334
334
|
|
|
335
|
-
const OverviewDrawer = forwardRef(({ children, width = 640, title, titleTooltip,
|
|
335
|
+
const OverviewDrawer = forwardRef(({ children, width = 640, title, titleTooltip, icons, iconSrcs, isEdit = false, isFormDirty = false, isLastItem = false, onEdit, onSave, onDelete, onCancel, tabs }, drawerRef) => {
|
|
336
336
|
const theme = Theme.useTheme();
|
|
337
337
|
const { isThisPending } = usePendingStore();
|
|
338
338
|
const { addNotification } = useNotificationStore();
|
|
@@ -420,8 +420,8 @@ const OverviewDrawer = forwardRef(({ children, width = 640, title, titleTooltip,
|
|
|
420
420
|
});
|
|
421
421
|
return (React.createElement(React.Fragment, null,
|
|
422
422
|
React.createElement(Drawer, { isOpen: true, onClose: isEdit ? clickCancel : closeDrawer, closeOnEscape: !isDeleteModalOpen && !isCancelModalOpen, width: `${width + 64}px`, header: {
|
|
423
|
-
|
|
424
|
-
|
|
423
|
+
icons,
|
|
424
|
+
iconSrcs,
|
|
425
425
|
title,
|
|
426
426
|
titleTooltip,
|
|
427
427
|
replaceTitleWith: !isSource && isEdit ? React.createElement(EditTitle, { ref: titleRef, title: title }) : undefined,
|
|
@@ -528,7 +528,7 @@ const ActionDrawer = ({ updateAction, deleteAction }) => {
|
|
|
528
528
|
setIsFormDirty(false);
|
|
529
529
|
}
|
|
530
530
|
};
|
|
531
|
-
return (React.createElement(OverviewDrawer, { ref: drawerRef, title: thisItem.spec.actionName || thisItem.type,
|
|
531
|
+
return (React.createElement(OverviewDrawer, { ref: drawerRef, title: thisItem.spec.actionName || thisItem.type, icons: [getActionIcon(thisItem.type)], isEdit: isEditing, isFormDirty: isFormDirty, onEdit: handleEdit, onSave: handleSave, onDelete: handleDelete, onCancel: handleCancel }, isEditing && thisOptionType ? (React.createElement(FormContainer$3, null,
|
|
532
532
|
React.createElement(ActionForm, { isUpdate: true, action: thisOptionType, formData: formData, formErrors: formErrors, handleFormChange: (...params) => {
|
|
533
533
|
setIsFormDirty(true);
|
|
534
534
|
handleFormChange(...params);
|
|
@@ -746,7 +746,7 @@ const ActionTable = ({ maxHeight, maxWidth }) => {
|
|
|
746
746
|
React.createElement(NoDataFound, null)))));
|
|
747
747
|
};
|
|
748
748
|
|
|
749
|
-
const Container$
|
|
749
|
+
const Container$k = styled(FlexColumn) `
|
|
750
750
|
// width: 100vw;
|
|
751
751
|
// height: 100vh;
|
|
752
752
|
gap: 64px;
|
|
@@ -780,7 +780,7 @@ const AwaitPipeline = () => {
|
|
|
780
780
|
useEffect(() => {
|
|
781
781
|
awaitPipeline();
|
|
782
782
|
}, []);
|
|
783
|
-
return (React.createElement(Container$
|
|
783
|
+
return (React.createElement(Container$k, null,
|
|
784
784
|
React.createElement(OdigosLogoText, { size: 100 }),
|
|
785
785
|
React.createElement(TraceLoader, { width: 400 }),
|
|
786
786
|
React.createElement(TextWrap, null,
|
|
@@ -1060,7 +1060,7 @@ const KindDropdown = ({ title = 'Kind', value, onSelect, onDeselect, ...props })
|
|
|
1060
1060
|
return React.createElement(Dropdown, { disabled: !options?.length, title: title, placeholder: 'All', options: options, value: value, onSelect: onSelect, onDeselect: onDeselect, ...props });
|
|
1061
1061
|
};
|
|
1062
1062
|
|
|
1063
|
-
const Container$
|
|
1063
|
+
const Container$j = styled.div `
|
|
1064
1064
|
display: flex;
|
|
1065
1065
|
align-items: center;
|
|
1066
1066
|
margin: 20px 0;
|
|
@@ -1080,7 +1080,7 @@ const ComputePlatformsActionsMenu = ({ connections }) => {
|
|
|
1080
1080
|
useEffect(() => {
|
|
1081
1081
|
return () => clearAll();
|
|
1082
1082
|
}, [clearAll]);
|
|
1083
|
-
return (React.createElement(Container$
|
|
1083
|
+
return (React.createElement(Container$j, null,
|
|
1084
1084
|
React.createElement(FlexRow, { "$gap": 16 },
|
|
1085
1085
|
React.createElement(FlexRow, { "$gap": 12 },
|
|
1086
1086
|
React.createElement(Title$1, null, "Compute platforms"),
|
|
@@ -12332,7 +12332,7 @@ ControlsComponent.displayName = 'Controls';
|
|
|
12332
12332
|
* @remarks To extend or customise the controls, you can use the [`<ControlButton />`](/api-reference/components/control-button) component
|
|
12333
12333
|
*
|
|
12334
12334
|
*/
|
|
12335
|
-
const Controls$
|
|
12335
|
+
const Controls$1 = memo(ControlsComponent);
|
|
12336
12336
|
|
|
12337
12337
|
function MiniMapNodeComponent({ id, x, y, width, height, style, color, strokeColor, strokeWidth, className, borderRadius, shapeRendering, selected, onClick, }) {
|
|
12338
12338
|
const { background, backgroundColor } = style || {};
|
|
@@ -12643,7 +12643,7 @@ function ResizeControl({ nodeId, position, variant = ResizeControlVariant.Handle
|
|
|
12643
12643
|
*/
|
|
12644
12644
|
memo(ResizeControl);
|
|
12645
12645
|
|
|
12646
|
-
const Container$
|
|
12646
|
+
const Container$i = styled(FlexColumn) `
|
|
12647
12647
|
align-items: center !important;
|
|
12648
12648
|
justify-content: center;
|
|
12649
12649
|
align-self: stretch;
|
|
@@ -12680,7 +12680,7 @@ const AddNode = memo(({ id: nodeId, data }) => {
|
|
|
12680
12680
|
const { isThisPending } = usePendingStore();
|
|
12681
12681
|
const entity = nodeId.split('-')[0];
|
|
12682
12682
|
const isPending = isThisPending({ entityType: entity });
|
|
12683
|
-
return (React.createElement(Container$
|
|
12683
|
+
return (React.createElement(Container$i, { "$nodeWidth": nodeWidth, className: 'nowheel nodrag' },
|
|
12684
12684
|
isPending ? (React.createElement(Fragment, null,
|
|
12685
12685
|
React.createElement(TitleWrapper, null,
|
|
12686
12686
|
React.createElement(FadeLoader, null),
|
|
@@ -12697,17 +12697,23 @@ const AddNode = memo(({ id: nodeId, data }) => {
|
|
|
12697
12697
|
React.createElement(Handle, { type: 'source', position: Position.Right, style: { visibility: 'hidden' } })));
|
|
12698
12698
|
});
|
|
12699
12699
|
|
|
12700
|
-
const Container$
|
|
12700
|
+
const Container$h = styled.div `
|
|
12701
12701
|
width: ${({ $nodeWidth }) => `${$nodeWidth}px`};
|
|
12702
12702
|
`;
|
|
12703
12703
|
const BaseNode = memo(({ id: nodeId, data }) => {
|
|
12704
|
+
const theme = Theme.useTheme();
|
|
12704
12705
|
const { nodeWidth, id: entityId, type: entityType, status, faded, title, subTitle, icon, icons, iconSrc, iconSrcs, monitors, isActive, raw } = data;
|
|
12705
12706
|
const isSource = entityType === EntityTypes.Source;
|
|
12707
|
+
const hasActiveBoolean = typeof isActive === 'boolean';
|
|
12706
12708
|
const { isThisPending } = usePendingStore();
|
|
12707
12709
|
const isPending = isThisPending({ entityType, entityId });
|
|
12708
12710
|
const renderActions = () => {
|
|
12711
|
+
const StatusIcon = hasActiveBoolean ? getStatusIcon(isActive ? StatusType.Success : StatusType.Info, theme) : status && getStatusIcon(status, theme);
|
|
12712
|
+
const statusTooltipText = hasActiveBoolean ? `${entityType} is ${isActive ? 'active' : 'inactive'}` : undefined;
|
|
12709
12713
|
const sourceIsInstrumenting = isSource && (!raw.conditions?.length || raw.conditions?.some(({ status }) => status === 'loading'));
|
|
12710
|
-
|
|
12714
|
+
// TODO: handle action/icon to apply instrumentation-rules for individual sources (@Notion GEN-1650)
|
|
12715
|
+
return isPending ? (React.createElement(FadeLoader, null)) : StatusIcon ? (React.createElement(Tooltip, { text: statusTooltipText },
|
|
12716
|
+
React.createElement(StatusIcon, { size: 20 }))) : sourceIsInstrumenting ? (React.createElement(FadeLoader, null)) : null;
|
|
12711
12717
|
};
|
|
12712
12718
|
const { selectedSources, setSelectedSources } = useSelectedStore();
|
|
12713
12719
|
const namespaces = { ...selectedSources };
|
|
@@ -12724,7 +12730,7 @@ const BaseNode = memo(({ id: nodeId, data }) => {
|
|
|
12724
12730
|
}
|
|
12725
12731
|
setSelectedSources(namespaces);
|
|
12726
12732
|
};
|
|
12727
|
-
return (React.createElement(Container$
|
|
12733
|
+
return (React.createElement(Container$h, { "data-id": nodeId, "$nodeWidth": nodeWidth, className: 'nowheel nodrag' },
|
|
12728
12734
|
React.createElement(DataTab, { title: title, subTitle: subTitle, onClick: () => { }, renderActions: renderActions, iconProps: {
|
|
12729
12735
|
icon: icon,
|
|
12730
12736
|
icons: icons,
|
|
@@ -12732,9 +12738,8 @@ const BaseNode = memo(({ id: nodeId, data }) => {
|
|
|
12732
12738
|
iconSrcs: iconSrcs,
|
|
12733
12739
|
}, visualProps: {
|
|
12734
12740
|
status: status,
|
|
12735
|
-
faded: faded,
|
|
12741
|
+
faded: faded || (hasActiveBoolean && !isActive),
|
|
12736
12742
|
monitors: monitors,
|
|
12737
|
-
isActive: isActive,
|
|
12738
12743
|
}, checkboxProps: {
|
|
12739
12744
|
withCheckbox: isSource,
|
|
12740
12745
|
isChecked: sourceIndex !== -1,
|
|
@@ -12745,19 +12750,19 @@ const BaseNode = memo(({ id: nodeId, data }) => {
|
|
|
12745
12750
|
React.createElement(Handle, { type: 'source', position: Position.Right, style: { visibility: 'hidden' } })));
|
|
12746
12751
|
});
|
|
12747
12752
|
|
|
12748
|
-
const Container$
|
|
12753
|
+
const Container$g = styled.div `
|
|
12749
12754
|
width: ${({ $nodeWidth }) => `${$nodeWidth}px`};
|
|
12750
12755
|
height: ${({ $nodeHeight }) => `${$nodeHeight}px`};
|
|
12751
12756
|
opacity: 0;
|
|
12752
12757
|
`;
|
|
12753
12758
|
const EdgedNode = memo(({ data }) => {
|
|
12754
12759
|
const { nodeWidth, nodeHeight } = data;
|
|
12755
|
-
return (React.createElement(Container$
|
|
12760
|
+
return (React.createElement(Container$g, { "$nodeWidth": nodeWidth, "$nodeHeight": nodeHeight, className: 'nowheel nodrag' },
|
|
12756
12761
|
React.createElement(Handle, { type: 'source', position: Position.Right, style: { visibility: 'hidden' } }),
|
|
12757
12762
|
React.createElement(Handle, { type: 'target', position: Position.Left, style: { visibility: 'hidden' } })));
|
|
12758
12763
|
});
|
|
12759
12764
|
|
|
12760
|
-
const Container$
|
|
12765
|
+
const Container$f = styled.div `
|
|
12761
12766
|
width: ${({ $nodeWidth }) => $nodeWidth}px;
|
|
12762
12767
|
height: ${({ $nodeHeight }) => $nodeHeight}px;
|
|
12763
12768
|
background: transparent;
|
|
@@ -12766,12 +12771,12 @@ const Container$g = styled.div `
|
|
|
12766
12771
|
`;
|
|
12767
12772
|
const FrameNode = memo(({ data }) => {
|
|
12768
12773
|
const { nodeWidth, nodeHeight } = data;
|
|
12769
|
-
return (React.createElement(Container$
|
|
12774
|
+
return (React.createElement(Container$f, { "$nodeWidth": nodeWidth, "$nodeHeight": nodeHeight, className: 'nowheel nodrag' },
|
|
12770
12775
|
React.createElement(Handle, { type: 'source', position: Position.Right, style: { visibility: 'hidden' } }),
|
|
12771
12776
|
React.createElement(Handle, { type: 'target', position: Position.Left, style: { visibility: 'hidden' } })));
|
|
12772
12777
|
});
|
|
12773
12778
|
|
|
12774
|
-
const Container$
|
|
12779
|
+
const Container$e = styled.div `
|
|
12775
12780
|
position: relative;
|
|
12776
12781
|
z-index: 1;
|
|
12777
12782
|
width: ${({ $nodeWidth }) => $nodeWidth}px;
|
|
@@ -12832,7 +12837,7 @@ const ScrollNode = memo(({ data, ...rest }) => {
|
|
|
12832
12837
|
current?.addEventListener('scroll', handleScroll);
|
|
12833
12838
|
return () => current?.removeEventListener('scroll', handleScroll);
|
|
12834
12839
|
}, [onScroll]);
|
|
12835
|
-
return (React.createElement(Container$
|
|
12840
|
+
return (React.createElement(Container$e, { ref: containerRef, "$nodeWidth": nodeWidth, "$nodeHeight": nodeHeight, className: 'nowheel nodrag' },
|
|
12836
12841
|
items.map((item) => (React.createElement(BaseNodeWrapper, { key: item.id, "$framePadding": item.data.framePadding, onClick: (e) => {
|
|
12837
12842
|
e.stopPropagation();
|
|
12838
12843
|
// @ts-ignore
|
|
@@ -12842,7 +12847,7 @@ const ScrollNode = memo(({ data, ...rest }) => {
|
|
|
12842
12847
|
React.createElement(LoadMoreWrapper, { "$hide": isBottomOfList })));
|
|
12843
12848
|
});
|
|
12844
12849
|
|
|
12845
|
-
const Container$
|
|
12850
|
+
const Container$d = styled.div `
|
|
12846
12851
|
position: relative;
|
|
12847
12852
|
width: ${({ $nodeWidth }) => `${$nodeWidth}px`};
|
|
12848
12853
|
padding: 12px 0px 16px 0px;
|
|
@@ -12911,7 +12916,7 @@ const HeaderNode = memo(({ id: nodeId, data }) => {
|
|
|
12911
12916
|
setSelectedSources({});
|
|
12912
12917
|
}
|
|
12913
12918
|
};
|
|
12914
|
-
return (React.createElement(Container$
|
|
12919
|
+
return (React.createElement(Container$d, { "$nodeWidth": nodeWidth, className: 'nowheel nodrag' },
|
|
12915
12920
|
entityType === EntityTypes.Source && (React.createElement(SelectorWrapper, null,
|
|
12916
12921
|
React.createElement(Checkbox, { partiallyChecked: hasSelected && sources?.length !== totalSelectedSources, value: hasSelected && sources?.length === totalSelectedSources, onChange: onSelect, disabled: !sources?.length }))),
|
|
12917
12922
|
React.createElement(IconTitleBadge, { icon: Icon, title: title, badge: isSourceAwaitingInstrumentation ? `${instrumentingPercent}%` : badge, badgeTooltip: badgeTooltip, loading: isFetching && !isSourceAwaitingInstrumentation }),
|
|
@@ -12973,12 +12978,12 @@ const LabeledEdge = memo(({ id, sourceX, sourceY, targetX, targetY, sourcePositi
|
|
|
12973
12978
|
React.createElement(Tooltip, { text: 'Heads up! The data-flow metrics you see are calculated over 10-second intervals.' }, data?.label)))));
|
|
12974
12979
|
});
|
|
12975
12980
|
|
|
12976
|
-
const Container$
|
|
12981
|
+
const Container$c = styled.div `
|
|
12977
12982
|
width: ${({ $nodeWidth }) => `${$nodeWidth}px`};
|
|
12978
12983
|
`;
|
|
12979
12984
|
const SkeletonNode = memo(({ id: nodeId, data }) => {
|
|
12980
12985
|
const { nodeWidth } = data;
|
|
12981
|
-
return (React.createElement(Container$
|
|
12986
|
+
return (React.createElement(Container$c, { "data-id": nodeId, "$nodeWidth": nodeWidth, className: 'nowheel nodrag' },
|
|
12982
12987
|
React.createElement(SkeletonLoader, { size: 3 })));
|
|
12983
12988
|
});
|
|
12984
12989
|
|
|
@@ -13020,7 +13025,7 @@ const Flow = ({ nodes, edges, onNodesChange, onEdgesChange }) => {
|
|
|
13020
13025
|
return (React.createElement(FlowWrapper, null,
|
|
13021
13026
|
React.createElement(index, { fitView: false, zoomOnScroll: false, nodes: nodes, nodeTypes: nodeTypes, edges: edges, edgeTypes: edgeTypes, onNodeClick: onClickNode, onNodesChange: (changes) => setTimeout(() => onNodesChange(changes), 0), onEdgesChange: (changes) => setTimeout(() => onEdgesChange(changes), 0) },
|
|
13022
13027
|
React.createElement(ControllerWrapper, null,
|
|
13023
|
-
React.createElement(Controls$
|
|
13028
|
+
React.createElement(Controls$1, { position: 'bottom-right', orientation: 'horizontal', showInteractive: false, showZoom: true, showFitView: true, fitViewOptions: {
|
|
13024
13029
|
duration: 300,
|
|
13025
13030
|
padding: 0.02,
|
|
13026
13031
|
includeHiddenNodes: true,
|
|
@@ -13483,7 +13488,7 @@ const buildDestinationNodes = ({ loading, entities, positions, unfilteredCount }
|
|
|
13483
13488
|
return nodes;
|
|
13484
13489
|
};
|
|
13485
13490
|
|
|
13486
|
-
const Container$
|
|
13491
|
+
const Container$b = styled.div `
|
|
13487
13492
|
width: 100%;
|
|
13488
13493
|
height: ${({ $heightToRemove }) => `calc(100vh - ${$heightToRemove})`};
|
|
13489
13494
|
position: relative;
|
|
@@ -13556,7 +13561,7 @@ const DataFlow = ({ heightToRemove, metrics }) => {
|
|
|
13556
13561
|
});
|
|
13557
13562
|
handleNodesChanged(ruleNodes, EntityTypes.InstrumentationRule);
|
|
13558
13563
|
}, [instrumentationRules, instrumentationRulesLoading, positions[EntityTypes.InstrumentationRule]]);
|
|
13559
|
-
return (React.createElement(Container$
|
|
13564
|
+
return (React.createElement(Container$b, { ref: containerRef, "$heightToRemove": heightToRemove },
|
|
13560
13565
|
React.createElement(Flow, { nodes: nodes, edges: edges, onNodesChange: onNodesChange, onEdgesChange: onEdgesChange })));
|
|
13561
13566
|
};
|
|
13562
13567
|
|
|
@@ -13695,7 +13700,7 @@ const FormWrapper = styled.div `
|
|
|
13695
13700
|
gap: 12px;
|
|
13696
13701
|
padding: 12px;
|
|
13697
13702
|
`;
|
|
13698
|
-
const ToggleWrapper
|
|
13703
|
+
const ToggleWrapper = styled.div `
|
|
13699
13704
|
padding: 12px 6px 6px 6px;
|
|
13700
13705
|
`;
|
|
13701
13706
|
const Actions = styled.div `
|
|
@@ -13768,7 +13773,7 @@ const Filters$1 = () => {
|
|
|
13768
13773
|
React.createElement(KindDropdown, { value: filters['kinds'], onSelect: (val) => setFilters((prev) => ({ ...prev, kinds: [...(prev.kinds || []), val] })), onDeselect: (val) => setFilters((prev) => ({ ...prev, kinds: (prev.kinds || []).filter((opt) => opt.id !== val.id) })), showSearch: true, required: true, isMulti: true }),
|
|
13769
13774
|
React.createElement(LanguageDropdown, { value: filters['languages'], onSelect: (val) => setFilters((prev) => ({ ...prev, languages: [...(prev.languages || []), val] })), onDeselect: (val) => setFilters((prev) => ({ ...prev, languages: (prev.languages || []).filter((opt) => opt.id !== val.id) })), showSearch: true, required: true, isMulti: true }),
|
|
13770
13775
|
React.createElement(MonitorDropdown, { value: filters['monitors'], onSelect: (val) => setFilters((prev) => ({ ...prev, monitors: [...(prev.monitors || []), val] })), onDeselect: (val) => setFilters((prev) => ({ ...prev, monitors: (prev.monitors || []).filter((opt) => opt.id !== val.id) })), showSearch: true, required: true, isMulti: true }),
|
|
13771
|
-
React.createElement(ToggleWrapper
|
|
13776
|
+
React.createElement(ToggleWrapper, null,
|
|
13772
13777
|
React.createElement(Toggle, { title: 'Show only sources with errors', initialValue: filters['onlyErrors'], onChange: (bool) => setFilters((prev) => ({ ...prev, errors: [], onlyErrors: bool })) })),
|
|
13773
13778
|
React.createElement(ErrorDropdown, { value: filters['errors'], onSelect: (val) => setFilters((prev) => ({ ...prev, errors: [...(prev.errors || []), val] })), onDeselect: (val) => setFilters((prev) => ({ ...prev, errors: (prev.errors || []).filter((opt) => opt.id !== val.id) })), disabled: !filters['onlyErrors'], showSearch: true, required: true, isMulti: true })),
|
|
13774
13779
|
React.createElement(Actions, null,
|
|
@@ -13778,7 +13783,7 @@ const Filters$1 = () => {
|
|
|
13778
13783
|
React.createElement(ActionButton$1, { variant: 'tertiary', onClick: onReset, "$color": theme.text.error }, "Reset"))))));
|
|
13779
13784
|
};
|
|
13780
13785
|
|
|
13781
|
-
const Container$
|
|
13786
|
+
const Container$a = styled.div `
|
|
13782
13787
|
display: flex;
|
|
13783
13788
|
align-items: center;
|
|
13784
13789
|
margin: 20px 0;
|
|
@@ -13800,7 +13805,7 @@ const AddButton = styled(Button) `
|
|
|
13800
13805
|
const DataFlowActionsMenu = ({ addEntity }) => {
|
|
13801
13806
|
const theme = Theme.useTheme();
|
|
13802
13807
|
const { setCurrentModal } = useModalStore();
|
|
13803
|
-
return (React.createElement(Container$
|
|
13808
|
+
return (React.createElement(Container$a, null,
|
|
13804
13809
|
React.createElement(Search, null),
|
|
13805
13810
|
React.createElement(Filters$1, null),
|
|
13806
13811
|
addEntity && (React.createElement(PushToEnd, null,
|
|
@@ -13864,7 +13869,7 @@ const DynamicFields = ({ fields, onChange, formErrors }) => {
|
|
|
13864
13869
|
case FieldTypes.Input:
|
|
13865
13870
|
return React.createElement(Input, { key: field.name, ...rest, onChange: (e) => onChange(field.name, e.target.value), errorMessage: formErrors[field.name] });
|
|
13866
13871
|
case FieldTypes.Dropdown:
|
|
13867
|
-
return (React.createElement(Dropdown, { key: field.name, ...rest, value: { id: rest.value || '', value: rest.value || '' }, options: rest.options || [], onSelect: (option) => onChange(field.name, option.value), errorMessage: formErrors[field.name] }));
|
|
13872
|
+
return (React.createElement(Dropdown, { key: field.name, ...rest, showSearch: true, value: { id: rest.value || '', value: rest.value || '' }, options: rest.options || [], onSelect: (option) => onChange(field.name, option.value), errorMessage: formErrors[field.name] }));
|
|
13868
13873
|
case FieldTypes.MultiInput:
|
|
13869
13874
|
return (React.createElement(InputList, { key: field.name, ...rest, value: typeof rest.value === 'string' ? safeJsonParse(rest.value, []) : rest.value, onChange: (value) => onChange(field.name, JSON.stringify(value)), errorMessage: formErrors[field.name] }));
|
|
13870
13875
|
case FieldTypes.KeyValuePair:
|
|
@@ -13918,7 +13923,7 @@ const TestConnection = ({ destination, disabled, status, onError, onSuccess, val
|
|
|
13918
13923
|
React.createElement(Text, { family: 'secondary', decoration: 'underline', size: 14, color: !!status ? theme.text[status] : undefined }, testLoading ? 'Checking' : status === 'success' ? 'Connection OK' : status === 'error' ? 'Connection Failed' : 'Test Connection')));
|
|
13919
13924
|
};
|
|
13920
13925
|
|
|
13921
|
-
const Container$
|
|
13926
|
+
const Container$9 = styled.div `
|
|
13922
13927
|
display: flex;
|
|
13923
13928
|
flex-direction: column;
|
|
13924
13929
|
gap: 24px;
|
|
@@ -13988,7 +13993,7 @@ const DestinationForm = ({ isUpdate, categoryItem, formData, formErrors, validat
|
|
|
13988
13993
|
traces: signals.includes(SignalType.Traces),
|
|
13989
13994
|
});
|
|
13990
13995
|
};
|
|
13991
|
-
return (React.createElement(Container$
|
|
13996
|
+
return (React.createElement(Container$9, null,
|
|
13992
13997
|
!isUpdate && (React.createElement(React.Fragment, null,
|
|
13993
13998
|
React.createElement(SectionTitle, { title: 'Create connection', description: `Connect ${displayName} with Odigos.`, actionButton: testConnectionSupported && (React.createElement(TestConnection, { destination: formData, disabled: !isFormDirty, validateForm: validateForm, status: connectionStatus, testConnection: testConnection, testLoading: testLoading, testResult: testResult, onError: () => {
|
|
13994
13999
|
setIsFormDirty(false);
|
|
@@ -14096,7 +14101,7 @@ const DestinationDrawer = ({ categories, updateDestination, deleteDestination, t
|
|
|
14096
14101
|
setIsFormDirty(false);
|
|
14097
14102
|
}
|
|
14098
14103
|
};
|
|
14099
|
-
return (React.createElement(OverviewDrawer, { ref: drawerRef, title: thisItem.name || thisItem.destinationType.displayName, icon:
|
|
14104
|
+
return (React.createElement(OverviewDrawer, { ref: drawerRef, title: thisItem.name || thisItem.destinationType.displayName, icons: icon ? [icon] : undefined, iconSrcs: iconSrc ? [iconSrc] : undefined, isEdit: isEditing, isFormDirty: isFormDirty, onEdit: handleEdit, onSave: handleSave, onDelete: handleDelete, onCancel: handleCancel, isLastItem: destinations.length === 1 }, isEditing ? (React.createElement(FormContainer$2, null,
|
|
14100
14105
|
React.createElement(DestinationForm, { isUpdate: true, categoryItem: thisOptionType, formData: formData, formErrors: formErrors, handleFormChange: (...params) => {
|
|
14101
14106
|
setIsFormDirty(true);
|
|
14102
14107
|
handleFormChange(...params);
|
|
@@ -14152,7 +14157,7 @@ const PotentialDestinationsList = ({ items, setSelectedItem }) => {
|
|
|
14152
14157
|
})));
|
|
14153
14158
|
};
|
|
14154
14159
|
|
|
14155
|
-
const Container$
|
|
14160
|
+
const Container$8 = styled.div `
|
|
14156
14161
|
display: flex;
|
|
14157
14162
|
flex-direction: column;
|
|
14158
14163
|
gap: 24px;
|
|
@@ -14178,7 +14183,7 @@ const ListsContainer = styled.div `
|
|
|
14178
14183
|
max-height: calc(100vh - 400px);
|
|
14179
14184
|
}
|
|
14180
14185
|
`;
|
|
14181
|
-
const NoDataFoundWrapper$
|
|
14186
|
+
const NoDataFoundWrapper$1 = styled(Container$8) `
|
|
14182
14187
|
margin-top: 80px;
|
|
14183
14188
|
`;
|
|
14184
14189
|
const DROPDOWN_OPTIONS = [
|
|
@@ -14207,7 +14212,7 @@ const ChooseDestinationBody = ({ hidden, categories, potentialDestinations, onSe
|
|
|
14207
14212
|
}, [categories, search, selectedCategory, selectedMonitors]);
|
|
14208
14213
|
if (hidden)
|
|
14209
14214
|
return null;
|
|
14210
|
-
return (React.createElement(Container$
|
|
14215
|
+
return (React.createElement(Container$8, null,
|
|
14211
14216
|
React.createElement(SectionTitle, { title: 'Choose destination', description: 'Add backend destination you want to connect with Odigos.' }),
|
|
14212
14217
|
React.createElement(Filters, null,
|
|
14213
14218
|
React.createElement(WidthConstraint, null,
|
|
@@ -14216,13 +14221,13 @@ const ChooseDestinationBody = ({ hidden, categories, potentialDestinations, onSe
|
|
|
14216
14221
|
React.createElement(Dropdown, { options: DROPDOWN_OPTIONS, value: selectedCategory, onSelect: (opt) => setSelectedCategory(opt), onDeselect: () => { } })),
|
|
14217
14222
|
React.createElement(MonitorsCheckboxes, { title: '', selectedSignals: selectedMonitors, setSelectedSignals: setSelectedMonitors })),
|
|
14218
14223
|
React.createElement(Divider, null),
|
|
14219
|
-
!filteredDestinations.length && !potentialDestinations.length ? (React.createElement(NoDataFoundWrapper$
|
|
14224
|
+
!filteredDestinations.length && !potentialDestinations.length ? (React.createElement(NoDataFoundWrapper$1, null,
|
|
14220
14225
|
React.createElement(NoDataFound, { title: 'No destinations found' }))) : (React.createElement(ListsContainer, null,
|
|
14221
14226
|
React.createElement(PotentialDestinationsList, { items: potentialDestinations, setSelectedItem: onSelect }),
|
|
14222
14227
|
React.createElement(DestinationsList, { items: filteredDestinations, setSelectedItem: onSelect })))));
|
|
14223
14228
|
};
|
|
14224
14229
|
|
|
14225
|
-
const Container$
|
|
14230
|
+
const Container$7 = styled.div `
|
|
14226
14231
|
display: flex;
|
|
14227
14232
|
`;
|
|
14228
14233
|
const SideMenuWrapper = styled.div `
|
|
@@ -14305,7 +14310,7 @@ const DestinationModal = ({ isOnboarding, categories, potentialDestinations, cre
|
|
|
14305
14310
|
};
|
|
14306
14311
|
useKeyDown({ key: 'Enter', active: isOpen }, () => handleSubmit());
|
|
14307
14312
|
return (React.createElement(Modal, { isOpen: isOpen, onClose: handleClose, header: { title: 'Add Destination' }, actionComponent: React.createElement(NavigationButtons, { buttons: renderHeaderButtons() }) },
|
|
14308
|
-
React.createElement(Container$
|
|
14313
|
+
React.createElement(Container$7, null,
|
|
14309
14314
|
React.createElement(SideMenuWrapper, null,
|
|
14310
14315
|
React.createElement(Stepper, { currentStep: !!selectedItem ? 2 : 1, data: [
|
|
14311
14316
|
{ stepNumber: 1, title: 'Destinations' },
|
|
@@ -14316,7 +14321,7 @@ const DestinationModal = ({ isOnboarding, categories, potentialDestinations, cre
|
|
|
14316
14321
|
!!selectedItem && (React.createElement(DestinationForm, { categoryItem: selectedItem, formData: formData, formErrors: formErrors, handleFormChange: handleFormChange, dynamicFields: dynamicFields, setDynamicFields: setDynamicFields, validateForm: validateForm, testConnection: testConnection, testLoading: testLoading, testResult: testResult }))))));
|
|
14317
14322
|
};
|
|
14318
14323
|
|
|
14319
|
-
const Container$
|
|
14324
|
+
const Container$6 = styled.div `
|
|
14320
14325
|
display: flex;
|
|
14321
14326
|
flex-direction: column;
|
|
14322
14327
|
align-items: flex-start;
|
|
@@ -14329,9 +14334,9 @@ const Container$7 = styled.div `
|
|
|
14329
14334
|
`;
|
|
14330
14335
|
const ConfiguredList = () => {
|
|
14331
14336
|
const { configuredDestinations } = useSetupStore();
|
|
14332
|
-
return (React.createElement(Container$
|
|
14337
|
+
return (React.createElement(Container$6, null, configuredDestinations.map(({ stored }, idx) => (React.createElement(ListItem, { key: `selected-destination-${stored.type}-${idx}`, "data-id": `selected-destination-${stored.type}`, item: stored, isLastItem: configuredDestinations.length === 1 })))));
|
|
14333
14338
|
};
|
|
14334
|
-
const ListItem
|
|
14339
|
+
const ListItem = ({ item, isLastItem }) => {
|
|
14335
14340
|
const { removeConfiguredDestination } = useSetupStore();
|
|
14336
14341
|
const [deleteWarning, setDeleteWarning] = useState(false);
|
|
14337
14342
|
const { icon, iconSrc } = getDestinationIcon(item.type);
|
|
@@ -14650,7 +14655,7 @@ const CustomFields = ({ ruleType, value, setValue, formErrors }) => {
|
|
|
14650
14655
|
return Component ? React.createElement(Component, { value: value, setValue: setValue, formErrors: formErrors }) : null;
|
|
14651
14656
|
};
|
|
14652
14657
|
|
|
14653
|
-
const Container$
|
|
14658
|
+
const Container$5 = styled.div `
|
|
14654
14659
|
display: flex;
|
|
14655
14660
|
flex-direction: column;
|
|
14656
14661
|
gap: 24px;
|
|
@@ -14661,7 +14666,7 @@ const FieldTitle = styled(Text) `
|
|
|
14661
14666
|
`;
|
|
14662
14667
|
const InstrumentationRuleForm = ({ isUpdate, rule, formData, formErrors, handleFormChange }) => {
|
|
14663
14668
|
const theme = Theme.useTheme();
|
|
14664
|
-
return (React.createElement(Container$
|
|
14669
|
+
return (React.createElement(Container$5, null,
|
|
14665
14670
|
isUpdate && (React.createElement("div", null,
|
|
14666
14671
|
React.createElement(FieldTitle, null, "Status"),
|
|
14667
14672
|
React.createElement(Segment, { options: [
|
|
@@ -14750,7 +14755,7 @@ const InstrumentationRuleDrawer = ({ updateInstrumentationRule, deleteInstrument
|
|
|
14750
14755
|
setIsFormDirty(false);
|
|
14751
14756
|
}
|
|
14752
14757
|
};
|
|
14753
|
-
return (React.createElement(OverviewDrawer, { ref: drawerRef, title: thisItem.ruleName || thisItem.type,
|
|
14758
|
+
return (React.createElement(OverviewDrawer, { ref: drawerRef, title: thisItem.ruleName || thisItem.type, icons: [getInstrumentationRuleIcon(thisItem.type)], isEdit: isEditing, isFormDirty: isFormDirty, onEdit: handleEdit, onSave: handleSave, onDelete: handleDelete, onCancel: handleCancel }, isEditing && thisOptionType ? (React.createElement(FormContainer$1, null,
|
|
14754
14759
|
React.createElement(InstrumentationRuleForm, { isUpdate: true, rule: thisOptionType, formData: formData, formErrors: formErrors, handleFormChange: (...params) => {
|
|
14755
14760
|
setIsFormDirty(true);
|
|
14756
14761
|
handleFormChange(...params);
|
|
@@ -14890,7 +14895,7 @@ const InstrumentationRuleTable = ({ maxHeight, maxWidth }) => {
|
|
|
14890
14895
|
React.createElement(NoDataFound, null)))));
|
|
14891
14896
|
};
|
|
14892
14897
|
|
|
14893
|
-
const Container$
|
|
14898
|
+
const Container$4 = styled.div `
|
|
14894
14899
|
position: fixed;
|
|
14895
14900
|
bottom: 0;
|
|
14896
14901
|
left: 50%;
|
|
@@ -14907,7 +14912,7 @@ const Container$5 = styled.div `
|
|
|
14907
14912
|
const MultiSourceControl = ({ totalSourceCount, uninstrumentSources }) => {
|
|
14908
14913
|
const theme = Theme.useTheme();
|
|
14909
14914
|
const Transition = useTransition({
|
|
14910
|
-
container: Container$
|
|
14915
|
+
container: Container$4,
|
|
14911
14916
|
animateIn: Theme.animations.slide.in['center'],
|
|
14912
14917
|
animateOut: Theme.animations.slide.out['center'],
|
|
14913
14918
|
});
|
|
@@ -15256,14 +15261,14 @@ const buildCard = (source) => {
|
|
|
15256
15261
|
return arr;
|
|
15257
15262
|
};
|
|
15258
15263
|
|
|
15259
|
-
const Container$
|
|
15264
|
+
const Container$3 = styled.div `
|
|
15260
15265
|
display: flex;
|
|
15261
15266
|
flex-direction: column;
|
|
15262
15267
|
gap: 24px;
|
|
15263
15268
|
padding: 4px;
|
|
15264
15269
|
`;
|
|
15265
15270
|
const SourceForm = ({ formData, handleFormChange }) => {
|
|
15266
|
-
return (React.createElement(Container$
|
|
15271
|
+
return (React.createElement(Container$3, null,
|
|
15267
15272
|
React.createElement(Input, { name: 'sourceName', title: 'Source name', tooltip: 'This overrides the default service name that runs in your cluster.', placeholder: 'Use a name that overrides the source name', value: formData.otelServiceName, onChange: ({ target: { value } }) => handleFormChange('otelServiceName', value) })));
|
|
15268
15273
|
};
|
|
15269
15274
|
|
|
@@ -15331,7 +15336,7 @@ const SourceDrawer = ({ persistSources, updateSource, fetchDescribeSource }) =>
|
|
|
15331
15336
|
setIsFormDirty(false);
|
|
15332
15337
|
setIsEditing(false);
|
|
15333
15338
|
};
|
|
15334
|
-
return (React.createElement(OverviewDrawer, { ref: drawerRef, title: thisItem.otelServiceName || thisItem.name, titleTooltip: 'This attribute is used to identify the name of the service (service.name) that is generating telemetry data.',
|
|
15339
|
+
return (React.createElement(OverviewDrawer, { ref: drawerRef, title: thisItem.otelServiceName || thisItem.name, titleTooltip: 'This attribute is used to identify the name of the service (service.name) that is generating telemetry data.', icons: getContainersIcons(thisItem.containers), isEdit: isEditing, isFormDirty: isFormDirty, onEdit: selectedTab === Tabs.Overview ? handleEdit : undefined, onSave: handleSave, onDelete: selectedTab === Tabs.Overview ? handleDelete : undefined, onCancel: handleCancel, isLastItem: sources.length === 1, tabs: [
|
|
15335
15340
|
{
|
|
15336
15341
|
label: Tabs.Overview,
|
|
15337
15342
|
onClick: () => setSelectedTab(Tabs.Overview),
|
|
@@ -15352,7 +15357,7 @@ const SourceDrawer = ({ persistSources, updateSource, fetchDescribeSource }) =>
|
|
|
15352
15357
|
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 }))));
|
|
15353
15358
|
};
|
|
15354
15359
|
|
|
15355
|
-
const Container$
|
|
15360
|
+
const Container$2 = styled.div `
|
|
15356
15361
|
display: flex;
|
|
15357
15362
|
flex-direction: column;
|
|
15358
15363
|
align-items: center;
|
|
@@ -15396,7 +15401,7 @@ const AbsoluteWrapper = styled.div `
|
|
|
15396
15401
|
const SelectionCount = styled(Text) `
|
|
15397
15402
|
width: 18px;
|
|
15398
15403
|
`;
|
|
15399
|
-
const NoDataFoundWrapper
|
|
15404
|
+
const NoDataFoundWrapper = styled.div `
|
|
15400
15405
|
padding: 50px 0;
|
|
15401
15406
|
display: flex;
|
|
15402
15407
|
flex-direction: column;
|
|
@@ -15406,14 +15411,14 @@ const NoDataFoundWrapper$1 = styled.div `
|
|
|
15406
15411
|
max-height: calc(100vh - 360px);
|
|
15407
15412
|
overflow-y: auto;
|
|
15408
15413
|
`;
|
|
15409
|
-
const List
|
|
15414
|
+
const List = ({ isModal = false, filterNamespaces, filterSources, selectedNamespace, onSelectNamespace, selectedSources, onSelectSource, selectedFutureApps, onSelectFutureApps, onSelectAll, }) => {
|
|
15410
15415
|
const theme = Theme.useTheme();
|
|
15411
15416
|
const namespaces = filterNamespaces();
|
|
15412
15417
|
const { namespacesLoading } = useEntityStore();
|
|
15413
15418
|
if (!namespaces.length) {
|
|
15414
|
-
return React.createElement(NoDataFoundWrapper
|
|
15419
|
+
return React.createElement(NoDataFoundWrapper, null, namespacesLoading ? React.createElement(FadeLoader, { scale: 2 }) : React.createElement(NoDataFound, { title: 'No namespaces found' }));
|
|
15415
15420
|
}
|
|
15416
|
-
return (React.createElement(Container$
|
|
15421
|
+
return (React.createElement(Container$2, { "$isModal": isModal }, namespaces.map(([namespace, sources]) => {
|
|
15417
15422
|
const sourcesForNamespace = selectedSources[namespace] || [];
|
|
15418
15423
|
const futureAppsForNamespace = selectedFutureApps[namespace] || false;
|
|
15419
15424
|
const isNamespaceLoaded = !!sourcesForNamespace.length;
|
|
@@ -15449,11 +15454,11 @@ const List$1 = ({ isModal = false, filterNamespaces, filterSources, selectedName
|
|
|
15449
15454
|
source.numberOfInstances !== 1 && 's',
|
|
15450
15455
|
" \u00B7 ",
|
|
15451
15456
|
source.kind))));
|
|
15452
|
-
}))) : (React.createElement(NoDataFoundWrapper
|
|
15457
|
+
}))) : (React.createElement(NoDataFoundWrapper, null, namespacesLoading ? React.createElement(FadeLoader, { scale: 1.5 }) : React.createElement(NoDataFound, { title: 'No sources available in this namespace', subTitle: 'Try searching again or select another namespace.' }))))));
|
|
15453
15458
|
})));
|
|
15454
15459
|
};
|
|
15455
15460
|
|
|
15456
|
-
const FlexContainer
|
|
15461
|
+
const FlexContainer = styled.div `
|
|
15457
15462
|
display: flex;
|
|
15458
15463
|
align-items: center;
|
|
15459
15464
|
justify-content: space-between;
|
|
@@ -15462,133 +15467,19 @@ const FlexContainer$1 = styled.div `
|
|
|
15462
15467
|
const SearchWrapper = styled.div `
|
|
15463
15468
|
width: 444px;
|
|
15464
15469
|
`;
|
|
15465
|
-
const Controls
|
|
15470
|
+
const Controls = ({ selectedSources, searchText, setSearchText, showSelectedOnly, setShowSelectedOnly }) => {
|
|
15466
15471
|
const selectedAppsCount = Object.values(selectedSources).reduce((prev, curr) => prev + curr.filter((s) => s.selected).length, 0);
|
|
15467
15472
|
return (React.createElement(React.Fragment, null,
|
|
15468
15473
|
React.createElement(SectionTitle, { title: 'Select Sources for Instrumentation', badgeLabel: selectedAppsCount, description: 'Select apps to monitor in each namespace. Odigos will instrument them and send telemetry data to your destinations.' }),
|
|
15469
|
-
React.createElement(FlexContainer
|
|
15474
|
+
React.createElement(FlexContainer, { style: { marginTop: 24 } },
|
|
15470
15475
|
React.createElement(SearchWrapper, null,
|
|
15471
15476
|
React.createElement(Input, { placeholder: 'Search Kubernetes Namespaces', icon: SearchIcon, value: searchText, onChange: (e) => setSearchText(e.target.value.toLowerCase()) })),
|
|
15472
15477
|
React.createElement(Toggle, { title: 'Show selected only', initialValue: showSelectedOnly, onChange: setShowSelectedOnly })),
|
|
15473
15478
|
React.createElement(Divider, { margin: '16px 0' })));
|
|
15474
15479
|
};
|
|
15475
15480
|
|
|
15476
|
-
const
|
|
15477
|
-
|
|
15478
|
-
React.createElement(Controls$1, { ...props }),
|
|
15479
|
-
React.createElement(List$1, { ...props })));
|
|
15480
|
-
};
|
|
15481
|
-
|
|
15482
|
-
const Container$2 = styled.div `
|
|
15483
|
-
display: flex;
|
|
15484
|
-
align-items: center;
|
|
15485
|
-
flex-direction: column;
|
|
15486
|
-
gap: 12px;
|
|
15487
|
-
height: fit-content;
|
|
15488
|
-
padding-bottom: ${({ $isModal }) => ($isModal ? '48px' : '0')};
|
|
15489
|
-
overflow-y: scroll;
|
|
15490
|
-
`;
|
|
15491
|
-
const ListItem = styled.div `
|
|
15492
|
-
display: flex;
|
|
15493
|
-
align-items: center;
|
|
15494
|
-
justify-content: space-between;
|
|
15495
|
-
width: 100%;
|
|
15496
|
-
padding: 16px 0px;
|
|
15497
|
-
transition: background 0.3s;
|
|
15498
|
-
border-radius: 16px;
|
|
15499
|
-
cursor: pointer;
|
|
15500
|
-
background: ${({ $selected, theme }) => ($selected ? theme.colors.majestic_blue + Theme.opacity.hex['024'] : theme.colors.dropdown_bg_2 + Theme.opacity.hex['040'])};
|
|
15501
|
-
&:hover {
|
|
15502
|
-
background: ${({ $selected, theme }) => ($selected ? theme.colors.majestic_blue + Theme.opacity.hex['040'] : theme.colors.dropdown_bg_2 + Theme.opacity.hex['080'])};
|
|
15503
|
-
}
|
|
15504
|
-
`;
|
|
15505
|
-
const ListItemContent = styled.div `
|
|
15506
|
-
margin-left: 16px;
|
|
15507
|
-
display: flex;
|
|
15508
|
-
gap: 12px;
|
|
15509
|
-
`;
|
|
15510
|
-
const TextWrapper = styled.div `
|
|
15511
|
-
display: flex;
|
|
15512
|
-
flex-direction: column;
|
|
15513
|
-
height: 36px;
|
|
15514
|
-
justify-content: space-between;
|
|
15515
|
-
`;
|
|
15516
|
-
const SelectedTextWrapper = styled.div `
|
|
15517
|
-
margin-right: 24px;
|
|
15518
|
-
`;
|
|
15519
|
-
const NoDataFoundWrapper = styled.div `
|
|
15520
|
-
margin-top: 80px;
|
|
15521
|
-
display: flex;
|
|
15522
|
-
flex-direction: column;
|
|
15523
|
-
align-items: center;
|
|
15524
|
-
gap: 12px;
|
|
15525
|
-
height: 100%;
|
|
15526
|
-
max-height: calc(100vh - 360px);
|
|
15527
|
-
overflow-y: auto;
|
|
15528
|
-
`;
|
|
15529
|
-
const List = ({ isModal = false, selectedNamespace, selectedSources, onSelectSource, filterSources, }) => {
|
|
15530
|
-
const { namespacesLoading } = useEntityStore();
|
|
15531
|
-
const sources = selectedSources[selectedNamespace] || [];
|
|
15532
|
-
if (!sources.length) {
|
|
15533
|
-
return React.createElement(NoDataFoundWrapper, null, namespacesLoading ? React.createElement(FadeLoader, { scale: 2 }) : React.createElement(NoDataFound, { title: 'No sources found' }));
|
|
15534
|
-
}
|
|
15535
|
-
return (React.createElement(Container$2, { "$isModal": isModal }, filterSources().map((source) => {
|
|
15536
|
-
const isSelected = selectedSources[selectedNamespace].find(({ name }) => name === source.name)?.selected || false;
|
|
15537
|
-
return (React.createElement(ListItem, { key: `source-${source.name}`, "$selected": isSelected, onClick: () => onSelectSource(source) },
|
|
15538
|
-
React.createElement(ListItemContent, null,
|
|
15539
|
-
React.createElement(IconWrapped, { icon: FolderIcon }),
|
|
15540
|
-
React.createElement(TextWrapper, null,
|
|
15541
|
-
React.createElement(Text, null, source.name),
|
|
15542
|
-
React.createElement(Text, { opacity: 0.8, size: 10 },
|
|
15543
|
-
source.numberOfInstances,
|
|
15544
|
-
" running instance",
|
|
15545
|
-
source.numberOfInstances !== 1 && 's',
|
|
15546
|
-
" \u00B7 ",
|
|
15547
|
-
source.kind))),
|
|
15548
|
-
isSelected && (React.createElement(SelectedTextWrapper, null,
|
|
15549
|
-
React.createElement(Checkbox, { value: true, allowPropagation: true })))));
|
|
15550
|
-
})));
|
|
15551
|
-
};
|
|
15552
|
-
|
|
15553
|
-
const FlexContainer = styled.div `
|
|
15554
|
-
display: flex;
|
|
15555
|
-
align-items: center;
|
|
15556
|
-
justify-content: space-between;
|
|
15557
|
-
gap: 8px;
|
|
15558
|
-
`;
|
|
15559
|
-
const ToggleWrapper = styled.div `
|
|
15560
|
-
display: flex;
|
|
15561
|
-
align-items: center;
|
|
15562
|
-
gap: 32px;
|
|
15563
|
-
`;
|
|
15564
|
-
const Controls = ({ selectedNamespace, onSelectNamespace, selectedSources, onSelectAll, selectedFutureApps, onSelectFutureApps, searchText, setSearchText, showSelectedOnly, setShowSelectedOnly, }) => {
|
|
15565
|
-
const futureApps = selectedFutureApps[selectedNamespace] || false;
|
|
15566
|
-
const sources = selectedSources[selectedNamespace] || [];
|
|
15567
|
-
const selectedAppsCount = sources.filter(({ selected }) => selected).length;
|
|
15568
|
-
return (React.createElement(React.Fragment, null,
|
|
15569
|
-
React.createElement(SectionTitle, { title: 'Choose sources', description: "Apps will be automatically instrumented, and data will be sent to the relevant APM's destinations." }),
|
|
15570
|
-
React.createElement(FlexContainer, { style: { marginTop: 24 } },
|
|
15571
|
-
React.createElement(Input, { placeholder: 'Search for sources', icon: SearchIcon, value: searchText, onChange: (e) => setSearchText(e.target.value.toLowerCase()) }),
|
|
15572
|
-
React.createElement(NamespaceDropdown, { title: '', value: selectedNamespace ? [{ value: selectedNamespace, id: selectedNamespace }] : [], onSelect: ({ id }) => !!id && onSelectNamespace(id), onDeselect: ({ id }) => !!id && onSelectNamespace(id) })),
|
|
15573
|
-
React.createElement(Divider, { margin: '16px 0' }),
|
|
15574
|
-
React.createElement(FlexContainer, null,
|
|
15575
|
-
React.createElement(FlexContainer, null,
|
|
15576
|
-
React.createElement(Text, null, "Selected apps"),
|
|
15577
|
-
React.createElement(Badge, { label: selectedAppsCount, filled: !!selectedAppsCount })),
|
|
15578
|
-
React.createElement(ToggleWrapper, null,
|
|
15579
|
-
React.createElement(Toggle, { title: 'Select all', initialValue: !!selectedAppsCount && selectedAppsCount === sources.length, onChange: onSelectAll }),
|
|
15580
|
-
React.createElement(Toggle, { title: 'Show selected only', initialValue: showSelectedOnly, onChange: setShowSelectedOnly }),
|
|
15581
|
-
React.createElement(Checkbox, { title: 'Future apps', tooltip: 'Automatically instrument all future apps', value: futureApps, onChange: onSelectFutureApps }))),
|
|
15582
|
-
React.createElement(Divider, { margin: '16px 0 24px' })));
|
|
15583
|
-
};
|
|
15584
|
-
|
|
15585
|
-
const Simple = (props) => {
|
|
15586
|
-
return (React.createElement(ModalBody, { "$isNotModal": !props.isModal },
|
|
15587
|
-
React.createElement(Controls, { ...props }),
|
|
15588
|
-
React.createElement(List, { ...props })));
|
|
15589
|
-
};
|
|
15590
|
-
|
|
15591
|
-
const SourceSelectionForm = forwardRef(({ componentType, isModal, selectedNamespace, onSelectNamespace, namespace }, ref) => {
|
|
15481
|
+
const SourceSelectionForm = forwardRef((props, ref) => {
|
|
15482
|
+
const { isModal, selectedNamespace, onSelectNamespace, namespace } = props;
|
|
15592
15483
|
const formState = useSourceSelectionFormData({ selectedNamespace, onSelectNamespace, namespace });
|
|
15593
15484
|
const { recordedInitialSources, getApiSourcesPayload, getApiFutureAppsPayload } = formState;
|
|
15594
15485
|
useImperativeHandle(ref, () => ({
|
|
@@ -15598,17 +15489,12 @@ const SourceSelectionForm = forwardRef(({ componentType, isModal, selectedNamesp
|
|
|
15598
15489
|
futureApps: getApiFutureAppsPayload(),
|
|
15599
15490
|
}),
|
|
15600
15491
|
}));
|
|
15601
|
-
|
|
15602
|
-
|
|
15603
|
-
|
|
15604
|
-
case 'FAST':
|
|
15605
|
-
return React.createElement(Fast, { isModal: isModal, selectedNamespace: selectedNamespace, onSelectNamespace: onSelectNamespace, ...formState });
|
|
15606
|
-
default:
|
|
15607
|
-
return null;
|
|
15608
|
-
}
|
|
15492
|
+
return (React.createElement(ModalBody, { "$isNotModal": !isModal },
|
|
15493
|
+
React.createElement(Controls, { ...props, ...formState }),
|
|
15494
|
+
React.createElement(List, { ...props, ...formState })));
|
|
15609
15495
|
});
|
|
15610
15496
|
|
|
15611
|
-
const SourceModal = ({
|
|
15497
|
+
const SourceModal = ({ selectedNamespace, setSelectedNamespace, namespace, persistSources }) => {
|
|
15612
15498
|
const { currentModal, setCurrentModal } = useModalStore();
|
|
15613
15499
|
const isOpen = currentModal === EntityTypes.Source;
|
|
15614
15500
|
const onSelectNamespace = (ns) => {
|
|
@@ -15634,7 +15520,7 @@ const SourceModal = ({ componentType = 'FAST', selectedNamespace, setSelectedNam
|
|
|
15634
15520
|
onClick: handleSubmit,
|
|
15635
15521
|
},
|
|
15636
15522
|
] }) },
|
|
15637
|
-
React.createElement(SourceSelectionForm, { ref: formRef,
|
|
15523
|
+
React.createElement(SourceSelectionForm, { ref: formRef, isModal: true, selectedNamespace: selectedNamespace, onSelectNamespace: onSelectNamespace, namespace: namespace })));
|
|
15638
15524
|
};
|
|
15639
15525
|
|
|
15640
15526
|
const columns = [
|
|
@@ -15935,7 +15821,7 @@ const SystemOverview = ({ tokens, saveToken, fetchDescribeOdigos }) => {
|
|
|
15935
15821
|
React.createElement(IconButton, { key: 'cli', onClick: toggleOpen, tooltip: TITLE_TEXT },
|
|
15936
15822
|
React.createElement(TerminalIcon, { size: 18 })),
|
|
15937
15823
|
React.createElement(Drawer, { width: DRAWER_WIDTH, isOpen: isOpen, onClose: toggleOpen, header: {
|
|
15938
|
-
|
|
15824
|
+
icons: [TerminalIcon],
|
|
15939
15825
|
title: TITLE_TEXT,
|
|
15940
15826
|
}, footer: {
|
|
15941
15827
|
isOpen: false,
|