@prorobotech/openapi-k8s-toolkit 1.4.0-alpha.26 → 1.4.0-alpha.27

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 { ab as BackToDefaultIcon, aG as BlackholeForm, aF as BlackholeFormProvider, aB as ClusterListTable, a8 as ConfirmModal, am as ContentCard, as as CursorDefaultDiv, aq as CursorPointerTag, ar as CursorPointerTagMinContent, ap as CustomSelect, D as DeleteIcon, i as DeleteModal, k as DeleteModalMany, aa as DownIcon, aT as DynamicComponents, aS as DynamicRenderer, aU as DynamicRendererWithProviders, al as EarthIcon, g as EditIcon, aA as EnrichedTable, E as EnrichedTableProvider, aR as Events, an as FlexGrow, ag as LockedIcon, ak as LookingGlassIcon, aw as ManageableBreadcrumbs, au as ManageableBreadcrumbsProvider, az as ManageableSidebar, ax as ManageableSidebarProvider, aI as MarketPlace, aJ as MarketplaceCard, af as MinusIcon, aM as NodeTerminal, P as PaddingContainer, ai as PauseCircleIcon, ae as PlusIcon, aN as PodLogs, aO as PodLogsMonaco, aL as PodTerminal, aK as ProjectInfoCard, at as ResourceLink, aj as ResumeCircleIcon, aQ as Search, a6 as Spacer, ac as SuccessIcon, a7 as TreeWithSearch, ao as UncontrolledSelect, ah as UnlockedIcon, a9 as UpIcon, aP as VMVNC, aE as YamlEditorSingleton, J as checkIfApiInstanceNamespaceScoped, K as checkIfBuiltInInstanceNamespaceScoped, F as checkPermission, bo as convertBytes, bw as convertCompute, bt as convertCores, br as convertStorage, b7 as createContextFactory, m as createNewEntry, b9 as deepMerge, o as deleteEntry, ad as feedbackIcons, H as filterIfApiInstanceNamespaceScoped, I as filterIfBuiltInInstanceNamespaceScoped, aX as filterSelectOptions, aZ as floorToDecimal, bp as formatBytesAuto, bu as formatCoresAuto, by as formatDateAuto, b2 as getAllPathsFromObj, r as getApiResourceSingle, y as getApiResourceTypes, z as getApiResourceTypesByApiGroup, q as getApiResources, v as getBuiltinResourceSingle, A as getBuiltinResourceTypes, t as getBuiltinResources, b5 as getBuiltinTreeData, l as getClusterList, B as getCrdData, x as getCrdResourceSingle, w as getCrdResources, C as getDirectUnknownResource, aC as getEnrichedColumns, aD as getEnrichedColumnsWithControls, b6 as getGroupsByCategory, L as getKinds, bi as getLinkToApiForm, bh as getLinkToBuiltinForm, h as getLinkToForm, bn as getNamespaceLink, aH as getObjectFormItemsDraft, b3 as getPrefixSubarrays, bm as getResourceLink, ba as getSortedKinds, bb as getSortedKindsAll, aY as getStringByName, G as getSwagger, bd as getUppercase, b4 as groupsToTreeData, bc as hslFromString, bl as includesArray, aW as isFlatObject, bk as isMultilineFromYaml, bj as isMultilineString, bz as isValidRFC3339, be as kindByGvr, bg as namespacedByGvr, b1 as normalizeValuesForQuotasToNumber, bx as parseCoresWithUnit, a_ as parseQuotaValue, a$ as parseQuotaValueCpu, b0 as parseQuotaValueMemoryAndStorage, bs as parseValueWithUnit, bf as pluralByKind, av as prepareDataForManageableBreadcrumbs, ay as prepareDataForManageableSidebar, aV as prepareTemplate, b8 as prepareUrlsToFetchForDynamicRenderer, bq as toBytes, bv as toCores, n as updateEntry, O as useApiResourceSingle, W as useApiResourceTypesByGroup, N as useApiResources, V as useApisResourceTypes, S as useBuiltinResourceSingle, X as useBuiltinResourceTypes, Q as useBuiltinResources, M as useClusterList, Y as useCrdData, U as useCrdResourceSingle, T as useCrdResources, d as useDirectUnknownResource, $ as useInfiniteSentinel, e as useK8sSmartResource, a0 as useK8sVerbs, a4 as useKinds, Z as useListWatch, a1 as useManyK8sSmartResource, c as usePermissions, a5 as usePluginManifest, a3 as useResourceScope, a2 as useSmartResourceParams } from './index-DX9lpTFs.mjs';
1
+ export { ab as BackToDefaultIcon, aG as BlackholeForm, aF as BlackholeFormProvider, aB as ClusterListTable, a8 as ConfirmModal, am as ContentCard, as as CursorDefaultDiv, aq as CursorPointerTag, ar as CursorPointerTagMinContent, ap as CustomSelect, D as DeleteIcon, i as DeleteModal, k as DeleteModalMany, aa as DownIcon, aT as DynamicComponents, aS as DynamicRenderer, aU as DynamicRendererWithProviders, al as EarthIcon, g as EditIcon, aA as EnrichedTable, E as EnrichedTableProvider, aR as Events, an as FlexGrow, ag as LockedIcon, ak as LookingGlassIcon, aw as ManageableBreadcrumbs, au as ManageableBreadcrumbsProvider, az as ManageableSidebar, ax as ManageableSidebarProvider, aI as MarketPlace, aJ as MarketplaceCard, af as MinusIcon, aM as NodeTerminal, P as PaddingContainer, ai as PauseCircleIcon, ae as PlusIcon, aN as PodLogs, aO as PodLogsMonaco, aL as PodTerminal, aK as ProjectInfoCard, at as ResourceLink, aj as ResumeCircleIcon, aQ as Search, a6 as Spacer, ac as SuccessIcon, a7 as TreeWithSearch, ao as UncontrolledSelect, ah as UnlockedIcon, a9 as UpIcon, aP as VMVNC, aE as YamlEditorSingleton, J as checkIfApiInstanceNamespaceScoped, K as checkIfBuiltInInstanceNamespaceScoped, F as checkPermission, bo as convertBytes, bw as convertCompute, bt as convertCores, br as convertStorage, b7 as createContextFactory, m as createNewEntry, b9 as deepMerge, o as deleteEntry, ad as feedbackIcons, H as filterIfApiInstanceNamespaceScoped, I as filterIfBuiltInInstanceNamespaceScoped, aX as filterSelectOptions, aZ as floorToDecimal, bp as formatBytesAuto, bu as formatCoresAuto, by as formatDateAuto, b2 as getAllPathsFromObj, r as getApiResourceSingle, y as getApiResourceTypes, z as getApiResourceTypesByApiGroup, q as getApiResources, v as getBuiltinResourceSingle, A as getBuiltinResourceTypes, t as getBuiltinResources, b5 as getBuiltinTreeData, l as getClusterList, B as getCrdData, x as getCrdResourceSingle, w as getCrdResources, C as getDirectUnknownResource, aC as getEnrichedColumns, aD as getEnrichedColumnsWithControls, b6 as getGroupsByCategory, L as getKinds, bi as getLinkToApiForm, bh as getLinkToBuiltinForm, h as getLinkToForm, bn as getNamespaceLink, aH as getObjectFormItemsDraft, b3 as getPrefixSubarrays, bm as getResourceLink, ba as getSortedKinds, bb as getSortedKindsAll, aY as getStringByName, G as getSwagger, bd as getUppercase, b4 as groupsToTreeData, bc as hslFromString, bl as includesArray, aW as isFlatObject, bk as isMultilineFromYaml, bj as isMultilineString, bz as isValidRFC3339, be as kindByGvr, bg as namespacedByGvr, b1 as normalizeValuesForQuotasToNumber, bx as parseCoresWithUnit, a_ as parseQuotaValue, a$ as parseQuotaValueCpu, b0 as parseQuotaValueMemoryAndStorage, bs as parseValueWithUnit, bf as pluralByKind, av as prepareDataForManageableBreadcrumbs, ay as prepareDataForManageableSidebar, aV as prepareTemplate, b8 as prepareUrlsToFetchForDynamicRenderer, bq as toBytes, bv as toCores, n as updateEntry, O as useApiResourceSingle, W as useApiResourceTypesByGroup, N as useApiResources, V as useApisResourceTypes, S as useBuiltinResourceSingle, X as useBuiltinResourceTypes, Q as useBuiltinResources, M as useClusterList, Y as useCrdData, U as useCrdResourceSingle, T as useCrdResources, d as useDirectUnknownResource, $ as useInfiniteSentinel, e as useK8sSmartResource, a0 as useK8sVerbs, a4 as useKinds, Z as useListWatch, a1 as useManyK8sSmartResource, c as usePermissions, a5 as usePluginManifest, a3 as useResourceScope, a2 as useSmartResourceParams } from './index-DUVrX7Mq.mjs';
2
2
  //# sourceMappingURL=openapi-k8s-toolkit.es.js.map
