@dovetail-v2/refine 0.0.14 → 0.0.15

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.
Files changed (42) hide show
  1. package/dist/{MonacoYamlDiffEditor.2bd18ff6.js → MonacoYamlDiffEditor.15656940.js} +3 -3
  2. package/dist/{index.8d29d388.js → index.82c82bb4.js} +797 -957
  3. package/dist/refine.js +72 -75
  4. package/dist/refine.umd.cjs +717 -877
  5. package/dist/style.css +4 -1
  6. package/lib/src/components/CronJobDropdown/index.d.ts +1 -1
  7. package/lib/src/components/DrawerShow/DrawerShow.d.ts +4 -5
  8. package/lib/src/components/ErrorContent/index.d.ts +12 -0
  9. package/lib/src/components/EventsTable/EventsTable.d.ts +1 -3
  10. package/lib/src/components/K8sDropdown/index.d.ts +1 -1
  11. package/lib/src/components/ListPage/index.d.ts +1 -1
  12. package/lib/src/components/PageShow/PageShow.d.ts +4 -5
  13. package/lib/src/components/PodLog/index.d.ts +1 -1
  14. package/lib/src/components/ResourceCRUD/create/index.d.ts +5 -5
  15. package/lib/src/components/ResourceCRUD/list/index.d.ts +3 -4
  16. package/lib/src/components/ResourceCRUD/show/index.d.ts +4 -5
  17. package/lib/src/components/ShowContent/ShowContent.d.ts +4 -5
  18. package/lib/src/components/ShowContent/fields.d.ts +13 -14
  19. package/lib/src/components/Table/index.d.ts +1 -1
  20. package/lib/src/components/WorkloadDropdown/index.d.ts +1 -1
  21. package/lib/src/components/WorkloadReplicas/index.d.ts +1 -1
  22. package/lib/src/components/YamlForm/index.d.ts +6 -0
  23. package/lib/src/constants/k8s.d.ts +22 -0
  24. package/lib/src/hooks/useDownloadYAML.d.ts +2 -2
  25. package/lib/src/hooks/useEagleForm.d.ts +5 -0
  26. package/lib/src/hooks/useEagleTable/columns.d.ts +13 -14
  27. package/lib/src/hooks/useEagleTable/useEagleTable.d.ts +6 -7
  28. package/lib/src/hooks/useSchema.d.ts +9 -2
  29. package/lib/src/i18n.d.ts +6 -0
  30. package/lib/src/index.d.ts +0 -1
  31. package/lib/src/locales/en-US/index.d.ts +3 -0
  32. package/lib/src/locales/zh-CN/index.d.ts +3 -0
  33. package/lib/src/pages/configmaps/index.d.ts +3 -3
  34. package/lib/src/pages/jobs/index.d.ts +3 -4
  35. package/lib/src/pages/secrets/index.d.ts +3 -3
  36. package/lib/src/pages/services/index.d.ts +3 -3
  37. package/lib/src/providers/router-provider/index.d.ts +1 -1
  38. package/lib/src/types/index.d.ts +0 -1
  39. package/lib/src/types/resource.d.ts +3 -16
  40. package/lib/src/utils/error.d.ts +2 -2
  41. package/lib/src/utils/selector.d.ts +1 -1
  42. package/package.json +4 -1
package/dist/style.css CHANGED
@@ -29,8 +29,11 @@
29
29
  .t30srnq{line-height:32px !important;}
30
30
  .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;}
31
31
  .t1ng0psc.table-wrapper{height:auto;-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1;min-height:0;}
32
+ .egn3dbn{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%;}
33
+ .e136jgy8{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;}.e136jgy8 .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%);}
32
34
  .s1bsn3us{width:1px;height:16px;border-radius:1px;background:rgba(172,186,211,0.6);}
33
- .e5ks0bl{-webkit-flex:1;-ms-flex:1;flex:1;height:100%;}
35
+ .f5ks0bl{height:100%;}
36
+ .e1tqaxpu{-webkit-flex:1;-ms-flex:1;flex:1;height:100%;}
34
37
  .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%;}
35
38
  .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);}
