@devtable/dashboard 5.7.1 → 5.8.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 (79) hide show
  1. package/dist/commits.structure.26a44e4e.mjs +13 -0
  2. package/dist/dashboard.es.js +10171 -9239
  3. package/dist/dashboard.umd.js +135 -28
  4. package/dist/definition-editor/query-editor/delete-query.d.ts +8 -0
  5. package/dist/efficiency.schema.5ba0fdb1.mjs +82 -0
  6. package/dist/efficiency.structure.8ac41504.mjs +12 -0
  7. package/dist/efficiency.structure.cf755f40.mjs +12 -0
  8. package/dist/filter/filter-multi-select/render.d.ts +3 -1
  9. package/dist/filter/filter-select/render.d.ts +3 -1
  10. package/dist/heatmap.structure.75d4a09a.mjs +11 -0
  11. package/dist/interactions/components/index.d.ts +2 -0
  12. package/dist/interactions/hooks/index.d.ts +2 -0
  13. package/dist/interactions/index.d.ts +5 -0
  14. package/dist/interactions/operation/index.d.ts +2 -0
  15. package/dist/interactions/operation/operation-manager-impl.d.ts +3 -0
  16. package/dist/interactions/trigger/index.d.ts +1 -0
  17. package/dist/interactions/trigger/trigger-manager-impl.d.ts +3 -0
  18. package/dist/main/use-panel-full-screen.d.ts +136 -0
  19. package/dist/model/mock-context.d.ts +0 -3
  20. package/dist/model/queries/index.d.ts +69 -17
  21. package/dist/model/sql-snippets/index.d.ts +0 -14
  22. package/dist/model/views/index.d.ts +21911 -0
  23. package/dist/model/views/view/index.d.ts +612 -0
  24. package/dist/model/views/view/panels/index.d.ts +204 -0
  25. package/dist/model/views/view/panels/panel.d.ts +68 -0
  26. package/dist/panel/plugin-adaptor.d.ts +5 -3
  27. package/dist/panel/use-config-viz-instance-service.d.ts +3 -0
  28. package/dist/pareto.structure.64175247.mjs +11 -0
  29. package/dist/pareto.structure.870fcfae.mjs +11 -0
  30. package/dist/plugins/instance-migrator/index.d.ts +29 -0
  31. package/dist/plugins/plugin-context.d.ts +18 -1
  32. package/dist/plugins/plugin-data-migrator/version-based-migrator.d.ts +4 -4
  33. package/dist/plugins/viz-components/expert-system/index.d.ts +2 -0
  34. package/dist/plugins/viz-components/expert-system/metric-set-selector.d.ts +8 -0
  35. package/dist/plugins/viz-components/expert-system/request/call-expert-system.d.ts +6 -0
  36. package/dist/plugins/viz-components/expert-system/request/payload/comparison/efficiency.d.ts +10 -0
  37. package/dist/plugins/viz-components/expert-system/request/payload/comparison/index.d.ts +8 -0
  38. package/dist/plugins/viz-components/expert-system/request/payload/dev_load/heatmap.d.ts +9 -0
  39. package/dist/plugins/viz-components/expert-system/request/payload/dev_load/index.d.ts +14 -0
  40. package/dist/plugins/viz-components/expert-system/request/payload/dev_load/pareto.d.ts +9 -0
  41. package/dist/plugins/viz-components/expert-system/request/payload/dev_load/productivity.d.ts +11 -0
  42. package/dist/plugins/viz-components/expert-system/request/payload/index.d.ts +2 -0
  43. package/dist/plugins/viz-components/expert-system/request/payload/performance/efficiency.d.ts +10 -0
  44. package/dist/plugins/viz-components/expert-system/request/payload/performance/index.d.ts +31 -0
  45. package/dist/plugins/viz-components/expert-system/request/payload/performance/pareto.d.ts +9 -0
  46. package/dist/plugins/viz-components/expert-system/request/payload/performance/quality.d.ts +34 -0
  47. package/dist/plugins/viz-components/expert-system/request/payload/performance/quality_history.d.ts +12 -0
  48. package/dist/plugins/viz-components/expert-system/request/payload/personal_report/commits.d.ts +11 -0
  49. package/dist/plugins/viz-components/expert-system/request/payload/personal_report/index.d.ts +14 -0
  50. package/dist/plugins/viz-components/expert-system/request/payload/personal_report/quality.d.ts +13 -0
  51. package/dist/plugins/viz-components/expert-system/request/payload/personal_report/skills.d.ts +8 -0
  52. package/dist/plugins/viz-components/expert-system/request/schema/comparison/efficiency.structure.d.ts +2 -0
  53. package/dist/plugins/viz-components/expert-system/request/schema/dev_load/heatmap.structure.d.ts +2 -0
  54. package/dist/plugins/viz-components/expert-system/request/schema/dev_load/pareto.structure.d.ts +2 -0
  55. package/dist/plugins/viz-components/expert-system/request/schema/dev_load/productivity.structure.d.ts +2 -0
  56. package/dist/plugins/viz-components/expert-system/request/schema/index.d.ts +3 -0
  57. package/dist/plugins/viz-components/expert-system/request/schema/performance/efficiency.structure.d.ts +2 -0
  58. package/dist/plugins/viz-components/expert-system/request/schema/performance/pareto.structure.d.ts +2 -0
  59. package/dist/plugins/viz-components/expert-system/request/schema/performance/quality.structure.d.ts +2 -0
  60. package/dist/plugins/viz-components/expert-system/request/schema/performance/quality_history.structure.d.ts +2 -0
  61. package/dist/plugins/viz-components/expert-system/request/schema/personal_report/commits.structure.d.ts +2 -0
  62. package/dist/plugins/viz-components/expert-system/request/schema/personal_report/quality.structure.d.ts +2 -0
  63. package/dist/plugins/viz-components/expert-system/request/schema/personal_report/skills.structure.d.ts +2 -0
  64. package/dist/plugins/viz-components/expert-system/request/schema-and-validation.d.ts +8 -0
  65. package/dist/plugins/viz-components/expert-system/scenario-selector.d.ts +8 -0
  66. package/dist/plugins/viz-components/expert-system/type.d.ts +22 -0
  67. package/dist/plugins/viz-components/expert-system/viz-expert-system-panel.d.ts +3 -0
  68. package/dist/plugins/viz-components/expert-system/viz-expert-system.d.ts +3 -0
  69. package/dist/productivity.structure.1fc6f3e4.mjs +13 -0
  70. package/dist/quality.schema.4f5a1bc0.mjs +182 -0
  71. package/dist/quality.structure.b1ac00db.mjs +15 -0
  72. package/dist/quality.structure.bb057537.mjs +19 -0
  73. package/dist/quality_history.schema.5c04f870.mjs +118 -0
  74. package/dist/quality_history.structure.ffc4ca11.mjs +24 -0
  75. package/dist/service-locator/index.d.ts +27 -0
  76. package/dist/service-locator/use-service-locator.d.ts +8 -0
  77. package/dist/skills.structure.8ceda40e.mjs +10 -0
  78. package/dist/types/plugin/index.d.ts +14 -6
  79. package/package.json +2 -1
