@dovetail-v2/refine 0.0.12 → 0.0.14-beta.0

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 (67) hide show
  1. package/dist/{MonacoYamlDiffEditor.6b29d662.js → MonacoYamlDiffEditor.8847f437.js} +3 -4
  2. package/dist/{index.01461ca8.js → index.0c2122ef.js} +8408 -3450
  3. package/dist/refine.js +82 -71
  4. package/dist/refine.umd.cjs +8330 -3373
  5. package/dist/style.css +1440 -1
  6. package/lib/src/Dovetail.d.ts +5 -1
  7. package/lib/src/components/CronJobDropdown/index.d.ts +2 -2
  8. package/lib/src/components/DrawerShow/DrawerShow.d.ts +4 -5
  9. package/lib/src/components/ErrorContent/index.d.ts +12 -0
  10. package/lib/src/components/EventsTable/EventsTable.d.ts +2 -0
  11. package/lib/src/components/EventsTable/index.d.ts +1 -0
  12. package/lib/src/components/K8sDropdown/index.d.ts +2 -2
  13. package/lib/src/components/ListPage/index.d.ts +1 -1
  14. package/lib/src/components/PageShow/PageShow.d.ts +5 -6
  15. package/lib/src/components/PodLog/index.d.ts +6 -0
  16. package/lib/src/components/ResourceCRUD/create/index.d.ts +5 -5
  17. package/lib/src/components/ResourceCRUD/list/index.d.ts +4 -5
  18. package/lib/src/components/ResourceCRUD/show/index.d.ts +5 -6
  19. package/lib/src/components/ShowContent/ShowContent.d.ts +5 -6
  20. package/lib/src/components/ShowContent/fields.d.ts +13 -10
  21. package/lib/src/components/Table/index.d.ts +6 -2
  22. package/lib/src/components/WorkloadDropdown/index.d.ts +2 -2
  23. package/lib/src/components/WorkloadReplicas/index.d.ts +1 -1
  24. package/lib/src/components/YamlEditor/MonacoYamlEditor.d.ts +1 -1
  25. package/lib/src/components/YamlEditor/YamlEditorComponent.d.ts +2 -1
  26. package/lib/src/components/YamlForm/index.d.ts +6 -0
  27. package/lib/src/components/index.d.ts +1 -0
  28. package/lib/src/constants/k8s.d.ts +22 -0
  29. package/lib/src/contexts/component.d.ts +6 -0
  30. package/lib/src/contexts/global-store.d.ts +6 -0
  31. package/lib/src/contexts/index.d.ts +1 -0
  32. package/lib/src/hooks/index.d.ts +1 -0
  33. package/lib/src/hooks/useDownloadYAML.d.ts +2 -2
  34. package/lib/src/hooks/useEagleForm.d.ts +16 -9
  35. package/lib/src/hooks/useEagleTable/columns.d.ts +13 -13
  36. package/lib/src/hooks/useEagleTable/useEagleTable.d.ts +7 -8
  37. package/lib/src/hooks/useGlobalStore.d.ts +3 -0
  38. package/lib/src/hooks/useK8sYamlEditor.d.ts +5 -0
  39. package/lib/src/hooks/useSchema.d.ts +9 -2
  40. package/lib/src/i18n.d.ts +20 -0
  41. package/lib/src/index.d.ts +2 -1
  42. package/lib/src/locales/en-US/index.d.ts +3 -0
  43. package/lib/src/locales/zh-CN/index.d.ts +17 -0
  44. package/lib/src/model/pod-model.d.ts +2 -0
  45. package/lib/src/models/cronjob-model.d.ts +14 -0
  46. package/lib/src/models/index.d.ts +8 -0
  47. package/lib/src/models/job-model.d.ts +15 -0
  48. package/lib/src/models/pod-metrics-model.d.ts +9 -0
  49. package/lib/src/models/pod-model.d.ts +20 -0
  50. package/lib/src/models/resource-model.d.ts +21 -0
  51. package/lib/src/models/types/index.d.ts +1 -0
  52. package/lib/src/models/types/metric.d.ts +25 -0
  53. package/lib/src/models/workload-base-model.d.ts +13 -0
  54. package/lib/src/models/workload-model.d.ts +17 -0
  55. package/lib/src/pages/configmaps/index.d.ts +3 -3
  56. package/lib/src/pages/jobs/index.d.ts +3 -4
  57. package/lib/src/pages/secrets/index.d.ts +3 -3
  58. package/lib/src/pages/services/index.d.ts +3 -0
  59. package/lib/src/plugins/index.d.ts +2 -0
  60. package/lib/src/plugins/model-plugin.d.ts +12 -0
  61. package/lib/src/plugins/relation-plugin.d.ts +27 -0
  62. package/lib/src/plugins/type.d.ts +8 -0
  63. package/lib/src/types/index.d.ts +0 -1
  64. package/lib/src/types/resource.d.ts +9 -21
  65. package/lib/src/utils/match-selector.d.ts +3 -0
  66. package/lib/src/utils/selector.d.ts +3 -0
  67. package/package.json +18 -6
