@dovetail-v2/refine 0.0.4 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{MonacoYamlDiffEditor.0954476c.js → MonacoYamlDiffEditor.9693667c.js} +2 -1
- package/dist/{index.ea039602.js → index.0d0d58f9.js} +4042 -2781
- package/dist/refine.js +58 -8
- package/dist/refine.umd.cjs +4017 -2757
- package/dist/style.css +18 -16
- package/lib/src/App.d.ts +0 -3
- package/lib/src/Dovetail.d.ts +3 -0
- package/lib/src/components/ResourceUsageBar/index.d.ts +8 -0
- package/lib/src/components/ShowContent/fields.d.ts +1 -0
- package/lib/src/components/index.d.ts +33 -0
- package/lib/src/constants/index.d.ts +1 -0
- package/lib/src/hooks/index.d.ts +4 -0
- package/lib/src/index.d.ts +3 -2
- package/lib/src/main.d.ts +1 -1
- package/lib/src/model/index.d.ts +1 -0
- package/lib/src/model/job-model.d.ts +2 -2
- package/lib/src/model/pod-metrics-model.d.ts +7 -0
- package/lib/src/model/pod-model.d.ts +5 -2
- package/lib/src/model/resource-model.d.ts +2 -2
- package/lib/src/model/workload-model.d.ts +2 -2
- package/lib/src/providers/router-provider/index.d.ts +1 -1
- package/lib/src/types/metric.d.ts +25 -0
- package/lib/src/types/resource.d.ts +2 -0
- package/lib/src/utils/unit.d.ts +12 -0
- package/package.json +4 -1
package/dist/style.css
CHANGED
|
@@ -1,6 +1,14 @@
|
|
|
1
|
-
@charset "UTF-8";.
|
|
2
|
-
.
|
|
3
|
-
.
|
|
1
|
+
@charset "UTF-8";.b142d7q8{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.b142d7q8 .breadcrumb-item:not(:last-of-type):after{content:'>';margin:0 8px;}
|
|
2
|
+
.m1u1f5zp{color:#bec1d2;}
|
|
3
|
+
.m8ychfk{margin-right:8px;}
|
|
4
|
+
.p1o004do{margin-left:8px;}
|
|
5
|
+
.eckm4od{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%;}
|
|
6
|
+
.e1hl982n{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.e1hl982n .title{margin-bottom:8px;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-image:linear-gradient(211.41deg,#929dad 0%,#d3dbe3 100%);}
|
|
7
|
+
.ax1qopv{position:absolute;top:0;left:0;bottom:0;width:1px;background:$blue-60;-webkit-transform:translateX(-9999px);-ms-transform:translateX(-9999px);transform:translateX(-9999px);z-index:999;}.ax1qopv::before{content:'';position:absolute;height:34px;width:3px;top:0;left:-1px;background:$blue-60;}
|
|
8
|
+
.t1upn1sz{width:100%;border-top:1px solid rgba(211,218,235,0.6);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}.t1upn1sz .ant-table-pagination{display:none;}.t1upn1sz .table-container{min-height:0;}
|
|
9
|
+
.t1v3ienx{-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;width:100%;margin-bottom:16px;}
|
|
10
|
+
.c16agr8o{width:100%;}
|
|
11
|
+
.c1dicff8{width:100%;}
|
|
4
12
|
.t1joof7s{width:100%;padding:11px;border-bottom:1px solid rgba(211,218,235,0.6);background:rgba(225,230,241,0.6);border-top-left-radius:8px;border-top-right-radius:8px;}.t1joof7s.collapsed{border-bottom:0;}.t1joof7s svg{margin:auto;}.t1joof7s > .dovetail-ant-space-item{line-height:16px;}
|
|
5
13
|
.tti58uh{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;height:20px;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;}.tti58uh .ant-space-item{line-height:1;}
|
|
6
14
|
.e15yt16p{margin-top:1px;}
|
|
@@ -12,24 +20,18 @@
|
|
|
12
20
|
.eh2qjnl{color:#f0483e;font-size:12px;line-height:18px;word-break:break-all;}
|
|
13
21
|
.e19q2bnp{margin-top:8px;}
|
|
14
22
|
.y16u5v3w .monaco-editor{border-bottom-left-radius:8px;border-bottom-right-radius:8px;}.y16u5v3w .monaco-editor .margin{border-bottom-left-radius:8px;}.y16u5v3w .monaco-editor .monaco-scrollable-element{border-bottom-right-radius:8px;}
|
|
15
|
-
.e5ks0bl{-webkit-flex:1;-ms-flex:1;flex:1;height:100%;}
|
|
16
|
-
.m1u1f5zp{color:#bec1d2;}
|
|
17
|
-
.m8ychfk{margin-right:8px;}
|
|
18
|
-
.p1o004do{margin-left:8px;}
|
|
19
|
-
.eckm4od{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%;}
|
|
20
|
-
.e1hl982n{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.e1hl982n .title{margin-bottom:8px;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-image:linear-gradient(211.41deg,#929dad 0%,#d3dbe3 100%);}
|
|
21
|
-
.ax1qopv{position:absolute;top:0;left:0;bottom:0;width:1px;background:$blue-60;-webkit-transform:translateX(-9999px);-ms-transform:translateX(-9999px);transform:translateX(-9999px);z-index:999;}.ax1qopv::before{content:'';position:absolute;height:34px;width:3px;top:0;left:-1px;background:$blue-60;}
|
|
22
|
-
.t1upn1sz{width:100%;border-top:1px solid rgba(211,218,235,0.6);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}.t1upn1sz .ant-table-pagination{display:none;}.t1upn1sz .table-container{min-height:0;}
|
|
23
|
-
.t1v3ienx{-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;width:100%;margin-bottom:16px;}
|
|
24
|
-
.laykzsq{width:100%;height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}
|
|
25
|
-
.t1ng0psc.table-wrapper{height:auto;-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1;min-height:0;}
|
|
26
|
-
.c16agr8o{width:100%;}
|
|
27
23
|
.t13a6vox{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;max-width:100%;}
|
|
28
24
|
.t12ikbmp{max-width:256px;overflow:hidden;text-overflow:ellipsis;}
|
|
29
|
-
.c1dicff8{width:100%;}
|
|
30
25
|
.t9agep2{-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;width:100%;}
|
|
31
26
|
.so89gfi{width:100%;overflow:auto;height:100%;width:100%;}
|
|
32
27
|
.e1ohe42f{margin-top:16px;}
|
|
28
|
+
.w1akirqw{height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}
|
|
29
|
+
.t30srnq{line-height:32px !important;}
|
|
30
|
+
.s1bsn3us{width:1px;height:16px;border-radius:1px;background:rgba(172,186,211,0.6);}
|
|
31
|
+
.e5ks0bl{-webkit-flex:1;-ms-flex:1;flex:1;height:100%;}
|
|
32
|
+
.laykzsq{width:100%;height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}
|
|
33
|
+
.t1ng0psc.table-wrapper{height:auto;-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1;min-height:0;}
|
|
34
|
+
.wfg6u6g{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.wfg6u6g .usage-text{width:50px;text-align:right;}.wfg6u6g .usage-bar{height:12px;width:100px;position:relative;border-radius:2px;}.wfg6u6g .request-anchor{position:absolute;left:10%;top:-3px;height:18px;width:2px;background:#777;z-index:9;}.wfg6u6g .usage-fill-bar{position:absolute;left:0;top:0;height:100%;background:rgba(0,128,255,0.6);z-index:7;}.wfg6u6g .request-bar{position:absolute;left:0;top:0;height:100%;background:#d8deeb;z-index:5;}.wfg6u6g .request-to-limit-bar{position:absolute;right:0;top:0;height:100%;background:#d8deeb;z-index:5;}.wfg6u6g .request-to-limit-bar.no-limit{background:linear-gradient(to right,#d8deeb 50%,#d8deeb 50%);background-size:4px 100%;}.wfg6u6g .request-to-limit-bar.no-limit.exceed-request{background:linear-gradient(to right,#d8deeb 50%,rgba(0,128,255,0.6) 50%);background-size:4px 100%;}
|
|
33
35
|
.mdppgn0.ant-menu{background:#edf0f7;padding:8px;}.mdppgn0.ant-menu .ant-menu-item-selected{background:linear-gradient(90deg,#0080ff,#005ed1);border-radius:6px;box-shadow:0 1px 2px rgba(184,192,204,0.6);color:#fff;}.mdppgn0.ant-menu .ant-menu-item-selected a:hover{color:#fff;}.mdppgn0.ant-menu .ant-menu-item:not(.ant-menu-item-selected):hover{background:linear-gradient(90deg,#fff,hsla(0,0%,100%,0.6));border-radius:6px;box-shadow:0 0 4px rgba(235,239,245,0.6),0 8px 16px rgba(129,138,153,0.18);}
|
|
34
36
|
.h16z07g.ant-layout-header{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:#fff;border-bottom:2px solid #edf0f7;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:50px;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:0 24px 0 14px;position:relative;z-index:10;}
|
|
35
37
|
.c1i80kj{height:100%;}
|
package/lib/src/App.d.ts
CHANGED
package/lib/src/Dovetail.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ResourceProps } from '@refinedev/core';
|
|
1
2
|
import React from 'react';
|
|
2
3
|
import './i18n';
|
|
3
4
|
import './styles.css';
|
|
@@ -6,7 +7,9 @@ import '@cloudtower/eagle/dist/style.css';
|
|
|
6
7
|
import { ResourceConfig } from './types';
|
|
7
8
|
type Props = {
|
|
8
9
|
resourcesConfig: ResourceConfig[];
|
|
10
|
+
useHashUrl?: boolean;
|
|
9
11
|
urlPrefix: string;
|
|
12
|
+
refineResources?: ResourceProps[];
|
|
10
13
|
};
|
|
11
14
|
export declare const Dovetail: React.FC<Props>;
|
|
12
15
|
export {};
|
|
@@ -13,4 +13,5 @@ export declare const ConditionsField: (i18n: i18n) => ShowField<WorkloadModel>;
|
|
|
13
13
|
export declare const PodsField: (_: i18n) => ShowField<WorkloadModel>;
|
|
14
14
|
export declare const JobsField: (_: i18n) => ShowField<WorkloadModel>;
|
|
15
15
|
export declare const DataField: (i18n: i18n) => ShowField<ResourceModel>;
|
|
16
|
+
export declare const SecretDataField: (i18n: i18n) => ShowField<ResourceModel>;
|
|
16
17
|
export declare const StartTimeField: (i18n: i18n) => ShowField<JobModel>;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export * from './Breadcrumb';
|
|
2
|
+
export * from './Form';
|
|
3
|
+
export * from './PageShow';
|
|
4
|
+
export * from './Time';
|
|
5
|
+
export * from './ConditionsTable';
|
|
6
|
+
export * from './FormLayout';
|
|
7
|
+
export * from './PodContainersTable';
|
|
8
|
+
export * from './WorkloadDropdown';
|
|
9
|
+
export * from './CreateButton';
|
|
10
|
+
export * from './ImageNames';
|
|
11
|
+
export * from './ResourceCRUD';
|
|
12
|
+
export * from './WorkloadPodsTable';
|
|
13
|
+
export * from './CronJobDropdown';
|
|
14
|
+
export * from './K8sDropdown';
|
|
15
|
+
export * from './ResourceUsageBar';
|
|
16
|
+
export * from './WorkloadReplicas';
|
|
17
|
+
export * from './CronjobJobsTable';
|
|
18
|
+
export * from './KeyValue';
|
|
19
|
+
export * from './Separator';
|
|
20
|
+
export * from './YamlEditor';
|
|
21
|
+
export * from './DeleteButton';
|
|
22
|
+
export * from './Layout';
|
|
23
|
+
export * from './ShowContent';
|
|
24
|
+
export * from './YamlForm';
|
|
25
|
+
export * from './DeleteManyButton';
|
|
26
|
+
export * from './ListPage';
|
|
27
|
+
export * from './StateTag';
|
|
28
|
+
export * from './DrawerShow';
|
|
29
|
+
export * from './Menu';
|
|
30
|
+
export * from './Table';
|
|
31
|
+
export * from './EditButton';
|
|
32
|
+
export * from './NamespacesFilter';
|
|
33
|
+
export * from './Tags';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './k8s';
|
package/lib/src/hooks/index.d.ts
CHANGED
package/lib/src/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * from './providers';
|
|
2
2
|
export * from './hooks';
|
|
3
|
-
export * from './components
|
|
4
|
-
export * from './
|
|
3
|
+
export * from './components';
|
|
4
|
+
export * from './constants';
|
|
5
|
+
export * from './hooks';
|
|
5
6
|
export * from './Dovetail';
|
|
6
7
|
export * from './types';
|
package/lib/src/main.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
import './i18n';
|
package/lib/src/model/index.d.ts
CHANGED
|
@@ -2,8 +2,8 @@ import { Job } from 'kubernetes-types/batch/v1';
|
|
|
2
2
|
import { WithId } from '../types';
|
|
3
3
|
import { WorkloadModel } from './workload-model';
|
|
4
4
|
export declare class JobModel extends WorkloadModel<Job> {
|
|
5
|
-
|
|
6
|
-
constructor(
|
|
5
|
+
rawYaml: WithId<Job>;
|
|
6
|
+
constructor(rawYaml: WithId<Job>);
|
|
7
7
|
get duration(): number;
|
|
8
8
|
get durationDisplay(): string | undefined;
|
|
9
9
|
get completionsDisplay(): string;
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import type { Pod } from 'kubernetes-types/core/v1';
|
|
2
|
+
import { ResourceQuantity } from 'src/types/metric';
|
|
2
3
|
import { WithId } from '../types';
|
|
3
4
|
import { WorkloadModel } from './workload-model';
|
|
4
5
|
export declare class PodModel extends WorkloadModel<Pod> {
|
|
5
|
-
|
|
6
|
-
|
|
6
|
+
rawYaml: WithId<Pod>;
|
|
7
|
+
request: ResourceQuantity;
|
|
8
|
+
limit: ResourceQuantity;
|
|
9
|
+
constructor(rawYaml: WithId<Pod>);
|
|
7
10
|
get imageNames(): string[];
|
|
8
11
|
get restartCount(): number;
|
|
9
12
|
get readyDisplay(): string;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Resource } from '../types';
|
|
2
2
|
export declare class ResourceModel implements Resource {
|
|
3
|
-
|
|
3
|
+
rawYaml: Resource;
|
|
4
4
|
id: Resource['id'];
|
|
5
5
|
apiVersion: Resource['apiVersion'];
|
|
6
6
|
kind: Resource['kind'];
|
|
7
7
|
metadata: Resource['metadata'];
|
|
8
|
-
constructor(
|
|
8
|
+
constructor(rawYaml: Resource);
|
|
9
9
|
get name(): string | undefined;
|
|
10
10
|
get namespace(): string | undefined;
|
|
11
11
|
get labels(): {
|
|
@@ -5,8 +5,8 @@ import { WithId } from '../types';
|
|
|
5
5
|
import { ResourceModel } from './resource-model';
|
|
6
6
|
type WorkloadTypes = Deployment | StatefulSet | Job | DaemonSet | CronJob | Pod;
|
|
7
7
|
export declare class WorkloadModel<T extends WorkloadTypes = WorkloadTypes> extends ResourceModel {
|
|
8
|
-
|
|
9
|
-
constructor(
|
|
8
|
+
rawYaml: WithId<T>;
|
|
9
|
+
constructor(rawYaml: WithId<T>);
|
|
10
10
|
get status(): T['status'];
|
|
11
11
|
get spec(): T['spec'];
|
|
12
12
|
get imageNames(): string[];
|
|
@@ -11,7 +11,7 @@ export declare const convertToNumberIfPossible: (value: string | undefined) => s
|
|
|
11
11
|
export declare const routerProvider: {
|
|
12
12
|
go: () => ({ to, type, query, hash, options: { keepQuery, keepHash } }: GoConfig) => string | void;
|
|
13
13
|
back: () => () => void;
|
|
14
|
-
parse: () => () => ParseResponse
|
|
14
|
+
parse: () => () => ParseResponse;
|
|
15
15
|
Link: React.ForwardRefExoticComponent<Pick<{
|
|
16
16
|
[prop: string]: any;
|
|
17
17
|
to: string;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Resource } from './resource';
|
|
2
|
+
type Quantity = string;
|
|
3
|
+
export type ContainerMetrics = {
|
|
4
|
+
name: string;
|
|
5
|
+
usage: {
|
|
6
|
+
cpu?: Quantity;
|
|
7
|
+
memory?: Quantity;
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
export type PodMetrics = {
|
|
11
|
+
timestamp: string;
|
|
12
|
+
window: string;
|
|
13
|
+
containers: ContainerMetrics[];
|
|
14
|
+
} & Resource;
|
|
15
|
+
export type ResourceQuantity = {
|
|
16
|
+
cpu: {
|
|
17
|
+
si: string;
|
|
18
|
+
value: number;
|
|
19
|
+
};
|
|
20
|
+
memory: {
|
|
21
|
+
si: string;
|
|
22
|
+
value: number;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
export {};
|
|
@@ -28,6 +28,7 @@ export type ResourceConfig<Raw extends Resource = Resource, Model extends Resour
|
|
|
28
28
|
kind: string;
|
|
29
29
|
basePath: string;
|
|
30
30
|
apiVersion: string;
|
|
31
|
+
label: string;
|
|
31
32
|
parent?: RESOURCE_GROUP;
|
|
32
33
|
formatter?: (v: Raw) => Model;
|
|
33
34
|
initValue?: Record<string, unknown>;
|
|
@@ -36,4 +37,5 @@ export type ResourceConfig<Raw extends Resource = Resource, Model extends Resour
|
|
|
36
37
|
Dropdown?: React.FC<{
|
|
37
38
|
data: Model;
|
|
38
39
|
}>;
|
|
40
|
+
isCustom?: boolean;
|
|
39
41
|
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
type FormatOptions = {
|
|
2
|
+
increment: number;
|
|
3
|
+
suffix: string | null;
|
|
4
|
+
firstSuffix: string | null;
|
|
5
|
+
startingExponent: number;
|
|
6
|
+
minExponent: number;
|
|
7
|
+
maxPrecision: number;
|
|
8
|
+
atLeastOne: boolean;
|
|
9
|
+
};
|
|
10
|
+
export declare function formatSi(inValue: number, options?: Partial<FormatOptions>): string;
|
|
11
|
+
export declare function parseSi(inValue: string, increment?: number | null, allowFractional?: boolean): number;
|
|
12
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dovetail-v2/refine",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.5",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist",
|
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
"@linaria/core": "^4.5.4",
|
|
38
38
|
"@linaria/react": "^4.5.4",
|
|
39
39
|
"@linaria/vite": "^4.5.4",
|
|
40
|
+
"@playwright/test": "^1.39.0",
|
|
40
41
|
"@refinedev/cli": "^2.9.0",
|
|
41
42
|
"@types/js-yaml": "^4.0.6",
|
|
42
43
|
"@types/json-schema": "^7.0.13",
|
|
@@ -67,9 +68,11 @@
|
|
|
67
68
|
},
|
|
68
69
|
"scripts": {
|
|
69
70
|
"dev": "refine dev",
|
|
71
|
+
"dev:test": "VITE_IS_TEST=true refine dev",
|
|
70
72
|
"build": "tsc --emitDeclarationOnly && vite build",
|
|
71
73
|
"preview": "refine start",
|
|
72
74
|
"refine": "refine",
|
|
75
|
+
"test": "npx playwright test --workers 1",
|
|
73
76
|
"lint": "eslint src --ext .ts,.tsx"
|
|
74
77
|
},
|
|
75
78
|
"browserslist": {
|