@@ -0,0 +1,13 @@
1
+ export declare type TDataForPersonalReportQuality = {
2
+ name?: string;
3
+ actor: string;
4
+ code_issue_density: number;
5
+ code_test_coverage: number;
6
+ code_doc_coverage: number;
7
+ baseline_issue_density: number;
8
+ baseline_test_coverage: number;
9
+ baseline_doc_coverage: number;
10
+ };
11
+ export declare function personal_report_quality(data: TDataForPersonalReportQuality[]): {
12
+ quality: any[];
13
+ };
@@ -0,0 +1,8 @@
1
+ export declare type TDataForSkills = {
2
+ actor: string;
3
+ language: string;
4
+ feature: string;
5
+ };
6
+ export declare function personal_report_skills(data: TDataForSkills[]): {
7
+ skills: any[];
8
+ };
@@ -0,0 +1,2 @@
1
+ declare const _default: "\n{\n name?: string;\n actor: string;\n eloc_type: 'accumulated' | 'new';\n ref_date: string;\n eloc: number;\n}\n";
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: "\n{\n name?: string;\n actor: string;\n ref_date: string;\n eloc: number;\n}\n";
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: "\n{\n name?: string;\n actor: string;\n contributor: string;\n eloc: number;\n}\n";
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: "\n{\n name?: string;\n actor: string;\n ref_date: string;\n baseline: number;\n eloc: number;\n eloc_type: 'current' | 'previous';\n}\n";
2
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import { IExpertSystemConf } from '../../type';
2
+ export declare function getExpertDataSchema(conf: IExpertSystemConf): Promise<any>;
3
+ export declare function getExpertDataStructure(conf: IExpertSystemConf): Promise<any>;
@@ -0,0 +1,2 @@
1
+ declare const _default: "\n{\n name?: string;\n actor: string;\n eloc_type: 'accumulated' | 'new';\n ref_date: string;\n eloc: number;\n}\n";
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: "\n{\n name?: string;\n actor: string;\n contributor: string;\n eloc: number;\n}\n";
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: "\n{\n actor: string;\n doc_coverage: number;\n test_coverage: number;\n dryness: number;\n modularity: number;\n issues_density: number;\n\n issues_blocker: number;\n issues_critical: number;\n issues_info: number;\n issues_major: number;\n issues_minor: number;\n}\n";
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: "\n{\n name?: string;\n actor: string;\n val_type:\n | 'doc_coverage'\n | 'test_coverage'\n | 'dryness'\n | 'modularity'\n | 'blocker_issues'\n | 'critical_issues'\n | 'major_issues'\n | 'minor_issues'\n | 'info_issues'\n | 'issues_density';\n baseline_lower: number;\n baseline_upper: number;\n ref_date: string;\n val: number;\n}\n";
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: "\n{\n name?: string;\n actor: string;\n repos: number;\n range_days: number;\n ref_date: string;\n eloc: number;\n}\n";
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: "\n{\n name?: string;\n actor: string;\n code_issue_density: number;\n code_test_coverage: number;\n code_doc_coverage: number;\n baseline_issue_density: number;\n baseline_test_coverage: number;\n baseline_doc_coverage: number;\n}\n";
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: "\n{\n actor: string;\n language: string;\n feature: string;\n}\n";
2
+ export default _default;
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { IExpertSystemConf } from '../type';
3
+ interface ISchemaAndValidation {
4
+ conf: IExpertSystemConf;
5
+ data: $TSFixMe[];
6
+ }
7
+ export declare function SchemaAndValidation({ conf, data }: ISchemaAndValidation): JSX.Element;
8
+ export {};
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { EExperSystemScenario, IExpertSystemConf } from './type';
3
+ interface IScenarioSelector {
4
+ conf: IExpertSystemConf;
5
+ setConfByKey: (key: string, value: EExperSystemScenario) => void;
6
+ }
7
+ export declare const ScenarioSelector: ({ conf, setConfByKey }: IScenarioSelector) => JSX.Element;
8
+ export {};
@@ -0,0 +1,22 @@
1
+ export declare enum EExperSystemScenario {
2
+ dev_load = "dev_load",
3
+ personal_report = "personal_report",
4
+ performance = "performance",
5
+ comparison = "comparison"
6
+ }
7
+ export declare enum EMetricSet {
8
+ productivity = "productivity",
9
+ pareto = "pareto",
10
+ heatmap = "heatmap",
11
+ skills = "skills",
12
+ commits = "commits",
13
+ quality = "quality",
14
+ quality_history = "quality_history",
15
+ efficiency = "efficiency"
16
+ }
17
+ export interface IExpertSystemConf {
18
+ expertSystemURL: string;
19
+ scenario: EExperSystemScenario;
20
+ metric_set: EMetricSet;
21
+ }
22
+ export declare const DEFAULT_CONFIG: IExpertSystemConf;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { VizConfigProps } from '../../../types/plugin';
3
+ export declare function VizExpertSystemPanel({ context }: VizConfigProps): JSX.Element;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { VizViewProps } from '../../../types/plugin';
3
+ export declare function VizExpertSystem({ context }: VizViewProps): JSX.Element | null;
@@ -0,0 +1,13 @@
1
+ const e = `
2
+ {
3
+ name?: string;
4
+ actor: string;
5
+ ref_date: string;
6
+ baseline: number;
7
+ eloc: number;
8
+ eloc_type: 'current' | 'previous';
9
+ }
10
+ `;
11
+ export {
12
+ e as default
13
+ };
@@ -0,0 +1,182 @@
1
+ const e = "object", s = "Root Schema", t = [
2
+ "actor",
3
+ "actor_type",
4
+ "code"
5
+ ], i = {
6
+ actor: {
7
+ type: "string",
8
+ default: "",
9
+ title: "The actor Schema",
10
+ examples: [
11
+ "project1"
12
+ ]
13
+ },
14
+ actor_type: {
15
+ type: "string",
16
+ default: "",
17
+ title: "The actor_type Schema",
18
+ examples: [
19
+ "project"
20
+ ]
21
+ },
22
+ code: {
23
+ type: "object",
24
+ default: {},
25
+ title: "The code Schema",
26
+ required: [
27
+ "doc_coverage",
28
+ "test_coverage",
29
+ "dryness",
30
+ "modularity",
31
+ "issues_density",
32
+ "issues_blocker",
33
+ "issues_critical",
34
+ "issues_info",
35
+ "issues_major",
36
+ "issues_minor"
37
+ ],
38
+ properties: {
39
+ doc_coverage: {
40
+ type: [
41
+ "number",
42
+ "string"
43
+ ],
44
+ default: 0,
45
+ title: "The doc_coverage Schema",
46
+ examples: [
47
+ 0.87
48
+ ]
49
+ },
50
+ test_coverage: {
51
+ type: [
52
+ "number",
53
+ "string"
54
+ ],
55
+ default: 0,
56
+ title: "The test_coverage Schema",
57
+ examples: [
58
+ 0.14
59
+ ]
60
+ },
61
+ dryness: {
62
+ type: [
63
+ "number",
64
+ "string"
65
+ ],
66
+ default: 0,
67
+ title: "The dryness Schema",
68
+ examples: [
69
+ 0.96
70
+ ]
71
+ },
72
+ modularity: {
73
+ type: [
74
+ "number",
75
+ "string"
76
+ ],
77
+ default: 0,
78
+ title: "The modularity Schema",
79
+ examples: [
80
+ 0.45
81
+ ]
82
+ },
83
+ issues_density: {
84
+ type: [
85
+ "number",
86
+ "string"
87
+ ],
88
+ default: 0,
89
+ title: "The issues_density Schema",
90
+ examples: [
91
+ 3e-3
92
+ ]
93
+ },
94
+ issues_blocker: {
95
+ type: "integer",
96
+ default: 0,
97
+ title: "The issues_blocker Schema",
98
+ examples: [
99
+ 65
100
+ ]
101
+ },
102
+ issues_critical: {
103
+ type: "integer",
104
+ default: 0,
105
+ title: "The issues_critical Schema",
106
+ examples: [
107
+ 4546
108
+ ]
109
+ },
110
+ issues_info: {
111
+ type: "integer",
112
+ default: 0,
113
+ title: "The issues_info Schema",
114
+ examples: [
115
+ 1876
116
+ ]
117
+ },
118
+ issues_major: {
119
+ type: "integer",
120
+ default: 0,
121
+ title: "The issues_major Schema",
122
+ examples: [
123
+ 16049
124
+ ]
125
+ },
126
+ issues_minor: {
127
+ type: "integer",
128
+ default: 0,
129
+ title: "The issues_minor Schema",
130
+ examples: [
131
+ 10324
132
+ ]
133
+ }
134
+ },
135
+ examples: [
136
+ {
137
+ doc_coverage: 0.87,
138
+ test_coverage: 0.14,
139
+ dryness: 0.96,
140
+ modularity: 0.45,
141
+ issues_density: 3e-3,
142
+ issues_blocker: 65,
143
+ issues_critical: 4546,
144
+ issues_info: 1876,
145
+ issues_major: 16049,
146
+ issues_minor: 10324
147
+ }
148
+ ]
149
+ }
150
+ }, r = [
151
+ {
152
+ actor: "project1",
153
+ actor_type: "project",
154
+ code: {
155
+ doc_coverage: 0.87,
156
+ test_coverage: 0.14,
157
+ dryness: 0.96,
158
+ modularity: 0.45,
159
+ issues_density: 3e-3,
160
+ issues_blocker: 65,
161
+ issues_critical: 4546,
162
+ issues_info: 1876,
163
+ issues_major: 16049,
164
+ issues_minor: 10324
165
+ }
166
+ }
167
+ ], a = {
168
+ type: e,
169
+ default: {},
170
+ title: s,
171
+ required: t,
172
+ properties: i,
173
+ examples: r
174
+ };
175
+ export {
176
+ a as default,
177
+ r as examples,
178
+ i as properties,
179
+ t as required,
180
+ s as title,
181
+ e as type
182
+ };
@@ -0,0 +1,15 @@
1
+ const e = `
2
+ {
3
+ name?: string;
4
+ actor: string;
5
+ code_issue_density: number;
6
+ code_test_coverage: number;
7
+ code_doc_coverage: number;
8
+ baseline_issue_density: number;
9
+ baseline_test_coverage: number;
10
+ baseline_doc_coverage: number;
11
+ }
12
+ `;
13
+ export {
14
+ e as default
15
+ };
@@ -0,0 +1,19 @@
1
+ const e = `
2
+ {
3
+ actor: string;
4
+ doc_coverage: number;
5
+ test_coverage: number;
6
+ dryness: number;
7
+ modularity: number;
8
+ issues_density: number;
9
+
10
+ issues_blocker: number;
11
+ issues_critical: number;
12
+ issues_info: number;
13
+ issues_major: number;
14
+ issues_minor: number;
15
+ }
16
+ `;
17
+ export {
18
+ e as default
19
+ };
@@ -0,0 +1,118 @@
1
+ const e = "array", t = "Root Schema", a = {
2
+ type: "object",
3
+ default: {},
4
+ title: "A Schema",
5
+ required: [
6
+ "actor",
7
+ "val_type",
8
+ "baseline_lower",
9
+ "baseline_upper",
10
+ "ref_date",
11
+ "val"
12
+ ],
13
+ properties: {
14
+ actor: {
15
+ type: "string",
16
+ default: "",
17
+ title: "The actor Schema",
18
+ examples: [
19
+ "Name of the subject"
20
+ ]
21
+ },
22
+ val_type: {
23
+ type: "string",
24
+ default: "",
25
+ title: "The val_type Schema",
26
+ enum: [
27
+ "doc_coverage",
28
+ "test_coverage",
29
+ "dryness",
30
+ "modularity",
31
+ "blocker_issues",
32
+ "critical_issues",
33
+ "major_issues",
34
+ "minor_issues",
35
+ "info_issues",
36
+ "issues_density"
37
+ ],
38
+ examples: [
39
+ "doc_coverage"
40
+ ]
41
+ },
42
+ baseline_lower: {
43
+ type: [
44
+ "number",
45
+ "string"
46
+ ],
47
+ default: 0,
48
+ title: "The baseline_lower Schema",
49
+ examples: [
50
+ 0.2
51
+ ]
52
+ },
53
+ baseline_upper: {
54
+ type: [
55
+ "number",
56
+ "string"
57
+ ],
58
+ default: 0,
59
+ title: "The baseline_upper Schema",
60
+ examples: [
61
+ 0.4
62
+ ]
63
+ },
64
+ ref_date: {
65
+ type: "string",
66
+ default: "",
67
+ title: "The ref_date Schema",
68
+ examples: [
69
+ "2021-12-31"
70
+ ]
71
+ },
72
+ val: {
73
+ type: [
74
+ "number",
75
+ "string"
76
+ ],
77
+ default: 0,
78
+ title: "The val Schema",
79
+ examples: [
80
+ 0.2
81
+ ]
82
+ }
83
+ },
84
+ examples: [
85
+ {
86
+ actor: "Name of the subject",
87
+ val_type: "doc_coverage",
88
+ baseline_lower: 0.2,
89
+ baseline_upper: 0.4,
90
+ ref_date: "2021-12-31",
91
+ val: 0.2
92
+ }
93
+ ]
94
+ }, s = [
95
+ [
96
+ {
97
+ actor: "Name of the subject",
98
+ val_type: "doc_coverage",
99
+ baseline_lower: 0.2,
100
+ baseline_upper: 0.4,
101
+ ref_date: "2021-12-31",
102
+ val: 0.2
103
+ }
104
+ ]
105
+ ], l = {
106
+ type: e,
107
+ default: [],
108
+ title: t,
109
+ items: a,
110
+ examples: s
111
+ };
112
+ export {
113
+ l as default,
114
+ s as examples,
115
+ a as items,
116
+ t as title,
117
+ e as type
118
+ };
@@ -0,0 +1,24 @@
1
+ const s = `
2
+ {
3
+ name?: string;
4
+ actor: string;
5
+ val_type:
6
+ | 'doc_coverage'
7
+ | 'test_coverage'
8
+ | 'dryness'
9
+ | 'modularity'
10
+ | 'blocker_issues'
11
+ | 'critical_issues'
12
+ | 'major_issues'
13
+ | 'minor_issues'
14
+ | 'info_issues'
15
+ | 'issues_density';
16
+ baseline_lower: number;
17
+ baseline_upper: number;
18
+ ref_date: string;
19
+ val: number;
20
+ }
21
+ `;
22
+ export {
23
+ s as default
24
+ };
@@ -0,0 +1,27 @@
1
+ export declare class Token<T> {
2
+ symbol: symbol;
3
+ constructor(id: string);
4
+ }
5
+ export declare function token<T>(id: string): Token<T>;
6
+ export interface IDisposable {
7
+ dispose(): void;
8
+ }
9
+ export interface IServiceLocator {
10
+ provideFactory: <T>(token: Token<T>, factory: (env: IServiceLocator) => T) => this;
11
+ provideValue: <T>(token: Token<T>, value: T) => this;
12
+ createScoped: () => IServiceLocator;
13
+ get: <T>(token: Token<T>) => T | undefined;
14
+ dispose: () => void;
15
+ getRequired<T>(token: Token<T>): T;
16
+ }
17
+ export declare class ServiceLocator implements IServiceLocator, IDisposable {
18
+ protected parent?: IServiceLocator;
19
+ protected factoryRegistry: Map<symbol, (env: IServiceLocator) => unknown>;
20
+ protected instanceRegistry: Map<symbol, unknown>;
21
+ createScoped(): IServiceLocator;
22
+ getRequired<T>(token: Token<T>): T;
23
+ get<T>(token: Token<T>): T | undefined;
24
+ provideFactory<T>(token: Token<T>, factory: (env: IServiceLocator) => T): this;
25
+ provideValue<T>(token: Token<T>, value: T): this;
26
+ dispose(): void;
27
+ }
@@ -0,0 +1,8 @@
1
+ import React, { ReactNode } from 'react';
2
+ import { IServiceLocator } from '~/service-locator/index';
3
+ export declare const ServiceLocatorContext: React.Context<IServiceLocator>;
4
+ export declare function ServiceLocatorProvider(props: {
5
+ configure: (services: IServiceLocator) => IServiceLocator;
6
+ children: ReactNode;
7
+ }): JSX.Element;
8
+ export declare function useServiceLocator(): IServiceLocator;
@@ -0,0 +1,10 @@
1
+ const t = `
2
+ {
3
+ actor: string;
4
+ language: string;
5
+ feature: string;
6
+ }
7
+ `;
8
+ export {
9
+ t as default
10
+ };
@@ -81,21 +81,21 @@ export interface VizConfigProps {
81
81
  instance: VizInstance;
82
82
  context: VizConfigContext;
83
83
  }