@@ -1,4 +1,6 @@
1
1
  import { ResourceProps } from '@refinedev/core';
2
+ import { History } from 'history';
3
+ import { GlobalStoreInitParams } from 'k8s-api-provider';
2
4
  import React from 'react';
3
5
  import './i18n';
4
6
  import './styles.css';
@@ -8,9 +10,11 @@ import { ResourceConfig } from './types';
8
10
  type Props = {
9
11
  resourcesConfig: ResourceConfig[];
10
12
  useHashUrl?: boolean;
11
- urlPrefix: string;
13
+ urlPrefix?: string;
12
14
  refineResources?: ResourceProps[];
13
15
  Layout?: React.FC<unknown>;
16
+ history: History;
17
+ globalStoreParams: GlobalStoreInitParams;
14
18
  };
15
19
  export declare const Dovetail: React.FC<Props>;
16
20
  export {};
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
- import { CronJobModel } from '../../model';
2
+ import { CronJobModel } from '../../models';
3
3
  type Props<Model extends CronJobModel> = {
4
- data: Model;
4
+ record: Model;
5
5
  };
6
6
  export declare function CronJobDropdown<Model extends CronJobModel>(props: Props<Model>): JSX.Element;
7
7
  export {};
@@ -1,10 +1,9 @@
1
1
  /// <reference types="react" />
2
- import { ResourceModel } from '../../model';
3
- import { Resource } from '../../types';
2
+ import { ResourceModel } from '../../models';
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;
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const EventsTable: React.FC;
@@ -0,0 +1 @@
1
+ export * from './EventsTable';
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
- import { ResourceModel } from '../../model';
2
+ import { ResourceModel } from '../../models';
3
3
  interface K8sDropdownProps {
4
- data: ResourceModel;
4
+ record: ResourceModel;
5
5
  }
6
6
  declare function K8sDropdown(props: React.PropsWithChildren<K8sDropdownProps>): JSX.Element;
