@adminforth/dashboard 1.2.0 → 1.4.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 (60) hide show
  1. package/README.md +116 -39
  2. package/custom/api/dashboardApi.ts +4 -0
  3. package/custom/composables/useElementSize.ts +17 -2
  4. package/custom/model/dashboard.types.ts +337 -236
  5. package/custom/skills/adminforth-dashboard/SKILL.md +113 -2
  6. package/custom/widgets/chart/ChartWidget.vue +38 -53
  7. package/custom/widgets/chart/bar/BarChart.vue +20 -12
  8. package/custom/widgets/chart/chart.types.ts +17 -66
  9. package/custom/widgets/chart/chart.utils.ts +11 -0
  10. package/custom/widgets/chart/funnel/FunnelChart.vue +6 -4
  11. package/custom/widgets/chart/line/LineChart.vue +23 -15
  12. package/custom/widgets/chart/stacked-bar/StackedBarChart.vue +28 -43
  13. package/custom/widgets/gauge-card/GaugeCardWidget.vue +7 -12
  14. package/custom/widgets/kpi-card/KpiCardWidget.vue +6 -8
  15. package/custom/widgets/pivot-table/PivotTableWidget.vue +8 -7
  16. package/custom/widgets/table/TableWidget.vue +8 -3
  17. package/dist/custom/api/dashboardApi.d.ts +1 -0
  18. package/dist/custom/api/dashboardApi.js +5 -0
  19. package/dist/custom/api/dashboardApi.ts +4 -0
  20. package/dist/custom/composables/useElementSize.js +14 -2
  21. package/dist/custom/composables/useElementSize.ts +17 -2
  22. package/dist/custom/model/dashboard.types.d.ts +181 -61
  23. package/dist/custom/model/dashboard.types.js +82 -93
  24. package/dist/custom/model/dashboard.types.ts +337 -236
  25. package/dist/custom/queries/useDashboardConfig.d.ts +852 -66
  26. package/dist/custom/queries/useWidgetData.d.ts +848 -62
  27. package/dist/custom/skills/adminforth-dashboard/SKILL.md +113 -2
  28. package/dist/custom/widgets/chart/ChartWidget.vue +38 -53
  29. package/dist/custom/widgets/chart/bar/BarChart.vue +20 -12
  30. package/dist/custom/widgets/chart/chart.types.d.ts +13 -22
  31. package/dist/custom/widgets/chart/chart.types.js +2 -25
  32. package/dist/custom/widgets/chart/chart.types.ts +17 -66
  33. package/dist/custom/widgets/chart/chart.utils.d.ts +1 -0
  34. package/dist/custom/widgets/chart/chart.utils.js +7 -0
  35. package/dist/custom/widgets/chart/chart.utils.ts +11 -0
  36. package/dist/custom/widgets/chart/funnel/FunnelChart.vue +6 -4
  37. package/dist/custom/widgets/chart/line/LineChart.vue +23 -15
  38. package/dist/custom/widgets/chart/stacked-bar/StackedBarChart.vue +28 -43
  39. package/dist/custom/widgets/gauge-card/GaugeCardWidget.vue +7 -12
  40. package/dist/custom/widgets/kpi-card/KpiCardWidget.vue +6 -8
  41. package/dist/custom/widgets/pivot-table/PivotTableWidget.vue +8 -7
  42. package/dist/custom/widgets/table/TableWidget.vue +8 -3
  43. package/dist/endpoint/dashboard.d.ts +7 -2
  44. package/dist/endpoint/dashboard.js +45 -1
  45. package/dist/endpoint/widgets.d.ts +2 -1
  46. package/dist/endpoint/widgets.js +6 -2
  47. package/dist/schema/api.d.ts +2773 -736
  48. package/dist/schema/api.js +5 -0
  49. package/dist/schema/widget.d.ts +1648 -476
  50. package/dist/schema/widget.js +208 -139
  51. package/dist/services/widgetConfigValidator.js +16 -40
  52. package/dist/services/widgetDataService.d.ts +2 -1
  53. package/dist/services/widgetDataService.js +389 -82
  54. package/endpoint/dashboard.ts +77 -4
  55. package/endpoint/widgets.ts +11 -4
  56. package/package.json +1 -1
  57. package/schema/api.ts +6 -0
  58. package/schema/widget.ts +225 -139
  59. package/services/widgetConfigValidator.ts +29 -53
  60. package/services/widgetDataService.ts +522 -100
@@ -12,65 +12,458 @@ export declare function useDashboardConfig(slug: Ref<string>): {
12
12
  label: string;
13
13
  order: number;
14
14
  }[];
