@prorobotech/openapi-k8s-toolkit 1.5.0-alpha.4 → 1.5.0-alpha.5

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.
@@ -1,2 +1,2 @@
1
- export { ai as BackToDefaultIcon, aP as BlackholeForm, aO as BlackholeFormProvider, aK as ClusterListTable, af as ConfirmModal, at as ContentCard, az as CursorDefaultDiv, ax as CursorPointerTag, ay as CursorPointerTagMinContent, aw as CustomSelect, D as DeleteIcon, l as DeleteModal, n as DeleteModalMany, ah as DownIcon, b0 as DynamicComponents, a$ as DynamicRenderer, b1 as DynamicRendererWithProviders, as as EarthIcon, h as EditIcon, aJ as EnrichedTable, E as EnrichedTableProvider, aB as ErrorBoundary, aC as ErrorBoundaryWithDataReset, a_ as Events, au as FlexGrow, an as LockedIcon, ar as LookingGlassIcon, aF as ManageableBreadcrumbs, aD as ManageableBreadcrumbsProvider, aI as ManageableSidebar, aG as ManageableSidebarProvider, aR as MarketPlace, aS as MarketplaceCard, am as MinusIcon, aV as NodeTerminal, i as PaddingContainer, ap as PauseCircleIcon, al as PlusIcon, aW as PodLogs, aX as PodLogsMonaco, aU as PodTerminal, aT as ProjectInfoCard, aA as ResourceLink, aq as ResumeCircleIcon, aZ as Search, ad as Spacer, aj as SuccessIcon, ae as TreeWithSearch, av as UncontrolledSelect, ao as UnlockedIcon, ag as UpIcon, aY as VMVNC, aN as YamlEditorSingleton, Q as checkIfApiInstanceNamespaceScoped, S as checkIfBuiltInInstanceNamespaceScoped, L as checkPermission, bx as convertBytes, bF as convertCompute, bC as convertCores, bA as convertStorage, bg as createContextFactory, q as createNewEntry, bi as deepMerge, t as deleteEntry, ak as feedbackIcons, N as filterIfApiInstanceNamespaceScoped, O as filterIfBuiltInInstanceNamespaceScoped, b4 as filterSelectOptions, b6 as floorToDecimal, by as formatBytesAuto, bD as formatCoresAuto, bH as formatDateAuto, bb as getAllPathsFromObj, z as getApiResourceSingle, G as getApiResourceTypes, H as getApiResourceTypesByApiGroup, y as getApiResources, B as getBuiltinResourceSingle, I as getBuiltinResourceTypes, A as getBuiltinResources, be as getBuiltinTreeData, o as getClusterList, J as getCrdData, F as getCrdResourceSingle, C as getCrdResources, K as getDirectUnknownResource, aL as getEnrichedColumns, aM as getEnrichedColumnsWithControls, bf as getGroupsByCategory, T as getKinds, br as getLinkToApiForm, bq as getLinkToBuiltinForm, k as getLinkToForm, bw as getNamespaceLink, aQ as getObjectFormItemsDraft, bc as getPrefixSubarrays, bv as getResourceLink, bj as getSortedKinds, bk as getSortedKindsAll, b5 as getStringByName, M as getSwagger, bm as getUppercase, bd as groupsToTreeData, bl as hslFromString, bu as includesArray, b3 as isFlatObject, bt as isMultilineFromYaml, bs as isMultilineString, bI as isValidRFC3339, bn as kindByGvr, bp as namespacedByGvr, ba as normalizeValuesForQuotasToNumber, bG as parseCoresWithUnit, b7 as parseQuotaValue, b8 as parseQuotaValueCpu, b9 as parseQuotaValueMemoryAndStorage, bB as parseValueWithUnit, x as patchEntryWithDeleteOp, w as patchEntryWithMergePatch, v as patchEntryWithReplaceOp, bo as pluralByKind, aE as prepareDataForManageableBreadcrumbs, aH as prepareDataForManageableSidebar, b2 as prepareTemplate, bh as prepareUrlsToFetchForDynamicRenderer, bz as toBytes, bE as toCores, r as updateEntry, W as useApiResourceSingle, a1 as useApiResourceTypesByGroup, V as useApiResources, a0 as useApisResourceTypes, Y as useBuiltinResourceSingle, a2 as useBuiltinResourceTypes, X as useBuiltinResources, U as useClusterList, a3 as useCrdData, $ as useCrdResourceSingle, Z as useCrdResources, e as useDirectUnknownResource, a5 as useInfiniteSentinel, f as useK8sSmartResource, a6 as useK8sVerbs, aa as useKinds, ab as useKindsRaw, a4 as useListWatch, a7 as useManyK8sSmartResource, d as usePermissions, ac as usePluginManifest, a9 as useResourceScope, a8 as useSmartResourceParams } from './index-D8riHM_k.mjs';
1
+ export { ai as BackToDefaultIcon, aP as BlackholeForm, aO as BlackholeFormProvider, aK as ClusterListTable, af as ConfirmModal, at as ContentCard, az as CursorDefaultDiv, ax as CursorPointerTag, ay as CursorPointerTagMinContent, aw as CustomSelect, D as DeleteIcon, l as DeleteModal, n as DeleteModalMany, ah as DownIcon, b0 as DynamicComponents, a$ as DynamicRenderer, b1 as DynamicRendererWithProviders, as as EarthIcon, h as EditIcon, aJ as EnrichedTable, E as EnrichedTableProvider, aB as ErrorBoundary, aC as ErrorBoundaryWithDataReset, a_ as Events, au as FlexGrow, an as LockedIcon, ar as LookingGlassIcon, aF as ManageableBreadcrumbs, aD as ManageableBreadcrumbsProvider, aI as ManageableSidebar, aG as ManageableSidebarProvider, aR as MarketPlace, aS as MarketplaceCard, am as MinusIcon, aV as NodeTerminal, i as PaddingContainer, ap as PauseCircleIcon, al as PlusIcon, aW as PodLogs, aX as PodLogsMonaco, aU as PodTerminal, aT as ProjectInfoCard, aA as ResourceLink, aq as ResumeCircleIcon, aZ as Search, ad as Spacer, aj as SuccessIcon, ae as TreeWithSearch, av as UncontrolledSelect, ao as UnlockedIcon, ag as UpIcon, aY as VMVNC, aN as YamlEditorSingleton, Q as checkIfApiInstanceNamespaceScoped, S as checkIfBuiltInInstanceNamespaceScoped, L as checkPermission, bx as convertBytes, bF as convertCompute, bC as convertCores, bA as convertStorage, bg as createContextFactory, q as createNewEntry, bi as deepMerge, t as deleteEntry, ak as feedbackIcons, N as filterIfApiInstanceNamespaceScoped, O as filterIfBuiltInInstanceNamespaceScoped, b4 as filterSelectOptions, b6 as floorToDecimal, by as formatBytesAuto, bD as formatCoresAuto, bH as formatDateAuto, bb as getAllPathsFromObj, z as getApiResourceSingle, G as getApiResourceTypes, H as getApiResourceTypesByApiGroup, y as getApiResources, B as getBuiltinResourceSingle, I as getBuiltinResourceTypes, A as getBuiltinResources, be as getBuiltinTreeData, o as getClusterList, J as getCrdData, F as getCrdResourceSingle, C as getCrdResources, K as getDirectUnknownResource, aL as getEnrichedColumns, aM as getEnrichedColumnsWithControls, bf as getGroupsByCategory, T as getKinds, br as getLinkToApiForm, bq as getLinkToBuiltinForm, k as getLinkToForm, bw as getNamespaceLink, aQ as getObjectFormItemsDraft, bc as getPrefixSubarrays, bv as getResourceLink, bj as getSortedKinds, bk as getSortedKindsAll, b5 as getStringByName, M as getSwagger, bm as getUppercase, bd as groupsToTreeData, bl as hslFromString, bu as includesArray, b3 as isFlatObject, bt as isMultilineFromYaml, bs as isMultilineString, bI as isValidRFC3339, bn as kindByGvr, bp as namespacedByGvr, ba as normalizeValuesForQuotasToNumber, bG as parseCoresWithUnit, b7 as parseQuotaValue, b8 as parseQuotaValueCpu, b9 as parseQuotaValueMemoryAndStorage, bB as parseValueWithUnit, x as patchEntryWithDeleteOp, w as patchEntryWithMergePatch, v as patchEntryWithReplaceOp, bo as pluralByKind, aE as prepareDataForManageableBreadcrumbs, aH as prepareDataForManageableSidebar, b2 as prepareTemplate, bh as prepareUrlsToFetchForDynamicRenderer, bz as toBytes, bE as toCores, r as updateEntry, W as useApiResourceSingle, a1 as useApiResourceTypesByGroup, V as useApiResources, a0 as useApisResourceTypes, Y as useBuiltinResourceSingle, a2 as useBuiltinResourceTypes, X as useBuiltinResources, U as useClusterList, a3 as useCrdData, $ as useCrdResourceSingle, Z as useCrdResources, e as useDirectUnknownResource, a5 as useInfiniteSentinel, f as useK8sSmartResource, a6 as useK8sVerbs, aa as useKinds, ab as useKindsRaw, a4 as useListWatch, a7 as useManyK8sSmartResource, d as usePermissions, ac as usePluginManifest, a9 as useResourceScope, a8 as useSmartResourceParams } from './index-gq5MnduZ.mjs';
2
2
  //# sourceMappingURL=openapi-k8s-toolkit.es.js.map