7
7
  export default K8sDropdown;
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { TableProps } from 'src/components/Table';
3
- import { ResourceModel } from 'src/model';
3
+ import { ResourceModel } from '../../models';
4
4
  interface ListPageProps<T extends ResourceModel> {
5
5
  title: string;
6
6
  selectedKeys: string[];
@@ -1,13 +1,12 @@
1
1
  import React from 'react';
2
- import { ResourceModel } from '../../model';
3
- import { Resource } from '../../types';
2
+ import { ResourceModel } from '../../models';
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
- data: Model;
8
+ record: 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 {};
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import '@patternfly/react-core/dist/styles/base-no-reset.css';
3
+ import { PodModel } from '../../models';
4
+ export declare const PodLog: React.FC<{
5
+ pod: PodModel;
6
+ }>;
@@ -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 '../../../models';
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
2
  import React from 'react';
3
- import { ResourceModel } from '../../../model';
4
- import { Resource } from '../../../types';
3
+ import { ResourceModel } from '../../../models';
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
- data: Model;
9
+ record: 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
2
  import React from 'react';
3
- import { ResourceModel } from '../../../model';
4
- import { Resource } from '../../../types';
3
+ import { ResourceModel } from '../../../models';
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
- data: Model;
9
+ record: 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
1
  import React from 'react';
2
- import { ResourceModel } from '../../model';
3
- import { Resource } from '../../types';
2
+ import { ResourceModel } from '../../models';
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
- data: Model;
8
+ record: 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,17 +1,20 @@
1
- import { i18n } from 'i18next';
2
1
  import React from 'react';
3
- import { JobModel, ResourceModel, WorkloadModel } from '../../model';
2
+ import { JobModel, ResourceModel, WorkloadModel, WorkloadBaseModel, CronJobModel } from '../../models';
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<WorkloadModel>;
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>;
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
3
  import React from 'react';
4
- import { ResourceModel } from '../../model';
4
+ import { ResourceModel } from '../../models';
5
5
  export type IDObject = {
6
6
  id: string;
7
7
  };
@@ -9,10 +9,11 @@ export type Column<Data extends ResourceModel> = RequiredColumnProps<Data> & {
9
9
  display: boolean;
10
10
  };
11
11
  export type TableProps<Data extends ResourceModel> = {
12
+ tableKey: string;
12
13
  className?: string;
13
14
  loading: boolean;
14
15
  error: boolean;
15
- dataSource: Data[];
16
+ data: Data[];
16
17
  refetch: () => void;
17
18
  rowKey: (string & keyof Data) | ((record: Data) => string);
18
19
  columns: Array<Column<Data>>;
@@ -23,6 +24,9 @@ export type TableProps<Data extends ResourceModel> = {
23
24
  onSelect?: (keys: React.Key[], rows: Data[]) => void;
24
25
  onPageChange: (page: number) => void;
25
26
  onSizeChange?: (size: number) => void;
27
+ RowMenu?: React.FC<{
28
+ record: Data;
29
+ }>;
26
30
  };
27
31
  declare function Table<Data extends ResourceModel>(props: TableProps<Data>): JSX.Element;
28
32
  export default Table;
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
- import { WorkloadModel } from '../../model';
2
+ import { WorkloadModel } from '../../models';
3
3
  type Props<Model extends WorkloadModel> = {
4
- data: Model;
4
+ record: Model;
5
5
  };
6
6
  export declare function WorkloadDropdown<Model extends WorkloadModel>(props: Props<Model>): JSX.Element;
7
7
  export {};
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { WorkloadModel } from '../../model/workload-model';
2
+ import { WorkloadModel } from '../../models';
3
3
  export declare const WorkloadReplicas: React.FC<{
4
4
  record: WorkloadModel;
5
5
  }>;
@@ -9,7 +9,7 @@ type Props = {
9
9
  onChange?: (val: string) => void;
10
10
  onValidate?: (valid: boolean, schemaValid: boolean) => void;
11
11
  isScrollOnFocus?: boolean;
12
- onEditorCreate?: (editor: monaco.editor.ICodeEditor) => void;
12
+ onEditorCreate?: (editor: monaco.editor.IStandaloneCodeEditor) => void;
13
13
  onBlur?: () => void;
14
14
  getInstance?: (ins: monaco.editor.IStandaloneCodeEditor) => void;
15
15
  schema?: JSONSchema7;
@@ -15,12 +15,13 @@ export type YamlEditorProps = {
15
15
  readOnly?: boolean;
16
16
  onChange?: (value: string) => void;
17
17
  onValidate?: (valid: boolean, schemaValid: boolean) => void;
18
- onEditorCreate?: (editor: monaco.editor.ICodeEditor) => void;
18
+ onEditorCreate?: (editor: monaco.editor.IStandaloneCodeEditor) => void;
19
19
  onBlur?: () => void;
20
20
  };
21
21
  export type YamlEditorHandle = {
22
22
  setValue: (value: string) => void;
23
23
  setEditorValue: (value: string) => void;
24
24
  getEditorValue: () => string;
25
+ getEditorInstance: () => monaco.editor.IStandaloneCodeEditor | null;
25
26
  };
26
27
  export declare const YamlEditorComponent: React.ForwardRefExoticComponent<YamlEditorProps & React.RefAttributes<YamlEditorHandle>>;
@@ -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;
@@ -31,3 +31,4 @@ export * from './Table';
31
31
  export * from './EditButton';
32
32
  export * from './NamespacesFilter';
33
33
  export * from './Tags';
34
+ export * from './PodLog';
@@ -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";
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import Table from 'src/components/Table';
3
+ declare const ComponentContext: import("react").Context<{
4
+ Table?: typeof Table | undefined;
5
+ }>;
6
+ export default ComponentContext;
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import { GlobalStore } from 'k8s-api-provider';
3
+ declare const GlobalStoreContext: import("react").Context<{
4
+ globalStore?: GlobalStore | undefined;
5
+ }>;
6
+ export default GlobalStoreContext;
@@ -0,0 +1 @@
1
+ export { default as ComponentContext } from './component';
@@ -4,3 +4,4 @@ export * from './useDeleteModal';
4
4
  export * from './useEagleTable';
5
5
  export * from './useDownloadYAML';
6
6
  export * from './useEdit';
7
+ export * from './useGlobalStore';
@@ -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 {};
@@ -2,8 +2,13 @@ import { HttpError, BaseRecord, UseFormReturnType as UseFormReturnTypeCore, UseF
2
2
  import { ButtonProps } from 'antd/lib/button';
3
3
  import { FormInstance, FormProps } from 'antd/lib/form';
4
4
  import { JSONSchema7 } from 'json-schema';
5
+ import { Unstructured } from 'k8s-api-provider';
5
6
  import React from 'react';
6
- import { type YamlEditorHandle } from 'src/components/YamlEditor';
7
+ import { type YamlEditorHandle, type YamlEditorProps } from 'src/components/YamlEditor';
8
+ type EditorProps = Omit<YamlEditorProps, 'schema'> & {
9
+ ref: React.RefObject<YamlEditorHandle>;
10
+ schema: JSONSchema7 | null;
11
+ };
7
12
  export type UseFormProps<TQueryFnData extends BaseRecord = BaseRecord, TError extends HttpError = HttpError, TVariables extends object = object, TData extends BaseRecord = TQueryFnData, TResponse extends BaseRecord = TData, TResponseError extends HttpError = TError> = UseFormPropsCore<TQueryFnData, TError, TVariables, TData, TResponse, TResponseError> & {
8
13
  submitOnEnter?: boolean;
9
14
  /**
@@ -12,6 +17,7 @@ export type UseFormProps<TQueryFnData extends BaseRecord = BaseRecord, TError ex
12
17
  warnWhenUnsavedChanges?: boolean;
13
18
  editorOptions?: {
14
19
  isGenerateAnnotations?: boolean;
20
+ isSkipSchema?: boolean;
15
21
  };
16
22
  };
17
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> & {
@@ -20,20 +26,21 @@ export type UseFormReturnType<TQueryFnData extends BaseRecord = BaseRecord, TErr
20
26
  saveButtonProps: ButtonProps & {
21
27
  onClick: () => void;
22
28
  };
23
- editorProps: {
24
- ref: React.RefObject<YamlEditorHandle>;
25
- defaultValue: string;
26
- schema: JSONSchema7 | null;
27
- id: string;
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;
32
37
  onFinish: (values?: TVariables) => Promise<CreateResponse<TResponse> | UpdateResponse<TResponse> | void>;
33
38
  };
34
- declare const useEagleForm: <TQueryFnData extends BaseRecord = BaseRecord, TError extends HttpError = HttpError, TVariables extends {
39
+ declare const useEagleForm: <TQueryFnData extends Unstructured = Unstructured & {
40
+ id: string;
41
+ }, TError extends HttpError = HttpError, TVariables extends {
35
42
  [prop: string]: unknown;
36
43
  } = {
37
44
  [prop: string]: unknown;
38
- }, TData extends BaseRecord = TQueryFnData, TResponse extends BaseRecord = TData, TResponseError extends HttpError = TError>({ action, resource, onMutationSuccess: onMutationSuccessProp, onMutationError, submitOnEnter, warnWhenUnsavedChanges: warnWhenUnsavedChangesProp, redirect, successNotification, errorNotification, meta, metaData, queryMeta, mutationMeta, liveMode, liveParams, mutationMode, dataProviderName, onLiveEvent, invalidates, undoableTimeout, queryOptions, createMutationOptions, updateMutationOptions, id: idFromProps, overtimeOptions, editorOptions, }?: UseFormProps<TQueryFnData, TError, TVariables, TData, TResponse, TResponseError>) => UseFormReturnType<TQueryFnData, TError, TVariables, TData, TResponse, TResponseError>;
45
+ }, TData extends Unstructured = TQueryFnData, TResponse extends BaseRecord = TData, TResponseError extends HttpError = TError>({ action, resource, onMutationSuccess: onMutationSuccessProp, onMutationError, submitOnEnter, warnWhenUnsavedChanges: warnWhenUnsavedChangesProp, redirect, successNotification, errorNotification, meta, metaData, queryMeta, mutationMeta, liveMode, liveParams, mutationMode, dataProviderName, onLiveEvent, invalidates, undoableTimeout, queryOptions, createMutationOptions, updateMutationOptions, id: idFromProps, overtimeOptions, editorOptions, }?: UseFormProps<TQueryFnData, TError, TVariables, TData, TResponse, TResponseError>) => UseFormReturnType<TQueryFnData, TError, TVariables, TData, TResponse, TResponseError>;
39
46
  export default useEagleForm;
@@ -1,15 +1,15 @@
1
- import { i18n } from 'i18next';
2
1
  import { Column } from '../../components/Table';
3
- import { JobModel, PodModel, ResourceModel } from '../../model';
4
- import { WorkloadModel } from '../../model/workload-model';
2
+ import { JobModel, PodModel, ResourceModel, WorkloadModel, WorkloadBaseModel } from '../../models';
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>;
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,15 +1,14 @@
1
1
  import { useTable } from '@refinedev/core';
2
2
  import React from 'react';
3
3
  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];
4
+ import { ResourceModel } from '../../models';
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
- data: Model;
11
+ record: Model;
13
12
  }>;
14
13
  };
15
14
  export declare enum ColumnKeys {
@@ -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;
@@ -0,0 +1,3 @@
1
+ export declare const useGlobalStore: () => {
2
+ globalStore?: import("k8s-api-provider").GlobalStore | undefined;
3
+ };
@@ -0,0 +1,5 @@
1
+ import * as monaco from 'monaco-editor';
2
+ declare function useK8sYamlEditor(): {
3
+ fold: (editor: monaco.editor.IStandaloneCodeEditor) => Promise<void>;
4
+ };
5
+ export default useK8sYamlEditor;
@@ -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': {
@@ -42,6 +45,10 @@ export declare const resources: {
42
45
  label: string;
43
46
  annotation: string;
44
47
  type: string;
48
+ event: string;
49
+ reason: string;
50
+ object: string;
51
+ note: string;
45
52
  condition: string;
46
53
  download_yaml: string;
47
54
  detail: string;
@@ -66,6 +73,19 @@ export declare const resources: {
66
73
  data: string;
67
74
  suspend: string;
68
75
  resume: string;
76
+ cluster: string;
77
+ storage: string;
78
+ network: string;
79
+ clusterIp: string;
80
+ sessionAffinity: string;
81
+ log: string;
82
+ select_container: string;
83
+ wrap: string;
84
+ resume_log: string;
85
+ log_new_lines: string;
86
+ fetch_schema_fail: string;
87
+ obtain_data_error: string;
88
+ retry: string;
69
89
  };
70
90
  };
71
91
  };
@@ -3,6 +3,7 @@ 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';
8
+ export * from './contexts';
9
+ export * from './models';
@@ -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;
@@ -26,6 +26,10 @@ declare const _default: {
26
26
  label: string;
27
27
  annotation: string;
28
28
  type: string;
29
+ event: string;
30
+ reason: string;
31
+ object: string;
32
+ note: string;
29
33
  condition: string;
30
34
  download_yaml: string;
31
35
  detail: string;
@@ -50,6 +54,19 @@ declare const _default: {
50
54
  data: string;
51
55
  suspend: string;
52
56
  resume: string;
57
+ cluster: string;
58
+ storage: string;
59
+ network: string;
60
+ clusterIp: string;
61
+ sessionAffinity: string;
62
+ log: string;
63
+ select_container: string;
64
+ wrap: string;
65
+ resume_log: string;
66
+ log_new_lines: string;
67
+ fetch_schema_fail: string;
68
+ obtain_data_error: string;
69
+ retry: string;
53
70
  };
54
71
  };
55
72
  export default _default;