15
- widgets: {
15
+ widgets: ({
16
16
  id: string;
17
17
  group_id: string;
18
18
  label?: string | undefined;
19
+ variables?: import("../model/dashboard.types.js").DashboardVariables | undefined;
19
20
  size?: import("../model/dashboard.types.js").DashboardWidgetSize | undefined;
20
21
  width?: number | undefined;
21
22
  height?: number | undefined;
22
23
  minWidth?: number | undefined;
23
24
  maxWidth?: number | null | undefined;
24
25
  order: number;
25
- target: import("../model/dashboard.types.js").DashboardWidgetTarget;
26
- dataSource?: {
27
- type: "resource";
28
- resourceId: string;
29
- columns?: string[] | undefined;
30
- sort?: unknown;
31
- filters?: unknown;
32
- } | {
33
- type: "aggregate";
34
- resourceId: string;
35
- aggregations: Record<string, import("../model/dashboard.types.js").AggregationRule>;
36
- groupBy?: {
37
- type: "field";
26
+ target: "empty";
27
+ } | {
28
+ id: string;
29
+ group_id: string;
30
+ label?: string | undefined;
31
+ variables?: import("../model/dashboard.types.js").DashboardVariables | undefined;
32
+ size?: import("../model/dashboard.types.js").DashboardWidgetSize | undefined;
33
+ width?: number | undefined;
34
+ height?: number | undefined;
35
+ minWidth?: number | undefined;
36
+ maxWidth?: number | null | undefined;
37
+ order: number;
38
+ target: "table";
39
+ table?: {
40
+ columns?: (string | {
38
41
  field: string;
42
+ label?: string | undefined;
43
+ format?: import("../model/dashboard.types.js").ValueFormat | undefined;
44
+ })[] | undefined;
45
+ pagination?: boolean | undefined;
46
+ pageSize?: number | undefined;
47
+ } | undefined;
48
+ query: {
49
+ resource: string;
50
+ select?: ({
51
+ field: string;
52
+ as?: string | undefined;
53
+ grain?: import("../model/dashboard.types.js").TimeGrain | undefined;
54
+ } | {
55
+ agg: import("../model/dashboard.types.js").QueryAggregateOperation;
56
+ field?: string | undefined;
57
+ as: string;
58
+ filters?: any;
39
59
  } | {
40
- type: "date_trunc";
60
+ calc: string;
61
+ as: string;
62
+ })[] | undefined;
63
+ filters?: any;
64
+ groupBy?: (string | {
41
65
  field: string;
42
- truncation: "day" | "week" | "month" | "year";
66
+ as?: string | undefined;
67
+ grain?: import("../model/dashboard.types.js").TimeGrain | undefined;
68
+ timezone?: string | undefined;
69
+ })[] | undefined;
70
+ orderBy?: {
71
+ field: string;
72
+ direction?: "asc" | "desc" | undefined;
73
+ }[] | undefined;
74
+ limit?: number | undefined;
75
+ offset?: number | undefined;
76
+ timeSeries?: {
77
+ field: string;
78
+ grain: import("../model/dashboard.types.js").TimeGrain;
43
79
  timezone?: string | undefined;
44
80
  } | undefined;
45
- filters?: unknown;
46
- } | undefined;
47
- chart?: {
81
+ period?: {
82
+ field: string;
83
+ gte?: unknown;
84
+ lt?: unknown;
85
+ } | undefined;
86
+ bucket?: {
87
+ field: string;
88
+ buckets: {
89
+ label: string;
90
+ min?: number | undefined;
91
+ max?: number | undefined;
92
+ }[];
93
+ } | undefined;
94
+ calcs?: {
95
+ calc: string;
96
+ as: string;
97
+ }[] | undefined;
98
+ formatting?: Record<string, unknown> | undefined;
99
+ };
100
+ } | {
101
+ id: string;
102
+ group_id: string;
103
+ label?: string | undefined;
104
+ variables?: import("../model/dashboard.types.js").DashboardVariables | undefined;
105
+ size?: import("../model/dashboard.types.js").DashboardWidgetSize | undefined;
106
+ width?: number | undefined;
107
+ height?: number | undefined;
108
+ minWidth?: number | undefined;
109
+ maxWidth?: number | null | undefined;
110
+ order: number;
111
+ target: "chart";
112
+ chart: {
48
113
  type: import("../widgets/chart/chart.types.js").ChartWidgetType;
49
114
  title?: string | undefined;
50
- x_field?: string | undefined;
51
- y_field?: string | undefined;
52
- label_field?: string | undefined;
53
- value_field?: string | undefined;
54
- bucket_field?: string | undefined;
115
+ x?: {
116
+ field: string;
117
+ label?: string | undefined;
118
+ format?: import("../model/dashboard.types.js").ValueFormat | undefined;
119
+ } | undefined;
120
+ y?: {
121
+ field: string;
122
+ label?: string | undefined;
123
+ format?: import("../model/dashboard.types.js").ValueFormat | undefined;
124
+ } | {
125
+ field: string;
126
+ label?: string | undefined;
127
+ format?: import("../model/dashboard.types.js").ValueFormat | undefined;
128
+ }[] | undefined;
129
+ label?: {
130
+ field: string;
131
+ label?: string | undefined;
132
+ format?: import("../model/dashboard.types.js").ValueFormat | undefined;
133
+ } | undefined;
134
+ value?: {
135
+ field: string;
136
+ label?: string | undefined;
137
+ format?: import("../model/dashboard.types.js").ValueFormat | undefined;
138
+ } | undefined;
55
139
  buckets?: {
56
140
  label: string;
57
141
  min?: number | undefined;
58
142
  max?: number | undefined;
59
143
  }[] | undefined;
60
144
  series?: {
61
- name: string;
62
145
  field: string;
146
+ label?: string | undefined;
63
147
  color?: string | undefined;
64
- }[] | undefined;
65
- series_name?: string | undefined;
148
+ } | undefined;
66
149
  color?: string | undefined;
67
150
  colors?: string[] | undefined;
68
- } | undefined;
69
- table?: unknown;
70
- kpi_card?: unknown;
71
- pivot_table?: unknown;
72
- gauge_card?: unknown;
73
- }[];
151
+ };
152
+ query: {
153
+ resource: string;
154
+ select?: ({
155
+ field: string;
156
+ as?: string | undefined;
157
+ grain?: import("../model/dashboard.types.js").TimeGrain | undefined;
158
+ } | {
159
+ agg: import("../model/dashboard.types.js").QueryAggregateOperation;
160
+ field?: string | undefined;
161
+ as: string;
162
+ filters?: any;
163
+ } | {
164
+ calc: string;
165
+ as: string;
166
+ })[] | undefined;
167
+ filters?: any;
168
+ groupBy?: (string | {
169
+ field: string;
170
+ as?: string | undefined;
171
+ grain?: import("../model/dashboard.types.js").TimeGrain | undefined;
172
+ timezone?: string | undefined;
173
+ })[] | undefined;
174
+ orderBy?: {
175
+ field: string;
176
+ direction?: "asc" | "desc" | undefined;
177
+ }[] | undefined;
178
+ limit?: number | undefined;
179
+ offset?: number | undefined;
180
+ timeSeries?: {
181
+ field: string;
182
+ grain: import("../model/dashboard.types.js").TimeGrain;
183
+ timezone?: string | undefined;
184
+ } | undefined;
185
+ period?: {
186
+ field: string;
187
+ gte?: unknown;
188
+ lt?: unknown;
189
+ } | undefined;
190
+ bucket?: {
191
+ field: string;
192
+ buckets: {
193
+ label: string;
194
+ min?: number | undefined;
195
+ max?: number | undefined;
196
+ }[];
197
+ } | undefined;
198
+ calcs?: {
199
+ calc: string;
200
+ as: string;
201
+ }[] | undefined;
202
+ formatting?: Record<string, unknown> | undefined;
203
+ } | {
204
+ steps: {
205
+ name: string;
206
+ resource: string;
207
+ metric: {
208
+ agg: import("../model/dashboard.types.js").QueryAggregateOperation;
209
+ field?: string | undefined;
210
+ as: string;
211
+ filters?: any;
212
+ };
213
+ filters?: any;
214
+ }[];
215
+ calcs?: {
216
+ calc: string;
217
+ as: string;
218
+ }[] | undefined;
219
+ };
220
+ } | {
221
+ id: string;
222
+ group_id: string;
223
+ label?: string | undefined;
224
+ variables?: import("../model/dashboard.types.js").DashboardVariables | undefined;
225
+ size?: import("../model/dashboard.types.js").DashboardWidgetSize | undefined;
226
+ width?: number | undefined;
227
+ height?: number | undefined;
228
+ minWidth?: number | undefined;
229
+ maxWidth?: number | null | undefined;
230
+ order: number;
231
+ target: "kpi_card";
232
+ card: {
233
+ title?: string | undefined;
234
+ value: {
235
+ field: string;
236
+ format?: import("../model/dashboard.types.js").ValueFormat | undefined;
237
+ prefix?: string | undefined;
238
+ suffix?: string | undefined;
239
+ };
240
+ subtitle?: {
241
+ text?: string | undefined;
242
+ field?: string | undefined;
243
+ } | undefined;
244
+ comparison?: unknown;
245
+ sparkline?: unknown;
246
+ };
247
+ query: {
248
+ resource: string;
249
+ select?: ({
250
+ field: string;
251
+ as?: string | undefined;
252
+ grain?: import("../model/dashboard.types.js").TimeGrain | undefined;
253
+ } | {
254
+ agg: import("../model/dashboard.types.js").QueryAggregateOperation;
255
+ field?: string | undefined;
256
+ as: string;
257
+ filters?: any;
258
+ } | {
259
+ calc: string;
260
+ as: string;
261
+ })[] | undefined;
262
+ filters?: any;
263
+ groupBy?: (string | {
264
+ field: string;
265
+ as?: string | undefined;
266
+ grain?: import("../model/dashboard.types.js").TimeGrain | undefined;
267
+ timezone?: string | undefined;
268
+ })[] | undefined;
269
+ orderBy?: {
270
+ field: string;
271
+ direction?: "asc" | "desc" | undefined;
272
+ }[] | undefined;
273
+ limit?: number | undefined;
274
+ offset?: number | undefined;
275
+ timeSeries?: {
276
+ field: string;
277
+ grain: import("../model/dashboard.types.js").TimeGrain;
278
+ timezone?: string | undefined;
279
+ } | undefined;
280
+ period?: {
281
+ field: string;
282
+ gte?: unknown;
283
+ lt?: unknown;
284
+ } | undefined;
285
+ bucket?: {
286
+ field: string;
287
+ buckets: {
288
+ label: string;
289
+ min?: number | undefined;
290
+ max?: number | undefined;
291
+ }[];
292
+ } | undefined;
293
+ calcs?: {
294
+ calc: string;
295
+ as: string;
296
+ }[] | undefined;
297
+ formatting?: Record<string, unknown> | undefined;
298
+ };
299
+ } | {
300
+ id: string;
301
+ group_id: string;
302
+ label?: string | undefined;
303
+ variables?: import("../model/dashboard.types.js").DashboardVariables | undefined;
304
+ size?: import("../model/dashboard.types.js").DashboardWidgetSize | undefined;
305
+ width?: number | undefined;
306
+ height?: number | undefined;
307
+ minWidth?: number | undefined;
308
+ maxWidth?: number | null | undefined;
309
+ order: number;
310
+ target: "gauge_card";
311
+ card: {
312
+ title?: string | undefined;
313
+ value: {
314
+ field: string;
315
+ format?: import("../model/dashboard.types.js").ValueFormat | undefined;
316
+ prefix?: string | undefined;
317
+ suffix?: string | undefined;
318
+ };
319
+ target?: {
320
+ value?: number | undefined;
321
+ field?: string | undefined;
322
+ label?: string | undefined;
323
+ } | undefined;
324
+ progress?: {
325
+ valueField: string;
326
+ targetValue?: number | undefined;
327
+ targetField?: string | undefined;
328
+ format?: import("../model/dashboard.types.js").ValueFormat | undefined;
329
+ } | undefined;
330
+ color?: string | undefined;
331
+ };
332
+ query: {
333
+ resource: string;
334
+ select?: ({
335
+ field: string;
336
+ as?: string | undefined;
337
+ grain?: import("../model/dashboard.types.js").TimeGrain | undefined;
338
+ } | {
339
+ agg: import("../model/dashboard.types.js").QueryAggregateOperation;
340
+ field?: string | undefined;
341
+ as: string;
342
+ filters?: any;
343
+ } | {
344
+ calc: string;
345
+ as: string;
346
+ })[] | undefined;
347
+ filters?: any;
348
+ groupBy?: (string | {
349
+ field: string;
350
+ as?: string | undefined;
351
+ grain?: import("../model/dashboard.types.js").TimeGrain | undefined;
352
+ timezone?: string | undefined;
353
+ })[] | undefined;
354
+ orderBy?: {
355
+ field: string;
356
+ direction?: "asc" | "desc" | undefined;
357
+ }[] | undefined;
358
+ limit?: number | undefined;
359
+ offset?: number | undefined;
360
+ timeSeries?: {
361
+ field: string;
362
+ grain: import("../model/dashboard.types.js").TimeGrain;
363
+ timezone?: string | undefined;
364
+ } | undefined;
365
+ period?: {
366
+ field: string;
367
+ gte?: unknown;
368
+ lt?: unknown;
369
+ } | undefined;
370
+ bucket?: {
371
+ field: string;
372
+ buckets: {
373
+ label: string;
374
+ min?: number | undefined;
375
+ max?: number | undefined;
376
+ }[];
377
+ } | undefined;
378
+ calcs?: {
379
+ calc: string;
380
+ as: string;
381
+ }[] | undefined;
382
+ formatting?: Record<string, unknown> | undefined;
383
+ };
384
+ } | {
385
+ id: string;
386
+ group_id: string;
387
+ label?: string | undefined;
388
+ variables?: import("../model/dashboard.types.js").DashboardVariables | undefined;
389
+ size?: import("../model/dashboard.types.js").DashboardWidgetSize | undefined;
390
+ width?: number | undefined;
391
+ height?: number | undefined;
392
+ minWidth?: number | undefined;
393
+ maxWidth?: number | null | undefined;
394
+ order: number;
395
+ target: "pivot_table";
396
+ pivot: {
397
+ rows: (string | {
398
+ field: string;
399
+ label?: string | undefined;
400
+ format?: import("../model/dashboard.types.js").ValueFormat | undefined;
401
+ })[];
402
+ columns?: (string | {
403
+ field: string;
404
+ label?: string | undefined;
405
+ format?: import("../model/dashboard.types.js").ValueFormat | undefined;
406
+ })[] | undefined;
407
+ values: {
408
+ field: string;
409
+ label?: string | undefined;
410
+ format?: import("../model/dashboard.types.js").ValueFormat | undefined;
411
+ aggregation?: "sum" | "count" | "avg" | "min" | "max" | undefined;
412
+ }[];
413
+ };
414
+ query: {
415
+ resource: string;
416
+ select?: ({
417
+ field: string;
418
+ as?: string | undefined;
419
+ grain?: import("../model/dashboard.types.js").TimeGrain | undefined;
420
+ } | {
421
+ agg: import("../model/dashboard.types.js").QueryAggregateOperation;
422
+ field?: string | undefined;
423
+ as: string;
424
+ filters?: any;
425
+ } | {
426
+ calc: string;
427
+ as: string;
428
+ })[] | undefined;
429
+ filters?: any;
430
+ groupBy?: (string | {
431
+ field: string;
432
+ as?: string | undefined;
433
+ grain?: import("../model/dashboard.types.js").TimeGrain | undefined;
434
+ timezone?: string | undefined;
435
+ })[] | undefined;
436
+ orderBy?: {
437
+ field: string;
438
+ direction?: "asc" | "desc" | undefined;
439
+ }[] | undefined;
440
+ limit?: number | undefined;
441
+ offset?: number | undefined;
442
+ timeSeries?: {
443
+ field: string;
444
+ grain: import("../model/dashboard.types.js").TimeGrain;
445
+ timezone?: string | undefined;
446
+ } | undefined;
447
+ period?: {
448
+ field: string;
449
+ gte?: unknown;
450
+ lt?: unknown;
451
+ } | undefined;
452
+ bucket?: {
453
+ field: string;
454
+ buckets: {
455
+ label: string;
456
+ min?: number | undefined;
457
+ max?: number | undefined;
458
+ }[];
459
+ } | undefined;
460
+ calcs?: {
461
+ calc: string;
462
+ as: string;
463
+ }[] | undefined;
464
+ formatting?: Record<string, unknown> | undefined;
465
+ };
466
+ })[];
74
467
  };