36
39
  .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;}
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { CronJobModel } from '../../model';
2
+ import { CronJobModel } from 'k8s-api-provider';
3
3
  type Props<Model extends CronJobModel> = {
4
4
  data: Model;
5
5
  };
@@ -1,10 +1,9 @@
1
1
  /// <reference types="react" />
2
- import { ResourceModel } from '../../model';
3
- import { Resource } from '../../types';
2
+ import { ResourceModel } from 'k8s-api-provider';
4
3
  import { ShowField } from '../ShowContent';
5
- type Props<Raw extends Resource, Model extends ResourceModel> = {
4
+ type Props<Model extends ResourceModel> = {
6
5
  fieldGroups: ShowField<Model>[][];
7
- formatter: (r: Raw) => Model;
6
+ formatter?: (r: Model) => Model;
8
7
  };
9
- export declare const DrawerShow: <Raw extends Resource, Model extends ResourceModel>(props: Props<Raw, Model>) => JSX.Element;
8
+ export declare const DrawerShow: <Model extends ResourceModel<import("k8s-api-provider").Unstructured>>(props: Props<Model>) => JSX.Element;
10
9
  export {};
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ export declare const ErrorWrapper: import("@linaria/react").StyledComponent<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & Record<never, unknown>>;
3
+ export declare const ErrorContent: import("@linaria/react").StyledComponent<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & Record<never, unknown>>;
4
+ export type WidgetErrorContentProps = {
5
+ className?: string;
6
+ style?: React.CSSProperties;
7
+ errorText?: string;
8
+ hiddenRetry?: boolean;
9
+ refetch?: () => void;
10
+ };
11
+ declare const WidgetErrorContent: React.FunctionComponent<WidgetErrorContentProps>;
12
+ export default WidgetErrorContent;
@@ -1,4 +1,2 @@
1
1
  import React from 'react';
2
- type Props = {};
3
- export declare const EventsTable: React.FC<Props>;
4
- export {};
2
+ export declare const EventsTable: React.FC;
@@ -1,5 +1,5 @@
1
+ import { ResourceModel } from 'k8s-api-provider';
1
2
  import React from 'react';
2
- import { ResourceModel } from '../../model';
3
3
  interface K8sDropdownProps {
4
4
  data: ResourceModel;
5
5
  }
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
+ import { ResourceModel } from 'k8s-api-provider';
2
3
  import { TableProps } from 'src/components/Table';
3
- import { ResourceModel } from 'src/model';
4
4
  interface ListPageProps<T extends ResourceModel> {
5
5
  title: string;
6
6
  selectedKeys: string[];
@@ -1,13 +1,12 @@
1
+ import { ResourceModel } from 'k8s-api-provider';
1
2
  import React from 'react';
2
- import { ResourceModel } from '../../model';
3
- import { Resource } from '../../types';
4
3
  import { ShowField } from '../ShowContent';
5
- type Props<Raw extends Resource, Model extends ResourceModel> = {
4
+ type Props<Model extends ResourceModel> = {
6
5
  fieldGroups: ShowField<Model>[][];
7
- formatter: (r: Raw) => Model;
6
+ formatter?: (r: Model) => Model;
8
7
  Dropdown?: React.FC<{
9
8
  data: Model;
10
9
  }>;
11
10
  };
12
- export declare const PageShow: <Raw extends Resource, Model extends ResourceModel>(props: Props<Raw, Model>) => JSX.Element;
11
+ export declare const PageShow: <Model extends ResourceModel<import("k8s-api-provider").Unstructured>>(props: Props<Model>) => JSX.Element;
13
12
  export {};
@@ -1,5 +1,5 @@
1
+ import { PodModel } from 'k8s-api-provider';
1
2
  import React from 'react';
2
- import { PodModel } from '../../model';
3
3
  import '@patternfly/react-core/dist/styles/base-no-reset.css';
4
4
  export declare const PodLog: React.FC<{
5
5
  pod: PodModel;
@@ -1,8 +1,8 @@
1
1
  /// <reference types="react" />
2
- import { Resource, ResourceConfig } from '../../../types';
3
- import { ResourceModel } from '../../../model';
4
- type Props<Raw extends Resource, Model extends ResourceModel> = {
5
- config: ResourceConfig<Raw, Model>;
2
+ import { ResourceModel } from 'k8s-api-provider';
3
+ import { ResourceConfig } from '../../../types';
4
+ type Props<Model extends ResourceModel> = {
5
+ config: ResourceConfig<Model>;
6
6
  };
7
- export declare function ResourceForm<Raw extends Resource, Model extends ResourceModel>(props: Props<Raw, Model>): JSX.Element;
7
+ export declare function ResourceForm<Model extends ResourceModel>(props: Props<Model>): JSX.Element;
8
8
  export {};
@@ -1,14 +1,13 @@
1
1
  import { IResourceComponentsProps } from '@refinedev/core';
2
+ import { ResourceModel } from 'k8s-api-provider';
2
3
  import React from 'react';
3
- import { ResourceModel } from '../../../model';
4
- import { Resource } from '../../../types';
5
4
  import { Column } from '../../Table';
6
5
  type Props<Model extends ResourceModel> = IResourceComponentsProps & {
7
- formatter: (v: Resource) => Model;
6
+ formatter?: (v: Model) => Model;
8
7
  columns: Column<Model>[];
9
8
  Dropdown?: React.FC<{
10
9
  data: Model;
11
10
  }>;
12
11
  };
13
- export declare function ResourceList<Raw extends Resource, Model extends ResourceModel>(props: Props<Model>): JSX.Element;
12
+ export declare function ResourceList<Model extends ResourceModel>(props: Props<Model>): JSX.Element;
14
13
  export {};
@@ -1,14 +1,13 @@
1
1
  import { IResourceComponentsProps } from '@refinedev/core';
2
+ import { ResourceModel } from 'k8s-api-provider';
2
3
  import React from 'react';
3
- import { ResourceModel } from '../../../model';
4
- import { Resource } from '../../../types';
5
4
  import { ShowField } from '../../ShowContent';
6
- type Props<Raw extends Resource, Model extends ResourceModel> = IResourceComponentsProps & {
7
- formatter: (v: Raw) => Model;
5
+ type Props<Model extends ResourceModel> = IResourceComponentsProps & {
6
+ formatter?: (v: Model) => Model;
8
7
  filedGroups: ShowField<Model>[][];
9
8
  Dropdown?: React.FC<{
10
9
  data: Model;
11
10
  }>;
12
11
  };
13
- export declare function ResourceShow<Raw extends Resource, Model extends ResourceModel>(props: Props<Raw, Model>): JSX.Element;
12
+ export declare function ResourceShow<Model extends ResourceModel>(props: Props<Model>): JSX.Element;
14
13
  export {};
@@ -1,13 +1,12 @@
1
+ import { ResourceModel } from 'k8s-api-provider';
1
2
  import React from 'react';
2
- import { ResourceModel } from '../../model';
3
- import { Resource } from '../../types';
4
3
  import { ShowField } from './fields';
5
- type Props<Raw extends Resource, Model extends ResourceModel> = {
4
+ type Props<Model extends ResourceModel> = {
6
5
  fieldGroups: ShowField<Model>[][];
7
- formatter: (r: Raw) => Model;
6
+ formatter?: (r: Model) => Model;
8
7
  Dropdown?: React.FC<{
9
8
  data: Model;
10
9
  }>;
11
10
  };
12
- export declare const ShowContent: <Raw extends Resource, Model extends ResourceModel>(props: Props<Raw, Model>) => JSX.Element | null;
11
+ export declare const ShowContent: <Model extends ResourceModel<import("k8s-api-provider").Unstructured>>(props: Props<Model>) => JSX.Element | null;
13
12
  export {};
@@ -1,21 +1,20 @@
1
- import { i18n } from 'i18next';
1
+ import { JobModel, ResourceModel, WorkloadModel, WorkloadBaseModel, CronJobModel } from 'k8s-api-provider';
2
2
  import React from 'react';
3
- import { JobModel, ResourceModel, WorkloadModel } from '../../model';
4
3
  export type ShowField<Model extends ResourceModel> = {
5
4
  key: string;
6
5
  title: string;
7
6
  path: string[];
8
7
  render?: (val: unknown, record: Model) => React.ReactElement | undefined;
9
8
  };
10
- export declare const ImageField: (i18n: i18n) => ShowField<WorkloadModel>;
11
- export declare const ReplicaField: (i18n: i18n) => ShowField<WorkloadModel>;
12
- export declare const ConditionsField: (i18n: i18n) => ShowField<ResourceModel>;
13
- export declare const PodsField: (_: i18n) => ShowField<WorkloadModel>;
14
- export declare const JobsField: (_: i18n) => ShowField<WorkloadModel>;
15
- export declare const DataField: (i18n: i18n) => ShowField<ResourceModel>;
16
- export declare const SecretDataField: (i18n: i18n) => ShowField<ResourceModel>;
17
- export declare const StartTimeField: (i18n: i18n) => ShowField<JobModel>;
18
- export declare const ServiceTypeField: (i18n: i18n) => ShowField<ResourceModel>;
19
- export declare const ClusterIpField: (i18n: i18n) => ShowField<ResourceModel>;
20
- export declare const SessionAffinityField: (i18n: i18n) => ShowField<ResourceModel>;
21
- export declare const ServicePodsField: (_: i18n) => ShowField<ResourceModel>;
9
+ export declare const ImageField: () => ShowField<WorkloadBaseModel>;
10
+ export declare const ReplicaField: () => ShowField<WorkloadModel>;
11
+ export declare const ConditionsField: () => ShowField<ResourceModel>;
12
+ export declare const PodsField: () => ShowField<WorkloadModel>;
13
+ export declare const JobsField: () => ShowField<JobModel | CronJobModel>;
14
+ export declare const DataField: () => ShowField<ResourceModel>;
15
+ export declare const SecretDataField: () => ShowField<ResourceModel>;
16
+ export declare const StartTimeField: () => ShowField<JobModel>;
17
+ export declare const ServiceTypeField: () => ShowField<ResourceModel>;
18
+ export declare const ClusterIpField: () => ShowField<ResourceModel>;
19
+ export declare const SessionAffinityField: () => ShowField<ResourceModel>;
20
+ export declare const ServicePodsField: () => ShowField<ResourceModel>;
@@ -1,7 +1,7 @@
1
1
  import { TableProps as BaseTableProps } from '@cloudtower/eagle';
2
2
  import { RequiredColumnProps } from '@cloudtower/eagle/dist/spec/base';
3
+ import { ResourceModel } from 'k8s-api-provider';
3
4
  import React from 'react';
4
- import { ResourceModel } from '../../model';
5
5
  export type IDObject = {
6
6
  id: string;
7
7
  };
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { WorkloadModel } from '../../model';
2
+ import { WorkloadModel } from 'k8s-api-provider';
3
3
  type Props<Model extends WorkloadModel> = {
4
4
  data: Model;
5
5
  };
@@ -1,5 +1,5 @@
1
+ import { WorkloadModel } from 'k8s-api-provider';
1
2
  import React from 'react';
2
- import { WorkloadModel } from '../../model/workload-model';
3
3
  export declare const WorkloadReplicas: React.FC<{
4
4
  record: WorkloadModel;
5
5
  }>;
@@ -1,6 +1,12 @@
1
1
  /// <reference types="react" />
2
+ export declare enum SchemaStrategy {
3
+ Required = "Required",
4
+ Optional = "Optional",
5
+ None = "None"
6
+ }
2
7
  interface YamlFormProps {
3
8
  initialValues?: Record<string, unknown>;
9
+ schemaStrategy?: SchemaStrategy;
4
10
  }
5
11
  declare function YamlForm(props: YamlFormProps): JSX.Element;
6
12
  export default YamlForm;
@@ -201,4 +201,26 @@ export declare const POD_INIT_VALUE: {
201
201
  apiVersion: string;
202
202
  kind: string;
203
203
  };
204
+ export declare const SERVICE_INIT_VALUE: {
205
+ spec: {
206
+ selector: {};
207
+ clusterIP: null;
208
+ ports: {
209
+ name: string;
210
+ port: null;
211
+ protocol: string;
212
+ targetPort: null;
213
+ }[];
214
+ sessionAffinity: string;
215
+ type: string;
216
+ };
217
+ metadata: {
218
+ name: string;
219
+ namespace: string;
220
+ annotations: {};
221
+ labels: {};
222
+ };
223
+ apiVersion: string;
224
+ kind: string;
225
+ };
204
226
  export declare const TIMESTAMP_LABEL = "sks.user.kubesmart.smtx.io/timestamp";
@@ -1,7 +1,7 @@
1
- import { ResourceModel } from '../model';
1
+ import { Unstructured } from 'k8s-api-provider';
2
2
  type DownloadYAMLOptions = {
3
3
  name: string;
4
- item: ResourceModel;
4
+ item: Unstructured;
5
5
  };
6
6
  export declare function useDownloadYAML(): (options: DownloadYAMLOptions) => void;
7
7
  export {};
@@ -17,6 +17,7 @@ export type UseFormProps<TQueryFnData extends BaseRecord = BaseRecord, TError ex
17
17
  warnWhenUnsavedChanges?: boolean;
18
18
  editorOptions?: {
19
19
  isGenerateAnnotations?: boolean;
20
+ isSkipSchema?: boolean;
20
21
  };
21
22
  };
22
23
  export type UseFormReturnType<TQueryFnData extends BaseRecord = BaseRecord, TError extends HttpError = HttpError, TVariables extends object = object, TData extends BaseRecord = TQueryFnData, TResponse extends BaseRecord = TData, TResponseError extends HttpError = TError> = UseFormReturnTypeCore<TQueryFnData, TError, TVariables, TData, TResponse, TResponseError> & {
@@ -26,6 +27,10 @@ export type UseFormReturnType<TQueryFnData extends BaseRecord = BaseRecord, TErr
26
27
  onClick: () => void;
27
28
  };
28
29
  editorProps: EditorProps;
30
+ schema: JSONSchema7 | null;
31
+ isLoadingSchema: boolean;
32
+ loadSchemaError: Error | null;
33
+ fetchSchema: () => void;
29
34
  enableEditor: boolean;
30
35
  errorResponseBody?: Record<string, unknown> | null;
31
36
  switchEditor: () => void;
@@ -1,16 +1,15 @@
1
- import { i18n } from 'i18next';
1
+ import { JobModel, PodModel, ResourceModel, WorkloadModel, WorkloadBaseModel } from 'k8s-api-provider';
2
2
  import { Column } from '../../components/Table';
3
- import { JobModel, PodModel, ResourceModel } from '../../model';
4
- import { WorkloadModel } from '../../model/workload-model';
5
3
  export declare const CommonSorter: (dataIndex: string[]) => (a: unknown, b: unknown) => 0 | 1 | -1;
6
- export declare const NameColumnRenderer: <Model extends ResourceModel>(i18n: i18n, resource?: string) => Column<Model>;
7
- export declare const NameSpaceColumnRenderer: <Model extends ResourceModel>(i18n: i18n) => Column<Model>;
8
- export declare const PhaseColumnRenderer: <Model extends ResourceModel>(i18n: i18n) => Column<Model>;
9
- export declare const WorkloadImageColumnRenderer: <Model extends ResourceModel>(i18n: i18n) => Column<Model>;
10
- export declare const ReplicasColumnRenderer: <Model extends WorkloadModel<import("kubernetes-types/apps/v1").Deployment | import("kubernetes-types/apps/v1").StatefulSet | import("kubernetes-types/batch/v1").Job | import("kubernetes-types/apps/v1").DaemonSet | import("kubernetes-types/batch/v1").CronJob | import("kubernetes-types/core/v1").Pod>>(i18n: i18n) => Column<Model>;
11
- export declare const AgeColumnRenderer: <Model extends ResourceModel>(i18n: i18n) => Column<Model>;
12
- export declare const NodeNameColumnRenderer: <Model extends PodModel>(i18n: i18n) => Column<Model>;
13
- export declare const RestartCountColumnRenderer: <Model extends PodModel>(i18n: i18n) => Column<Model>;
14
- export declare const CompletionsCountColumnRenderer: <Model extends JobModel>(i18n: i18n) => Column<Model>;
15
- export declare const DurationColumnRenderer: <Model extends JobModel>(i18n: i18n) => Column<Model>;
16
- export declare const ServiceTypeColumnRenderer: <Model extends ResourceModel>(i18n: i18n) => Column<Model>;
4
+ export declare const NameColumnRenderer: <Model extends ResourceModel<import("k8s-api-provider").Unstructured>>(resource?: string) => Column<Model>;
5
+ export declare const NameSpaceColumnRenderer: <Model extends ResourceModel<import("k8s-api-provider").Unstructured>>() => Column<Model>;
6
+ export declare const PhaseColumnRenderer: <Model extends ResourceModel<import("k8s-api-provider").Unstructured>>() => Column<Model>;
7
+ export declare const WorkloadImageColumnRenderer: <Model extends WorkloadBaseModel>() => Column<Model>;
8
+ export declare const WorkloadRestartsColumnRenderer: <Model extends WorkloadModel>() => Column<Model>;
9
+ export declare const ReplicasColumnRenderer: <Model extends WorkloadModel>() => Column<Model>;
10
+ export declare const AgeColumnRenderer: <Model extends ResourceModel<import("k8s-api-provider").Unstructured>>() => Column<Model>;
11
+ export declare const NodeNameColumnRenderer: <Model extends PodModel>(options?: Partial<Column<Model>> | undefined) => Column<Model>;
12
+ export declare const RestartCountColumnRenderer: <Model extends PodModel>() => Column<Model>;
13
+ export declare const CompletionsCountColumnRenderer: <Model extends JobModel>() => Column<Model>;
14
+ export declare const DurationColumnRenderer: <Model extends JobModel>() => Column<Model>;
15
+ export declare const ServiceTypeColumnRenderer: <Model extends ResourceModel<import("k8s-api-provider").Unstructured>>() => Column<Model>;
@@ -1,13 +1,12 @@
1
1
  import { useTable } from '@refinedev/core';
2
+ import { ResourceModel } from 'k8s-api-provider';
2
3
  import React from 'react';
3
4
  import { Column, TableProps } from '../../components/Table';
4
- import { ResourceModel } from '../../model';
5
- import { Resource } from '../../types';
6
- type Params<Raw extends Resource, Model extends ResourceModel> = {
7
- useTableParams: Parameters<typeof useTable<Raw>>[0];
5
+ type Params<Model extends ResourceModel> = {
6
+ useTableParams: Parameters<typeof useTable<Model>>[0];
8
7
  columns: Column<Model>[];
9
8
  tableProps?: Partial<TableProps<Model>>;
10
- formatter: (d: Raw) => Model;
9
+ formatter?: (d: Model) => Model;
11
10
  Dropdown?: React.FC<{
12
11
  data: Model;
13
12
  }>;
@@ -21,8 +20,8 @@ export declare enum ColumnKeys {
21
20
  deploymentImage = "deploymentImage",
22
21
  podImage = "podImage"
23
22
  }
24
- export declare const useEagleTable: <Raw extends Resource, Model extends ResourceModel>(params: Params<Raw, Model>) => {
25
- tableQueryResult: import("@tanstack/query-core").QueryObserverResult<import("@refinedev/core").GetListResponse<Raw>, import("@refinedev/core").HttpError>;
23
+ export declare const useEagleTable: <Model extends ResourceModel<import("k8s-api-provider").Unstructured>>(params: Params<Model>) => {
24
+ tableQueryResult: import("@tanstack/query-core").QueryObserverResult<import("@refinedev/core").GetListResponse<Model>, import("@refinedev/core").HttpError>;
26
25
  sorter: import("@refinedev/core").CrudSorting;
27
26
  sorters: import("@refinedev/core").CrudSorting;
28
27
  setSorter: (sorter: import("@refinedev/core").CrudSorting) => void;
@@ -1,7 +1,14 @@
1
1
  import { type IResourceItem } from '@refinedev/core';
2
2
  import { JSONSchema7 } from 'json-schema';
3
- type useSchemaOptions = {
3
+ type UseSchemaOptions = {
4
4
  resource?: IResourceItem;
5
+ skip?: boolean;
5
6
  };
6
- export declare function useSchema(options?: useSchemaOptions): JSONSchema7 | null;
7
+ type UseSchemaResult = {
8
+ schema: JSONSchema7 | null;
9
+ loading: boolean;
10
+ error: Error | null;
11
+ fetchSchema: () => void;
12
+ };
13
+ export declare function useSchema(options?: UseSchemaOptions): UseSchemaResult;
7
14
  export {};
package/lib/src/i18n.d.ts CHANGED
@@ -12,6 +12,9 @@ export declare const resources: {
12
12
  edit_yaml: string;
13
13
  copied: string;
14
14
  already_reset: string;
15
+ fetch_schema_fail: string;
16
+ obtain_data_error: string;
17
+ retry: string;
15
18
  };
16
19
  };
17
20
  'zh-CN': {
@@ -80,6 +83,9 @@ export declare const resources: {
80
83
  wrap: string;
81
84
  resume_log: string;
82
85
  log_new_lines: string;
86
+ fetch_schema_fail: string;
87
+ obtain_data_error: string;
88
+ retry: string;
83
89
  };
84
90
  };
85
91
  };
@@ -3,6 +3,5 @@ export * from './hooks';
3
3
  export * from './components';
4
4
  export * from './constants';
5
5
  export * from './hooks';
6
- export * from './model';
7
6
  export * from './Dovetail';
8
7
  export * from './types';
@@ -10,6 +10,9 @@ declare const _default: {
10
10
  edit_yaml: string;
11
11
  copied: string;
12
12
  already_reset: string;
13
+ fetch_schema_fail: string;
14
+ obtain_data_error: string;
15
+ retry: string;
13
16
  };
14
17
  };
15
18
  export default _default;
@@ -64,6 +64,9 @@ declare const _default: {
64
64
  wrap: string;
65
65
  resume_log: string;
66
66
  log_new_lines: string;
67
+ fetch_schema_fail: string;
68
+ obtain_data_error: string;
69
+ retry: string;
67
70
  };
68
71
  };
69
72
  export default _default;
@@ -1,3 +1,3 @@
1
- import { ResourceModel } from '../../model';
2
- import { Resource, ResourceConfig } from '../../types';
3
- export declare const ConfigMapConfig: ResourceConfig<Resource, ResourceModel>;
1
+ import { ResourceModel } from 'k8s-api-provider';
2
+ import { ResourceConfig } from '../../types';
3
+ export declare const ConfigMapConfig: ResourceConfig<ResourceModel>;
@@ -1,4 +1,3 @@
1
- import { Job } from 'kubernetes-types/batch/v1';
2
- import { JobModel } from '../../model';
3
- import { ResourceConfig, WithId } from '../../types';
4
- export declare const JobConfig: ResourceConfig<WithId<Job>, JobModel>;
1
+ import { JobModel } from 'k8s-api-provider';
2
+ import { ResourceConfig } from '../../types';
3
+ export declare const JobConfig: ResourceConfig<JobModel>;
@@ -1,3 +1,3 @@
1
- import { ResourceModel } from '../../model';
2
- import { Resource, ResourceConfig } from '../../types';
3
- export declare const SecretsConfig: ResourceConfig<Resource, ResourceModel>;
1
+ import { ResourceModel } from 'k8s-api-provider';
2
+ import { ResourceConfig } from '../../types';
3
+ export declare const SecretsConfig: ResourceConfig<ResourceModel>;
@@ -1,3 +1,3 @@
1
- import { ResourceModel } from '../../model';
2
- import { Resource, ResourceConfig } from '../../types';
3
- export declare const ServicesConfig: ResourceConfig<Resource, ResourceModel>;
1
+ import { ResourceModel } from 'k8s-api-provider';
2
+ import { ResourceConfig } from '../../types';
3
+ export declare const ServicesConfig: ResourceConfig<ResourceModel>;
@@ -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<Record<string, any>>;
15
15
  Link: React.ForwardRefExoticComponent<Pick<{
16
16
  [prop: string]: any;
17
17
  to: string;
@@ -1,2 +1 @@
1
1
  export * from './resource';
2
- export * from './metric';
@@ -1,9 +1,8 @@
1
1
  /// <reference types="react" />
2
2
  import { i18n } from 'i18next';
3
- import { ObjectMeta } from 'kubernetes-types/meta/v1';
3
+ import { ResourceModel } from 'k8s-api-provider';
4
4
  import { ShowField } from '../components/ShowContent';
5
5
  import { Column } from '../components/Table';
6
- import { ResourceModel } from '../model';
7
6
  export declare enum RESOURCE_GROUP {
8
7
  WORKLOAD = "WORKLOAD",
9
8
  STORAGE = "STORAGE",
@@ -13,26 +12,14 @@ export declare enum RESOURCE_GROUP {
13
12
  export type WithId<T> = T & {
14
13
  id: string;
15
14
  };
16
- export interface Resource {
17
- id: string;
18
- apiVersion?: string;
19
- /**
20
- * Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
21
- */
22
- kind?: string;
23
- /**
24
- * Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
25
- */
26
- metadata?: ObjectMeta;
27
- }
28
- export type ResourceConfig<Raw extends Resource = Resource, Model extends ResourceModel = ResourceModel> = {
15
+ export type ResourceConfig<Model extends ResourceModel = ResourceModel> = {
29
16
  name: string;
30
17
  kind: string;
31
18
  basePath: string;
32
19
  apiVersion: string;
33
20
  label: string;
34
21
  parent?: RESOURCE_GROUP;
35
- formatter?: (v: Raw) => Model;
22
+ formatter?: (v: Model) => Model;
36
23
  initValue?: Record<string, unknown>;
37
24
  columns?: (i18n: i18n) => Column<Model>[];
38
25
  showFields?: (i18n: i18n) => ShowField<Model>[][];
@@ -15,6 +15,6 @@ type ErrorResponse = {
15
15
  graphQLErrors?: Cause[];
16
16
  };
17
17
  export declare function isNetworkError(errors?: Cause[]): boolean;
18
- export declare function getSubmitError(errorResponse: ErrorResponse | undefined, text: string, i18n: I18n): string;
19
- export declare function getCommonErrors(response: ErrorResponse, i18n: I18n): string[];
18
+ export declare function getSubmitError(errorResponse: ErrorResponse | undefined, text: string, i18n: I18n): any;
19
+ export declare function getCommonErrors(response: ErrorResponse, i18n: I18n): any[];
20
20
  export {};
@@ -1,3 +1,3 @@
1
+ import { PodModel } from 'k8s-api-provider';
1
2
  import { LabelSelector } from 'kubernetes-types/meta/v1';
2
- import { PodModel } from 'src/model';
3
3
  export declare function matchSelector(pod: PodModel, selector: LabelSelector): boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dovetail-v2/refine",
3
- "version": "0.0.14",
3
+ "version": "0.0.15",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist",
@@ -36,11 +36,13 @@
36
36
  "devDependencies": {
37
37
  "@babel/core": "^7.4.0",
38
38
  "@babel/preset-env": "^7.1.6",
39
+ "@kubernetes/client-node": "^0.20.0",
39
40
  "@linaria/core": "^4.5.4",
40
41
  "@linaria/react": "^4.5.4",
41
42
  "@linaria/vite": "^4.5.4",
42
43
  "@playwright/test": "^1.39.0",
43
44
  "@refinedev/cli": "^2.9.0",
45
+ "@types/body-parser": "^1.19.5",
44
46
  "@types/js-yaml": "^4.0.6",
45
47
  "@types/json-schema": "^7.0.13",
46
48
  "@types/lodash-es": "^4.17.9",
@@ -52,6 +54,7 @@
52
54
  "@typescript-eslint/eslint-plugin": "^6.7.5",
53
55
  "@typescript-eslint/parser": "^6.7.5",
54
56
  "@vitejs/plugin-react": "^4.0.0",
57
+ "body-parser": "^1.20.2",
55
58
  "eslint": "^8.38.0",
56
59
  "eslint-plugin-react-hooks": "^4.6.0",
57
60
  "eslint-plugin-react-refresh": "^0.3.4",