@lightdash/common 0.2399.1 → 0.2399.2
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.
- package/dist/cjs/.tsbuildinfo +1 -1
- package/dist/cjs/schemas/json/chart-as-code-1.0.json +734 -146
- package/dist/esm/.tsbuildinfo +1 -1
- package/dist/esm/schemas/json/chart-as-code-1.0.json +734 -146
- package/dist/types/.tsbuildinfo +1 -1
- package/dist/types/schemas/json/chart-as-code-1.0.json +734 -146
- package/package.json +1 -1
|
@@ -93,116 +93,7 @@
|
|
|
93
93
|
"description": "Empty dimensions filter array (no filters applied)",
|
|
94
94
|
"maxItems": 0
|
|
95
95
|
},
|
|
96
|
-
{
|
|
97
|
-
"type": "object",
|
|
98
|
-
"description": "Dimension filter group",
|
|
99
|
-
"additionalProperties": false,
|
|
100
|
-
"properties": {
|
|
101
|
-
"id": {
|
|
102
|
-
"type": "string",
|
|
103
|
-
"description": "Optional unique identifier for the filter group"
|
|
104
|
-
},
|
|
105
|
-
"and": {
|
|
106
|
-
"type": "array",
|
|
107
|
-
"description": "Array of filters combined with AND logic",
|
|
108
|
-
"items": {
|
|
109
|
-
"type": "object",
|
|
110
|
-
"additionalProperties": false,
|
|
111
|
-
"required": [
|
|
112
|
-
"target",
|
|
113
|
-
"operator"
|
|
114
|
-
],
|
|
115
|
-
"properties": {
|
|
116
|
-
"id": {
|
|
117
|
-
"type": "string",
|
|
118
|
-
"description": "Optional unique identifier for the filter"
|
|
119
|
-
},
|
|
120
|
-
"target": {
|
|
121
|
-
"type": "object",
|
|
122
|
-
"additionalProperties": false,
|
|
123
|
-
"required": ["fieldId"],
|
|
124
|
-
"properties": {
|
|
125
|
-
"fieldId": {
|
|
126
|
-
"type": "string",
|
|
127
|
-
"description": "Field ID to filter on"
|
|
128
|
-
},
|
|
129
|
-
"fieldFilterType": {
|
|
130
|
-
"type": "string",
|
|
131
|
-
"description": "Filter type hint (e.g., 'date' for date fields)"
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
},
|
|
135
|
-
"operator": {
|
|
136
|
-
"type": "string",
|
|
137
|
-
"description": "Filter operator",
|
|
138
|
-
"enum": [
|
|
139
|
-
"equals",
|
|
140
|
-
"notEquals",
|
|
141
|
-
"isNull",
|
|
142
|
-
"notNull",
|
|
143
|
-
"startsWith",
|
|
144
|
-
"endsWith",
|
|
145
|
-
"include",
|
|
146
|
-
"doesNotInclude",
|
|
147
|
-
"lessThan",
|
|
148
|
-
"lessThanOrEqual",
|
|
149
|
-
"greaterThan",
|
|
150
|
-
"greaterThanOrEqual",
|
|
151
|
-
"inThePast",
|
|
152
|
-
"notInThePast",
|
|
153
|
-
"inTheNext",
|
|
154
|
-
"inTheCurrent",
|
|
155
|
-
"notInTheCurrent",
|
|
156
|
-
"inBetween",
|
|
157
|
-
"notInBetween"
|
|
158
|
-
]
|
|
159
|
-
},
|
|
160
|
-
"values": {
|
|
161
|
-
"type": "array",
|
|
162
|
-
"description": "Values to filter by"
|
|
163
|
-
},
|
|
164
|
-
"required": {
|
|
165
|
-
"type": "boolean",
|
|
166
|
-
"description": "Whether this filter is required"
|
|
167
|
-
},
|
|
168
|
-
"settings": {
|
|
169
|
-
"type": "object",
|
|
170
|
-
"description": "Additional settings for date/time filters",
|
|
171
|
-
"additionalProperties": false,
|
|
172
|
-
"properties": {
|
|
173
|
-
"unitOfTime": {
|
|
174
|
-
"type": "string",
|
|
175
|
-
"enum": [
|
|
176
|
-
"milliseconds",
|
|
177
|
-
"seconds",
|
|
178
|
-
"minutes",
|
|
179
|
-
"hours",
|
|
180
|
-
"days",
|
|
181
|
-
"weeks",
|
|
182
|
-
"months",
|
|
183
|
-
"quarters",
|
|
184
|
-
"years"
|
|
185
|
-
],
|
|
186
|
-
"description": "Time unit for relative date filters"
|
|
187
|
-
},
|
|
188
|
-
"completed": {
|
|
189
|
-
"type": "boolean",
|
|
190
|
-
"description": "For date filters, whether to include completed periods"
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
},
|
|
197
|
-
"or": {
|
|
198
|
-
"type": "array",
|
|
199
|
-
"description": "Array of filters combined with OR logic",
|
|
200
|
-
"items": {
|
|
201
|
-
"$ref": "#/properties/metricQuery/properties/filters/properties/dimensions/oneOf/1/properties/and/items"
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
}
|
|
96
|
+
{ "$ref": "#/$defs/filterGroup" }
|
|
206
97
|
]
|
|
207
98
|
},
|
|
208
99
|
"metrics": {
|
|
@@ -212,23 +103,7 @@
|
|
|
212
103
|
"description": "Empty metrics filter array (no filters applied)",
|
|
213
104
|
"maxItems": 0
|
|
214
105
|
},
|
|
215
|
-
{
|
|
216
|
-
"type": "object",
|
|
217
|
-
"description": "Metric filter group",
|
|
218
|
-
"additionalProperties": false,
|
|
219
|
-
"properties": {
|
|
220
|
-
"id": {
|
|
221
|
-
"type": "string",
|
|
222
|
-
"description": "Optional unique identifier for the filter group"
|
|
223
|
-
},
|
|
224
|
-
"and": {
|
|
225
|
-
"$ref": "#/properties/metricQuery/properties/filters/properties/dimensions/oneOf/1/properties/and"
|
|
226
|
-
},
|
|
227
|
-
"or": {
|
|
228
|
-
"$ref": "#/properties/metricQuery/properties/filters/properties/dimensions/oneOf/1/properties/or"
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
}
|
|
106
|
+
{ "$ref": "#/$defs/filterGroup" }
|
|
232
107
|
]
|
|
233
108
|
},
|
|
234
109
|
"tableCalculations": {
|
|
@@ -238,23 +113,7 @@
|
|
|
238
113
|
"description": "Empty table calculations filter array (no filters applied)",
|
|
239
114
|
"maxItems": 0
|
|
240
115
|
},
|
|
241
|
-
{
|
|
242
|
-
"type": "object",
|
|
243
|
-
"description": "Table calculation filter group",
|
|
244
|
-
"additionalProperties": false,
|
|
245
|
-
"properties": {
|
|
246
|
-
"id": {
|
|
247
|
-
"type": "string",
|
|
248
|
-
"description": "Optional unique identifier for the filter group"
|
|
249
|
-
},
|
|
250
|
-
"and": {
|
|
251
|
-
"$ref": "#/properties/metricQuery/properties/filters/properties/dimensions/oneOf/1/properties/and"
|
|
252
|
-
},
|
|
253
|
-
"or": {
|
|
254
|
-
"$ref": "#/properties/metricQuery/properties/filters/properties/dimensions/oneOf/1/properties/or"
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
}
|
|
116
|
+
{ "$ref": "#/$defs/filterGroup" }
|
|
258
117
|
]
|
|
259
118
|
}
|
|
260
119
|
}
|
|
@@ -274,6 +133,10 @@
|
|
|
274
133
|
"descending": {
|
|
275
134
|
"type": "boolean",
|
|
276
135
|
"description": "Sort in descending order"
|
|
136
|
+
},
|
|
137
|
+
"nullsFirst": {
|
|
138
|
+
"type": "boolean",
|
|
139
|
+
"description": "Sort null values first"
|
|
277
140
|
}
|
|
278
141
|
}
|
|
279
142
|
}
|
|
@@ -615,7 +478,17 @@
|
|
|
615
478
|
"sum",
|
|
616
479
|
"average",
|
|
617
480
|
"min",
|
|
618
|
-
"max"
|
|
481
|
+
"max",
|
|
482
|
+
"percentile",
|
|
483
|
+
"median",
|
|
484
|
+
"number",
|
|
485
|
+
"string",
|
|
486
|
+
"date",
|
|
487
|
+
"timestamp",
|
|
488
|
+
"boolean",
|
|
489
|
+
"percent_of_previous",
|
|
490
|
+
"percent_of_total",
|
|
491
|
+
"running_total"
|
|
619
492
|
],
|
|
620
493
|
"description": "Aggregation type"
|
|
621
494
|
},
|
|
@@ -639,6 +512,34 @@
|
|
|
639
512
|
"type": "number",
|
|
640
513
|
"description": "Display order index"
|
|
641
514
|
},
|
|
515
|
+
"round": {
|
|
516
|
+
"type": "number",
|
|
517
|
+
"description": "Number of decimal places"
|
|
518
|
+
},
|
|
519
|
+
"format": {
|
|
520
|
+
"type": "string",
|
|
521
|
+
"description": "Format string (legacy format specification)"
|
|
522
|
+
},
|
|
523
|
+
"generationType": {
|
|
524
|
+
"type": "string",
|
|
525
|
+
"description": "Type of generated metric (e.g., 'periodOverPeriod' for time comparison metrics)"
|
|
526
|
+
},
|
|
527
|
+
"baseMetricId": {
|
|
528
|
+
"type": "string",
|
|
529
|
+
"description": "ID of the base metric for generated metrics"
|
|
530
|
+
},
|
|
531
|
+
"timeDimensionId": {
|
|
532
|
+
"type": "string",
|
|
533
|
+
"description": "ID of the time dimension for period-over-period metrics"
|
|
534
|
+
},
|
|
535
|
+
"granularity": {
|
|
536
|
+
"type": "string",
|
|
537
|
+
"description": "Time granularity (e.g., 'MONTH', 'WEEK', 'DAY')"
|
|
538
|
+
},
|
|
539
|
+
"periodOffset": {
|
|
540
|
+
"type": "number",
|
|
541
|
+
"description": "Number of periods to offset for comparison"
|
|
542
|
+
},
|
|
642
543
|
"filters": {
|
|
643
544
|
"type": "array",
|
|
644
545
|
"description": "Filters to apply to this metric",
|
|
@@ -791,6 +692,96 @@
|
|
|
791
692
|
"items": {
|
|
792
693
|
"type": "object"
|
|
793
694
|
}
|
|
695
|
+
},
|
|
696
|
+
"dimensionOverrides": {
|
|
697
|
+
"type": "object",
|
|
698
|
+
"description": "Override formatting and display options for existing dimensions",
|
|
699
|
+
"additionalProperties": {
|
|
700
|
+
"type": "object",
|
|
701
|
+
"additionalProperties": false,
|
|
702
|
+
"properties": {
|
|
703
|
+
"formatOptions": {
|
|
704
|
+
"type": "object",
|
|
705
|
+
"description": "Formatting configuration for the dimension",
|
|
706
|
+
"additionalProperties": false,
|
|
707
|
+
"properties": {
|
|
708
|
+
"type": {
|
|
709
|
+
"type": "string",
|
|
710
|
+
"enum": [
|
|
711
|
+
"default",
|
|
712
|
+
"currency",
|
|
713
|
+
"number",
|
|
714
|
+
"percent"
|
|
715
|
+
],
|
|
716
|
+
"description": "Format type"
|
|
717
|
+
},
|
|
718
|
+
"round": {
|
|
719
|
+
"type": "number",
|
|
720
|
+
"description": "Number of decimal places"
|
|
721
|
+
},
|
|
722
|
+
"currency": {
|
|
723
|
+
"type": "string",
|
|
724
|
+
"description": "Currency code (e.g., USD, GBP, EUR)"
|
|
725
|
+
},
|
|
726
|
+
"separator": {
|
|
727
|
+
"type": "string",
|
|
728
|
+
"enum": [
|
|
729
|
+
"default",
|
|
730
|
+
"commaPeriod",
|
|
731
|
+
"spacePeriod",
|
|
732
|
+
"periodComma",
|
|
733
|
+
"spaceComma"
|
|
734
|
+
],
|
|
735
|
+
"description": "Thousands separator style"
|
|
736
|
+
},
|
|
737
|
+
"suffix": {
|
|
738
|
+
"type": "string",
|
|
739
|
+
"description": "Suffix to append to formatted values"
|
|
740
|
+
},
|
|
741
|
+
"prefix": {
|
|
742
|
+
"type": "string",
|
|
743
|
+
"description": "Prefix to prepend to formatted values"
|
|
744
|
+
},
|
|
745
|
+
"compact": {
|
|
746
|
+
"type": "string",
|
|
747
|
+
"enum": [
|
|
748
|
+
"thousands",
|
|
749
|
+
"millions",
|
|
750
|
+
"billions",
|
|
751
|
+
"trillions",
|
|
752
|
+
"kilobytes",
|
|
753
|
+
"megabytes",
|
|
754
|
+
"gigabytes",
|
|
755
|
+
"terabytes",
|
|
756
|
+
"petabytes",
|
|
757
|
+
"kibibytes",
|
|
758
|
+
"mebibytes",
|
|
759
|
+
"gibibytes",
|
|
760
|
+
"tebibytes",
|
|
761
|
+
"pebibytes"
|
|
762
|
+
],
|
|
763
|
+
"description": "Compact format for large numbers (K, M, B, T) or byte units"
|
|
764
|
+
}
|
|
765
|
+
}
|
|
766
|
+
},
|
|
767
|
+
"label": {
|
|
768
|
+
"type": "string",
|
|
769
|
+
"description": "Custom label for the dimension"
|
|
770
|
+
},
|
|
771
|
+
"description": {
|
|
772
|
+
"type": "string",
|
|
773
|
+
"description": "Custom description for the dimension"
|
|
774
|
+
},
|
|
775
|
+
"uuid": {
|
|
776
|
+
"type": "string",
|
|
777
|
+
"description": "UUID of the dimension override"
|
|
778
|
+
}
|
|
779
|
+
}
|
|
780
|
+
}
|
|
781
|
+
},
|
|
782
|
+
"timezone": {
|
|
783
|
+
"type": "string",
|
|
784
|
+
"description": "Timezone for date/time values (e.g., 'America/Los_Angeles', 'UTC')"
|
|
794
785
|
}
|
|
795
786
|
}
|
|
796
787
|
},
|
|
@@ -810,12 +801,14 @@
|
|
|
810
801
|
"big_number",
|
|
811
802
|
"funnel",
|
|
812
803
|
"treemap",
|
|
804
|
+
"gauge",
|
|
805
|
+
"map",
|
|
813
806
|
"custom"
|
|
814
807
|
]
|
|
815
808
|
},
|
|
816
809
|
"config": {
|
|
817
810
|
"type": ["object", "null"],
|
|
818
|
-
"description": "Chart-specific configuration (varies by chart type)"
|
|
811
|
+
"description": "Chart-specific configuration (varies by chart type). See $defs/cartesianChart for cartesian chart structure."
|
|
819
812
|
}
|
|
820
813
|
}
|
|
821
814
|
},
|
|
@@ -847,5 +840,600 @@
|
|
|
847
840
|
}
|
|
848
841
|
}
|
|
849
842
|
}
|
|
843
|
+
},
|
|
844
|
+
"$defs": {
|
|
845
|
+
"filterGroup": {
|
|
846
|
+
"type": "object",
|
|
847
|
+
"description": "Filter group containing filters combined with AND/OR logic",
|
|
848
|
+
"additionalProperties": false,
|
|
849
|
+
"properties": {
|
|
850
|
+
"id": {
|
|
851
|
+
"type": "string",
|
|
852
|
+
"description": "Optional unique identifier for the filter group"
|
|
853
|
+
},
|
|
854
|
+
"and": {
|
|
855
|
+
"type": "array",
|
|
856
|
+
"description": "Array of filters or nested groups combined with AND logic",
|
|
857
|
+
"items": { "$ref": "#/$defs/filterItem" }
|
|
858
|
+
},
|
|
859
|
+
"or": {
|
|
860
|
+
"type": "array",
|
|
861
|
+
"description": "Array of filters or nested groups combined with OR logic",
|
|
862
|
+
"items": { "$ref": "#/$defs/filterItem" }
|
|
863
|
+
}
|
|
864
|
+
}
|
|
865
|
+
},
|
|
866
|
+
"filterItem": {
|
|
867
|
+
"description": "Either a filter rule or a nested filter group",
|
|
868
|
+
"oneOf": [
|
|
869
|
+
{ "$ref": "#/$defs/filterRule" },
|
|
870
|
+
{ "$ref": "#/$defs/filterGroup" }
|
|
871
|
+
]
|
|
872
|
+
},
|
|
873
|
+
"filterRule": {
|
|
874
|
+
"type": "object",
|
|
875
|
+
"description": "A single filter rule",
|
|
876
|
+
"additionalProperties": false,
|
|
877
|
+
"required": ["target", "operator"],
|
|
878
|
+
"properties": {
|
|
879
|
+
"id": {
|
|
880
|
+
"type": "string",
|
|
881
|
+
"description": "Optional unique identifier for the filter"
|
|
882
|
+
},
|
|
883
|
+
"target": {
|
|
884
|
+
"type": "object",
|
|
885
|
+
"additionalProperties": false,
|
|
886
|
+
"required": ["fieldId"],
|
|
887
|
+
"properties": {
|
|
888
|
+
"fieldId": {
|
|
889
|
+
"type": "string",
|
|
890
|
+
"description": "Field ID to filter on"
|
|
891
|
+
},
|
|
892
|
+
"tableName": {
|
|
893
|
+
"type": "string",
|
|
894
|
+
"description": "Table name the field belongs to"
|
|
895
|
+
},
|
|
896
|
+
"type": {
|
|
897
|
+
"type": "string",
|
|
898
|
+
"description": "Field type (e.g., 'string', 'number', 'date')"
|
|
899
|
+
},
|
|
900
|
+
"fieldFilterType": {
|
|
901
|
+
"type": "string",
|
|
902
|
+
"description": "Filter type hint (e.g., 'date' for date fields)"
|
|
903
|
+
}
|
|
904
|
+
}
|
|
905
|
+
},
|
|
906
|
+
"operator": {
|
|
907
|
+
"type": "string",
|
|
908
|
+
"description": "Filter operator",
|
|
909
|
+
"enum": [
|
|
910
|
+
"equals",
|
|
911
|
+
"notEquals",
|
|
912
|
+
"isNull",
|
|
913
|
+
"notNull",
|
|
914
|
+
"startsWith",
|
|
915
|
+
"endsWith",
|
|
916
|
+
"include",
|
|
917
|
+
"doesNotInclude",
|
|
918
|
+
"lessThan",
|
|
919
|
+
"lessThanOrEqual",
|
|
920
|
+
"greaterThan",
|
|
921
|
+
"greaterThanOrEqual",
|
|
922
|
+
"inThePast",
|
|
923
|
+
"notInThePast",
|
|
924
|
+
"inTheNext",
|
|
925
|
+
"inTheCurrent",
|
|
926
|
+
"notInTheCurrent",
|
|
927
|
+
"inBetween",
|
|
928
|
+
"notInBetween"
|
|
929
|
+
]
|
|
930
|
+
},
|
|
931
|
+
"values": {
|
|
932
|
+
"type": "array",
|
|
933
|
+
"description": "Values to filter by"
|
|
934
|
+
},
|
|
935
|
+
"required": {
|
|
936
|
+
"type": "boolean",
|
|
937
|
+
"description": "Whether this filter is required"
|
|
938
|
+
},
|
|
939
|
+
"settings": {
|
|
940
|
+
"type": "object",
|
|
941
|
+
"description": "Additional settings for date/time filters",
|
|
942
|
+
"additionalProperties": false,
|
|
943
|
+
"properties": {
|
|
944
|
+
"unitOfTime": {
|
|
945
|
+
"type": "string",
|
|
946
|
+
"enum": [
|
|
947
|
+
"milliseconds",
|
|
948
|
+
"seconds",
|
|
949
|
+
"minutes",
|
|
950
|
+
"hours",
|
|
951
|
+
"days",
|
|
952
|
+
"weeks",
|
|
953
|
+
"months",
|
|
954
|
+
"quarters",
|
|
955
|
+
"years"
|
|
956
|
+
],
|
|
957
|
+
"description": "Time unit for relative date filters"
|
|
958
|
+
},
|
|
959
|
+
"completed": {
|
|
960
|
+
"type": "boolean",
|
|
961
|
+
"description": "For date filters, whether to include completed periods"
|
|
962
|
+
}
|
|
963
|
+
}
|
|
964
|
+
},
|
|
965
|
+
"disabled": {
|
|
966
|
+
"type": "boolean",
|
|
967
|
+
"description": "Whether this filter is disabled"
|
|
968
|
+
},
|
|
969
|
+
"tileTargets": {
|
|
970
|
+
"type": "object",
|
|
971
|
+
"description": "Dashboard tile-specific filter targets (maps tile UUIDs to field IDs)"
|
|
972
|
+
}
|
|
973
|
+
}
|
|
974
|
+
},
|
|
975
|
+
"cartesianChart": {
|
|
976
|
+
"type": ["object", "null"],
|
|
977
|
+
"description": "Configuration for cartesian (line, bar, area, scatter) charts",
|
|
978
|
+
"additionalProperties": false,
|
|
979
|
+
"properties": {
|
|
980
|
+
"layout": {
|
|
981
|
+
"type": "object",
|
|
982
|
+
"description": "Layout configuration for the chart axes and orientation",
|
|
983
|
+
"additionalProperties": false,
|
|
984
|
+
"properties": {
|
|
985
|
+
"xField": {
|
|
986
|
+
"type": "string",
|
|
987
|
+
"description": "Field ID to use for the X axis"
|
|
988
|
+
},
|
|
989
|
+
"yField": {
|
|
990
|
+
"type": "array",
|
|
991
|
+
"description": "Field IDs to use for the Y axis",
|
|
992
|
+
"items": { "type": "string" }
|
|
993
|
+
},
|
|
994
|
+
"flipAxes": {
|
|
995
|
+
"type": "boolean",
|
|
996
|
+
"description": "Swap X and Y axes (creates horizontal bar charts)"
|
|
997
|
+
},
|
|
998
|
+
"showGridX": {
|
|
999
|
+
"type": "boolean",
|
|
1000
|
+
"description": "Show vertical grid lines"
|
|
1001
|
+
},
|
|
1002
|
+
"showGridY": {
|
|
1003
|
+
"type": "boolean",
|
|
1004
|
+
"description": "Show horizontal grid lines"
|
|
1005
|
+
},
|
|
1006
|
+
"showXAxis": {
|
|
1007
|
+
"type": "boolean",
|
|
1008
|
+
"description": "Show the X axis"
|
|
1009
|
+
},
|
|
1010
|
+
"showYAxis": {
|
|
1011
|
+
"type": "boolean",
|
|
1012
|
+
"description": "Show the Y axis"
|
|
1013
|
+
},
|
|
1014
|
+
"stack": {
|
|
1015
|
+
"type": ["boolean", "string"],
|
|
1016
|
+
"description": "Stack series together (true for default stacking, or string for stack group name)"
|
|
1017
|
+
}
|
|
1018
|
+
}
|
|
1019
|
+
},
|
|
1020
|
+
"eChartsConfig": {
|
|
1021
|
+
"type": "object",
|
|
1022
|
+
"description": "ECharts-specific configuration",
|
|
1023
|
+
"additionalProperties": false,
|
|
1024
|
+
"properties": {
|
|
1025
|
+
"legend": { "$ref": "#/$defs/echartsLegend" },
|
|
1026
|
+
"grid": { "$ref": "#/$defs/echartsGrid" },
|
|
1027
|
+
"series": {
|
|
1028
|
+
"type": "array",
|
|
1029
|
+
"description": "Chart series configuration",
|
|
1030
|
+
"items": { "$ref": "#/$defs/series" }
|
|
1031
|
+
},
|
|
1032
|
+
"xAxis": {
|
|
1033
|
+
"type": ["array", "null"],
|
|
1034
|
+
"description": "X axis configuration",
|
|
1035
|
+
"items": { "$ref": "#/$defs/xAxis" }
|
|
1036
|
+
},
|
|
1037
|
+
"yAxis": {
|
|
1038
|
+
"type": ["array", "null"],
|
|
1039
|
+
"description": "Y axis configuration",
|
|
1040
|
+
"items": { "$ref": "#/$defs/axis" }
|
|
1041
|
+
},
|
|
1042
|
+
"tooltip": {
|
|
1043
|
+
"type": "string",
|
|
1044
|
+
"description": "Tooltip formatter template"
|
|
1045
|
+
},
|
|
1046
|
+
"tooltipSort": {
|
|
1047
|
+
"type": "string",
|
|
1048
|
+
"description": "How to sort tooltip items",
|
|
1049
|
+
"enum": [
|
|
1050
|
+
"default",
|
|
1051
|
+
"alphabetical",
|
|
1052
|
+
"value_ascending",
|
|
1053
|
+
"value_descending"
|
|
1054
|
+
]
|
|
1055
|
+
},
|
|
1056
|
+
"showAxisTicks": {
|
|
1057
|
+
"type": "boolean",
|
|
1058
|
+
"description": "Show tick marks on axes"
|
|
1059
|
+
},
|
|
1060
|
+
"axisLabelFontSize": {
|
|
1061
|
+
"type": "number",
|
|
1062
|
+
"description": "Font size for axis labels"
|
|
1063
|
+
},
|
|
1064
|
+
"axisTitleFontSize": {
|
|
1065
|
+
"type": "number",
|
|
1066
|
+
"description": "Font size for axis titles"
|
|
1067
|
+
}
|
|
1068
|
+
}
|
|
1069
|
+
},
|
|
1070
|
+
"metadata": {
|
|
1071
|
+
"type": "object",
|
|
1072
|
+
"description": "Metadata for series (colors, etc.)",
|
|
1073
|
+
"additionalProperties": {
|
|
1074
|
+
"type": "object",
|
|
1075
|
+
"properties": {
|
|
1076
|
+
"color": { "type": "string" }
|
|
1077
|
+
}
|
|
1078
|
+
}
|
|
1079
|
+
}
|
|
1080
|
+
}
|
|
1081
|
+
},
|
|
1082
|
+
"echartsLegend": {
|
|
1083
|
+
"type": "object",
|
|
1084
|
+
"description": "Legend configuration",
|
|
1085
|
+
"additionalProperties": false,
|
|
1086
|
+
"properties": {
|
|
1087
|
+
"show": {
|
|
1088
|
+
"type": "boolean",
|
|
1089
|
+
"description": "Show the legend"
|
|
1090
|
+
},
|
|
1091
|
+
"type": {
|
|
1092
|
+
"type": "string",
|
|
1093
|
+
"enum": ["plain", "scroll"],
|
|
1094
|
+
"description": "Legend type (plain or scrollable)"
|
|
1095
|
+
},
|
|
1096
|
+
"orient": {
|
|
1097
|
+
"type": "string",
|
|
1098
|
+
"enum": ["horizontal", "vertical"],
|
|
1099
|
+
"description": "Legend orientation"
|
|
1100
|
+
},
|
|
1101
|
+
"top": { "type": "string", "description": "Top position" },
|
|
1102
|
+
"right": { "type": "string", "description": "Right position" },
|
|
1103
|
+
"bottom": {
|
|
1104
|
+
"type": "string",
|
|
1105
|
+
"description": "Bottom position"
|
|
1106
|
+
},
|
|
1107
|
+
"left": { "type": "string", "description": "Left position" },
|
|
1108
|
+
"width": { "type": "string", "description": "Legend width" },
|
|
1109
|
+
"height": { "type": "string", "description": "Legend height" },
|
|
1110
|
+
"align": {
|
|
1111
|
+
"type": "string",
|
|
1112
|
+
"enum": ["auto", "left", "right"],
|
|
1113
|
+
"description": "Legend alignment"
|
|
1114
|
+
},
|
|
1115
|
+
"icon": {
|
|
1116
|
+
"type": "string",
|
|
1117
|
+
"enum": [
|
|
1118
|
+
"circle",
|
|
1119
|
+
"rect",
|
|
1120
|
+
"roundRect",
|
|
1121
|
+
"triangle",
|
|
1122
|
+
"diamond",
|
|
1123
|
+
"pin",
|
|
1124
|
+
"arrow",
|
|
1125
|
+
"none"
|
|
1126
|
+
],
|
|
1127
|
+
"description": "Legend icon shape"
|
|
1128
|
+
}
|
|
1129
|
+
}
|
|
1130
|
+
},
|
|
1131
|
+
"echartsGrid": {
|
|
1132
|
+
"type": "object",
|
|
1133
|
+
"description": "Grid (chart area) configuration",
|
|
1134
|
+
"additionalProperties": false,
|
|
1135
|
+
"properties": {
|
|
1136
|
+
"containLabel": {
|
|
1137
|
+
"type": "boolean",
|
|
1138
|
+
"description": "Whether the grid area contains axis labels"
|
|
1139
|
+
},
|
|
1140
|
+
"top": { "type": "string", "description": "Top padding" },
|
|
1141
|
+
"right": { "type": "string", "description": "Right padding" },
|
|
1142
|
+
"bottom": { "type": "string", "description": "Bottom padding" },
|
|
1143
|
+
"left": { "type": "string", "description": "Left padding" },
|
|
1144
|
+
"width": { "type": "string", "description": "Grid width" },
|
|
1145
|
+
"height": { "type": "string", "description": "Grid height" }
|
|
1146
|
+
}
|
|
1147
|
+
},
|
|
1148
|
+
"axis": {
|
|
1149
|
+
"type": "object",
|
|
1150
|
+
"description": "Axis configuration",
|
|
1151
|
+
"additionalProperties": false,
|
|
1152
|
+
"properties": {
|
|
1153
|
+
"name": {
|
|
1154
|
+
"type": "string",
|
|
1155
|
+
"description": "Axis title"
|
|
1156
|
+
},
|
|
1157
|
+
"min": {
|
|
1158
|
+
"type": "string",
|
|
1159
|
+
"description": "Minimum value (or 'dataMin' for auto)"
|
|
1160
|
+
},
|
|
1161
|
+
"max": {
|
|
1162
|
+
"type": "string",
|
|
1163
|
+
"description": "Maximum value (or 'dataMax' for auto)"
|
|
1164
|
+
},
|
|
1165
|
+
"minOffset": {
|
|
1166
|
+
"type": "string",
|
|
1167
|
+
"description": "Offset from minimum value"
|
|
1168
|
+
},
|
|
1169
|
+
"maxOffset": {
|
|
1170
|
+
"type": "string",
|
|
1171
|
+
"description": "Offset from maximum value"
|
|
1172
|
+
},
|
|
1173
|
+
"inverse": {
|
|
1174
|
+
"type": "boolean",
|
|
1175
|
+
"description": "Reverse the axis direction"
|
|
1176
|
+
},
|
|
1177
|
+
"rotate": {
|
|
1178
|
+
"type": "number",
|
|
1179
|
+
"description": "Rotation angle for axis labels"
|
|
1180
|
+
}
|
|
1181
|
+
}
|
|
1182
|
+
},
|
|
1183
|
+
"xAxis": {
|
|
1184
|
+
"type": "object",
|
|
1185
|
+
"description": "X axis configuration (extends axis)",
|
|
1186
|
+
"additionalProperties": false,
|
|
1187
|
+
"properties": {
|
|
1188
|
+
"name": { "type": "string", "description": "Axis title" },
|
|
1189
|
+
"min": { "type": "string", "description": "Minimum value" },
|
|
1190
|
+
"max": { "type": "string", "description": "Maximum value" },
|
|
1191
|
+
"minOffset": {
|
|
1192
|
+
"type": "string",
|
|
1193
|
+
"description": "Offset from minimum"
|
|
1194
|
+
},
|
|
1195
|
+
"maxOffset": {
|
|
1196
|
+
"type": "string",
|
|
1197
|
+
"description": "Offset from maximum"
|
|
1198
|
+
},
|
|
1199
|
+
"inverse": {
|
|
1200
|
+
"type": "boolean",
|
|
1201
|
+
"description": "Reverse axis direction"
|
|
1202
|
+
},
|
|
1203
|
+
"rotate": {
|
|
1204
|
+
"type": "number",
|
|
1205
|
+
"description": "Label rotation angle"
|
|
1206
|
+
},
|
|
1207
|
+
"sortType": {
|
|
1208
|
+
"type": "string",
|
|
1209
|
+
"description": "How to sort the X axis",
|
|
1210
|
+
"enum": ["default", "category", "bar_totals"]
|
|
1211
|
+
},
|
|
1212
|
+
"enableDataZoom": {
|
|
1213
|
+
"type": "boolean",
|
|
1214
|
+
"description": "Enable data zoom slider for this axis"
|
|
1215
|
+
}
|
|
1216
|
+
}
|
|
1217
|
+
},
|
|
1218
|
+
"series": {
|
|
1219
|
+
"type": "object",
|
|
1220
|
+
"description": "Chart series configuration",
|
|
1221
|
+
"additionalProperties": false,
|
|
1222
|
+
"required": ["encode", "type"],
|
|
1223
|
+
"properties": {
|
|
1224
|
+
"encode": {
|
|
1225
|
+
"type": "object",
|
|
1226
|
+
"description": "Field references for this series",
|
|
1227
|
+
"additionalProperties": false,
|
|
1228
|
+
"required": ["xRef", "yRef"],
|
|
1229
|
+
"properties": {
|
|
1230
|
+
"xRef": { "$ref": "#/$defs/pivotReference" },
|
|
1231
|
+
"yRef": { "$ref": "#/$defs/pivotReference" },
|
|
1232
|
+
"x": {
|
|
1233
|
+
"type": "string",
|
|
1234
|
+
"description": "Hash of xRef (computed)"
|
|
1235
|
+
},
|
|
1236
|
+
"y": {
|
|
1237
|
+
"type": "string",
|
|
1238
|
+
"description": "Hash of yRef (computed)"
|
|
1239
|
+
}
|
|
1240
|
+
}
|
|
1241
|
+
},
|
|
1242
|
+
"type": {
|
|
1243
|
+
"type": "string",
|
|
1244
|
+
"description": "Series visualization type",
|
|
1245
|
+
"enum": ["line", "bar", "scatter", "area"]
|
|
1246
|
+
},
|
|
1247
|
+
"stack": {
|
|
1248
|
+
"type": "string",
|
|
1249
|
+
"description": "Stack group name (series with same stack name are stacked)"
|
|
1250
|
+
},
|
|
1251
|
+
"stackLabel": {
|
|
1252
|
+
"type": "object",
|
|
1253
|
+
"description": "Stack total label configuration",
|
|
1254
|
+
"additionalProperties": false,
|
|
1255
|
+
"properties": {
|
|
1256
|
+
"show": {
|
|
1257
|
+
"type": "boolean",
|
|
1258
|
+
"description": "Show stack total labels"
|
|
1259
|
+
}
|
|
1260
|
+
}
|
|
1261
|
+
},
|
|
1262
|
+
"name": {
|
|
1263
|
+
"type": "string",
|
|
1264
|
+
"description": "Display name for the series"
|
|
1265
|
+
},
|
|
1266
|
+
"color": {
|
|
1267
|
+
"type": "string",
|
|
1268
|
+
"description": "Color for the series (hex code)"
|
|
1269
|
+
},
|
|
1270
|
+
"yAxisIndex": {
|
|
1271
|
+
"type": "number",
|
|
1272
|
+
"description": "Index of Y axis to use (for dual Y axis charts)"
|
|
1273
|
+
},
|
|
1274
|
+
"label": {
|
|
1275
|
+
"type": "object",
|
|
1276
|
+
"description": "Data label configuration",
|
|
1277
|
+
"additionalProperties": false,
|
|
1278
|
+
"properties": {
|
|
1279
|
+
"show": {
|
|
1280
|
+
"type": "boolean",
|
|
1281
|
+
"description": "Show data labels on points"
|
|
1282
|
+
},
|
|
1283
|
+
"position": {
|
|
1284
|
+
"type": "string",
|
|
1285
|
+
"enum": [
|
|
1286
|
+
"left",
|
|
1287
|
+
"top",
|
|
1288
|
+
"right",
|
|
1289
|
+
"bottom",
|
|
1290
|
+
"inside"
|
|
1291
|
+
],
|
|
1292
|
+
"description": "Position of data labels"
|
|
1293
|
+
},
|
|
1294
|
+
"showOverlappingLabels": {
|
|
1295
|
+
"type": "boolean",
|
|
1296
|
+
"description": "Show labels even when they overlap"
|
|
1297
|
+
}
|
|
1298
|
+
}
|
|
1299
|
+
},
|
|
1300
|
+
"hidden": {
|
|
1301
|
+
"type": "boolean",
|
|
1302
|
+
"description": "Hide this series from the chart"
|
|
1303
|
+
},
|
|
1304
|
+
"areaStyle": {
|
|
1305
|
+
"type": "object",
|
|
1306
|
+
"description": "Area fill style (presence indicates area chart)"
|
|
1307
|
+
},
|
|
1308
|
+
"showSymbol": {
|
|
1309
|
+
"type": "boolean",
|
|
1310
|
+
"description": "Show symbols/markers on data points"
|
|
1311
|
+
},
|
|
1312
|
+
"smooth": {
|
|
1313
|
+
"type": "boolean",
|
|
1314
|
+
"description": "Use smooth curves for line/area charts"
|
|
1315
|
+
},
|
|
1316
|
+
"markLine": { "$ref": "#/$defs/markLine" },
|
|
1317
|
+
"isFilteredOut": {
|
|
1318
|
+
"type": "boolean",
|
|
1319
|
+
"description": "Whether this series is currently filtered out"
|
|
1320
|
+
}
|
|
1321
|
+
}
|
|
1322
|
+
},
|
|
1323
|
+
"pivotReference": {
|
|
1324
|
+
"type": "object",
|
|
1325
|
+
"description": "Reference to a field, optionally with pivot values",
|
|
1326
|
+
"additionalProperties": false,
|
|
1327
|
+
"required": ["field"],
|
|
1328
|
+
"properties": {
|
|
1329
|
+
"field": {
|
|
1330
|
+
"type": "string",
|
|
1331
|
+
"description": "Field ID being referenced"
|
|
1332
|
+
},
|
|
1333
|
+
"pivotValues": {
|
|
1334
|
+
"type": "array",
|
|
1335
|
+
"description": "Pivot values for this reference (for pivoted data)",
|
|
1336
|
+
"items": {
|
|
1337
|
+
"type": "object",
|
|
1338
|
+
"additionalProperties": false,
|
|
1339
|
+
"required": ["field", "value"],
|
|
1340
|
+
"properties": {
|
|
1341
|
+
"field": {
|
|
1342
|
+
"type": "string",
|
|
1343
|
+
"description": "Pivot field ID"
|
|
1344
|
+
},
|
|
1345
|
+
"value": {
|
|
1346
|
+
"description": "Pivot value"
|
|
1347
|
+
}
|
|
1348
|
+
}
|
|
1349
|
+
}
|
|
1350
|
+
}
|
|
1351
|
+
}
|
|
1352
|
+
},
|
|
1353
|
+
"markLine": {
|
|
1354
|
+
"type": "object",
|
|
1355
|
+
"description": "Reference line configuration",
|
|
1356
|
+
"additionalProperties": false,
|
|
1357
|
+
"properties": {
|
|
1358
|
+
"data": {
|
|
1359
|
+
"type": "array",
|
|
1360
|
+
"description": "Reference line data points",
|
|
1361
|
+
"items": {
|
|
1362
|
+
"type": "object",
|
|
1363
|
+
"additionalProperties": false,
|
|
1364
|
+
"required": ["uuid"],
|
|
1365
|
+
"properties": {
|
|
1366
|
+
"yAxis": {
|
|
1367
|
+
"type": "string",
|
|
1368
|
+
"description": "Y axis value for horizontal line"
|
|
1369
|
+
},
|
|
1370
|
+
"xAxis": {
|
|
1371
|
+
"type": "string",
|
|
1372
|
+
"description": "X axis value for vertical line"
|
|
1373
|
+
},
|
|
1374
|
+
"name": {
|
|
1375
|
+
"type": "string",
|
|
1376
|
+
"description": "Name of the reference line"
|
|
1377
|
+
},
|
|
1378
|
+
"value": {
|
|
1379
|
+
"type": "string",
|
|
1380
|
+
"description": "Value to display"
|
|
1381
|
+
},
|
|
1382
|
+
"type": {
|
|
1383
|
+
"type": "string",
|
|
1384
|
+
"description": "Point type (e.g., 'average')"
|
|
1385
|
+
},
|
|
1386
|
+
"uuid": {
|
|
1387
|
+
"type": "string",
|
|
1388
|
+
"description": "Unique identifier for this mark line"
|
|
1389
|
+
},
|
|
1390
|
+
"lineStyle": {
|
|
1391
|
+
"type": "object",
|
|
1392
|
+
"additionalProperties": false,
|
|
1393
|
+
"properties": {
|
|
1394
|
+
"color": { "type": "string" }
|
|
1395
|
+
}
|
|
1396
|
+
},
|
|
1397
|
+
"label": {
|
|
1398
|
+
"type": "object",
|
|
1399
|
+
"additionalProperties": false,
|
|
1400
|
+
"properties": {
|
|
1401
|
+
"formatter": { "type": "string" },
|
|
1402
|
+
"position": {
|
|
1403
|
+
"type": "string",
|
|
1404
|
+
"enum": ["start", "middle", "end"]
|
|
1405
|
+
}
|
|
1406
|
+
}
|
|
1407
|
+
},
|
|
1408
|
+
"dynamicValue": {
|
|
1409
|
+
"type": "string",
|
|
1410
|
+
"enum": ["average"],
|
|
1411
|
+
"description": "Dynamic value type"
|
|
1412
|
+
}
|
|
1413
|
+
}
|
|
1414
|
+
}
|
|
1415
|
+
},
|
|
1416
|
+
"symbol": {
|
|
1417
|
+
"type": "string",
|
|
1418
|
+
"description": "Symbol at line endpoints"
|
|
1419
|
+
},
|
|
1420
|
+
"lineStyle": {
|
|
1421
|
+
"type": "object",
|
|
1422
|
+
"additionalProperties": false,
|
|
1423
|
+
"properties": {
|
|
1424
|
+
"color": { "type": "string" },
|
|
1425
|
+
"width": { "type": "number" },
|
|
1426
|
+
"type": { "type": "string" }
|
|
1427
|
+
}
|
|
1428
|
+
},
|
|
1429
|
+
"label": {
|
|
1430
|
+
"type": "object",
|
|
1431
|
+
"additionalProperties": false,
|
|
1432
|
+
"properties": {
|
|
1433
|
+
"formatter": { "type": "string" }
|
|
1434
|
+
}
|
|
1435
|
+
}
|
|
1436
|
+
}
|
|
1437
|
+
}
|
|
850
1438
|
}
|
|
851
1439
|
}
|