75
468
  } | null, import("../api/dashboardApi.js").DashboardResponse | {
76
469
  id: string;
@@ -84,65 +477,458 @@ export declare function useDashboardConfig(slug: Ref<string>): {
84
477
  label: string;
85
478
  order: number;
86
479
  }[];
87
- widgets: {
480
+ widgets: ({
88
481
  id: string;
89
482
  group_id: string;
90
483
  label?: string | undefined;
484
+ variables?: import("../model/dashboard.types.js").DashboardVariables | undefined;
91
485
  size?: import("../model/dashboard.types.js").DashboardWidgetSize | undefined;
92
486
  width?: number | undefined;
93
487
  height?: number | undefined;
94
488
  minWidth?: number | undefined;
95
489
  maxWidth?: number | null | undefined;
96
490
  order: number;
97
- target: import("../model/dashboard.types.js").DashboardWidgetTarget;
98
- dataSource?: {
99
- type: "resource";
100
- resourceId: string;
101
- columns?: string[] | undefined;
102
- sort?: unknown;
103
- filters?: unknown;
104
- } | {
105
- type: "aggregate";
106
- resourceId: string;
107
- aggregations: Record<string, import("../model/dashboard.types.js").AggregationRule>;
108
- groupBy?: {
109
- type: "field";
491
+ target: "empty";
492
+ } | {
493
+ id: string;
494
+ group_id: string;
495
+ label?: string | undefined;
496
+ variables?: import("../model/dashboard.types.js").DashboardVariables | undefined;
497
+ size?: import("../model/dashboard.types.js").DashboardWidgetSize | undefined;
498
+ width?: number | undefined;
499
+ height?: number | undefined;
500
+ minWidth?: number | undefined;
501
+ maxWidth?: number | null | undefined;
502
+ order: number;
503
+ target: "table";
504
+ table?: {
505
+ columns?: (string | {
110
506
  field: string;
507
+ label?: string | undefined;
508
+ format?: import("../model/dashboard.types.js").ValueFormat | undefined;
509
+ })[] | undefined;
510
+ pagination?: boolean | undefined;
511
+ pageSize?: number | undefined;
512
+ } | undefined;
513
+ query: {
514
+ resource: string;
515
+ select?: ({
516
+ field: string;
517
+ as?: string | undefined;
518
+ grain?: import("../model/dashboard.types.js").TimeGrain | undefined;
519
+ } | {
520
+ agg: import("../model/dashboard.types.js").QueryAggregateOperation;
521
+ field?: string | undefined;
522
+ as: string;
523
+ filters?: any;
111
524
  } | {
112
- type: "date_trunc";
525
+ calc: string;
526
+ as: string;
527
+ })[] | undefined;
528
+ filters?: any;
529
+ groupBy?: (string | {
113
530
  field: string;
114
- truncation: "day" | "week" | "month" | "year";
531
+ as?: string | undefined;
532
+ grain?: import("../model/dashboard.types.js").TimeGrain | undefined;
533
+ timezone?: string | undefined;
534
+ })[] | undefined;
535
+ orderBy?: {
536
+ field: string;
537
+ direction?: "asc" | "desc" | undefined;
538
+ }[] | undefined;
539
+ limit?: number | undefined;
540
+ offset?: number | undefined;
541
+ timeSeries?: {
542
+ field: string;
543
+ grain: import("../model/dashboard.types.js").TimeGrain;
115
544
  timezone?: string | undefined;
116
545
  } | undefined;
117
- filters?: unknown;
118
- } | undefined;
119
- chart?: {
546
+ period?: {
547
+ field: string;
548
+ gte?: unknown;
549
+ lt?: unknown;
550
+ } | undefined;
551
+ bucket?: {
552
+ field: string;
553
+ buckets: {
554
+ label: string;
555
+ min?: number | undefined;
556
+ max?: number | undefined;
557
+ }[];
558
+ } | undefined;
559
+ calcs?: {
560
+ calc: string;
561
+ as: string;
562
+ }[] | undefined;
563
+ formatting?: Record<string, unknown> | undefined;
564
+ };
565
+ } | {
566
+ id: string;
567
+ group_id: string;
568
+ label?: string | undefined;
569
+ variables?: import("../model/dashboard.types.js").DashboardVariables | undefined;
570
+ size?: import("../model/dashboard.types.js").DashboardWidgetSize | undefined;
571
+ width?: number | undefined;
572
+ height?: number | undefined;
573
+ minWidth?: number | undefined;
574
+ maxWidth?: number | null | undefined;
575
+ order: number;
576
+ target: "chart";
577
+ chart: {
120
578
  type: import("../widgets/chart/chart.types.js").ChartWidgetType;
121
579
  title?: string | undefined;
122
- x_field?: string | undefined;
123
- y_field?: string | undefined;
124
- label_field?: string | undefined;
125
- value_field?: string | undefined;
126
- bucket_field?: string | undefined;
580
+ x?: {
581
+ field: string;
582
+ label?: string | undefined;
583
+ format?: import("../model/dashboard.types.js").ValueFormat | undefined;
584
+ } | undefined;
585
+ y?: {
586
+ field: string;
587
+ label?: string | undefined;
588
+ format?: import("../model/dashboard.types.js").ValueFormat | undefined;
589
+ } | {
590
+ field: string;
591
+ label?: string | undefined;
592
+ format?: import("../model/dashboard.types.js").ValueFormat | undefined;
593
+ }[] | undefined;
594
+ label?: {
595
+ field: string;
596
+ label?: string | undefined;
597
+ format?: import("../model/dashboard.types.js").ValueFormat | undefined;
598
+ } | undefined;
599
+ value?: {
600
+ field: string;
601
+ label?: string | undefined;
602
+ format?: import("../model/dashboard.types.js").ValueFormat | undefined;
603
+ } | undefined;
127
604
  buckets?: {
128
605
  label: string;
129
606
  min?: number | undefined;
130
607
  max?: number | undefined;
131
608
  }[] | undefined;
132
609
  series?: {
133
- name: string;
134
610
  field: string;
611
+ label?: string | undefined;
135
612
  color?: string | undefined;
136
- }[] | undefined;
137
- series_name?: string | undefined;
613
+ } | undefined;
138
614
  color?: string | undefined;
139
615
  colors?: string[] | undefined;
140
- } | undefined;
141
- table?: unknown;
142
- kpi_card?: unknown;
143
- pivot_table?: unknown;
144
- gauge_card?: unknown;
145
- }[];
616
+ };
617
+ query: {
618
+ resource: string;
619
+ select?: ({
620
+ field: string;
621
+ as?: string | undefined;
622
+ grain?: import("../model/dashboard.types.js").TimeGrain | undefined;
623
+ } | {
624
+ agg: import("../model/dashboard.types.js").QueryAggregateOperation;
625
+ field?: string | undefined;
626
+ as: string;
627
+ filters?: any;
628
+ } | {
629
+ calc: string;
630
+ as: string;
631
+ })[] | undefined;
632
+ filters?: any;
633
+ groupBy?: (string | {
634
+ field: string;
635
+ as?: string | undefined;
636
+ grain?: import("../model/dashboard.types.js").TimeGrain | undefined;
637
+ timezone?: string | undefined;
638
+ })[] | undefined;
639
+ orderBy?: {
640
+ field: string;
641
+ direction?: "asc" | "desc" | undefined;
642
+ }[] | undefined;
643
+ limit?: number | undefined;
644
+ offset?: number | undefined;
645
+ timeSeries?: {
646
+ field: string;
647
+ grain: import("../model/dashboard.types.js").TimeGrain;
648
+ timezone?: string | undefined;
649
+ } | undefined;
650
+ period?: {
651
+ field: string;
652
+ gte?: unknown;
653
+ lt?: unknown;
654
+ } | undefined;
655
+ bucket?: {
656
+ field: string;
657
+ buckets: {
658
+ label: string;
659
+ min?: number | undefined;
660
+ max?: number | undefined;
661
+ }[];
662
+ } | undefined;
663
+ calcs?: {
664
+ calc: string;
665
+ as: string;
666
+ }[] | undefined;
667
+ formatting?: Record<string, unknown> | undefined;
668
+ } | {
669
+ steps: {
670
+ name: string;
671
+ resource: string;
672
+ metric: {
673
+ agg: import("../model/dashboard.types.js").QueryAggregateOperation;
674
+ field?: string | undefined;
675
+ as: string;
676
+ filters?: any;
677
+ };
678
+ filters?: any;
679
+ }[];
680
+ calcs?: {
681
+ calc: string;
682
+ as: string;
683
+ }[] | undefined;
684
+ };
685
+ } | {
686
+ id: string;
687
+ group_id: string;
688
+ label?: string | undefined;
689
+ variables?: import("../model/dashboard.types.js").DashboardVariables | undefined;
690
+ size?: import("../model/dashboard.types.js").DashboardWidgetSize | undefined;
691
+ width?: number | undefined;
692
+ height?: number | undefined;
693
+ minWidth?: number | undefined;
694
+ maxWidth?: number | null | undefined;
695
+ order: number;
696
+ target: "kpi_card";
697
+ card: {
698
+ title?: string | undefined;
699
+ value: {
700
+ field: string;
701
+ format?: import("../model/dashboard.types.js").ValueFormat | undefined;
702
+ prefix?: string | undefined;
703
+ suffix?: string | undefined;
704
+ };
705
+ subtitle?: {
706
+ text?: string | undefined;
707
+ field?: string | undefined;
708
+ } | undefined;
709
+ comparison?: unknown;
710
+ sparkline?: unknown;
711
+ };
712
+ query: {
713
+ resource: string;
714
+ select?: ({
715
+ field: string;
716
+ as?: string | undefined;
717
+ grain?: import("../model/dashboard.types.js").TimeGrain | undefined;
718
+ } | {
719
+ agg: import("../model/dashboard.types.js").QueryAggregateOperation;
720
+ field?: string | undefined;
721
+ as: string;
722
+ filters?: any;
723
+ } | {
724
+ calc: string;
725
+ as: string;
726
+ })[] | undefined;
727
+ filters?: any;
728
+ groupBy?: (string | {
729
+ field: string;
730
+ as?: string | undefined;
731
+ grain?: import("../model/dashboard.types.js").TimeGrain | undefined;
732
+ timezone?: string | undefined;
733
+ })[] | undefined;
734
+ orderBy?: {
735
+ field: string;
736
+ direction?: "asc" | "desc" | undefined;
737
+ }[] | undefined;
738
+ limit?: number | undefined;
739
+ offset?: number | undefined;
740
+ timeSeries?: {
741
+ field: string;
742
+ grain: import("../model/dashboard.types.js").TimeGrain;
743
+ timezone?: string | undefined;
744
+ } | undefined;
745
+ period?: {
746
+ field: string;
747
+ gte?: unknown;
748
+ lt?: unknown;
749
+ } | undefined;
750
+ bucket?: {
751
+ field: string;
752
+ buckets: {
753
+ label: string;
754
+ min?: number | undefined;
755
+ max?: number | undefined;
756
+ }[];
757
+ } | undefined;
758
+ calcs?: {
759
+ calc: string;
760
+ as: string;
761
+ }[] | undefined;
762
+ formatting?: Record<string, unknown> | undefined;
763
+ };
764
+ } | {
765
+ id: string;
766
+ group_id: string;
767
+ label?: string | undefined;
768
+ variables?: import("../model/dashboard.types.js").DashboardVariables | undefined;
769
+ size?: import("../model/dashboard.types.js").DashboardWidgetSize | undefined;
770
+ width?: number | undefined;
771
+ height?: number | undefined;
772
+ minWidth?: number | undefined;
773
+ maxWidth?: number | null | undefined;
774
+ order: number;
775
+ target: "gauge_card";
776
+ card: {
777
+ title?: string | undefined;
778
+ value: {
779
+ field: string;
780
+ format?: import("../model/dashboard.types.js").ValueFormat | undefined;
781
+ prefix?: string | undefined;
782
+ suffix?: string | undefined;
783
+ };
784
+ target?: {
785
+ value?: number | undefined;
786
+ field?: string | undefined;
787
+ label?: string | undefined;
788
+ } | undefined;
789
+ progress?: {
790
+ valueField: string;
791
+ targetValue?: number | undefined;
792
+ targetField?: string | undefined;
793
+ format?: import("../model/dashboard.types.js").ValueFormat | undefined;
794
+ } | undefined;
795
+ color?: string | undefined;
796
+ };
797
+ query: {
798
+ resource: string;
799
+ select?: ({
800
+ field: string;
801
+ as?: string | undefined;
802
+ grain?: import("../model/dashboard.types.js").TimeGrain | undefined;
803
+ } | {
804
+ agg: import("../model/dashboard.types.js").QueryAggregateOperation;
805
+ field?: string | undefined;
806
+ as: string;
807
+ filters?: any;
808
+ } | {
809
+ calc: string;
810
+ as: string;
811
+ })[] | undefined;
812
+ filters?: any;
813
+ groupBy?: (string | {
814
+ field: string;
815
+ as?: string | undefined;
816
+ grain?: import("../model/dashboard.types.js").TimeGrain | undefined;
817
+ timezone?: string | undefined;
818
+ })[] | undefined;
819
+ orderBy?: {
820
+ field: string;
821
+ direction?: "asc" | "desc" | undefined;
822
+ }[] | undefined;
823
+ limit?: number | undefined;
824
+ offset?: number | undefined;
825
+ timeSeries?: {
826
+ field: string;
827
+ grain: import("../model/dashboard.types.js").TimeGrain;
828
+ timezone?: string | undefined;
829
+ } | undefined;
830
+ period?: {
831
+ field: string;
832
+ gte?: unknown;
833
+ lt?: unknown;
834
+ } | undefined;
835
+ bucket?: {
836
+ field: string;
837
+ buckets: {
838
+ label: string;
839
+ min?: number | undefined;
840
+ max?: number | undefined;
841
+ }[];
842
+ } | undefined;
843
+ calcs?: {
844
+ calc: string;
845
+ as: string;
846
+ }[] | undefined;
847
+ formatting?: Record<string, unknown> | undefined;
848
+ };
849
+ } | {
850
+ id: string;
851
+ group_id: string;
852
+ label?: string | undefined;
853
+ variables?: import("../model/dashboard.types.js").DashboardVariables | undefined;
854
+ size?: import("../model/dashboard.types.js").DashboardWidgetSize | undefined;
855
+ width?: number | undefined;
856
+ height?: number | undefined;
857
+ minWidth?: number | undefined;
858
+ maxWidth?: number | null | undefined;
859
+ order: number;
860
+ target: "pivot_table";
861
+ pivot: {
862
+ rows: (string | {
863
+ field: string;
864
+ label?: string | undefined;
865
+ format?: import("../model/dashboard.types.js").ValueFormat | undefined;
866
+ })[];
867
+ columns?: (string | {
868
+ field: string;
869
+ label?: string | undefined;
870
+ format?: import("../model/dashboard.types.js").ValueFormat | undefined;
871
+ })[] | undefined;
872
+ values: {
873
+ field: string;
874
+ label?: string | undefined;
875
+ format?: import("../model/dashboard.types.js").ValueFormat | undefined;
876
+ aggregation?: "sum" | "count" | "avg" | "min" | "max" | undefined;
877
+ }[];
878
+ };
879
+ query: {
880
+ resource: string;
881
+ select?: ({
882
+ field: string;
883
+ as?: string | undefined;
884
+ grain?: import("../model/dashboard.types.js").TimeGrain | undefined;
885
+ } | {
886
+ agg: import("../model/dashboard.types.js").QueryAggregateOperation;
887
+ field?: string | undefined;
888
+ as: string;
889
+ filters?: any;
890
+ } | {
891
+ calc: string;
892
+ as: string;
893
+ })[] | undefined;
894
+ filters?: any;
895
+ groupBy?: (string | {
896
+ field: string;
897
+ as?: string | undefined;
898
+ grain?: import("../model/dashboard.types.js").TimeGrain | undefined;
899
+ timezone?: string | undefined;
900
+ })[] | undefined;
901
+ orderBy?: {
902
+ field: string;
903
+ direction?: "asc" | "desc" | undefined;
904
+ }[] | undefined;
905
+ limit?: number | undefined;
906
+ offset?: number | undefined;
907
+ timeSeries?: {
908
+ field: string;
909
+ grain: import("../model/dashboard.types.js").TimeGrain;
910
+ timezone?: string | undefined;
911
+ } | undefined;
912
+ period?: {
913
+ field: string;
914
+ gte?: unknown;
915
+ lt?: unknown;
916
+ } | undefined;
917
+ bucket?: {
918
+ field: string;
919
+ buckets: {
920
+ label: string;
921
+ min?: number | undefined;
922
+ max?: number | undefined;
923
+ }[];
924
+ } | undefined;
925
+ calcs?: {
926
+ calc: string;
927
+ as: string;
928
+ }[] | undefined;
929
+ formatting?: Record<string, unknown> | undefined;
930
+ };
931
+ })[];
146
932
  };
147
933
  } | null>;
148
934
  isLoading: Ref<boolean, boolean>;