@dovetail-v2/refine 0.3.17-alpha.0 → 0.3.17
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/components/ShowContent/ShowContentView.d.ts +0 -1
- package/dist/components/ShowContent/fields.d.ts +2 -1
- package/dist/components/ShowContent/tabs.d.ts +7 -5
- package/dist/hooks/useEagleTable/columns.d.ts +10 -8
- package/dist/i18n.d.ts +1 -2
- package/dist/locales/zh-CN/index.d.ts +1 -2
- package/dist/models/deployment-model.d.ts +1 -0
- package/dist/models/ingress-model.d.ts +1 -0
- package/dist/models/resource-model.d.ts +1 -1
- package/dist/pages/configmaps/index.d.ts +3 -1
- package/dist/pages/secrets/index.d.ts +3 -1
- package/dist/refine.cjs +88 -62
- package/dist/refine.js +89 -63
- package/dist/style.css +8 -1
- package/package.json +1 -1
|
@@ -2,6 +2,7 @@ import { StatusCapsuleColor } from '@cloudtower/eagle';
|
|
|
2
2
|
import { useTable } from '@refinedev/core';
|
|
3
3
|
import { i18n as I18nType } from 'i18next';
|
|
4
4
|
import { Unstructured } from 'k8s-api-provider';
|
|
5
|
+
import { ConfigMap, Secret } from 'kubernetes-types/core/v1';
|
|
5
6
|
import { NetworkPolicy } from 'kubernetes-types/networking/v1';
|
|
6
7
|
import React from 'react';
|
|
7
8
|
import { JobModel, ResourceModel, WorkloadModel, WorkloadBaseModel, CronJobModel, IngressModel, ServiceModel, StorageClassModel, PersistentVolumeModel, PersistentVolumeClaimModel } from '../../models';
|
|
@@ -50,7 +51,7 @@ export declare const ConditionsField: <Model extends ResourceModel<Unstructured>
|
|
|
50
51
|
export declare const NodeTaintsField: () => ShowField<ResourceModel<Node & Unstructured>>;
|
|
51
52
|
export declare const PodsField: <Model extends WorkloadBaseModel>() => ShowField<Model>;
|
|
52
53
|
export declare const JobsField: <Model extends JobModel | CronJobModel>() => ShowField<Model>;
|
|
53
|
-
export declare const DataField: <Model extends ResourceModel<Unstructured>>(i18n: I18nType) => ShowField<Model>;
|
|
54
|
+
export declare const DataField: <Model extends ResourceModel<Unstructured & (ConfigMap | Secret)>>(i18n: I18nType) => ShowField<Model>;
|
|
54
55
|
export declare const SecretDataField: <Model extends ResourceModel<Unstructured>>() => ShowField<Model>;
|
|
55
56
|
export declare const StartTimeField: (i18n: I18nType) => ShowField<JobModel>;
|
|
56
57
|
export declare const ServiceTypeField: <Model extends ServiceModel>(i18n: I18nType) => ShowField<Model>;
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import { i18n as I18nType } from 'i18next';
|
|
2
|
+
import { Unstructured } from 'k8s-api-provider';
|
|
3
|
+
import { ConfigMap, Secret } from 'kubernetes-types/core/v1';
|
|
2
4
|
import { ResourceModel, PodModel, ServiceModel, IngressModel } from 'src/models';
|
|
3
5
|
import { NetworkPolicyModel } from 'src/models';
|
|
4
6
|
import { ShowTab } from './fields';
|
|
5
|
-
export declare const EventsTab: <Model extends ResourceModel<
|
|
7
|
+
export declare const EventsTab: <Model extends ResourceModel<Unstructured>>({ i18n, size, }: {
|
|
6
8
|
i18n: I18nType;
|
|
7
9
|
size?: "small" | "medium" | undefined;
|
|
8
10
|
}) => ShowTab<Model>;
|
|
9
|
-
export declare const ConditionsTab: <Model extends ResourceModel<
|
|
11
|
+
export declare const ConditionsTab: <Model extends ResourceModel<Unstructured>>({ i18n, size, }: {
|
|
10
12
|
i18n: I18nType;
|
|
11
13
|
size?: "small" | "medium" | undefined;
|
|
12
14
|
}) => ShowTab<Model>;
|
|
13
|
-
export declare const LabelAnnotationsTab: <Model extends ResourceModel<
|
|
15
|
+
export declare const LabelAnnotationsTab: <Model extends ResourceModel<Unstructured>>({ i18n, size, }: {
|
|
14
16
|
i18n: I18nType;
|
|
15
17
|
size?: "small" | "medium" | undefined;
|
|
16
18
|
}) => ShowTab<Model>;
|
|
@@ -21,10 +23,10 @@ export declare const PortsTab: <Model extends ServiceModel>({ i18n, }: {
|
|
|
21
23
|
export declare const IngressRulesTab: <Model extends IngressModel>({ i18n, }: {
|
|
22
24
|
i18n: I18nType;
|
|
23
25
|
}) => ShowTab<Model>;
|
|
24
|
-
export declare const DataTab: <Model extends ResourceModel<
|
|
26
|
+
export declare const DataTab: <Model extends ResourceModel<Unstructured & (ConfigMap | Secret)>>({ i18n, }: {
|
|
25
27
|
i18n: I18nType;
|
|
26
28
|
}) => ShowTab<Model>;
|
|
27
|
-
export declare const SecretDataTab: <Model extends ResourceModel<
|
|
29
|
+
export declare const SecretDataTab: <Model extends ResourceModel<Unstructured>>({ i18n, }: {
|
|
28
30
|
i18n: I18nType;
|
|
29
31
|
}) => ShowTab<Model>;
|
|
30
32
|
export declare const NetworkPolicyIngressRulesTab: <Model extends NetworkPolicyModel>({ i18n, }: {
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { i18n as I18nType } from 'i18next';
|
|
3
|
+
import { Unstructured } from 'k8s-api-provider';
|
|
4
|
+
import { ConfigMap, Secret } from 'kubernetes-types/core/v1';
|
|
3
5
|
import { Column } from '../../components/InternalBaseTable';
|
|
4
|
-
import { JobModel, PodModel, ResourceModel, WorkloadModel, WorkloadBaseModel, CronJobModel, IngressModel, ServiceModel, DaemonSetModel, StorageClassModel, PersistentVolumeModel, PersistentVolumeClaimModel } from '../../models';
|
|
6
|
+
import { JobModel, PodModel, ResourceModel, WorkloadModel, WorkloadBaseModel, CronJobModel, IngressModel, ServiceModel, DaemonSetModel, StorageClassModel, PersistentVolumeModel, PersistentVolumeClaimModel, DeploymentModel } from '../../models';
|
|
5
7
|
export declare const CommonSorter: (dataIndex: string[]) => (a: unknown, b: unknown) => 0 | 1 | -1;
|
|
6
|
-
export declare const NameColumnRenderer: <Model extends ResourceModel<
|
|
7
|
-
export declare const PlainTextNameColumnRenderer: <Model extends ResourceModel<
|
|
8
|
-
export declare const NameSpaceColumnRenderer: <Model extends ResourceModel<
|
|
9
|
-
export declare const StateDisplayColumnRenderer: <Model extends PodModel | ServiceModel | WorkloadModel | JobModel | CronJobModel | DaemonSetModel>(i18n: I18nType) => Column<Model>;
|
|
8
|
+
export declare const NameColumnRenderer: <Model extends ResourceModel<Unstructured>>(i18n: I18nType, resource?: string) => Column<Model>;
|
|
9
|
+
export declare const PlainTextNameColumnRenderer: <Model extends ResourceModel<Unstructured>>(i18n: I18nType) => Column<Model>;
|
|
10
|
+
export declare const NameSpaceColumnRenderer: <Model extends ResourceModel<Unstructured>>(i18n: I18nType) => Column<Model>;
|
|
11
|
+
export declare const StateDisplayColumnRenderer: <Model extends PodModel | ServiceModel | WorkloadModel | DeploymentModel | JobModel | CronJobModel | DaemonSetModel>(i18n: I18nType) => Column<Model>;
|
|
10
12
|
export declare const WorkloadImageColumnRenderer: <Model extends WorkloadBaseModel>(i18n: I18nType) => Column<Model>;
|
|
11
13
|
export declare const RestartsColumnRenderer: <Model extends WorkloadModel>(i18n: I18nType) => Column<Model>;
|
|
12
14
|
export declare const ReplicasColumnRenderer: <Model extends WorkloadModel>(i18n: I18nType) => Column<Model>;
|
|
13
|
-
export declare const AgeColumnRenderer: <Model extends ResourceModel<
|
|
15
|
+
export declare const AgeColumnRenderer: <Model extends ResourceModel<Unstructured>>(i18n: I18nType, config?: {
|
|
14
16
|
title?: string;
|
|
15
17
|
width: number;
|
|
16
18
|
}, { isRelativeTime }?: {
|
|
@@ -19,7 +21,7 @@ export declare const AgeColumnRenderer: <Model extends ResourceModel<import("k8s
|
|
|
19
21
|
export declare const NodeNameColumnRenderer: <Model extends PodModel>(i18n: I18nType, options?: Partial<Column<Model>> | undefined) => Column<Model>;
|
|
20
22
|
export declare const PodCountOfJobColumnRenderer: <Model extends JobModel>(i18n: I18nType) => Column<Model>;
|
|
21
23
|
export declare const DurationColumnRenderer: <Model extends JobModel | CronJobModel>(i18n: I18nType) => Column<Model>;
|
|
22
|
-
export declare const ServiceTypeColumnRenderer: <Model extends ResourceModel<
|
|
24
|
+
export declare const ServiceTypeColumnRenderer: <Model extends ResourceModel<Unstructured>>(i18n: I18nType) => Column<Model>;
|
|
23
25
|
export declare function ServiceInClusterAccessTitle(): JSX.Element;
|
|
24
26
|
export declare const ServiceInClusterAccessColumnRenderer: <Model extends ServiceModel>() => Column<Model>;
|
|
25
27
|
export declare function ServiceOutClusterAccessTitle(): JSX.Element;
|
|
@@ -30,7 +32,7 @@ export declare const IngressDefaultBackendColumnRenderer: <Model extends Ingress
|
|
|
30
32
|
export declare const IngressClassColumnRenderer: <Model extends IngressModel>(i18n: I18nType) => Column<Model>;
|
|
31
33
|
export declare const IngressTlsColumnRenderer: <Model extends IngressModel>(i18n: I18nType) => Column<Model>;
|
|
32
34
|
export declare const PodContainersNumColumnRenderer: <Model extends PodModel>(i18n: I18nType) => Column<Model>;
|
|
33
|
-
export declare const DataKeysColumnRenderer: <Model extends ResourceModel<
|
|
35
|
+
export declare const DataKeysColumnRenderer: <Model extends ResourceModel<Unstructured & (ConfigMap | Secret)>>(i18n: I18nType) => Column<Model>;
|
|
34
36
|
export declare const PortMappingColumnRenderer: <Model extends ServiceModel>(i18n: I18nType) => Column<Model>;
|
|
35
37
|
export declare const ProvisionerColumnRenderer: <Model extends StorageClassModel>(i18n: I18nType) => Column<Model>;
|
|
36
38
|
export declare const PVCapacityColumnRenderer: <Model extends PersistentVolumeModel>(i18n: I18nType) => Column<Model>;
|
package/dist/i18n.d.ts
CHANGED
|
@@ -500,8 +500,6 @@ export declare const resources: {
|
|
|
500
500
|
cant_delete_resource_with_name: string;
|
|
501
501
|
close: string;
|
|
502
502
|
import_from_file: string;
|
|
503
|
-
view_all_info: string;
|
|
504
|
-
collapse: string;
|
|
505
503
|
tcp: string;
|
|
506
504
|
udp: string;
|
|
507
505
|
specify_workload: string;
|
|
@@ -530,6 +528,7 @@ export declare const resources: {
|
|
|
530
528
|
clear_search_condition: string;
|
|
531
529
|
no_labels: string;
|
|
532
530
|
no_annotations: string;
|
|
531
|
+
pause_scheduling: string;
|
|
533
532
|
};
|
|
534
533
|
};
|
|
535
534
|
};
|
|
@@ -243,8 +243,6 @@ declare const _default: {
|
|
|
243
243
|
cant_delete_resource_with_name: string;
|
|
244
244
|
close: string;
|
|
245
245
|
import_from_file: string;
|
|
246
|
-
view_all_info: string;
|
|
247
|
-
collapse: string;
|
|
248
246
|
tcp: string;
|
|
249
247
|
udp: string;
|
|
250
248
|
specify_workload: string;
|
|
@@ -273,6 +271,7 @@ declare const _default: {
|
|
|
273
271
|
clear_search_condition: string;
|
|
274
272
|
no_labels: string;
|
|
275
273
|
no_annotations: string;
|
|
274
|
+
pause_scheduling: string;
|
|
276
275
|
};
|
|
277
276
|
};
|
|
278
277
|
export default _default;
|
|
@@ -13,6 +13,7 @@ export declare class DeploymentModel extends WorkloadModel {
|
|
|
13
13
|
getReplicaSets(replicaSets: ReplicaSetModel[]): ReplicaSetModel[];
|
|
14
14
|
get stateDisplay(): ResourceState.UPDATING | ResourceState.READY | ResourceState.STOPPED;
|
|
15
15
|
get revision(): string | undefined;
|
|
16
|
+
get isPaused(): boolean;
|
|
16
17
|
getCurrentReplicaSet(replicaSets: ReplicaSetModel[]): ReplicaSetModel | undefined;
|
|
17
18
|
}
|
|
18
19
|
export {};
|
|
@@ -14,6 +14,7 @@ export type RuleItem = {
|
|
|
14
14
|
export declare class IngressModel extends ResourceModel<IngressTypes> {
|
|
15
15
|
_rawYaml: IngressTypes;
|
|
16
16
|
constructor(_rawYaml: IngressTypes, _globalStore: GlobalStore);
|
|
17
|
+
get spec(): import("kubernetes-types/networking/v1").IngressSpec;
|
|
17
18
|
private getFullPath;
|
|
18
19
|
getFlattenedRules(services?: Service[]): RuleItem[];
|
|
19
20
|
}
|
|
@@ -10,7 +10,7 @@ export declare class ResourceModel<T extends Unstructured = Unstructured> {
|
|
|
10
10
|
constructor(_rawYaml: T, _globalStore: GlobalStore);
|
|
11
11
|
init(): Promise<void>;
|
|
12
12
|
get name(): string | undefined;
|
|
13
|
-
get namespace(): string
|
|
13
|
+
get namespace(): string;
|
|
14
14
|
get labels(): {
|
|
15
15
|
[name: string]: string;
|
|
16
16
|
} | undefined;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { i18n } from 'i18next';
|
|
2
|
+
import { Unstructured } from 'k8s-api-provider';
|
|
3
|
+
import { ConfigMap } from 'kubernetes-types/core/v1';
|
|
2
4
|
import { ResourceModel } from '../../models';
|
|
3
5
|
import { ResourceConfig } from '../../types';
|
|
4
|
-
export declare const ConfigMapConfig: (i18n: i18n) => ResourceConfig<ResourceModel
|
|
6
|
+
export declare const ConfigMapConfig: (i18n: i18n) => ResourceConfig<ResourceModel<Unstructured & ConfigMap>>;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { i18n } from 'i18next';
|
|
2
|
+
import { Unstructured } from 'k8s-api-provider';
|
|
3
|
+
import { Secret } from 'kubernetes-types/core/v1';
|
|
2
4
|
import { ResourceModel } from '../../models';
|
|
3
5
|
import { ResourceConfig } from '../../types';
|
|
4
|
-
export declare const SecretsConfig: (i18n: i18n) => ResourceConfig<ResourceModel
|
|
6
|
+
export declare const SecretsConfig: (i18n: i18n) => ResourceConfig<ResourceModel<Unstructured & Secret>>;
|
package/dist/refine.cjs
CHANGED
|
@@ -1202,8 +1202,6 @@ const cant_delete_resource = "无法删除{{resource}}";
|
|
|
1202
1202
|
const cant_delete_resource_with_name = "无法删除{{resource}} <0>{{name}}</0> 。";
|
|
1203
1203
|
const close = "关闭";
|
|
1204
1204
|
const import_from_file = "从文件读取";
|
|
1205
|
-
const view_all_info = "查看全部信息";
|
|
1206
|
-
const collapse = "收起";
|
|
1207
1205
|
const tcp = "TCP";
|
|
1208
1206
|
const udp = "UDP";
|
|
1209
1207
|
const specify_workload = "指定工作负载";
|
|
@@ -1232,6 +1230,7 @@ const no_search_result = "无搜索结果";
|
|
|
1232
1230
|
const clear_search_condition = "清空搜索条件";
|
|
1233
1231
|
const no_labels = "无标签";
|
|
1234
1232
|
const no_annotations = "无注解";
|
|
1233
|
+
const pause_scheduling = "暂停调度";
|
|
1235
1234
|
const dovetail = {
|
|
1236
1235
|
copy,
|
|
1237
1236
|
reset_arguments,
|
|
@@ -1476,8 +1475,6 @@ const dovetail = {
|
|
|
1476
1475
|
cant_delete_resource_with_name,
|
|
1477
1476
|
close,
|
|
1478
1477
|
import_from_file,
|
|
1479
|
-
view_all_info,
|
|
1480
|
-
collapse,
|
|
1481
1478
|
tcp,
|
|
1482
1479
|
udp,
|
|
1483
1480
|
specify_workload,
|
|
@@ -1505,7 +1502,8 @@ const dovetail = {
|
|
|
1505
1502
|
no_search_result,
|
|
1506
1503
|
clear_search_condition,
|
|
1507
1504
|
no_labels,
|
|
1508
|
-
no_annotations
|
|
1505
|
+
no_annotations,
|
|
1506
|
+
pause_scheduling
|
|
1509
1507
|
};
|
|
1510
1508
|
const ZH = {
|
|
1511
1509
|
dovetail
|
|
@@ -8363,7 +8361,7 @@ function useSubmitForm(options) {
|
|
|
8363
8361
|
onSubmit
|
|
8364
8362
|
};
|
|
8365
8363
|
}
|
|
8366
|
-
const
|
|
8364
|
+
const index_e7f1dg = "";
|
|
8367
8365
|
const EditButtonStyle = "esoz3jw";
|
|
8368
8366
|
function EditFieldModal(props) {
|
|
8369
8367
|
const {
|
|
@@ -8683,7 +8681,7 @@ class ResourceModel {
|
|
|
8683
8681
|
}
|
|
8684
8682
|
get namespace() {
|
|
8685
8683
|
var _a;
|
|
8686
|
-
return (_a = this._rawYaml.metadata) == null ? void 0 : _a.namespace;
|
|
8684
|
+
return ((_a = this._rawYaml.metadata) == null ? void 0 : _a.namespace) || "default";
|
|
8687
8685
|
}
|
|
8688
8686
|
get labels() {
|
|
8689
8687
|
var _a;
|
|
@@ -8718,6 +8716,9 @@ class IngressModel extends ResourceModel {
|
|
|
8718
8716
|
super(_rawYaml, _globalStore);
|
|
8719
8717
|
this._rawYaml = _rawYaml;
|
|
8720
8718
|
}
|
|
8719
|
+
get spec() {
|
|
8720
|
+
return this._rawYaml.spec;
|
|
8721
|
+
}
|
|
8721
8722
|
getFullPath(rule2, path2 = "", port2) {
|
|
8722
8723
|
if (!rule2.host) {
|
|
8723
8724
|
return path2 || "";
|
|
@@ -9856,6 +9857,10 @@ class DeploymentModel extends WorkloadModel {
|
|
|
9856
9857
|
var _a, _b;
|
|
9857
9858
|
return (_b = (_a = this.metadata) == null ? void 0 : _a.annotations) == null ? void 0 : _b["deployment.kubernetes.io/revision"];
|
|
9858
9859
|
}
|
|
9860
|
+
get isPaused() {
|
|
9861
|
+
var _a;
|
|
9862
|
+
return !!((_a = this.spec) == null ? void 0 : _a.paused);
|
|
9863
|
+
}
|
|
9859
9864
|
getCurrentReplicaSet(replicaSets) {
|
|
9860
9865
|
const myReplicaSets = this.getReplicaSets(replicaSets);
|
|
9861
9866
|
return myReplicaSets.find((rs) => rs.revision === this.revision);
|
|
@@ -12603,11 +12608,15 @@ const DataField = (i18n2) => {
|
|
|
12603
12608
|
return {
|
|
12604
12609
|
key: "data",
|
|
12605
12610
|
path: ["data"],
|
|
12606
|
-
renderContent: (val) => {
|
|
12611
|
+
renderContent: (val, record) => {
|
|
12612
|
+
const finalData = {
|
|
12613
|
+
...val,
|
|
12614
|
+
..."binaryData" in record._rawYaml ? record._rawYaml.binaryData : {}
|
|
12615
|
+
};
|
|
12607
12616
|
return /* @__PURE__ */ common.jsxRuntimeExports.jsx("div", {
|
|
12608
12617
|
className: "c91cpym",
|
|
12609
12618
|
children: /* @__PURE__ */ common.jsxRuntimeExports.jsx(KeyValue, {
|
|
12610
|
-
data:
|
|
12619
|
+
data: finalData,
|
|
12611
12620
|
empty: i18n2.t("dovetail.no_resource", {
|
|
12612
12621
|
kind: i18n2.t("dovetail.data")
|
|
12613
12622
|
})
|
|
@@ -13802,7 +13811,7 @@ function Tabs(props) {
|
|
|
13802
13811
|
return /* @__PURE__ */ common.jsxRuntimeExports.jsx(eagle.TabsTabPane, { tab: tab.title, children: tab.children }, tab.title);
|
|
13803
13812
|
}) });
|
|
13804
13813
|
}
|
|
13805
|
-
const
|
|
13814
|
+
const ShowContentView_196cma3 = "";
|
|
13806
13815
|
const ShowContentWrapperStyle = "soapvs9";
|
|
13807
13816
|
const BackButton = "b13d603q";
|
|
13808
13817
|
const ToolBarWrapper = "tm8eaia";
|
|
@@ -13859,7 +13868,6 @@ const ShowContentView = (props) => {
|
|
|
13859
13868
|
children,
|
|
13860
13869
|
Dropdown = K8sDropdown,
|
|
13861
13870
|
hideBackButton = false,
|
|
13862
|
-
canCollapseTabs = false,
|
|
13863
13871
|
className,
|
|
13864
13872
|
hideTopBar = false,
|
|
13865
13873
|
size = "medium"
|
|
@@ -13946,7 +13954,7 @@ const ShowContentView = (props) => {
|
|
|
13946
13954
|
function renderGroup(group, isBasicGroup = false) {
|
|
13947
13955
|
let GroupContainer = React.Fragment;
|
|
13948
13956
|
let FieldContainer = React.Fragment;
|
|
13949
|
-
|
|
13957
|
+
let groupContainerProps = {
|
|
13950
13958
|
title: group.title || "",
|
|
13951
13959
|
size
|
|
13952
13960
|
};
|
|
@@ -13955,6 +13963,8 @@ const ShowContentView = (props) => {
|
|
|
13955
13963
|
GroupContainer = BasicShowGroupComponent;
|
|
13956
13964
|
} else if (group.title) {
|
|
13957
13965
|
GroupContainer = ShowGroupWithTitleComponent;
|
|
13966
|
+
} else {
|
|
13967
|
+
groupContainerProps = {};
|
|
13958
13968
|
}
|
|
13959
13969
|
const shouldRenderRow = !!(isBasicGroup || group.title);
|
|
13960
13970
|
if (shouldRenderRow) {
|
|
@@ -13979,6 +13989,7 @@ const ShowContentView = (props) => {
|
|
|
13979
13989
|
}, group.title);
|
|
13980
13990
|
}
|
|
13981
13991
|
const stateDisplay = lodashEs.get(record, "stateDisplay");
|
|
13992
|
+
const isPausedDeployment = record.kind === "Deployment" && record.isPaused;
|
|
13982
13993
|
const topBar = /* @__PURE__ */ common.jsxRuntimeExports.jsxs("div", {
|
|
13983
13994
|
className: ToolBarWrapper,
|
|
13984
13995
|
style: {
|
|
@@ -14017,7 +14028,11 @@ const ShowContentView = (props) => {
|
|
|
14017
14028
|
}), stateDisplay ? /* @__PURE__ */ common.jsxRuntimeExports.jsx(StateTag, {
|
|
14018
14029
|
state: stateDisplay,
|
|
14019
14030
|
customResourceStateMap: showConfig.resourceStateMap
|
|
14020
|
-
}) : void 0
|
|
14031
|
+
}) : void 0, isPausedDeployment ? /* @__PURE__ */ common.jsxRuntimeExports.jsx(eagle.StatusCapsule, {
|
|
14032
|
+
className: common.cx_default(StateTagStyle, "c18272tc"),
|
|
14033
|
+
color: "yellow",
|
|
14034
|
+
children: i18n2.t("dovetail.pause_scheduling")
|
|
14035
|
+
}) : null]
|
|
14021
14036
|
}), /* @__PURE__ */ common.jsxRuntimeExports.jsxs(eagle.Space, {
|
|
14022
14037
|
children: [(_d = showConfig.renderExtraButton) == null ? void 0 : _d.call(showConfig, record), !config.hideEdit ? /* @__PURE__ */ common.jsxRuntimeExports.jsx(core.CanAccess, {
|
|
14023
14038
|
resource: resourceName,
|
|
@@ -14068,42 +14083,12 @@ const ShowContentView = (props) => {
|
|
|
14068
14083
|
direction: "vertical",
|
|
14069
14084
|
className: ShowContentHeaderStyle,
|
|
14070
14085
|
children: topBar
|
|
14071
|
-
}), basicInfo,
|
|
14072
|
-
children: tabs
|
|
14073
|
-
}) : tabs, children]
|
|
14074
|
-
});
|
|
14075
|
-
};
|
|
14076
|
-
const CollapseTabs = (props) => {
|
|
14077
|
-
const [isCollapsed, setIsCollapsed] = React.useState(true);
|
|
14078
|
-
const {
|
|
14079
|
-
t: t2
|
|
14080
|
-
} = common.useTranslation();
|
|
14081
|
-
return /* @__PURE__ */ common.jsxRuntimeExports.jsxs(common.jsxRuntimeExports.Fragment, {
|
|
14082
|
-
children: [isCollapsed ? null : props.children, /* @__PURE__ */ common.jsxRuntimeExports.jsx("div", {
|
|
14083
|
-
style: {
|
|
14084
|
-
display: "flex"
|
|
14085
|
-
},
|
|
14086
|
-
children: /* @__PURE__ */ common.jsxRuntimeExports.jsx(eagle.Button, {
|
|
14087
|
-
style: {
|
|
14088
|
-
margin: "8px auto",
|
|
14089
|
-
cursor: "pointer"
|
|
14090
|
-
},
|
|
14091
|
-
size: "small",
|
|
14092
|
-
type: "link",
|
|
14093
|
-
onClick: () => setIsCollapsed((v) => !v),
|
|
14094
|
-
suffixIcon: isCollapsed ? /* @__PURE__ */ common.jsxRuntimeExports.jsx(eagle.Icon, {
|
|
14095
|
-
src: iconsReact.ArrowChevronDownSmall16BlueIcon
|
|
14096
|
-
}) : /* @__PURE__ */ common.jsxRuntimeExports.jsx(eagle.Icon, {
|
|
14097
|
-
src: iconsReact.ArrowChevronUpSmall16BlueIcon
|
|
14098
|
-
}),
|
|
14099
|
-
children: isCollapsed ? t2("dovetail.view_all_info") : t2("dovetail.collapse")
|
|
14100
|
-
})
|
|
14101
|
-
})]
|
|
14086
|
+
}), basicInfo, tabs, children]
|
|
14102
14087
|
});
|
|
14103
14088
|
};
|
|
14104
14089
|
const ShowContent = (props) => {
|
|
14105
14090
|
var _a;
|
|
14106
|
-
const { showConfig, formatter, Dropdown = K8sDropdown, children
|
|
14091
|
+
const { showConfig, formatter, Dropdown = K8sDropdown, children } = props;
|
|
14107
14092
|
const parsed = core.useParsed();
|
|
14108
14093
|
const { resource } = core.useResource();
|
|
14109
14094
|
const id = (_a = parsed == null ? void 0 : parsed.params) == null ? void 0 : _a.id;
|
|
@@ -14115,7 +14100,6 @@ const ShowContent = (props) => {
|
|
|
14115
14100
|
showConfig,
|
|
14116
14101
|
formatter,
|
|
14117
14102
|
Dropdown,
|
|
14118
|
-
canCollapseTabs,
|
|
14119
14103
|
children
|
|
14120
14104
|
}
|
|
14121
14105
|
);
|
|
@@ -14746,14 +14730,14 @@ const SectionTitle = React.forwardRef(function SectionTitle2(props, ref) {
|
|
|
14746
14730
|
const {
|
|
14747
14731
|
t: t2
|
|
14748
14732
|
} = common.useTranslation();
|
|
14749
|
-
const [
|
|
14733
|
+
const [collapse, setCollapse] = React.useState(defaultCollapse);
|
|
14750
14734
|
React.useImperativeHandle(ref, () => ({
|
|
14751
14735
|
setCollapse
|
|
14752
14736
|
}), [setCollapse]);
|
|
14753
14737
|
return /* @__PURE__ */ common.jsxRuntimeExports.jsxs("div", {
|
|
14754
14738
|
className: common.cx_default(className),
|
|
14755
14739
|
children: [/* @__PURE__ */ common.jsxRuntimeExports.jsxs("div", {
|
|
14756
|
-
className: common.cx_default(TitleWrapperStyle$1,
|
|
14740
|
+
className: common.cx_default(TitleWrapperStyle$1, collapse && CollapsedTitleStyle),
|
|
14757
14741
|
children: [/* @__PURE__ */ common.jsxRuntimeExports.jsx("span", {
|
|
14758
14742
|
className: eagle.Typo.Label.l4_bold_title,
|
|
14759
14743
|
children: title
|
|
@@ -14761,18 +14745,18 @@ const SectionTitle = React.forwardRef(function SectionTitle2(props, ref) {
|
|
|
14761
14745
|
type: "link",
|
|
14762
14746
|
size: "small",
|
|
14763
14747
|
className: common.cx_default(ButtonStyle),
|
|
14764
|
-
onClick: () => setCollapse(!
|
|
14765
|
-
children: [
|
|
14748
|
+
onClick: () => setCollapse(!collapse),
|
|
14749
|
+
children: [collapse ? t2("dovetail.expand") : t2("dovetail.fold"), /* @__PURE__ */ common.jsxRuntimeExports.jsx(eagle.Icon, {
|
|
14766
14750
|
style: {
|
|
14767
14751
|
marginLeft: 4
|
|
14768
14752
|
},
|
|
14769
|
-
src:
|
|
14753
|
+
src: collapse ? iconsReact.ArrowChevronDown16BlueIcon : iconsReact.ArrowChevronUp16BlueIcon
|
|
14770
14754
|
})]
|
|
14771
14755
|
}) : null]
|
|
14772
14756
|
}), /* @__PURE__ */ common.jsxRuntimeExports.jsx("div", {
|
|
14773
14757
|
className: common.cx_default(contentClassName),
|
|
14774
14758
|
style: {
|
|
14775
|
-
display:
|
|
14759
|
+
display: collapse ? "none" : "block"
|
|
14776
14760
|
},
|
|
14777
14761
|
children
|
|
14778
14762
|
})]
|
|
@@ -18983,13 +18967,25 @@ const IngressRulesComponent = ({ ingress }) => {
|
|
|
18983
18967
|
});
|
|
18984
18968
|
const flattenedRules = (serviceData == null ? void 0 : serviceData.data) ? ingress.getFlattenedRules(serviceData == null ? void 0 : serviceData.data) : [];
|
|
18985
18969
|
const result = flattenedRules.map((r2) => {
|
|
18986
|
-
|
|
18970
|
+
var _a, _b;
|
|
18971
|
+
const arrow = " → ";
|
|
18972
|
+
const divider = " | ";
|
|
18973
|
+
const secretName = (_b = (_a = ingress.spec.tls) == null ? void 0 : _a.find(
|
|
18974
|
+
({ hosts }) => hosts == null ? void 0 : hosts.includes(r2.host || "")
|
|
18975
|
+
)) == null ? void 0 : _b.secretName;
|
|
18976
|
+
let tooltip = r2.fullPath;
|
|
18977
|
+
if (r2.serviceName) {
|
|
18978
|
+
tooltip += `${arrow}${r2.serviceName}:${r2.servicePort}`;
|
|
18979
|
+
}
|
|
18980
|
+
if (secretName) {
|
|
18981
|
+
tooltip += `${divider}${secretName}`;
|
|
18982
|
+
}
|
|
18987
18983
|
return /* @__PURE__ */ common.jsxRuntimeExports.jsx(
|
|
18988
18984
|
eagle.OverflowTooltip,
|
|
18989
18985
|
{
|
|
18990
18986
|
content: /* @__PURE__ */ common.jsxRuntimeExports.jsxs(common.jsxRuntimeExports.Fragment, { children: [
|
|
18991
18987
|
/* @__PURE__ */ common.jsxRuntimeExports.jsx(LinkFallback, { fullPath: r2.fullPath }),
|
|
18992
|
-
/* @__PURE__ */ common.jsxRuntimeExports.jsx("span", { children:
|
|
18988
|
+
/* @__PURE__ */ common.jsxRuntimeExports.jsx("span", { children: arrow }),
|
|
18993
18989
|
r2.serviceName ? /* @__PURE__ */ common.jsxRuntimeExports.jsxs(common.jsxRuntimeExports.Fragment, { children: [
|
|
18994
18990
|
/* @__PURE__ */ common.jsxRuntimeExports.jsx(
|
|
18995
18991
|
ResourceLink,
|
|
@@ -19003,9 +18999,20 @@ const IngressRulesComponent = ({ ingress }) => {
|
|
|
19003
18999
|
":",
|
|
19004
19000
|
r2.servicePort
|
|
19005
19001
|
] })
|
|
19006
|
-
] }) : r2.resourceName
|
|
19002
|
+
] }) : r2.resourceName,
|
|
19003
|
+
secretName ? /* @__PURE__ */ common.jsxRuntimeExports.jsxs(common.jsxRuntimeExports.Fragment, { children: [
|
|
19004
|
+
/* @__PURE__ */ common.jsxRuntimeExports.jsx("span", { children: divider }),
|
|
19005
|
+
/* @__PURE__ */ common.jsxRuntimeExports.jsx(
|
|
19006
|
+
ResourceLink,
|
|
19007
|
+
{
|
|
19008
|
+
resourceName: "secrets",
|
|
19009
|
+
namespace: ingress.metadata.namespace || "default",
|
|
19010
|
+
name: secretName
|
|
19011
|
+
}
|
|
19012
|
+
)
|
|
19013
|
+
] }) : void 0
|
|
19007
19014
|
] }),
|
|
19008
|
-
tooltip
|
|
19015
|
+
tooltip
|
|
19009
19016
|
},
|
|
19010
19017
|
r2.fullPath
|
|
19011
19018
|
);
|
|
@@ -19112,10 +19119,26 @@ const StateDisplayColumnRenderer = (i18n2) => {
|
|
|
19112
19119
|
sortable: true,
|
|
19113
19120
|
width: 120,
|
|
19114
19121
|
sorter: CommonSorter(dataIndex),
|
|
19115
|
-
render: (v) =>
|
|
19116
|
-
|
|
19117
|
-
|
|
19118
|
-
|
|
19122
|
+
render: (v, record) => {
|
|
19123
|
+
if (record.kind === "Deployment" && record.isPaused) {
|
|
19124
|
+
return /* @__PURE__ */ common.jsxRuntimeExports.jsxs("span", {
|
|
19125
|
+
children: [/* @__PURE__ */ common.jsxRuntimeExports.jsx(StateTag, {
|
|
19126
|
+
state: v,
|
|
19127
|
+
hideBackground: true
|
|
19128
|
+
}), /* @__PURE__ */ common.jsxRuntimeExports.jsx(eagle.Tag, {
|
|
19129
|
+
color: "yellow",
|
|
19130
|
+
style: {
|
|
19131
|
+
marginLeft: "4px"
|
|
19132
|
+
},
|
|
19133
|
+
children: i18n2.t("dovetail.pause_scheduling")
|
|
19134
|
+
})]
|
|
19135
|
+
});
|
|
19136
|
+
}
|
|
19137
|
+
return /* @__PURE__ */ common.jsxRuntimeExports.jsx(StateTag, {
|
|
19138
|
+
state: v,
|
|
19139
|
+
hideBackground: true
|
|
19140
|
+
});
|
|
19141
|
+
}
|
|
19119
19142
|
};
|
|
19120
19143
|
};
|
|
19121
19144
|
const WorkloadImageColumnRenderer = (i18n2) => {
|
|
@@ -19493,8 +19516,11 @@ const DataKeysColumnRenderer = (i18n2) => {
|
|
|
19493
19516
|
display: true,
|
|
19494
19517
|
dataIndex: ["data"],
|
|
19495
19518
|
title: i18n2.t("dovetail.data"),
|
|
19496
|
-
render(data2) {
|
|
19497
|
-
const keys2 = Object.keys(
|
|
19519
|
+
render(data2, record) {
|
|
19520
|
+
const keys2 = Object.keys({
|
|
19521
|
+
...data2,
|
|
19522
|
+
..."binaryData" in record._rawYaml ? record._rawYaml.binaryData : {}
|
|
19523
|
+
});
|
|
19498
19524
|
return keys2.length ? keys2.map((key2) => /* @__PURE__ */ common.jsxRuntimeExports.jsx(eagle.OverflowTooltip, {
|
|
19499
19525
|
content: key2
|
|
19500
19526
|
}, key2)) : /* @__PURE__ */ common.jsxRuntimeExports.jsx(ValueDisplay, {
|
package/dist/refine.js
CHANGED
|
@@ -12,7 +12,7 @@ import { parse, stringify } from "qs";
|
|
|
12
12
|
import React, { createElement, isValidElement, cloneElement, Children, useContext, useCallback, createContext, useState, useEffect, useMemo, useRef, useImperativeHandle, lazy, Suspense, memo, forwardRef } from "react";
|
|
13
13
|
import { useLocation, useHistory, useParams, matchPath, Link, Route, NavLink, Router } from "react-router-dom";
|
|
14
14
|
import { usePushModal, usePopModal, DeleteDialog, Tag, RejectDialog, RejectDialogType, Typo, Input, Select, AntdOption, Button, Form, Space, TextArea, kitContext, Loading, Table as Table$2, Pagination, Alert, ImmersiveDialog, SmallDialog, Fields, Units, Link as Link$1, OverflowTooltip, Tooltip, StatusCapsule, Dropdown, Menu as Menu$1, Icon, Divider, LegacyModal, Popover, AntdTable, Upload, TableForm, AutoComplete, getOptions, DonutChart, SegmentControl, Checkbox, Tabs as Tabs$1, TabsTabPane, Col, Row, useMessage, SearchInput, Token, AntdSelectOptGroup, WizardDialog, MenuItemGroup, Layout as Layout$1, InputGroup, InputInteger, Time as Time$1, ModalStack, KitStoreProvider, ConfigProvider } from "@cloudtower/eagle";
|
|
15
|
-
import { EditPen16PrimaryIcon, Download16GradientBlueIcon, TrashBinDelete16Icon, MoreEllipsis324BoldSecondaryIcon, MoreEllipsis324BoldBlueIcon, MoreEllipsis316BoldBlueIcon, PlusAddCreateNew16BoldOntintIcon, ViewEye16GradientGrayIcon, EntityFilterIgnoreGradient16GrayIcon, InfoICircleFill16GrayIcon, InfoICircleFill16Gray70Icon, RecoverContinue16GradientBlueIcon, SuspendedPause16GradientBlueIcon, ArrowChevronLeft16BoldTertiaryIcon, ArrowChevronLeftSmall16BoldBlueIcon,
|
|
15
|
+
import { EditPen16PrimaryIcon, Download16GradientBlueIcon, TrashBinDelete16Icon, MoreEllipsis324BoldSecondaryIcon, MoreEllipsis324BoldBlueIcon, MoreEllipsis316BoldBlueIcon, PlusAddCreateNew16BoldOntintIcon, ViewEye16GradientGrayIcon, EntityFilterIgnoreGradient16GrayIcon, InfoICircleFill16GrayIcon, InfoICircleFill16Gray70Icon, RecoverContinue16GradientBlueIcon, SuspendedPause16GradientBlueIcon, ArrowChevronLeft16BoldTertiaryIcon, ArrowChevronLeftSmall16BoldBlueIcon, Retry16GradientBlueIcon, OpenTerminal16GradientBlueIcon, ArrowChevronDown16BlueIcon, ArrowChevronUp16BlueIcon, HierarchyTriangleRight16GrayIcon, HierarchyTriangleRight16BlueIcon, ClipboardCopy16GradientGrayIcon, ClipboardCopy16GradientBlueIcon, Retry16GradientGrayIcon, EditPen16GradientGrayIcon, EditPen16GradientBlueIcon, Showdiff16GradientGrayIcon, Showdiff16GradientBlueIcon, XmarkFailedSeriousWarningFill16RedIcon, Pause16GradientBlueIcon, EditPen16BlueIcon } from "@cloudtower/icons-react";
|
|
16
16
|
import { first, get as get$2, cloneDeep, set, omit as omit$1, merge, isEqual as isEqual$1, debounce, last, setWith, clone, isObject as isObject$4, uniq, keyBy } from "lodash-es";
|
|
17
17
|
import yaml$2 from "js-yaml";
|
|
18
18
|
import { useLocalStorage } from "usehooks-ts";
|
|
@@ -1183,8 +1183,6 @@ const cant_delete_resource = "无法删除{{resource}}";
|
|
|
1183
1183
|
const cant_delete_resource_with_name = "无法删除{{resource}} <0>{{name}}</0> 。";
|
|
1184
1184
|
const close = "关闭";
|
|
1185
1185
|
const import_from_file = "从文件读取";
|
|
1186
|
-
const view_all_info = "查看全部信息";
|
|
1187
|
-
const collapse = "收起";
|
|
1188
1186
|
const tcp = "TCP";
|
|
1189
1187
|
const udp = "UDP";
|
|
1190
1188
|
const specify_workload = "指定工作负载";
|
|
@@ -1213,6 +1211,7 @@ const no_search_result = "无搜索结果";
|
|
|
1213
1211
|
const clear_search_condition = "清空搜索条件";
|
|
1214
1212
|
const no_labels = "无标签";
|
|
1215
1213
|
const no_annotations = "无注解";
|
|
1214
|
+
const pause_scheduling = "暂停调度";
|
|
1216
1215
|
const dovetail = {
|
|
1217
1216
|
copy,
|
|
1218
1217
|
reset_arguments,
|
|
@@ -1457,8 +1456,6 @@ const dovetail = {
|
|
|
1457
1456
|
cant_delete_resource_with_name,
|
|
1458
1457
|
close,
|
|
1459
1458
|
import_from_file,
|
|
1460
|
-
view_all_info,
|
|
1461
|
-
collapse,
|
|
1462
1459
|
tcp,
|
|
1463
1460
|
udp,
|
|
1464
1461
|
specify_workload,
|
|
@@ -1486,7 +1483,8 @@ const dovetail = {
|
|
|
1486
1483
|
no_search_result,
|
|
1487
1484
|
clear_search_condition,
|
|
1488
1485
|
no_labels,
|
|
1489
|
-
no_annotations
|
|
1486
|
+
no_annotations,
|
|
1487
|
+
pause_scheduling
|
|
1490
1488
|
};
|
|
1491
1489
|
const ZH = {
|
|
1492
1490
|
dovetail
|
|
@@ -8344,7 +8342,7 @@ function useSubmitForm(options) {
|
|
|
8344
8342
|
onSubmit
|
|
8345
8343
|
};
|
|
8346
8344
|
}
|
|
8347
|
-
const
|
|
8345
|
+
const index_e7f1dg = "";
|
|
8348
8346
|
const EditButtonStyle = "esoz3jw";
|
|
8349
8347
|
function EditFieldModal(props) {
|
|
8350
8348
|
const {
|
|
@@ -8664,7 +8662,7 @@ class ResourceModel {
|
|
|
8664
8662
|
}
|
|
8665
8663
|
get namespace() {
|
|
8666
8664
|
var _a;
|
|
8667
|
-
return (_a = this._rawYaml.metadata) == null ? void 0 : _a.namespace;
|
|
8665
|
+
return ((_a = this._rawYaml.metadata) == null ? void 0 : _a.namespace) || "default";
|
|
8668
8666
|
}
|
|
8669
8667
|
get labels() {
|
|
8670
8668
|
var _a;
|
|
@@ -8699,6 +8697,9 @@ class IngressModel extends ResourceModel {
|
|
|
8699
8697
|
super(_rawYaml, _globalStore);
|
|
8700
8698
|
this._rawYaml = _rawYaml;
|
|
8701
8699
|
}
|
|
8700
|
+
get spec() {
|
|
8701
|
+
return this._rawYaml.spec;
|
|
8702
|
+
}
|
|
8702
8703
|
getFullPath(rule2, path2 = "", port2) {
|
|
8703
8704
|
if (!rule2.host) {
|
|
8704
8705
|
return path2 || "";
|
|
@@ -9837,6 +9838,10 @@ class DeploymentModel extends WorkloadModel {
|
|
|
9837
9838
|
var _a, _b;
|
|
9838
9839
|
return (_b = (_a = this.metadata) == null ? void 0 : _a.annotations) == null ? void 0 : _b["deployment.kubernetes.io/revision"];
|
|
9839
9840
|
}
|
|
9841
|
+
get isPaused() {
|
|
9842
|
+
var _a;
|
|
9843
|
+
return !!((_a = this.spec) == null ? void 0 : _a.paused);
|
|
9844
|
+
}
|
|
9840
9845
|
getCurrentReplicaSet(replicaSets) {
|
|
9841
9846
|
const myReplicaSets = this.getReplicaSets(replicaSets);
|
|
9842
9847
|
return myReplicaSets.find((rs) => rs.revision === this.revision);
|
|
@@ -12584,11 +12589,15 @@ const DataField = (i18n2) => {
|
|
|
12584
12589
|
return {
|
|
12585
12590
|
key: "data",
|
|
12586
12591
|
path: ["data"],
|
|
12587
|
-
renderContent: (val) => {
|
|
12592
|
+
renderContent: (val, record) => {
|
|
12593
|
+
const finalData = {
|
|
12594
|
+
...val,
|
|
12595
|
+
..."binaryData" in record._rawYaml ? record._rawYaml.binaryData : {}
|
|
12596
|
+
};
|
|
12588
12597
|
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", {
|
|
12589
12598
|
className: "c91cpym",
|
|
12590
12599
|
children: /* @__PURE__ */ jsxRuntimeExports.jsx(KeyValue, {
|
|
12591
|
-
data:
|
|
12600
|
+
data: finalData,
|
|
12592
12601
|
empty: i18n2.t("dovetail.no_resource", {
|
|
12593
12602
|
kind: i18n2.t("dovetail.data")
|
|
12594
12603
|
})
|
|
@@ -13783,7 +13792,7 @@ function Tabs(props) {
|
|
|
13783
13792
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(TabsTabPane, { tab: tab.title, children: tab.children }, tab.title);
|
|
13784
13793
|
}) });
|
|
13785
13794
|
}
|
|
13786
|
-
const
|
|
13795
|
+
const ShowContentView_196cma3 = "";
|
|
13787
13796
|
const ShowContentWrapperStyle = "soapvs9";
|
|
13788
13797
|
const BackButton = "b13d603q";
|
|
13789
13798
|
const ToolBarWrapper = "tm8eaia";
|
|
@@ -13840,7 +13849,6 @@ const ShowContentView = (props) => {
|
|
|
13840
13849
|
children,
|
|
13841
13850
|
Dropdown: Dropdown2 = K8sDropdown,
|
|
13842
13851
|
hideBackButton = false,
|
|
13843
|
-
canCollapseTabs = false,
|
|
13844
13852
|
className,
|
|
13845
13853
|
hideTopBar = false,
|
|
13846
13854
|
size = "medium"
|
|
@@ -13927,7 +13935,7 @@ const ShowContentView = (props) => {
|
|
|
13927
13935
|
function renderGroup(group, isBasicGroup = false) {
|
|
13928
13936
|
let GroupContainer = React.Fragment;
|
|
13929
13937
|
let FieldContainer = React.Fragment;
|
|
13930
|
-
|
|
13938
|
+
let groupContainerProps = {
|
|
13931
13939
|
title: group.title || "",
|
|
13932
13940
|
size
|
|
13933
13941
|
};
|
|
@@ -13936,6 +13944,8 @@ const ShowContentView = (props) => {
|
|
|
13936
13944
|
GroupContainer = BasicShowGroupComponent;
|
|
13937
13945
|
} else if (group.title) {
|
|
13938
13946
|
GroupContainer = ShowGroupWithTitleComponent;
|
|
13947
|
+
} else {
|
|
13948
|
+
groupContainerProps = {};
|
|
13939
13949
|
}
|
|
13940
13950
|
const shouldRenderRow = !!(isBasicGroup || group.title);
|
|
13941
13951
|
if (shouldRenderRow) {
|
|
@@ -13960,6 +13970,7 @@ const ShowContentView = (props) => {
|
|
|
13960
13970
|
}, group.title);
|
|
13961
13971
|
}
|
|
13962
13972
|
const stateDisplay = get$2(record, "stateDisplay");
|
|
13973
|
+
const isPausedDeployment = record.kind === "Deployment" && record.isPaused;
|
|
13963
13974
|
const topBar = /* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
|
|
13964
13975
|
className: ToolBarWrapper,
|
|
13965
13976
|
style: {
|
|
@@ -13998,7 +14009,11 @@ const ShowContentView = (props) => {
|
|
|
13998
14009
|
}), stateDisplay ? /* @__PURE__ */ jsxRuntimeExports.jsx(StateTag, {
|
|
13999
14010
|
state: stateDisplay,
|
|
14000
14011
|
customResourceStateMap: showConfig.resourceStateMap
|
|
14001
|
-
}) : void 0
|
|
14012
|
+
}) : void 0, isPausedDeployment ? /* @__PURE__ */ jsxRuntimeExports.jsx(StatusCapsule, {
|
|
14013
|
+
className: cx_default(StateTagStyle, "c18272tc"),
|
|
14014
|
+
color: "yellow",
|
|
14015
|
+
children: i18n2.t("dovetail.pause_scheduling")
|
|
14016
|
+
}) : null]
|
|
14002
14017
|
}), /* @__PURE__ */ jsxRuntimeExports.jsxs(Space, {
|
|
14003
14018
|
children: [(_d = showConfig.renderExtraButton) == null ? void 0 : _d.call(showConfig, record), !config.hideEdit ? /* @__PURE__ */ jsxRuntimeExports.jsx(CanAccess, {
|
|
14004
14019
|
resource: resourceName,
|
|
@@ -14049,42 +14064,12 @@ const ShowContentView = (props) => {
|
|
|
14049
14064
|
direction: "vertical",
|
|
14050
14065
|
className: ShowContentHeaderStyle,
|
|
14051
14066
|
children: topBar
|
|
14052
|
-
}), basicInfo,
|
|
14053
|
-
children: tabs
|
|
14054
|
-
}) : tabs, children]
|
|
14055
|
-
});
|
|
14056
|
-
};
|
|
14057
|
-
const CollapseTabs = (props) => {
|
|
14058
|
-
const [isCollapsed, setIsCollapsed] = useState(true);
|
|
14059
|
-
const {
|
|
14060
|
-
t: t2
|
|
14061
|
-
} = useTranslation();
|
|
14062
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, {
|
|
14063
|
-
children: [isCollapsed ? null : props.children, /* @__PURE__ */ jsxRuntimeExports.jsx("div", {
|
|
14064
|
-
style: {
|
|
14065
|
-
display: "flex"
|
|
14066
|
-
},
|
|
14067
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Button, {
|
|
14068
|
-
style: {
|
|
14069
|
-
margin: "8px auto",
|
|
14070
|
-
cursor: "pointer"
|
|
14071
|
-
},
|
|
14072
|
-
size: "small",
|
|
14073
|
-
type: "link",
|
|
14074
|
-
onClick: () => setIsCollapsed((v) => !v),
|
|
14075
|
-
suffixIcon: isCollapsed ? /* @__PURE__ */ jsxRuntimeExports.jsx(Icon, {
|
|
14076
|
-
src: ArrowChevronDownSmall16BlueIcon
|
|
14077
|
-
}) : /* @__PURE__ */ jsxRuntimeExports.jsx(Icon, {
|
|
14078
|
-
src: ArrowChevronUpSmall16BlueIcon
|
|
14079
|
-
}),
|
|
14080
|
-
children: isCollapsed ? t2("dovetail.view_all_info") : t2("dovetail.collapse")
|
|
14081
|
-
})
|
|
14082
|
-
})]
|
|
14067
|
+
}), basicInfo, tabs, children]
|
|
14083
14068
|
});
|
|
14084
14069
|
};
|
|
14085
14070
|
const ShowContent = (props) => {
|
|
14086
14071
|
var _a;
|
|
14087
|
-
const { showConfig, formatter, Dropdown: Dropdown2 = K8sDropdown, children
|
|
14072
|
+
const { showConfig, formatter, Dropdown: Dropdown2 = K8sDropdown, children } = props;
|
|
14088
14073
|
const parsed = useParsed();
|
|
14089
14074
|
const { resource } = useResource();
|
|
14090
14075
|
const id = (_a = parsed == null ? void 0 : parsed.params) == null ? void 0 : _a.id;
|
|
@@ -14096,7 +14081,6 @@ const ShowContent = (props) => {
|
|
|
14096
14081
|
showConfig,
|
|
14097
14082
|
formatter,
|
|
14098
14083
|
Dropdown: Dropdown2,
|
|
14099
|
-
canCollapseTabs,
|
|
14100
14084
|
children
|
|
14101
14085
|
}
|
|
14102
14086
|
);
|
|
@@ -14727,14 +14711,14 @@ const SectionTitle = React.forwardRef(function SectionTitle2(props, ref) {
|
|
|
14727
14711
|
const {
|
|
14728
14712
|
t: t2
|
|
14729
14713
|
} = useTranslation();
|
|
14730
|
-
const [
|
|
14714
|
+
const [collapse, setCollapse] = useState(defaultCollapse);
|
|
14731
14715
|
useImperativeHandle(ref, () => ({
|
|
14732
14716
|
setCollapse
|
|
14733
14717
|
}), [setCollapse]);
|
|
14734
14718
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
|
|
14735
14719
|
className: cx_default(className),
|
|
14736
14720
|
children: [/* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
|
|
14737
|
-
className: cx_default(TitleWrapperStyle$1,
|
|
14721
|
+
className: cx_default(TitleWrapperStyle$1, collapse && CollapsedTitleStyle),
|
|
14738
14722
|
children: [/* @__PURE__ */ jsxRuntimeExports.jsx("span", {
|
|
14739
14723
|
className: Typo.Label.l4_bold_title,
|
|
14740
14724
|
children: title
|
|
@@ -14742,18 +14726,18 @@ const SectionTitle = React.forwardRef(function SectionTitle2(props, ref) {
|
|
|
14742
14726
|
type: "link",
|
|
14743
14727
|
size: "small",
|
|
14744
14728
|
className: cx_default(ButtonStyle),
|
|
14745
|
-
onClick: () => setCollapse(!
|
|
14746
|
-
children: [
|
|
14729
|
+
onClick: () => setCollapse(!collapse),
|
|
14730
|
+
children: [collapse ? t2("dovetail.expand") : t2("dovetail.fold"), /* @__PURE__ */ jsxRuntimeExports.jsx(Icon, {
|
|
14747
14731
|
style: {
|
|
14748
14732
|
marginLeft: 4
|
|
14749
14733
|
},
|
|
14750
|
-
src:
|
|
14734
|
+
src: collapse ? ArrowChevronDown16BlueIcon : ArrowChevronUp16BlueIcon
|
|
14751
14735
|
})]
|
|
14752
14736
|
}) : null]
|
|
14753
14737
|
}), /* @__PURE__ */ jsxRuntimeExports.jsx("div", {
|
|
14754
14738
|
className: cx_default(contentClassName),
|
|
14755
14739
|
style: {
|
|
14756
|
-
display:
|
|
14740
|
+
display: collapse ? "none" : "block"
|
|
14757
14741
|
},
|
|
14758
14742
|
children
|
|
14759
14743
|
})]
|
|
@@ -18964,13 +18948,25 @@ const IngressRulesComponent = ({ ingress }) => {
|
|
|
18964
18948
|
});
|
|
18965
18949
|
const flattenedRules = (serviceData == null ? void 0 : serviceData.data) ? ingress.getFlattenedRules(serviceData == null ? void 0 : serviceData.data) : [];
|
|
18966
18950
|
const result = flattenedRules.map((r2) => {
|
|
18967
|
-
|
|
18951
|
+
var _a, _b;
|
|
18952
|
+
const arrow = " → ";
|
|
18953
|
+
const divider = " | ";
|
|
18954
|
+
const secretName = (_b = (_a = ingress.spec.tls) == null ? void 0 : _a.find(
|
|
18955
|
+
({ hosts }) => hosts == null ? void 0 : hosts.includes(r2.host || "")
|
|
18956
|
+
)) == null ? void 0 : _b.secretName;
|
|
18957
|
+
let tooltip = r2.fullPath;
|
|
18958
|
+
if (r2.serviceName) {
|
|
18959
|
+
tooltip += `${arrow}${r2.serviceName}:${r2.servicePort}`;
|
|
18960
|
+
}
|
|
18961
|
+
if (secretName) {
|
|
18962
|
+
tooltip += `${divider}${secretName}`;
|
|
18963
|
+
}
|
|
18968
18964
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
18969
18965
|
OverflowTooltip,
|
|
18970
18966
|
{
|
|
18971
18967
|
content: /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
18972
18968
|
/* @__PURE__ */ jsxRuntimeExports.jsx(LinkFallback, { fullPath: r2.fullPath }),
|
|
18973
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children:
|
|
18969
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: arrow }),
|
|
18974
18970
|
r2.serviceName ? /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
18975
18971
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
18976
18972
|
ResourceLink,
|
|
@@ -18984,9 +18980,20 @@ const IngressRulesComponent = ({ ingress }) => {
|
|
|
18984
18980
|
":",
|
|
18985
18981
|
r2.servicePort
|
|
18986
18982
|
] })
|
|
18987
|
-
] }) : r2.resourceName
|
|
18983
|
+
] }) : r2.resourceName,
|
|
18984
|
+
secretName ? /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
18985
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: divider }),
|
|
18986
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
18987
|
+
ResourceLink,
|
|
18988
|
+
{
|
|
18989
|
+
resourceName: "secrets",
|
|
18990
|
+
namespace: ingress.metadata.namespace || "default",
|
|
18991
|
+
name: secretName
|
|
18992
|
+
}
|
|
18993
|
+
)
|
|
18994
|
+
] }) : void 0
|
|
18988
18995
|
] }),
|
|
18989
|
-
tooltip
|
|
18996
|
+
tooltip
|
|
18990
18997
|
},
|
|
18991
18998
|
r2.fullPath
|
|
18992
18999
|
);
|
|
@@ -19093,10 +19100,26 @@ const StateDisplayColumnRenderer = (i18n2) => {
|
|
|
19093
19100
|
sortable: true,
|
|
19094
19101
|
width: 120,
|
|
19095
19102
|
sorter: CommonSorter(dataIndex),
|
|
19096
|
-
render: (v) =>
|
|
19097
|
-
|
|
19098
|
-
|
|
19099
|
-
|
|
19103
|
+
render: (v, record) => {
|
|
19104
|
+
if (record.kind === "Deployment" && record.isPaused) {
|
|
19105
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("span", {
|
|
19106
|
+
children: [/* @__PURE__ */ jsxRuntimeExports.jsx(StateTag, {
|
|
19107
|
+
state: v,
|
|
19108
|
+
hideBackground: true
|
|
19109
|
+
}), /* @__PURE__ */ jsxRuntimeExports.jsx(Tag, {
|
|
19110
|
+
color: "yellow",
|
|
19111
|
+
style: {
|
|
19112
|
+
marginLeft: "4px"
|
|
19113
|
+
},
|
|
19114
|
+
children: i18n2.t("dovetail.pause_scheduling")
|
|
19115
|
+
})]
|
|
19116
|
+
});
|
|
19117
|
+
}
|
|
19118
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(StateTag, {
|
|
19119
|
+
state: v,
|
|
19120
|
+
hideBackground: true
|
|
19121
|
+
});
|
|
19122
|
+
}
|
|
19100
19123
|
};
|
|
19101
19124
|
};
|
|
19102
19125
|
const WorkloadImageColumnRenderer = (i18n2) => {
|
|
@@ -19474,8 +19497,11 @@ const DataKeysColumnRenderer = (i18n2) => {
|
|
|
19474
19497
|
display: true,
|
|
19475
19498
|
dataIndex: ["data"],
|
|
19476
19499
|
title: i18n2.t("dovetail.data"),
|
|
19477
|
-
render(data2) {
|
|
19478
|
-
const keys2 = Object.keys(
|
|
19500
|
+
render(data2, record) {
|
|
19501
|
+
const keys2 = Object.keys({
|
|
19502
|
+
...data2,
|
|
19503
|
+
..."binaryData" in record._rawYaml ? record._rawYaml.binaryData : {}
|
|
19504
|
+
});
|
|
19479
19505
|
return keys2.length ? keys2.map((key2) => /* @__PURE__ */ jsxRuntimeExports.jsx(OverflowTooltip, {
|
|
19480
19506
|
content: key2
|
|
19481
19507
|
}, key2)) : /* @__PURE__ */ jsxRuntimeExports.jsx(ValueDisplay, {
|
package/dist/style.css
CHANGED
|
@@ -906,9 +906,12 @@
|
|
|
906
906
|
/* fisheye */
|
|
907
907
|
/* z-index */
|
|
908
908
|
.esoz3jw.ant-btn.ant-btn-link {
|
|
909
|
-
font-size:
|
|
909
|
+
font-size: 12px;
|
|
910
910
|
height: 18px;
|
|
911
911
|
margin-left: 8px;
|
|
912
|
+
}
|
|
913
|
+
.esoz3jw.ant-btn.ant-btn-link span {
|
|
914
|
+
height: 18px;
|
|
912
915
|
}/* // basic */
|
|
913
916
|
/* FishEye Color Variables and Functions */
|
|
914
917
|
/*
|
|
@@ -3634,6 +3637,10 @@
|
|
|
3634
3637
|
.c1lh8loq.ant-row {
|
|
3635
3638
|
row-gap: 4px;
|
|
3636
3639
|
margin-right: 0 !important;
|
|
3640
|
+
}
|
|
3641
|
+
|
|
3642
|
+
.c18272tc {
|
|
3643
|
+
margin-left: 8px;
|
|
3637
3644
|
}/* // basic */
|
|
3638
3645
|
/* FishEye Color Variables and Functions */
|
|
3639
3646
|
/*
|