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