@lightdash/common 0.1987.3 → 0.1989.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.
- package/dist/cjs/pivot/derivePivotConfigFromChart.d.ts.map +1 -1
- package/dist/cjs/pivot/derivePivotConfigFromChart.js +40 -8
- package/dist/cjs/pivot/derivePivotConfigFromChart.js.map +1 -1
- package/dist/esm/pivot/derivePivotConfigFromChart.d.ts.map +1 -1
- package/dist/esm/pivot/derivePivotConfigFromChart.js +40 -8
- package/dist/esm/pivot/derivePivotConfigFromChart.js.map +1 -1
- package/dist/tsconfig.types.tsbuildinfo +1 -1
- package/dist/types/pivot/derivePivotConfigFromChart.d.ts.map +1 -1
- package/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"derivePivotConfigFromChart.d.ts","sourceRoot":"","sources":["../../../src/pivot/derivePivotConfigFromChart.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAKH,KAAK,QAAQ,EAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,OAAO,EAGH,KAAK,aAAa,EACrB,MAAM,sBAAsB,CAAC;
|
1
|
+
{"version":3,"file":"derivePivotConfigFromChart.d.ts","sourceRoot":"","sources":["../../../src/pivot/derivePivotConfigFromChart.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAKH,KAAK,QAAQ,EAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,OAAO,EAGH,KAAK,aAAa,EACrB,MAAM,sBAAsB,CAAC;AAsO9B,wBAAgB,iCAAiC,CAC7C,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE,aAAa,GAAG,aAAa,CAAC,EAC9D,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,QAAQ,GACjB,kBAAkB,GAAG,SAAS,CAqChC"}
|
@@ -76,9 +76,11 @@ function getTablePivotConfiguration(savedChart, metricQuery, fields) {
|
|
76
76
|
aggregation: types_1.VizAggregationOptions.ANY,
|
77
77
|
}));
|
78
78
|
// Group by columns are the pivot dimensions
|
79
|
-
const groupByColumns = pivotColumns
|
79
|
+
const groupByColumns = pivotColumns
|
80
|
+
.map((col) => ({
|
80
81
|
reference: col,
|
81
|
-
}))
|
82
|
+
}))
|
83
|
+
.filter((col) => metricQuery.dimensions.includes(col.reference));
|
82
84
|
const partialPivotConfiguration = {
|
83
85
|
indexColumn,
|
84
86
|
valuesColumns,
|
@@ -100,10 +102,12 @@ function getCartesianPivotConfiguration(savedChart, metricQuery, fields) {
|
|
100
102
|
}
|
101
103
|
const { layout: { xField, yField }, } = chartConfig.config;
|
102
104
|
if (pivotConfig?.columns && xField && yField) {
|
103
|
-
// Extract pivot columns
|
104
|
-
const groupByColumns = pivotConfig.columns
|
105
|
+
// Extract and validate pivot columns
|
106
|
+
const groupByColumns = pivotConfig.columns
|
107
|
+
.map((pv) => ({
|
105
108
|
reference: pv,
|
106
|
-
}))
|
109
|
+
}))
|
110
|
+
.filter((col) => metricQuery.dimensions.includes(col.reference));
|
107
111
|
// Extract value columns
|
108
112
|
const valuesColumns = yField.map((yf) => ({
|
109
113
|
reference: yf,
|
@@ -140,22 +144,50 @@ function getCartesianPivotConfiguration(savedChart, metricQuery, fields) {
|
|
140
144
|
}
|
141
145
|
return undefined;
|
142
146
|
}
|
147
|
+
function isValid(pivotConfiguration) {
|
148
|
+
const { groupByColumns, indexColumn } = pivotConfiguration;
|
149
|
+
const indexColumns = (0, utils_1.normalizeIndexColumns)(indexColumn);
|
150
|
+
if (indexColumns.length === 0) {
|
151
|
+
return false;
|
152
|
+
}
|
153
|
+
if (!groupByColumns || groupByColumns.length === 0) {
|
154
|
+
return false;
|
155
|
+
}
|
156
|
+
// Validate that no groupBy column is also part of the index columns
|
157
|
+
const indexRefs = new Set(indexColumns.map((c) => c.reference));
|
158
|
+
const overlapping = groupByColumns
|
159
|
+
.map((c) => c.reference)
|
160
|
+
.filter((ref) => indexRefs.has(ref));
|
161
|
+
if (overlapping.length > 0) {
|
162
|
+
return false;
|
163
|
+
}
|
164
|
+
return true;
|
165
|
+
}
|
143
166
|
function derivePivotConfigurationFromChart(savedChart, metricQuery, fields) {
|
144
167
|
const { chartConfig } = savedChart;
|
145
168
|
const { type } = chartConfig;
|
169
|
+
let newConfig;
|
146
170
|
switch (type) {
|
147
171
|
case savedCharts_1.ChartType.TABLE:
|
148
|
-
|
172
|
+
newConfig = getTablePivotConfiguration(savedChart, metricQuery, fields);
|
173
|
+
break;
|
149
174
|
case savedCharts_1.ChartType.CARTESIAN:
|
150
|
-
|
175
|
+
newConfig = getCartesianPivotConfiguration(savedChart, metricQuery, fields);
|
176
|
+
break;
|
151
177
|
case savedCharts_1.ChartType.PIE:
|
152
178
|
case savedCharts_1.ChartType.FUNNEL:
|
153
179
|
case savedCharts_1.ChartType.TREEMAP:
|
154
180
|
case savedCharts_1.ChartType.CUSTOM:
|
155
181
|
case savedCharts_1.ChartType.BIG_NUMBER:
|
156
|
-
|
182
|
+
newConfig = undefined;
|
183
|
+
break;
|
157
184
|
default:
|
158
185
|
return (0, assertUnreachable_1.default)(type, `Unknown chart type ${type}`);
|
159
186
|
}
|
187
|
+
// Validate pivot configuration
|
188
|
+
if (newConfig && isValid(newConfig)) {
|
189
|
+
return newConfig;
|
190
|
+
}
|
191
|
+
return undefined;
|
160
192
|
}
|
161
193
|
//# sourceMappingURL=derivePivotConfigFromChart.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"derivePivotConfigFromChart.js","sourceRoot":"","sources":["../../../src/pivot/derivePivotConfigFromChart.ts"],"names":[],"mappings":";;
|
1
|
+
{"version":3,"file":"derivePivotConfigFromChart.js","sourceRoot":"","sources":["../../../src/pivot/derivePivotConfigFromChart.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"derivePivotConfigFromChart.d.ts","sourceRoot":"","sources":["../../../src/pivot/derivePivotConfigFromChart.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAKH,KAAK,QAAQ,EAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,OAAO,EAGH,KAAK,aAAa,EACrB,MAAM,sBAAsB,CAAC;
|
1
|
+
{"version":3,"file":"derivePivotConfigFromChart.d.ts","sourceRoot":"","sources":["../../../src/pivot/derivePivotConfigFromChart.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAKH,KAAK,QAAQ,EAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,OAAO,EAGH,KAAK,aAAa,EACrB,MAAM,sBAAsB,CAAC;AAsO9B,wBAAgB,iCAAiC,CAC7C,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE,aAAa,GAAG,aAAa,CAAC,EAC9D,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,QAAQ,GACjB,kBAAkB,GAAG,SAAS,CAqChC"}
|
@@ -72,9 +72,11 @@ function getTablePivotConfiguration(savedChart, metricQuery, fields) {
|
|
72
72
|
aggregation: VizAggregationOptions.ANY,
|
73
73
|
}));
|
74
74
|
// Group by columns are the pivot dimensions
|
75
|
-
const groupByColumns = pivotColumns
|
75
|
+
const groupByColumns = pivotColumns
|
76
|
+
.map((col) => ({
|
76
77
|
reference: col,
|
77
|
-
}))
|
78
|
+
}))
|
79
|
+
.filter((col) => metricQuery.dimensions.includes(col.reference));
|
78
80
|
const partialPivotConfiguration = {
|
79
81
|
indexColumn,
|
80
82
|
valuesColumns,
|
@@ -96,10 +98,12 @@ function getCartesianPivotConfiguration(savedChart, metricQuery, fields) {
|
|
96
98
|
}
|
97
99
|
const { layout: { xField, yField }, } = chartConfig.config;
|
98
100
|
if (pivotConfig?.columns && xField && yField) {
|
99
|
-
// Extract pivot columns
|
100
|
-
const groupByColumns = pivotConfig.columns
|
101
|
+
// Extract and validate pivot columns
|
102
|
+
const groupByColumns = pivotConfig.columns
|
103
|
+
.map((pv) => ({
|
101
104
|
reference: pv,
|
102
|
-
}))
|
105
|
+
}))
|
106
|
+
.filter((col) => metricQuery.dimensions.includes(col.reference));
|
103
107
|
// Extract value columns
|
104
108
|
const valuesColumns = yField.map((yf) => ({
|
105
109
|
reference: yf,
|
@@ -136,22 +140,50 @@ function getCartesianPivotConfiguration(savedChart, metricQuery, fields) {
|
|
136
140
|
}
|
137
141
|
return undefined;
|
138
142
|
}
|
143
|
+
function isValid(pivotConfiguration) {
|
144
|
+
const { groupByColumns, indexColumn } = pivotConfiguration;
|
145
|
+
const indexColumns = normalizeIndexColumns(indexColumn);
|
146
|
+
if (indexColumns.length === 0) {
|
147
|
+
return false;
|
148
|
+
}
|
149
|
+
if (!groupByColumns || groupByColumns.length === 0) {
|
150
|
+
return false;
|
151
|
+
}
|
152
|
+
// Validate that no groupBy column is also part of the index columns
|
153
|
+
const indexRefs = new Set(indexColumns.map((c) => c.reference));
|
154
|
+
const overlapping = groupByColumns
|
155
|
+
.map((c) => c.reference)
|
156
|
+
.filter((ref) => indexRefs.has(ref));
|
157
|
+
if (overlapping.length > 0) {
|
158
|
+
return false;
|
159
|
+
}
|
160
|
+
return true;
|
161
|
+
}
|
139
162
|
export function derivePivotConfigurationFromChart(savedChart, metricQuery, fields) {
|
140
163
|
const { chartConfig } = savedChart;
|
141
164
|
const { type } = chartConfig;
|
165
|
+
let newConfig;
|
142
166
|
switch (type) {
|
143
167
|
case ChartType.TABLE:
|
144
|
-
|
168
|
+
newConfig = getTablePivotConfiguration(savedChart, metricQuery, fields);
|
169
|
+
break;
|
145
170
|
case ChartType.CARTESIAN:
|
146
|
-
|
171
|
+
newConfig = getCartesianPivotConfiguration(savedChart, metricQuery, fields);
|
172
|
+
break;
|
147
173
|
case ChartType.PIE:
|
148
174
|
case ChartType.FUNNEL:
|
149
175
|
case ChartType.TREEMAP:
|
150
176
|
case ChartType.CUSTOM:
|
151
177
|
case ChartType.BIG_NUMBER:
|
152
|
-
|
178
|
+
newConfig = undefined;
|
179
|
+
break;
|
153
180
|
default:
|
154
181
|
return assertUnreachable(type, `Unknown chart type ${type}`);
|
155
182
|
}
|
183
|
+
// Validate pivot configuration
|
184
|
+
if (newConfig && isValid(newConfig)) {
|
185
|
+
return newConfig;
|
186
|
+
}
|
187
|
+
return undefined;
|
156
188
|
}
|
157
189
|
//# sourceMappingURL=derivePivotConfigFromChart.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"derivePivotConfigFromChart.js","sourceRoot":"","sources":["../../../src/pivot/derivePivotConfigFromChart.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"derivePivotConfigFromChart.js","sourceRoot":"","sources":["../../../src/pivot/derivePivotConfigFromChart.ts"],"names":[],"mappings":"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"}
|