@prorobotech/openapi-k8s-toolkit 1.1.0-alpha.1 → 1.1.0-alpha.3
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 +370 -223
- package/dist/openapi-k8s-toolkit.es.js.map +1 -1
- package/dist/openapi-k8s-toolkit.umd.js +373 -224
- package/dist/openapi-k8s-toolkit.umd.js.map +1 -1
- package/dist/types/components/molecules/ManageableBreadcrumbs/ManageableBreadcrumbs.d.ts +1 -1
- package/dist/types/components/molecules/ManageableSidebar/ManageableSidebar.d.ts +1 -1
- package/dist/types/components/organisms/DynamicRendererWithProviders/DynamicRendererWithProviders.d.ts +2 -1
- package/dist/types/components/organisms/DynamicRendererWithProviders/hybridDataProvider.d.ts +22 -0
- package/dist/types/components/organisms/DynamicRendererWithProviders/multiK8sProvider.d.ts +22 -0
- package/dist/types/hooks/useK8sSmartResource.d.ts +29 -0
- package/dist/types/hooks/useK8sVerbs.d.ts +13 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/localTypes/dynamicRender.d.ts +2 -1
- package/package.json +1 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import styled, { createGlobalStyle } from 'styled-components';
|
|
2
|
-
import K, { useState, useRef, useReducer, useEffect, useCallback, useLayoutEffect, Fragment, createContext, useContext,
|
|
2
|
+
import K, { useState, useRef, useReducer, useEffect, useCallback, useMemo, useLayoutEffect, Fragment, createContext, useContext, createElement, isValidElement, cloneElement, useInsertionEffect, useSyncExternalStore, memo, Suspense } from 'react';
|
|
3
3
|
import { Input, Tree, Modal, Alert, theme, Select, Tag, Breadcrumb, Spin, Menu, Tooltip, Space, Button, Flex, Typography, Card as Card$1, Row, Col, Tabs, Form, Popover, notification, Dropdown, Table, Slider, InputNumber, Switch, Result, Progress, Checkbox, Empty } from 'antd';
|
|
4
4
|
import { LoadingOutlined, ExclamationCircleFilled, CloseCircleFilled, CheckCircleFilled, PlusOutlined, ClearOutlined, MinusOutlined, CaretDownOutlined, CaretRightOutlined, InfoCircleOutlined, EyeOutlined, EyeInvisibleOutlined, SearchOutlined, MoreOutlined, CheckOutlined, CloseOutlined, BugOutlined, EllipsisOutlined } from '@ant-design/icons';
|
|
5
|
+
import { useQuery, useQueries, useQueryClient } from '@tanstack/react-query';
|
|
5
6
|
import { Link, useNavigate, useLocation, useParams, useSearchParams } from 'react-router-dom';
|
|
6
|
-
import { useQueries, useQuery, useQueryClient } from '@tanstack/react-query';
|
|
7
7
|
|
|
8
8
|
const Spacer$1 = styled.div`
|
|
9
9
|
height: ${({ $space, $spaceMob, $samespace }) => {
|
|
@@ -8316,6 +8316,63 @@ const PaddingContainer = styled.div`
|
|
|
8316
8316
|
padding: ${({ $padding }) => $padding};
|
|
8317
8317
|
`;
|
|
8318
8318
|
|
|
8319
|
+
const getDirectUnknownResource = async ({ uri }) => {
|
|
8320
|
+
return axios.get(uri);
|
|
8321
|
+
};
|
|
8322
|
+
|
|
8323
|
+
const useDirectUnknownResource = ({
|
|
8324
|
+
uri,
|
|
8325
|
+
queryKey,
|
|
8326
|
+
refetchInterval,
|
|
8327
|
+
isEnabled
|
|
8328
|
+
}) => {
|
|
8329
|
+
return useQuery({
|
|
8330
|
+
queryKey,
|
|
8331
|
+
queryFn: async () => {
|
|
8332
|
+
const response = await getDirectUnknownResource({
|
|
8333
|
+
uri
|
|
8334
|
+
});
|
|
8335
|
+
const data = JSON.parse(JSON.stringify(response.data));
|
|
8336
|
+
if (data.metadata?.resourceVersion) {
|
|
8337
|
+
delete data.metadata.resourceVersion;
|
|
8338
|
+
}
|
|
8339
|
+
return data;
|
|
8340
|
+
},
|
|
8341
|
+
refetchInterval: refetchInterval !== void 0 ? refetchInterval : 5e3,
|
|
8342
|
+
enabled: isEnabled
|
|
8343
|
+
});
|
|
8344
|
+
};
|
|
8345
|
+
|
|
8346
|
+
const useK8sVerbs = ({
|
|
8347
|
+
cluster,
|
|
8348
|
+
group,
|
|
8349
|
+
version,
|
|
8350
|
+
plural,
|
|
8351
|
+
isEnabled = true
|
|
8352
|
+
}) => {
|
|
8353
|
+
const uri = `/api/clusters/${cluster}/openapi-bff/verbs/getResourceVerbs?${new URLSearchParams({
|
|
8354
|
+
...group ? { group } : {},
|
|
8355
|
+
version,
|
|
8356
|
+
plural
|
|
8357
|
+
}).toString()}`;
|
|
8358
|
+
const { data, isError, isLoading, error } = useDirectUnknownResource({
|
|
8359
|
+
uri,
|
|
8360
|
+
queryKey: ["k8s-verbs", group || "", version, plural],
|
|
8361
|
+
refetchInterval: false,
|
|
8362
|
+
isEnabled
|
|
8363
|
+
});
|
|
8364
|
+
const verbs = data?.verbs || [];
|
|
8365
|
+
const canList = verbs.includes("list");
|
|
8366
|
+
const canWatch = verbs.includes("watch");
|
|
8367
|
+
return {
|
|
8368
|
+
canList,
|
|
8369
|
+
canWatch,
|
|
8370
|
+
isError,
|
|
8371
|
+
isLoading,
|
|
8372
|
+
error
|
|
8373
|
+
};
|
|
8374
|
+
};
|
|
8375
|
+
|
|
8319
8376
|
const eventKey$1 = (e) => {
|
|
8320
8377
|
const n = e.metadata?.name ?? "";
|
|
8321
8378
|
const ns = e.metadata?.namespace ?? "";
|
|
@@ -8811,17 +8868,122 @@ const useListWatch = ({
|
|
|
8811
8868
|
};
|
|
8812
8869
|
};
|
|
8813
8870
|
|
|
8814
|
-
const
|
|
8815
|
-
|
|
8816
|
-
|
|
8817
|
-
|
|
8818
|
-
|
|
8819
|
-
|
|
8820
|
-
|
|
8821
|
-
|
|
8822
|
-
|
|
8823
|
-
|
|
8824
|
-
|
|
8871
|
+
const buildApiPrefix = (group, version) => {
|
|
8872
|
+
const g = (group ?? "").trim();
|
|
8873
|
+
const v = (version ?? "").trim();
|
|
8874
|
+
const isCore = !g || g === "core" || g === "v1";
|
|
8875
|
+
return isCore ? `/api/${v}` : `/apis/${g}/${v}`;
|
|
8876
|
+
};
|
|
8877
|
+
const buildListUri = ({
|
|
8878
|
+
cluster,
|
|
8879
|
+
group,
|
|
8880
|
+
version,
|
|
8881
|
+
plural,
|
|
8882
|
+
namespace,
|
|
8883
|
+
fieldSelector,
|
|
8884
|
+
labelSelector,
|
|
8885
|
+
limit
|
|
8886
|
+
}) => {
|
|
8887
|
+
const prefix = buildApiPrefix(group, version);
|
|
8888
|
+
const ns = namespace ? `/namespaces/${namespace}` : "";
|
|
8889
|
+
const base = `/api/clusters/${cluster}/k8s${prefix}${ns}/${plural}/`;
|
|
8890
|
+
const params = new URLSearchParams();
|
|
8891
|
+
if (fieldSelector) params.append("fieldSelector", fieldSelector);
|
|
8892
|
+
if (labelSelector) params.append("labelSelector", labelSelector);
|
|
8893
|
+
if (limit) params.append("limit", String(limit));
|
|
8894
|
+
return params.toString() ? `${base}?${params.toString()}` : base;
|
|
8895
|
+
};
|
|
8896
|
+
const useK8sSmartResource = ({
|
|
8897
|
+
cluster,
|
|
8898
|
+
group,
|
|
8899
|
+
version,
|
|
8900
|
+
plural,
|
|
8901
|
+
namespace,
|
|
8902
|
+
fieldSelector,
|
|
8903
|
+
labelSelector,
|
|
8904
|
+
isEnabled = true,
|
|
8905
|
+
listRefetchInterval = 5e3,
|
|
8906
|
+
limit,
|
|
8907
|
+
mapListWatchState
|
|
8908
|
+
}) => {
|
|
8909
|
+
const {
|
|
8910
|
+
canList,
|
|
8911
|
+
canWatch,
|
|
8912
|
+
isLoading: verbsLoading,
|
|
8913
|
+
isError: verbsIsError,
|
|
8914
|
+
error: verbsErrorObj
|
|
8915
|
+
} = useK8sVerbs({
|
|
8916
|
+
cluster,
|
|
8917
|
+
group,
|
|
8918
|
+
version,
|
|
8919
|
+
plural,
|
|
8920
|
+
isEnabled
|
|
8921
|
+
});
|
|
8922
|
+
const listUri = buildListUri({
|
|
8923
|
+
cluster,
|
|
8924
|
+
group,
|
|
8925
|
+
version,
|
|
8926
|
+
plural,
|
|
8927
|
+
namespace,
|
|
8928
|
+
fieldSelector,
|
|
8929
|
+
labelSelector,
|
|
8930
|
+
limit
|
|
8931
|
+
});
|
|
8932
|
+
const restEnabled = Boolean(isEnabled && canList && !canWatch && !verbsLoading && !verbsIsError);
|
|
8933
|
+
const {
|
|
8934
|
+
data: restData,
|
|
8935
|
+
isLoading: restLoading,
|
|
8936
|
+
isError: restIsError,
|
|
8937
|
+
error: restError
|
|
8938
|
+
} = useDirectUnknownResource({
|
|
8939
|
+
uri: listUri,
|
|
8940
|
+
queryKey: [
|
|
8941
|
+
"k8s-list",
|
|
8942
|
+
cluster,
|
|
8943
|
+
group || "",
|
|
8944
|
+
version,
|
|
8945
|
+
namespace || "",
|
|
8946
|
+
plural,
|
|
8947
|
+
fieldSelector || "",
|
|
8948
|
+
labelSelector || ""
|
|
8949
|
+
],
|
|
8950
|
+
refetchInterval: listRefetchInterval,
|
|
8951
|
+
isEnabled: restEnabled
|
|
8952
|
+
});
|
|
8953
|
+
const watchEnabled = Boolean(isEnabled && canList && canWatch && !verbsLoading && !verbsIsError);
|
|
8954
|
+
const { state, status, lastError } = useListWatch({
|
|
8955
|
+
wsUrl: `/api/clusters/${cluster}/openapi-bff-ws/listThenWatch/listWatchWs`,
|
|
8956
|
+
paused: false,
|
|
8957
|
+
ignoreRemove: false,
|
|
8958
|
+
autoDrain: true,
|
|
8959
|
+
preserveStateOnUrlChange: true,
|
|
8960
|
+
isEnabled: watchEnabled,
|
|
8961
|
+
pageSize: limit,
|
|
8962
|
+
query: {
|
|
8963
|
+
apiGroup: group,
|
|
8964
|
+
apiVersion: version,
|
|
8965
|
+
plural,
|
|
8966
|
+
namespace,
|
|
8967
|
+
fieldSelector,
|
|
8968
|
+
labelSelector
|
|
8969
|
+
}
|
|
8970
|
+
});
|
|
8971
|
+
const defaultMap = (s) => ({ items: s.order.map((k) => s.byKey[k]) });
|
|
8972
|
+
const watchData = useMemo(
|
|
8973
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
8974
|
+
() => watchEnabled ? (mapListWatchState ?? defaultMap)(state) : void 0,
|
|
8975
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
8976
|
+
[watchEnabled, state, mapListWatchState]
|
|
8977
|
+
);
|
|
8978
|
+
const used = !isEnabled ? "disabled" : verbsLoading ? "verbs-loading" : verbsIsError ? "verbs-error" : watchEnabled ? "watch" : restEnabled ? "list" : "disabled";
|
|
8979
|
+
const isLoading = isEnabled && verbsLoading || used === "watch" && status === "connecting" || used === "list" && restLoading;
|
|
8980
|
+
let error;
|
|
8981
|
+
if (verbsIsError) error = verbsErrorObj;
|
|
8982
|
+
else if (used === "watch" && status === "closed" && lastError) error = lastError;
|
|
8983
|
+
else if (used === "list" && restIsError) error = restError;
|
|
8984
|
+
const isError = Boolean(error);
|
|
8985
|
+
const data = used === "watch" ? watchData : used === "list" ? restData : void 0;
|
|
8986
|
+
return { data, isLoading, isError, error, _meta: { used } };
|
|
8825
8987
|
};
|
|
8826
8988
|
|
|
8827
8989
|
const prepareTemplate = ({
|
|
@@ -8961,7 +9123,7 @@ const ManageableBreadcrumbs = ({ data }) => {
|
|
|
8961
9123
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$v.HeightDiv, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(CollapsibleBreadcrumb, { items: data.breadcrumbItems }) });
|
|
8962
9124
|
};
|
|
8963
9125
|
const ManageableBreadcrumbsWithDataProvider = ({
|
|
8964
|
-
|
|
9126
|
+
cluster,
|
|
8965
9127
|
apiGroup,
|
|
8966
9128
|
apiVersion,
|
|
8967
9129
|
plural,
|
|
@@ -8970,28 +9132,17 @@ const ManageableBreadcrumbsWithDataProvider = ({
|
|
|
8970
9132
|
pathname,
|
|
8971
9133
|
idToCompare
|
|
8972
9134
|
}) => {
|
|
8973
|
-
const {
|
|
8974
|
-
|
|
8975
|
-
|
|
8976
|
-
|
|
8977
|
-
|
|
8978
|
-
|
|
8979
|
-
|
|
8980
|
-
|
|
8981
|
-
|
|
8982
|
-
plural
|
|
8983
|
-
},
|
|
9135
|
+
const {
|
|
9136
|
+
data: rawData,
|
|
9137
|
+
isError: rawDataError,
|
|
9138
|
+
isLoading: rawDataLoading
|
|
9139
|
+
} = useK8sSmartResource({
|
|
9140
|
+
cluster: cluster || "",
|
|
9141
|
+
group: apiGroup,
|
|
9142
|
+
version: apiVersion,
|
|
9143
|
+
plural,
|
|
8984
9144
|
isEnabled
|
|
8985
9145
|
});
|
|
8986
|
-
const rawDataLoading = status === "connecting";
|
|
8987
|
-
const rawDataError = status === "closed" && lastError ? lastError : void 0;
|
|
8988
|
-
const rawData = {
|
|
8989
|
-
items: state.order.map((key) => {
|
|
8990
|
-
const res = state.byKey[key];
|
|
8991
|
-
return res;
|
|
8992
|
-
})
|
|
8993
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
8994
|
-
};
|
|
8995
9146
|
if (rawDataError) {
|
|
8996
9147
|
return null;
|
|
8997
9148
|
}
|
|
@@ -9177,7 +9328,7 @@ const ManageableSidebar = ({ data, noMarginTop }) => {
|
|
|
9177
9328
|
);
|
|
9178
9329
|
};
|
|
9179
9330
|
const ManageableSidebarWithDataProvider = ({
|
|
9180
|
-
|
|
9331
|
+
cluster,
|
|
9181
9332
|
apiGroup,
|
|
9182
9333
|
apiVersion,
|
|
9183
9334
|
plural,
|
|
@@ -9189,28 +9340,17 @@ const ManageableSidebarWithDataProvider = ({
|
|
|
9189
9340
|
hidden,
|
|
9190
9341
|
noMarginTop
|
|
9191
9342
|
}) => {
|
|
9192
|
-
const {
|
|
9193
|
-
|
|
9194
|
-
|
|
9195
|
-
|
|
9196
|
-
|
|
9197
|
-
|
|
9198
|
-
|
|
9199
|
-
|
|
9200
|
-
|
|
9201
|
-
plural
|
|
9202
|
-
},
|
|
9343
|
+
const {
|
|
9344
|
+
data: rawData,
|
|
9345
|
+
isError: rawDataError,
|
|
9346
|
+
isLoading: rawDataLoading
|
|
9347
|
+
} = useK8sSmartResource({
|
|
9348
|
+
cluster,
|
|
9349
|
+
group: apiGroup,
|
|
9350
|
+
version: apiVersion,
|
|
9351
|
+
plural,
|
|
9203
9352
|
isEnabled
|
|
9204
9353
|
});
|
|
9205
|
-
const rawDataLoading = status === "connecting";
|
|
9206
|
-
const rawDataError = status === "closed" && lastError ? lastError : void 0;
|
|
9207
|
-
const rawData = {
|
|
9208
|
-
items: state.order.map((key) => {
|
|
9209
|
-
const res = state.byKey[key];
|
|
9210
|
-
return res;
|
|
9211
|
-
})
|
|
9212
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
9213
|
-
};
|
|
9214
9354
|
if (rawDataError) {
|
|
9215
9355
|
return null;
|
|
9216
9356
|
}
|
|
@@ -33469,49 +33609,95 @@ const AntdText = ({
|
|
|
33469
33609
|
};
|
|
33470
33610
|
|
|
33471
33611
|
const MultiQueryContext = createContext(void 0);
|
|
33472
|
-
const
|
|
33473
|
-
|
|
33474
|
-
|
|
33475
|
-
|
|
33612
|
+
const makeEmptyEntry = () => ({
|
|
33613
|
+
data: void 0,
|
|
33614
|
+
isLoading: false,
|
|
33615
|
+
isError: false,
|
|
33616
|
+
error: null
|
|
33617
|
+
});
|
|
33618
|
+
const aggReducer = (state, action) => {
|
|
33619
|
+
switch (action.type) {
|
|
33620
|
+
case "RESET":
|
|
33621
|
+
return { entries: Array.from({ length: action.total }, makeEmptyEntry) };
|
|
33622
|
+
case "SET_ENTRY": {
|
|
33623
|
+
const entries = state.entries.slice();
|
|
33624
|
+
entries[action.index] = action.entry;
|
|
33625
|
+
return { entries };
|
|
33626
|
+
}
|
|
33627
|
+
default:
|
|
33628
|
+
return state;
|
|
33629
|
+
}
|
|
33630
|
+
};
|
|
33631
|
+
const K8sFetcher = ({ index, params, dispatch }) => {
|
|
33632
|
+
const res = useK8sSmartResource(params);
|
|
33633
|
+
useEffect(() => {
|
|
33634
|
+
dispatch({
|
|
33635
|
+
type: "SET_ENTRY",
|
|
33636
|
+
index,
|
|
33637
|
+
entry: {
|
|
33638
|
+
data: res.data,
|
|
33639
|
+
isLoading: res.isLoading,
|
|
33640
|
+
isError: res.isError,
|
|
33641
|
+
error: res.error ?? null
|
|
33642
|
+
}
|
|
33643
|
+
});
|
|
33644
|
+
}, [index, res.data, res.isLoading, res.isError, res.error, dispatch]);
|
|
33645
|
+
return null;
|
|
33646
|
+
};
|
|
33647
|
+
const MultiQueryProvider = ({ items, dataToApplyToContext, children }) => {
|
|
33648
|
+
const k8sItems = useMemo(
|
|
33649
|
+
() => items.filter((x) => typeof x !== "string"),
|
|
33650
|
+
[items]
|
|
33651
|
+
);
|
|
33652
|
+
const urlItems = useMemo(() => items.filter((x) => typeof x === "string"), [items]);
|
|
33653
|
+
const k8sCount = k8sItems.length;
|
|
33654
|
+
const urlCount = urlItems.length;
|
|
33655
|
+
const [state, dispatch] = useReducer(aggReducer, { entries: Array.from({ length: k8sCount }, makeEmptyEntry) });
|
|
33656
|
+
useEffect(() => {
|
|
33657
|
+
dispatch({ type: "RESET", total: k8sCount });
|
|
33658
|
+
}, [k8sCount]);
|
|
33659
|
+
const urlQueries = useQueries({
|
|
33660
|
+
queries: urlItems.map((url, i) => ({
|
|
33661
|
+
queryKey: ["multi-url", i, url],
|
|
33476
33662
|
queryFn: async () => {
|
|
33477
|
-
const
|
|
33478
|
-
return
|
|
33663
|
+
const res = await axios.get(url);
|
|
33664
|
+
return res.data;
|
|
33479
33665
|
}
|
|
33480
33666
|
}))
|
|
33481
33667
|
});
|
|
33482
|
-
const
|
|
33483
|
-
|
|
33484
|
-
|
|
33485
|
-
|
|
33486
|
-
|
|
33487
|
-
|
|
33488
|
-
|
|
33489
|
-
|
|
33490
|
-
|
|
33491
|
-
|
|
33492
|
-
|
|
33493
|
-
|
|
33494
|
-
|
|
33495
|
-
|
|
33496
|
-
|
|
33497
|
-
|
|
33498
|
-
|
|
33499
|
-
() => (
|
|
33500
|
-
|
|
33501
|
-
|
|
33502
|
-
|
|
33503
|
-
|
|
33504
|
-
|
|
33505
|
-
|
|
33506
|
-
|
|
33507
|
-
|
|
33668
|
+
const value = useMemo(() => {
|
|
33669
|
+
if (typeof dataToApplyToContext !== "undefined") {
|
|
33670
|
+
return { data: { req0: dataToApplyToContext }, isLoading: false, isError: false, errors: [] };
|
|
33671
|
+
}
|
|
33672
|
+
const data = {};
|
|
33673
|
+
const errors = [];
|
|
33674
|
+
for (let i = 0; i < k8sCount; i++) {
|
|
33675
|
+
const e = state.entries[i] ?? makeEmptyEntry();
|
|
33676
|
+
data[`req${i}`] = e.data;
|
|
33677
|
+
errors[i] = e.isError ? e.error : null;
|
|
33678
|
+
}
|
|
33679
|
+
for (let i = 0; i < urlCount; i++) {
|
|
33680
|
+
const q = urlQueries[i];
|
|
33681
|
+
const idx = k8sCount + i;
|
|
33682
|
+
data[`req${idx}`] = q?.data;
|
|
33683
|
+
errors[idx] = q?.isError ? q.error ?? null : null;
|
|
33684
|
+
}
|
|
33685
|
+
const isLoading = state.entries.some((e) => e.isLoading) || urlQueries.some((q) => q.isLoading);
|
|
33686
|
+
const isError = state.entries.some((e) => e.isError) || urlQueries.some((q) => q.isError);
|
|
33687
|
+
return { data, isLoading, isError, errors };
|
|
33688
|
+
}, [dataToApplyToContext, k8sCount, urlCount, state.entries, urlQueries]);
|
|
33689
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(MultiQueryContext.Provider, { value, children: [
|
|
33690
|
+
k8sItems.map((params, i) => (
|
|
33691
|
+
// eslint-disable-next-line react/no-array-index-key
|
|
33692
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(K8sFetcher, { index: i, params, dispatch }, i)
|
|
33693
|
+
)),
|
|
33694
|
+
children
|
|
33695
|
+
] });
|
|
33508
33696
|
};
|
|
33509
33697
|
const useMultiQuery = () => {
|
|
33510
|
-
const
|
|
33511
|
-
if (!
|
|
33512
|
-
|
|
33513
|
-
}
|
|
33514
|
-
return context;
|
|
33698
|
+
const ctx = useContext(MultiQueryContext);
|
|
33699
|
+
if (!ctx) throw new Error("useMultiQuery must be used within a MultiQueryProvider");
|
|
33700
|
+
return ctx;
|
|
33515
33701
|
};
|
|
33516
33702
|
|
|
33517
33703
|
const createContextFactory = () => {
|
|
@@ -33739,7 +33925,7 @@ const MultiQuery = ({ data }) => {
|
|
|
33739
33925
|
if (isError) {
|
|
33740
33926
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
33741
33927
|
/* @__PURE__ */ jsxRuntimeExports.jsx("h4", { children: "Errors:" }),
|
|
33742
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("ul", { children: errors.map((e, i) => e && /* @__PURE__ */ jsxRuntimeExports.jsx("li", { children: e.message }, i)) })
|
|
33928
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("ul", { children: errors.map((e, i) => e && /* @__PURE__ */ jsxRuntimeExports.jsx("li", { children: typeof e === "string" ? e : e.message }, i)) })
|
|
33743
33929
|
] });
|
|
33744
33930
|
}
|
|
33745
33931
|
return /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: preparedText });
|
|
@@ -33769,7 +33955,7 @@ const ParsedText = ({ data }) => {
|
|
|
33769
33955
|
if (isError) {
|
|
33770
33956
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
33771
33957
|
/* @__PURE__ */ jsxRuntimeExports.jsx("h4", { children: "Errors:" }),
|
|
33772
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("ul", { children: errors.map((e, i) => e && /* @__PURE__ */ jsxRuntimeExports.jsx("li", { children: e.message }, i)) })
|
|
33958
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("ul", { children: errors.map((e, i) => e && /* @__PURE__ */ jsxRuntimeExports.jsx("li", { children: typeof e === "string" ? e : e.message }, i)) })
|
|
33773
33959
|
] });
|
|
33774
33960
|
}
|
|
33775
33961
|
const replaceValues = partsOfUrl.partsOfUrl.reduce((acc, value, index) => {
|
|
@@ -33806,7 +33992,7 @@ const ProjectInfoCard$1 = ({
|
|
|
33806
33992
|
if (isError) {
|
|
33807
33993
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
33808
33994
|
/* @__PURE__ */ jsxRuntimeExports.jsx("h4", { children: "Errors:" }),
|
|
33809
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("ul", { children: errors.map((e, i) => e && /* @__PURE__ */ jsxRuntimeExports.jsx("li", { children: e.message }, i)) })
|
|
33995
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("ul", { children: errors.map((e, i) => e && /* @__PURE__ */ jsxRuntimeExports.jsx("li", { children: typeof e === "string" ? e : e.message }, i)) })
|
|
33810
33996
|
] });
|
|
33811
33997
|
}
|
|
33812
33998
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(ProjectInfoCard, { clusterName, namespace, accessGroups: parsedAccessGroups, ...props, children });
|
|
@@ -33923,7 +34109,7 @@ const StatusText$1 = ({
|
|
|
33923
34109
|
if (isError) {
|
|
33924
34110
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
33925
34111
|
/* @__PURE__ */ jsxRuntimeExports.jsx("h4", { children: "Errors:" }),
|
|
33926
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("ul", { children: errors.map((e, i) => e && /* @__PURE__ */ jsxRuntimeExports.jsx("li", { children: e.message }, i)) })
|
|
34112
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("ul", { children: errors.map((e, i) => e && /* @__PURE__ */ jsxRuntimeExports.jsx("li", { children: typeof e === "string" ? e : e.message }, i)) })
|
|
33927
34113
|
] });
|
|
33928
34114
|
}
|
|
33929
34115
|
const { type, text } = getResult({
|
|
@@ -34009,33 +34195,6 @@ const usePermissions = ({
|
|
|
34009
34195
|
});
|
|
34010
34196
|
};
|
|
34011
34197
|
|
|
34012
|
-
const getDirectUnknownResource = async ({ uri }) => {
|
|
34013
|
-
return axios.get(uri);
|
|
34014
|
-
};
|
|
34015
|
-
|
|
34016
|
-
const useDirectUnknownResource = ({
|
|
34017
|
-
uri,
|
|
34018
|
-
queryKey,
|
|
34019
|
-
refetchInterval,
|
|
34020
|
-
isEnabled
|
|
34021
|
-
}) => {
|
|
34022
|
-
return useQuery({
|
|
34023
|
-
queryKey,
|
|
34024
|
-
queryFn: async () => {
|
|
34025
|
-
const response = await getDirectUnknownResource({
|
|
34026
|
-
uri
|
|
34027
|
-
});
|
|
34028
|
-
const data = JSON.parse(JSON.stringify(response.data));
|
|
34029
|
-
if (data.metadata?.resourceVersion) {
|
|
34030
|
-
delete data.metadata.resourceVersion;
|
|
34031
|
-
}
|
|
34032
|
-
return data;
|
|
34033
|
-
},
|
|
34034
|
-
refetchInterval: refetchInterval !== void 0 ? refetchInterval : 5e3,
|
|
34035
|
-
enabled: isEnabled
|
|
34036
|
-
});
|
|
34037
|
-
};
|
|
34038
|
-
|
|
34039
34198
|
const getBackLinkToTable = ({ fullPath }) => {
|
|
34040
34199
|
return encodeURIComponent(fullPath);
|
|
34041
34200
|
};
|
|
@@ -34655,7 +34814,7 @@ const ArrayOfObjectsToKeyValues = ({ data, children }) => {
|
|
|
34655
34814
|
if (isMultiQueryErrors) {
|
|
34656
34815
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
34657
34816
|
/* @__PURE__ */ jsxRuntimeExports.jsx("h4", { children: "Errors:" }),
|
|
34658
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("ul", { children: errors.map((e, i) => e && /* @__PURE__ */ jsxRuntimeExports.jsx("li", { children: e.message }, i)) })
|
|
34817
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("ul", { children: errors.map((e, i) => e && /* @__PURE__ */ jsxRuntimeExports.jsx("li", { children: typeof e === "string" ? e : e.message }, i)) })
|
|
34659
34818
|
] });
|
|
34660
34819
|
}
|
|
34661
34820
|
const jsonRoot = multiQueryData[`req${reqIndex}`];
|
|
@@ -34722,7 +34881,7 @@ const ItemCounter = ({
|
|
|
34722
34881
|
if (isMultiQueryErrors) {
|
|
34723
34882
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
34724
34883
|
/* @__PURE__ */ jsxRuntimeExports.jsx("h4", { children: "Errors:" }),
|
|
34725
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("ul", { children: errors.map((e, i) => e && /* @__PURE__ */ jsxRuntimeExports.jsx("li", { children: e.message }, i)) })
|
|
34884
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("ul", { children: errors.map((e, i) => e && /* @__PURE__ */ jsxRuntimeExports.jsx("li", { children: typeof e === "string" ? e : e.message }, i)) })
|
|
34726
34885
|
] });
|
|
34727
34886
|
}
|
|
34728
34887
|
const replaceValues = partsOfUrl.partsOfUrl.reduce((acc, value, index) => {
|
|
@@ -34779,7 +34938,7 @@ const KeyCounter = ({
|
|
|
34779
34938
|
if (isMultiQueryErrors) {
|
|
34780
34939
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
34781
34940
|
/* @__PURE__ */ jsxRuntimeExports.jsx("h4", { children: "Errors:" }),
|
|
34782
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("ul", { children: errors.map((e, i) => e && /* @__PURE__ */ jsxRuntimeExports.jsx("li", { children: e.message }, i)) })
|
|
34941
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("ul", { children: errors.map((e, i) => e && /* @__PURE__ */ jsxRuntimeExports.jsx("li", { children: typeof e === "string" ? e : e.message }, i)) })
|
|
34783
34942
|
] });
|
|
34784
34943
|
}
|
|
34785
34944
|
const replaceValues = partsOfUrl.partsOfUrl.reduce((acc, value, index) => {
|
|
@@ -35164,7 +35323,7 @@ const Labels = ({ data, children }) => {
|
|
|
35164
35323
|
if (isMultiQueryErrors) {
|
|
35165
35324
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
35166
35325
|
/* @__PURE__ */ jsxRuntimeExports.jsx("h4", { children: "Errors:" }),
|
|
35167
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("ul", { children: errors.map((e, i) => e && /* @__PURE__ */ jsxRuntimeExports.jsx("li", { children: e.message }, i)) })
|
|
35326
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("ul", { children: errors.map((e, i) => e && /* @__PURE__ */ jsxRuntimeExports.jsx("li", { children: typeof e === "string" ? e : e.message }, i)) })
|
|
35168
35327
|
] });
|
|
35169
35328
|
}
|
|
35170
35329
|
const replaceValues = partsOfUrl.partsOfUrl.reduce((acc, value, index) => {
|
|
@@ -35439,7 +35598,7 @@ const LabelsToSearchParams = ({ data, children }) => {
|
|
|
35439
35598
|
if (isMultiQueryErrors) {
|
|
35440
35599
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
35441
35600
|
/* @__PURE__ */ jsxRuntimeExports.jsx("h4", { children: "Errors:" }),
|
|
35442
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("ul", { children: errors.map((e, i) => e && /* @__PURE__ */ jsxRuntimeExports.jsx("li", { children: e.message }, i)) })
|
|
35601
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("ul", { children: errors.map((e, i) => e && /* @__PURE__ */ jsxRuntimeExports.jsx("li", { children: typeof e === "string" ? e : e.message }, i)) })
|
|
35443
35602
|
] });
|
|
35444
35603
|
}
|
|
35445
35604
|
const replaceValues = partsOfUrl.partsOfUrl.reduce((acc, value, index) => {
|
|
@@ -35708,7 +35867,7 @@ const Taints = ({ data, children }) => {
|
|
|
35708
35867
|
if (isMultiQueryErrors) {
|
|
35709
35868
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
35710
35869
|
/* @__PURE__ */ jsxRuntimeExports.jsx("h4", { children: "Errors:" }),
|
|
35711
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("ul", { children: errors.map((e, i) => e && /* @__PURE__ */ jsxRuntimeExports.jsx("li", { children: e.message }, i)) })
|
|
35870
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("ul", { children: errors.map((e, i) => e && /* @__PURE__ */ jsxRuntimeExports.jsx("li", { children: typeof e === "string" ? e : e.message }, i)) })
|
|
35712
35871
|
] });
|
|
35713
35872
|
}
|
|
35714
35873
|
const replaceValues = partsOfUrl.partsOfUrl.reduce((acc, value, index) => {
|
|
@@ -36081,7 +36240,7 @@ const Tolerations = ({
|
|
|
36081
36240
|
if (isMultiQueryErrors) {
|
|
36082
36241
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
36083
36242
|
/* @__PURE__ */ jsxRuntimeExports.jsx("h4", { children: "Errors:" }),
|
|
36084
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("ul", { children: errors.map((e, i) => e && /* @__PURE__ */ jsxRuntimeExports.jsx("li", { children: e.message }, i)) })
|
|
36243
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("ul", { children: errors.map((e, i) => e && /* @__PURE__ */ jsxRuntimeExports.jsx("li", { children: typeof e === "string" ? e : e.message }, i)) })
|
|
36085
36244
|
] });
|
|
36086
36245
|
}
|
|
36087
36246
|
const replaceValues = partsOfUrl.partsOfUrl.reduce((acc, value, index) => {
|
|
@@ -36362,7 +36521,7 @@ const Annotations = ({
|
|
|
36362
36521
|
if (isMultiQueryErrors) {
|
|
36363
36522
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
36364
36523
|
/* @__PURE__ */ jsxRuntimeExports.jsx("h4", { children: "Errors:" }),
|
|
36365
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("ul", { children: errors.map((e, i) => e && /* @__PURE__ */ jsxRuntimeExports.jsx("li", { children: e.message }, i)) })
|
|
36524
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("ul", { children: errors.map((e, i) => e && /* @__PURE__ */ jsxRuntimeExports.jsx("li", { children: typeof e === "string" ? e : e.message }, i)) })
|
|
36366
36525
|
] });
|
|
36367
36526
|
}
|
|
36368
36527
|
const replaceValues = partsOfUrl.partsOfUrl.reduce((acc, value, index) => {
|
|
@@ -36580,7 +36739,7 @@ const ConverterBytes = ({ data }) => {
|
|
|
36580
36739
|
if (isError) {
|
|
36581
36740
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
36582
36741
|
/* @__PURE__ */ jsxRuntimeExports.jsx("h4", { children: "Errors:" }),
|
|
36583
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("ul", { children: errors.map((e, i) => e && /* @__PURE__ */ jsxRuntimeExports.jsx("li", { children: e.message }, i)) })
|
|
36742
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("ul", { children: errors.map((e, i) => e && /* @__PURE__ */ jsxRuntimeExports.jsx("li", { children: typeof e === "string" ? e : e.message }, i)) })
|
|
36584
36743
|
] });
|
|
36585
36744
|
}
|
|
36586
36745
|
const replaceValues = partsOfUrl.partsOfUrl.reduce((acc, value, index) => {
|
|
@@ -37397,7 +37556,7 @@ const SecretBase64Plain = ({ data }) => {
|
|
|
37397
37556
|
if (isError) {
|
|
37398
37557
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
37399
37558
|
/* @__PURE__ */ jsxRuntimeExports.jsx("h4", { children: "Errors:" }),
|
|
37400
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("ul", { children: errors.map((e, i) => e && /* @__PURE__ */ jsxRuntimeExports.jsx("li", { children: e.message }, i)) })
|
|
37559
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("ul", { children: errors.map((e, i) => e && /* @__PURE__ */ jsxRuntimeExports.jsx("li", { children: typeof e === "string" ? e : e.message }, i)) })
|
|
37401
37560
|
] });
|
|
37402
37561
|
}
|
|
37403
37562
|
const replaceValues = partsOfUrl.partsOfUrl.reduce((acc, value, index) => {
|
|
@@ -37529,7 +37688,7 @@ const ResourceBadge = ({ data }) => {
|
|
|
37529
37688
|
if (isError) {
|
|
37530
37689
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
37531
37690
|
/* @__PURE__ */ jsxRuntimeExports.jsx("h4", { children: "Errors:" }),
|
|
37532
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("ul", { children: errors.map((e, i) => e && /* @__PURE__ */ jsxRuntimeExports.jsx("li", { children: e.message }, i)) })
|
|
37691
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("ul", { children: errors.map((e, i) => e && /* @__PURE__ */ jsxRuntimeExports.jsx("li", { children: typeof e === "string" ? e : e.message }, i)) })
|
|
37533
37692
|
] });
|
|
37534
37693
|
}
|
|
37535
37694
|
const replaceValues = partsOfUrl.partsOfUrl.reduce((acc, value2, index) => {
|
|
@@ -37710,13 +37869,30 @@ const prepareUrlsToFetchForDynamicRenderer = ({
|
|
|
37710
37869
|
);
|
|
37711
37870
|
};
|
|
37712
37871
|
|
|
37872
|
+
const STRING_KEYS = ["cluster", "group", "version", "plural", "namespace", "fieldSelector", "labelSelector"];
|
|
37713
37873
|
const DynamicRendererWithProviders = (props) => {
|
|
37714
37874
|
const location = useLocation();
|
|
37715
37875
|
const { urlsToFetch, dataToApplyToContext, theme, nodeTerminalDefaultProfile, disableEventBubbling } = props;
|
|
37876
|
+
const directUrls = urlsToFetch.filter((el) => typeof el === "string");
|
|
37877
|
+
const k8sResourcesUrls = urlsToFetch.filter((el) => typeof el !== "string");
|
|
37716
37878
|
const preparedUrlsToFetch = prepareUrlsToFetchForDynamicRenderer({
|
|
37717
|
-
urls:
|
|
37879
|
+
urls: directUrls,
|
|
37718
37880
|
locationPathname: location.pathname
|
|
37719
37881
|
});
|
|
37882
|
+
const preparedK8sResoucesUrls = k8sResourcesUrls.map((res) => {
|
|
37883
|
+
let next = { ...res };
|
|
37884
|
+
for (const key of STRING_KEYS) {
|
|
37885
|
+
const val = next[key];
|
|
37886
|
+
if (typeof val === "string" && val.length > 0) {
|
|
37887
|
+
const prepared = prepareUrlsToFetchForDynamicRenderer({
|
|
37888
|
+
urls: [val],
|
|
37889
|
+
locationPathname: location.pathname
|
|
37890
|
+
});
|
|
37891
|
+
next = { ...next, [key]: prepared[0] ?? val };
|
|
37892
|
+
}
|
|
37893
|
+
}
|
|
37894
|
+
return next;
|
|
37895
|
+
});
|
|
37720
37896
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
37721
37897
|
CursorDefaultDiv,
|
|
37722
37898
|
{
|
|
@@ -37726,7 +37902,14 @@ const DynamicRendererWithProviders = (props) => {
|
|
|
37726
37902
|
e.stopPropagation();
|
|
37727
37903
|
}
|
|
37728
37904
|
},
|
|
37729
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeProvider, { theme, children: /* @__PURE__ */ jsxRuntimeExports.jsx(FactoryConfigContextProvider, { value: { nodeTerminalDefaultProfile }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(PartsOfUrlProvider, { value: { partsOfUrl: location.pathname.split("/") }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
37905
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeProvider, { theme, children: /* @__PURE__ */ jsxRuntimeExports.jsx(FactoryConfigContextProvider, { value: { nodeTerminalDefaultProfile }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(PartsOfUrlProvider, { value: { partsOfUrl: location.pathname.split("/") }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
37906
|
+
MultiQueryProvider,
|
|
37907
|
+
{
|
|
37908
|
+
items: [...preparedK8sResoucesUrls, ...preparedUrlsToFetch],
|
|
37909
|
+
dataToApplyToContext,
|
|
37910
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(DynamicRenderer, { ...props })
|
|
37911
|
+
}
|
|
37912
|
+
) }) }) })
|
|
37730
37913
|
}
|
|
37731
37914
|
);
|
|
37732
37915
|
};
|
|
@@ -50309,28 +50492,14 @@ const MarketplaceCard = ({
|
|
|
50309
50492
|
apiVersion,
|
|
50310
50493
|
baseprefix
|
|
50311
50494
|
});
|
|
50312
|
-
const {
|
|
50313
|
-
|
|
50314
|
-
|
|
50315
|
-
|
|
50316
|
-
|
|
50317
|
-
|
|
50318
|
-
query: {
|
|
50319
|
-
namespace,
|
|
50320
|
-
apiVersion: apiVersion || "",
|
|
50321
|
-
apiGroup,
|
|
50322
|
-
plural: type
|
|
50323
|
-
},
|
|
50495
|
+
const { data: k8sList, error: k8sListError } = useK8sSmartResource({
|
|
50496
|
+
cluster: clusterName || "",
|
|
50497
|
+
namespace,
|
|
50498
|
+
group: apiGroup,
|
|
50499
|
+
version: apiVersion || "",
|
|
50500
|
+
plural: type,
|
|
50324
50501
|
isEnabled: Boolean(apiVersion && addedMode && type !== "direct")
|
|
50325
50502
|
});
|
|
50326
|
-
const k8sListError = status === "closed" && lastError ? lastError : void 0;
|
|
50327
|
-
const k8sList = {
|
|
50328
|
-
items: state.order.map((key) => {
|
|
50329
|
-
const res = state.byKey[key];
|
|
50330
|
-
return res;
|
|
50331
|
-
})
|
|
50332
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
50333
|
-
};
|
|
50334
50503
|
if (addedMode && (k8sListError || type === "direct") && !showZeroResources) {
|
|
50335
50504
|
return null;
|
|
50336
50505
|
}
|
|
@@ -50459,30 +50628,17 @@ const MarketPlace = ({
|
|
|
50459
50628
|
const [filteredAndSortedData, setFilterAndSortedData] = useState([]);
|
|
50460
50629
|
const [uniqueTags, setUniqueTags] = useState([]);
|
|
50461
50630
|
const [selectedTags, setSelectedTags] = useState([]);
|
|
50462
|
-
const {
|
|
50463
|
-
|
|
50464
|
-
|
|
50465
|
-
|
|
50466
|
-
|
|
50467
|
-
|
|
50468
|
-
|
|
50469
|
-
|
|
50470
|
-
|
|
50471
|
-
|
|
50472
|
-
},
|
|
50473
|
-
isEnabled: clusterName !== void 0
|
|
50631
|
+
const {
|
|
50632
|
+
data: marketplacePanels,
|
|
50633
|
+
isLoading,
|
|
50634
|
+
error
|
|
50635
|
+
} = useK8sSmartResource({
|
|
50636
|
+
cluster: clusterName || "",
|
|
50637
|
+
group: baseApiGroup,
|
|
50638
|
+
version: baseApiVersion,
|
|
50639
|
+
plural: mpResourceName,
|
|
50640
|
+
isEnabled: Boolean(clusterName !== void 0)
|
|
50474
50641
|
});
|
|
50475
|
-
const isLoading = status === "connecting";
|
|
50476
|
-
const error = status === "closed" && lastError ? lastError : void 0;
|
|
50477
|
-
const marketplacePanels = useMemo(() => {
|
|
50478
|
-
return {
|
|
50479
|
-
items: state.order.map((key) => {
|
|
50480
|
-
const res = state.byKey[key];
|
|
50481
|
-
return res;
|
|
50482
|
-
})
|
|
50483
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
50484
|
-
};
|
|
50485
|
-
}, [state]);
|
|
50486
50642
|
const createPermission = usePermissions({
|
|
50487
50643
|
group: baseApiGroup,
|
|
50488
50644
|
resource: mpResourceName,
|
|
@@ -50781,52 +50937,30 @@ const ProjectInfoCard = ({
|
|
|
50781
50937
|
children
|
|
50782
50938
|
}) => {
|
|
50783
50939
|
const navigate = useNavigate();
|
|
50784
|
-
const { state, status } = useListWatch({
|
|
50785
|
-
wsUrl: `/api/clusters/${clusterName}/openapi-bff-ws/listThenWatch/listWatchWs`,
|
|
50786
|
-
paused: false,
|
|
50787
|
-
ignoreRemove: false,
|
|
50788
|
-
autoDrain: true,
|
|
50789
|
-
preserveStateOnUrlChange: true,
|
|
50790
|
-
query: {
|
|
50791
|
-
apiVersion: baseApiVersion,
|
|
50792
|
-
apiGroup: baseApiGroup,
|
|
50793
|
-
plural: mpResourceName
|
|
50794
|
-
},
|
|
50795
|
-
isEnabled: clusterName !== void 0
|
|
50796
|
-
});
|
|
50797
|
-
const marketplaceIsLoading = status === "connecting";
|
|
50798
|
-
const marketplacePanels = {
|
|
50799
|
-
items: state.order.map((key) => {
|
|
50800
|
-
const res = state.byKey[key];
|
|
50801
|
-
return res;
|
|
50802
|
-
})
|
|
50803
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
50804
|
-
};
|
|
50805
50940
|
const {
|
|
50806
|
-
|
|
50807
|
-
|
|
50808
|
-
|
|
50809
|
-
} =
|
|
50810
|
-
|
|
50811
|
-
|
|
50812
|
-
|
|
50813
|
-
|
|
50814
|
-
|
|
50815
|
-
query: {
|
|
50816
|
-
apiVersion: baseProjectVersion,
|
|
50817
|
-
apiGroup: baseProjectApiGroup,
|
|
50818
|
-
plural: projectResourceName,
|
|
50819
|
-
fieldSelector: `metadata.name=${namespace}`
|
|
50820
|
-
},
|
|
50821
|
-
isEnabled: clusterName !== void 0
|
|
50941
|
+
data: marketplacePanels,
|
|
50942
|
+
isLoading: marketplaceIsLoading
|
|
50943
|
+
// error: marketplaceError,
|
|
50944
|
+
} = useK8sSmartResource({
|
|
50945
|
+
cluster: clusterName || "",
|
|
50946
|
+
group: baseApiGroup,
|
|
50947
|
+
version: baseApiVersion,
|
|
50948
|
+
plural: mpResourceName,
|
|
50949
|
+
isEnabled: Boolean(clusterName !== void 0)
|
|
50822
50950
|
});
|
|
50823
|
-
const
|
|
50824
|
-
|
|
50825
|
-
|
|
50826
|
-
|
|
50827
|
-
|
|
50951
|
+
const {
|
|
50952
|
+
data: projectArr,
|
|
50953
|
+
isLoading,
|
|
50954
|
+
error
|
|
50955
|
+
} = useK8sSmartResource({
|
|
50956
|
+
cluster: clusterName || "",
|
|
50957
|
+
group: baseProjectApiGroup,
|
|
50958
|
+
version: baseProjectVersion,
|
|
50959
|
+
plural: projectResourceName,
|
|
50960
|
+
fieldSelector: `metadata.name=${namespace}`,
|
|
50961
|
+
isEnabled: Boolean(clusterName !== void 0)
|
|
50828
50962
|
});
|
|
50829
|
-
const project = projectArr.length > 0 ? projectArr[0] : void 0;
|
|
50963
|
+
const project = projectArr && projectArr.length > 0 ? projectArr[0] : void 0;
|
|
50830
50964
|
const [isDeleteModalOpen, setIsDeleteModalOpen] = useState(false);
|
|
50831
50965
|
const updatePermission = usePermissions({
|
|
50832
50966
|
group: baseProjectApiGroup,
|
|
@@ -53468,5 +53602,18 @@ const useCrdData = ({
|
|
|
53468
53602
|
});
|
|
53469
53603
|
};
|
|
53470
53604
|
|
|
53471
|
-
|
|
53605
|
+
const useInfiniteSentinel = (sentinelRef, hasMore, onNeedMore) => {
|
|
53606
|
+
useEffect(() => {
|
|
53607
|
+
const el = sentinelRef.current;
|
|
53608
|
+
if (!el) return void 0;
|
|
53609
|
+
const io = new IntersectionObserver((entries) => {
|
|
53610
|
+
const visible = entries.some((e) => e.isIntersecting);
|
|
53611
|
+
if (visible && hasMore) onNeedMore();
|
|
53612
|
+
});
|
|
53613
|
+
io.observe(el);
|
|
53614
|
+
return () => io.disconnect();
|
|
53615
|
+
}, [sentinelRef, hasMore, onNeedMore]);
|
|
53616
|
+
};
|
|
53617
|
+
|
|
53618
|
+
export { BackToDefaultIcon, BlackholeForm, BlackholeFormDataProvider, ContentCard$1 as ContentCard, CursorDefaultDiv, CursorPointerTag, CursorPointerTagMinContent, CustomSelect$4 as CustomSelect, DeleteIcon, DeleteModal, DeleteModalMany, DownIcon, DynamicComponents, DynamicRenderer, DynamicRendererWithProviders, EarthIcon, EditIcon, EnrichedTable, EnrichedTableProvider, Events, FlexGrow, LockedIcon, LookingGlassIcon, ManageableBreadcrumbs, ManageableBreadcrumbsWithDataProvider, ManageableSidebar, ManageableSidebarWithDataProvider, MarketPlace, MarketplaceCard, MinusIcon, NodeTerminal, PaddingContainer, PauseCircleIcon, PlusIcon, PodLogs, PodLogsMonaco, PodTerminal, ProjectInfoCard, ResumeCircleIcon, Search, Spacer$1 as Spacer, SuccessIcon, TreeWithSearch, UncontrolledSelect, UnlockedIcon, UpIcon, YamlEditorSingleton, checkIfApiInstanceNamespaceScoped, checkIfBuiltInInstanceNamespaceScoped, checkPermission, createContextFactory, createNewEntry, deepMerge, deleteEntry, feedbackIcons, filterIfApiInstanceNamespaceScoped, filterIfBuiltInInstanceNamespaceScoped, filterSelectOptions, floorToDecimal, getAllPathsFromObj, getApiResourceSingle, getApiResourceTypes, getApiResourceTypesByApiGroup, getApiResources, getBackLinkToTable, getBuiltinResourceSingle, getBuiltinResourceTypes, getBuiltinResources, getBuiltinTreeData, getClusterList, getCrdData, getCrdResourceSingle, getCrdResources, getDirectUnknownResource, getEnrichedColumns, getEnrichedColumnsWithControls, getGroupsByCategory, getKinds, getLinkToApiForm, getLinkToBuiltinForm, getLinkToForm, getObjectFormItemsDraft, getPrefixSubarrays, getSortedKinds, getSortedKindsAll, getStringByName, getSwagger, getUppercase, groupsToTreeData, hslFromString, isFlatObject, isMultilineFromYaml, isMultilineString, kindByGvr, namespacedByGvr, normalizeValuesForQuotasToNumber, parseQuotaValue, parseQuotaValueCpu, parseQuotaValueMemoryAndStorage, pluralByKind, prepareDataForManageableBreadcrumbs, prepareDataForManageableSidebar, prepareTemplate, prepareUrlsToFetchForDynamicRenderer, updateEntry, useApiResourceSingle, useApiResourceTypesByGroup, useApiResources, useApisResourceTypes, useBuiltinResourceSingle, useBuiltinResourceTypes, useBuiltinResources, useClusterList, useCrdData, useCrdResourceSingle, useCrdResources, useDirectUnknownResource, useInfiniteSentinel, useK8sSmartResource, useK8sVerbs, useListWatch, usePermissions };
|
|
53472
53619
|
//# sourceMappingURL=openapi-k8s-toolkit.es.js.map
|