84
- export interface VizComponentMigrationContext {
85
- instanceData: PluginStorage;
84
+ export interface IConfigMigrationContext {
85
+ configData: PluginStorage;
86
86
  }
87
87
  export interface VizComponent {
88
88
  name: string;
89
89
  displayName?: string;
90
90
  viewRender: React.ComponentType<VizViewProps>;
91
91
  configRender: React.ComponentType<VizConfigProps>;
92
- migrator: IVizComponentMigrator;
92
+ migrator: IConfigMigrator;
93
93
  createConfig: () => AnyObject;
94
94
  triggers?: ITriggerSchema[];
95
95
  }
96
- export interface IVizComponentMigrator {
97
- needMigration(ctx: VizComponentMigrationContext): Promise<boolean>;
98
- migrate(ctx: VizComponentMigrationContext): Promise<void>;
96
+ export interface IConfigMigrator {
97
+ needMigration(ctx: IConfigMigrationContext): Promise<boolean>;
98
+ migrate(ctx: IConfigMigrationContext): Promise<void>;
99
99
  }
100
100
  export interface IPluginManifest {
101
101
  viz: VizComponent[];
@@ -135,6 +135,8 @@ export interface ITriggerSchema {
135
135
  payload: IPayloadVariableSchema[];
136
136
  configRender: React.ComponentType<ITriggerConfigProps>;
137
137
  nameRender: React.ComponentType<Omit<ITriggerConfigProps, 'sampleData'>>;
138
+ createDefaultConfig?: () => AnyObject;
139
+ migrator?: IConfigMigrator;
138
140
  }
139
141
  export interface ITrigger {
140
142
  id: string;
@@ -156,12 +158,16 @@ export interface IVizTriggerManager {
156
158
  createOrGetTrigger(id: string, schema: ITriggerSchema): Promise<ITrigger>;
157
159
  retrieveTrigger(id: string): Promise<ITrigger | undefined>;
158
160
  watchTriggerSnapshotList(callback: (triggerList: ITriggerSnapshot<AnyObject>[]) => void): () => void;
161
+ needMigration(): Promise<boolean>;
162
+ runMigration(): Promise<void>;
159
163
  }
160
164
  export interface IDashboardOperationSchema {
161
165
  id: string;
162
166
  displayName: string;
163
167
  configRender: React.ComponentType<IOperationConfigProps>;
164
168
  run: (payload: Record<string, unknown>, operation: IDashboardOperation) => Promise<void>;
169
+ migrator?: IConfigMigrator;
170
+ createDefaultConfig?: () => AnyObject;
165
171
  }
166
172
  export interface IDashboardOperation {
167
173
  id: string;
@@ -175,6 +181,8 @@ export interface IVizOperationManager {
175
181
  createOrGetOperation(id: string, schema: IDashboardOperationSchema): Promise<IDashboardOperation>;
176
182
  runOperation(operationId: string, payload: Record<string, unknown>): Promise<void>;
177
183
  retrieveTrigger(operationId: string): Promise<IDashboardOperation | undefined>;
184
+ runMigration(): Promise<void>;
185
+ needMigration(): Promise<boolean>;
178
186
  }
179
187
  export interface IVizInteraction {
180
188
  id: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devtable/dashboard",
3
- "version": "5.7.1",
3
+ "version": "5.8.0",
4
4
  "license": "Apache-2.0",
5
5
  "publishConfig": {
6
6
  "access": "public",
@@ -59,6 +59,7 @@
59
59
  "@types/react-dom": "^18.0.0",
60
60
  "@types/react-grid-layout": "^1.3.2",
61
61
  "ahooks": "^3.3.11",
62
+ "ajv": "8.11.0",
62
63
  "axios": "^0.27.2",
63
64
  "crypto-js": "^4.1.1",
64
65
  "cypress": "^10.6.0",