@prorobotech/openapi-k8s-toolkit 1.2.0-alpha.10 → 1.2.0-alpha.12
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/dist/openapi-k8s-toolkit.es.js +898 -146
- package/dist/openapi-k8s-toolkit.es.js.map +1 -1
- package/dist/openapi-k8s-toolkit.umd.js +899 -147
- package/dist/openapi-k8s-toolkit.umd.js.map +1 -1
- package/dist/types/components/atoms/ContentCard/ContentCard.styled.d.ts +2 -0
- package/dist/types/components/molecules/BlackholeForm/atoms/HiddenContainer/utils.test.d.ts +1 -0
- package/dist/types/components/molecules/BlackholeForm/molecules/FormListInput/utils.test.d.ts +1 -0
- package/dist/types/components/molecules/BlackholeForm/molecules/FormRangeInput/utils.test.d.ts +1 -0
- package/dist/types/components/molecules/BlackholeForm/molecules/FormStringMultilineInput/helpers.test.d.ts +1 -0
- package/dist/types/components/molecules/BlackholeForm/organisms/BlackholeForm/BlackholeForm.test.d.ts +1 -0
- package/dist/types/components/molecules/BlackholeForm/organisms/BlackholeForm/context.test.d.ts +1 -0
- package/dist/types/components/molecules/BlackholeForm/organisms/BlackholeForm/helpers/casts.test.d.ts +1 -0
- package/dist/types/components/molecules/BlackholeForm/organisms/BlackholeForm/helpers/getSortedPropertyKeys.test.d.ts +1 -0
- package/dist/types/components/molecules/BlackholeForm/organisms/BlackholeForm/helpers/hiddenExpanded.test.d.ts +1 -0
- package/dist/types/components/molecules/BlackholeForm/organisms/BlackholeForm/helpers/prefills.test.d.ts +1 -0
- package/dist/types/components/molecules/BlackholeForm/organisms/BlackholeForm/utils.test.d.ts +1 -0
- package/dist/types/components/molecules/BlackholeForm/organisms/BlackholeForm/utilsErrorHandler.test.d.ts +1 -0
- package/dist/types/components/molecules/BlackholeForm/organisms/BlackholeFormProvider/BlackholeFormProvider.test.d.ts +2 -0
- package/dist/types/components/molecules/EnrichedTable/organisms/EnrichedTable/utils.test.d.ts +8 -0
- package/dist/types/components/molecules/EnrichedTable/organisms/EnrichedTableProvider/utils.test.d.ts +1 -0
- package/dist/types/components/molecules/Events/molecules/EventRow/utils.test.d.ts +1 -0
- package/dist/types/components/molecules/Events/reducer.test.d.ts +1 -0
- package/dist/types/components/molecules/Events/utils.test.d.ts +1 -0
- package/dist/types/components/molecules/ManageableBreadcrumbs/organisms/ManageableBreadcrumbsProvider/utils.test.d.ts +1 -0
- package/dist/types/components/molecules/ManageableSidebar/organisms/ManageableSidebarProvider/utils.test.d.ts +1 -0
- package/dist/types/components/molecules/MarketPlace/molecules/MarketplaceCard/utils.test.d.ts +1 -0
- package/dist/types/components/molecules/Terminals/VMVNC/VMVNC.d.ts +9 -0
- package/dist/types/components/molecules/Terminals/VMVNC/hooks/useVNCClient.d.ts +29 -0
- package/dist/types/components/molecules/Terminals/VMVNC/index.d.ts +2 -0
- package/dist/types/components/molecules/Terminals/VMVNC/molecules/VMVNCToolbar/VMVNCToolbar.d.ts +17 -0
- package/dist/types/components/molecules/Terminals/VMVNC/molecules/VMVNCToolbar/index.d.ts +1 -0
- package/dist/types/components/molecules/Terminals/VMVNC/molecules/VMVNCToolbar/styled.d.ts +1364 -0
- package/dist/types/components/molecules/Terminals/VMVNC/molecules/index.d.ts +1 -0
- package/dist/types/components/molecules/Terminals/VMVNC/styled.d.ts +834 -0
- package/dist/types/components/molecules/Terminals/index.d.ts +2 -0
- package/dist/types/components/molecules/index.d.ts +2 -2
- package/dist/types/components/organisms/DynamicComponents/molecules/Annotations/utils.test.d.ts +1 -0
- package/dist/types/components/organisms/DynamicComponents/molecules/ArrayOfObjectsToKeyValues/utils.test.d.ts +1 -0
- package/dist/types/components/organisms/DynamicComponents/molecules/EnrichedTable/utils.test.d.ts +1 -0
- package/dist/types/components/organisms/DynamicComponents/molecules/Events/utils.test.d.ts +1 -0
- package/dist/types/components/organisms/DynamicComponents/molecules/ItemCounter/utils.test.d.ts +1 -0
- package/dist/types/components/organisms/DynamicComponents/molecules/KeyCounter/utils.test.d.ts +1 -0
- package/dist/types/components/organisms/DynamicComponents/molecules/Labels/utils.test.d.ts +1 -0
- package/dist/types/components/organisms/DynamicComponents/molecules/LabelsToSearchParams/utils.test.d.ts +1 -0
- package/dist/types/components/organisms/DynamicComponents/molecules/OwnerRefs/guard.test.d.ts +1 -0
- package/dist/types/components/organisms/DynamicComponents/molecules/OwnerRefs/organsisms/RefsList/molecules/RefElement/utils.test.d.ts +1 -0
- package/dist/types/components/organisms/DynamicComponents/molecules/ParsedText/utils.test.d.ts +1 -0
- package/dist/types/components/organisms/DynamicComponents/molecules/PodLogs/utils.test.d.ts +1 -0
- package/dist/types/components/organisms/DynamicComponents/molecules/PodTerminal/utils.test.d.ts +1 -0
- package/dist/types/components/organisms/DynamicComponents/molecules/PrometheusGraph/hooks/usePrometheusQueryRange.test.d.ts +1 -0
- package/dist/types/components/organisms/DynamicComponents/molecules/PrometheusGraph/hooks/usePrometheusQueryRangeMulti.test.d.ts +1 -0
- package/dist/types/components/organisms/DynamicComponents/molecules/PrometheusGraph/utils/prometheusAdapter.test.d.ts +1 -0
- package/dist/types/components/organisms/DynamicComponents/molecules/StatusText/utils.test.d.ts +1 -0
- package/dist/types/components/organisms/DynamicComponents/molecules/Taints/utils.test.d.ts +1 -0
- package/dist/types/components/organisms/DynamicComponents/molecules/Tolerations/utils.test.d.ts +1 -0
- package/dist/types/components/organisms/DynamicComponents/molecules/VMVNC/VMVNC.d.ts +6 -0
- package/dist/types/components/organisms/DynamicComponents/molecules/VMVNC/index.d.ts +1 -0
- package/dist/types/components/organisms/DynamicComponents/molecules/YamlEditorSingleton/utils.test.d.ts +1 -0
- package/dist/types/components/organisms/DynamicComponents/molecules/index.d.ts +1 -0
- package/dist/types/components/organisms/DynamicComponents/types.d.ts +8 -0
- package/dist/types/components/organisms/DynamicRenderer/DynamicRenderer.test.d.ts +1 -0
- package/dist/types/components/organisms/DynamicRendererWithProviders/DynamicRendererWithProviders.test.d.ts +1 -0
- package/dist/types/components/organisms/DynamicRendererWithProviders/providers/factoryConfigProvider/factoryConfigProvider.test.d.ts +1 -0
- package/dist/types/components/organisms/DynamicRendererWithProviders/providers/factoryConfigProvider/index.d.ts +1 -0
- package/dist/types/components/organisms/DynamicRendererWithProviders/{hybridDataProvider.d.ts → providers/hybridDataProvider/hybridDataProvider.d.ts} +1 -1
- package/dist/types/components/organisms/DynamicRendererWithProviders/providers/hybridDataProvider/hybridDataProvider.test.d.ts +1 -0
- package/dist/types/components/organisms/DynamicRendererWithProviders/providers/hybridDataProvider/index.d.ts +1 -0
- package/dist/types/components/organisms/DynamicRendererWithProviders/providers/multiK8sProvider/index.d.ts +2 -0
- package/dist/types/components/organisms/DynamicRendererWithProviders/{multiK8sProvider.d.ts → providers/multiK8sProvider/multiK8sProvider.d.ts} +1 -1
- package/dist/types/components/organisms/DynamicRendererWithProviders/providers/multiK8sProvider/multiK8sProvider.test.d.ts +1 -0
- package/dist/types/components/organisms/DynamicRendererWithProviders/providers/multiQueryProvider/index.d.ts +1 -0
- package/dist/types/components/organisms/DynamicRendererWithProviders/providers/multiQueryProvider/multiQueryProvider.test.d.ts +1 -0
- package/dist/types/components/organisms/DynamicRendererWithProviders/providers/partsOfUrlContext/index.d.ts +1 -0
- package/dist/types/components/organisms/DynamicRendererWithProviders/providers/partsOfUrlContext/partsOfUrlContext.test.d.ts +1 -0
- package/dist/types/components/organisms/DynamicRendererWithProviders/providers/themeContext/index.d.ts +1 -0
- package/dist/types/components/organisms/DynamicRendererWithProviders/providers/themeContext/themeContext.test.d.ts +1 -0
- package/dist/types/hooks/useApiResource.d.ts +1 -0
- package/dist/types/hooks/useBuiltinResource.d.ts +1 -0
- package/dist/types/hooks/useCrdResource.d.ts +1 -0
- package/dist/types/hooks/useK8sSmartResource/useK8sSmartResource.test.d.ts +2 -0
- package/dist/types/hooks/useK8sSmartResource/useK8sSmartResourceWithoutKinds.test.d.ts +2 -0
- package/dist/types/hooks/useK8sSmartResource/useManyK8sSmartResource.test.d.ts +2 -0
- package/dist/types/hooks/useK8sSmartResource/useSmartResourceParams.test.d.ts +2 -0
- package/dist/types/hooks/useListThenWatch/reducer.test.d.ts +1 -0
- package/dist/types/hooks/useListThenWatch/useInfiniteSentinel.test.d.ts +2 -0
- package/dist/types/hooks/useListThenWatch/useListWatch.test.d.ts +2 -0
- package/dist/types/hooks/useListThenWatch/utils.test.d.ts +1 -0
- package/dist/types/hooks/useResourceScope/useResourceScope.test.d.ts +2 -0
- package/dist/types/localTypes/k8s.d.ts +1 -0
- package/dist/types/utils/converterBytes/converterBytes.d.ts +3 -0
- package/dist/types/utils/createContextFactory/createContextFactory.test.d.ts +2 -0
- package/dist/types/utils/deepMerge/deepMerge.test.d.ts +1 -0
- package/dist/types/utils/filterSelectOptions/filterSelectOptions.test.d.ts +1 -0
- package/dist/types/utils/getAllPathsFromObj/getAllPathsFromObj.test.d.ts +1 -0
- package/dist/types/utils/getGroupsByCategory/getGroupsByCategory.test.d.ts +2 -0
- package/dist/types/utils/getPrefixSubArrays/getPrefixSubArrays.test.d.ts +1 -0
- package/dist/types/utils/getResourceLink/getResourceLink.test.d.ts +1 -0
- package/dist/types/utils/getSortedKinds/getSortedKinds.test.d.ts +1 -0
- package/dist/types/utils/getSortedKindsAll/getSortedKindsAll.test.d.ts +1 -0
- package/dist/types/utils/getStringByName/getStringByName.test.d.ts +1 -0
- package/dist/types/utils/getUppercase/getUppercase.test.d.ts +1 -0
- package/dist/types/utils/groupsToTreeData/groupsToTreeData.test.d.ts +1 -0
- package/dist/types/utils/hslFromString/hslFromString.test.d.ts +1 -0
- package/dist/types/utils/isFlatObject/isFlatObject.test.d.ts +1 -0
- package/dist/types/utils/kindByGvr/kindByGvr.test.d.ts +1 -0
- package/dist/types/utils/namespacedByGvr/namespacedByGvr.test.d.ts +1 -0
- package/dist/types/utils/nestedStringsArrayInclude/nestedStringsArrayInclude.test.d.ts +1 -0
- package/dist/types/utils/normalizeValuesForQuotas/normalizeValuesForQuotas.test.d.ts +1 -0
- package/dist/types/utils/parseForQuotaValues/parseForQuotaValues.test.d.ts +1 -0
- package/dist/types/utils/pluralByKind/pluralByKind.test.d.ts +1 -0
- package/dist/types/utils/prepareUrlsToFetchForDynamicRenderer/prepareUrlsToFetchForDynamicRenderer.test.d.ts +1 -0
- package/dist/types/utils/tableLocations/tableLocations.test.d.ts +1 -0
- package/package.json +3 -1
- /package/dist/types/components/organisms/DynamicRendererWithProviders/{factoryConfigProvider.d.ts → providers/factoryConfigProvider/factoryConfigProvider.d.ts} +0 -0
- /package/dist/types/components/organisms/DynamicRendererWithProviders/{multiQueryProvider.d.ts → providers/multiQueryProvider/multiQueryProvider.d.ts} +0 -0
- /package/dist/types/components/organisms/DynamicRendererWithProviders/{partsOfUrlContext.d.ts → providers/partsOfUrlContext/partsOfUrlContext.d.ts} +0 -0
- /package/dist/types/components/organisms/DynamicRendererWithProviders/{themeContext.d.ts → providers/themeContext/themeContext.d.ts} +0 -0
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import styled, { createGlobalStyle } from 'styled-components';
|
|
2
2
|
import K, { useState, useRef, useLayoutEffect, useReducer, useEffect, useCallback, useMemo, Fragment, createContext, useContext, memo, createElement, isValidElement, cloneElement, useInsertionEffect, useSyncExternalStore, Suspense } from 'react';
|
|
3
|
-
import { Input, Tree, Modal, Alert, theme, Select, Tag, Flex, Typography, Breadcrumb, Spin, Menu, Tooltip, Space, Button, Card as Card$1, Row, Col, Tabs, notification, Form, Popover, Switch, Segmented, Dropdown, Table, Slider, InputNumber, Result, Progress, Checkbox, Empty } from 'antd';
|
|
4
|
-
import { LoadingOutlined, ExclamationCircleFilled, CloseCircleFilled, CheckCircleFilled, PlusOutlined, ClearOutlined, MinusOutlined, CaretDownOutlined, CaretRightOutlined, InfoCircleOutlined, EyeOutlined, EyeInvisibleOutlined, SearchOutlined, MoreOutlined, CheckOutlined, CloseOutlined, BugOutlined, EllipsisOutlined } from '@ant-design/icons';
|
|
3
|
+
import { Input, Tree, Modal, Alert, theme, Select, Tag, Flex, Typography, Breadcrumb, Spin, Menu, Tooltip, Space, Button, Card as Card$1, Row, Col, Tabs, notification, Form, Popover, Switch, Segmented, Dropdown, Table, Slider, InputNumber, Result, Progress, Radio, Checkbox, Empty } from 'antd';
|
|
4
|
+
import { LoadingOutlined, ExclamationCircleFilled, CloseCircleFilled, CheckCircleFilled, PlusOutlined, ClearOutlined, MinusOutlined, CaretDownOutlined, CaretRightOutlined, InfoCircleOutlined, EyeOutlined, EyeInvisibleOutlined, SearchOutlined, MoreOutlined, CheckOutlined, CloseOutlined, BugOutlined, EllipsisOutlined, PoweroffOutlined, FullscreenExitOutlined, FullscreenOutlined, SettingOutlined, ReloadOutlined } from '@ant-design/icons';
|
|
5
5
|
import { useNavigate, useSearchParams, Link, useLocation, useParams } from 'react-router-dom';
|
|
6
6
|
import { useQuery, useQueries, useQueryClient } from '@tanstack/react-query';
|
|
7
|
+
import RFB from 'novnc-next';
|
|
7
8
|
|
|
8
9
|
const Spacer$1 = styled.div`
|
|
9
10
|
height: ${({ $space, $spaceMob, $samespace }) => {
|
|
@@ -1574,7 +1575,7 @@ const CustomTreeProvider = styled.div`
|
|
|
1574
1575
|
justify-content: center;
|
|
1575
1576
|
}
|
|
1576
1577
|
`;
|
|
1577
|
-
const Styled$
|
|
1578
|
+
const Styled$E = {
|
|
1578
1579
|
CustomTreeProvider
|
|
1579
1580
|
};
|
|
1580
1581
|
|
|
@@ -1639,7 +1640,7 @@ const TreeWithSearch = ({ treeData, onSelect }) => {
|
|
|
1639
1640
|
});
|
|
1640
1641
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
1641
1642
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Search$1, { style: { marginBottom: 8 }, placeholder: "Search", onChange }),
|
|
1642
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
1643
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$E.CustomTreeProvider, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
1643
1644
|
Tree,
|
|
1644
1645
|
{
|
|
1645
1646
|
treeData: loop(treeData),
|
|
@@ -8197,14 +8198,14 @@ const ContentContainer = styled.div`
|
|
|
8197
8198
|
display: ${({ $displayFlex }) => $displayFlex ? "flex" : "block"};
|
|
8198
8199
|
flex-flow: ${({ $flexFlow }) => $flexFlow};
|
|
8199
8200
|
`;
|
|
8200
|
-
const Styled$
|
|
8201
|
+
const Styled$D = {
|
|
8201
8202
|
ContentContainer
|
|
8202
8203
|
};
|
|
8203
8204
|
|
|
8204
8205
|
const ContentCard$1 = ({ children, flexGrow, displayFlex, flexFlow, maxHeight }) => {
|
|
8205
8206
|
const { token } = theme.useToken();
|
|
8206
8207
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
8207
|
-
Styled$
|
|
8208
|
+
Styled$D.ContentContainer,
|
|
8208
8209
|
{
|
|
8209
8210
|
$flexGrow: flexGrow,
|
|
8210
8211
|
$bgColor: token.colorBgContainer,
|
|
@@ -8265,13 +8266,13 @@ const UncontrolledSelect$1 = styled(Select)`
|
|
|
8265
8266
|
padding-inline: 8px;
|
|
8266
8267
|
}
|
|
8267
8268
|
`;
|
|
8268
|
-
const Styled$
|
|
8269
|
+
const Styled$C = {
|
|
8269
8270
|
UncontrolledSelect: UncontrolledSelect$1
|
|
8270
8271
|
};
|
|
8271
8272
|
|
|
8272
8273
|
const UncontrolledSelect = (props) => {
|
|
8273
8274
|
const { isCursorPointer } = props;
|
|
8274
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
8275
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$C.UncontrolledSelect, { ...props, $isCursorPointer: isCursorPointer });
|
|
8275
8276
|
};
|
|
8276
8277
|
|
|
8277
8278
|
const CustomSelect$5 = styled(Select)`
|
|
@@ -8319,13 +8320,13 @@ const CustomSelect$5 = styled(Select)`
|
|
|
8319
8320
|
margin-block: 0 !important;
|
|
8320
8321
|
}
|
|
8321
8322
|
`;
|
|
8322
|
-
const Styled$
|
|
8323
|
+
const Styled$B = {
|
|
8323
8324
|
CustomSelect: CustomSelect$5
|
|
8324
8325
|
};
|
|
8325
8326
|
|
|
8326
8327
|
const CustomSelect$4 = (props) => {
|
|
8327
8328
|
const { paddingContainerEnd, ...rest } = props;
|
|
8328
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
8329
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$B.CustomSelect, { $paddingContainerEnd: paddingContainerEnd, ...rest });
|
|
8329
8330
|
};
|
|
8330
8331
|
|
|
8331
8332
|
const CursorPointerTag = styled(Tag)`
|
|
@@ -8472,7 +8473,7 @@ const Abbr$2 = styled.span`
|
|
|
8472
8473
|
height: min-content;
|
|
8473
8474
|
margin-right: 4px;
|
|
8474
8475
|
`;
|
|
8475
|
-
const Styled$
|
|
8476
|
+
const Styled$A = {
|
|
8476
8477
|
Abbr: Abbr$2
|
|
8477
8478
|
};
|
|
8478
8479
|
|
|
@@ -8512,7 +8513,7 @@ const ResourceLink = ({
|
|
|
8512
8513
|
baseFactoriesMapping
|
|
8513
8514
|
});
|
|
8514
8515
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(Flex, { align: "center", gap: 8, children: [
|
|
8515
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
8516
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$A.Abbr, { $bgColor: bgColor, children: abbr }),
|
|
8516
8517
|
resourceLink ? /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
8517
8518
|
Typography.Link,
|
|
8518
8519
|
{
|
|
@@ -8551,7 +8552,7 @@ const NoWrapContainer = styled.div`
|
|
|
8551
8552
|
flex-wrap: nowrap !important;
|
|
8552
8553
|
}
|
|
8553
8554
|
`;
|
|
8554
|
-
const Styled$
|
|
8555
|
+
const Styled$z = {
|
|
8555
8556
|
PositionRelativeContainer,
|
|
8556
8557
|
FullWidthContainer,
|
|
8557
8558
|
NoWrapContainer
|
|
@@ -8594,9 +8595,9 @@ const CollapsibleBreadcrumb = ({ items }) => {
|
|
|
8594
8595
|
};
|
|
8595
8596
|
return [firstItem, ellipsisItem, lastItem];
|
|
8596
8597
|
};
|
|
8597
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$
|
|
8598
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
8599
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
8598
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$z.PositionRelativeContainer, { children: [
|
|
8599
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$z.FullWidthContainer, { ref: containerRef, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Breadcrumb, { separator: ">", items: renderItems() }) }),
|
|
8600
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$z.NoWrapContainer, { ref: breadcrumbRef, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Breadcrumb, { separator: ">", items, style: { display: "flex", flexWrap: "nowrap" } }) })
|
|
8600
8601
|
] });
|
|
8601
8602
|
};
|
|
8602
8603
|
|
|
@@ -8604,12 +8605,12 @@ const HeightDiv$1 = styled.div`
|
|
|
8604
8605
|
min-height: 22px;
|
|
8605
8606
|
width: 100%;
|
|
8606
8607
|
`;
|
|
8607
|
-
const Styled$
|
|
8608
|
+
const Styled$y = {
|
|
8608
8609
|
HeightDiv: HeightDiv$1
|
|
8609
8610
|
};
|
|
8610
8611
|
|
|
8611
8612
|
const ManageableBreadcrumbs = ({ data }) => {
|
|
8612
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
8613
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$y.HeightDiv, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(CollapsibleBreadcrumb, { items: data.breadcrumbItems }) });
|
|
8613
8614
|
};
|
|
8614
8615
|
|
|
8615
8616
|
const getKinds = async ({ cluster }) => {
|
|
@@ -9595,7 +9596,7 @@ const HeightDiv = styled.div`
|
|
|
9595
9596
|
min-height: 22px;
|
|
9596
9597
|
width: 100%;
|
|
9597
9598
|
`;
|
|
9598
|
-
const Styled$
|
|
9599
|
+
const Styled$x = {
|
|
9599
9600
|
HeightDiv
|
|
9600
9601
|
};
|
|
9601
9602
|
|
|
@@ -9624,7 +9625,7 @@ const ManageableBreadcrumbsProvider = ({
|
|
|
9624
9625
|
return null;
|
|
9625
9626
|
}
|
|
9626
9627
|
if (rawDataLoading) {
|
|
9627
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
9628
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$x.HeightDiv, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(Spin, {}) });
|
|
9628
9629
|
}
|
|
9629
9630
|
if (!rawData) {
|
|
9630
9631
|
return null;
|
|
@@ -9639,7 +9640,7 @@ const ManageableBreadcrumbsProvider = ({
|
|
|
9639
9640
|
idToCompare
|
|
9640
9641
|
});
|
|
9641
9642
|
if (!result) {
|
|
9642
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
9643
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$x.HeightDiv, {});
|
|
9643
9644
|
}
|
|
9644
9645
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(ManageableBreadcrumbs, { data: result }, JSON.stringify(idToCompare));
|
|
9645
9646
|
};
|
|
@@ -9667,7 +9668,7 @@ const CustomMenu = styled(Menu)`
|
|
|
9667
9668
|
margin: 0 !important;
|
|
9668
9669
|
}
|
|
9669
9670
|
`;
|
|
9670
|
-
const Styled$
|
|
9671
|
+
const Styled$w = {
|
|
9671
9672
|
CustomMenu
|
|
9672
9673
|
};
|
|
9673
9674
|
|
|
@@ -9694,7 +9695,7 @@ const ManageableSidebar = ({ data, noMarginTop }) => {
|
|
|
9694
9695
|
setSelectedKeys(data.selectedKeys);
|
|
9695
9696
|
}, [data.selectedKeys]);
|
|
9696
9697
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
9697
|
-
Styled$
|
|
9698
|
+
Styled$w.CustomMenu,
|
|
9698
9699
|
{
|
|
9699
9700
|
selectedKeys,
|
|
9700
9701
|
onSelect: () => {
|
|
@@ -33882,7 +33883,7 @@ const ShortenedText = styled.div`
|
|
|
33882
33883
|
white-space: nowrap;
|
|
33883
33884
|
text-overflow: ellipsis;
|
|
33884
33885
|
`;
|
|
33885
|
-
const Styled$
|
|
33886
|
+
const Styled$v = {
|
|
33886
33887
|
ShortenedText
|
|
33887
33888
|
};
|
|
33888
33889
|
|
|
@@ -33891,7 +33892,7 @@ const ShortenedTextWithTooltip = ({ text, trimLength, maxWidth = 200 }) => {
|
|
|
33891
33892
|
const trimmedText = text.substring(0, trimLength);
|
|
33892
33893
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip, { title: text, placement: "top", children: trimmedText });
|
|
33893
33894
|
}
|
|
33894
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip, { title: text, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
33895
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip, { title: text, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$v.ShortenedText, { $maxWidth: maxWidth, children: text }) });
|
|
33895
33896
|
};
|
|
33896
33897
|
|
|
33897
33898
|
const FilterDropdown = ({
|
|
@@ -34143,13 +34144,53 @@ const convertStorage = (value, from, to, opts) => {
|
|
|
34143
34144
|
if (bytes < 0) return -1;
|
|
34144
34145
|
return convertBytes(bytes, to, opts);
|
|
34145
34146
|
};
|
|
34147
|
+
const normalizeAutoNumber$1 = (raw) => {
|
|
34148
|
+
let s = raw.trim();
|
|
34149
|
+
s = s.replace(/[\s\u00A0\u202F_]/g, "");
|
|
34150
|
+
s = s.replace(/'/g, "");
|
|
34151
|
+
const hasDot = s.includes(".");
|
|
34152
|
+
const hasComma = s.includes(",");
|
|
34153
|
+
if (hasDot && hasComma) {
|
|
34154
|
+
const lastDot = s.lastIndexOf(".");
|
|
34155
|
+
const lastComma = s.lastIndexOf(",");
|
|
34156
|
+
const decimal = lastDot > lastComma ? "." : ",";
|
|
34157
|
+
const group = decimal === "." ? "," : ".";
|
|
34158
|
+
s = s.split(group).join("");
|
|
34159
|
+
if (decimal === ",") s = s.replace(/,/g, ".");
|
|
34160
|
+
return s;
|
|
34161
|
+
}
|
|
34162
|
+
if (hasComma && !hasDot) {
|
|
34163
|
+
const parts = s.split(",");
|
|
34164
|
+
if (parts.length > 2) {
|
|
34165
|
+
return parts.join("");
|
|
34166
|
+
}
|
|
34167
|
+
const [intPart, fracPart = ""] = parts;
|
|
34168
|
+
if (fracPart.length === 3 && intPart.length >= 1) {
|
|
34169
|
+
return intPart + fracPart;
|
|
34170
|
+
}
|
|
34171
|
+
return intPart + (fracPart ? "." + fracPart : "");
|
|
34172
|
+
}
|
|
34173
|
+
if (hasDot && !hasComma) {
|
|
34174
|
+
const parts = s.split(".");
|
|
34175
|
+
if (parts.length > 2) {
|
|
34176
|
+
return parts.join("");
|
|
34177
|
+
}
|
|
34178
|
+
const [intPart, fracPart = ""] = parts;
|
|
34179
|
+
if (fracPart.length === 3 && intPart.length >= 1) {
|
|
34180
|
+
return intPart + fracPart;
|
|
34181
|
+
}
|
|
34182
|
+
return intPart + (fracPart ? "." + fracPart : "");
|
|
34183
|
+
}
|
|
34184
|
+
return s;
|
|
34185
|
+
};
|
|
34146
34186
|
const parseValueWithUnit = (input) => {
|
|
34147
34187
|
const trimmed = input.trim();
|
|
34148
34188
|
if (!trimmed) return null;
|
|
34149
|
-
const match = trimmed.match(/^([+-]?\d
|
|
34189
|
+
const match = trimmed.match(/^([+-]?\d(?:[\d\s\u00A0\u202F.,'_]*\d)?)(?:\s*([a-zA-Z]+))?$/);
|
|
34150
34190
|
if (!match) return null;
|
|
34151
|
-
const [,
|
|
34152
|
-
const
|
|
34191
|
+
const [, numPartRaw, unitPart] = match;
|
|
34192
|
+
const normalized = normalizeAutoNumber$1(numPartRaw);
|
|
34193
|
+
const value = Number(normalized);
|
|
34153
34194
|
if (!Number.isFinite(value)) return null;
|
|
34154
34195
|
if (unitPart) {
|
|
34155
34196
|
return { value, unit: unitPart };
|
|
@@ -34246,18 +34287,72 @@ const convertCompute = (value, from, to, opts) => {
|
|
|
34246
34287
|
if (cores < 0) return -1;
|
|
34247
34288
|
return convertCores(cores, to, opts);
|
|
34248
34289
|
};
|
|
34290
|
+
const isDigits = (s) => /^\d+$/.test(s);
|
|
34291
|
+
const isValidThousandGrouping = (parts) => {
|
|
34292
|
+
if (parts.length < 3) return false;
|
|
34293
|
+
if (parts.some((p) => p.length === 0)) return false;
|
|
34294
|
+
if (!parts.every(isDigits)) return false;
|
|
34295
|
+
if (parts[0].length < 1 || parts[0].length > 3) return false;
|
|
34296
|
+
for (let i = 1; i < parts.length; i++) {
|
|
34297
|
+
if (parts[i].length !== 3) return false;
|
|
34298
|
+
}
|
|
34299
|
+
return true;
|
|
34300
|
+
};
|
|
34301
|
+
const normalizeAutoNumber = (raw) => {
|
|
34302
|
+
let s = raw.trim();
|
|
34303
|
+
s = s.replace(/[\s\u00A0\u202F_]/g, "");
|
|
34304
|
+
s = s.replace(/'/g, "");
|
|
34305
|
+
const hasDot = s.includes(".");
|
|
34306
|
+
const hasComma = s.includes(",");
|
|
34307
|
+
if (hasDot && hasComma) {
|
|
34308
|
+
const lastDot = s.lastIndexOf(".");
|
|
34309
|
+
const lastComma = s.lastIndexOf(",");
|
|
34310
|
+
const decimal = lastDot > lastComma ? "." : ",";
|
|
34311
|
+
const group = decimal === "." ? "," : ".";
|
|
34312
|
+
s = s.split(group).join("");
|
|
34313
|
+
if (decimal === ",") s = s.replace(/,/g, ".");
|
|
34314
|
+
return s;
|
|
34315
|
+
}
|
|
34316
|
+
if (hasComma && !hasDot) {
|
|
34317
|
+
const parts = s.split(",");
|
|
34318
|
+
if (parts.length > 2) {
|
|
34319
|
+
if (!isValidThousandGrouping(parts)) return null;
|
|
34320
|
+
return parts.join("");
|
|
34321
|
+
}
|
|
34322
|
+
const [intPart, fracPart = ""] = parts;
|
|
34323
|
+
if (!isDigits(intPart || "0") || fracPart && !isDigits(fracPart)) return null;
|
|
34324
|
+
if (fracPart.length === 3 && intPart.length >= 1) {
|
|
34325
|
+
return intPart + fracPart;
|
|
34326
|
+
}
|
|
34327
|
+
return intPart + (fracPart ? "." + fracPart : "");
|
|
34328
|
+
}
|
|
34329
|
+
if (hasDot && !hasComma) {
|
|
34330
|
+
const parts = s.split(".");
|
|
34331
|
+
if (parts.length > 2) {
|
|
34332
|
+
if (!isValidThousandGrouping(parts)) return null;
|
|
34333
|
+
return parts.join("");
|
|
34334
|
+
}
|
|
34335
|
+
const [intPart, fracPart = ""] = parts;
|
|
34336
|
+
if (!isDigits(intPart || "0") || fracPart && !isDigits(fracPart)) return null;
|
|
34337
|
+
if (fracPart.length === 3 && intPart.length >= 1) {
|
|
34338
|
+
return intPart + fracPart;
|
|
34339
|
+
}
|
|
34340
|
+
return intPart + (fracPart ? "." + fracPart : "");
|
|
34341
|
+
}
|
|
34342
|
+
if (!isDigits(s.replace(/^[+-]/, ""))) return null;
|
|
34343
|
+
return s;
|
|
34344
|
+
};
|
|
34249
34345
|
const parseCoresWithUnit = (input) => {
|
|
34250
34346
|
const trimmed = input.trim();
|
|
34251
34347
|
if (!trimmed) return null;
|
|
34252
|
-
const match = trimmed.match(/^([+-]?\d
|
|
34348
|
+
const match = trimmed.match(/^([+-]?\d(?:[\d\s\u00A0\u202F.,'_]*\d)?)(?:\s*([a-zA-Zµ]+))?$/);
|
|
34253
34349
|
if (!match) return null;
|
|
34254
|
-
const [,
|
|
34255
|
-
const
|
|
34350
|
+
const [, numPartRaw, unitPart] = match;
|
|
34351
|
+
const normalized = normalizeAutoNumber(numPartRaw);
|
|
34352
|
+
if (!normalized) return null;
|
|
34353
|
+
const value = Number(normalized);
|
|
34256
34354
|
if (!Number.isFinite(value)) return null;
|
|
34257
|
-
|
|
34258
|
-
return { value, unit: unitPart };
|
|
34259
|
-
}
|
|
34260
|
-
return { value };
|
|
34355
|
+
return unitPart ? { value, unit: unitPart } : { value };
|
|
34261
34356
|
};
|
|
34262
34357
|
|
|
34263
34358
|
const DynamicRendererInner = ({
|
|
@@ -42950,7 +43045,7 @@ const BigText$1 = styled.div`
|
|
|
42950
43045
|
font-size: 16px;
|
|
42951
43046
|
line-height: 24px;
|
|
42952
43047
|
`;
|
|
42953
|
-
const Styled$
|
|
43048
|
+
const Styled$u = {
|
|
42954
43049
|
BorderRadiusContainer: BorderRadiusContainer$1,
|
|
42955
43050
|
ControlsRowContainer: ControlsRowContainer$1,
|
|
42956
43051
|
BigText: BigText$1
|
|
@@ -43074,7 +43169,7 @@ const YamlEditorSingleton$1 = ({
|
|
|
43074
43169
|
};
|
|
43075
43170
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
43076
43171
|
contextHolder,
|
|
43077
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
43172
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$u.BorderRadiusContainer, { $designNewLayoutHeight: designNewLayoutHeight, $colorBorder: token.colorBorder, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
43078
43173
|
Ft$1,
|
|
43079
43174
|
{
|
|
43080
43175
|
defaultLanguage: "yaml",
|
|
@@ -43093,7 +43188,7 @@ const YamlEditorSingleton$1 = ({
|
|
|
43093
43188
|
}
|
|
43094
43189
|
}
|
|
43095
43190
|
) }),
|
|
43096
|
-
!readOnly && /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
43191
|
+
!readOnly && /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$u.ControlsRowContainer, { $bgColor: token.colorPrimaryBg, $designNewLayout: designNewLayout, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(Flex, { gap: designNewLayout ? 10 : 16, align: "center", children: [
|
|
43097
43192
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Button, { type: "primary", onClick: onSubmit, loading: isLoading, children: "Submit" }),
|
|
43098
43193
|
backlink && /* @__PURE__ */ jsxRuntimeExports.jsx(Button, { onClick: () => navigate(backlink), children: "Cancel" }),
|
|
43099
43194
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Button, { onClick: handleReload, children: "Reload" })
|
|
@@ -43104,7 +43199,7 @@ const YamlEditorSingleton$1 = ({
|
|
|
43104
43199
|
open: !!error,
|
|
43105
43200
|
onOk: () => setError(void 0),
|
|
43106
43201
|
onCancel: () => setError(void 0),
|
|
43107
|
-
title: /* @__PURE__ */ jsxRuntimeExports.jsx(Typography.Text, { type: "danger", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
43202
|
+
title: /* @__PURE__ */ jsxRuntimeExports.jsx(Typography.Text, { type: "danger", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$u.BigText, { children: "Error!" }) }),
|
|
43108
43203
|
cancelButtonProps: { style: { display: "none" } },
|
|
43109
43204
|
children: [
|
|
43110
43205
|
"An error has occurred: ",
|
|
@@ -43220,7 +43315,7 @@ const YamlEditorSingleton = ({
|
|
|
43220
43315
|
const VisibilityContainer$2 = styled.div`
|
|
43221
43316
|
display: ${({ $hidden }) => $hidden ? "none" : "block"};
|
|
43222
43317
|
`;
|
|
43223
|
-
const Styled$
|
|
43318
|
+
const Styled$t = {
|
|
43224
43319
|
VisibilityContainer: VisibilityContainer$2
|
|
43225
43320
|
};
|
|
43226
43321
|
|
|
@@ -43243,7 +43338,7 @@ const VisibilityContainer$1 = ({
|
|
|
43243
43338
|
if (isMultiqueryLoading) {
|
|
43244
43339
|
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: "Loading multiquery" });
|
|
43245
43340
|
}
|
|
43246
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
43341
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$t.VisibilityContainer, { $hidden: valuePrepared === "~undefined-value~", children });
|
|
43247
43342
|
};
|
|
43248
43343
|
|
|
43249
43344
|
const unknownToString = (value) => {
|
|
@@ -43482,7 +43577,7 @@ const useUpdateIsTouchedPersisted = () => {
|
|
|
43482
43577
|
return dispatch;
|
|
43483
43578
|
};
|
|
43484
43579
|
|
|
43485
|
-
const Container$
|
|
43580
|
+
const Container$3 = styled.div`
|
|
43486
43581
|
display: flex;
|
|
43487
43582
|
flex-direction: column;
|
|
43488
43583
|
gap: ${({ $designNewLayout }) => $designNewLayout ? "4px" : "8px"};
|
|
@@ -43508,8 +43603,8 @@ const Content$1 = styled.div`
|
|
|
43508
43603
|
display: ${({ $isOpen }) => $isOpen ? "block" : "none"};
|
|
43509
43604
|
padding: ${({ $designNewLayout }) => $designNewLayout ? "0 0 0 6px" : "4px"};
|
|
43510
43605
|
`;
|
|
43511
|
-
const Styled$
|
|
43512
|
-
Container: Container$
|
|
43606
|
+
const Styled$s = {
|
|
43607
|
+
Container: Container$3,
|
|
43513
43608
|
TitleBar,
|
|
43514
43609
|
Content: Content$1
|
|
43515
43610
|
};
|
|
@@ -43535,14 +43630,14 @@ const CustomCollapse = ({
|
|
|
43535
43630
|
}
|
|
43536
43631
|
};
|
|
43537
43632
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
43538
|
-
Styled$
|
|
43633
|
+
Styled$s.Container,
|
|
43539
43634
|
{
|
|
43540
43635
|
$designNewLayout: designNewLayout,
|
|
43541
43636
|
$borderColor: token.colorBorder,
|
|
43542
43637
|
$bgColor: token.colorBgContainer,
|
|
43543
43638
|
children: [
|
|
43544
43639
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(Flex, { justify: "space-between", children: [
|
|
43545
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$
|
|
43640
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$s.TitleBar, { onClick: () => toggleCollapse(), children: [
|
|
43546
43641
|
!designNewLayout && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: isOpen ? /* @__PURE__ */ jsxRuntimeExports.jsx(CaretDownOutlined, { size: 14 }) : /* @__PURE__ */ jsxRuntimeExports.jsx(CaretRightOutlined, { size: 14 }) }),
|
|
43547
43642
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: title }),
|
|
43548
43643
|
designNewLayout && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: isOpen ? /* @__PURE__ */ jsxRuntimeExports.jsx(DownIcon, {}) : /* @__PURE__ */ jsxRuntimeExports.jsx(UpIcon, {}) })
|
|
@@ -43553,7 +43648,7 @@ const CustomCollapse = ({
|
|
|
43553
43648
|
persistedCheckbox
|
|
43554
43649
|
] })
|
|
43555
43650
|
] }),
|
|
43556
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
43651
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$s.Content, { $isOpen: isOpen, $designNewLayout: designNewLayout, children })
|
|
43557
43652
|
]
|
|
43558
43653
|
}
|
|
43559
43654
|
);
|
|
@@ -43587,13 +43682,13 @@ const CustomSizeTitle = styled.div`
|
|
|
43587
43682
|
const Content = styled.div`
|
|
43588
43683
|
padding: ${({ $designNewLayout }) => $designNewLayout ? "0 0 0 6px" : "4px"};
|
|
43589
43684
|
`;
|
|
43590
|
-
const Styled$
|
|
43685
|
+
const Styled$r = {
|
|
43591
43686
|
Content
|
|
43592
43687
|
};
|
|
43593
43688
|
|
|
43594
43689
|
const ArrayInsideContainer = ({ children }) => {
|
|
43595
43690
|
const designNewLayout = useDesignNewLayout();
|
|
43596
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
43691
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$r.Content, { $designNewLayout: designNewLayout, children });
|
|
43597
43692
|
};
|
|
43598
43693
|
|
|
43599
43694
|
const includesPath = (haystack, needle) => haystack.some((h) => h.length === needle.length && h.every((seg, i) => seg === String(needle[i])));
|
|
@@ -44146,7 +44241,7 @@ const LabelsToSearchParams = ({ data, children }) => {
|
|
|
44146
44241
|
const ResetedFormList$3 = styled(Form.List)`
|
|
44147
44242
|
margin-bottom: 8px;
|
|
44148
44243
|
`;
|
|
44149
|
-
const Styled$
|
|
44244
|
+
const Styled$q = {
|
|
44150
44245
|
ResetedFormList: ResetedFormList$3
|
|
44151
44246
|
};
|
|
44152
44247
|
|
|
@@ -44231,7 +44326,7 @@ const EditModal$2 = ({
|
|
|
44231
44326
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Col, { span: cols[3], children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", {}) })
|
|
44232
44327
|
] }),
|
|
44233
44328
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Spacer$1, { $space: 10, $samespace: true }),
|
|
44234
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
44329
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$q.ResetedFormList, { name: "taints", children: (fields, { add, remove }) => /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
44235
44330
|
fields.map(({ key, name, ...restField }) => /* @__PURE__ */ jsxRuntimeExports.jsxs(Row, { gutter: [16, 16], children: [
|
|
44236
44331
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Col, { span: cols[0], children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
44237
44332
|
ResetedFormItem$1,
|
|
@@ -44471,7 +44566,7 @@ const Taints = ({ data, children }) => {
|
|
|
44471
44566
|
const ResetedFormList$2 = styled(Form.List)`
|
|
44472
44567
|
margin-bottom: 8px;
|
|
44473
44568
|
`;
|
|
44474
|
-
const Styled$
|
|
44569
|
+
const Styled$p = {
|
|
44475
44570
|
ResetedFormList: ResetedFormList$2
|
|
44476
44571
|
};
|
|
44477
44572
|
|
|
@@ -44566,7 +44661,7 @@ const EditModal$1 = ({
|
|
|
44566
44661
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Col, { span: cols[4], children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", {}) })
|
|
44567
44662
|
] }),
|
|
44568
44663
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Spacer$1, { $space: 10, $samespace: true }),
|
|
44569
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
44664
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$p.ResetedFormList, { name: "tolerations", children: (fields, { add, remove }) => /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
44570
44665
|
fields.map(({ key, name, ...restField }) => /* @__PURE__ */ jsxRuntimeExports.jsxs(Row, { gutter: [16, 16], children: [
|
|
44571
44666
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Col, { span: cols[0], children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
44572
44667
|
ResetedFormItem$1,
|
|
@@ -44848,7 +44943,7 @@ const Tolerations = ({
|
|
|
44848
44943
|
const ResetedFormList$1 = styled(Form.List)`
|
|
44849
44944
|
margin-bottom: 8px;
|
|
44850
44945
|
`;
|
|
44851
|
-
const Styled$
|
|
44946
|
+
const Styled$o = {
|
|
44852
44947
|
ResetedFormList: ResetedFormList$1
|
|
44853
44948
|
};
|
|
44854
44949
|
|
|
@@ -44938,7 +45033,7 @@ const EditModal = ({
|
|
|
44938
45033
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Col, { span: cols[2], children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", {}) })
|
|
44939
45034
|
] }),
|
|
44940
45035
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Spacer$1, { $space: 10, $samespace: true }),
|
|
44941
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
45036
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$o.ResetedFormList, { name: "annotations", children: (fields, { add, remove }) => /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
44942
45037
|
fields.map(({ key, name, ...restField }) => /* @__PURE__ */ jsxRuntimeExports.jsxs(Row, { gutter: [16, 16], children: [
|
|
44943
45038
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Col, { span: cols[0], children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
44944
45039
|
ResetedFormItem$1,
|
|
@@ -46087,7 +46182,7 @@ const NotificationOverrides = createGlobalStyle`
|
|
|
46087
46182
|
margin-bottom: 0 !important;
|
|
46088
46183
|
}
|
|
46089
46184
|
`;
|
|
46090
|
-
const Styled$
|
|
46185
|
+
const Styled$n = {
|
|
46091
46186
|
NoSelect,
|
|
46092
46187
|
DisabledInput,
|
|
46093
46188
|
NotificationOverrides
|
|
@@ -46153,10 +46248,10 @@ const SecretBase64Plain = ({ data }) => {
|
|
|
46153
46248
|
}
|
|
46154
46249
|
};
|
|
46155
46250
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: containerStyle, children: [
|
|
46156
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
46251
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$n.NotificationOverrides, {}),
|
|
46157
46252
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(Flex, { gap: 8, ...flexProps, children: [
|
|
46158
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
46159
|
-
Styled$
|
|
46253
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$n.NoSelect, { style: inputContainerStyle, children: niceLooking ? /* @__PURE__ */ jsxRuntimeExports.jsx(te, { theme, hidden, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
46254
|
+
Styled$n.DisabledInput,
|
|
46160
46255
|
{
|
|
46161
46256
|
$hidden: hidden,
|
|
46162
46257
|
ref: inputRef,
|
|
@@ -46171,7 +46266,7 @@ const SecretBase64Plain = ({ data }) => {
|
|
|
46171
46266
|
value: decodedText
|
|
46172
46267
|
}
|
|
46173
46268
|
) }) : /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
46174
|
-
Styled$
|
|
46269
|
+
Styled$n.DisabledInput,
|
|
46175
46270
|
{
|
|
46176
46271
|
$hidden: hidden,
|
|
46177
46272
|
ref: inputRef,
|
|
@@ -46205,7 +46300,7 @@ const RoundSpan = styled.span`
|
|
|
46205
46300
|
letter-spacing: 0.02em;
|
|
46206
46301
|
box-sizing: content-box;
|
|
46207
46302
|
`;
|
|
46208
|
-
const Styled$
|
|
46303
|
+
const Styled$m = {
|
|
46209
46304
|
RoundSpan
|
|
46210
46305
|
};
|
|
46211
46306
|
|
|
@@ -46244,7 +46339,7 @@ const ResourceBadge = ({ data }) => {
|
|
|
46244
46339
|
multiQueryData
|
|
46245
46340
|
}) : getUppercase(parsedValue);
|
|
46246
46341
|
const bgColor = hslFromString(parsedValue, theme);
|
|
46247
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
46342
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$m.RoundSpan, { $bgColor: bgColor, style, children: parsedAbbreviation });
|
|
46248
46343
|
};
|
|
46249
46344
|
|
|
46250
46345
|
const serializeLabelsWithNoEncoding = (input) => {
|
|
@@ -46922,6 +47017,50 @@ const TogglerSegmented = ({
|
|
|
46922
47017
|
] });
|
|
46923
47018
|
};
|
|
46924
47019
|
|
|
47020
|
+
const VMVNC$1 = ({
|
|
47021
|
+
data,
|
|
47022
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
47023
|
+
children
|
|
47024
|
+
}) => {
|
|
47025
|
+
const { data: multiQueryData, isLoading: isMultiqueryLoading } = useMultiQuery();
|
|
47026
|
+
const {
|
|
47027
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
47028
|
+
id,
|
|
47029
|
+
cluster,
|
|
47030
|
+
namespace,
|
|
47031
|
+
vmName,
|
|
47032
|
+
forcedFullWsPath,
|
|
47033
|
+
substractHeight,
|
|
47034
|
+
...props
|
|
47035
|
+
} = data;
|
|
47036
|
+
const partsOfUrl = usePartsOfUrl();
|
|
47037
|
+
const replaceValues = partsOfUrl.partsOfUrl.reduce((acc, value, index) => {
|
|
47038
|
+
acc[index.toString()] = value;
|
|
47039
|
+
return acc;
|
|
47040
|
+
}, {});
|
|
47041
|
+
const clusterPrepared = cluster ? parseAll({ text: cluster, replaceValues, multiQueryData }) : void 0;
|
|
47042
|
+
const namespacePrepared = namespace ? parseAll({ text: namespace, replaceValues, multiQueryData }) : void 0;
|
|
47043
|
+
const vmNamePrepared = vmName ? parseAll({ text: vmName, replaceValues, multiQueryData }) : void 0;
|
|
47044
|
+
const forcedFullWsPathPrepared = forcedFullWsPath ? parseAll({ text: forcedFullWsPath, replaceValues, multiQueryData }) : void 0;
|
|
47045
|
+
if (isMultiqueryLoading) {
|
|
47046
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: "Loading multiquery" });
|
|
47047
|
+
}
|
|
47048
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
47049
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
47050
|
+
VMVNC,
|
|
47051
|
+
{
|
|
47052
|
+
cluster: clusterPrepared,
|
|
47053
|
+
namespace: namespacePrepared,
|
|
47054
|
+
vmName: vmNamePrepared,
|
|
47055
|
+
forcedFullWsPath: forcedFullWsPathPrepared,
|
|
47056
|
+
substractHeight: substractHeight || 400,
|
|
47057
|
+
...props
|
|
47058
|
+
}
|
|
47059
|
+
),
|
|
47060
|
+
children
|
|
47061
|
+
] });
|
|
47062
|
+
};
|
|
47063
|
+
|
|
46925
47064
|
const DynamicComponents = {
|
|
46926
47065
|
DefaultDiv,
|
|
46927
47066
|
antdText: AntdText,
|
|
@@ -46962,7 +47101,8 @@ const DynamicComponents = {
|
|
|
46962
47101
|
Events: Events$1,
|
|
46963
47102
|
OwnerRefs,
|
|
46964
47103
|
Toggler,
|
|
46965
|
-
TogglerSegmented
|
|
47104
|
+
TogglerSegmented,
|
|
47105
|
+
VMVNC: VMVNC$1
|
|
46966
47106
|
};
|
|
46967
47107
|
|
|
46968
47108
|
const prepareUrlsToFetchForDynamicRenderer = ({
|
|
@@ -47156,7 +47296,6 @@ const getEnrichedColumns = ({
|
|
|
47156
47296
|
const isSortersAndFiltersDisabled = possibleAdditionalPrinterColumnsCustomSortersAndFiltersType === "disabled";
|
|
47157
47297
|
const isSortersAndFiltersCPU = possibleAdditionalPrinterColumnsCustomSortersAndFiltersType === "cpu";
|
|
47158
47298
|
const isSortersAndFiltersMemory = possibleAdditionalPrinterColumnsCustomSortersAndFiltersType === "memory";
|
|
47159
|
-
console.log(`key: ${el.key}, isSortersAndFiltersMemory: ${isSortersAndFiltersMemory}`);
|
|
47160
47299
|
const possibleUndefinedValue = additionalPrinterColumnsUndefinedValues?.find(({ key }) => key === el.key)?.value;
|
|
47161
47300
|
const possibleTrimLength = additionalPrinterColumnsTrimLengths?.find(({ key }) => key === el.key)?.value;
|
|
47162
47301
|
const possibleColWidth = additionalPrinterColumnsColWidths?.find(({ key }) => key === el.key)?.value;
|
|
@@ -47172,7 +47311,6 @@ const getEnrichedColumns = ({
|
|
|
47172
47311
|
};
|
|
47173
47312
|
const getMemoryInBytes = (record) => {
|
|
47174
47313
|
const text = getCellTextFromDOM(record);
|
|
47175
|
-
console.log(`text from cell ${text}`);
|
|
47176
47314
|
if (!text) return 0;
|
|
47177
47315
|
const parsed = parseValueWithUnit(text);
|
|
47178
47316
|
if (!parsed) return 0;
|
|
@@ -47273,7 +47411,6 @@ const getEnrichedColumns = ({
|
|
|
47273
47411
|
if (isSortersAndFiltersMemory) {
|
|
47274
47412
|
const aBytes = getMemoryInBytes(a);
|
|
47275
47413
|
const bBytes = getMemoryInBytes(b);
|
|
47276
|
-
console.log(`isSortersAndFiltersMemory ${aBytes}/${bBytes}`);
|
|
47277
47414
|
return safeNumericCompare(aBytes, bBytes);
|
|
47278
47415
|
}
|
|
47279
47416
|
if (isSortersAndFiltersCPU) {
|
|
@@ -48394,7 +48531,7 @@ const BorderRadiusContainer = styled.div`
|
|
|
48394
48531
|
border-radius: 8px;
|
|
48395
48532
|
}
|
|
48396
48533
|
`;
|
|
48397
|
-
const Styled$
|
|
48534
|
+
const Styled$l = {
|
|
48398
48535
|
BorderRadiusContainer
|
|
48399
48536
|
};
|
|
48400
48537
|
|
|
@@ -48441,7 +48578,7 @@ const YamlEditor = ({ theme: theme$1, currentValues, onChange, editorUri }) => {
|
|
|
48441
48578
|
}
|
|
48442
48579
|
}
|
|
48443
48580
|
}, [yamlData, editorUri]);
|
|
48444
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
48581
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$l.BorderRadiusContainer, { $colorBorder: token.colorBorder, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
48445
48582
|
Ft$1,
|
|
48446
48583
|
{
|
|
48447
48584
|
language: "yaml",
|
|
@@ -49198,7 +49335,7 @@ const fromBase64 = (b64) => {
|
|
|
49198
49335
|
const MarginBottom = styled.div`
|
|
49199
49336
|
margin-bottom: 8px;
|
|
49200
49337
|
`;
|
|
49201
|
-
const Styled$
|
|
49338
|
+
const Styled$k = {
|
|
49202
49339
|
MarginBottom
|
|
49203
49340
|
};
|
|
49204
49341
|
|
|
@@ -49264,7 +49401,7 @@ const FormStringMultilineInput = ({
|
|
|
49264
49401
|
},
|
|
49265
49402
|
arrKey !== void 0 ? arrKey : Array.isArray(name) ? name.slice(-1)[0] : name
|
|
49266
49403
|
),
|
|
49267
|
-
isBase64 && /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
49404
|
+
isBase64 && /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$k.MarginBottom, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
49268
49405
|
Input.TextArea,
|
|
49269
49406
|
{
|
|
49270
49407
|
placeholder: getStringByName(name),
|
|
@@ -49291,7 +49428,7 @@ const CrossContainer = styled.div`
|
|
|
49291
49428
|
cursor: pointer;
|
|
49292
49429
|
padding-top: 11px;
|
|
49293
49430
|
`;
|
|
49294
|
-
const Styled$
|
|
49431
|
+
const Styled$j = {
|
|
49295
49432
|
SwitchAndCrossContainer,
|
|
49296
49433
|
CrossContainer
|
|
49297
49434
|
};
|
|
@@ -49316,7 +49453,7 @@ const FormBooleanInput = ({
|
|
|
49316
49453
|
onRemoveByMinus && /* @__PURE__ */ jsxRuntimeExports.jsx(Button, { size: "small", type: "text", onClick: onRemoveByMinus, children: /* @__PURE__ */ jsxRuntimeExports.jsx(MinusIcon, {}) })
|
|
49317
49454
|
] })
|
|
49318
49455
|
] }),
|
|
49319
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$
|
|
49456
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$j.SwitchAndCrossContainer, { children: [
|
|
49320
49457
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
49321
49458
|
ResetedFormItem$1,
|
|
49322
49459
|
{
|
|
@@ -49326,7 +49463,7 @@ const FormBooleanInput = ({
|
|
|
49326
49463
|
arrKey !== void 0 ? arrKey : Array.isArray(name) ? name.slice(-1)[0] : name
|
|
49327
49464
|
),
|
|
49328
49465
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
49329
|
-
Styled$
|
|
49466
|
+
Styled$j.CrossContainer,
|
|
49330
49467
|
{
|
|
49331
49468
|
onClick: () => {
|
|
49332
49469
|
if (makeValueUndefined) {
|
|
@@ -49514,7 +49651,7 @@ const FormArrayHeader = ({
|
|
|
49514
49651
|
] });
|
|
49515
49652
|
};
|
|
49516
49653
|
|
|
49517
|
-
const Container$
|
|
49654
|
+
const Container$2 = styled.div`
|
|
49518
49655
|
height: 140px;
|
|
49519
49656
|
border: 1px solid ${({ $colorBorder }) => $colorBorder};
|
|
49520
49657
|
border-radius: 8px;
|
|
@@ -49525,8 +49662,8 @@ const Container$1 = styled.div`
|
|
|
49525
49662
|
border-radius: 8px;
|
|
49526
49663
|
}
|
|
49527
49664
|
`;
|
|
49528
|
-
const Styled$
|
|
49529
|
-
Container: Container$
|
|
49665
|
+
const Styled$i = {
|
|
49666
|
+
Container: Container$2
|
|
49530
49667
|
};
|
|
49531
49668
|
|
|
49532
49669
|
const FormInlineYamlEditor = ({ path, persistedControls, externalValue }) => {
|
|
@@ -49579,7 +49716,7 @@ const FormInlineYamlEditor = ({ path, persistedControls, externalValue }) => {
|
|
|
49579
49716
|
}
|
|
49580
49717
|
}
|
|
49581
49718
|
}, [yamlText, modelUri]);
|
|
49582
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
49719
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$i.Container, { $colorBorder: token.colorBorder, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
49583
49720
|
Ft$1,
|
|
49584
49721
|
{
|
|
49585
49722
|
language: "yaml",
|
|
@@ -49718,7 +49855,7 @@ const getSortedPropertyKeys = ({
|
|
|
49718
49855
|
});
|
|
49719
49856
|
};
|
|
49720
49857
|
|
|
49721
|
-
const Container = styled.div`
|
|
49858
|
+
const Container$1 = styled.div`
|
|
49722
49859
|
display: grid;
|
|
49723
49860
|
grid-template-columns: repeat(2, 1fr);
|
|
49724
49861
|
gap: ${({ $designNewLayout }) => $designNewLayout ? "36px" : "8px"};
|
|
@@ -49746,9 +49883,9 @@ const BigText = styled.div`
|
|
|
49746
49883
|
font-size: 16px;
|
|
49747
49884
|
line-height: 24px;
|
|
49748
49885
|
`;
|
|
49749
|
-
const Styled$
|
|
49886
|
+
const Styled$h = {
|
|
49750
49887
|
ResetedFormList,
|
|
49751
|
-
Container,
|
|
49888
|
+
Container: Container$1,
|
|
49752
49889
|
OverflowContainer: OverflowContainer$1,
|
|
49753
49890
|
ControlsRowContainer,
|
|
49754
49891
|
DebugContainer,
|
|
@@ -50028,7 +50165,7 @@ const getArrayFormItemFromSwagger = ({
|
|
|
50028
50165
|
}
|
|
50029
50166
|
),
|
|
50030
50167
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
50031
|
-
Styled$
|
|
50168
|
+
Styled$h.ResetedFormList,
|
|
50032
50169
|
{
|
|
50033
50170
|
name: arrName || name,
|
|
50034
50171
|
rules: !forceNonRequired && required?.includes(getStringByName(name)) ? [
|
|
@@ -51469,8 +51606,8 @@ const BlackholeForm = ({
|
|
|
51469
51606
|
setPersistedKeys([...persistedKeys.filter((arr) => JSON.stringify(arr) !== JSON.stringify(value))]);
|
|
51470
51607
|
};
|
|
51471
51608
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
51472
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$
|
|
51473
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
51609
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$h.Container, { $designNewLayout: designNewLayout, $designNewLayoutHeight: designNewLayoutHeight, children: [
|
|
51610
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$h.OverflowContainer, { ref: overflowRef, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
51474
51611
|
Form,
|
|
51475
51612
|
{
|
|
51476
51613
|
form,
|
|
@@ -51524,7 +51661,7 @@ const BlackholeForm = ({
|
|
|
51524
51661
|
) })
|
|
51525
51662
|
] }),
|
|
51526
51663
|
/* @__PURE__ */ jsxRuntimeExports.jsx(FlexGrow, {}),
|
|
51527
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
51664
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$h.ControlsRowContainer, { $bgColor: token.colorPrimaryBg, $designNewLayout: designNewLayout, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(Flex, { gap: designNewLayout ? 10 : 16, align: "center", children: [
|
|
51528
51665
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Button, { type: "primary", onClick: onSubmit, loading: isLoading, children: "Submit" }),
|
|
51529
51666
|
backlink && /* @__PURE__ */ jsxRuntimeExports.jsx(Button, { onClick: () => navigate(backlink), children: "Cancel" }),
|
|
51530
51667
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Button, { onClick: () => setIsDebugModalOpen(true), icon: /* @__PURE__ */ jsxRuntimeExports.jsx(BugOutlined, {}) }),
|
|
@@ -51536,7 +51673,7 @@ const BlackholeForm = ({
|
|
|
51536
51673
|
open: !!error,
|
|
51537
51674
|
onOk: () => setError(void 0),
|
|
51538
51675
|
onCancel: () => setError(void 0),
|
|
51539
|
-
title: /* @__PURE__ */ jsxRuntimeExports.jsx(Typography.Text, { type: "danger", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
51676
|
+
title: /* @__PURE__ */ jsxRuntimeExports.jsx(Typography.Text, { type: "danger", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$h.BigText, { children: "Error!" }) }),
|
|
51540
51677
|
cancelButtonProps: { style: { display: "none" } },
|
|
51541
51678
|
children: [
|
|
51542
51679
|
"An error has occurred: ",
|
|
@@ -51552,7 +51689,7 @@ const BlackholeForm = ({
|
|
|
51552
51689
|
onCancel: () => setIsDebugModalOpen(false),
|
|
51553
51690
|
title: "Debug for properties",
|
|
51554
51691
|
width: "90vw",
|
|
51555
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
51692
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$h.DebugContainer, { $designNewLayoutHeight: designNewLayoutHeight, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Suspense, { fallback: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: "Loading..." }), children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
51556
51693
|
Editor,
|
|
51557
51694
|
{
|
|
51558
51695
|
defaultLanguage: "json",
|
|
@@ -51607,7 +51744,7 @@ const BlackholeFormProvider = ({
|
|
|
51607
51744
|
}
|
|
51608
51745
|
if (data2.result === "error") {
|
|
51609
51746
|
setIsError(data2.error);
|
|
51610
|
-
console.
|
|
51747
|
+
console.warn(data2.error);
|
|
51611
51748
|
fallbackToManualMode();
|
|
51612
51749
|
} else {
|
|
51613
51750
|
setPreparedData({
|
|
@@ -51650,15 +51787,15 @@ const BlackholeFormProvider = ({
|
|
|
51650
51787
|
}
|
|
51651
51788
|
);
|
|
51652
51789
|
}
|
|
51790
|
+
if (isError) {
|
|
51791
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Alert, { message: isError, type: "error" });
|
|
51792
|
+
}
|
|
51653
51793
|
if (!preparedData?.properties && !isError) {
|
|
51654
51794
|
return null;
|
|
51655
51795
|
}
|
|
51656
51796
|
if (!preparedData?.properties) {
|
|
51657
51797
|
return null;
|
|
51658
51798
|
}
|
|
51659
|
-
if (isError) {
|
|
51660
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(Alert, { message: isError, type: "error" });
|
|
51661
|
-
}
|
|
51662
51799
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
51663
51800
|
BlackholeForm,
|
|
51664
51801
|
{
|
|
@@ -51689,7 +51826,7 @@ const BlackholeFormProvider = ({
|
|
|
51689
51826
|
);
|
|
51690
51827
|
};
|
|
51691
51828
|
|
|
51692
|
-
const CustomCard$
|
|
51829
|
+
const CustomCard$6 = styled(Card$1)`
|
|
51693
51830
|
display: flex;
|
|
51694
51831
|
justify-content: center;
|
|
51695
51832
|
align-items: center;
|
|
@@ -51709,12 +51846,12 @@ const CustomCard$5 = styled(Card$1)`
|
|
|
51709
51846
|
padding: 8px;
|
|
51710
51847
|
}
|
|
51711
51848
|
`;
|
|
51712
|
-
const Styled$
|
|
51713
|
-
CustomCard: CustomCard$
|
|
51849
|
+
const Styled$g = {
|
|
51850
|
+
CustomCard: CustomCard$6
|
|
51714
51851
|
};
|
|
51715
51852
|
|
|
51716
51853
|
const AddCard = ({ onAddClick }) => {
|
|
51717
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
51854
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$g.CustomCard, { onClick: onAddClick, children: /* @__PURE__ */ jsxRuntimeExports.jsx(PlusOutlined, {}) });
|
|
51718
51855
|
};
|
|
51719
51856
|
|
|
51720
51857
|
const byteToHex = [];
|
|
@@ -51931,7 +52068,7 @@ const getCreatePathToNav = ({
|
|
|
51931
52068
|
return `/${baseprefix}/${cluster}/${namespace}/forms/builtin/${apiVersion}/${plural}?backlink=${window.location.pathname}`;
|
|
51932
52069
|
};
|
|
51933
52070
|
|
|
51934
|
-
const CustomCard$
|
|
52071
|
+
const CustomCard$5 = styled(Card$1)`
|
|
51935
52072
|
position: relative;
|
|
51936
52073
|
width: 238px;
|
|
51937
52074
|
overflow-x: auto;
|
|
@@ -52002,8 +52139,8 @@ const EditButtonContainer = styled.div`
|
|
|
52002
52139
|
bottom: 6px;
|
|
52003
52140
|
right: 6px;
|
|
52004
52141
|
`;
|
|
52005
|
-
const Styled$
|
|
52006
|
-
CustomCard: CustomCard$
|
|
52142
|
+
const Styled$f = {
|
|
52143
|
+
CustomCard: CustomCard$5,
|
|
52007
52144
|
ImageContainer,
|
|
52008
52145
|
OverflowContainer,
|
|
52009
52146
|
TitleContainer,
|
|
@@ -52074,14 +52211,14 @@ const MarketplaceCard = ({
|
|
|
52074
52211
|
return null;
|
|
52075
52212
|
}
|
|
52076
52213
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
52077
|
-
Styled$
|
|
52214
|
+
Styled$f.CustomCard,
|
|
52078
52215
|
{
|
|
52079
52216
|
$isDisabled: disabled,
|
|
52080
52217
|
$hoverColor: token.colorPrimary,
|
|
52081
52218
|
onClick: () => disabled ? null : navigate(navigateUrl),
|
|
52082
52219
|
children: /* @__PURE__ */ jsxRuntimeExports.jsxs(Flex, { vertical: true, style: { width: "100%", height: "100%" }, justify: "spaceBetween", children: [
|
|
52083
52220
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(Flex, { justify: "space-between", children: [
|
|
52084
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
52221
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$f.ImageContainer, { dangerouslySetInnerHTML: { __html: decodedIcon } }),
|
|
52085
52222
|
isEditMode && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
52086
52223
|
"div",
|
|
52087
52224
|
{
|
|
@@ -52102,8 +52239,8 @@ const MarketplaceCard = ({
|
|
|
52102
52239
|
}
|
|
52103
52240
|
)
|
|
52104
52241
|
] }),
|
|
52105
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$
|
|
52106
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$
|
|
52242
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$f.OverflowContainer, { children: [
|
|
52243
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$f.TitleContainer, { children: [
|
|
52107
52244
|
name,
|
|
52108
52245
|
" ",
|
|
52109
52246
|
addedMode && /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { children: [
|
|
@@ -52111,10 +52248,10 @@ const MarketplaceCard = ({
|
|
|
52111
52248
|
k8sList?.items?.length
|
|
52112
52249
|
] })
|
|
52113
52250
|
] }),
|
|
52114
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
52115
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
52251
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$f.TagsContainer, { children: tags.map((tag) => /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$f.CustomTag, { children: tag }, tag)) }),
|
|
52252
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$f.DescriptionContainer, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(Typography.Text, { type: "secondary", children: description }) })
|
|
52116
52253
|
] }),
|
|
52117
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
52254
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$f.EditButtonContainer, { children: isEditMode && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
52118
52255
|
"div",
|
|
52119
52256
|
{
|
|
52120
52257
|
onClick: (e) => {
|
|
@@ -52172,7 +52309,7 @@ const BigValue = styled.div`
|
|
|
52172
52309
|
line-clamp: 1;
|
|
52173
52310
|
word-break: break-all;
|
|
52174
52311
|
`;
|
|
52175
|
-
const Styled$
|
|
52312
|
+
const Styled$e = {
|
|
52176
52313
|
BigValue
|
|
52177
52314
|
};
|
|
52178
52315
|
|
|
@@ -52282,7 +52419,7 @@ const MarketPlace = ({
|
|
|
52282
52419
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(Flex, { justify: "space-between", children: [
|
|
52283
52420
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: /* @__PURE__ */ jsxRuntimeExports.jsxs(Flex, { gap: 12, vertical: true, children: [
|
|
52284
52421
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(Typography.Text, { type: "secondary", children: "Available Products" }) }),
|
|
52285
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
52422
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$e.BigValue, { children: "Marketplace" }) })
|
|
52286
52423
|
] }) }),
|
|
52287
52424
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: /* @__PURE__ */ jsxRuntimeExports.jsxs(Flex, { gap: 12, vertical: true, children: [
|
|
52288
52425
|
/* @__PURE__ */ jsxRuntimeExports.jsx(SearchTextInput, { uniqueTags, selectedTags, onSelectedTags: setSelectedTags }),
|
|
@@ -52488,7 +52625,7 @@ styled.div`
|
|
|
52488
52625
|
line-clamp: 1;
|
|
52489
52626
|
word-break: break-all;
|
|
52490
52627
|
`;
|
|
52491
|
-
const Styled$
|
|
52628
|
+
const Styled$d = {
|
|
52492
52629
|
ActionMenuPlaceholder};
|
|
52493
52630
|
|
|
52494
52631
|
const ProjectInfoCard = ({
|
|
@@ -52567,7 +52704,7 @@ const ProjectInfoCard = ({
|
|
|
52567
52704
|
} : void 0,
|
|
52568
52705
|
onUpdate: updatePermission.data?.status.allowed ? openUpdate : void 0
|
|
52569
52706
|
}
|
|
52570
|
-
) : /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
52707
|
+
) : /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$d.ActionMenuPlaceholder, {}) }),
|
|
52571
52708
|
/* @__PURE__ */ jsxRuntimeExports.jsx(DropdownAccessGroups, { accessGroups })
|
|
52572
52709
|
] }) })
|
|
52573
52710
|
] }),
|
|
@@ -52640,7 +52777,7 @@ var addonFit = {exports: {}};
|
|
|
52640
52777
|
|
|
52641
52778
|
var addonFitExports = addonFit.exports;
|
|
52642
52779
|
|
|
52643
|
-
const CustomCard$
|
|
52780
|
+
const CustomCard$4 = styled.div`
|
|
52644
52781
|
visibility: ${({ $isVisible }) => $isVisible ? "visible" : "hidden"};
|
|
52645
52782
|
height: calc(100vh - ${({ $substractHeight }) => $substractHeight}px);
|
|
52646
52783
|
|
|
@@ -52648,15 +52785,15 @@ const CustomCard$3 = styled.div`
|
|
|
52648
52785
|
scrollbar-width: thin;
|
|
52649
52786
|
}
|
|
52650
52787
|
`;
|
|
52651
|
-
const FullWidthDiv$
|
|
52788
|
+
const FullWidthDiv$4 = styled.div`
|
|
52652
52789
|
display: flex;
|
|
52653
52790
|
justify-content: center;
|
|
52654
52791
|
width: 100%;
|
|
52655
52792
|
height: calc(100vh - ${({ $substractHeight }) => $substractHeight}px);
|
|
52656
52793
|
`;
|
|
52657
|
-
const Styled$
|
|
52658
|
-
FullWidthDiv: FullWidthDiv$
|
|
52659
|
-
CustomCard: CustomCard$
|
|
52794
|
+
const Styled$c = {
|
|
52795
|
+
FullWidthDiv: FullWidthDiv$4,
|
|
52796
|
+
CustomCard: CustomCard$4
|
|
52660
52797
|
};
|
|
52661
52798
|
|
|
52662
52799
|
const XTerminal$2 = ({ endpoint, namespace, podName, container, substractHeight }) => {
|
|
@@ -52739,7 +52876,7 @@ const XTerminal$2 = ({ endpoint, namespace, podName, container, substractHeight
|
|
|
52739
52876
|
};
|
|
52740
52877
|
}, [terminal, endpoint, namespace, podName, container]);
|
|
52741
52878
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
52742
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
52879
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$c.CustomCard, { $isVisible: !isLoading && !error, $substractHeight: substractHeight, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$c.FullWidthDiv, { $substractHeight: substractHeight, children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref: terminalRef, style: { width: "100%", height: "100%" } }) }) }),
|
|
52743
52880
|
isLoading && !error && /* @__PURE__ */ jsxRuntimeExports.jsx(Spin, {}),
|
|
52744
52881
|
error && /* @__PURE__ */ jsxRuntimeExports.jsx(Result, { status: "error", title: "Error", subTitle: JSON.stringify(error) })
|
|
52745
52882
|
] });
|
|
@@ -52750,7 +52887,7 @@ const CustomSelect$3 = styled.div`
|
|
|
52750
52887
|
width: 200px;
|
|
52751
52888
|
}
|
|
52752
52889
|
`;
|
|
52753
|
-
const Styled$
|
|
52890
|
+
const Styled$b = {
|
|
52754
52891
|
CustomSelect: CustomSelect$3
|
|
52755
52892
|
};
|
|
52756
52893
|
|
|
@@ -52761,7 +52898,7 @@ const PodTerminal = ({ cluster, namespace, podName, containers, substractHeight
|
|
|
52761
52898
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: "No Running Containers" });
|
|
52762
52899
|
}
|
|
52763
52900
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
52764
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
52901
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$b.CustomSelect, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
52765
52902
|
Select,
|
|
52766
52903
|
{
|
|
52767
52904
|
placeholder: "Select container",
|
|
@@ -52790,7 +52927,7 @@ const PodTerminal = ({ cluster, namespace, podName, containers, substractHeight
|
|
|
52790
52927
|
] });
|
|
52791
52928
|
};
|
|
52792
52929
|
|
|
52793
|
-
const CustomCard$
|
|
52930
|
+
const CustomCard$3 = styled.div`
|
|
52794
52931
|
visibility: ${({ $isVisible }) => $isVisible ? "visible" : "hidden"};
|
|
52795
52932
|
height: calc(100vh - ${({ $substractHeight }) => $substractHeight}px);
|
|
52796
52933
|
|
|
@@ -52798,7 +52935,7 @@ const CustomCard$2 = styled.div`
|
|
|
52798
52935
|
scrollbar-width: thin;
|
|
52799
52936
|
}
|
|
52800
52937
|
`;
|
|
52801
|
-
const FullWidthDiv$
|
|
52938
|
+
const FullWidthDiv$3 = styled.div`
|
|
52802
52939
|
display: flex;
|
|
52803
52940
|
justify-content: center;
|
|
52804
52941
|
width: 100%;
|
|
@@ -52813,9 +52950,9 @@ const ProgressContainer = styled.div`
|
|
|
52813
52950
|
align-items: center;
|
|
52814
52951
|
gap: 8px;
|
|
52815
52952
|
`;
|
|
52816
|
-
const Styled$
|
|
52817
|
-
FullWidthDiv: FullWidthDiv$
|
|
52818
|
-
CustomCard: CustomCard$
|
|
52953
|
+
const Styled$a = {
|
|
52954
|
+
FullWidthDiv: FullWidthDiv$3,
|
|
52955
|
+
CustomCard: CustomCard$3,
|
|
52819
52956
|
ProgressContainer
|
|
52820
52957
|
};
|
|
52821
52958
|
|
|
@@ -52945,8 +53082,8 @@ const XTerminal$1 = ({ endpoint, nodeName, profile, substractHeight }) => {
|
|
|
52945
53082
|
};
|
|
52946
53083
|
}, [terminal, endpoint, nodeName, profile]);
|
|
52947
53084
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
52948
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
52949
|
-
!isTerminalVisible && !error && isWarmingUp && /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$
|
|
53085
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$a.CustomCard, { $isVisible: isTerminalVisible, $substractHeight: substractHeight, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$a.FullWidthDiv, { $substractHeight: substractHeight, children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref: terminalRef, style: { width: "100%", height: "100%" } }) }) }),
|
|
53086
|
+
!isTerminalVisible && !error && isWarmingUp && /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$a.ProgressContainer, { $substractHeight: substractHeight, children: [
|
|
52950
53087
|
isLoading && /* @__PURE__ */ jsxRuntimeExports.jsx(Spin, {}),
|
|
52951
53088
|
!isLoading && /* @__PURE__ */ jsxRuntimeExports.jsx(Progress, { type: "circle", percent: progressPercent }),
|
|
52952
53089
|
warmupMessage && /* @__PURE__ */ jsxRuntimeExports.jsxs(Typography.Text, { children: [
|
|
@@ -52967,7 +53104,7 @@ const CustomSelect$2 = styled.div`
|
|
|
52967
53104
|
width: 200px;
|
|
52968
53105
|
}
|
|
52969
53106
|
`;
|
|
52970
|
-
const Styled$
|
|
53107
|
+
const Styled$9 = {
|
|
52971
53108
|
CustomSelect: CustomSelect$2
|
|
52972
53109
|
};
|
|
52973
53110
|
|
|
@@ -52976,7 +53113,7 @@ const NodeTerminal = ({ cluster, nodeName, substractHeight, defaultProfile }) =>
|
|
|
52976
53113
|
const endpoint = `/api/clusters/${cluster}/openapi-bff-ws/terminal/terminalNode/terminalNode`;
|
|
52977
53114
|
const profiles = ["legacy", "general", "baseline", "netadmin", "restricted", "sysadmin"];
|
|
52978
53115
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
52979
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
53116
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$9.CustomSelect, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
52980
53117
|
Select,
|
|
52981
53118
|
{
|
|
52982
53119
|
placeholder: "Select profile",
|
|
@@ -53001,7 +53138,7 @@ const NodeTerminal = ({ cluster, nodeName, substractHeight, defaultProfile }) =>
|
|
|
53001
53138
|
] });
|
|
53002
53139
|
};
|
|
53003
53140
|
|
|
53004
|
-
const CustomCard$
|
|
53141
|
+
const CustomCard$2 = styled.div`
|
|
53005
53142
|
visibility: ${({ $isVisible }) => $isVisible ? "visible" : "hidden"};
|
|
53006
53143
|
height: calc(100vh - ${({ $substractHeight }) => $substractHeight}px);
|
|
53007
53144
|
|
|
@@ -53009,15 +53146,15 @@ const CustomCard$1 = styled.div`
|
|
|
53009
53146
|
scrollbar-width: thin;
|
|
53010
53147
|
}
|
|
53011
53148
|
`;
|
|
53012
|
-
const FullWidthDiv$
|
|
53149
|
+
const FullWidthDiv$2 = styled.div`
|
|
53013
53150
|
display: flex;
|
|
53014
53151
|
justify-content: center;
|
|
53015
53152
|
width: 100%;
|
|
53016
53153
|
height: calc(100vh - ${({ $substractHeight }) => $substractHeight}px);
|
|
53017
53154
|
`;
|
|
53018
|
-
const Styled$
|
|
53019
|
-
FullWidthDiv: FullWidthDiv$
|
|
53020
|
-
CustomCard: CustomCard$
|
|
53155
|
+
const Styled$8 = {
|
|
53156
|
+
FullWidthDiv: FullWidthDiv$2,
|
|
53157
|
+
CustomCard: CustomCard$2
|
|
53021
53158
|
};
|
|
53022
53159
|
|
|
53023
53160
|
const XTerminal = ({ endpoint, namespace, podName, container, substractHeight }) => {
|
|
@@ -53096,7 +53233,7 @@ const XTerminal = ({ endpoint, namespace, podName, container, substractHeight })
|
|
|
53096
53233
|
};
|
|
53097
53234
|
}, [terminal, endpoint, namespace, podName, container]);
|
|
53098
53235
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
53099
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
53236
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$8.CustomCard, { $isVisible: isTerminalVisible, $substractHeight: substractHeight, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$8.FullWidthDiv, { $substractHeight: substractHeight, children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref: terminalRef, style: { width: "100%", height: "100%" } }) }) }),
|
|
53100
53237
|
isLoading && !error && /* @__PURE__ */ jsxRuntimeExports.jsx(Spin, {}),
|
|
53101
53238
|
error && /* @__PURE__ */ jsxRuntimeExports.jsx(Result, { status: "error", title: "Error", subTitle: JSON.stringify(error) })
|
|
53102
53239
|
] });
|
|
@@ -53107,7 +53244,7 @@ const CustomSelect$1 = styled.div`
|
|
|
53107
53244
|
width: 200px;
|
|
53108
53245
|
}
|
|
53109
53246
|
`;
|
|
53110
|
-
const Styled$
|
|
53247
|
+
const Styled$7 = {
|
|
53111
53248
|
CustomSelect: CustomSelect$1
|
|
53112
53249
|
};
|
|
53113
53250
|
|
|
@@ -53118,7 +53255,7 @@ const PodLogs = ({ cluster, namespace, podName, containers, substractHeight }) =
|
|
|
53118
53255
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: "No Running Containers" });
|
|
53119
53256
|
}
|
|
53120
53257
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
53121
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
53258
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$7.CustomSelect, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
53122
53259
|
Select,
|
|
53123
53260
|
{
|
|
53124
53261
|
placeholder: "Select container",
|
|
@@ -53147,12 +53284,12 @@ const PodLogs = ({ cluster, namespace, podName, containers, substractHeight }) =
|
|
|
53147
53284
|
] });
|
|
53148
53285
|
};
|
|
53149
53286
|
|
|
53150
|
-
const FullWidthDiv = styled.div`
|
|
53287
|
+
const FullWidthDiv$1 = styled.div`
|
|
53151
53288
|
display: flex;
|
|
53152
53289
|
justify-content: center;
|
|
53153
53290
|
width: 100%;
|
|
53154
53291
|
`;
|
|
53155
|
-
const CustomCard = styled.div`
|
|
53292
|
+
const CustomCard$1 = styled.div`
|
|
53156
53293
|
visibility: ${({ $isVisible }) => $isVisible ? "visible" : "hidden"};
|
|
53157
53294
|
max-height: calc(100vh - 158px);
|
|
53158
53295
|
|
|
@@ -53168,9 +53305,9 @@ const CursorPointerDiv$1 = styled.div`
|
|
|
53168
53305
|
cursor: pointer;
|
|
53169
53306
|
user-select: none;
|
|
53170
53307
|
`;
|
|
53171
|
-
const Styled$
|
|
53172
|
-
FullWidthDiv,
|
|
53173
|
-
CustomCard,
|
|
53308
|
+
const Styled$6 = {
|
|
53309
|
+
FullWidthDiv: FullWidthDiv$1,
|
|
53310
|
+
CustomCard: CustomCard$1,
|
|
53174
53311
|
VisibilityContainer,
|
|
53175
53312
|
CursorPointerDiv: CursorPointerDiv$1
|
|
53176
53313
|
};
|
|
@@ -53247,9 +53384,9 @@ const MonacoEditor = ({
|
|
|
53247
53384
|
};
|
|
53248
53385
|
}, [endpoint, namespace, podName, container, previous, editorReady]);
|
|
53249
53386
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
53250
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
53387
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$6.VisibilityContainer, { $isVisible: isTerminalVisible, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(Flex, { justify: "start", align: "center", gap: 16, children: [
|
|
53251
53388
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
53252
|
-
Styled$
|
|
53389
|
+
Styled$6.CursorPointerDiv,
|
|
53253
53390
|
{
|
|
53254
53391
|
onClick: () => {
|
|
53255
53392
|
if (isPaused) {
|
|
@@ -53274,7 +53411,7 @@ const MonacoEditor = ({
|
|
|
53274
53411
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: isPaused ? "Not streaming events" : "Streaming events" })
|
|
53275
53412
|
] }) }),
|
|
53276
53413
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Spacer$1, { $space: 16, $samespace: true }),
|
|
53277
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
53414
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$6.CustomCard, { $isVisible: isTerminalVisible, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$6.FullWidthDiv, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
53278
53415
|
Ft$1,
|
|
53279
53416
|
{
|
|
53280
53417
|
defaultLanguage: "plaintext",
|
|
@@ -53305,7 +53442,7 @@ const CustomSelect = styled.div`
|
|
|
53305
53442
|
width: 200px;
|
|
53306
53443
|
}
|
|
53307
53444
|
`;
|
|
53308
|
-
const Styled$
|
|
53445
|
+
const Styled$5 = {
|
|
53309
53446
|
TopRowContent,
|
|
53310
53447
|
CustomSelect
|
|
53311
53448
|
};
|
|
@@ -53351,8 +53488,8 @@ const PodLogsMonaco = ({
|
|
|
53351
53488
|
}
|
|
53352
53489
|
];
|
|
53353
53490
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
53354
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
53355
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
53491
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$5.TopRowContent, { children: /* @__PURE__ */ jsxRuntimeExports.jsxs(Flex, { gap: 16, children: [
|
|
53492
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$5.CustomSelect, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
53356
53493
|
Select,
|
|
53357
53494
|
{
|
|
53358
53495
|
placeholder: "Select container",
|
|
@@ -53367,7 +53504,7 @@ const PodLogsMonaco = ({
|
|
|
53367
53504
|
}
|
|
53368
53505
|
}
|
|
53369
53506
|
) }),
|
|
53370
|
-
currentContainer && /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
53507
|
+
currentContainer && /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$5.CustomSelect, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
53371
53508
|
Select,
|
|
53372
53509
|
{
|
|
53373
53510
|
placeholder: "Select current/previous",
|
|
@@ -53403,6 +53540,621 @@ const PodLogsMonaco = ({
|
|
|
53403
53540
|
] });
|
|
53404
53541
|
};
|
|
53405
53542
|
|
|
53543
|
+
const buildDefaultWsPath = (cluster, namespace, vmName) => {
|
|
53544
|
+
const base = cluster ? `/k8s/clusters/${encodeURIComponent(cluster)}` : `/k8s`;
|
|
53545
|
+
return `${base}/apis/subresources.kubevirt.io/v1/namespaces/${encodeURIComponent(
|
|
53546
|
+
namespace
|
|
53547
|
+
)}/virtualmachineinstances/${encodeURIComponent(vmName)}/vnc`;
|
|
53548
|
+
};
|
|
53549
|
+
const normalizePath = (p) => p.startsWith("/") ? p : `/${p}`;
|
|
53550
|
+
const useVNCClient = ({
|
|
53551
|
+
cluster,
|
|
53552
|
+
namespace,
|
|
53553
|
+
vmName,
|
|
53554
|
+
forcedFullWsPath
|
|
53555
|
+
}) => {
|
|
53556
|
+
const [isLoading, setIsLoading] = useState(true);
|
|
53557
|
+
const [error, setError] = useState(null);
|
|
53558
|
+
const [status, setStatus] = useState("Loading VNC client...");
|
|
53559
|
+
const [isConnected, setIsConnected] = useState(false);
|
|
53560
|
+
const [showDotCursor, setShowDotCursor] = useState(false);
|
|
53561
|
+
const [scalingMode, setScalingModeState] = useState("local");
|
|
53562
|
+
const [screenEl, setScreenEl] = useState(null);
|
|
53563
|
+
const screenRef = useCallback((node) => {
|
|
53564
|
+
setScreenEl(node);
|
|
53565
|
+
}, []);
|
|
53566
|
+
const rfbRef = useRef(null);
|
|
53567
|
+
const [isManuallyDisconnected, setIsManuallyDisconnected] = useState(false);
|
|
53568
|
+
const [, setReconnectAttempts] = useState(0);
|
|
53569
|
+
const [shouldReconnect, setShouldReconnect] = useState(true);
|
|
53570
|
+
const [connectionKey, setConnectionKey] = useState(0);
|
|
53571
|
+
const reconnectTimeoutRef = useRef(null);
|
|
53572
|
+
const isManuallyDisconnectedRef = useRef(false);
|
|
53573
|
+
const shouldReconnectRef = useRef(true);
|
|
53574
|
+
const showDotCursorRef = useRef(showDotCursor);
|
|
53575
|
+
const maxReconnectAttempts = 5;
|
|
53576
|
+
const reconnectDelay = 3e3;
|
|
53577
|
+
useEffect(() => {
|
|
53578
|
+
isManuallyDisconnectedRef.current = isManuallyDisconnected;
|
|
53579
|
+
}, [isManuallyDisconnected]);
|
|
53580
|
+
useEffect(() => {
|
|
53581
|
+
shouldReconnectRef.current = shouldReconnect;
|
|
53582
|
+
}, [shouldReconnect]);
|
|
53583
|
+
useEffect(() => {
|
|
53584
|
+
showDotCursorRef.current = showDotCursor;
|
|
53585
|
+
if (rfbRef.current && typeof rfbRef.current.showDotCursor !== "undefined") {
|
|
53586
|
+
try {
|
|
53587
|
+
rfbRef.current.showDotCursor = showDotCursor;
|
|
53588
|
+
} catch (err) {
|
|
53589
|
+
console.error("Error updating dot cursor:", err);
|
|
53590
|
+
}
|
|
53591
|
+
}
|
|
53592
|
+
}, [showDotCursor, isConnected]);
|
|
53593
|
+
const applyScalingMode = (rfb, mode) => {
|
|
53594
|
+
if (!rfb) return;
|
|
53595
|
+
if (mode === "none") {
|
|
53596
|
+
rfb.scaleViewport = false;
|
|
53597
|
+
rfb.resizeSession = false;
|
|
53598
|
+
} else if (mode === "local") {
|
|
53599
|
+
rfb.scaleViewport = true;
|
|
53600
|
+
rfb.resizeSession = false;
|
|
53601
|
+
} else {
|
|
53602
|
+
rfb.scaleViewport = false;
|
|
53603
|
+
rfb.resizeSession = true;
|
|
53604
|
+
}
|
|
53605
|
+
};
|
|
53606
|
+
const setScalingMode = useCallback((mode) => {
|
|
53607
|
+
setScalingModeState(mode);
|
|
53608
|
+
if (rfbRef.current) {
|
|
53609
|
+
applyScalingMode(rfbRef.current, mode);
|
|
53610
|
+
}
|
|
53611
|
+
}, []);
|
|
53612
|
+
useEffect(() => {
|
|
53613
|
+
console.log("[VMVNC hook] effect run", {
|
|
53614
|
+
cluster,
|
|
53615
|
+
namespace,
|
|
53616
|
+
vmName,
|
|
53617
|
+
connectionKey,
|
|
53618
|
+
hasScreenEl: !!screenEl,
|
|
53619
|
+
forcedFullWsPath
|
|
53620
|
+
});
|
|
53621
|
+
const hasForced = !!forcedFullWsPath;
|
|
53622
|
+
const hasNamespaceVm = !!namespace && !!vmName;
|
|
53623
|
+
if (!hasForced && !hasNamespaceVm) {
|
|
53624
|
+
setIsLoading(false);
|
|
53625
|
+
setIsConnected(false);
|
|
53626
|
+
setStatus("VNC not configured");
|
|
53627
|
+
setError("Provide forcedFullWsPath or both namespace and vmName for VNC connection");
|
|
53628
|
+
return;
|
|
53629
|
+
}
|
|
53630
|
+
if (!screenEl) {
|
|
53631
|
+
setIsLoading(true);
|
|
53632
|
+
setError(null);
|
|
53633
|
+
setStatus("Waiting for VNC container...");
|
|
53634
|
+
return;
|
|
53635
|
+
}
|
|
53636
|
+
if (reconnectTimeoutRef.current) {
|
|
53637
|
+
window.clearTimeout(reconnectTimeoutRef.current);
|
|
53638
|
+
reconnectTimeoutRef.current = null;
|
|
53639
|
+
}
|
|
53640
|
+
setIsLoading(true);
|
|
53641
|
+
setError(null);
|
|
53642
|
+
setStatus("Connecting...");
|
|
53643
|
+
const protocol = window.location.protocol === "https:" ? "wss:" : "ws:";
|
|
53644
|
+
const { host } = window.location;
|
|
53645
|
+
const defaultWsPath = namespace && vmName ? buildDefaultWsPath(cluster, namespace, vmName) : void 0;
|
|
53646
|
+
const wsPath = (() => {
|
|
53647
|
+
if (forcedFullWsPath && !forcedFullWsPath.startsWith("ws")) {
|
|
53648
|
+
return normalizePath(forcedFullWsPath);
|
|
53649
|
+
}
|
|
53650
|
+
return defaultWsPath;
|
|
53651
|
+
})();
|
|
53652
|
+
const wsUrl = forcedFullWsPath && forcedFullWsPath.startsWith("ws") ? forcedFullWsPath : `${protocol}//${host}${wsPath ?? ""}`;
|
|
53653
|
+
console.log(`[VMVNC ${namespace ?? "no-ns"}/${vmName ?? "no-vm"}]: WebSocket URL: ${wsUrl}`);
|
|
53654
|
+
console.log(`[VMVNC ${namespace ?? "no-ns"}/${vmName ?? "no-vm"}]: WebSocket path: ${wsPath}`);
|
|
53655
|
+
if (!forcedFullWsPath?.startsWith("ws") && !wsPath) {
|
|
53656
|
+
setIsLoading(false);
|
|
53657
|
+
setIsConnected(false);
|
|
53658
|
+
setStatus("VNC not configured");
|
|
53659
|
+
setError("Unable to build WebSocket path. Provide forcedFullWsPath or namespace+vmName.");
|
|
53660
|
+
return;
|
|
53661
|
+
}
|
|
53662
|
+
let cancelled = false;
|
|
53663
|
+
try {
|
|
53664
|
+
const rfb = new RFB(screenEl, wsUrl, {
|
|
53665
|
+
credentials: { password: "" },
|
|
53666
|
+
showDotCursor: showDotCursorRef.current
|
|
53667
|
+
});
|
|
53668
|
+
rfbRef.current = rfb;
|
|
53669
|
+
applyScalingMode(rfb, scalingMode);
|
|
53670
|
+
if (typeof rfb.showDotCursor !== "undefined") {
|
|
53671
|
+
try {
|
|
53672
|
+
rfb.showDotCursor = showDotCursorRef.current;
|
|
53673
|
+
} catch (err) {
|
|
53674
|
+
console.error("Error setting dot cursor on RFB instance:", err);
|
|
53675
|
+
}
|
|
53676
|
+
}
|
|
53677
|
+
const handleConnect = () => {
|
|
53678
|
+
if (cancelled) return;
|
|
53679
|
+
console.log(`[VMVNC ${namespace}/${vmName}]: Connected`);
|
|
53680
|
+
setStatus("Connected");
|
|
53681
|
+
setIsLoading(false);
|
|
53682
|
+
setError(null);
|
|
53683
|
+
setIsConnected(true);
|
|
53684
|
+
setReconnectAttempts(0);
|
|
53685
|
+
if (reconnectTimeoutRef.current) {
|
|
53686
|
+
window.clearTimeout(reconnectTimeoutRef.current);
|
|
53687
|
+
reconnectTimeoutRef.current = null;
|
|
53688
|
+
}
|
|
53689
|
+
};
|
|
53690
|
+
const handleDisconnect = (e) => {
|
|
53691
|
+
if (cancelled) return;
|
|
53692
|
+
const detail = e?.detail;
|
|
53693
|
+
const wasManuallyDisconnected = isManuallyDisconnectedRef.current;
|
|
53694
|
+
const autoReconnectEnabled = shouldReconnectRef.current;
|
|
53695
|
+
console.log(
|
|
53696
|
+
`[VMVNC ${namespace}/${vmName}]: Disconnected (clean=${detail?.clean}, manual=${wasManuallyDisconnected}, autoReconnect=${autoReconnectEnabled})`
|
|
53697
|
+
);
|
|
53698
|
+
setIsConnected(false);
|
|
53699
|
+
setIsLoading(false);
|
|
53700
|
+
if (wasManuallyDisconnected) {
|
|
53701
|
+
setStatus("Disconnected");
|
|
53702
|
+
setError(null);
|
|
53703
|
+
return;
|
|
53704
|
+
}
|
|
53705
|
+
if (!autoReconnectEnabled) {
|
|
53706
|
+
if (detail?.clean) {
|
|
53707
|
+
setStatus("Disconnected");
|
|
53708
|
+
} else {
|
|
53709
|
+
setStatus("Connection closed");
|
|
53710
|
+
setError("Connection closed unexpectedly");
|
|
53711
|
+
}
|
|
53712
|
+
return;
|
|
53713
|
+
}
|
|
53714
|
+
if (detail?.clean) {
|
|
53715
|
+
setStatus("Disconnected - Reconnecting...");
|
|
53716
|
+
setError(null);
|
|
53717
|
+
} else {
|
|
53718
|
+
setStatus("Connection closed - Reconnecting...");
|
|
53719
|
+
setError("Connection closed unexpectedly");
|
|
53720
|
+
}
|
|
53721
|
+
reconnectTimeoutRef.current = window.setTimeout(() => {
|
|
53722
|
+
if (isManuallyDisconnectedRef.current || !shouldReconnectRef.current) {
|
|
53723
|
+
console.log(`[VMVNC ${namespace}/${vmName}]: Reconnect cancelled before attempting`);
|
|
53724
|
+
return;
|
|
53725
|
+
}
|
|
53726
|
+
setReconnectAttempts((prev) => {
|
|
53727
|
+
const next = prev + 1;
|
|
53728
|
+
if (next > maxReconnectAttempts) {
|
|
53729
|
+
console.log(`[VMVNC ${namespace}/${vmName}]: Max reconnect attempts reached (${maxReconnectAttempts})`);
|
|
53730
|
+
setStatus("Connection failed - Max reconnect attempts reached");
|
|
53731
|
+
setError("Failed to reconnect after multiple attempts");
|
|
53732
|
+
setIsLoading(false);
|
|
53733
|
+
setShouldReconnect(false);
|
|
53734
|
+
return prev;
|
|
53735
|
+
}
|
|
53736
|
+
console.log(
|
|
53737
|
+
`[VMVNC ${namespace}/${vmName}]: Reconnect attempt ${next}/${maxReconnectAttempts} (bump connectionKey)`
|
|
53738
|
+
);
|
|
53739
|
+
setStatus(`Reconnecting... (Attempt ${next}/${maxReconnectAttempts})`);
|
|
53740
|
+
setIsLoading(true);
|
|
53741
|
+
setError(null);
|
|
53742
|
+
setConnectionKey((k) => k + 1);
|
|
53743
|
+
return next;
|
|
53744
|
+
});
|
|
53745
|
+
}, reconnectDelay);
|
|
53746
|
+
};
|
|
53747
|
+
const handleCredentialsRequired = () => {
|
|
53748
|
+
if (cancelled) return;
|
|
53749
|
+
console.log(`[VMVNC ${namespace}/${vmName}]: Credentials required`);
|
|
53750
|
+
setStatus("Credentials required");
|
|
53751
|
+
};
|
|
53752
|
+
const handleSecurityFailure = (e) => {
|
|
53753
|
+
if (cancelled) return;
|
|
53754
|
+
const detail = e?.detail;
|
|
53755
|
+
console.error(`[VMVNC ${namespace}/${vmName}]: Security failure`, detail);
|
|
53756
|
+
setError(`Security failure: ${detail?.reason || "Unknown error"}`);
|
|
53757
|
+
setIsLoading(false);
|
|
53758
|
+
setIsConnected(false);
|
|
53759
|
+
};
|
|
53760
|
+
const handleDesktopName = (e) => {
|
|
53761
|
+
if (cancelled) return;
|
|
53762
|
+
const detail = e?.detail;
|
|
53763
|
+
if (detail?.name) {
|
|
53764
|
+
console.log(`[VMVNC ${namespace}/${vmName}]: Desktop name: ${detail.name}`);
|
|
53765
|
+
setStatus(`Connected to ${detail.name}`);
|
|
53766
|
+
}
|
|
53767
|
+
};
|
|
53768
|
+
rfb.addEventListener("connect", handleConnect);
|
|
53769
|
+
rfb.addEventListener("disconnect", handleDisconnect);
|
|
53770
|
+
rfb.addEventListener("credentialsrequired", handleCredentialsRequired);
|
|
53771
|
+
rfb.addEventListener("securityfailure", handleSecurityFailure);
|
|
53772
|
+
rfb.addEventListener("desktopname", handleDesktopName);
|
|
53773
|
+
return () => {
|
|
53774
|
+
cancelled = true;
|
|
53775
|
+
console.log(`[VMVNC ${namespace}/${vmName}]: Cleaning up connection`);
|
|
53776
|
+
if (reconnectTimeoutRef.current) {
|
|
53777
|
+
window.clearTimeout(reconnectTimeoutRef.current);
|
|
53778
|
+
reconnectTimeoutRef.current = null;
|
|
53779
|
+
}
|
|
53780
|
+
if (rfbRef.current) {
|
|
53781
|
+
try {
|
|
53782
|
+
rfbRef.current.disconnect();
|
|
53783
|
+
} catch (err) {
|
|
53784
|
+
console.error("Error disconnecting RFB during cleanup:", err);
|
|
53785
|
+
}
|
|
53786
|
+
rfbRef.current = null;
|
|
53787
|
+
}
|
|
53788
|
+
if (screenEl) {
|
|
53789
|
+
while (screenEl.firstChild) {
|
|
53790
|
+
screenEl.removeChild(screenEl.firstChild);
|
|
53791
|
+
}
|
|
53792
|
+
}
|
|
53793
|
+
};
|
|
53794
|
+
} catch (err) {
|
|
53795
|
+
console.error(`[VMVNC ${namespace}/${vmName}]: Error creating RFB connection:`, err);
|
|
53796
|
+
setError(`Failed to create VNC connection: ${err instanceof Error ? err.message : "Unknown error"}`);
|
|
53797
|
+
setIsLoading(false);
|
|
53798
|
+
setIsConnected(false);
|
|
53799
|
+
setStatus("Failed to create VNC connection");
|
|
53800
|
+
}
|
|
53801
|
+
}, [cluster, namespace, vmName, forcedFullWsPath, scalingMode, connectionKey, screenEl]);
|
|
53802
|
+
const disconnect = useCallback(() => {
|
|
53803
|
+
isManuallyDisconnectedRef.current = true;
|
|
53804
|
+
shouldReconnectRef.current = false;
|
|
53805
|
+
setIsManuallyDisconnected(true);
|
|
53806
|
+
setShouldReconnect(false);
|
|
53807
|
+
if (reconnectTimeoutRef.current) {
|
|
53808
|
+
window.clearTimeout(reconnectTimeoutRef.current);
|
|
53809
|
+
reconnectTimeoutRef.current = null;
|
|
53810
|
+
}
|
|
53811
|
+
if (rfbRef.current) {
|
|
53812
|
+
try {
|
|
53813
|
+
rfbRef.current.disconnect();
|
|
53814
|
+
} catch (err) {
|
|
53815
|
+
console.error("Error disconnecting RFB:", err);
|
|
53816
|
+
}
|
|
53817
|
+
rfbRef.current = null;
|
|
53818
|
+
}
|
|
53819
|
+
setStatus("Disconnected");
|
|
53820
|
+
setIsLoading(false);
|
|
53821
|
+
setIsConnected(false);
|
|
53822
|
+
}, []);
|
|
53823
|
+
const reconnect = useCallback(() => {
|
|
53824
|
+
isManuallyDisconnectedRef.current = false;
|
|
53825
|
+
shouldReconnectRef.current = true;
|
|
53826
|
+
setIsManuallyDisconnected(false);
|
|
53827
|
+
setShouldReconnect(true);
|
|
53828
|
+
setReconnectAttempts(0);
|
|
53829
|
+
setError(null);
|
|
53830
|
+
setIsLoading(true);
|
|
53831
|
+
setStatus("Reconnecting...");
|
|
53832
|
+
if (reconnectTimeoutRef.current) {
|
|
53833
|
+
window.clearTimeout(reconnectTimeoutRef.current);
|
|
53834
|
+
reconnectTimeoutRef.current = null;
|
|
53835
|
+
}
|
|
53836
|
+
if (rfbRef.current) {
|
|
53837
|
+
try {
|
|
53838
|
+
rfbRef.current.disconnect();
|
|
53839
|
+
} catch (err) {
|
|
53840
|
+
console.error("Error disconnecting RFB before manual reconnect:", err);
|
|
53841
|
+
}
|
|
53842
|
+
rfbRef.current = null;
|
|
53843
|
+
}
|
|
53844
|
+
setConnectionKey((k) => k + 1);
|
|
53845
|
+
}, []);
|
|
53846
|
+
const sendCtrlAltDel = () => {
|
|
53847
|
+
if (!rfbRef.current) return;
|
|
53848
|
+
try {
|
|
53849
|
+
rfbRef.current.sendCtrlAltDel();
|
|
53850
|
+
} catch (err) {
|
|
53851
|
+
console.error("Error sending Ctrl+Alt+Del:", err);
|
|
53852
|
+
}
|
|
53853
|
+
};
|
|
53854
|
+
return {
|
|
53855
|
+
screenRef,
|
|
53856
|
+
isLoading,
|
|
53857
|
+
error,
|
|
53858
|
+
status,
|
|
53859
|
+
isConnected,
|
|
53860
|
+
showDotCursor,
|
|
53861
|
+
scalingMode,
|
|
53862
|
+
setShowDotCursor,
|
|
53863
|
+
setScalingMode,
|
|
53864
|
+
disconnect,
|
|
53865
|
+
reconnect,
|
|
53866
|
+
sendCtrlAltDel
|
|
53867
|
+
};
|
|
53868
|
+
};
|
|
53869
|
+
|
|
53870
|
+
const ShowCursorDiv = styled.div`
|
|
53871
|
+
display: flex;
|
|
53872
|
+
justify-content: space-between;
|
|
53873
|
+
align-items: center;
|
|
53874
|
+
min-width: 200px;
|
|
53875
|
+
`;
|
|
53876
|
+
const ScalingModeContainer = styled.div`
|
|
53877
|
+
min-width: 200px;
|
|
53878
|
+
`;
|
|
53879
|
+
const ScalingModeTitle = styled.div`
|
|
53880
|
+
margin-bottom: 8px;
|
|
53881
|
+
font-weight: 500;
|
|
53882
|
+
`;
|
|
53883
|
+
const StatusBar = styled.div`
|
|
53884
|
+
background-color: #2d2d2d;
|
|
53885
|
+
color: white;
|
|
53886
|
+
padding: 8px 16px;
|
|
53887
|
+
font-size: 12px;
|
|
53888
|
+
border-bottom: 1px solid #3d3d3d;
|
|
53889
|
+
display: flex;
|
|
53890
|
+
align-items: center;
|
|
53891
|
+
justify-content: flex-start;
|
|
53892
|
+
flex-shrink: 0;
|
|
53893
|
+
z-index: 10;
|
|
53894
|
+
flex-wrap: wrap;
|
|
53895
|
+
gap: 4px;
|
|
53896
|
+
`;
|
|
53897
|
+
const StatusDivider = styled.span`
|
|
53898
|
+
color: #666;
|
|
53899
|
+
margin: 0 8px;
|
|
53900
|
+
user-select: none;
|
|
53901
|
+
`;
|
|
53902
|
+
const Styled$4 = {
|
|
53903
|
+
ShowCursorDiv,
|
|
53904
|
+
ScalingModeContainer,
|
|
53905
|
+
ScalingModeTitle,
|
|
53906
|
+
StatusBar,
|
|
53907
|
+
StatusDivider
|
|
53908
|
+
};
|
|
53909
|
+
|
|
53910
|
+
const VMVNCToolbar = ({
|
|
53911
|
+
status,
|
|
53912
|
+
isConnected,
|
|
53913
|
+
isFullscreen,
|
|
53914
|
+
isLoading,
|
|
53915
|
+
showDotCursor,
|
|
53916
|
+
scalingMode,
|
|
53917
|
+
onSendCtrlAltDel,
|
|
53918
|
+
onToggleFullscreen,
|
|
53919
|
+
onReconnect,
|
|
53920
|
+
onShowDotCursorChange,
|
|
53921
|
+
onScalingModeChange
|
|
53922
|
+
}) => {
|
|
53923
|
+
const optionsMenuItems = useMemo(
|
|
53924
|
+
() => [
|
|
53925
|
+
{
|
|
53926
|
+
key: "show-cursor",
|
|
53927
|
+
label: /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$4.ShowCursorDiv, { children: [
|
|
53928
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: "Show Cursor" }),
|
|
53929
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Switch, { checked: showDotCursor, onChange: onShowDotCursorChange, disabled: !isConnected, size: "small" })
|
|
53930
|
+
] })
|
|
53931
|
+
},
|
|
53932
|
+
{
|
|
53933
|
+
type: "divider"
|
|
53934
|
+
},
|
|
53935
|
+
{
|
|
53936
|
+
key: "scaling-mode",
|
|
53937
|
+
label: /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$4.ScalingModeContainer, { children: [
|
|
53938
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$4.ScalingModeTitle, { children: "Scaling Mode" }),
|
|
53939
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
53940
|
+
Radio.Group,
|
|
53941
|
+
{
|
|
53942
|
+
value: scalingMode,
|
|
53943
|
+
onChange: (e) => onScalingModeChange(e.target.value),
|
|
53944
|
+
disabled: !isConnected,
|
|
53945
|
+
style: { display: "flex", flexDirection: "column", gap: 8 },
|
|
53946
|
+
children: [
|
|
53947
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Radio, { value: "none", children: "None" }),
|
|
53948
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Radio, { value: "local", children: "Local scaling" }),
|
|
53949
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Radio, { value: "remote", children: "Remote resizing" })
|
|
53950
|
+
]
|
|
53951
|
+
}
|
|
53952
|
+
)
|
|
53953
|
+
] })
|
|
53954
|
+
}
|
|
53955
|
+
],
|
|
53956
|
+
[showDotCursor, scalingMode, isConnected, onShowDotCursorChange, onScalingModeChange]
|
|
53957
|
+
);
|
|
53958
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$4.StatusBar, { children: /* @__PURE__ */ jsxRuntimeExports.jsxs(Space, { size: "small", children: [
|
|
53959
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip, { title: "Send Ctrl+Alt+Del", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
53960
|
+
Button,
|
|
53961
|
+
{
|
|
53962
|
+
type: "text",
|
|
53963
|
+
size: "small",
|
|
53964
|
+
icon: /* @__PURE__ */ jsxRuntimeExports.jsx(PoweroffOutlined, {}),
|
|
53965
|
+
onClick: onSendCtrlAltDel,
|
|
53966
|
+
disabled: !isConnected,
|
|
53967
|
+
style: { color: "#ffffff" },
|
|
53968
|
+
children: "Send Ctrl+Alt+Del"
|
|
53969
|
+
}
|
|
53970
|
+
) }),
|
|
53971
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip, { title: isFullscreen ? "Exit Fullscreen" : "Fullscreen", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
53972
|
+
Button,
|
|
53973
|
+
{
|
|
53974
|
+
type: "text",
|
|
53975
|
+
size: "small",
|
|
53976
|
+
icon: isFullscreen ? /* @__PURE__ */ jsxRuntimeExports.jsx(FullscreenExitOutlined, {}) : /* @__PURE__ */ jsxRuntimeExports.jsx(FullscreenOutlined, {}),
|
|
53977
|
+
onClick: onToggleFullscreen,
|
|
53978
|
+
disabled: !isConnected,
|
|
53979
|
+
style: { color: "#ffffff" },
|
|
53980
|
+
children: "Fullscreen"
|
|
53981
|
+
}
|
|
53982
|
+
) }),
|
|
53983
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Dropdown, { menu: { items: optionsMenuItems }, trigger: ["click"], placement: "bottomRight", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Button, { type: "text", size: "small", icon: /* @__PURE__ */ jsxRuntimeExports.jsx(SettingOutlined, {}), style: { color: "#ffffff" }, children: "Options" }) }),
|
|
53984
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip, { title: "Reconnect", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
53985
|
+
Button,
|
|
53986
|
+
{
|
|
53987
|
+
type: "text",
|
|
53988
|
+
size: "small",
|
|
53989
|
+
icon: /* @__PURE__ */ jsxRuntimeExports.jsx(ReloadOutlined, {}),
|
|
53990
|
+
onClick: onReconnect,
|
|
53991
|
+
loading: isLoading,
|
|
53992
|
+
style: { color: "#ffffff" },
|
|
53993
|
+
children: "Reconnect"
|
|
53994
|
+
}
|
|
53995
|
+
) }),
|
|
53996
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$4.StatusDivider, { children: "|" }),
|
|
53997
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: status })
|
|
53998
|
+
] }) });
|
|
53999
|
+
};
|
|
54000
|
+
|
|
54001
|
+
const Container = styled.div`
|
|
54002
|
+
height: calc(100vh - ${({ $substractHeight }) => $substractHeight}px);
|
|
54003
|
+
display: flex;
|
|
54004
|
+
flex-direction: column;
|
|
54005
|
+
background-color: #1e1e1e;
|
|
54006
|
+
position: relative;
|
|
54007
|
+
|
|
54008
|
+
* {
|
|
54009
|
+
scrollbar-width: thin;
|
|
54010
|
+
}
|
|
54011
|
+
`;
|
|
54012
|
+
const CustomCard = styled.div`
|
|
54013
|
+
visibility: ${({ $isVisible }) => $isVisible ? "visible" : "hidden"};
|
|
54014
|
+
height: 100%;
|
|
54015
|
+
display: flex;
|
|
54016
|
+
flex-direction: column;
|
|
54017
|
+
background-color: #1e1e1e;
|
|
54018
|
+
position: relative;
|
|
54019
|
+
|
|
54020
|
+
* {
|
|
54021
|
+
scrollbar-width: thin;
|
|
54022
|
+
}
|
|
54023
|
+
`;
|
|
54024
|
+
const ContentWrapper = styled.div`
|
|
54025
|
+
display: flex;
|
|
54026
|
+
flex: 1;
|
|
54027
|
+
overflow: hidden;
|
|
54028
|
+
position: relative;
|
|
54029
|
+
min-width: 0; /* Allow flex item to shrink */
|
|
54030
|
+
`;
|
|
54031
|
+
const FullWidthDiv = styled.div`
|
|
54032
|
+
display: flex;
|
|
54033
|
+
justify-content: center;
|
|
54034
|
+
align-items: center;
|
|
54035
|
+
flex: 1;
|
|
54036
|
+
overflow: hidden;
|
|
54037
|
+
background-color: black;
|
|
54038
|
+
min-width: 0; /* Allow flex item to shrink */
|
|
54039
|
+
transition: margin-right 0.3s ease;
|
|
54040
|
+
`;
|
|
54041
|
+
const LoadingContainer = styled.div`
|
|
54042
|
+
display: flex;
|
|
54043
|
+
flex-direction: column;
|
|
54044
|
+
align-items: center;
|
|
54045
|
+
justify-content: center;
|
|
54046
|
+
padding: 40px;
|
|
54047
|
+
color: white;
|
|
54048
|
+
`;
|
|
54049
|
+
const ErrorContainer = styled.div`
|
|
54050
|
+
display: flex;
|
|
54051
|
+
flex-direction: column;
|
|
54052
|
+
align-items: center;
|
|
54053
|
+
justify-content: center;
|
|
54054
|
+
padding: 40px;
|
|
54055
|
+
color: white;
|
|
54056
|
+
`;
|
|
54057
|
+
const Styled$3 = {
|
|
54058
|
+
Container,
|
|
54059
|
+
CustomCard,
|
|
54060
|
+
ContentWrapper,
|
|
54061
|
+
FullWidthDiv,
|
|
54062
|
+
LoadingContainer,
|
|
54063
|
+
ErrorContainer
|
|
54064
|
+
};
|
|
54065
|
+
|
|
54066
|
+
const VMVNC = ({ cluster, namespace, vmName, forcedFullWsPath, substractHeight }) => {
|
|
54067
|
+
const containerRef = useRef(null);
|
|
54068
|
+
const [isFullscreen, setIsFullscreen] = useState(false);
|
|
54069
|
+
const {
|
|
54070
|
+
screenRef,
|
|
54071
|
+
isLoading,
|
|
54072
|
+
error,
|
|
54073
|
+
status,
|
|
54074
|
+
isConnected,
|
|
54075
|
+
showDotCursor,
|
|
54076
|
+
scalingMode,
|
|
54077
|
+
setShowDotCursor,
|
|
54078
|
+
setScalingMode,
|
|
54079
|
+
disconnect,
|
|
54080
|
+
reconnect,
|
|
54081
|
+
sendCtrlAltDel
|
|
54082
|
+
} = useVNCClient({ cluster, namespace, vmName, forcedFullWsPath });
|
|
54083
|
+
const handleToggleFullscreen = () => {
|
|
54084
|
+
const element = containerRef.current;
|
|
54085
|
+
if (!element) return;
|
|
54086
|
+
if (!isFullscreen) {
|
|
54087
|
+
if (element.requestFullscreen) {
|
|
54088
|
+
element.requestFullscreen();
|
|
54089
|
+
} else if (element.webkitRequestFullscreen) {
|
|
54090
|
+
element.webkitRequestFullscreen();
|
|
54091
|
+
} else if (element.msRequestFullscreen) {
|
|
54092
|
+
element.msRequestFullscreen();
|
|
54093
|
+
}
|
|
54094
|
+
return;
|
|
54095
|
+
}
|
|
54096
|
+
const fullscreenDoc = document;
|
|
54097
|
+
if (fullscreenDoc.exitFullscreen) {
|
|
54098
|
+
fullscreenDoc.exitFullscreen();
|
|
54099
|
+
} else if (fullscreenDoc.webkitExitFullscreen) {
|
|
54100
|
+
fullscreenDoc.webkitExitFullscreen();
|
|
54101
|
+
} else if (fullscreenDoc.msExitFullscreen) {
|
|
54102
|
+
fullscreenDoc.msExitFullscreen();
|
|
54103
|
+
}
|
|
54104
|
+
};
|
|
54105
|
+
useEffect(() => {
|
|
54106
|
+
const handleFullscreenChange = () => {
|
|
54107
|
+
setIsFullscreen(!!document.fullscreenElement);
|
|
54108
|
+
};
|
|
54109
|
+
document.addEventListener("fullscreenchange", handleFullscreenChange);
|
|
54110
|
+
document.addEventListener("webkitfullscreenchange", handleFullscreenChange);
|
|
54111
|
+
document.addEventListener("msfullscreenchange", handleFullscreenChange);
|
|
54112
|
+
return () => {
|
|
54113
|
+
document.removeEventListener("fullscreenchange", handleFullscreenChange);
|
|
54114
|
+
document.removeEventListener("webkitfullscreenchange", handleFullscreenChange);
|
|
54115
|
+
document.removeEventListener("msfullscreenchange", handleFullscreenChange);
|
|
54116
|
+
};
|
|
54117
|
+
}, []);
|
|
54118
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$3.Container, { ref: containerRef, $substractHeight: substractHeight, children: [
|
|
54119
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$3.CustomCard, { $isVisible: !isLoading && !error, $substractHeight: substractHeight, children: [
|
|
54120
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
54121
|
+
VMVNCToolbar,
|
|
54122
|
+
{
|
|
54123
|
+
status,
|
|
54124
|
+
isConnected,
|
|
54125
|
+
isFullscreen,
|
|
54126
|
+
isLoading,
|
|
54127
|
+
showDotCursor,
|
|
54128
|
+
scalingMode,
|
|
54129
|
+
onSendCtrlAltDel: sendCtrlAltDel,
|
|
54130
|
+
onToggleFullscreen: handleToggleFullscreen,
|
|
54131
|
+
onReconnect: reconnect,
|
|
54132
|
+
onShowDotCursorChange: setShowDotCursor,
|
|
54133
|
+
onScalingModeChange: setScalingMode
|
|
54134
|
+
}
|
|
54135
|
+
),
|
|
54136
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$3.ContentWrapper, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$3.FullWidthDiv, { $substractHeight: substractHeight, children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: { width: "100%", height: "100%" }, ref: screenRef }) }) })
|
|
54137
|
+
] }),
|
|
54138
|
+
isLoading && !error && /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$3.LoadingContainer, { children: [
|
|
54139
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Spin, { size: "large" }),
|
|
54140
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Spacer$1, { $space: 16, $samespace: true }),
|
|
54141
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: status })
|
|
54142
|
+
] }),
|
|
54143
|
+
error && !isLoading && /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$3.ErrorContainer, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
54144
|
+
Result,
|
|
54145
|
+
{
|
|
54146
|
+
status: "error",
|
|
54147
|
+
title: "VNC Connection Error",
|
|
54148
|
+
subTitle: error,
|
|
54149
|
+
extra: /* @__PURE__ */ jsxRuntimeExports.jsxs(Space, { children: [
|
|
54150
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Button, { onClick: disconnect, children: "Disconnect" }),
|
|
54151
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Button, { type: "primary", onClick: reconnect, loading: isLoading, children: "Reconnect" })
|
|
54152
|
+
] })
|
|
54153
|
+
}
|
|
54154
|
+
) })
|
|
54155
|
+
] });
|
|
54156
|
+
};
|
|
54157
|
+
|
|
53406
54158
|
const SelectTag = styled(Tag)`
|
|
53407
54159
|
margin-inline-end: 4px;
|
|
53408
54160
|
padding: 4px 6px;
|
|
@@ -55071,5 +55823,5 @@ const useResourceScope = ({ plural, cluster, apiGroup, apiVersion }) => {
|
|
|
55071
55823
|
});
|
|
55072
55824
|
};
|
|
55073
55825
|
|
|
55074
|
-
export { BackToDefaultIcon, BlackholeForm, BlackholeFormProvider, ContentCard$1 as ContentCard, CursorDefaultDiv, CursorPointerTag, CursorPointerTagMinContent, CustomSelect$4 as CustomSelect, DeleteIcon, DeleteModal, DeleteModalMany, DownIcon, DynamicComponents, DynamicRenderer, DynamicRendererWithProviders, EarthIcon, EditIcon, EnrichedTable, EnrichedTableProvider, Events, FlexGrow, LockedIcon, LookingGlassIcon, ManageableBreadcrumbs, ManageableBreadcrumbsProvider, ManageableSidebar, ManageableSidebarProvider, MarketPlace, MarketplaceCard, MinusIcon, NodeTerminal, PaddingContainer, PauseCircleIcon, PlusIcon, PodLogs, PodLogsMonaco, PodTerminal, ProjectInfoCard, ResourceLink, ResumeCircleIcon, Search, Spacer$1 as Spacer, SuccessIcon, TreeWithSearch, UncontrolledSelect, UnlockedIcon, UpIcon, YamlEditorSingleton$1 as YamlEditorSingleton, checkIfApiInstanceNamespaceScoped, checkIfBuiltInInstanceNamespaceScoped, checkPermission, convertBytes, convertCompute, convertCores, convertStorage, createContextFactory, createNewEntry, deepMerge, deleteEntry, feedbackIcons, filterIfApiInstanceNamespaceScoped, filterIfBuiltInInstanceNamespaceScoped, filterSelectOptions, floorToDecimal, formatBytesAuto, formatCoresAuto, getAllPathsFromObj, getApiResourceSingle, getApiResourceTypes, getApiResourceTypesByApiGroup, getApiResources, getBuiltinResourceSingle, getBuiltinResourceTypes, getBuiltinResources, getBuiltinTreeData, getClusterList, getCrdData, getCrdResourceSingle, getCrdResources, getDirectUnknownResource, getEnrichedColumns, getEnrichedColumnsWithControls, getGroupsByCategory, getKinds, getLinkToApiForm, getLinkToBuiltinForm, getLinkToForm, getNamespaceLink, getObjectFormItemsDraft, getPrefixSubarrays, getResourceLink, getSortedKinds, getSortedKindsAll, getStringByName, getSwagger, getUppercase, groupsToTreeData, hslFromString, includesArray, isFlatObject, isMultilineFromYaml, isMultilineString, kindByGvr, namespacedByGvr, normalizeValuesForQuotasToNumber, parseCoresWithUnit, parseQuotaValue, parseQuotaValueCpu, parseQuotaValueMemoryAndStorage, parseValueWithUnit, pluralByKind, prepareDataForManageableBreadcrumbs, prepareDataForManageableSidebar, prepareTemplate, prepareUrlsToFetchForDynamicRenderer, toBytes, toCores, updateEntry, useApiResourceSingle, useApiResourceTypesByGroup, useApiResources, useApisResourceTypes, useBuiltinResourceSingle, useBuiltinResourceTypes, useBuiltinResources, useClusterList, useCrdData, useCrdResourceSingle, useCrdResources, useDirectUnknownResource, useInfiniteSentinel, useK8sSmartResource, useK8sVerbs, useListWatch, useManyK8sSmartResource, usePermissions, useResourceScope, useSmartResourceParams };
|
|
55826
|
+
export { BackToDefaultIcon, BlackholeForm, BlackholeFormProvider, ContentCard$1 as ContentCard, CursorDefaultDiv, CursorPointerTag, CursorPointerTagMinContent, CustomSelect$4 as CustomSelect, DeleteIcon, DeleteModal, DeleteModalMany, DownIcon, DynamicComponents, DynamicRenderer, DynamicRendererWithProviders, EarthIcon, EditIcon, EnrichedTable, EnrichedTableProvider, Events, FlexGrow, LockedIcon, LookingGlassIcon, ManageableBreadcrumbs, ManageableBreadcrumbsProvider, ManageableSidebar, ManageableSidebarProvider, MarketPlace, MarketplaceCard, MinusIcon, NodeTerminal, PaddingContainer, PauseCircleIcon, PlusIcon, PodLogs, PodLogsMonaco, PodTerminal, ProjectInfoCard, ResourceLink, ResumeCircleIcon, Search, Spacer$1 as Spacer, SuccessIcon, TreeWithSearch, UncontrolledSelect, UnlockedIcon, UpIcon, VMVNC, YamlEditorSingleton$1 as YamlEditorSingleton, checkIfApiInstanceNamespaceScoped, checkIfBuiltInInstanceNamespaceScoped, checkPermission, convertBytes, convertCompute, convertCores, convertStorage, createContextFactory, createNewEntry, deepMerge, deleteEntry, feedbackIcons, filterIfApiInstanceNamespaceScoped, filterIfBuiltInInstanceNamespaceScoped, filterSelectOptions, floorToDecimal, formatBytesAuto, formatCoresAuto, getAllPathsFromObj, getApiResourceSingle, getApiResourceTypes, getApiResourceTypesByApiGroup, getApiResources, getBuiltinResourceSingle, getBuiltinResourceTypes, getBuiltinResources, getBuiltinTreeData, getClusterList, getCrdData, getCrdResourceSingle, getCrdResources, getDirectUnknownResource, getEnrichedColumns, getEnrichedColumnsWithControls, getGroupsByCategory, getKinds, getLinkToApiForm, getLinkToBuiltinForm, getLinkToForm, getNamespaceLink, getObjectFormItemsDraft, getPrefixSubarrays, getResourceLink, getSortedKinds, getSortedKindsAll, getStringByName, getSwagger, getUppercase, groupsToTreeData, hslFromString, includesArray, isFlatObject, isMultilineFromYaml, isMultilineString, kindByGvr, namespacedByGvr, normalizeValuesForQuotasToNumber, parseCoresWithUnit, parseQuotaValue, parseQuotaValueCpu, parseQuotaValueMemoryAndStorage, parseValueWithUnit, pluralByKind, prepareDataForManageableBreadcrumbs, prepareDataForManageableSidebar, prepareTemplate, prepareUrlsToFetchForDynamicRenderer, toBytes, toCores, updateEntry, useApiResourceSingle, useApiResourceTypesByGroup, useApiResources, useApisResourceTypes, useBuiltinResourceSingle, useBuiltinResourceTypes, useBuiltinResources, useClusterList, useCrdData, useCrdResourceSingle, useCrdResources, useDirectUnknownResource, useInfiniteSentinel, useK8sSmartResource, useK8sVerbs, useListWatch, useManyK8sSmartResource, usePermissions, useResourceScope, useSmartResourceParams };
|
|
55075
55827
|
//# sourceMappingURL=openapi-k8s-toolkit.es.js.map
|