@lightdash/common 0.1975.0 → 0.1976.1

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 (29) hide show
  1. package/dist/cjs/pivot/derivePivotConfigFromChart.d.ts.map +1 -1
  2. package/dist/cjs/pivot/derivePivotConfigFromChart.js +34 -42
  3. package/dist/cjs/pivot/derivePivotConfigFromChart.js.map +1 -1
  4. package/dist/cjs/pivot/derivePivotConfigFromChart.mock.d.ts +7 -0
  5. package/dist/cjs/pivot/derivePivotConfigFromChart.mock.d.ts.map +1 -0
  6. package/dist/cjs/pivot/derivePivotConfigFromChart.mock.js +82 -0
  7. package/dist/cjs/pivot/derivePivotConfigFromChart.mock.js.map +1 -0
  8. package/dist/cjs/pivot/derivePivotConfigFromChart.test.d.ts +2 -0
  9. package/dist/cjs/pivot/derivePivotConfigFromChart.test.d.ts.map +1 -0
  10. package/dist/cjs/pivot/derivePivotConfigFromChart.test.js +120 -0
  11. package/dist/cjs/pivot/derivePivotConfigFromChart.test.js.map +1 -0
  12. package/dist/esm/pivot/derivePivotConfigFromChart.d.ts.map +1 -1
  13. package/dist/esm/pivot/derivePivotConfigFromChart.js +31 -39
  14. package/dist/esm/pivot/derivePivotConfigFromChart.js.map +1 -1
  15. package/dist/esm/pivot/derivePivotConfigFromChart.mock.d.ts +7 -0
  16. package/dist/esm/pivot/derivePivotConfigFromChart.mock.d.ts.map +1 -0
  17. package/dist/esm/pivot/derivePivotConfigFromChart.mock.js +79 -0
  18. package/dist/esm/pivot/derivePivotConfigFromChart.mock.js.map +1 -0
  19. package/dist/esm/pivot/derivePivotConfigFromChart.test.d.ts +2 -0
  20. package/dist/esm/pivot/derivePivotConfigFromChart.test.d.ts.map +1 -0
  21. package/dist/esm/pivot/derivePivotConfigFromChart.test.js +118 -0
  22. package/dist/esm/pivot/derivePivotConfigFromChart.test.js.map +1 -0
  23. package/dist/tsconfig.types.tsbuildinfo +1 -1
  24. package/dist/types/pivot/derivePivotConfigFromChart.d.ts.map +1 -1
  25. package/dist/types/pivot/derivePivotConfigFromChart.mock.d.ts +7 -0
  26. package/dist/types/pivot/derivePivotConfigFromChart.mock.d.ts.map +1 -0
  27. package/dist/types/pivot/derivePivotConfigFromChart.test.d.ts +2 -0
  28. package/dist/types/pivot/derivePivotConfigFromChart.test.d.ts.map +1 -0
  29. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"derivePivotConfigFromChart.d.ts","sourceRoot":"","sources":["../../../src/pivot/derivePivotConfigFromChart.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAe,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,OAAO,EAIH,KAAK,aAAa,EAErB,MAAM,sBAAsB,CAAC;AAiM9B,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,CAsBhC"}
