@prorobotech/openapi-k8s-toolkit 1.4.0-alpha.3 → 1.4.0-alpha.4
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/{index-1rnPhsJg.mjs → index-C-R1fVhB.mjs} +3 -36
- package/dist/index-C-R1fVhB.mjs.map +1 -0
- package/dist/{index-b0CnxhD6.mjs → index-CLIs5B-m.mjs} +231 -110
- package/dist/index-CLIs5B-m.mjs.map +1 -0
- package/dist/openapi-k8s-toolkit.es.js +1 -1
- package/dist/openapi-k8s-toolkit.umd.js +195 -107
- package/dist/openapi-k8s-toolkit.umd.js.map +1 -1
- package/dist/types/components/organisms/DynamicComponents/molecules/ActionsDropdown/modals/OpenKubeletConfigModal.d.ts +9 -0
- package/dist/types/components/organisms/DynamicComponents/molecules/ActionsDropdown/renderActionModal.d.ts +8 -0
- package/dist/types/components/organisms/DynamicComponents/molecules/ActionsDropdown/utils.d.ts +0 -5
- package/dist/types/components/organisms/DynamicComponents/types/ActionsDropdown.d.ts +3 -1
- package/package.json +1 -1
- package/dist/index-1rnPhsJg.mjs.map +0 -1
- package/dist/index-b0CnxhD6.mjs.map +0 -1
|
@@ -1,45 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { u as useMultiQuery, a as useTheme, b as usePartsOfUrl, p as parseAll, c as usePermissions, s as serializeLabelsWithNoEncoding, _, j as jp, d as useDirectUnknownResource, e as useK8sSmartResource, f as jsxRuntimeExports, R as ReadOnlyModal, E as EnrichedTableProvider, D as DeleteIcon, g as EditIcon, P as PaddingContainer, h as getLinkToForm, i as DeleteModal, k as DeleteModalMany } from './index-CLIs5B-m.mjs';
|
|
2
2
|
import { useState } from 'react';
|
|
3
3
|
import { useLocation, useParams, useNavigate } from 'react-router-dom';
|
|
4
|
-
import {
|
|
4
|
+
import { theme, Flex, Spin, Button } from 'antd';
|
|
5
5
|
import { PlusOutlined, ClearOutlined, MinusOutlined } from '@ant-design/icons';
|
|
6
6
|
import '@tanstack/react-query';
|
|
7
7
|
import 'novnc-next';
|
|
8
8
|
import styled from 'styled-components';
|
|
9
9
|
|
|
10
|
-
const ReadOnlyModal = ({
|
|
11
|
-
open,
|
|
12
|
-
close,
|
|
13
|
-
modalTitle,
|
|
14
|
-
modalDescriptionText,
|
|
15
|
-
modalDescriptionTextStyle,
|
|
16
|
-
editModalWidth,
|
|
17
|
-
children
|
|
18
|
-
}) => {
|
|
19
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
20
|
-
Modal,
|
|
21
|
-
{
|
|
22
|
-
title: modalTitle,
|
|
23
|
-
open,
|
|
24
|
-
okButtonProps: { style: { display: "none" } },
|
|
25
|
-
onCancel: () => {
|
|
26
|
-
close();
|
|
27
|
-
},
|
|
28
|
-
maskClosable: false,
|
|
29
|
-
width: editModalWidth || 520,
|
|
30
|
-
destroyOnHidden: true,
|
|
31
|
-
centered: true,
|
|
32
|
-
children: [
|
|
33
|
-
modalDescriptionText && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
34
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: modalDescriptionTextStyle, children: modalDescriptionText }),
|
|
35
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Spacer, { $space: 10, $samespace: true })
|
|
36
|
-
] }),
|
|
37
|
-
children
|
|
38
|
-
]
|
|
39
|
-
}
|
|
40
|
-
);
|
|
41
|
-
};
|
|
42
|
-
|
|
43
10
|
const ColorContainer = styled.div`
|
|
44
11
|
color: ${({ $colorText }) => $colorText};
|
|
45
12
|
|
|
@@ -328,4 +295,4 @@ const EnrichedTableModal = ({
|
|
|
328
295
|
};
|
|
329
296
|
|
|
330
297
|
export { EnrichedTableModal };
|
|
331
|
-
//# sourceMappingURL=index-
|
|
298
|
+
//# sourceMappingURL=index-C-R1fVhB.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-C-R1fVhB.mjs","sources":["../src/components/organisms/DynamicComponents/molecules/AggregatedCounterCard/molecules/EnrichedTableModal/styled.ts","../src/components/organisms/DynamicComponents/molecules/AggregatedCounterCard/molecules/EnrichedTableModal/EnrichedTableModal.tsx"],"sourcesContent":["import styled from 'styled-components'\n\ntype TColorContainerProps = {\n $colorText: string\n}\n\nconst ColorContainer = styled.div<TColorContainerProps>`\n color: ${({ $colorText }) => $colorText};\n\n & tr,\n td {\n color: ${({ $colorText }) => $colorText};\n }\n`\n\nexport const Styled = {\n ColorContainer,\n}\n","/* eslint-disable max-lines-per-function */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { FC, useState, CSSProperties } from 'react'\nimport jp from 'jsonpath'\nimport _ from 'lodash'\nimport { useLocation, useNavigate, useParams } from 'react-router-dom'\nimport { Flex, Spin, Button, theme as antdtheme } from 'antd'\nimport { PlusOutlined, ClearOutlined, MinusOutlined } from '@ant-design/icons'\nimport { EditIcon, DeleteIcon, PaddingContainer, DeleteModal, DeleteModalMany } from 'components/atoms'\nimport { EnrichedTableProvider } from 'components/molecules'\nimport { usePermissions } from 'hooks/usePermissions'\nimport { useK8sSmartResource } from 'hooks/useK8sSmartResource'\nimport { useDirectUnknownResource } from 'hooks/useDirectUnknownResource'\nimport { getLinkToForm } from 'utils/tableLocations'\nimport { useMultiQuery } from '../../../../../DynamicRendererWithProviders/providers/hybridDataProvider'\nimport { usePartsOfUrl } from '../../../../../DynamicRendererWithProviders/providers/partsOfUrlContext'\nimport { useTheme } from '../../../../../DynamicRendererWithProviders/providers/themeContext'\nimport { serializeLabelsWithNoEncoding } from '../../../../utils/EnrichedTable'\nimport { TEnrichedTableProps as TInnerProps } from '../../../../types/EnrichedTable'\nimport { parseAll } from '../../../utils'\nimport { ReadOnlyModal } from '../../../../atoms/modals'\nimport { Styled } from './styled'\n\ntype TEnrichedTableModalProps = {\n open: boolean\n onClose: () => void\n modalTitle?: string\n modalDescriptionText?: string\n modalDescriptionTextStyle?: CSSProperties\n editModalWidth?: number | string\n} & TInnerProps\n\nexport const EnrichedTableModal: FC<TEnrichedTableModalProps> = ({\n open,\n onClose,\n modalTitle,\n modalDescriptionText,\n modalDescriptionTextStyle,\n editModalWidth,\n fetchUrl,\n k8sResourceToFetch,\n pathToItems,\n additionalReqsDataToEachItem,\n cluster,\n labelSelector,\n labelSelectorFull,\n fieldSelector,\n namespace,\n k8sResource,\n dataForControls,\n baseprefix,\n pathToKey,\n ...props\n}) => {\n const location = useLocation()\n const params = useParams()\n const navigate = useNavigate()\n const { token } = antdtheme.useToken()\n\n const [selectedRowKeys, setSelectedRowKeys] = useState<React.Key[]>([])\n const [selectedRowsData, setSelectedRowsData] = useState<{ name: string; endpoint: string }[]>([])\n const [isDeleteModalOpen, setIsDeleteModalOpen] = useState<false | { name: string; endpoint: string }>(false)\n const [isDeleteModalManyOpen, setIsDeleteModalManyOpen] = useState<false | { name: string; endpoint: string }[]>(\n false,\n )\n\n const { data: multiQueryData, isLoading: isMultiqueryLoading } = useMultiQuery()\n\n const theme = useTheme()\n const partsOfUrl = usePartsOfUrl()\n\n const replaceValues = partsOfUrl.partsOfUrl.reduce<Record<string, string | undefined>>((acc, value, index) => {\n acc[index.toString()] = value\n return acc\n }, {})\n\n const clusterPrepared = parseAll({ text: cluster, replaceValues, multiQueryData })\n\n const namespacePrepared = namespace ? parseAll({ text: namespace, replaceValues, multiQueryData }) : undefined\n\n const k8sResourcePrePrepared = k8sResource\n ? {\n apiGroup: k8sResource.apiGroup\n ? parseAll({ text: k8sResource.apiGroup, replaceValues, multiQueryData })\n : undefined,\n apiVersion: parseAll({ text: k8sResource.apiVersion, replaceValues, multiQueryData }),\n plural: parseAll({ text: k8sResource.plural, replaceValues, multiQueryData }),\n }\n : undefined\n\n const k8sResourcePrepared =\n k8sResourcePrePrepared?.apiGroup === '-'\n ? { apiVersion: k8sResourcePrePrepared.apiVersion, plural: k8sResourcePrePrepared.plural }\n : k8sResourcePrePrepared\n\n const dataForControlsPrepared = dataForControls\n ? {\n cluster: clusterPrepared,\n syntheticProject: dataForControls.syntheticProject\n ? parseAll({ text: dataForControls.syntheticProject, replaceValues, multiQueryData })\n : undefined,\n plural: parseAll({ text: dataForControls.plural, replaceValues, multiQueryData }),\n apiGroup: dataForControls.apiGroup\n ? parseAll({ text: dataForControls.apiGroup, replaceValues, multiQueryData })\n : undefined,\n apiVersion: parseAll({ text: dataForControls.apiVersion, replaceValues, multiQueryData }),\n }\n : undefined\n\n const createPermission = usePermissions({\n apiGroup: dataForControlsPrepared?.apiGroup,\n plural: dataForControlsPrepared?.plural || '',\n namespace: namespacePrepared,\n cluster: clusterPrepared,\n verb: 'create',\n refetchInterval: false,\n enabler: Boolean(dataForControlsPrepared && clusterPrepared && !isMultiqueryLoading),\n })\n\n const fetchUrlPrepared = fetchUrl ? parseAll({ text: fetchUrl, replaceValues, multiQueryData }) : undefined\n\n const k8sResourceToFetchPrepared = k8sResourceToFetch\n ? {\n apiGroup: k8sResourceToFetch.apiGroup\n ? parseAll({ text: k8sResourceToFetch.apiGroup, replaceValues, multiQueryData })\n : undefined,\n apiVersion: parseAll({ text: k8sResourceToFetch.apiVersion, replaceValues, multiQueryData }),\n plural: parseAll({ text: k8sResourceToFetch.plural, replaceValues, multiQueryData }),\n namespace: k8sResourceToFetch.namespace\n ? parseAll({ text: k8sResourceToFetch.namespace, replaceValues, multiQueryData })\n : undefined,\n }\n : undefined\n\n const sParams = new URLSearchParams()\n\n if (labelSelector && Object.keys(labelSelector).length > 0) {\n const parsedObject: Record<string, string> = Object.fromEntries(\n Object.entries(labelSelector).map(\n ([k, v]) => [k, parseAll({ text: v, replaceValues, multiQueryData })] as [string, string],\n ),\n )\n const serializedLabels = serializeLabelsWithNoEncoding(parsedObject)\n if (serializedLabels.length > 0) sParams.set('labelSelector', serializedLabels)\n }\n\n if (labelSelectorFull) {\n const root = multiQueryData[`req${labelSelectorFull.reqIndex}`]\n const value = Array.isArray(labelSelectorFull.pathToLabels)\n ? _.get(root || {}, labelSelectorFull.pathToLabels)\n : jp.query(root || {}, `$${labelSelectorFull.pathToLabels}`)[0]\n\n const serializedLabels = serializeLabelsWithNoEncoding(value)\n if (serializedLabels.length > 0) sParams.set('labelSelector', serializedLabels)\n }\n\n if (fieldSelector) {\n const parsedObject: Record<string, string> = Object.fromEntries(\n Object.entries(fieldSelector).map(\n ([k, v]) =>\n [\n parseAll({ text: k, replaceValues, multiQueryData }),\n parseAll({ text: v, replaceValues, multiQueryData }),\n ] as [string, string],\n ),\n )\n const serializedFields = serializeLabelsWithNoEncoding(parsedObject)\n\n if (serializedFields.length > 0) sParams.set('fieldSelector', serializedFields)\n }\n\n const searchParams = sParams.toString()\n\n const {\n data: fetchedData,\n isLoading: isFetchedDataLoading,\n error: fetchedDataError,\n } = useDirectUnknownResource<unknown>({\n uri: `${fetchUrlPrepared}${searchParams ? `?${searchParams}` : ''}`,\n queryKey: [`${fetchUrlPrepared}${searchParams ? `?${searchParams}` : ''}`],\n isEnabled: Boolean(!isMultiqueryLoading && fetchUrlPrepared),\n })\n\n const {\n data: fetchedDataSocket,\n isLoading: isFetchedDataSocketLoading,\n error: fetchedDataSocketError,\n } = useK8sSmartResource<{ items?: unknown }>({\n cluster: clusterPrepared || '',\n namespace: k8sResourceToFetchPrepared?.namespace,\n apiGroup: k8sResourceToFetchPrepared?.apiGroup,\n apiVersion: k8sResourceToFetchPrepared?.apiVersion || '',\n plural: k8sResourceToFetchPrepared?.plural || '',\n fieldSelector: sParams.get('fieldSelector') || undefined,\n labelSelector: sParams.get('labelSelector') || undefined,\n isEnabled: Boolean(!isMultiqueryLoading && k8sResourceToFetchPrepared),\n })\n\n if (fetchUrlPrepared && isMultiqueryLoading) {\n return <div>Loading multiquery</div>\n }\n\n if (k8sResourceToFetchPrepared && isMultiqueryLoading) {\n return <div>Loading multiquery</div>\n }\n\n // if (!fetchedData) {\n // return <div>No data has been fetched</div>\n // }\n\n if (fetchUrlPrepared && isFetchedDataLoading) {\n return (\n <Flex justify=\"center\">\n <Spin />\n </Flex>\n )\n }\n\n if (k8sResourceToFetchPrepared && isFetchedDataSocketLoading) {\n return (\n <Flex justify=\"center\">\n <Spin />\n </Flex>\n )\n }\n\n if (fetchUrlPrepared && fetchedDataError) {\n return <div>Error: {JSON.stringify(fetchedDataError)}</div>\n }\n\n if (k8sResourceToFetchPrepared && fetchedDataSocketError) {\n return <div>Error: {JSON.stringify(fetchedDataError)}</div>\n }\n\n const dataFromOneOfHooks = fetchedData || fetchedDataSocket || {}\n\n const items = Array.isArray(pathToItems)\n ? _.get(dataFromOneOfHooks || {}, pathToItems)\n : jp.query(dataFromOneOfHooks || {}, `$${pathToItems}`)[0]\n\n const itemsAlwaysArr = Array.isArray(items) ? items : []\n\n let additionalReqsData: any[] | undefined = []\n if (additionalReqsDataToEachItem) {\n additionalReqsDataToEachItem.forEach(item => {\n additionalReqsData?.push(multiQueryData[`req${item}`])\n })\n }\n additionalReqsData = additionalReqsData.length > 0 ? additionalReqsData : undefined\n\n const itemsAlwaysArrWithAdditionalData = itemsAlwaysArr.map(el => ({\n ...el,\n ...(additionalReqsData ? { additionalReqsData } : {}),\n }))\n\n // if (!items) {\n // return <div>No data on this path {JSON.stringify(pathToItems)}</div>\n // }\n\n const clearSelected = () => {\n setSelectedRowKeys([])\n setSelectedRowsData([])\n }\n\n const onDeleteHandle = (name: string, endpoint: string) => {\n setIsDeleteModalOpen({ name, endpoint })\n }\n\n const fullPath = `${location.pathname}${location.search}`\n\n const modalTitlePrepared = modalTitle ? parseAll({ text: modalTitle, replaceValues, multiQueryData }) : 'Edit'\n const modalDescriptionTextPrepared = modalDescriptionText\n ? parseAll({ text: modalDescriptionText, replaceValues, multiQueryData })\n : undefined\n\n return (\n <>\n <ReadOnlyModal\n open={open}\n close={onClose}\n modalTitle={modalTitlePrepared}\n modalDescriptionText={modalDescriptionTextPrepared}\n modalDescriptionTextStyle={modalDescriptionTextStyle}\n editModalWidth={editModalWidth}\n >\n <Styled.ColorContainer $colorText={token.colorText}>\n <EnrichedTableProvider\n tableMappingsReplaceValues={replaceValues}\n cluster={clusterPrepared}\n namespace={namespacePrepared}\n theme={theme}\n dataItems={itemsAlwaysArrWithAdditionalData}\n tableProps={{\n borderless: true,\n paginationPosition: ['bottomRight'],\n isTotalLeft: true,\n editIcon: <EditIcon />,\n deleteIcon: <DeleteIcon />,\n disablePagination: true,\n }}\n selectData={\n dataForControlsPrepared\n ? {\n selectedRowKeys,\n onChange: (\n selectedRowKeys: React.Key[],\n selectedRowsData: { name: string; endpoint: string }[],\n ) => {\n setSelectedRowKeys(selectedRowKeys)\n setSelectedRowsData(selectedRowsData)\n },\n }\n : undefined\n }\n k8sResource={k8sResourcePrepared}\n dataForControlsInternal={{ onDeleteHandle }}\n dataForControls={dataForControlsPrepared}\n withoutControls={!dataForControlsPrepared}\n baseprefix={baseprefix}\n pathToKey={pathToKey}\n {...props}\n />\n </Styled.ColorContainer>\n </ReadOnlyModal>\n {dataForControlsPrepared && (\n <PaddingContainer $padding=\"4px\">\n <Flex justify=\"space-between\">\n <Button\n type=\"primary\"\n onClick={() => {\n const url = getLinkToForm({\n cluster: clusterPrepared,\n baseprefix,\n namespace: namespacePrepared,\n syntheticProject: params.syntheticProject,\n apiGroup: dataForControlsPrepared.apiGroup,\n apiVersion: dataForControlsPrepared.apiVersion,\n plural: dataForControlsPrepared.plural,\n fullPath,\n })\n navigate(url)\n }}\n loading={createPermission.isPending}\n disabled={!createPermission.data?.status.allowed}\n >\n <PlusOutlined />\n Add\n </Button>\n {selectedRowKeys.length > 0 && (\n <Flex gap={16}>\n <Button type=\"primary\" onClick={clearSelected}>\n <ClearOutlined />\n Clear\n </Button>\n <Button type=\"primary\" onClick={() => setIsDeleteModalManyOpen(selectedRowsData)}>\n <MinusOutlined />\n Delete\n </Button>\n </Flex>\n )}\n </Flex>\n </PaddingContainer>\n )}\n {isDeleteModalOpen && (\n <DeleteModal\n name={isDeleteModalOpen.name}\n onClose={() => {\n setIsDeleteModalOpen(false)\n clearSelected()\n }}\n endpoint={isDeleteModalOpen.endpoint}\n />\n )}\n {isDeleteModalManyOpen !== false && (\n <DeleteModalMany\n data={isDeleteModalManyOpen}\n onClose={() => {\n setIsDeleteModalManyOpen(false)\n clearSelected()\n }}\n />\n )}\n </>\n )\n}\n"],"names":["antdtheme","theme","jsx","jsxs","Fragment","selectedRowKeys","selectedRowsData"],"mappings":"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"}
|
|
@@ -44504,6 +44504,39 @@ const AnnotationsEditModal = ({
|
|
|
44504
44504
|
);
|
|
44505
44505
|
};
|
|
44506
44506
|
|
|
44507
|
+
const ReadOnlyModal = ({
|
|
44508
|
+
open,
|
|
44509
|
+
close,
|
|
44510
|
+
modalTitle,
|
|
44511
|
+
modalDescriptionText,
|
|
44512
|
+
modalDescriptionTextStyle,
|
|
44513
|
+
editModalWidth,
|
|
44514
|
+
children
|
|
44515
|
+
}) => {
|
|
44516
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
44517
|
+
Modal,
|
|
44518
|
+
{
|
|
44519
|
+
title: modalTitle,
|
|
44520
|
+
open,
|
|
44521
|
+
okButtonProps: { style: { display: "none" } },
|
|
44522
|
+
onCancel: () => {
|
|
44523
|
+
close();
|
|
44524
|
+
},
|
|
44525
|
+
maskClosable: false,
|
|
44526
|
+
width: editModalWidth || 520,
|
|
44527
|
+
destroyOnHidden: true,
|
|
44528
|
+
centered: true,
|
|
44529
|
+
children: [
|
|
44530
|
+
modalDescriptionText && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
44531
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: modalDescriptionTextStyle, children: modalDescriptionText }),
|
|
44532
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Spacer$1, { $space: 10, $samespace: true })
|
|
44533
|
+
] }),
|
|
44534
|
+
children
|
|
44535
|
+
]
|
|
44536
|
+
}
|
|
44537
|
+
);
|
|
44538
|
+
};
|
|
44539
|
+
|
|
44507
44540
|
const isRecordStringNumber = (value) => typeof value === "object" && value !== null && !Array.isArray(value) && Object.entries(value).every(([k, v]) => typeof k === "string" && (typeof v === "string" || typeof v === "number"));
|
|
44508
44541
|
const parseLabelsArrayOfAny = (value) => {
|
|
44509
44542
|
if (!Array.isArray(value)) {
|
|
@@ -77883,7 +77916,7 @@ const TolerationsModal = ({
|
|
|
77883
77916
|
};
|
|
77884
77917
|
|
|
77885
77918
|
const LazyEnrichedTableModal = lazy(
|
|
77886
|
-
() => import('./index-
|
|
77919
|
+
() => import('./index-C-R1fVhB.mjs').then((mod) => ({ default: mod.EnrichedTableModal }))
|
|
77887
77920
|
);
|
|
77888
77921
|
const renderActiveType = (activeType, extraProps) => {
|
|
77889
77922
|
if (!activeType) return null;
|
|
@@ -78992,34 +79025,6 @@ const buildEditUrl = (props, fullPath) => {
|
|
|
78992
79025
|
].filter(Boolean);
|
|
78993
79026
|
return `/${parts.join("/")}?backlink=${backlink}`;
|
|
78994
79027
|
};
|
|
78995
|
-
const renderActionModal = (action, extraProps) => {
|
|
78996
|
-
switch (action.type) {
|
|
78997
|
-
case "edit":
|
|
78998
|
-
return null;
|
|
78999
|
-
case "editLabels":
|
|
79000
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(LabelsModal, { ...action.props, ...extraProps });
|
|
79001
|
-
case "editAnnotations":
|
|
79002
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(AnnotationsModal, { ...action.props, ...extraProps });
|
|
79003
|
-
case "editTaints":
|
|
79004
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(TaintsModal, { ...action.props, ...extraProps });
|
|
79005
|
-
case "editTolerations":
|
|
79006
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(TolerationsModal, { ...action.props, ...extraProps });
|
|
79007
|
-
case "delete":
|
|
79008
|
-
return null;
|
|
79009
|
-
case "cordon":
|
|
79010
|
-
case "uncordon":
|
|
79011
|
-
case "suspend":
|
|
79012
|
-
case "resume":
|
|
79013
|
-
case "rolloutRestart":
|
|
79014
|
-
case "evict":
|
|
79015
|
-
case "openKubeletConfig":
|
|
79016
|
-
return null;
|
|
79017
|
-
default: {
|
|
79018
|
-
const _exhaustive = action;
|
|
79019
|
-
return _exhaustive;
|
|
79020
|
-
}
|
|
79021
|
-
}
|
|
79022
|
-
};
|
|
79023
79028
|
const getActionIcon = (action) => {
|
|
79024
79029
|
if (action.props.iconBase64Encoded) {
|
|
79025
79030
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$m.IconWrapper, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$m.IconScaler, { children: renderIcon$1(action.props.iconBase64Encoded, "currentColor") }) });
|
|
@@ -79100,6 +79105,92 @@ const buildEvictBody = (data) => {
|
|
|
79100
79105
|
...Object.keys(deleteOptions).length > 0 ? { deleteOptions } : {}
|
|
79101
79106
|
};
|
|
79102
79107
|
};
|
|
79108
|
+
const handleEditAction = (action, ctx, fullPath, navigate) => {
|
|
79109
|
+
const clusterPrepared = parseAll({ text: action.props.cluster, ...ctx });
|
|
79110
|
+
const namespacePrepared = action.props.namespace ? parseAll({ text: action.props.namespace, ...ctx }) : void 0;
|
|
79111
|
+
const syntheticProjectPrepared = action.props.syntheticProject ? parseAll({ text: action.props.syntheticProject, ...ctx }) : void 0;
|
|
79112
|
+
const apiGroupPrepared = action.props.apiGroup ? parseAll({ text: action.props.apiGroup, ...ctx }) : void 0;
|
|
79113
|
+
const apiVersionPrepared = parseAll({ text: action.props.apiVersion, ...ctx });
|
|
79114
|
+
const pluralPrepared = parseAll({ text: action.props.plural, ...ctx });
|
|
79115
|
+
const namePrepared = parseAll({ text: action.props.name, ...ctx });
|
|
79116
|
+
const baseprefixPrepared = action.props.baseprefix ? parseAll({ text: action.props.baseprefix, ...ctx }) : void 0;
|
|
79117
|
+
const url = buildEditUrl(
|
|
79118
|
+
{
|
|
79119
|
+
...action.props,
|
|
79120
|
+
cluster: clusterPrepared,
|
|
79121
|
+
namespace: namespacePrepared,
|
|
79122
|
+
syntheticProject: syntheticProjectPrepared,
|
|
79123
|
+
apiGroup: apiGroupPrepared,
|
|
79124
|
+
apiVersion: apiVersionPrepared,
|
|
79125
|
+
plural: pluralPrepared,
|
|
79126
|
+
name: namePrepared,
|
|
79127
|
+
baseprefix: baseprefixPrepared
|
|
79128
|
+
},
|
|
79129
|
+
fullPath
|
|
79130
|
+
);
|
|
79131
|
+
navigate(url);
|
|
79132
|
+
};
|
|
79133
|
+
const handleDeleteAction = (action, ctx, setDeleteModalData) => {
|
|
79134
|
+
const endpointPrepared = parseAll({ text: action.props.endpoint, ...ctx });
|
|
79135
|
+
const namePrepared = parseAll({ text: action.props.name, ...ctx });
|
|
79136
|
+
const redirectToPrepared = action.props.redirectTo ? parseAll({ text: action.props.redirectTo, ...ctx }) : void 0;
|
|
79137
|
+
setDeleteModalData({
|
|
79138
|
+
name: namePrepared,
|
|
79139
|
+
endpoint: endpointPrepared,
|
|
79140
|
+
redirectTo: redirectToPrepared
|
|
79141
|
+
});
|
|
79142
|
+
};
|
|
79143
|
+
const handlePatchActions = (action, ctx, onSuccess, onError) => {
|
|
79144
|
+
const actionLabel = action.props.text || action.type;
|
|
79145
|
+
const endpointPrepared = parseAll({ text: action.props.endpoint, ...ctx });
|
|
79146
|
+
const pathToValuePrepared = parseAll({ text: action.props.pathToValue, ...ctx });
|
|
79147
|
+
const valuePrepared = parseValueIfString(action.props.value, ctx);
|
|
79148
|
+
patchEntryWithReplaceOp({
|
|
79149
|
+
endpoint: endpointPrepared,
|
|
79150
|
+
pathToValue: pathToValuePrepared,
|
|
79151
|
+
body: valuePrepared
|
|
79152
|
+
}).then(() => onSuccess(actionLabel)).catch((error) => {
|
|
79153
|
+
onError(actionLabel, error);
|
|
79154
|
+
});
|
|
79155
|
+
};
|
|
79156
|
+
const handleRolloutRestartAction = (action, ctx, onSuccess, onError) => {
|
|
79157
|
+
const actionLabel = action.props.text || "Rollout restart";
|
|
79158
|
+
const endpointPrepared = parseAll({ text: action.props.endpoint, ...ctx });
|
|
79159
|
+
const annotationKeyPrepared = action.props.annotationKey ? parseAll({ text: action.props.annotationKey, ...ctx }) : "kubectl.kubernetes.io/restartedAt";
|
|
79160
|
+
const timestampPrepared = action.props.timestamp ? parseAll({ text: action.props.timestamp, ...ctx }) : (/* @__PURE__ */ new Date()).toISOString();
|
|
79161
|
+
patchEntryWithMergePatch({
|
|
79162
|
+
endpoint: endpointPrepared,
|
|
79163
|
+
body: {
|
|
79164
|
+
spec: {
|
|
79165
|
+
template: {
|
|
79166
|
+
metadata: {
|
|
79167
|
+
annotations: {
|
|
79168
|
+
[annotationKeyPrepared]: timestampPrepared
|
|
79169
|
+
}
|
|
79170
|
+
}
|
|
79171
|
+
}
|
|
79172
|
+
}
|
|
79173
|
+
}
|
|
79174
|
+
}).then(() => onSuccess(actionLabel)).catch((error) => {
|
|
79175
|
+
onError(actionLabel, error);
|
|
79176
|
+
console.error(error);
|
|
79177
|
+
});
|
|
79178
|
+
};
|
|
79179
|
+
const handleOpenKubeletConfigAction = (action, ctx, setActiveAction, setModalOpen) => {
|
|
79180
|
+
const urlPrepared = parseAll({ text: action.props.url, ...ctx });
|
|
79181
|
+
const modalTitlePrepared = action.props.modalTitle ? parseAll({ text: action.props.modalTitle, ...ctx }) : void 0;
|
|
79182
|
+
const modalDescriptionTextPrepared = action.props.modalDescriptionText ? parseAll({ text: action.props.modalDescriptionText, ...ctx }) : void 0;
|
|
79183
|
+
setActiveAction({
|
|
79184
|
+
...action,
|
|
79185
|
+
props: {
|
|
79186
|
+
...action.props,
|
|
79187
|
+
url: urlPrepared,
|
|
79188
|
+
modalTitle: modalTitlePrepared,
|
|
79189
|
+
modalDescriptionText: modalDescriptionTextPrepared
|
|
79190
|
+
}
|
|
79191
|
+
});
|
|
79192
|
+
setModalOpen(true);
|
|
79193
|
+
};
|
|
79103
79194
|
const useActionsDropdownHandlers = ({ replaceValues, multiQueryData }) => {
|
|
79104
79195
|
const navigate = useNavigate();
|
|
79105
79196
|
const location = useLocation();
|
|
@@ -79116,100 +79207,44 @@ const useActionsDropdownHandlers = ({ replaceValues, multiQueryData }) => {
|
|
|
79116
79207
|
queryClient.invalidateQueries({ queryKey: ["multi"] });
|
|
79117
79208
|
};
|
|
79118
79209
|
const showSuccess = (actionLabel) => {
|
|
79210
|
+
invalidateMultiQuery();
|
|
79119
79211
|
notificationApi.success({
|
|
79120
79212
|
message: `${actionLabel} successful`,
|
|
79121
79213
|
placement: "bottomRight"
|
|
79122
79214
|
});
|
|
79123
79215
|
};
|
|
79216
|
+
const getErrorDescription = (error) => {
|
|
79217
|
+
if (error instanceof AxiosError) {
|
|
79218
|
+
return error.response?.data?.message || error.message;
|
|
79219
|
+
}
|
|
79220
|
+
if (error instanceof Error) {
|
|
79221
|
+
return error.message;
|
|
79222
|
+
}
|
|
79223
|
+
return "Unknown error";
|
|
79224
|
+
};
|
|
79124
79225
|
const showError = (actionLabel, error) => {
|
|
79125
|
-
const description = error instanceof AxiosError ? error.response?.data?.message || error.message : error instanceof Error ? error.message : "Unknown error";
|
|
79126
79226
|
notificationApi.error({
|
|
79127
79227
|
message: `${actionLabel} failed`,
|
|
79128
|
-
description,
|
|
79228
|
+
description: getErrorDescription(error),
|
|
79129
79229
|
placement: "bottomRight"
|
|
79130
79230
|
});
|
|
79131
79231
|
};
|
|
79132
79232
|
const ctx = { replaceValues, multiQueryData };
|
|
79133
79233
|
const handleActionClick = (action) => {
|
|
79134
79234
|
if (action.type === "edit") {
|
|
79135
|
-
|
|
79136
|
-
const namespacePrepared = action.props.namespace ? parseAll({ text: action.props.namespace, replaceValues, multiQueryData }) : void 0;
|
|
79137
|
-
const syntheticProjectPrepared = action.props.syntheticProject ? parseAll({ text: action.props.syntheticProject, replaceValues, multiQueryData }) : void 0;
|
|
79138
|
-
const apiGroupPrepared = action.props.apiGroup ? parseAll({ text: action.props.apiGroup, replaceValues, multiQueryData }) : void 0;
|
|
79139
|
-
const apiVersionPrepared = parseAll({ text: action.props.apiVersion, replaceValues, multiQueryData });
|
|
79140
|
-
const pluralPrepared = parseAll({ text: action.props.plural, replaceValues, multiQueryData });
|
|
79141
|
-
const namePrepared = parseAll({ text: action.props.name, replaceValues, multiQueryData });
|
|
79142
|
-
const baseprefixPrepared = action.props.baseprefix ? parseAll({ text: action.props.baseprefix, replaceValues, multiQueryData }) : void 0;
|
|
79143
|
-
const url = buildEditUrl(
|
|
79144
|
-
{
|
|
79145
|
-
...action.props,
|
|
79146
|
-
cluster: clusterPrepared,
|
|
79147
|
-
namespace: namespacePrepared,
|
|
79148
|
-
syntheticProject: syntheticProjectPrepared,
|
|
79149
|
-
apiGroup: apiGroupPrepared,
|
|
79150
|
-
apiVersion: apiVersionPrepared,
|
|
79151
|
-
plural: pluralPrepared,
|
|
79152
|
-
name: namePrepared,
|
|
79153
|
-
baseprefix: baseprefixPrepared
|
|
79154
|
-
},
|
|
79155
|
-
fullPath
|
|
79156
|
-
);
|
|
79157
|
-
navigate(url);
|
|
79235
|
+
handleEditAction(action, ctx, fullPath, navigate);
|
|
79158
79236
|
return;
|
|
79159
79237
|
}
|
|
79160
79238
|
if (action.type === "delete") {
|
|
79161
|
-
|
|
79162
|
-
const namePrepared = parseAll({ text: action.props.name, replaceValues, multiQueryData });
|
|
79163
|
-
const redirectToPrepared = action.props.redirectTo ? parseAll({ text: action.props.redirectTo, replaceValues, multiQueryData }) : void 0;
|
|
79164
|
-
setDeleteModalData({
|
|
79165
|
-
name: namePrepared,
|
|
79166
|
-
endpoint: endpointPrepared,
|
|
79167
|
-
redirectTo: redirectToPrepared
|
|
79168
|
-
});
|
|
79239
|
+
handleDeleteAction(action, ctx, setDeleteModalData);
|
|
79169
79240
|
return;
|
|
79170
79241
|
}
|
|
79171
79242
|
if (action.type === "cordon" || action.type === "uncordon" || action.type === "suspend" || action.type === "resume") {
|
|
79172
|
-
|
|
79173
|
-
const endpointPrepared = parseAll({ text: action.props.endpoint, replaceValues, multiQueryData });
|
|
79174
|
-
const pathToValuePrepared = parseAll({ text: action.props.pathToValue, replaceValues, multiQueryData });
|
|
79175
|
-
const valuePrepared = parseValueIfString(action.props.value, ctx);
|
|
79176
|
-
patchEntryWithReplaceOp({
|
|
79177
|
-
endpoint: endpointPrepared,
|
|
79178
|
-
pathToValue: pathToValuePrepared,
|
|
79179
|
-
body: valuePrepared
|
|
79180
|
-
}).then(() => {
|
|
79181
|
-
invalidateMultiQuery();
|
|
79182
|
-
showSuccess(actionLabel);
|
|
79183
|
-
}).catch((error) => {
|
|
79184
|
-
showError(actionLabel, error);
|
|
79185
|
-
});
|
|
79243
|
+
handlePatchActions(action, ctx, showSuccess, showError);
|
|
79186
79244
|
return;
|
|
79187
79245
|
}
|
|
79188
79246
|
if (action.type === "rolloutRestart") {
|
|
79189
|
-
|
|
79190
|
-
const endpointPrepared = parseAll({ text: action.props.endpoint, replaceValues, multiQueryData });
|
|
79191
|
-
const annotationKeyPrepared = action.props.annotationKey ? parseAll({ text: action.props.annotationKey, replaceValues, multiQueryData }) : "kubectl.kubernetes.io/restartedAt";
|
|
79192
|
-
const timestampPrepared = action.props.timestamp ? parseAll({ text: action.props.timestamp, replaceValues, multiQueryData }) : (/* @__PURE__ */ new Date()).toISOString();
|
|
79193
|
-
patchEntryWithMergePatch({
|
|
79194
|
-
endpoint: endpointPrepared,
|
|
79195
|
-
body: {
|
|
79196
|
-
spec: {
|
|
79197
|
-
template: {
|
|
79198
|
-
metadata: {
|
|
79199
|
-
annotations: {
|
|
79200
|
-
[annotationKeyPrepared]: timestampPrepared
|
|
79201
|
-
}
|
|
79202
|
-
}
|
|
79203
|
-
}
|
|
79204
|
-
}
|
|
79205
|
-
}
|
|
79206
|
-
}).then(() => {
|
|
79207
|
-
invalidateMultiQuery();
|
|
79208
|
-
showSuccess(actionLabel);
|
|
79209
|
-
}).catch((error) => {
|
|
79210
|
-
showError(actionLabel, error);
|
|
79211
|
-
console.error(error);
|
|
79212
|
-
});
|
|
79247
|
+
handleRolloutRestartAction(action, ctx, showSuccess, showError);
|
|
79213
79248
|
return;
|
|
79214
79249
|
}
|
|
79215
79250
|
if (action.type === "evict") {
|
|
@@ -79218,9 +79253,7 @@ const useActionsDropdownHandlers = ({ replaceValues, multiQueryData }) => {
|
|
|
79218
79253
|
return;
|
|
79219
79254
|
}
|
|
79220
79255
|
if (action.type === "openKubeletConfig") {
|
|
79221
|
-
|
|
79222
|
-
const target = action.props.target ?? "_blank";
|
|
79223
|
-
window.open(urlPrepared, target);
|
|
79256
|
+
handleOpenKubeletConfigAction(action, ctx, setActiveAction, setModalOpen);
|
|
79224
79257
|
return;
|
|
79225
79258
|
}
|
|
79226
79259
|
setActiveAction(action);
|
|
@@ -79230,11 +79263,9 @@ const useActionsDropdownHandlers = ({ replaceValues, multiQueryData }) => {
|
|
|
79230
79263
|
if (!evictModalData) return;
|
|
79231
79264
|
setIsEvictLoading(true);
|
|
79232
79265
|
const body = buildEvictBody(evictModalData);
|
|
79233
|
-
|
|
79234
|
-
|
|
79235
|
-
|
|
79236
|
-
}).catch((error) => {
|
|
79237
|
-
showError(`Evict ${evictModalData.name}`, error);
|
|
79266
|
+
const evictLabel = `Evict ${evictModalData.name}`;
|
|
79267
|
+
createNewEntry({ endpoint: evictModalData.endpoint, body }).then(() => showSuccess(evictLabel)).catch((error) => {
|
|
79268
|
+
showError(evictLabel, error);
|
|
79238
79269
|
}).finally(() => {
|
|
79239
79270
|
setIsEvictLoading(false);
|
|
79240
79271
|
setEvictModalData(null);
|
|
@@ -79339,6 +79370,96 @@ const useActionsDropdownPermissions = ({
|
|
|
79339
79370
|
return permissions ?? computedPermissions;
|
|
79340
79371
|
};
|
|
79341
79372
|
|
|
79373
|
+
const toYamlString = (value) => {
|
|
79374
|
+
if (value === void 0) return "";
|
|
79375
|
+
if (typeof value === "string") {
|
|
79376
|
+
try {
|
|
79377
|
+
return stringify(JSON.parse(value));
|
|
79378
|
+
} catch {
|
|
79379
|
+
return value;
|
|
79380
|
+
}
|
|
79381
|
+
}
|
|
79382
|
+
return stringify(value);
|
|
79383
|
+
};
|
|
79384
|
+
const OpenKubeletConfigModal = ({ open, onClose, props }) => {
|
|
79385
|
+
const theme = useTheme();
|
|
79386
|
+
const { data, isLoading, isError, error } = useDirectUnknownResource({
|
|
79387
|
+
uri: props.url,
|
|
79388
|
+
queryKey: ["open-kubelet-config", props.url],
|
|
79389
|
+
refetchInterval: false,
|
|
79390
|
+
isEnabled: open && !!props.url && props.url !== "-"
|
|
79391
|
+
});
|
|
79392
|
+
const yamlData = useMemo(() => toYamlString(data), [data]);
|
|
79393
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
79394
|
+
ReadOnlyModal,
|
|
79395
|
+
{
|
|
79396
|
+
open,
|
|
79397
|
+
close: onClose,
|
|
79398
|
+
modalTitle: props.modalTitle || props.text,
|
|
79399
|
+
modalDescriptionText: props.modalDescriptionText,
|
|
79400
|
+
editModalWidth: props.editModalWidth || 920,
|
|
79401
|
+
children: [
|
|
79402
|
+
isLoading && /* @__PURE__ */ jsxRuntimeExports.jsx(Spin, {}),
|
|
79403
|
+
isError && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
79404
|
+
Alert,
|
|
79405
|
+
{
|
|
79406
|
+
type: "error",
|
|
79407
|
+
showIcon: true,
|
|
79408
|
+
message: "Failed to load kubelet config",
|
|
79409
|
+
description: error instanceof Error ? error.message : "Unknown error"
|
|
79410
|
+
}
|
|
79411
|
+
),
|
|
79412
|
+
!isLoading && !isError && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
79413
|
+
Ft$1,
|
|
79414
|
+
{
|
|
79415
|
+
defaultLanguage: "yaml",
|
|
79416
|
+
width: "100%",
|
|
79417
|
+
height: "60vh",
|
|
79418
|
+
value: yamlData,
|
|
79419
|
+
theme: theme === "dark" ? "vs-dark" : "vs",
|
|
79420
|
+
options: {
|
|
79421
|
+
readOnly: true,
|
|
79422
|
+
minimap: { enabled: false },
|
|
79423
|
+
wordWrap: "on",
|
|
79424
|
+
lineNumbers: "on"
|
|
79425
|
+
}
|
|
79426
|
+
}
|
|
79427
|
+
)
|
|
79428
|
+
]
|
|
79429
|
+
}
|
|
79430
|
+
);
|
|
79431
|
+
};
|
|
79432
|
+
|
|
79433
|
+
const renderActionModal = (action, extraProps) => {
|
|
79434
|
+
switch (action.type) {
|
|
79435
|
+
case "edit":
|
|
79436
|
+
return null;
|
|
79437
|
+
case "editLabels":
|
|
79438
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(LabelsModal, { ...action.props, ...extraProps });
|
|
79439
|
+
case "editAnnotations":
|
|
79440
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(AnnotationsModal, { ...action.props, ...extraProps });
|
|
79441
|
+
case "editTaints":
|
|
79442
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(TaintsModal, { ...action.props, ...extraProps });
|
|
79443
|
+
case "editTolerations":
|
|
79444
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(TolerationsModal, { ...action.props, ...extraProps });
|
|
79445
|
+
case "delete":
|
|
79446
|
+
return null;
|
|
79447
|
+
case "cordon":
|
|
79448
|
+
case "uncordon":
|
|
79449
|
+
case "suspend":
|
|
79450
|
+
case "resume":
|
|
79451
|
+
case "rolloutRestart":
|
|
79452
|
+
case "evict":
|
|
79453
|
+
return null;
|
|
79454
|
+
case "openKubeletConfig":
|
|
79455
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(OpenKubeletConfigModal, { ...extraProps, props: action.props });
|
|
79456
|
+
default: {
|
|
79457
|
+
const _exhaustive = action;
|
|
79458
|
+
return _exhaustive;
|
|
79459
|
+
}
|
|
79460
|
+
}
|
|
79461
|
+
};
|
|
79462
|
+
|
|
79342
79463
|
const ActionsDropdown = ({ data, children }) => {
|
|
79343
79464
|
const {
|
|
79344
79465
|
buttonText = "Actions",
|
|
@@ -88802,5 +88923,5 @@ const usePluginManifest = ({
|
|
|
88802
88923
|
});
|
|
88803
88924
|
};
|
|
88804
88925
|
|
|
88805
|
-
export { useInfiniteSentinel as $, getBuiltinResourceTypes as A, getCrdData as B, getDirectUnknownResource as C, DeleteIcon as D, EnrichedTableProvider as E, checkPermission as F, getSwagger as G, filterIfApiInstanceNamespaceScoped as H, filterIfBuiltInInstanceNamespaceScoped as I, checkIfApiInstanceNamespaceScoped as J, checkIfBuiltInInstanceNamespaceScoped as K, getKinds as L, useClusterList as M, useApiResources as N, useApiResourceSingle as O, PaddingContainer as P, useBuiltinResources as Q,
|
|
88806
|
-
//# sourceMappingURL=index-
|
|
88926
|
+
export { useInfiniteSentinel as $, getBuiltinResourceTypes as A, getCrdData as B, getDirectUnknownResource as C, DeleteIcon as D, EnrichedTableProvider as E, checkPermission as F, getSwagger as G, filterIfApiInstanceNamespaceScoped as H, filterIfBuiltInInstanceNamespaceScoped as I, checkIfApiInstanceNamespaceScoped as J, checkIfBuiltInInstanceNamespaceScoped as K, getKinds as L, useClusterList as M, useApiResources as N, useApiResourceSingle as O, PaddingContainer as P, useBuiltinResources as Q, ReadOnlyModal as R, useBuiltinResourceSingle as S, useCrdResources as T, useCrdResourceSingle as U, useApisResourceTypes as V, useApiResourceTypesByGroup as W, useBuiltinResourceTypes as X, useCrdData as Y, useListWatch as Z, _$1 as _, useTheme as a, parseQuotaValueMemoryAndStorage as a$, useK8sVerbs as a0, useManyK8sSmartResource as a1, useSmartResourceParams as a2, useResourceScope as a3, useKinds as a4, usePluginManifest as a5, Spacer$1 as a6, TreeWithSearch as a7, ConfirmModal as a8, UpIcon as a9, EnrichedTable as aA, getEnrichedColumns as aB, getEnrichedColumnsWithControls as aC, YamlEditorSingleton$1 as aD, BlackholeFormProvider as aE, BlackholeForm as aF, getObjectFormItemsDraft as aG, MarketPlace as aH, MarketplaceCard as aI, ProjectInfoCard as aJ, PodTerminal as aK, NodeTerminal as aL, PodLogs as aM, PodLogsMonaco as aN, VMVNC as aO, Search as aP, Events as aQ, DynamicRenderer as aR, DynamicComponents as aS, DynamicRendererWithProviders as aT, prepareTemplate as aU, isFlatObject as aV, filterSelectOptions as aW, getStringByName as aX, floorToDecimal as aY, parseQuotaValue as aZ, parseQuotaValueCpu as a_, DownIcon as aa, BackToDefaultIcon as ab, SuccessIcon as ac, feedbackIcons as ad, PlusIcon as ae, MinusIcon as af, LockedIcon as ag, UnlockedIcon as ah, PauseCircleIcon as ai, ResumeCircleIcon as aj, LookingGlassIcon as ak, EarthIcon as al, ContentCard$1 as am, FlexGrow as an, UncontrolledSelect as ao, CustomSelect$4 as ap, CursorPointerTag as aq, CursorPointerTagMinContent as ar, CursorDefaultDiv as as, ResourceLink as at, ManageableBreadcrumbsProvider as au, prepareDataForManageableBreadcrumbs as av, ManageableBreadcrumbs as aw, ManageableSidebarProvider as ax, prepareDataForManageableSidebar as ay, ManageableSidebar as az, usePartsOfUrl as b, normalizeValuesForQuotasToNumber as b0, getAllPathsFromObj as b1, getPrefixSubarrays as b2, groupsToTreeData as b3, getBuiltinTreeData as b4, getGroupsByCategory as b5, createContextFactory as b6, prepareUrlsToFetchForDynamicRenderer as b7, deepMerge as b8, getSortedKinds as b9, getSortedKindsAll as ba, hslFromString as bb, getUppercase as bc, kindByGvr as bd, pluralByKind as be, namespacedByGvr as bf, getLinkToBuiltinForm as bg, getLinkToApiForm as bh, isMultilineString as bi, isMultilineFromYaml as bj, includesArray as bk, getResourceLink as bl, getNamespaceLink as bm, convertBytes as bn, formatBytesAuto as bo, toBytes as bp, convertStorage as bq, parseValueWithUnit as br, convertCores as bs, formatCoresAuto as bt, toCores as bu, convertCompute as bv, parseCoresWithUnit as bw, formatDateAuto as bx, isValidRFC3339 as by, usePermissions as c, useDirectUnknownResource as d, useK8sSmartResource as e, jsxRuntimeExports as f, EditIcon as g, getLinkToForm as h, DeleteModal as i, jp as j, DeleteModalMany as k, getClusterList as l, createNewEntry as m, updateEntry as n, deleteEntry as o, parseAll as p, getApiResources as q, getApiResourceSingle as r, serializeLabelsWithNoEncoding$1 as s, getBuiltinResources as t, useMultiQuery as u, getBuiltinResourceSingle as v, getCrdResources as w, getCrdResourceSingle as x, getApiResourceTypes as y, getApiResourceTypesByApiGroup as z };
|
|
88927
|
+
//# sourceMappingURL=index-CLIs5B-m.mjs.map
|