@@ -36061,6 +36061,7 @@
36061
36061
  cluster,
36062
36062
  namespace,
36063
36063
  podName,
36064
+ containerName,
36064
36065
  substractHeight,
36065
36066
  ...props
36066
36067
  } = data;
@@ -36072,6 +36073,7 @@
36072
36073
  const clusterPrepared = parseAll({ text: cluster, replaceValues, multiQueryData });
36073
36074
  const namespacePrepared = parseAll({ text: namespace, replaceValues, multiQueryData });
36074
36075
  const podNamePrepared = parseAll({ text: podName, replaceValues, multiQueryData });
36076
+ const containerNamePrepared = containerName ? parseAll({ text: containerName, replaceValues, multiQueryData }) : void 0;
36075
36077
  const {
36076
36078
  data: podInfoList,
36077
36079
  isError: isPodInfoError,
@@ -36111,6 +36113,7 @@
36111
36113
  cluster: clusterPrepared,
36112
36114
  namespace: namespacePrepared,
36113
36115
  podName: podNamePrepared,
36116
+ containerName: containerNamePrepared,
36114
36117
  containers,
36115
36118
  substractHeight: substractHeight || 340,
36116
36119
  ...props
@@ -90997,10 +91000,45 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
90997
91000
  CustomSelect: CustomSelect$3
90998
91001
  };