1
+ {"version":3,"file":"derivePivotConfigFromChart.d.ts","sourceRoot":"","sources":["../../../src/pivot/derivePivotConfigFromChart.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAe,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC5D,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;AAoL9B,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,CAsBhC"}
@@ -1,12 +1,11 @@
1
1
  "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.derivePivotConfigurationFromChart = derivePivotConfigurationFromChart;
4
+ const tslib_1 = require("tslib");
2
5
  /**
3
6
  * Derives pivot configuration from a saved chart's configuration and metric query
4
7
  * This enables consistent pivoting across all chart types
5
8
  */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.derivePivotConfigurationFromChart = derivePivotConfigurationFromChart;
8
- const tslib_1 = require("tslib");
9
- const lodash_1 = require("lodash");
10
9
  const field_1 = require("../types/field");
11
10
  const savedCharts_1 = require("../types/savedCharts");
12
11
  const assertUnreachable_1 = tslib_1.__importDefault(require("../utils/assertUnreachable"));
@@ -80,51 +79,44 @@ function getTablePivotConfiguration(savedChart, metricQuery, fields) {
80
79
  return pivotConfiguration;
81
80
  }
82
81
  function getCartesianPivotConfiguration(savedChart, metricQuery, fields) {
83
- const { chartConfig } = savedChart;
82
+ const { chartConfig, pivotConfig } = savedChart;
84
83
  if (chartConfig.type !== savedCharts_1.ChartType.CARTESIAN) {
85
84
  throw new Error('Chart is not a Cartesian chart');
86
85
  }
87
86
  if (!(0, savedCharts_1.isCartesianChartConfig)(chartConfig.config)) {
88
87
  throw new Error('Invalid cartesian chart config - no eCharts config');
89
88
  }
90
- const { eChartsConfig } = chartConfig.config;
91
- const series = eChartsConfig?.series;
92
- const firstSeries = series?.[0];
93
- if (firstSeries && firstSeries.encode.yRef.pivotValues?.length) {
94
- // Extract pivot configuration from the first series
95
- const { yRef, xRef } = firstSeries.encode;
96
- if (yRef.pivotValues) {
97
- // Extract unique group by columns from pivot values
98
- const groupByColumns = yRef.pivotValues.map((pv) => ({
99
- reference: pv.field,
100
- }));
101
- // Extract value columns
102
- const valuesColumns = (0, lodash_1.uniqBy)(series, 'encode.yRef.field').map((s) => ({
103
- reference: s.encode.yRef.field,
104
- aggregation: types_1.VizAggregationOptions.ANY,
105
- }));
106
- const xAxisDimension = fields[xRef.field];
107
- let xAxisType;
108
- if (xAxisDimension && (0, field_1.isDimension)(xAxisDimension)) {
109
- xAxisType = (0, types_1.getColumnAxisType)(xAxisDimension.type);
110
- }
111
- const indexColumn = xAxisType
112
- ? {
113
- reference: xRef.field,
114
- type: xAxisType,
115
- }
116
- : undefined;
117
- const partialPivotConfiguration = {
118
- indexColumn,
119
- valuesColumns,
120
- groupByColumns,
121
- };
122
- const pivotConfiguration = {
123
- ...partialPivotConfiguration,
124
- sortBy: getSortByForPivotConfiguration(partialPivotConfiguration, metricQuery),
125
- };
126
- return pivotConfiguration;
89
+ const { layout: { xField, yField }, } = chartConfig.config;
90
+ if (pivotConfig?.columns && xField && yField) {
91
+ // Extract pivot columns
92
+ const groupByColumns = pivotConfig.columns.map((pv) => ({
93
+ reference: pv,
94
+ }));
95
+ // Extract value columns
96
+ const valuesColumns = yField.map((yf) => ({
97
+ reference: yf,
98
+ aggregation: types_1.VizAggregationOptions.ANY,
99
+ }));
100
+ const xAxisDimension = fields[xField];
101
+ let xAxisType;
102
+ if (xAxisDimension && (0, field_1.isDimension)(xAxisDimension)) {
103
+ xAxisType = (0, types_1.getColumnAxisType)(xAxisDimension.type);
127
104
  }
105
+ const indexColumn = xAxisType
106
+ ? {
107
+ reference: xField,
108
+ type: xAxisType,
109
+ }
110
+ : undefined;
111
+ const partialPivotConfiguration = {
112
+ indexColumn,
113
+ valuesColumns,
114
+ groupByColumns,
115
+ };
116
+ return {
117
+ ...partialPivotConfiguration,
118
+ sortBy: getSortByForPivotConfiguration(partialPivotConfiguration, metricQuery),
119
+ };
128
120
  }
129
121
  return undefined;
130
122
  }
@@ -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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"}
@@ -0,0 +1,7 @@
1
+ import { type ItemsMap } from '../types/field';
2
+ import { type MetricQuery } from '../types/metricQuery';
3
+ import { type CartesianChartConfig } from '../types/savedCharts';
4
+ export declare const mockItems: ItemsMap;
5
+ export declare const mockMetricQuery: MetricQuery;
6
+ export declare const mockCartesianChartConfig: CartesianChartConfig;
7
+ //# sourceMappingURL=derivePivotConfigFromChart.mock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"derivePivotConfigFromChart.mock.d.ts","sourceRoot":"","sources":["../../../src/pivot/derivePivotConfigFromChart.mock.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,KAAK,QAAQ,EAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAa,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAG5E,eAAO,MAAM,SAAS,EAAE,QA+CvB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,WAe7B,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,oBAWtC,CAAC"}
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mockCartesianChartConfig = exports.mockMetricQuery = exports.mockItems = void 0;
4
+ const field_1 = require("../types/field");
5
+ const savedCharts_1 = require("../types/savedCharts");
6
+ // Items (fields) map derived from issue description
7
+ exports.mockItems = {
8
+ payments_payment_method: {
9
+ sql: '${TABLE}.payment_method',
10
+ name: 'payment_method',
11
+ type: field_1.DimensionType.STRING,
12
+ index: 2,
13
+ label: 'Payment method',
14
+ table: 'payments',
15
+ groups: [],
16
+ hidden: false,
17
+ fieldType: field_1.FieldType.DIMENSION,
18
+ tableLabel: 'Payments',
19
+ description: 'Method of payment used, for example credit card',
20
+ },
21
+ orders_status: {
22
+ sql: '${TABLE}.status',
23
+ name: 'status',
24
+ type: field_1.DimensionType.STRING,
25
+ index: 4,
26
+ label: 'Status',
27
+ table: 'orders',
28
+ groups: [],
29
+ hidden: false,
30
+ fieldType: field_1.FieldType.DIMENSION,
31
+ tableLabel: 'Orders',
32
+ description: '# Order Status\n\nOrders can be one of the following statuses:\n\n| status | description |\n| -------------- | ---------------------------------------------------------------------------------------------------------------------- |\n| placed | The order has been placed but has not yet left the warehouse |\n| shipped | The order has ben shipped to the customer and is currently in transit |\n| completed | The order has been received by the customer |\n| return_pending | The customer has indicated that they would like to return the order, but it has not yet been received at the warehouse |\n| returned | The order has been returned by the customer and received at the warehouse |',
33
+ },
34
+ payments_total_revenue: {
35
+ sql: '${TABLE}.amount',
36
+ name: 'total_revenue',
37
+ type: field_1.MetricType.SUM,
38
+ index: 1,
39
+ label: 'Total revenue',
40
+ table: 'payments',
41
+ groups: [],
42
+ hidden: false,
43
+ filters: [],
44
+ fieldType: field_1.FieldType.METRIC,
45
+ spotlight: {
46
+ categories: [],
47
+ visibility: 'show',
48
+ },
49
+ tableLabel: 'Payments',
50
+ description: 'Sum of all payments',
51
+ dimensionReference: 'payments_amount',
52
+ },
53
+ };
54
+ exports.mockMetricQuery = {
55
+ exploreName: 'payments',
56
+ dimensions: ['payments_payment_method', 'orders_status'],
57
+ metrics: ['payments_total_revenue'],
58
+ filters: {},
59
+ sorts: [
60
+ {
61
+ fieldId: 'payments_payment_method',
62
+ descending: false,
63
+ },
64
+ ],
65
+ limit: 500,
66
+ tableCalculations: [],
67
+ additionalMetrics: [],
68
+ metricOverrides: {},
69
+ };
70
+ exports.mockCartesianChartConfig = {
71
+ type: savedCharts_1.ChartType.CARTESIAN,
72
+ config: {
73
+ layout: {
74
+ xField: 'payments_payment_method',
75
+ yField: ['payments_total_revenue'],
76
+ },
77
+ eChartsConfig: {
78
+ series: [],
79
+ },
80
+ },
81
+ };
82
+ //# sourceMappingURL=derivePivotConfigFromChart.mock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"derivePivotConfigFromChart.mock.js","sourceRoot":"","sources":["../../../src/pivot/derivePivotConfigFromChart.mock.ts"],"names":[],"mappings":";;;AAAA,0CAKwB;AAExB,sDAA4E;AAE5E,oDAAoD;AACvC,QAAA,SAAS,GAAa;IAC/B,uBAAuB,EAAE;QACrB,GAAG,EAAE,yBAAyB;QAC9B,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,qBAAa,CAAC,MAAM;QAC1B,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,gBAAgB;QACvB,KAAK,EAAE,UAAU;QACjB,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,iBAAS,CAAC,SAAS;QAC9B,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,iDAAiD;KACjE;IACD,aAAa,EAAE;QACX,GAAG,EAAE,iBAAiB;QACtB,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,qBAAa,CAAC,MAAM;QAC1B,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,iBAAS,CAAC,SAAS;QAC9B,UAAU,EAAE,QAAQ;QACpB,WAAW,EACP,6hCAA6hC;KACpiC;IACD,sBAAsB,EAAE;QACpB,GAAG,EAAE,iBAAiB;QACtB,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,kBAAU,CAAC,GAAG;QACpB,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,eAAe;QACtB,KAAK,EAAE,UAAU;QACjB,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,iBAAS,CAAC,MAAM;QAC3B,SAAS,EAAE;YACP,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,MAAM;SACrB;QACD,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,qBAAqB;QAClC,kBAAkB,EAAE,iBAAiB;KACxC;CACJ,CAAC;AAEW,QAAA,eAAe,GAAgB;IACxC,WAAW,EAAE,UAAU;IACvB,UAAU,EAAE,CAAC,yBAAyB,EAAE,eAAe,CAAC;IACxD,OAAO,EAAE,CAAC,wBAAwB,CAAC;IACnC,OAAO,EAAE,EAAE;IACX,KAAK,EAAE;QACH;YACI,OAAO,EAAE,yBAAyB;YAClC,UAAU,EAAE,KAAK;SACpB;KACJ;IACD,KAAK,EAAE,GAAG;IACV,iBAAiB,EAAE,EAAE;IACrB,iBAAiB,EAAE,EAAE;IACrB,eAAe,EAAE,EAAE;CACtB,CAAC;AAEW,QAAA,wBAAwB,GAAyB;IAC1D,IAAI,EAAE,uBAAS,CAAC,SAAS;IACzB,MAAM,EAAE;QACJ,MAAM,EAAE;YACJ,MAAM,EAAE,yBAAyB;YACjC,MAAM,EAAE,CAAC,wBAAwB,CAAC;SACrC;QACD,aAAa,EAAE;YACX,MAAM,EAAE,EAAE;SACb;KACJ;CACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=derivePivotConfigFromChart.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"derivePivotConfigFromChart.test.d.ts","sourceRoot":"","sources":["../../../src/pivot/derivePivotConfigFromChart.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const savedCharts_1 = require("../types/savedCharts");
4
+ const types_1 = require("../visualizations/types");
5
+ const derivePivotConfigFromChart_1 = require("./derivePivotConfigFromChart");
6
+ const derivePivotConfigFromChart_mock_1 = require("./derivePivotConfigFromChart.mock");
7
+ // Jest provides describe/it/expect globals
8
+ describe('derivePivotConfigurationFromChart', () => {
9
+ it('derives pivot configuration for Cartesian charts with pivot config', () => {
10
+ const savedChart = {
11
+ chartConfig: derivePivotConfigFromChart_mock_1.mockCartesianChartConfig,
12
+ pivotConfig: {
13
+ columns: ['orders_status'],
14
+ },
15
+ };
16
+ const result = (0, derivePivotConfigFromChart_1.derivePivotConfigurationFromChart)(savedChart, derivePivotConfigFromChart_mock_1.mockMetricQuery, derivePivotConfigFromChart_mock_1.mockItems);
17
+ expect(result).toEqual({
18
+ indexColumn: {
19
+ reference: 'payments_payment_method',
20
+ type: types_1.VizIndexType.CATEGORY,
21
+ },
22
+ valuesColumns: [
23
+ {
24
+ reference: 'payments_total_revenue',
25
+ aggregation: types_1.VizAggregationOptions.ANY,
26
+ },
27
+ ],
28
+ groupByColumns: [{ reference: 'orders_status' }],
29
+ sortBy: [
30
+ {
31
+ reference: 'payments_payment_method',
32
+ direction: types_1.SortByDirection.ASC,
33
+ },
34
+ ],
35
+ });
36
+ });
37
+ it('returns undefined for Cartesian charts without pivot config', () => {
38
+ const savedChart = {
39
+ chartConfig: derivePivotConfigFromChart_mock_1.mockCartesianChartConfig,
40
+ pivotConfig: undefined,
41
+ };
42
+ const result = (0, derivePivotConfigFromChart_1.derivePivotConfigurationFromChart)(savedChart, derivePivotConfigFromChart_mock_1.mockMetricQuery, derivePivotConfigFromChart_mock_1.mockItems);
43
+ expect(result).toBeUndefined();
44
+ });
45
+ it('derives pivot configuration for Table charts with pivot config', () => {
46
+ const tableChartConfig = {
47
+ type: savedCharts_1.ChartType.TABLE,
48
+ config: {},
49
+ };
50
+ // Pivot on payments_payment_method so orders_status becomes index column
51
+ const savedChart = {
52
+ chartConfig: tableChartConfig,
53
+ pivotConfig: {
54
+ columns: ['payments_payment_method'],
55
+ },
56
+ };
57
+ const result = (0, derivePivotConfigFromChart_1.derivePivotConfigurationFromChart)(savedChart, derivePivotConfigFromChart_mock_1.mockMetricQuery, derivePivotConfigFromChart_mock_1.mockItems);
58
+ expect(result).toEqual({
59
+ indexColumn: [
60
+ {
61
+ reference: 'orders_status',
62
+ type: types_1.VizIndexType.CATEGORY,
63
+ },
64
+ ],
65
+ valuesColumns: [
66
+ {
67
+ reference: 'payments_total_revenue',
68
+ aggregation: types_1.VizAggregationOptions.ANY,
69
+ },
70
+ ],
71
+ groupByColumns: [{ reference: 'payments_payment_method' }],
72
+ sortBy: [
73
+ {
74
+ reference: 'payments_payment_method',
75
+ direction: types_1.SortByDirection.ASC,
76
+ },
77
+ ],
78
+ });
79
+ });
80
+ it('returns undefined for unsupported chart types (PIE)', () => {
81
+ const pieChartConfig = {
82
+ type: savedCharts_1.ChartType.PIE,
83
+ config: {},
84
+ };
85
+ const savedChart = {
86
+ chartConfig: pieChartConfig,
87
+ pivotConfig: { columns: ['payments_payment_method'] },
88
+ };
89
+ const result = (0, derivePivotConfigFromChart_1.derivePivotConfigurationFromChart)(savedChart, derivePivotConfigFromChart_mock_1.mockMetricQuery, derivePivotConfigFromChart_mock_1.mockItems);
90
+ expect(result).toBeUndefined();
91
+ });
92
+ it('filters out sorts that are not present in pivot configuration', () => {
93
+ const savedChart = {
94
+ chartConfig: derivePivotConfigFromChart_mock_1.mockCartesianChartConfig,
95
+ pivotConfig: {
96
+ columns: ['orders_status'],
97
+ },
98
+ };
99
+ const mq = {
100
+ ...derivePivotConfigFromChart_mock_1.mockMetricQuery,
101
+ sorts: [
102
+ { fieldId: 'payments_payment_method', descending: false }, // present as index
103
+ { fieldId: 'payments_total_revenue', descending: true }, // present as value column
104
+ { fieldId: 'non_existing_field', descending: false }, // should be filtered out
105
+ ],
106
+ };
107
+ const result = (0, derivePivotConfigFromChart_1.derivePivotConfigurationFromChart)(savedChart, mq, derivePivotConfigFromChart_mock_1.mockItems);
108
+ expect(result?.sortBy).toEqual([
109
+ {
110
+ reference: 'payments_payment_method',
111
+ direction: types_1.SortByDirection.ASC,
112
+ },
113
+ {
114
+ reference: 'payments_total_revenue',
115
+ direction: types_1.SortByDirection.DESC,
116
+ },
117
+ ]);
118
+ });
119
+ });
120
+ //# sourceMappingURL=derivePivotConfigFromChart.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"derivePivotConfigFromChart.test.js","sourceRoot":"","sources":["../../../src/pivot/derivePivotConfigFromChart.test.ts"],"names":[],"mappings":";;AAAA,sDAAqE;AACrE,mDAIiC;AACjC,6EAAiF;AACjF,uFAI2C;AAE3C,2CAA2C;AAE3C,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;IAC/C,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC1E,MAAM,UAAU,GAAuD;YACnE,WAAW,EAAE,0DAAwB;YACrC,WAAW,EAAE;gBACT,OAAO,EAAE,CAAC,eAAe,CAAC;aAC7B;SACJ,CAAC;QAEF,MAAM,MAAM,GAAG,IAAA,8DAAiC,EAC5C,UAAU,EACV,iDAAe,EACf,2CAAS,CACZ,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACnB,WAAW,EAAE;gBACT,SAAS,EAAE,yBAAyB;gBACpC,IAAI,EAAE,oBAAY,CAAC,QAAQ;aAC9B;YACD,aAAa,EAAE;gBACX;oBACI,SAAS,EAAE,wBAAwB;oBACnC,WAAW,EAAE,6BAAqB,CAAC,GAAG;iBACzC;aACJ;YACD,cAAc,EAAE,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;YAChD,MAAM,EAAE;gBACJ;oBACI,SAAS,EAAE,yBAAyB;oBACpC,SAAS,EAAE,uBAAe,CAAC,GAAG;iBACjC;aACJ;SACJ,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACnE,MAAM,UAAU,GAAG;YACf,WAAW,EAAE,0DAAwB;YACrC,WAAW,EAAE,SAAS;SAChB,CAAC;QAEX,MAAM,MAAM,GAAG,IAAA,8DAAiC,EAC5C,UAAU,EACV,iDAAe,EACf,2CAAS,CACZ,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACtE,MAAM,gBAAgB,GAAG;YACrB,IAAI,EAAE,uBAAS,CAAC,KAAK;YACrB,MAAM,EAAE,EAAE;SACJ,CAAC;QAEX,yEAAyE;QACzE,MAAM,UAAU,GAAuD;YACnE,WAAW,EAAE,gBAAgB;YAC7B,WAAW,EAAE;gBACT,OAAO,EAAE,CAAC,yBAAyB,CAAC;aACvC;SACJ,CAAC;QAEF,MAAM,MAAM,GAAG,IAAA,8DAAiC,EAC5C,UAAU,EACV,iDAAe,EACf,2CAAS,CACZ,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACnB,WAAW,EAAE;gBACT;oBACI,SAAS,EAAE,eAAe;oBAC1B,IAAI,EAAE,oBAAY,CAAC,QAAQ;iBAC9B;aACJ;YACD,aAAa,EAAE;gBACX;oBACI,SAAS,EAAE,wBAAwB;oBACnC,WAAW,EAAE,6BAAqB,CAAC,GAAG;iBACzC;aACJ;YACD,cAAc,EAAE,CAAC,EAAE,SAAS,EAAE,yBAAyB,EAAE,CAAC;YAC1D,MAAM,EAAE;gBACJ;oBACI,SAAS,EAAE,yBAAyB;oBACpC,SAAS,EAAE,uBAAe,CAAC,GAAG;iBACjC;aACJ;SACJ,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC3D,MAAM,cAAc,GAAG;YACnB,IAAI,EAAE,uBAAS,CAAC,GAAG;YACnB,MAAM,EAAE,EAAE;SACJ,CAAC;QAEX,MAAM,UAAU,GAAuD;YACnE,WAAW,EAAE,cAAc;YAC3B,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,yBAAyB,CAAC,EAAE;SACxD,CAAC;QAEF,MAAM,MAAM,GAAG,IAAA,8DAAiC,EAC5C,UAAU,EACV,iDAAe,EACf,2CAAS,CACZ,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACrE,MAAM,UAAU,GAAuD;YACnE,WAAW,EAAE,0DAAwB;YACrC,WAAW,EAAE;gBACT,OAAO,EAAE,CAAC,eAAe,CAAC;aAC7B;SACJ,CAAC;QAEF,MAAM,EAAE,GAAG;YACP,GAAG,iDAAe;YAClB,KAAK,EAAE;gBACH,EAAE,OAAO,EAAE,yBAAyB,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,mBAAmB;gBAC9E,EAAE,OAAO,EAAE,wBAAwB,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,0BAA0B;gBACnF,EAAE,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,yBAAyB;aAClF;SACsB,CAAC;QAE5B,MAAM,MAAM,GAAG,IAAA,8DAAiC,EAC5C,UAAU,EACV,EAAE,EACF,2CAAS,CACZ,CAAC;QAEF,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC;YAC3B;gBACI,SAAS,EAAE,yBAAyB;gBACpC,SAAS,EAAE,uBAAe,CAAC,GAAG;aACjC;YACD;gBACI,SAAS,EAAE,wBAAwB;gBACnC,SAAS,EAAE,uBAAe,CAAC,IAAI;aAClC;SACJ,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"derivePivotConfigFromChart.d.ts","sourceRoot":"","sources":["../../../src/pivot/derivePivotConfigFromChart.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAe,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,OAAO,EAIH,KAAK,aAAa,EAErB,MAAM,sBAAsB,CAAC;AAiM9B,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,CAsBhC"}
1
+ {"version":3,"file":"derivePivotConfigFromChart.d.ts","sourceRoot":"","sources":["../../../src/pivot/derivePivotConfigFromChart.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAe,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC5D,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;AAoL9B,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,CAsBhC"}
@@ -2,7 +2,6 @@
2
2
  * Derives pivot configuration from a saved chart's configuration and metric query
3
3
  * This enables consistent pivoting across all chart types
4
4
  */
5
- import { uniqBy } from 'lodash';
6
5
  import { isDimension } from '../types/field';
7
6
  import { ChartType, isCartesianChartConfig, } from '../types/savedCharts';
8
7
  import assertUnreachable from '../utils/assertUnreachable';
@@ -76,51 +75,44 @@ function getTablePivotConfiguration(savedChart, metricQuery, fields) {
76
75
  return pivotConfiguration;
77
76
  }
78
77
  function getCartesianPivotConfiguration(savedChart, metricQuery, fields) {
79
- const { chartConfig } = savedChart;
78
+ const { chartConfig, pivotConfig } = savedChart;
80
79
  if (chartConfig.type !== ChartType.CARTESIAN) {
81
80
  throw new Error('Chart is not a Cartesian chart');
82
81
  }
83
82
  if (!isCartesianChartConfig(chartConfig.config)) {
84
83
  throw new Error('Invalid cartesian chart config - no eCharts config');
85
84
  }
86
- const { eChartsConfig } = chartConfig.config;
87
- const series = eChartsConfig?.series;
88
- const firstSeries = series?.[0];
89
- if (firstSeries && firstSeries.encode.yRef.pivotValues?.length) {
90
- // Extract pivot configuration from the first series
91
- const { yRef, xRef } = firstSeries.encode;
92
- if (yRef.pivotValues) {
93
- // Extract unique group by columns from pivot values
94
- const groupByColumns = yRef.pivotValues.map((pv) => ({
95
- reference: pv.field,
96
- }));
97
- // Extract value columns
98
- const valuesColumns = uniqBy(series, 'encode.yRef.field').map((s) => ({
99
- reference: s.encode.yRef.field,
100
- aggregation: VizAggregationOptions.ANY,
101
- }));
102
- const xAxisDimension = fields[xRef.field];
103
- let xAxisType;
104
- if (xAxisDimension && isDimension(xAxisDimension)) {
105
- xAxisType = getColumnAxisType(xAxisDimension.type);
106
- }
107
- const indexColumn = xAxisType
108
- ? {
109
- reference: xRef.field,
110
- type: xAxisType,
111
- }
112
- : undefined;
113
- const partialPivotConfiguration = {
114
- indexColumn,
115
- valuesColumns,
116
- groupByColumns,
117
- };
118
- const pivotConfiguration = {
119
- ...partialPivotConfiguration,
120
- sortBy: getSortByForPivotConfiguration(partialPivotConfiguration, metricQuery),
121
- };
122
- return pivotConfiguration;
85
+ const { layout: { xField, yField }, } = chartConfig.config;
86
+ if (pivotConfig?.columns && xField && yField) {
87
+ // Extract pivot columns
88
+ const groupByColumns = pivotConfig.columns.map((pv) => ({
89
+ reference: pv,
90
+ }));
91
+ // Extract value columns
92
+ const valuesColumns = yField.map((yf) => ({
93
+ reference: yf,
94
+ aggregation: VizAggregationOptions.ANY,
95
+ }));
96
+ const xAxisDimension = fields[xField];
97
+ let xAxisType;
98
+ if (xAxisDimension && isDimension(xAxisDimension)) {
99
+ xAxisType = getColumnAxisType(xAxisDimension.type);
123
100
  }
101
+ const indexColumn = xAxisType
102
+ ? {
103
+ reference: xField,
104
+ type: xAxisType,
105
+ }
106
+ : undefined;
107
+ const partialPivotConfiguration = {
108
+ indexColumn,
109
+ valuesColumns,
110
+ groupByColumns,
111
+ };
112
+ return {
113
+ ...partialPivotConfiguration,
114
+ sortBy: getSortByForPivotConfiguration(partialPivotConfiguration, metricQuery),
115
+ };
124
116
  }
125
117
  return undefined;
126
118
  }
@@ -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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"}
@@ -0,0 +1,7 @@
1
+ import { type ItemsMap } from '../types/field';
2
+ import { type MetricQuery } from '../types/metricQuery';
3
+ import { type CartesianChartConfig } from '../types/savedCharts';
4
+ export declare const mockItems: ItemsMap;
5
+ export declare const mockMetricQuery: MetricQuery;
6
+ export declare const mockCartesianChartConfig: CartesianChartConfig;
7
+ //# sourceMappingURL=derivePivotConfigFromChart.mock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"derivePivotConfigFromChart.mock.d.ts","sourceRoot":"","sources":["../../../src/pivot/derivePivotConfigFromChart.mock.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,KAAK,QAAQ,EAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAa,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAG5E,eAAO,MAAM,SAAS,EAAE,QA+CvB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,WAe7B,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,oBAWtC,CAAC"}
@@ -0,0 +1,79 @@
1
+ import { DimensionType, FieldType, MetricType, } from '../types/field';
2
+ import { ChartType } from '../types/savedCharts';
3
+ // Items (fields) map derived from issue description
4
+ export const mockItems = {
5
+ payments_payment_method: {
6
+ sql: '${TABLE}.payment_method',
7
+ name: 'payment_method',
8
+ type: DimensionType.STRING,
9
+ index: 2,
10
+ label: 'Payment method',
11
+ table: 'payments',
12
+ groups: [],
13
+ hidden: false,
14
+ fieldType: FieldType.DIMENSION,
15
+ tableLabel: 'Payments',
16
+ description: 'Method of payment used, for example credit card',
17
+ },
18
+ orders_status: {
19
+ sql: '${TABLE}.status',
20
+ name: 'status',
21
+ type: DimensionType.STRING,
22
+ index: 4,
23
+ label: 'Status',
24
+ table: 'orders',
25
+ groups: [],
26
+ hidden: false,
27
+ fieldType: FieldType.DIMENSION,
28
+ tableLabel: 'Orders',
29
+ description: '# Order Status\n\nOrders can be one of the following statuses:\n\n| status | description |\n| -------------- | ---------------------------------------------------------------------------------------------------------------------- |\n| placed | The order has been placed but has not yet left the warehouse |\n| shipped | The order has ben shipped to the customer and is currently in transit |\n| completed | The order has been received by the customer |\n| return_pending | The customer has indicated that they would like to return the order, but it has not yet been received at the warehouse |\n| returned | The order has been returned by the customer and received at the warehouse |',
30
+ },
31
+ payments_total_revenue: {
32
+ sql: '${TABLE}.amount',
33
+ name: 'total_revenue',
34
+ type: MetricType.SUM,
35
+ index: 1,
36
+ label: 'Total revenue',
37
+ table: 'payments',
38
+ groups: [],
39
+ hidden: false,
40
+ filters: [],
41
+ fieldType: FieldType.METRIC,
42
+ spotlight: {
43
+ categories: [],
44
+ visibility: 'show',
45
+ },
46
+ tableLabel: 'Payments',
47
+ description: 'Sum of all payments',
48
+ dimensionReference: 'payments_amount',
49
+ },
50
+ };
51
+ export const mockMetricQuery = {
52
+ exploreName: 'payments',
53
+ dimensions: ['payments_payment_method', 'orders_status'],
54
+ metrics: ['payments_total_revenue'],
55
+ filters: {},
56
+ sorts: [
57
+ {
58
+ fieldId: 'payments_payment_method',
59
+ descending: false,
60
+ },
61
+ ],
62
+ limit: 500,
63
+ tableCalculations: [],
64
+ additionalMetrics: [],
65
+ metricOverrides: {},
66
+ };
67
+ export const mockCartesianChartConfig = {
68
+ type: ChartType.CARTESIAN,
69
+ config: {
70
+ layout: {
71
+ xField: 'payments_payment_method',
72
+ yField: ['payments_total_revenue'],
73
+ },
74
+ eChartsConfig: {
75
+ series: [],
76
+ },
77
+ },
78
+ };
79
+ //# sourceMappingURL=derivePivotConfigFromChart.mock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"derivePivotConfigFromChart.mock.js","sourceRoot":"","sources":["../../../src/pivot/derivePivotConfigFromChart.mock.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,aAAa,EACb,SAAS,EACT,UAAU,GAEb,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,SAAS,EAA6B,MAAM,sBAAsB,CAAC;AAE5E,oDAAoD;AACpD,MAAM,CAAC,MAAM,SAAS,GAAa;IAC/B,uBAAuB,EAAE;QACrB,GAAG,EAAE,yBAAyB;QAC9B,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,aAAa,CAAC,MAAM;QAC1B,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,gBAAgB;QACvB,KAAK,EAAE,UAAU;QACjB,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,iDAAiD;KACjE;IACD,aAAa,EAAE;QACX,GAAG,EAAE,iBAAiB;QACtB,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,aAAa,CAAC,MAAM;QAC1B,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,UAAU,EAAE,QAAQ;QACpB,WAAW,EACP,6hCAA6hC;KACpiC;IACD,sBAAsB,EAAE;QACpB,GAAG,EAAE,iBAAiB;QACtB,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,UAAU,CAAC,GAAG;QACpB,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,eAAe;QACtB,KAAK,EAAE,UAAU;QACjB,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,SAAS,CAAC,MAAM;QAC3B,SAAS,EAAE;YACP,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,MAAM;SACrB;QACD,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,qBAAqB;QAClC,kBAAkB,EAAE,iBAAiB;KACxC;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAgB;IACxC,WAAW,EAAE,UAAU;IACvB,UAAU,EAAE,CAAC,yBAAyB,EAAE,eAAe,CAAC;IACxD,OAAO,EAAE,CAAC,wBAAwB,CAAC;IACnC,OAAO,EAAE,EAAE;IACX,KAAK,EAAE;QACH;YACI,OAAO,EAAE,yBAAyB;YAClC,UAAU,EAAE,KAAK;SACpB;KACJ;IACD,KAAK,EAAE,GAAG;IACV,iBAAiB,EAAE,EAAE;IACrB,iBAAiB,EAAE,EAAE;IACrB,eAAe,EAAE,EAAE;CACtB,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAyB;IAC1D,IAAI,EAAE,SAAS,CAAC,SAAS;IACzB,MAAM,EAAE;QACJ,MAAM,EAAE;YACJ,MAAM,EAAE,yBAAyB;YACjC,MAAM,EAAE,CAAC,wBAAwB,CAAC;SACrC;QACD,aAAa,EAAE;YACX,MAAM,EAAE,EAAE;SACb;KACJ;CACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=derivePivotConfigFromChart.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"derivePivotConfigFromChart.test.d.ts","sourceRoot":"","sources":["../../../src/pivot/derivePivotConfigFromChart.test.ts"],"names":[],"mappings":""}