@@ -81822,6 +81822,17 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
81822
81822
  ] });
81823
81823
  };
81824
81824
 
81825
+ const getValueByPath = (obj, path) => path.replace(/^\./, "").split(".").reduce((current, key) => {
81826
+ if (current == null || typeof current !== "object") return void 0;
81827
+ return current[key];
81828
+ }, obj);
81829
+ const isEmptyAtPath = (multiQueryData, reqIndex, path) => {
81830
+ const reqData = multiQueryData[`req${reqIndex}`];
81831
+ if (reqData == null || typeof reqData !== "object") return false;
81832
+ const value = getValueByPath(reqData, path);
81833
+ return Array.isArray(value) && value.length === 0;
81834
+ };
81835
+
81825
81836
  const httpStatusToResultStatus = (statusCode) => {
81826
81837
  if (statusCode === 403) return "403";
81827
81838
  if (statusCode === 404) return "404";
@@ -81846,17 +81857,20 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
81846
81857
  }, {});
81847
81858
  if (typeof data.reqIndex === "number") {
81848
81859
  const error = errors[data.reqIndex];
81849
- if (!error) {
81860
+ const shouldCheckEmpty = data.checkEmpty !== false;
81861
+ const itemsPath = data.itemsPath ?? ".items";
81862
+ const emptyListDetected = !error && shouldCheckEmpty && isEmptyAtPath(multiQueryData, data.reqIndex, itemsPath);
81863
+ if (!error && !emptyListDetected) {
81850
81864
  return children ?? null;
81851
81865
  }
81852
81866
  const errorObj = error;
81853
- const httpStatus = errorObj?.response?.status;
81867
+ const httpStatus = emptyListDetected ? 404 : errorObj?.response?.status;
81854
81868
  const autoStatus = httpStatusToResultStatus(httpStatus);
81855
- const autoMessage = errorObj?.response?.statusText || errorObj?.message || String(error);
81869
+ const autoMessage = emptyListDetected ? "The requested resource was not found" : errorObj?.response?.statusText || errorObj?.message || String(error);
81856
81870
  const status = data.status ?? autoStatus;
81857
81871
  const title = data.title ? parseAll({ text: data.title, replaceValues, multiQueryData }) : getDefaultTitle(status);
81858
81872
  const subTitle = data.subTitle ? parseAll({ text: data.subTitle, replaceValues, multiQueryData }) : autoMessage;
81859
- return /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Result, { status, title, subTitle, style: data.style, children });
81873
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Result, { status, title, subTitle, style: data.style });
81860
81874
  }
81861
81875
  const parsedTitle = data.title ? parseAll({ text: data.title, replaceValues, multiQueryData }) : void 0;
81862
81876
  const parsedSubTitle = data.subTitle ? parseAll({ text: data.subTitle, replaceValues, multiQueryData }) : void 0;