90999
91002
 
91000
- const PodTerminal = ({ cluster, namespace, podName, containers, substractHeight }) => {
91001
- const [currentContainer, setCurrentContainer] = React$1.useState(containers[0] || void 0);
91003
+ const getScopedContainerNames = (containers, containerName) => {
91004
+ const normalizedContainerName = containerName?.trim();
91005
+ if (!normalizedContainerName) {
91006
+ return containers;
91007
+ }
91008
+ return containers.filter((container) => container === normalizedContainerName);
91009
+ };
91010
+
91011
+ const PodTerminal = ({
91012
+ cluster,
91013
+ namespace,
91014
+ podName,
91015
+ containerName,
91016
+ containers,
91017
+ substractHeight
91018
+ }) => {
91019
+ const pinnedContainerName = containerName?.trim();
91020
+ const availableContainers = React$1.useMemo(
91021
+ () => getScopedContainerNames(containers, pinnedContainerName),
91022
+ [containers, pinnedContainerName]
91023
+ );
91024
+ const [currentContainer, setCurrentContainer] = React$1.useState(availableContainers[0] || void 0);
91002
91025
  const endpoint = `/api/clusters/${cluster}/openapi-bff-ws/terminal/terminalPod/terminalPod`;
91003
- if (containers.length === 0) {
91026
+ React$1.useEffect(() => {
91027
+ setCurrentContainer((prevContainer) => {
91028
+ if (prevContainer && availableContainers.includes(prevContainer)) {
91029
+ return prevContainer;
91030
+ }
91031
+ return availableContainers[0] || void 0;
91032
+ });
91033
+ }, [availableContainers]);
91034
+ if (pinnedContainerName && availableContainers.length === 0) {
91035
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
91036
+ 'Container "',
91037
+ pinnedContainerName,
91038
+ '" is not running'
91039
+ ] });
91040
+ }
91041
+ if (availableContainers.length === 0) {
91004
91042
  return /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: "No Running Containers" });
91005
91043
  }
91006
91044
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
@@ -91008,9 +91046,9 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
91008
91046
  antd.Select,
91009
91047
  {
91010
91048
  placeholder: "Select container",
91011
- options: containers.map((container) => ({ value: container, label: container })),
91049
+ options: availableContainers.map((container) => ({ value: container, label: container })),
91012
91050
  filterOption: filterSelectOptions,
91013
- disabled: containers.length === 0,
91051
+ disabled: Boolean(pinnedContainerName),
91014
91052
  showSearch: true,
91015
91053
  value: currentContainer,
91016
91054
  onChange: (value) => {