@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,8 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('styled-components'), require('react'), require('antd'), require('@ant-design/icons'), require('react-router-dom'), require('@tanstack/react-query')) :
|
|
3
|
-
typeof define === 'function' && define.amd ? define(['exports', 'styled-components', 'react', 'antd', '@ant-design/icons', 'react-router-dom', '@tanstack/react-query'], factory) :
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["@prorobotech/openapi-k8s-toolkit"] = {}, global.styled, global.React, global.antd, global.antdIcons, global.ReactRouterDOM, global.reactQuery));
|
|
5
|
-
})(this, (function (exports, styled, K, antd, icons, reactRouterDom, reactQuery) { 'use strict';
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('styled-components'), require('react'), require('antd'), require('@ant-design/icons'), require('react-router-dom'), require('@tanstack/react-query'), require('novnc-next')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define(['exports', 'styled-components', 'react', 'antd', '@ant-design/icons', 'react-router-dom', '@tanstack/react-query', 'novnc-next'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["@prorobotech/openapi-k8s-toolkit"] = {}, global.styled, global.React, global.antd, global.antdIcons, global.ReactRouterDOM, global.reactQuery, global.NoVNC));
|
|
5
|
+
})(this, (function (exports, styled, K, antd, icons, reactRouterDom, reactQuery, RFB) { 'use strict';
|
|
6
6
|
|
|
7
7
|
const Spacer$1 = styled.div`
|
|
8
8
|
height: ${({ $space, $spaceMob, $samespace }) => {
|
|
@@ -1573,7 +1573,7 @@
|
|
|
1573
1573
|
justify-content: center;
|
|
1574
1574
|
}
|
|
1575
1575
|
`;
|
|
1576
|
-
const Styled$
|
|
1576
|
+
const Styled$E = {
|
|
1577
1577
|
CustomTreeProvider
|
|
1578
1578
|
};
|
|
1579
1579
|
|
|
@@ -1638,7 +1638,7 @@
|
|
|
1638
1638
|
});
|
|
1639
1639
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
1640
1640
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Search$1, { style: { marginBottom: 8 }, placeholder: "Search", onChange }),
|
|
1641
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
1641
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$E.CustomTreeProvider, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
1642
1642
|
antd.Tree,
|
|
1643
1643
|
{
|
|
1644
1644
|
treeData: loop(treeData),
|
|
@@ -8196,14 +8196,14 @@
|
|
|
8196
8196
|
display: ${({ $displayFlex }) => $displayFlex ? "flex" : "block"};
|
|
8197
8197
|
flex-flow: ${({ $flexFlow }) => $flexFlow};
|
|
8198
8198
|
`;
|
|
8199
|
-
const Styled$
|
|
8199
|
+
const Styled$D = {
|
|
8200
8200
|
ContentContainer
|
|
8201
8201
|
};
|
|
8202
8202
|
|
|
8203
8203
|
const ContentCard$1 = ({ children, flexGrow, displayFlex, flexFlow, maxHeight }) => {
|
|
8204
8204
|
const { token } = antd.theme.useToken();
|
|
8205
8205
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
8206
|
-
Styled$
|
|
8206
|
+
Styled$D.ContentContainer,
|
|
8207
8207
|
{
|
|
8208
8208
|
$flexGrow: flexGrow,
|
|
8209
8209
|
$bgColor: token.colorBgContainer,
|
|
@@ -8264,13 +8264,13 @@
|
|
|
8264
8264
|
padding-inline: 8px;
|
|
8265
8265
|
}
|
|
8266
8266
|
`;
|
|
8267
|
-
const Styled$
|
|
8267
|
+
const Styled$C = {
|
|
8268
8268
|
UncontrolledSelect: UncontrolledSelect$1
|
|
8269
8269
|
};
|
|
8270
8270
|
|
|
8271
8271
|
const UncontrolledSelect = (props) => {
|
|
8272
8272
|
const { isCursorPointer } = props;
|
|
8273
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
8273
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$C.UncontrolledSelect, { ...props, $isCursorPointer: isCursorPointer });
|
|
8274
8274
|
};
|
|
8275
8275
|
|
|
8276
8276
|
const CustomSelect$5 = styled(antd.Select)`
|
|
@@ -8318,13 +8318,13 @@
|
|
|
8318
8318
|
margin-block: 0 !important;
|
|
8319
8319
|
}
|
|
8320
8320
|
`;
|
|
8321
|
-
const Styled$
|
|
8321
|
+
const Styled$B = {
|
|
8322
8322
|
CustomSelect: CustomSelect$5
|
|
8323
8323
|
};
|
|
8324
8324
|
|
|
8325
8325
|
const CustomSelect$4 = (props) => {
|
|
8326
8326
|
const { paddingContainerEnd, ...rest } = props;
|
|
8327
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
8327
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$B.CustomSelect, { $paddingContainerEnd: paddingContainerEnd, ...rest });
|
|
8328
8328
|
};
|
|
8329
8329
|
|
|
8330
8330
|
const CursorPointerTag = styled(antd.Tag)`
|
|
@@ -8471,7 +8471,7 @@
|
|
|
8471
8471
|
height: min-content;
|
|
8472
8472
|
margin-right: 4px;
|
|
8473
8473
|
`;
|
|
8474
|
-
const Styled$
|
|
8474
|
+
const Styled$A = {
|
|
8475
8475
|
Abbr: Abbr$2
|
|
8476
8476
|
};
|
|
8477
8477
|
|
|
@@ -8511,7 +8511,7 @@
|
|
|
8511
8511
|
baseFactoriesMapping
|
|
8512
8512
|
});
|
|
8513
8513
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { align: "center", gap: 8, children: [
|
|
8514
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
8514
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$A.Abbr, { $bgColor: bgColor, children: abbr }),
|
|
8515
8515
|
resourceLink ? /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
8516
8516
|
antd.Typography.Link,
|
|
8517
8517
|
{
|
|
@@ -8550,7 +8550,7 @@
|
|
|
8550
8550
|
flex-wrap: nowrap !important;
|
|
8551
8551
|
}
|
|
8552
8552
|
`;
|
|
8553
|
-
const Styled$
|
|
8553
|
+
const Styled$z = {
|
|
8554
8554
|
PositionRelativeContainer,
|
|
8555
8555
|
FullWidthContainer,
|
|
8556
8556
|
NoWrapContainer
|
|
@@ -8593,9 +8593,9 @@
|
|
|
8593
8593
|
};
|
|
8594
8594
|
return [firstItem, ellipsisItem, lastItem];
|
|
8595
8595
|
};
|
|
8596
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$
|
|
8597
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
8598
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
8596
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$z.PositionRelativeContainer, { children: [
|
|
8597
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$z.FullWidthContainer, { ref: containerRef, children: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Breadcrumb, { separator: ">", items: renderItems() }) }),
|
|
8598
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$z.NoWrapContainer, { ref: breadcrumbRef, children: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Breadcrumb, { separator: ">", items, style: { display: "flex", flexWrap: "nowrap" } }) })
|
|
8599
8599
|
] });
|
|
8600
8600
|
};
|
|
8601
8601
|
|
|
@@ -8603,12 +8603,12 @@
|
|
|
8603
8603
|
min-height: 22px;
|
|
8604
8604
|
width: 100%;
|
|
8605
8605
|
`;
|
|
8606
|
-
const Styled$
|
|
8606
|
+
const Styled$y = {
|
|
8607
8607
|
HeightDiv: HeightDiv$1
|
|
8608
8608
|
};
|
|
8609
8609
|
|
|
8610
8610
|
const ManageableBreadcrumbs = ({ data }) => {
|
|
8611
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
8611
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$y.HeightDiv, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(CollapsibleBreadcrumb, { items: data.breadcrumbItems }) });
|
|
8612
8612
|
};
|
|
8613
8613
|
|
|
8614
8614
|
const getKinds = async ({ cluster }) => {
|
|
@@ -9594,7 +9594,7 @@
|
|
|
9594
9594
|
min-height: 22px;
|
|
9595
9595
|
width: 100%;
|
|
9596
9596
|
`;
|
|
9597
|
-
const Styled$
|
|
9597
|
+
const Styled$x = {
|
|
9598
9598
|
HeightDiv
|
|
9599
9599
|
};
|
|
9600
9600
|
|
|
@@ -9623,7 +9623,7 @@
|
|
|
9623
9623
|
return null;
|
|
9624
9624
|
}
|
|
9625
9625
|
if (rawDataLoading) {
|
|
9626
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
9626
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$x.HeightDiv, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Spin, {}) });
|
|
9627
9627
|
}
|
|
9628
9628
|
if (!rawData) {
|
|
9629
9629
|
return null;
|
|
@@ -9638,7 +9638,7 @@
|
|
|
9638
9638
|
idToCompare
|
|
9639
9639
|
});
|
|
9640
9640
|
if (!result) {
|
|
9641
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
9641
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$x.HeightDiv, {});
|
|
9642
9642
|
}
|
|
9643
9643
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(ManageableBreadcrumbs, { data: result }, JSON.stringify(idToCompare));
|
|
9644
9644
|
};
|
|
@@ -9666,7 +9666,7 @@
|
|
|
9666
9666
|
margin: 0 !important;
|
|
9667
9667
|
}
|
|
9668
9668
|
`;
|
|
9669
|
-
const Styled$
|
|
9669
|
+
const Styled$w = {
|
|
9670
9670
|
CustomMenu
|
|
9671
9671
|
};
|
|
9672
9672
|
|
|
@@ -9693,7 +9693,7 @@
|
|
|
9693
9693
|
setSelectedKeys(data.selectedKeys);
|
|
9694
9694
|
}, [data.selectedKeys]);
|
|
9695
9695
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
9696
|
-
Styled$
|
|
9696
|
+
Styled$w.CustomMenu,
|
|
9697
9697
|
{
|
|
9698
9698
|
selectedKeys,
|
|
9699
9699
|
onSelect: () => {
|
|
@@ -33881,7 +33881,7 @@
|
|
|
33881
33881
|
white-space: nowrap;
|
|
33882
33882
|
text-overflow: ellipsis;
|
|
33883
33883
|
`;
|
|
33884
|
-
const Styled$
|
|
33884
|
+
const Styled$v = {
|
|
33885
33885
|
ShortenedText
|
|
33886
33886
|
};
|
|
33887
33887
|
|
|
@@ -33890,7 +33890,7 @@
|
|
|
33890
33890
|
const trimmedText = text.substring(0, trimLength);
|
|
33891
33891
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Tooltip, { title: text, placement: "top", children: trimmedText });
|
|
33892
33892
|
}
|
|
33893
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Tooltip, { title: text, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
33893
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Tooltip, { title: text, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$v.ShortenedText, { $maxWidth: maxWidth, children: text }) });
|
|
33894
33894
|
};
|
|
33895
33895
|
|
|
33896
33896
|
const FilterDropdown = ({
|
|
@@ -34142,13 +34142,53 @@
|
|
|
34142
34142
|
if (bytes < 0) return -1;
|
|
34143
34143
|
return convertBytes(bytes, to, opts);
|
|
34144
34144
|
};
|
|
34145
|
+
const normalizeAutoNumber$1 = (raw) => {
|
|
34146
|
+
let s = raw.trim();
|
|
34147
|
+
s = s.replace(/[\s\u00A0\u202F_]/g, "");
|
|
34148
|
+
s = s.replace(/'/g, "");
|
|
34149
|
+
const hasDot = s.includes(".");
|
|
34150
|
+
const hasComma = s.includes(",");
|
|
34151
|
+
if (hasDot && hasComma) {
|
|
34152
|
+
const lastDot = s.lastIndexOf(".");
|
|
34153
|
+
const lastComma = s.lastIndexOf(",");
|
|
34154
|
+
const decimal = lastDot > lastComma ? "." : ",";
|
|
34155
|
+
const group = decimal === "." ? "," : ".";
|
|
34156
|
+
s = s.split(group).join("");
|
|
34157
|
+
if (decimal === ",") s = s.replace(/,/g, ".");
|
|
34158
|
+
return s;
|
|
34159
|
+
}
|
|
34160
|
+
if (hasComma && !hasDot) {
|
|
34161
|
+
const parts = s.split(",");
|
|
34162
|
+
if (parts.length > 2) {
|
|
34163
|
+
return parts.join("");
|
|
34164
|
+
}
|
|
34165
|
+
const [intPart, fracPart = ""] = parts;
|
|
34166
|
+
if (fracPart.length === 3 && intPart.length >= 1) {
|
|
34167
|
+
return intPart + fracPart;
|
|
34168
|
+
}
|
|
34169
|
+
return intPart + (fracPart ? "." + fracPart : "");
|
|
34170
|
+
}
|
|
34171
|
+
if (hasDot && !hasComma) {
|
|
34172
|
+
const parts = s.split(".");
|
|
34173
|
+
if (parts.length > 2) {
|
|
34174
|
+
return parts.join("");
|
|
34175
|
+
}
|
|
34176
|
+
const [intPart, fracPart = ""] = parts;
|
|
34177
|
+
if (fracPart.length === 3 && intPart.length >= 1) {
|
|
34178
|
+
return intPart + fracPart;
|
|
34179
|
+
}
|
|
34180
|
+
return intPart + (fracPart ? "." + fracPart : "");
|
|
34181
|
+
}
|
|
34182
|
+
return s;
|
|
34183
|
+
};
|
|
34145
34184
|
const parseValueWithUnit = (input) => {
|
|
34146
34185
|
const trimmed = input.trim();
|
|
34147
34186
|
if (!trimmed) return null;
|
|
34148
|
-
const match = trimmed.match(/^([+-]?\d
|
|
34187
|
+
const match = trimmed.match(/^([+-]?\d(?:[\d\s\u00A0\u202F.,'_]*\d)?)(?:\s*([a-zA-Z]+))?$/);
|
|
34149
34188
|
if (!match) return null;
|
|
34150
|
-
const [,
|
|
34151
|
-
const
|
|
34189
|
+
const [, numPartRaw, unitPart] = match;
|
|
34190
|
+
const normalized = normalizeAutoNumber$1(numPartRaw);
|
|
34191
|
+
const value = Number(normalized);
|
|
34152
34192
|
if (!Number.isFinite(value)) return null;
|
|
34153
34193
|
if (unitPart) {
|
|
34154
34194
|
return { value, unit: unitPart };
|
|
@@ -34245,18 +34285,72 @@
|
|
|
34245
34285
|
if (cores < 0) return -1;
|
|
34246
34286
|
return convertCores(cores, to, opts);
|
|
34247
34287
|
};
|
|
34288
|
+
const isDigits = (s) => /^\d+$/.test(s);
|
|
34289
|
+
const isValidThousandGrouping = (parts) => {
|
|
34290
|
+
if (parts.length < 3) return false;
|
|
34291
|
+
if (parts.some((p) => p.length === 0)) return false;
|
|
34292
|
+
if (!parts.every(isDigits)) return false;
|
|
34293
|
+
if (parts[0].length < 1 || parts[0].length > 3) return false;
|
|
34294
|
+
for (let i = 1; i < parts.length; i++) {
|
|
34295
|
+
if (parts[i].length !== 3) return false;
|
|
34296
|
+
}
|
|
34297
|
+
return true;
|
|
34298
|
+
};
|
|
34299
|
+
const normalizeAutoNumber = (raw) => {
|
|
34300
|
+
let s = raw.trim();
|
|
34301
|
+
s = s.replace(/[\s\u00A0\u202F_]/g, "");
|
|
34302
|
+
s = s.replace(/'/g, "");
|
|
34303
|
+
const hasDot = s.includes(".");
|
|
34304
|
+
const hasComma = s.includes(",");
|
|
34305
|
+
if (hasDot && hasComma) {
|
|
34306
|
+
const lastDot = s.lastIndexOf(".");
|
|
34307
|
+
const lastComma = s.lastIndexOf(",");
|
|
34308
|
+
const decimal = lastDot > lastComma ? "." : ",";
|
|
34309
|
+
const group = decimal === "." ? "," : ".";
|
|
34310
|
+
s = s.split(group).join("");
|
|
34311
|
+
if (decimal === ",") s = s.replace(/,/g, ".");
|
|
34312
|
+
return s;
|
|
34313
|
+
}
|
|
34314
|
+
if (hasComma && !hasDot) {
|
|
34315
|
+
const parts = s.split(",");
|
|
34316
|
+
if (parts.length > 2) {
|
|
34317
|
+
if (!isValidThousandGrouping(parts)) return null;
|
|
34318
|
+
return parts.join("");
|
|
34319
|
+
}
|
|
34320
|
+
const [intPart, fracPart = ""] = parts;
|
|
34321
|
+
if (!isDigits(intPart || "0") || fracPart && !isDigits(fracPart)) return null;
|
|
34322
|
+
if (fracPart.length === 3 && intPart.length >= 1) {
|
|
34323
|
+
return intPart + fracPart;
|
|
34324
|
+
}
|
|
34325
|
+
return intPart + (fracPart ? "." + fracPart : "");
|
|
34326
|
+
}
|
|
34327
|
+
if (hasDot && !hasComma) {
|
|
34328
|
+
const parts = s.split(".");
|
|
34329
|
+
if (parts.length > 2) {
|
|
34330
|
+
if (!isValidThousandGrouping(parts)) return null;
|
|
34331
|
+
return parts.join("");
|
|
34332
|
+
}
|
|
34333
|
+
const [intPart, fracPart = ""] = parts;
|
|
34334
|
+
if (!isDigits(intPart || "0") || fracPart && !isDigits(fracPart)) return null;
|
|
34335
|
+
if (fracPart.length === 3 && intPart.length >= 1) {
|
|
34336
|
+
return intPart + fracPart;
|
|
34337
|
+
}
|
|
34338
|
+
return intPart + (fracPart ? "." + fracPart : "");
|
|
34339
|
+
}
|
|
34340
|
+
if (!isDigits(s.replace(/^[+-]/, ""))) return null;
|
|
34341
|
+
return s;
|
|
34342
|
+
};
|
|
34248
34343
|
const parseCoresWithUnit = (input) => {
|
|
34249
34344
|
const trimmed = input.trim();
|
|
34250
34345
|
if (!trimmed) return null;
|
|
34251
|
-
const match = trimmed.match(/^([+-]?\d
|
|
34346
|
+
const match = trimmed.match(/^([+-]?\d(?:[\d\s\u00A0\u202F.,'_]*\d)?)(?:\s*([a-zA-Zµ]+))?$/);
|
|
34252
34347
|
if (!match) return null;
|
|
34253
|
-
const [,
|
|
34254
|
-
const
|
|
34348
|
+
const [, numPartRaw, unitPart] = match;
|
|
34349
|
+
const normalized = normalizeAutoNumber(numPartRaw);
|
|
34350
|
+
if (!normalized) return null;
|
|
34351
|
+
const value = Number(normalized);
|
|
34255
34352
|
if (!Number.isFinite(value)) return null;
|
|
34256
|
-
|
|
34257
|
-
return { value, unit: unitPart };
|
|
34258
|
-
}
|
|
34259
|
-
return { value };
|
|
34353
|
+
return unitPart ? { value, unit: unitPart } : { value };
|
|
34260
34354
|
};
|
|
34261
34355
|
|
|
34262
34356
|
const DynamicRendererInner = ({
|
|
@@ -42949,7 +43043,7 @@
|
|
|
42949
43043
|
font-size: 16px;
|
|
42950
43044
|
line-height: 24px;
|
|
42951
43045
|
`;
|
|
42952
|
-
const Styled$
|
|
43046
|
+
const Styled$u = {
|
|
42953
43047
|
BorderRadiusContainer: BorderRadiusContainer$1,
|
|
42954
43048
|
ControlsRowContainer: ControlsRowContainer$1,
|
|
42955
43049
|
BigText: BigText$1
|
|
@@ -43073,7 +43167,7 @@
|
|
|
43073
43167
|
};
|
|
43074
43168
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
43075
43169
|
contextHolder,
|
|
43076
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
43170
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$u.BorderRadiusContainer, { $designNewLayoutHeight: designNewLayoutHeight, $colorBorder: token.colorBorder, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
43077
43171
|
Ft$1,
|
|
43078
43172
|
{
|
|
43079
43173
|
defaultLanguage: "yaml",
|
|
@@ -43092,7 +43186,7 @@
|
|
|
43092
43186
|
}
|
|
43093
43187
|
}
|
|
43094
43188
|
) }),
|
|
43095
|
-
!readOnly && /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
43189
|
+
!readOnly && /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$u.ControlsRowContainer, { $bgColor: token.colorPrimaryBg, $designNewLayout: designNewLayout, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { gap: designNewLayout ? 10 : 16, align: "center", children: [
|
|
43096
43190
|
/* @__PURE__ */ jsxRuntimeExports.jsx(antd.Button, { type: "primary", onClick: onSubmit, loading: isLoading, children: "Submit" }),
|
|
43097
43191
|
backlink && /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Button, { onClick: () => navigate(backlink), children: "Cancel" }),
|
|
43098
43192
|
/* @__PURE__ */ jsxRuntimeExports.jsx(antd.Button, { onClick: handleReload, children: "Reload" })
|
|
@@ -43103,7 +43197,7 @@
|
|
|
43103
43197
|
open: !!error,
|
|
43104
43198
|
onOk: () => setError(void 0),
|
|
43105
43199
|
onCancel: () => setError(void 0),
|
|
43106
|
-
title: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Typography.Text, { type: "danger", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
43200
|
+
title: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Typography.Text, { type: "danger", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$u.BigText, { children: "Error!" }) }),
|
|
43107
43201
|
cancelButtonProps: { style: { display: "none" } },
|
|
43108
43202
|
children: [
|
|
43109
43203
|
"An error has occurred: ",
|
|
@@ -43219,7 +43313,7 @@
|
|
|
43219
43313
|
const VisibilityContainer$2 = styled.div`
|
|
43220
43314
|
display: ${({ $hidden }) => $hidden ? "none" : "block"};
|
|
43221
43315
|
`;
|
|
43222
|
-
const Styled$
|
|
43316
|
+
const Styled$t = {
|
|
43223
43317
|
VisibilityContainer: VisibilityContainer$2
|
|
43224
43318
|
};
|
|
43225
43319
|
|
|
@@ -43242,7 +43336,7 @@
|
|
|
43242
43336
|
if (isMultiqueryLoading) {
|
|
43243
43337
|
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: "Loading multiquery" });
|
|
43244
43338
|
}
|
|
43245
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
43339
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$t.VisibilityContainer, { $hidden: valuePrepared === "~undefined-value~", children });
|
|
43246
43340
|
};
|
|
43247
43341
|
|
|
43248
43342
|
const unknownToString = (value) => {
|
|
@@ -43481,7 +43575,7 @@
|
|
|
43481
43575
|
return dispatch;
|
|
43482
43576
|
};
|
|
43483
43577
|
|
|
43484
|
-
const Container$
|
|
43578
|
+
const Container$3 = styled.div`
|
|
43485
43579
|
display: flex;
|
|
43486
43580
|
flex-direction: column;
|
|
43487
43581
|
gap: ${({ $designNewLayout }) => $designNewLayout ? "4px" : "8px"};
|
|
@@ -43507,8 +43601,8 @@
|
|
|
43507
43601
|
display: ${({ $isOpen }) => $isOpen ? "block" : "none"};
|
|
43508
43602
|
padding: ${({ $designNewLayout }) => $designNewLayout ? "0 0 0 6px" : "4px"};
|
|
43509
43603
|
`;
|
|
43510
|
-
const Styled$
|
|
43511
|
-
Container: Container$
|
|
43604
|
+
const Styled$s = {
|
|
43605
|
+
Container: Container$3,
|
|
43512
43606
|
TitleBar,
|
|
43513
43607
|
Content: Content$1
|
|
43514
43608
|
};
|
|
@@ -43534,14 +43628,14 @@
|
|
|
43534
43628
|
}
|
|
43535
43629
|
};
|
|
43536
43630
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
43537
|
-
Styled$
|
|
43631
|
+
Styled$s.Container,
|
|
43538
43632
|
{
|
|
43539
43633
|
$designNewLayout: designNewLayout,
|
|
43540
43634
|
$borderColor: token.colorBorder,
|
|
43541
43635
|
$bgColor: token.colorBgContainer,
|
|
43542
43636
|
children: [
|
|
43543
43637
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { justify: "space-between", children: [
|
|
43544
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$
|
|
43638
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$s.TitleBar, { onClick: () => toggleCollapse(), children: [
|
|
43545
43639
|
!designNewLayout && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: isOpen ? /* @__PURE__ */ jsxRuntimeExports.jsx(icons.CaretDownOutlined, { size: 14 }) : /* @__PURE__ */ jsxRuntimeExports.jsx(icons.CaretRightOutlined, { size: 14 }) }),
|
|
43546
43640
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: title }),
|
|
43547
43641
|
designNewLayout && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: isOpen ? /* @__PURE__ */ jsxRuntimeExports.jsx(DownIcon, {}) : /* @__PURE__ */ jsxRuntimeExports.jsx(UpIcon, {}) })
|
|
@@ -43552,7 +43646,7 @@
|
|
|
43552
43646
|
persistedCheckbox
|
|
43553
43647
|
] })
|
|
43554
43648
|
] }),
|
|
43555
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
43649
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$s.Content, { $isOpen: isOpen, $designNewLayout: designNewLayout, children })
|
|
43556
43650
|
]
|
|
43557
43651
|
}
|
|
43558
43652
|
);
|
|
@@ -43586,13 +43680,13 @@
|
|
|
43586
43680
|
const Content = styled.div`
|
|
43587
43681
|
padding: ${({ $designNewLayout }) => $designNewLayout ? "0 0 0 6px" : "4px"};
|
|
43588
43682
|
`;
|
|
43589
|
-
const Styled$
|
|
43683
|
+
const Styled$r = {
|
|
43590
43684
|
Content
|
|
43591
43685
|
};
|
|
43592
43686
|
|
|
43593
43687
|
const ArrayInsideContainer = ({ children }) => {
|
|
43594
43688
|
const designNewLayout = useDesignNewLayout();
|
|
43595
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
43689
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$r.Content, { $designNewLayout: designNewLayout, children });
|
|
43596
43690
|
};
|
|
43597
43691
|
|
|
43598
43692
|
const includesPath = (haystack, needle) => haystack.some((h) => h.length === needle.length && h.every((seg, i) => seg === String(needle[i])));
|
|
@@ -44145,7 +44239,7 @@
|
|
|
44145
44239
|
const ResetedFormList$3 = styled(antd.Form.List)`
|
|
44146
44240
|
margin-bottom: 8px;
|
|
44147
44241
|
`;
|
|
44148
|
-
const Styled$
|
|
44242
|
+
const Styled$q = {
|
|
44149
44243
|
ResetedFormList: ResetedFormList$3
|
|
44150
44244
|
};
|
|
44151
44245
|
|
|
@@ -44230,7 +44324,7 @@
|
|
|
44230
44324
|
/* @__PURE__ */ jsxRuntimeExports.jsx(antd.Col, { span: cols[3], children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", {}) })
|
|
44231
44325
|
] }),
|
|
44232
44326
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Spacer$1, { $space: 10, $samespace: true }),
|
|
44233
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
44327
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$q.ResetedFormList, { name: "taints", children: (fields, { add, remove }) => /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
44234
44328
|
fields.map(({ key, name, ...restField }) => /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Row, { gutter: [16, 16], children: [
|
|
44235
44329
|
/* @__PURE__ */ jsxRuntimeExports.jsx(antd.Col, { span: cols[0], children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
44236
44330
|
ResetedFormItem$1,
|
|
@@ -44470,7 +44564,7 @@
|
|
|
44470
44564
|
const ResetedFormList$2 = styled(antd.Form.List)`
|
|
44471
44565
|
margin-bottom: 8px;
|
|
44472
44566
|
`;
|
|
44473
|
-
const Styled$
|
|
44567
|
+
const Styled$p = {
|
|
44474
44568
|
ResetedFormList: ResetedFormList$2
|
|
44475
44569
|
};
|
|
44476
44570
|
|
|
@@ -44565,7 +44659,7 @@
|
|
|
44565
44659
|
/* @__PURE__ */ jsxRuntimeExports.jsx(antd.Col, { span: cols[4], children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", {}) })
|
|
44566
44660
|
] }),
|
|
44567
44661
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Spacer$1, { $space: 10, $samespace: true }),
|
|
44568
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
44662
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$p.ResetedFormList, { name: "tolerations", children: (fields, { add, remove }) => /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
44569
44663
|
fields.map(({ key, name, ...restField }) => /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Row, { gutter: [16, 16], children: [
|
|
44570
44664
|
/* @__PURE__ */ jsxRuntimeExports.jsx(antd.Col, { span: cols[0], children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
44571
44665
|
ResetedFormItem$1,
|
|
@@ -44847,7 +44941,7 @@
|
|
|
44847
44941
|
const ResetedFormList$1 = styled(antd.Form.List)`
|
|
44848
44942
|
margin-bottom: 8px;
|
|
44849
44943
|
`;
|
|
44850
|
-
const Styled$
|
|
44944
|
+
const Styled$o = {
|
|
44851
44945
|
ResetedFormList: ResetedFormList$1
|
|
44852
44946
|
};
|
|
44853
44947
|
|
|
@@ -44937,7 +45031,7 @@
|
|
|
44937
45031
|
/* @__PURE__ */ jsxRuntimeExports.jsx(antd.Col, { span: cols[2], children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", {}) })
|
|
44938
45032
|
] }),
|
|
44939
45033
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Spacer$1, { $space: 10, $samespace: true }),
|
|
44940
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
45034
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$o.ResetedFormList, { name: "annotations", children: (fields, { add, remove }) => /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
44941
45035
|
fields.map(({ key, name, ...restField }) => /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Row, { gutter: [16, 16], children: [
|
|
44942
45036
|
/* @__PURE__ */ jsxRuntimeExports.jsx(antd.Col, { span: cols[0], children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
44943
45037
|
ResetedFormItem$1,
|
|
@@ -46086,7 +46180,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
46086
46180
|
margin-bottom: 0 !important;
|
|
46087
46181
|
}
|
|
46088
46182
|
`;
|
|
46089
|
-
const Styled$
|
|
46183
|
+
const Styled$n = {
|
|
46090
46184
|
NoSelect,
|
|
46091
46185
|
DisabledInput,
|
|
46092
46186
|
NotificationOverrides
|
|
@@ -46152,10 +46246,10 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
46152
46246
|
}
|
|
46153
46247
|
};
|
|
46154
46248
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: containerStyle, children: [
|
|
46155
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
46249
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$n.NotificationOverrides, {}),
|
|
46156
46250
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { gap: 8, ...flexProps, children: [
|
|
46157
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
46158
|
-
Styled$
|
|
46251
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$n.NoSelect, { style: inputContainerStyle, children: niceLooking ? /* @__PURE__ */ jsxRuntimeExports.jsx(te, { theme, hidden, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
46252
|
+
Styled$n.DisabledInput,
|
|
46159
46253
|
{
|
|
46160
46254
|
$hidden: hidden,
|
|
46161
46255
|
ref: inputRef,
|
|
@@ -46170,7 +46264,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
46170
46264
|
value: decodedText
|
|
46171
46265
|
}
|
|
46172
46266
|
) }) : /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
46173
|
-
Styled$
|
|
46267
|
+
Styled$n.DisabledInput,
|
|
46174
46268
|
{
|
|
46175
46269
|
$hidden: hidden,
|
|
46176
46270
|
ref: inputRef,
|
|
@@ -46204,7 +46298,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
46204
46298
|
letter-spacing: 0.02em;
|
|
46205
46299
|
box-sizing: content-box;
|
|
46206
46300
|
`;
|
|
46207
|
-
const Styled$
|
|
46301
|
+
const Styled$m = {
|
|
46208
46302
|
RoundSpan
|
|
46209
46303
|
};
|
|
46210
46304
|
|
|
@@ -46243,7 +46337,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
46243
46337
|
multiQueryData
|
|
46244
46338
|
}) : getUppercase(parsedValue);
|
|
46245
46339
|
const bgColor = hslFromString(parsedValue, theme);
|
|
46246
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
46340
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$m.RoundSpan, { $bgColor: bgColor, style, children: parsedAbbreviation });
|
|
46247
46341
|
};
|
|
46248
46342
|
|
|
46249
46343
|
const serializeLabelsWithNoEncoding = (input) => {
|
|
@@ -46921,6 +47015,50 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
46921
47015
|
] });
|
|
46922
47016
|
};
|
|
46923
47017
|
|
|
47018
|
+
const VMVNC$1 = ({
|
|
47019
|
+
data,
|
|
47020
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
47021
|
+
children
|
|
47022
|
+
}) => {
|
|
47023
|
+
const { data: multiQueryData, isLoading: isMultiqueryLoading } = useMultiQuery();
|
|
47024
|
+
const {
|
|
47025
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
47026
|
+
id,
|
|
47027
|
+
cluster,
|
|
47028
|
+
namespace,
|
|
47029
|
+
vmName,
|
|
47030
|
+
forcedFullWsPath,
|
|
47031
|
+
substractHeight,
|
|
47032
|
+
...props
|
|
47033
|
+
} = data;
|
|
47034
|
+
const partsOfUrl = usePartsOfUrl();
|
|
47035
|
+
const replaceValues = partsOfUrl.partsOfUrl.reduce((acc, value, index) => {
|
|
47036
|
+
acc[index.toString()] = value;
|
|
47037
|
+
return acc;
|
|
47038
|
+
}, {});
|
|
47039
|
+
const clusterPrepared = cluster ? parseAll({ text: cluster, replaceValues, multiQueryData }) : void 0;
|
|
47040
|
+
const namespacePrepared = namespace ? parseAll({ text: namespace, replaceValues, multiQueryData }) : void 0;
|
|
47041
|
+
const vmNamePrepared = vmName ? parseAll({ text: vmName, replaceValues, multiQueryData }) : void 0;
|
|
47042
|
+
const forcedFullWsPathPrepared = forcedFullWsPath ? parseAll({ text: forcedFullWsPath, replaceValues, multiQueryData }) : void 0;
|
|
47043
|
+
if (isMultiqueryLoading) {
|
|
47044
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: "Loading multiquery" });
|
|
47045
|
+
}
|
|
47046
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
47047
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
47048
|
+
VMVNC,
|
|
47049
|
+
{
|
|
47050
|
+
cluster: clusterPrepared,
|
|
47051
|
+
namespace: namespacePrepared,
|
|
47052
|
+
vmName: vmNamePrepared,
|
|
47053
|
+
forcedFullWsPath: forcedFullWsPathPrepared,
|
|
47054
|
+
substractHeight: substractHeight || 400,
|
|
47055
|
+
...props
|
|
47056
|
+
}
|
|
47057
|
+
),
|
|
47058
|
+
children
|
|
47059
|
+
] });
|
|
47060
|
+
};
|
|
47061
|
+
|
|
46924
47062
|
const DynamicComponents = {
|
|
46925
47063
|
DefaultDiv,
|
|
46926
47064
|
antdText: AntdText,
|
|
@@ -46961,7 +47099,8 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
46961
47099
|
Events: Events$1,
|
|
46962
47100
|
OwnerRefs,
|
|
46963
47101
|
Toggler,
|
|
46964
|
-
TogglerSegmented
|
|
47102
|
+
TogglerSegmented,
|
|
47103
|
+
VMVNC: VMVNC$1
|
|
46965
47104
|
};
|
|
46966
47105
|
|
|
46967
47106
|
const prepareUrlsToFetchForDynamicRenderer = ({
|
|
@@ -47155,7 +47294,6 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
47155
47294
|
const isSortersAndFiltersDisabled = possibleAdditionalPrinterColumnsCustomSortersAndFiltersType === "disabled";
|
|
47156
47295
|
const isSortersAndFiltersCPU = possibleAdditionalPrinterColumnsCustomSortersAndFiltersType === "cpu";
|
|
47157
47296
|
const isSortersAndFiltersMemory = possibleAdditionalPrinterColumnsCustomSortersAndFiltersType === "memory";
|
|
47158
|
-
console.log(`key: ${el.key}, isSortersAndFiltersMemory: ${isSortersAndFiltersMemory}`);
|
|
47159
47297
|
const possibleUndefinedValue = additionalPrinterColumnsUndefinedValues?.find(({ key }) => key === el.key)?.value;
|
|
47160
47298
|
const possibleTrimLength = additionalPrinterColumnsTrimLengths?.find(({ key }) => key === el.key)?.value;
|
|
47161
47299
|
const possibleColWidth = additionalPrinterColumnsColWidths?.find(({ key }) => key === el.key)?.value;
|
|
@@ -47171,7 +47309,6 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
47171
47309
|
};
|
|
47172
47310
|
const getMemoryInBytes = (record) => {
|
|
47173
47311
|
const text = getCellTextFromDOM(record);
|
|
47174
|
-
console.log(`text from cell ${text}`);
|
|
47175
47312
|
if (!text) return 0;
|
|
47176
47313
|
const parsed = parseValueWithUnit(text);
|
|
47177
47314
|
if (!parsed) return 0;
|
|
@@ -47272,7 +47409,6 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
47272
47409
|
if (isSortersAndFiltersMemory) {
|
|
47273
47410
|
const aBytes = getMemoryInBytes(a);
|
|
47274
47411
|
const bBytes = getMemoryInBytes(b);
|
|
47275
|
-
console.log(`isSortersAndFiltersMemory ${aBytes}/${bBytes}`);
|
|
47276
47412
|
return safeNumericCompare(aBytes, bBytes);
|
|
47277
47413
|
}
|
|
47278
47414
|
if (isSortersAndFiltersCPU) {
|
|
@@ -48393,7 +48529,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
48393
48529
|
border-radius: 8px;
|
|
48394
48530
|
}
|
|
48395
48531
|
`;
|
|
48396
|
-
const Styled$
|
|
48532
|
+
const Styled$l = {
|
|
48397
48533
|
BorderRadiusContainer
|
|
48398
48534
|
};
|
|
48399
48535
|
|
|
@@ -48440,7 +48576,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
48440
48576
|
}
|
|
48441
48577
|
}
|
|
48442
48578
|
}, [yamlData, editorUri]);
|
|
48443
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
48579
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$l.BorderRadiusContainer, { $colorBorder: token.colorBorder, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
48444
48580
|
Ft$1,
|
|
48445
48581
|
{
|
|
48446
48582
|
language: "yaml",
|
|
@@ -49197,7 +49333,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
49197
49333
|
const MarginBottom = styled.div`
|
|
49198
49334
|
margin-bottom: 8px;
|
|
49199
49335
|
`;
|
|
49200
|
-
const Styled$
|
|
49336
|
+
const Styled$k = {
|
|
49201
49337
|
MarginBottom
|
|
49202
49338
|
};
|
|
49203
49339
|
|
|
@@ -49263,7 +49399,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
49263
49399
|
},
|
|
49264
49400
|
arrKey !== void 0 ? arrKey : Array.isArray(name) ? name.slice(-1)[0] : name
|
|
49265
49401
|
),
|
|
49266
|
-
isBase64 && /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
49402
|
+
isBase64 && /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$k.MarginBottom, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
49267
49403
|
antd.Input.TextArea,
|
|
49268
49404
|
{
|
|
49269
49405
|
placeholder: getStringByName(name),
|
|
@@ -49290,7 +49426,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
49290
49426
|
cursor: pointer;
|
|
49291
49427
|
padding-top: 11px;
|
|
49292
49428
|
`;
|
|
49293
|
-
const Styled$
|
|
49429
|
+
const Styled$j = {
|
|
49294
49430
|
SwitchAndCrossContainer,
|
|
49295
49431
|
CrossContainer
|
|
49296
49432
|
};
|
|
@@ -49315,7 +49451,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
49315
49451
|
onRemoveByMinus && /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Button, { size: "small", type: "text", onClick: onRemoveByMinus, children: /* @__PURE__ */ jsxRuntimeExports.jsx(MinusIcon, {}) })
|
|
49316
49452
|
] })
|
|
49317
49453
|
] }),
|
|
49318
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$
|
|
49454
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$j.SwitchAndCrossContainer, { children: [
|
|
49319
49455
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
49320
49456
|
ResetedFormItem$1,
|
|
49321
49457
|
{
|
|
@@ -49325,7 +49461,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
49325
49461
|
arrKey !== void 0 ? arrKey : Array.isArray(name) ? name.slice(-1)[0] : name
|
|
49326
49462
|
),
|
|
49327
49463
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
49328
|
-
Styled$
|
|
49464
|
+
Styled$j.CrossContainer,
|
|
49329
49465
|
{
|
|
49330
49466
|
onClick: () => {
|
|
49331
49467
|
if (makeValueUndefined) {
|
|
@@ -49513,7 +49649,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
49513
49649
|
] });
|
|
49514
49650
|
};
|
|
49515
49651
|
|
|
49516
|
-
const Container$
|
|
49652
|
+
const Container$2 = styled.div`
|
|
49517
49653
|
height: 140px;
|
|
49518
49654
|
border: 1px solid ${({ $colorBorder }) => $colorBorder};
|
|
49519
49655
|
border-radius: 8px;
|
|
@@ -49524,8 +49660,8 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
49524
49660
|
border-radius: 8px;
|
|
49525
49661
|
}
|
|
49526
49662
|
`;
|
|
49527
|
-
const Styled$
|
|
49528
|
-
Container: Container$
|
|
49663
|
+
const Styled$i = {
|
|
49664
|
+
Container: Container$2
|
|
49529
49665
|
};
|
|
49530
49666
|
|
|
49531
49667
|
const FormInlineYamlEditor = ({ path, persistedControls, externalValue }) => {
|
|
@@ -49578,7 +49714,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
49578
49714
|
}
|
|
49579
49715
|
}
|
|
49580
49716
|
}, [yamlText, modelUri]);
|
|
49581
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
49717
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$i.Container, { $colorBorder: token.colorBorder, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
49582
49718
|
Ft$1,
|
|
49583
49719
|
{
|
|
49584
49720
|
language: "yaml",
|
|
@@ -49717,7 +49853,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
49717
49853
|
});
|
|
49718
49854
|
};
|
|
49719
49855
|
|
|
49720
|
-
const Container = styled.div`
|
|
49856
|
+
const Container$1 = styled.div`
|
|
49721
49857
|
display: grid;
|
|
49722
49858
|
grid-template-columns: repeat(2, 1fr);
|
|
49723
49859
|
gap: ${({ $designNewLayout }) => $designNewLayout ? "36px" : "8px"};
|
|
@@ -49745,9 +49881,9 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
49745
49881
|
font-size: 16px;
|
|
49746
49882
|
line-height: 24px;
|
|
49747
49883
|
`;
|
|
49748
|
-
const Styled$
|
|
49884
|
+
const Styled$h = {
|
|
49749
49885
|
ResetedFormList,
|
|
49750
|
-
Container,
|
|
49886
|
+
Container: Container$1,
|
|
49751
49887
|
OverflowContainer: OverflowContainer$1,
|
|
49752
49888
|
ControlsRowContainer,
|
|
49753
49889
|
DebugContainer,
|
|
@@ -50027,7 +50163,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
50027
50163
|
}
|
|
50028
50164
|
),
|
|
50029
50165
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
50030
|
-
Styled$
|
|
50166
|
+
Styled$h.ResetedFormList,
|
|
50031
50167
|
{
|
|
50032
50168
|
name: arrName || name,
|
|
50033
50169
|
rules: !forceNonRequired && required?.includes(getStringByName(name)) ? [
|
|
@@ -51468,8 +51604,8 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
51468
51604
|
setPersistedKeys([...persistedKeys.filter((arr) => JSON.stringify(arr) !== JSON.stringify(value))]);
|
|
51469
51605
|
};
|
|
51470
51606
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
51471
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$
|
|
51472
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
51607
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$h.Container, { $designNewLayout: designNewLayout, $designNewLayoutHeight: designNewLayoutHeight, children: [
|
|
51608
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$h.OverflowContainer, { ref: overflowRef, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
51473
51609
|
antd.Form,
|
|
51474
51610
|
{
|
|
51475
51611
|
form,
|
|
@@ -51523,7 +51659,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
51523
51659
|
) })
|
|
51524
51660
|
] }),
|
|
51525
51661
|
/* @__PURE__ */ jsxRuntimeExports.jsx(FlexGrow, {}),
|
|
51526
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
51662
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$h.ControlsRowContainer, { $bgColor: token.colorPrimaryBg, $designNewLayout: designNewLayout, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { gap: designNewLayout ? 10 : 16, align: "center", children: [
|
|
51527
51663
|
/* @__PURE__ */ jsxRuntimeExports.jsx(antd.Button, { type: "primary", onClick: onSubmit, loading: isLoading, children: "Submit" }),
|
|
51528
51664
|
backlink && /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Button, { onClick: () => navigate(backlink), children: "Cancel" }),
|
|
51529
51665
|
/* @__PURE__ */ jsxRuntimeExports.jsx(antd.Button, { onClick: () => setIsDebugModalOpen(true), icon: /* @__PURE__ */ jsxRuntimeExports.jsx(icons.BugOutlined, {}) }),
|
|
@@ -51535,7 +51671,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
51535
51671
|
open: !!error,
|
|
51536
51672
|
onOk: () => setError(void 0),
|
|
51537
51673
|
onCancel: () => setError(void 0),
|
|
51538
|
-
title: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Typography.Text, { type: "danger", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
51674
|
+
title: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Typography.Text, { type: "danger", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$h.BigText, { children: "Error!" }) }),
|
|
51539
51675
|
cancelButtonProps: { style: { display: "none" } },
|
|
51540
51676
|
children: [
|
|
51541
51677
|
"An error has occurred: ",
|
|
@@ -51551,7 +51687,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
51551
51687
|
onCancel: () => setIsDebugModalOpen(false),
|
|
51552
51688
|
title: "Debug for properties",
|
|
51553
51689
|
width: "90vw",
|
|
51554
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
51690
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$h.DebugContainer, { $designNewLayoutHeight: designNewLayoutHeight, children: /* @__PURE__ */ jsxRuntimeExports.jsx(K.Suspense, { fallback: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: "Loading..." }), children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
51555
51691
|
Editor,
|
|
51556
51692
|
{
|
|
51557
51693
|
defaultLanguage: "json",
|
|
@@ -51606,7 +51742,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
51606
51742
|
}
|
|
51607
51743
|
if (data2.result === "error") {
|
|
51608
51744
|
setIsError(data2.error);
|
|
51609
|
-
console.
|
|
51745
|
+
console.warn(data2.error);
|
|
51610
51746
|
fallbackToManualMode();
|
|
51611
51747
|
} else {
|
|
51612
51748
|
setPreparedData({
|
|
@@ -51649,15 +51785,15 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
51649
51785
|
}
|
|
51650
51786
|
);
|
|
51651
51787
|
}
|
|
51788
|
+
if (isError) {
|
|
51789
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Alert, { message: isError, type: "error" });
|
|
51790
|
+
}
|
|
51652
51791
|
if (!preparedData?.properties && !isError) {
|
|
51653
51792
|
return null;
|
|
51654
51793
|
}
|
|
51655
51794
|
if (!preparedData?.properties) {
|
|
51656
51795
|
return null;
|
|
51657
51796
|
}
|
|
51658
|
-
if (isError) {
|
|
51659
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Alert, { message: isError, type: "error" });
|
|
51660
|
-
}
|
|
51661
51797
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
51662
51798
|
BlackholeForm,
|
|
51663
51799
|
{
|
|
@@ -51688,7 +51824,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
51688
51824
|
);
|
|
51689
51825
|
};
|
|
51690
51826
|
|
|
51691
|
-
const CustomCard$
|
|
51827
|
+
const CustomCard$6 = styled(antd.Card)`
|
|
51692
51828
|
display: flex;
|
|
51693
51829
|
justify-content: center;
|
|
51694
51830
|
align-items: center;
|
|
@@ -51708,12 +51844,12 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
51708
51844
|
padding: 8px;
|
|
51709
51845
|
}
|
|
51710
51846
|
`;
|
|
51711
|
-
const Styled$
|
|
51712
|
-
CustomCard: CustomCard$
|
|
51847
|
+
const Styled$g = {
|
|
51848
|
+
CustomCard: CustomCard$6
|
|
51713
51849
|
};
|
|
51714
51850
|
|
|
51715
51851
|
const AddCard = ({ onAddClick }) => {
|
|
51716
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
51852
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$g.CustomCard, { onClick: onAddClick, children: /* @__PURE__ */ jsxRuntimeExports.jsx(icons.PlusOutlined, {}) });
|
|
51717
51853
|
};
|
|
51718
51854
|
|
|
51719
51855
|
const byteToHex = [];
|
|
@@ -51930,7 +52066,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
51930
52066
|
return `/${baseprefix}/${cluster}/${namespace}/forms/builtin/${apiVersion}/${plural}?backlink=${window.location.pathname}`;
|
|
51931
52067
|
};
|
|
51932
52068
|
|
|
51933
|
-
const CustomCard$
|
|
52069
|
+
const CustomCard$5 = styled(antd.Card)`
|
|
51934
52070
|
position: relative;
|
|
51935
52071
|
width: 238px;
|
|
51936
52072
|
overflow-x: auto;
|
|
@@ -52001,8 +52137,8 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
52001
52137
|
bottom: 6px;
|
|
52002
52138
|
right: 6px;
|
|
52003
52139
|
`;
|
|
52004
|
-
const Styled$
|
|
52005
|
-
CustomCard: CustomCard$
|
|
52140
|
+
const Styled$f = {
|
|
52141
|
+
CustomCard: CustomCard$5,
|
|
52006
52142
|
ImageContainer,
|
|
52007
52143
|
OverflowContainer,
|
|
52008
52144
|
TitleContainer,
|
|
@@ -52073,14 +52209,14 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
52073
52209
|
return null;
|
|
52074
52210
|
}
|
|
52075
52211
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
52076
|
-
Styled$
|
|
52212
|
+
Styled$f.CustomCard,
|
|
52077
52213
|
{
|
|
52078
52214
|
$isDisabled: disabled,
|
|
52079
52215
|
$hoverColor: token.colorPrimary,
|
|
52080
52216
|
onClick: () => disabled ? null : navigate(navigateUrl),
|
|
52081
52217
|
children: /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { vertical: true, style: { width: "100%", height: "100%" }, justify: "spaceBetween", children: [
|
|
52082
52218
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { justify: "space-between", children: [
|
|
52083
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
52219
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$f.ImageContainer, { dangerouslySetInnerHTML: { __html: decodedIcon } }),
|
|
52084
52220
|
isEditMode && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
52085
52221
|
"div",
|
|
52086
52222
|
{
|
|
@@ -52101,8 +52237,8 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
52101
52237
|
}
|
|
52102
52238
|
)
|
|
52103
52239
|
] }),
|
|
52104
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$
|
|
52105
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$
|
|
52240
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$f.OverflowContainer, { children: [
|
|
52241
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$f.TitleContainer, { children: [
|
|
52106
52242
|
name,
|
|
52107
52243
|
" ",
|
|
52108
52244
|
addedMode && /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { children: [
|
|
@@ -52110,10 +52246,10 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
52110
52246
|
k8sList?.items?.length
|
|
52111
52247
|
] })
|
|
52112
52248
|
] }),
|
|
52113
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
52114
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
52249
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$f.TagsContainer, { children: tags.map((tag) => /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$f.CustomTag, { children: tag }, tag)) }),
|
|
52250
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$f.DescriptionContainer, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Typography.Text, { type: "secondary", children: description }) })
|
|
52115
52251
|
] }),
|
|
52116
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
52252
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$f.EditButtonContainer, { children: isEditMode && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
52117
52253
|
"div",
|
|
52118
52254
|
{
|
|
52119
52255
|
onClick: (e) => {
|
|
@@ -52171,7 +52307,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
52171
52307
|
line-clamp: 1;
|
|
52172
52308
|
word-break: break-all;
|
|
52173
52309
|
`;
|
|
52174
|
-
const Styled$
|
|
52310
|
+
const Styled$e = {
|
|
52175
52311
|
BigValue
|
|
52176
52312
|
};
|
|
52177
52313
|
|
|
@@ -52281,7 +52417,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
52281
52417
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { justify: "space-between", children: [
|
|
52282
52418
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { gap: 12, vertical: true, children: [
|
|
52283
52419
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Typography.Text, { type: "secondary", children: "Available Products" }) }),
|
|
52284
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
52420
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$e.BigValue, { children: "Marketplace" }) })
|
|
52285
52421
|
] }) }),
|
|
52286
52422
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { gap: 12, vertical: true, children: [
|
|
52287
52423
|
/* @__PURE__ */ jsxRuntimeExports.jsx(SearchTextInput, { uniqueTags, selectedTags, onSelectedTags: setSelectedTags }),
|
|
@@ -52487,7 +52623,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
52487
52623
|
line-clamp: 1;
|
|
52488
52624
|
word-break: break-all;
|
|
52489
52625
|
`;
|
|
52490
|
-
const Styled$
|
|
52626
|
+
const Styled$d = {
|
|
52491
52627
|
ActionMenuPlaceholder};
|
|
52492
52628
|
|
|
52493
52629
|
const ProjectInfoCard = ({
|
|
@@ -52566,7 +52702,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
52566
52702
|
} : void 0,
|
|
52567
52703
|
onUpdate: updatePermission.data?.status.allowed ? openUpdate : void 0
|
|
52568
52704
|
}
|
|
52569
|
-
) : /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
52705
|
+
) : /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$d.ActionMenuPlaceholder, {}) }),
|
|
52570
52706
|
/* @__PURE__ */ jsxRuntimeExports.jsx(DropdownAccessGroups, { accessGroups })
|
|
52571
52707
|
] }) })
|
|
52572
52708
|
] }),
|
|
@@ -52639,7 +52775,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
52639
52775
|
|
|
52640
52776
|
var addonFitExports = addonFit.exports;
|
|
52641
52777
|
|
|
52642
|
-
const CustomCard$
|
|
52778
|
+
const CustomCard$4 = styled.div`
|
|
52643
52779
|
visibility: ${({ $isVisible }) => $isVisible ? "visible" : "hidden"};
|
|
52644
52780
|
height: calc(100vh - ${({ $substractHeight }) => $substractHeight}px);
|
|
52645
52781
|
|
|
@@ -52647,15 +52783,15 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
52647
52783
|
scrollbar-width: thin;
|
|
52648
52784
|
}
|
|
52649
52785
|
`;
|
|
52650
|
-
const FullWidthDiv$
|
|
52786
|
+
const FullWidthDiv$4 = styled.div`
|
|
52651
52787
|
display: flex;
|
|
52652
52788
|
justify-content: center;
|
|
52653
52789
|
width: 100%;
|
|
52654
52790
|
height: calc(100vh - ${({ $substractHeight }) => $substractHeight}px);
|
|
52655
52791
|
`;
|
|
52656
|
-
const Styled$
|
|
52657
|
-
FullWidthDiv: FullWidthDiv$
|
|
52658
|
-
CustomCard: CustomCard$
|
|
52792
|
+
const Styled$c = {
|
|
52793
|
+
FullWidthDiv: FullWidthDiv$4,
|
|
52794
|
+
CustomCard: CustomCard$4
|
|
52659
52795
|
};
|
|
52660
52796
|
|
|
52661
52797
|
const XTerminal$2 = ({ endpoint, namespace, podName, container, substractHeight }) => {
|
|
@@ -52738,7 +52874,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
52738
52874
|
};
|
|
52739
52875
|
}, [terminal, endpoint, namespace, podName, container]);
|
|
52740
52876
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
52741
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
52877
|
+
/* @__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%" } }) }) }),
|
|
52742
52878
|
isLoading && !error && /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Spin, {}),
|
|
52743
52879
|
error && /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Result, { status: "error", title: "Error", subTitle: JSON.stringify(error) })
|
|
52744
52880
|
] });
|
|
@@ -52749,7 +52885,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
52749
52885
|
width: 200px;
|
|
52750
52886
|
}
|
|
52751
52887
|
`;
|
|
52752
|
-
const Styled$
|
|
52888
|
+
const Styled$b = {
|
|
52753
52889
|
CustomSelect: CustomSelect$3
|
|
52754
52890
|
};
|
|
52755
52891
|
|
|
@@ -52760,7 +52896,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
52760
52896
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: "No Running Containers" });
|
|
52761
52897
|
}
|
|
52762
52898
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
52763
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
52899
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$b.CustomSelect, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
52764
52900
|
antd.Select,
|
|
52765
52901
|
{
|
|
52766
52902
|
placeholder: "Select container",
|
|
@@ -52789,7 +52925,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
52789
52925
|
] });
|
|
52790
52926
|
};
|
|
52791
52927
|
|
|
52792
|
-
const CustomCard$
|
|
52928
|
+
const CustomCard$3 = styled.div`
|
|
52793
52929
|
visibility: ${({ $isVisible }) => $isVisible ? "visible" : "hidden"};
|
|
52794
52930
|
height: calc(100vh - ${({ $substractHeight }) => $substractHeight}px);
|
|
52795
52931
|
|
|
@@ -52797,7 +52933,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
52797
52933
|
scrollbar-width: thin;
|
|
52798
52934
|
}
|
|
52799
52935
|
`;
|
|
52800
|
-
const FullWidthDiv$
|
|
52936
|
+
const FullWidthDiv$3 = styled.div`
|
|
52801
52937
|
display: flex;
|
|
52802
52938
|
justify-content: center;
|
|
52803
52939
|
width: 100%;
|
|
@@ -52812,9 +52948,9 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
52812
52948
|
align-items: center;
|
|
52813
52949
|
gap: 8px;
|
|
52814
52950
|
`;
|
|
52815
|
-
const Styled$
|
|
52816
|
-
FullWidthDiv: FullWidthDiv$
|
|
52817
|
-
CustomCard: CustomCard$
|
|
52951
|
+
const Styled$a = {
|
|
52952
|
+
FullWidthDiv: FullWidthDiv$3,
|
|
52953
|
+
CustomCard: CustomCard$3,
|
|
52818
52954
|
ProgressContainer
|
|
52819
52955
|
};
|
|
52820
52956
|
|
|
@@ -52944,8 +53080,8 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
52944
53080
|
};
|
|
52945
53081
|
}, [terminal, endpoint, nodeName, profile]);
|
|
52946
53082
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
52947
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
52948
|
-
!isTerminalVisible && !error && isWarmingUp && /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$
|
|
53083
|
+
/* @__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%" } }) }) }),
|
|
53084
|
+
!isTerminalVisible && !error && isWarmingUp && /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$a.ProgressContainer, { $substractHeight: substractHeight, children: [
|
|
52949
53085
|
isLoading && /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Spin, {}),
|
|
52950
53086
|
!isLoading && /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Progress, { type: "circle", percent: progressPercent }),
|
|
52951
53087
|
warmupMessage && /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Typography.Text, { children: [
|
|
@@ -52966,7 +53102,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
52966
53102
|
width: 200px;
|
|
52967
53103
|
}
|
|
52968
53104
|
`;
|
|
52969
|
-
const Styled$
|
|
53105
|
+
const Styled$9 = {
|
|
52970
53106
|
CustomSelect: CustomSelect$2
|
|
52971
53107
|
};
|
|
52972
53108
|
|
|
@@ -52975,7 +53111,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
52975
53111
|
const endpoint = `/api/clusters/${cluster}/openapi-bff-ws/terminal/terminalNode/terminalNode`;
|
|
52976
53112
|
const profiles = ["legacy", "general", "baseline", "netadmin", "restricted", "sysadmin"];
|
|
52977
53113
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
52978
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
53114
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$9.CustomSelect, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
52979
53115
|
antd.Select,
|
|
52980
53116
|
{
|
|
52981
53117
|
placeholder: "Select profile",
|
|
@@ -53000,7 +53136,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
53000
53136
|
] });
|
|
53001
53137
|
};
|
|
53002
53138
|
|
|
53003
|
-
const CustomCard$
|
|
53139
|
+
const CustomCard$2 = styled.div`
|
|
53004
53140
|
visibility: ${({ $isVisible }) => $isVisible ? "visible" : "hidden"};
|
|
53005
53141
|
height: calc(100vh - ${({ $substractHeight }) => $substractHeight}px);
|
|
53006
53142
|
|
|
@@ -53008,15 +53144,15 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
53008
53144
|
scrollbar-width: thin;
|
|
53009
53145
|
}
|
|
53010
53146
|
`;
|
|
53011
|
-
const FullWidthDiv$
|
|
53147
|
+
const FullWidthDiv$2 = styled.div`
|
|
53012
53148
|
display: flex;
|
|
53013
53149
|
justify-content: center;
|
|
53014
53150
|
width: 100%;
|
|
53015
53151
|
height: calc(100vh - ${({ $substractHeight }) => $substractHeight}px);
|
|
53016
53152
|
`;
|
|
53017
|
-
const Styled$
|
|
53018
|
-
FullWidthDiv: FullWidthDiv$
|
|
53019
|
-
CustomCard: CustomCard$
|
|
53153
|
+
const Styled$8 = {
|
|
53154
|
+
FullWidthDiv: FullWidthDiv$2,
|
|
53155
|
+
CustomCard: CustomCard$2
|
|
53020
53156
|
};
|
|
53021
53157
|
|
|
53022
53158
|
const XTerminal = ({ endpoint, namespace, podName, container, substractHeight }) => {
|
|
@@ -53095,7 +53231,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
53095
53231
|
};
|
|
53096
53232
|
}, [terminal, endpoint, namespace, podName, container]);
|
|
53097
53233
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
53098
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
53234
|
+
/* @__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%" } }) }) }),
|
|
53099
53235
|
isLoading && !error && /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Spin, {}),
|
|
53100
53236
|
error && /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Result, { status: "error", title: "Error", subTitle: JSON.stringify(error) })
|
|
53101
53237
|
] });
|
|
@@ -53106,7 +53242,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
53106
53242
|
width: 200px;
|
|
53107
53243
|
}
|
|
53108
53244
|
`;
|
|
53109
|
-
const Styled$
|
|
53245
|
+
const Styled$7 = {
|
|
53110
53246
|
CustomSelect: CustomSelect$1
|
|
53111
53247
|
};
|
|
53112
53248
|
|
|
@@ -53117,7 +53253,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
53117
53253
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: "No Running Containers" });
|
|
53118
53254
|
}
|
|
53119
53255
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
53120
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
53256
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$7.CustomSelect, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
53121
53257
|
antd.Select,
|
|
53122
53258
|
{
|
|
53123
53259
|
placeholder: "Select container",
|
|
@@ -53146,12 +53282,12 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
53146
53282
|
] });
|
|
53147
53283
|
};
|
|
53148
53284
|
|
|
53149
|
-
const FullWidthDiv = styled.div`
|
|
53285
|
+
const FullWidthDiv$1 = styled.div`
|
|
53150
53286
|
display: flex;
|
|
53151
53287
|
justify-content: center;
|
|
53152
53288
|
width: 100%;
|
|
53153
53289
|
`;
|
|
53154
|
-
const CustomCard = styled.div`
|
|
53290
|
+
const CustomCard$1 = styled.div`
|
|
53155
53291
|
visibility: ${({ $isVisible }) => $isVisible ? "visible" : "hidden"};
|
|
53156
53292
|
max-height: calc(100vh - 158px);
|
|
53157
53293
|
|
|
@@ -53167,9 +53303,9 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
53167
53303
|
cursor: pointer;
|
|
53168
53304
|
user-select: none;
|
|
53169
53305
|
`;
|
|
53170
|
-
const Styled$
|
|
53171
|
-
FullWidthDiv,
|
|
53172
|
-
CustomCard,
|
|
53306
|
+
const Styled$6 = {
|
|
53307
|
+
FullWidthDiv: FullWidthDiv$1,
|
|
53308
|
+
CustomCard: CustomCard$1,
|
|
53173
53309
|
VisibilityContainer,
|
|
53174
53310
|
CursorPointerDiv: CursorPointerDiv$1
|
|
53175
53311
|
};
|
|
@@ -53246,9 +53382,9 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
53246
53382
|
};
|
|
53247
53383
|
}, [endpoint, namespace, podName, container, previous, editorReady]);
|
|
53248
53384
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
53249
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
53385
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$6.VisibilityContainer, { $isVisible: isTerminalVisible, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { justify: "start", align: "center", gap: 16, children: [
|
|
53250
53386
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
53251
|
-
Styled$
|
|
53387
|
+
Styled$6.CursorPointerDiv,
|
|
53252
53388
|
{
|
|
53253
53389
|
onClick: () => {
|
|
53254
53390
|
if (isPaused) {
|
|
@@ -53273,7 +53409,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
53273
53409
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: isPaused ? "Not streaming events" : "Streaming events" })
|
|
53274
53410
|
] }) }),
|
|
53275
53411
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Spacer$1, { $space: 16, $samespace: true }),
|
|
53276
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
53412
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$6.CustomCard, { $isVisible: isTerminalVisible, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$6.FullWidthDiv, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
53277
53413
|
Ft$1,
|
|
53278
53414
|
{
|
|
53279
53415
|
defaultLanguage: "plaintext",
|
|
@@ -53304,7 +53440,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
53304
53440
|
width: 200px;
|
|
53305
53441
|
}
|
|
53306
53442
|
`;
|
|
53307
|
-
const Styled$
|
|
53443
|
+
const Styled$5 = {
|
|
53308
53444
|
TopRowContent,
|
|
53309
53445
|
CustomSelect
|
|
53310
53446
|
};
|
|
@@ -53350,8 +53486,8 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
53350
53486
|
}
|
|
53351
53487
|
];
|
|
53352
53488
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
53353
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
53354
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
53489
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$5.TopRowContent, { children: /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { gap: 16, children: [
|
|
53490
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$5.CustomSelect, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
53355
53491
|
antd.Select,
|
|
53356
53492
|
{
|
|
53357
53493
|
placeholder: "Select container",
|
|
@@ -53366,7 +53502,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
53366
53502
|
}
|
|
53367
53503
|
}
|
|
53368
53504
|
) }),
|
|
53369
|
-
currentContainer && /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$
|
|
53505
|
+
currentContainer && /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$5.CustomSelect, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
53370
53506
|
antd.Select,
|
|
53371
53507
|
{
|
|
53372
53508
|
placeholder: "Select current/previous",
|
|
@@ -53402,6 +53538,621 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
53402
53538
|
] });
|
|
53403
53539
|
};
|
|
53404
53540
|
|
|
53541
|
+
const buildDefaultWsPath = (cluster, namespace, vmName) => {
|
|
53542
|
+
const base = cluster ? `/k8s/clusters/${encodeURIComponent(cluster)}` : `/k8s`;
|
|
53543
|
+
return `${base}/apis/subresources.kubevirt.io/v1/namespaces/${encodeURIComponent(
|
|
53544
|
+
namespace
|
|
53545
|
+
)}/virtualmachineinstances/${encodeURIComponent(vmName)}/vnc`;
|
|
53546
|
+
};
|
|
53547
|
+
const normalizePath = (p) => p.startsWith("/") ? p : `/${p}`;
|
|
53548
|
+
const useVNCClient = ({
|
|
53549
|
+
cluster,
|
|
53550
|
+
namespace,
|
|
53551
|
+
vmName,
|
|
53552
|
+
forcedFullWsPath
|
|
53553
|
+
}) => {
|
|
53554
|
+
const [isLoading, setIsLoading] = K.useState(true);
|
|
53555
|
+
const [error, setError] = K.useState(null);
|
|
53556
|
+
const [status, setStatus] = K.useState("Loading VNC client...");
|
|
53557
|
+
const [isConnected, setIsConnected] = K.useState(false);
|
|
53558
|
+
const [showDotCursor, setShowDotCursor] = K.useState(false);
|
|
53559
|
+
const [scalingMode, setScalingModeState] = K.useState("local");
|
|
53560
|
+
const [screenEl, setScreenEl] = K.useState(null);
|
|
53561
|
+
const screenRef = K.useCallback((node) => {
|
|
53562
|
+
setScreenEl(node);
|
|
53563
|
+
}, []);
|
|
53564
|
+
const rfbRef = K.useRef(null);
|
|
53565
|
+
const [isManuallyDisconnected, setIsManuallyDisconnected] = K.useState(false);
|
|
53566
|
+
const [, setReconnectAttempts] = K.useState(0);
|
|
53567
|
+
const [shouldReconnect, setShouldReconnect] = K.useState(true);
|
|
53568
|
+
const [connectionKey, setConnectionKey] = K.useState(0);
|
|
53569
|
+
const reconnectTimeoutRef = K.useRef(null);
|
|
53570
|
+
const isManuallyDisconnectedRef = K.useRef(false);
|
|
53571
|
+
const shouldReconnectRef = K.useRef(true);
|
|
53572
|
+
const showDotCursorRef = K.useRef(showDotCursor);
|
|
53573
|
+
const maxReconnectAttempts = 5;
|
|
53574
|
+
const reconnectDelay = 3e3;
|
|
53575
|
+
K.useEffect(() => {
|
|
53576
|
+
isManuallyDisconnectedRef.current = isManuallyDisconnected;
|
|
53577
|
+
}, [isManuallyDisconnected]);
|
|
53578
|
+
K.useEffect(() => {
|
|
53579
|
+
shouldReconnectRef.current = shouldReconnect;
|
|
53580
|
+
}, [shouldReconnect]);
|
|
53581
|
+
K.useEffect(() => {
|
|
53582
|
+
showDotCursorRef.current = showDotCursor;
|
|
53583
|
+
if (rfbRef.current && typeof rfbRef.current.showDotCursor !== "undefined") {
|
|
53584
|
+
try {
|
|
53585
|
+
rfbRef.current.showDotCursor = showDotCursor;
|
|
53586
|
+
} catch (err) {
|
|
53587
|
+
console.error("Error updating dot cursor:", err);
|
|
53588
|
+
}
|
|
53589
|
+
}
|
|
53590
|
+
}, [showDotCursor, isConnected]);
|
|
53591
|
+
const applyScalingMode = (rfb, mode) => {
|
|
53592
|
+
if (!rfb) return;
|
|
53593
|
+
if (mode === "none") {
|
|
53594
|
+
rfb.scaleViewport = false;
|
|
53595
|
+
rfb.resizeSession = false;
|
|
53596
|
+
} else if (mode === "local") {
|
|
53597
|
+
rfb.scaleViewport = true;
|
|
53598
|
+
rfb.resizeSession = false;
|
|
53599
|
+
} else {
|
|
53600
|
+
rfb.scaleViewport = false;
|
|
53601
|
+
rfb.resizeSession = true;
|
|
53602
|
+
}
|
|
53603
|
+
};
|
|
53604
|
+
const setScalingMode = K.useCallback((mode) => {
|
|
53605
|
+
setScalingModeState(mode);
|
|
53606
|
+
if (rfbRef.current) {
|
|
53607
|
+
applyScalingMode(rfbRef.current, mode);
|
|
53608
|
+
}
|
|
53609
|
+
}, []);
|
|
53610
|
+
K.useEffect(() => {
|
|
53611
|
+
console.log("[VMVNC hook] effect run", {
|
|
53612
|
+
cluster,
|
|
53613
|
+
namespace,
|
|
53614
|
+
vmName,
|
|
53615
|
+
connectionKey,
|
|
53616
|
+
hasScreenEl: !!screenEl,
|
|
53617
|
+
forcedFullWsPath
|
|
53618
|
+
});
|
|
53619
|
+
const hasForced = !!forcedFullWsPath;
|
|
53620
|
+
const hasNamespaceVm = !!namespace && !!vmName;
|
|
53621
|
+
if (!hasForced && !hasNamespaceVm) {
|
|
53622
|
+
setIsLoading(false);
|
|
53623
|
+
setIsConnected(false);
|
|
53624
|
+
setStatus("VNC not configured");
|
|
53625
|
+
setError("Provide forcedFullWsPath or both namespace and vmName for VNC connection");
|
|
53626
|
+
return;
|
|
53627
|
+
}
|
|
53628
|
+
if (!screenEl) {
|
|
53629
|
+
setIsLoading(true);
|
|
53630
|
+
setError(null);
|
|
53631
|
+
setStatus("Waiting for VNC container...");
|
|
53632
|
+
return;
|
|
53633
|
+
}
|
|
53634
|
+
if (reconnectTimeoutRef.current) {
|
|
53635
|
+
window.clearTimeout(reconnectTimeoutRef.current);
|
|
53636
|
+
reconnectTimeoutRef.current = null;
|
|
53637
|
+
}
|
|
53638
|
+
setIsLoading(true);
|
|
53639
|
+
setError(null);
|
|
53640
|
+
setStatus("Connecting...");
|
|
53641
|
+
const protocol = window.location.protocol === "https:" ? "wss:" : "ws:";
|
|
53642
|
+
const { host } = window.location;
|
|
53643
|
+
const defaultWsPath = namespace && vmName ? buildDefaultWsPath(cluster, namespace, vmName) : void 0;
|
|
53644
|
+
const wsPath = (() => {
|
|
53645
|
+
if (forcedFullWsPath && !forcedFullWsPath.startsWith("ws")) {
|
|
53646
|
+
return normalizePath(forcedFullWsPath);
|
|
53647
|
+
}
|
|
53648
|
+
return defaultWsPath;
|
|
53649
|
+
})();
|
|
53650
|
+
const wsUrl = forcedFullWsPath && forcedFullWsPath.startsWith("ws") ? forcedFullWsPath : `${protocol}//${host}${wsPath ?? ""}`;
|
|
53651
|
+
console.log(`[VMVNC ${namespace ?? "no-ns"}/${vmName ?? "no-vm"}]: WebSocket URL: ${wsUrl}`);
|
|
53652
|
+
console.log(`[VMVNC ${namespace ?? "no-ns"}/${vmName ?? "no-vm"}]: WebSocket path: ${wsPath}`);
|
|
53653
|
+
if (!forcedFullWsPath?.startsWith("ws") && !wsPath) {
|
|
53654
|
+
setIsLoading(false);
|
|
53655
|
+
setIsConnected(false);
|
|
53656
|
+
setStatus("VNC not configured");
|
|
53657
|
+
setError("Unable to build WebSocket path. Provide forcedFullWsPath or namespace+vmName.");
|
|
53658
|
+
return;
|
|
53659
|
+
}
|
|
53660
|
+
let cancelled = false;
|
|
53661
|
+
try {
|
|
53662
|
+
const rfb = new RFB(screenEl, wsUrl, {
|
|
53663
|
+
credentials: { password: "" },
|
|
53664
|
+
showDotCursor: showDotCursorRef.current
|
|
53665
|
+
});
|
|
53666
|
+
rfbRef.current = rfb;
|
|
53667
|
+
applyScalingMode(rfb, scalingMode);
|
|
53668
|
+
if (typeof rfb.showDotCursor !== "undefined") {
|
|
53669
|
+
try {
|
|
53670
|
+
rfb.showDotCursor = showDotCursorRef.current;
|
|
53671
|
+
} catch (err) {
|
|
53672
|
+
console.error("Error setting dot cursor on RFB instance:", err);
|
|
53673
|
+
}
|
|
53674
|
+
}
|
|
53675
|
+
const handleConnect = () => {
|
|
53676
|
+
if (cancelled) return;
|
|
53677
|
+
console.log(`[VMVNC ${namespace}/${vmName}]: Connected`);
|
|
53678
|
+
setStatus("Connected");
|
|
53679
|
+
setIsLoading(false);
|
|
53680
|
+
setError(null);
|
|
53681
|
+
setIsConnected(true);
|
|
53682
|
+
setReconnectAttempts(0);
|
|
53683
|
+
if (reconnectTimeoutRef.current) {
|
|
53684
|
+
window.clearTimeout(reconnectTimeoutRef.current);
|
|
53685
|
+
reconnectTimeoutRef.current = null;
|
|
53686
|
+
}
|
|
53687
|
+
};
|
|
53688
|
+
const handleDisconnect = (e) => {
|
|
53689
|
+
if (cancelled) return;
|
|
53690
|
+
const detail = e?.detail;
|
|
53691
|
+
const wasManuallyDisconnected = isManuallyDisconnectedRef.current;
|
|
53692
|
+
const autoReconnectEnabled = shouldReconnectRef.current;
|
|
53693
|
+
console.log(
|
|
53694
|
+
`[VMVNC ${namespace}/${vmName}]: Disconnected (clean=${detail?.clean}, manual=${wasManuallyDisconnected}, autoReconnect=${autoReconnectEnabled})`
|
|
53695
|
+
);
|
|
53696
|
+
setIsConnected(false);
|
|
53697
|
+
setIsLoading(false);
|
|
53698
|
+
if (wasManuallyDisconnected) {
|
|
53699
|
+
setStatus("Disconnected");
|
|
53700
|
+
setError(null);
|
|
53701
|
+
return;
|
|
53702
|
+
}
|
|
53703
|
+
if (!autoReconnectEnabled) {
|
|
53704
|
+
if (detail?.clean) {
|
|
53705
|
+
setStatus("Disconnected");
|
|
53706
|
+
} else {
|
|
53707
|
+
setStatus("Connection closed");
|
|
53708
|
+
setError("Connection closed unexpectedly");
|
|
53709
|
+
}
|
|
53710
|
+
return;
|
|
53711
|
+
}
|
|
53712
|
+
if (detail?.clean) {
|
|
53713
|
+
setStatus("Disconnected - Reconnecting...");
|
|
53714
|
+
setError(null);
|
|
53715
|
+
} else {
|
|
53716
|
+
setStatus("Connection closed - Reconnecting...");
|
|
53717
|
+
setError("Connection closed unexpectedly");
|
|
53718
|
+
}
|
|
53719
|
+
reconnectTimeoutRef.current = window.setTimeout(() => {
|
|
53720
|
+
if (isManuallyDisconnectedRef.current || !shouldReconnectRef.current) {
|
|
53721
|
+
console.log(`[VMVNC ${namespace}/${vmName}]: Reconnect cancelled before attempting`);
|
|
53722
|
+
return;
|
|
53723
|
+
}
|
|
53724
|
+
setReconnectAttempts((prev) => {
|
|
53725
|
+
const next = prev + 1;
|
|
53726
|
+
if (next > maxReconnectAttempts) {
|
|
53727
|
+
console.log(`[VMVNC ${namespace}/${vmName}]: Max reconnect attempts reached (${maxReconnectAttempts})`);
|
|
53728
|
+
setStatus("Connection failed - Max reconnect attempts reached");
|
|
53729
|
+
setError("Failed to reconnect after multiple attempts");
|
|
53730
|
+
setIsLoading(false);
|
|
53731
|
+
setShouldReconnect(false);
|
|
53732
|
+
return prev;
|
|
53733
|
+
}
|
|
53734
|
+
console.log(
|
|
53735
|
+
`[VMVNC ${namespace}/${vmName}]: Reconnect attempt ${next}/${maxReconnectAttempts} (bump connectionKey)`
|
|
53736
|
+
);
|
|
53737
|
+
setStatus(`Reconnecting... (Attempt ${next}/${maxReconnectAttempts})`);
|
|
53738
|
+
setIsLoading(true);
|
|
53739
|
+
setError(null);
|
|
53740
|
+
setConnectionKey((k) => k + 1);
|
|
53741
|
+
return next;
|
|
53742
|
+
});
|
|
53743
|
+
}, reconnectDelay);
|
|
53744
|
+
};
|
|
53745
|
+
const handleCredentialsRequired = () => {
|
|
53746
|
+
if (cancelled) return;
|
|
53747
|
+
console.log(`[VMVNC ${namespace}/${vmName}]: Credentials required`);
|
|
53748
|
+
setStatus("Credentials required");
|
|
53749
|
+
};
|
|
53750
|
+
const handleSecurityFailure = (e) => {
|
|
53751
|
+
if (cancelled) return;
|
|
53752
|
+
const detail = e?.detail;
|
|
53753
|
+
console.error(`[VMVNC ${namespace}/${vmName}]: Security failure`, detail);
|
|
53754
|
+
setError(`Security failure: ${detail?.reason || "Unknown error"}`);
|
|
53755
|
+
setIsLoading(false);
|
|
53756
|
+
setIsConnected(false);
|
|
53757
|
+
};
|
|
53758
|
+
const handleDesktopName = (e) => {
|
|
53759
|
+
if (cancelled) return;
|
|
53760
|
+
const detail = e?.detail;
|
|
53761
|
+
if (detail?.name) {
|
|
53762
|
+
console.log(`[VMVNC ${namespace}/${vmName}]: Desktop name: ${detail.name}`);
|
|
53763
|
+
setStatus(`Connected to ${detail.name}`);
|
|
53764
|
+
}
|
|
53765
|
+
};
|
|
53766
|
+
rfb.addEventListener("connect", handleConnect);
|
|
53767
|
+
rfb.addEventListener("disconnect", handleDisconnect);
|
|
53768
|
+
rfb.addEventListener("credentialsrequired", handleCredentialsRequired);
|
|
53769
|
+
rfb.addEventListener("securityfailure", handleSecurityFailure);
|
|
53770
|
+
rfb.addEventListener("desktopname", handleDesktopName);
|
|
53771
|
+
return () => {
|
|
53772
|
+
cancelled = true;
|
|
53773
|
+
console.log(`[VMVNC ${namespace}/${vmName}]: Cleaning up connection`);
|
|
53774
|
+
if (reconnectTimeoutRef.current) {
|
|
53775
|
+
window.clearTimeout(reconnectTimeoutRef.current);
|
|
53776
|
+
reconnectTimeoutRef.current = null;
|
|
53777
|
+
}
|
|
53778
|
+
if (rfbRef.current) {
|
|
53779
|
+
try {
|
|
53780
|
+
rfbRef.current.disconnect();
|
|
53781
|
+
} catch (err) {
|
|
53782
|
+
console.error("Error disconnecting RFB during cleanup:", err);
|
|
53783
|
+
}
|
|
53784
|
+
rfbRef.current = null;
|
|
53785
|
+
}
|
|
53786
|
+
if (screenEl) {
|
|
53787
|
+
while (screenEl.firstChild) {
|
|
53788
|
+
screenEl.removeChild(screenEl.firstChild);
|
|
53789
|
+
}
|
|
53790
|
+
}
|
|
53791
|
+
};
|
|
53792
|
+
} catch (err) {
|
|
53793
|
+
console.error(`[VMVNC ${namespace}/${vmName}]: Error creating RFB connection:`, err);
|
|
53794
|
+
setError(`Failed to create VNC connection: ${err instanceof Error ? err.message : "Unknown error"}`);
|
|
53795
|
+
setIsLoading(false);
|
|
53796
|
+
setIsConnected(false);
|
|
53797
|
+
setStatus("Failed to create VNC connection");
|
|
53798
|
+
}
|
|
53799
|
+
}, [cluster, namespace, vmName, forcedFullWsPath, scalingMode, connectionKey, screenEl]);
|
|
53800
|
+
const disconnect = K.useCallback(() => {
|
|
53801
|
+
isManuallyDisconnectedRef.current = true;
|
|
53802
|
+
shouldReconnectRef.current = false;
|
|
53803
|
+
setIsManuallyDisconnected(true);
|
|
53804
|
+
setShouldReconnect(false);
|
|
53805
|
+
if (reconnectTimeoutRef.current) {
|
|
53806
|
+
window.clearTimeout(reconnectTimeoutRef.current);
|
|
53807
|
+
reconnectTimeoutRef.current = null;
|
|
53808
|
+
}
|
|
53809
|
+
if (rfbRef.current) {
|
|
53810
|
+
try {
|
|
53811
|
+
rfbRef.current.disconnect();
|
|
53812
|
+
} catch (err) {
|
|
53813
|
+
console.error("Error disconnecting RFB:", err);
|
|
53814
|
+
}
|
|
53815
|
+
rfbRef.current = null;
|
|
53816
|
+
}
|
|
53817
|
+
setStatus("Disconnected");
|
|
53818
|
+
setIsLoading(false);
|
|
53819
|
+
setIsConnected(false);
|
|
53820
|
+
}, []);
|
|
53821
|
+
const reconnect = K.useCallback(() => {
|
|
53822
|
+
isManuallyDisconnectedRef.current = false;
|
|
53823
|
+
shouldReconnectRef.current = true;
|
|
53824
|
+
setIsManuallyDisconnected(false);
|
|
53825
|
+
setShouldReconnect(true);
|
|
53826
|
+
setReconnectAttempts(0);
|
|
53827
|
+
setError(null);
|
|
53828
|
+
setIsLoading(true);
|
|
53829
|
+
setStatus("Reconnecting...");
|
|
53830
|
+
if (reconnectTimeoutRef.current) {
|
|
53831
|
+
window.clearTimeout(reconnectTimeoutRef.current);
|
|
53832
|
+
reconnectTimeoutRef.current = null;
|
|
53833
|
+
}
|
|
53834
|
+
if (rfbRef.current) {
|
|
53835
|
+
try {
|
|
53836
|
+
rfbRef.current.disconnect();
|
|
53837
|
+
} catch (err) {
|
|
53838
|
+
console.error("Error disconnecting RFB before manual reconnect:", err);
|
|
53839
|
+
}
|
|
53840
|
+
rfbRef.current = null;
|
|
53841
|
+
}
|
|
53842
|
+
setConnectionKey((k) => k + 1);
|
|
53843
|
+
}, []);
|
|
53844
|
+
const sendCtrlAltDel = () => {
|
|
53845
|
+
if (!rfbRef.current) return;
|
|
53846
|
+
try {
|
|
53847
|
+
rfbRef.current.sendCtrlAltDel();
|
|
53848
|
+
} catch (err) {
|
|
53849
|
+
console.error("Error sending Ctrl+Alt+Del:", err);
|
|
53850
|
+
}
|
|
53851
|
+
};
|
|
53852
|
+
return {
|
|
53853
|
+
screenRef,
|
|
53854
|
+
isLoading,
|
|
53855
|
+
error,
|
|
53856
|
+
status,
|
|
53857
|
+
isConnected,
|
|
53858
|
+
showDotCursor,
|
|
53859
|
+
scalingMode,
|
|
53860
|
+
setShowDotCursor,
|
|
53861
|
+
setScalingMode,
|
|
53862
|
+
disconnect,
|
|
53863
|
+
reconnect,
|
|
53864
|
+
sendCtrlAltDel
|
|
53865
|
+
};
|
|
53866
|
+
};
|
|
53867
|
+
|
|
53868
|
+
const ShowCursorDiv = styled.div`
|
|
53869
|
+
display: flex;
|
|
53870
|
+
justify-content: space-between;
|
|
53871
|
+
align-items: center;
|
|
53872
|
+
min-width: 200px;
|
|
53873
|
+
`;
|
|
53874
|
+
const ScalingModeContainer = styled.div`
|
|
53875
|
+
min-width: 200px;
|
|
53876
|
+
`;
|
|
53877
|
+
const ScalingModeTitle = styled.div`
|
|
53878
|
+
margin-bottom: 8px;
|
|
53879
|
+
font-weight: 500;
|
|
53880
|
+
`;
|
|
53881
|
+
const StatusBar = styled.div`
|
|
53882
|
+
background-color: #2d2d2d;
|
|
53883
|
+
color: white;
|
|
53884
|
+
padding: 8px 16px;
|
|
53885
|
+
font-size: 12px;
|
|
53886
|
+
border-bottom: 1px solid #3d3d3d;
|
|
53887
|
+
display: flex;
|
|
53888
|
+
align-items: center;
|
|
53889
|
+
justify-content: flex-start;
|
|
53890
|
+
flex-shrink: 0;
|
|
53891
|
+
z-index: 10;
|
|
53892
|
+
flex-wrap: wrap;
|
|
53893
|
+
gap: 4px;
|
|
53894
|
+
`;
|
|
53895
|
+
const StatusDivider = styled.span`
|
|
53896
|
+
color: #666;
|
|
53897
|
+
margin: 0 8px;
|
|
53898
|
+
user-select: none;
|
|
53899
|
+
`;
|
|
53900
|
+
const Styled$4 = {
|
|
53901
|
+
ShowCursorDiv,
|
|
53902
|
+
ScalingModeContainer,
|
|
53903
|
+
ScalingModeTitle,
|
|
53904
|
+
StatusBar,
|
|
53905
|
+
StatusDivider
|
|
53906
|
+
};
|
|
53907
|
+
|
|
53908
|
+
const VMVNCToolbar = ({
|
|
53909
|
+
status,
|
|
53910
|
+
isConnected,
|
|
53911
|
+
isFullscreen,
|
|
53912
|
+
isLoading,
|
|
53913
|
+
showDotCursor,
|
|
53914
|
+
scalingMode,
|
|
53915
|
+
onSendCtrlAltDel,
|
|
53916
|
+
onToggleFullscreen,
|
|
53917
|
+
onReconnect,
|
|
53918
|
+
onShowDotCursorChange,
|
|
53919
|
+
onScalingModeChange
|
|
53920
|
+
}) => {
|
|
53921
|
+
const optionsMenuItems = K.useMemo(
|
|
53922
|
+
() => [
|
|
53923
|
+
{
|
|
53924
|
+
key: "show-cursor",
|
|
53925
|
+
label: /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$4.ShowCursorDiv, { children: [
|
|
53926
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: "Show Cursor" }),
|
|
53927
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(antd.Switch, { checked: showDotCursor, onChange: onShowDotCursorChange, disabled: !isConnected, size: "small" })
|
|
53928
|
+
] })
|
|
53929
|
+
},
|
|
53930
|
+
{
|
|
53931
|
+
type: "divider"
|
|
53932
|
+
},
|
|
53933
|
+
{
|
|
53934
|
+
key: "scaling-mode",
|
|
53935
|
+
label: /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$4.ScalingModeContainer, { children: [
|
|
53936
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$4.ScalingModeTitle, { children: "Scaling Mode" }),
|
|
53937
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
53938
|
+
antd.Radio.Group,
|
|
53939
|
+
{
|
|
53940
|
+
value: scalingMode,
|
|
53941
|
+
onChange: (e) => onScalingModeChange(e.target.value),
|
|
53942
|
+
disabled: !isConnected,
|
|
53943
|
+
style: { display: "flex", flexDirection: "column", gap: 8 },
|
|
53944
|
+
children: [
|
|
53945
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(antd.Radio, { value: "none", children: "None" }),
|
|
53946
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(antd.Radio, { value: "local", children: "Local scaling" }),
|
|
53947
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(antd.Radio, { value: "remote", children: "Remote resizing" })
|
|
53948
|
+
]
|
|
53949
|
+
}
|
|
53950
|
+
)
|
|
53951
|
+
] })
|
|
53952
|
+
}
|
|
53953
|
+
],
|
|
53954
|
+
[showDotCursor, scalingMode, isConnected, onShowDotCursorChange, onScalingModeChange]
|
|
53955
|
+
);
|
|
53956
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$4.StatusBar, { children: /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Space, { size: "small", children: [
|
|
53957
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(antd.Tooltip, { title: "Send Ctrl+Alt+Del", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
53958
|
+
antd.Button,
|
|
53959
|
+
{
|
|
53960
|
+
type: "text",
|
|
53961
|
+
size: "small",
|
|
53962
|
+
icon: /* @__PURE__ */ jsxRuntimeExports.jsx(icons.PoweroffOutlined, {}),
|
|
53963
|
+
onClick: onSendCtrlAltDel,
|
|
53964
|
+
disabled: !isConnected,
|
|
53965
|
+
style: { color: "#ffffff" },
|
|
53966
|
+
children: "Send Ctrl+Alt+Del"
|
|
53967
|
+
}
|
|
53968
|
+
) }),
|
|
53969
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(antd.Tooltip, { title: isFullscreen ? "Exit Fullscreen" : "Fullscreen", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
53970
|
+
antd.Button,
|
|
53971
|
+
{
|
|
53972
|
+
type: "text",
|
|
53973
|
+
size: "small",
|
|
53974
|
+
icon: isFullscreen ? /* @__PURE__ */ jsxRuntimeExports.jsx(icons.FullscreenExitOutlined, {}) : /* @__PURE__ */ jsxRuntimeExports.jsx(icons.FullscreenOutlined, {}),
|
|
53975
|
+
onClick: onToggleFullscreen,
|
|
53976
|
+
disabled: !isConnected,
|
|
53977
|
+
style: { color: "#ffffff" },
|
|
53978
|
+
children: "Fullscreen"
|
|
53979
|
+
}
|
|
53980
|
+
) }),
|
|
53981
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(antd.Dropdown, { menu: { items: optionsMenuItems }, trigger: ["click"], placement: "bottomRight", children: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Button, { type: "text", size: "small", icon: /* @__PURE__ */ jsxRuntimeExports.jsx(icons.SettingOutlined, {}), style: { color: "#ffffff" }, children: "Options" }) }),
|
|
53982
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(antd.Tooltip, { title: "Reconnect", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
53983
|
+
antd.Button,
|
|
53984
|
+
{
|
|
53985
|
+
type: "text",
|
|
53986
|
+
size: "small",
|
|
53987
|
+
icon: /* @__PURE__ */ jsxRuntimeExports.jsx(icons.ReloadOutlined, {}),
|
|
53988
|
+
onClick: onReconnect,
|
|
53989
|
+
loading: isLoading,
|
|
53990
|
+
style: { color: "#ffffff" },
|
|
53991
|
+
children: "Reconnect"
|
|
53992
|
+
}
|
|
53993
|
+
) }),
|
|
53994
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Styled$4.StatusDivider, { children: "|" }),
|
|
53995
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: status })
|
|
53996
|
+
] }) });
|
|
53997
|
+
};
|
|
53998
|
+
|
|
53999
|
+
const Container = styled.div`
|
|
54000
|
+
height: calc(100vh - ${({ $substractHeight }) => $substractHeight}px);
|
|
54001
|
+
display: flex;
|
|
54002
|
+
flex-direction: column;
|
|
54003
|
+
background-color: #1e1e1e;
|
|
54004
|
+
position: relative;
|
|
54005
|
+
|
|
54006
|
+
* {
|
|
54007
|
+
scrollbar-width: thin;
|
|
54008
|
+
}
|
|
54009
|
+
`;
|
|
54010
|
+
const CustomCard = styled.div`
|
|
54011
|
+
visibility: ${({ $isVisible }) => $isVisible ? "visible" : "hidden"};
|
|
54012
|
+
height: 100%;
|
|
54013
|
+
display: flex;
|
|
54014
|
+
flex-direction: column;
|
|
54015
|
+
background-color: #1e1e1e;
|
|
54016
|
+
position: relative;
|
|
54017
|
+
|
|
54018
|
+
* {
|
|
54019
|
+
scrollbar-width: thin;
|
|
54020
|
+
}
|
|
54021
|
+
`;
|
|
54022
|
+
const ContentWrapper = styled.div`
|
|
54023
|
+
display: flex;
|
|
54024
|
+
flex: 1;
|
|
54025
|
+
overflow: hidden;
|
|
54026
|
+
position: relative;
|
|
54027
|
+
min-width: 0; /* Allow flex item to shrink */
|
|
54028
|
+
`;
|
|
54029
|
+
const FullWidthDiv = styled.div`
|
|
54030
|
+
display: flex;
|
|
54031
|
+
justify-content: center;
|
|
54032
|
+
align-items: center;
|
|
54033
|
+
flex: 1;
|
|
54034
|
+
overflow: hidden;
|
|
54035
|
+
background-color: black;
|
|
54036
|
+
min-width: 0; /* Allow flex item to shrink */
|
|
54037
|
+
transition: margin-right 0.3s ease;
|
|
54038
|
+
`;
|
|
54039
|
+
const LoadingContainer = styled.div`
|
|
54040
|
+
display: flex;
|
|
54041
|
+
flex-direction: column;
|
|
54042
|
+
align-items: center;
|
|
54043
|
+
justify-content: center;
|
|
54044
|
+
padding: 40px;
|
|
54045
|
+
color: white;
|
|
54046
|
+
`;
|
|
54047
|
+
const ErrorContainer = styled.div`
|
|
54048
|
+
display: flex;
|
|
54049
|
+
flex-direction: column;
|
|
54050
|
+
align-items: center;
|
|
54051
|
+
justify-content: center;
|
|
54052
|
+
padding: 40px;
|
|
54053
|
+
color: white;
|
|
54054
|
+
`;
|
|
54055
|
+
const Styled$3 = {
|
|
54056
|
+
Container,
|
|
54057
|
+
CustomCard,
|
|
54058
|
+
ContentWrapper,
|
|
54059
|
+
FullWidthDiv,
|
|
54060
|
+
LoadingContainer,
|
|
54061
|
+
ErrorContainer
|
|
54062
|
+
};
|
|
54063
|
+
|
|
54064
|
+
const VMVNC = ({ cluster, namespace, vmName, forcedFullWsPath, substractHeight }) => {
|
|
54065
|
+
const containerRef = K.useRef(null);
|
|
54066
|
+
const [isFullscreen, setIsFullscreen] = K.useState(false);
|
|
54067
|
+
const {
|
|
54068
|
+
screenRef,
|
|
54069
|
+
isLoading,
|
|
54070
|
+
error,
|
|
54071
|
+
status,
|
|
54072
|
+
isConnected,
|
|
54073
|
+
showDotCursor,
|
|
54074
|
+
scalingMode,
|
|
54075
|
+
setShowDotCursor,
|
|
54076
|
+
setScalingMode,
|
|
54077
|
+
disconnect,
|
|
54078
|
+
reconnect,
|
|
54079
|
+
sendCtrlAltDel
|
|
54080
|
+
} = useVNCClient({ cluster, namespace, vmName, forcedFullWsPath });
|
|
54081
|
+
const handleToggleFullscreen = () => {
|
|
54082
|
+
const element = containerRef.current;
|
|
54083
|
+
if (!element) return;
|
|
54084
|
+
if (!isFullscreen) {
|
|
54085
|
+
if (element.requestFullscreen) {
|
|
54086
|
+
element.requestFullscreen();
|
|
54087
|
+
} else if (element.webkitRequestFullscreen) {
|
|
54088
|
+
element.webkitRequestFullscreen();
|
|
54089
|
+
} else if (element.msRequestFullscreen) {
|
|
54090
|
+
element.msRequestFullscreen();
|
|
54091
|
+
}
|
|
54092
|
+
return;
|
|
54093
|
+
}
|
|
54094
|
+
const fullscreenDoc = document;
|
|
54095
|
+
if (fullscreenDoc.exitFullscreen) {
|
|
54096
|
+
fullscreenDoc.exitFullscreen();
|
|
54097
|
+
} else if (fullscreenDoc.webkitExitFullscreen) {
|
|
54098
|
+
fullscreenDoc.webkitExitFullscreen();
|
|
54099
|
+
} else if (fullscreenDoc.msExitFullscreen) {
|
|
54100
|
+
fullscreenDoc.msExitFullscreen();
|
|
54101
|
+
}
|
|
54102
|
+
};
|
|
54103
|
+
K.useEffect(() => {
|
|
54104
|
+
const handleFullscreenChange = () => {
|
|
54105
|
+
setIsFullscreen(!!document.fullscreenElement);
|
|
54106
|
+
};
|
|
54107
|
+
document.addEventListener("fullscreenchange", handleFullscreenChange);
|
|
54108
|
+
document.addEventListener("webkitfullscreenchange", handleFullscreenChange);
|
|
54109
|
+
document.addEventListener("msfullscreenchange", handleFullscreenChange);
|
|
54110
|
+
return () => {
|
|
54111
|
+
document.removeEventListener("fullscreenchange", handleFullscreenChange);
|
|
54112
|
+
document.removeEventListener("webkitfullscreenchange", handleFullscreenChange);
|
|
54113
|
+
document.removeEventListener("msfullscreenchange", handleFullscreenChange);
|
|
54114
|
+
};
|
|
54115
|
+
}, []);
|
|
54116
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$3.Container, { ref: containerRef, $substractHeight: substractHeight, children: [
|
|
54117
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$3.CustomCard, { $isVisible: !isLoading && !error, $substractHeight: substractHeight, children: [
|
|
54118
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
54119
|
+
VMVNCToolbar,
|
|
54120
|
+
{
|
|
54121
|
+
status,
|
|
54122
|
+
isConnected,
|
|
54123
|
+
isFullscreen,
|
|
54124
|
+
isLoading,
|
|
54125
|
+
showDotCursor,
|
|
54126
|
+
scalingMode,
|
|
54127
|
+
onSendCtrlAltDel: sendCtrlAltDel,
|
|
54128
|
+
onToggleFullscreen: handleToggleFullscreen,
|
|
54129
|
+
onReconnect: reconnect,
|
|
54130
|
+
onShowDotCursorChange: setShowDotCursor,
|
|
54131
|
+
onScalingModeChange: setScalingMode
|
|
54132
|
+
}
|
|
54133
|
+
),
|
|
54134
|
+
/* @__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 }) }) })
|
|
54135
|
+
] }),
|
|
54136
|
+
isLoading && !error && /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$3.LoadingContainer, { children: [
|
|
54137
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(antd.Spin, { size: "large" }),
|
|
54138
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Spacer$1, { $space: 16, $samespace: true }),
|
|
54139
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: status })
|
|
54140
|
+
] }),
|
|
54141
|
+
error && !isLoading && /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$3.ErrorContainer, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
54142
|
+
antd.Result,
|
|
54143
|
+
{
|
|
54144
|
+
status: "error",
|
|
54145
|
+
title: "VNC Connection Error",
|
|
54146
|
+
subTitle: error,
|
|
54147
|
+
extra: /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Space, { children: [
|
|
54148
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(antd.Button, { onClick: disconnect, children: "Disconnect" }),
|
|
54149
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(antd.Button, { type: "primary", onClick: reconnect, loading: isLoading, children: "Reconnect" })
|
|
54150
|
+
] })
|
|
54151
|
+
}
|
|
54152
|
+
) })
|
|
54153
|
+
] });
|
|
54154
|
+
};
|
|
54155
|
+
|
|
53405
54156
|
const SelectTag = styled(antd.Tag)`
|
|
53406
54157
|
margin-inline-end: 4px;
|
|
53407
54158
|
padding: 4px 6px;
|
|
@@ -55117,6 +55868,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
|
|
|
55117
55868
|
exports.UncontrolledSelect = UncontrolledSelect;
|
|
55118
55869
|
exports.UnlockedIcon = UnlockedIcon;
|
|
55119
55870
|
exports.UpIcon = UpIcon;
|
|
55871
|
+
exports.VMVNC = VMVNC;
|
|
55120
55872
|
exports.YamlEditorSingleton = YamlEditorSingleton$1;
|
|
55121
55873
|
exports.checkIfApiInstanceNamespaceScoped = checkIfApiInstanceNamespaceScoped;
|
|
55122
55874
|
exports.checkIfBuiltInInstanceNamespaceScoped = checkIfBuiltInInstanceNamespaceScoped;
|