@finos/legend-data-cube 0.0.2 → 0.0.4
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/lib/components/editor/DataCubeEditorColumnPropertiesPanel.d.ts.map +1 -1
- package/lib/components/editor/DataCubeEditorColumnPropertiesPanel.js +7 -4
- package/lib/components/editor/DataCubeEditorColumnPropertiesPanel.js.map +1 -1
- package/lib/components/editor/DataCubeEditorGeneralPropertiesPanel.d.ts.map +1 -1
- package/lib/components/editor/DataCubeEditorGeneralPropertiesPanel.js +10 -15
- package/lib/components/editor/DataCubeEditorGeneralPropertiesPanel.js.map +1 -1
- package/lib/components/editor/DataCubeEditorSortsPanel.d.ts.map +1 -1
- package/lib/components/editor/DataCubeEditorSortsPanel.js +9 -9
- package/lib/components/editor/DataCubeEditorSortsPanel.js.map +1 -1
- package/lib/index.css +1 -1
- package/lib/package.json +1 -1
- package/lib/stores/core/DataCubeConfiguration.d.ts +13 -7
- package/lib/stores/core/DataCubeConfiguration.d.ts.map +1 -1
- package/lib/stores/core/DataCubeConfiguration.js +25 -15
- package/lib/stores/core/DataCubeConfiguration.js.map +1 -1
- package/lib/stores/core/DataCubeConfigurationBuilder.d.ts.map +1 -1
- package/lib/stores/core/DataCubeConfigurationBuilder.js +3 -2
- package/lib/stores/core/DataCubeConfigurationBuilder.js.map +1 -1
- package/lib/stores/core/DataCubeQueryBuilder.d.ts.map +1 -1
- package/lib/stores/core/DataCubeQueryBuilder.js +23 -17
- package/lib/stores/core/DataCubeQueryBuilder.js.map +1 -1
- package/lib/stores/core/DataCubeQueryBuilderUtils.js +2 -2
- package/lib/stores/core/DataCubeQueryBuilderUtils.js.map +1 -1
- package/lib/stores/core/DataCubeQueryEngine.d.ts +19 -11
- package/lib/stores/core/DataCubeQueryEngine.d.ts.map +1 -1
- package/lib/stores/core/DataCubeQueryEngine.js +21 -14
- package/lib/stores/core/DataCubeQueryEngine.js.map +1 -1
- package/lib/stores/core/DataCubeQuerySnapshot.d.ts +1 -1
- package/lib/stores/core/DataCubeQuerySnapshotBuilder.d.ts.map +1 -1
- package/lib/stores/core/DataCubeQuerySnapshotBuilder.js +131 -80
- package/lib/stores/core/DataCubeQuerySnapshotBuilder.js.map +1 -1
- package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.d.ts +6 -7
- package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.d.ts.map +1 -1
- package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.js +27 -91
- package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.js.map +1 -1
- package/lib/stores/core/DataCubeQuerySnapshotManager.js +1 -1
- package/lib/stores/core/DataCubeQuerySnapshotManager.js.map +1 -1
- package/lib/stores/editor/DataCubeEditorGeneralPropertiesPanelState.d.ts +1 -2
- package/lib/stores/editor/DataCubeEditorGeneralPropertiesPanelState.d.ts.map +1 -1
- package/lib/stores/editor/DataCubeEditorGeneralPropertiesPanelState.js +4 -6
- package/lib/stores/editor/DataCubeEditorGeneralPropertiesPanelState.js.map +1 -1
- package/lib/stores/editor/DataCubeEditorMutableConfiguration.d.ts +15 -8
- package/lib/stores/editor/DataCubeEditorMutableConfiguration.d.ts.map +1 -1
- package/lib/stores/editor/DataCubeEditorMutableConfiguration.js +50 -26
- package/lib/stores/editor/DataCubeEditorMutableConfiguration.js.map +1 -1
- package/lib/stores/editor/DataCubeEditorPivotLayoutPanelState.d.ts +30 -0
- package/lib/stores/editor/DataCubeEditorPivotLayoutPanelState.d.ts.map +1 -0
- package/lib/stores/editor/DataCubeEditorPivotLayoutPanelState.js +43 -0
- package/lib/stores/editor/DataCubeEditorPivotLayoutPanelState.js.map +1 -0
- package/lib/stores/editor/DataCubeEditorSortsPanelState.d.ts +3 -3
- package/lib/stores/editor/DataCubeEditorSortsPanelState.d.ts.map +1 -1
- package/lib/stores/editor/DataCubeEditorSortsPanelState.js +11 -11
- package/lib/stores/editor/DataCubeEditorSortsPanelState.js.map +1 -1
- package/lib/stores/editor/DataCubeEditorState.d.ts +2 -0
- package/lib/stores/editor/DataCubeEditorState.d.ts.map +1 -1
- package/lib/stores/editor/DataCubeEditorState.js +5 -0
- package/lib/stores/editor/DataCubeEditorState.js.map +1 -1
- package/lib/stores/extend/DataCubeExtendManagerState.js +1 -1
- package/lib/stores/extend/DataCubeExtendManagerState.js.map +1 -1
- package/lib/stores/grid/DataCubeGridClientEngine.d.ts.map +1 -1
- package/lib/stores/grid/DataCubeGridClientEngine.js +41 -36
- package/lib/stores/grid/DataCubeGridClientEngine.js.map +1 -1
- package/lib/stores/grid/DataCubeGridConfigurationBuilder.d.ts.map +1 -1
- package/lib/stores/grid/DataCubeGridConfigurationBuilder.js +39 -3
- package/lib/stores/grid/DataCubeGridConfigurationBuilder.js.map +1 -1
- package/lib/stores/grid/DataCubeGridControllerState.d.ts +6 -3
- package/lib/stores/grid/DataCubeGridControllerState.d.ts.map +1 -1
- package/lib/stores/grid/DataCubeGridControllerState.js +35 -17
- package/lib/stores/grid/DataCubeGridControllerState.js.map +1 -1
- package/lib/stores/grid/DataCubeGridMenuBuilder.d.ts.map +1 -1
- package/lib/stores/grid/DataCubeGridMenuBuilder.js +52 -31
- package/lib/stores/grid/DataCubeGridMenuBuilder.js.map +1 -1
- package/lib/stores/grid/DataCubeGridQueryBuilder.d.ts.map +1 -1
- package/lib/stores/grid/DataCubeGridQueryBuilder.js +3 -3
- package/lib/stores/grid/DataCubeGridQueryBuilder.js.map +1 -1
- package/lib/stores/grid/DataCubeGridQuerySnapshotBuilder.d.ts.map +1 -1
- package/lib/stores/grid/DataCubeGridQuerySnapshotBuilder.js +14 -7
- package/lib/stores/grid/DataCubeGridQuerySnapshotBuilder.js.map +1 -1
- package/lib/stores/grid/DataCubeGridState.d.ts.map +1 -1
- package/lib/stores/grid/DataCubeGridState.js +9 -5
- package/lib/stores/grid/DataCubeGridState.js.map +1 -1
- package/package.json +2 -2
- package/src/components/editor/DataCubeEditorColumnPropertiesPanel.tsx +11 -5
- package/src/components/editor/DataCubeEditorGeneralPropertiesPanel.tsx +94 -101
- package/src/components/editor/DataCubeEditorSortsPanel.tsx +12 -10
- package/src/stores/core/DataCubeConfiguration.ts +33 -15
- package/src/stores/core/DataCubeConfigurationBuilder.ts +3 -2
- package/src/stores/core/DataCubeQueryBuilder.ts +33 -20
- package/src/stores/core/DataCubeQueryBuilderUtils.ts +2 -2
- package/src/stores/core/DataCubeQueryEngine.ts +22 -12
- package/src/stores/core/DataCubeQuerySnapshot.ts +1 -1
- package/src/stores/core/DataCubeQuerySnapshotBuilder.ts +135 -120
- package/src/stores/core/DataCubeQuerySnapshotBuilderUtils.ts +33 -107
- package/src/stores/core/DataCubeQuerySnapshotManager.ts +1 -1
- package/src/stores/editor/DataCubeEditorGeneralPropertiesPanelState.ts +6 -9
- package/src/stores/editor/DataCubeEditorMutableConfiguration.ts +68 -28
- package/src/stores/editor/DataCubeEditorPivotLayoutPanelState.ts +71 -0
- package/src/stores/editor/DataCubeEditorSortsPanelState.ts +11 -11
- package/src/stores/editor/DataCubeEditorState.tsx +5 -0
- package/src/stores/extend/DataCubeExtendManagerState.tsx +1 -1
- package/src/stores/grid/DataCubeGridClientEngine.ts +52 -48
- package/src/stores/grid/DataCubeGridConfigurationBuilder.tsx +45 -4
- package/src/stores/grid/DataCubeGridControllerState.ts +44 -20
- package/src/stores/grid/DataCubeGridMenuBuilder.tsx +81 -52
- package/src/stores/grid/DataCubeGridQueryBuilder.ts +3 -7
- package/src/stores/grid/DataCubeGridQuerySnapshotBuilder.ts +20 -7
- package/src/stores/grid/DataCubeGridState.ts +9 -5
- package/tsconfig.json +1 -0
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
import { V1_AppliedFunction, V1_CInteger, V1_Collection, V1_serializeValueSpecification, extractElementNameFromPath as _name, matchFunctionName, } from '@finos/legend-graph';
|
|
24
24
|
import { _toCol, DataCubeQuerySnapshot, } from './DataCubeQuerySnapshot.js';
|
|
25
25
|
import { assertType, guaranteeNonNullable } from '@finos/legend-shared';
|
|
26
|
-
import {
|
|
26
|
+
import { DataCubeQuerySortDirection, DataCubeFunction, } from './DataCubeQueryEngine.js';
|
|
27
27
|
import { DataCubeConfiguration } from './DataCubeConfiguration.js';
|
|
28
28
|
import { buildDefaultConfiguration } from './DataCubeConfigurationBuilder.js';
|
|
29
29
|
import { _colSpecArrayParam, _colSpecParam, _funcMatch, _param, } from './DataCubeQuerySnapshotBuilderUtils.js';
|
|
@@ -38,37 +38,111 @@ const _SUPPORTED_TOP_LEVEL_FUNCTIONS = [
|
|
|
38
38
|
{ func: DataCubeFunction.SORT, parameters: 1 },
|
|
39
39
|
{ func: DataCubeFunction.LIMIT, parameters: 1 },
|
|
40
40
|
];
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
var _FUNCTION_SEQUENCE_COMPOSITION_PART;
|
|
42
|
+
(function (_FUNCTION_SEQUENCE_COMPOSITION_PART) {
|
|
43
|
+
_FUNCTION_SEQUENCE_COMPOSITION_PART["LEAF_EXTEND"] = "leaf_extend";
|
|
44
|
+
_FUNCTION_SEQUENCE_COMPOSITION_PART["FILTER"] = "filter";
|
|
45
|
+
_FUNCTION_SEQUENCE_COMPOSITION_PART["SELECT"] = "select";
|
|
46
|
+
_FUNCTION_SEQUENCE_COMPOSITION_PART["PIVOT__GROUP"] = "pivot__group";
|
|
47
|
+
_FUNCTION_SEQUENCE_COMPOSITION_PART["PIVOT_SORT"] = "pivot_sort";
|
|
48
|
+
_FUNCTION_SEQUENCE_COMPOSITION_PART["PIVOT"] = "pivot";
|
|
49
|
+
_FUNCTION_SEQUENCE_COMPOSITION_PART["PIVOT_CAST"] = "pivot_cast";
|
|
50
|
+
_FUNCTION_SEQUENCE_COMPOSITION_PART["GROUP_BY__GROUP"] = "group_by__group";
|
|
51
|
+
_FUNCTION_SEQUENCE_COMPOSITION_PART["GROUP_BY"] = "group_by";
|
|
52
|
+
_FUNCTION_SEQUENCE_COMPOSITION_PART["GROUP_BY_SORT"] = "group_by_sort";
|
|
53
|
+
_FUNCTION_SEQUENCE_COMPOSITION_PART["GROUP_EXTEND"] = "group_extend";
|
|
54
|
+
_FUNCTION_SEQUENCE_COMPOSITION_PART["SORT"] = "sort";
|
|
55
|
+
_FUNCTION_SEQUENCE_COMPOSITION_PART["LIMIT"] = "limit";
|
|
56
|
+
})(_FUNCTION_SEQUENCE_COMPOSITION_PART || (_FUNCTION_SEQUENCE_COMPOSITION_PART = {}));
|
|
57
|
+
// This corresponds to the function sequence that we currently support:
|
|
58
|
+
//
|
|
59
|
+
// -> extend()
|
|
60
|
+
// ->filter()
|
|
61
|
+
// ->select()
|
|
62
|
+
// ->sort()->pivot()->cast()
|
|
63
|
+
// ->groupBy()->sort()
|
|
64
|
+
// ->extend()
|
|
65
|
+
// ->sort()
|
|
66
|
+
// ->limit()
|
|
67
|
+
//
|
|
44
68
|
const _FUNCTION_SEQUENCE_COMPOSITION_PATTERN = [
|
|
45
|
-
{ name: 'leaf_extend', func: DataCubeFunction.EXTEND }, // leaf-level extend
|
|
46
|
-
{ name: 'filter', func: DataCubeFunction.FILTER },
|
|
47
|
-
{ name: 'select', func: DataCubeFunction.SELECT },
|
|
48
69
|
{
|
|
49
|
-
|
|
70
|
+
// leaf-level extend
|
|
71
|
+
name: _FUNCTION_SEQUENCE_COMPOSITION_PART.LEAF_EXTEND,
|
|
72
|
+
func: DataCubeFunction.EXTEND,
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
name: _FUNCTION_SEQUENCE_COMPOSITION_PART.FILTER,
|
|
76
|
+
func: DataCubeFunction.FILTER,
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
name: _FUNCTION_SEQUENCE_COMPOSITION_PART.SELECT,
|
|
80
|
+
func: DataCubeFunction.SELECT,
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
name: _FUNCTION_SEQUENCE_COMPOSITION_PART.PIVOT__GROUP,
|
|
50
84
|
funcs: [
|
|
51
|
-
{
|
|
52
|
-
|
|
53
|
-
|
|
85
|
+
{
|
|
86
|
+
// sort to ensure stable column ordering
|
|
87
|
+
name: _FUNCTION_SEQUENCE_COMPOSITION_PART.PIVOT_SORT,
|
|
88
|
+
func: DataCubeFunction.SORT,
|
|
89
|
+
required: true,
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
name: _FUNCTION_SEQUENCE_COMPOSITION_PART.PIVOT,
|
|
93
|
+
func: DataCubeFunction.PIVOT,
|
|
94
|
+
required: true,
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
// cast to a relation type post pivot() to enable type-checking
|
|
98
|
+
name: _FUNCTION_SEQUENCE_COMPOSITION_PART.PIVOT_CAST,
|
|
99
|
+
func: DataCubeFunction.CAST,
|
|
100
|
+
required: true,
|
|
101
|
+
},
|
|
54
102
|
],
|
|
55
103
|
},
|
|
56
|
-
{
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
104
|
+
{
|
|
105
|
+
name: _FUNCTION_SEQUENCE_COMPOSITION_PART.GROUP_BY__GROUP,
|
|
106
|
+
funcs: [
|
|
107
|
+
{
|
|
108
|
+
name: _FUNCTION_SEQUENCE_COMPOSITION_PART.GROUP_BY,
|
|
109
|
+
func: DataCubeFunction.GROUP_BY,
|
|
110
|
+
required: true,
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
// sort to ensure stable row ordering
|
|
114
|
+
name: _FUNCTION_SEQUENCE_COMPOSITION_PART.GROUP_BY_SORT,
|
|
115
|
+
func: DataCubeFunction.SORT,
|
|
116
|
+
required: true,
|
|
117
|
+
},
|
|
118
|
+
],
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
// group-level extend
|
|
122
|
+
name: _FUNCTION_SEQUENCE_COMPOSITION_PART.GROUP_EXTEND,
|
|
123
|
+
func: DataCubeFunction.EXTEND,
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
name: _FUNCTION_SEQUENCE_COMPOSITION_PART.SORT,
|
|
127
|
+
func: DataCubeFunction.SORT,
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
name: _FUNCTION_SEQUENCE_COMPOSITION_PART.LIMIT,
|
|
131
|
+
func: DataCubeFunction.LIMIT,
|
|
132
|
+
},
|
|
60
133
|
];
|
|
61
134
|
const _FUNCTION_SEQUENCE_COMPOSITION_PATTERN_REGEXP = new RegExp(`^${_FUNCTION_SEQUENCE_COMPOSITION_PATTERN
|
|
62
135
|
.map((node) => 'funcs' in node
|
|
63
|
-
? `(${node.funcs
|
|
64
|
-
|
|
136
|
+
? `(${node.funcs
|
|
137
|
+
.map((childNode) => `(?<${childNode.name}><${_name(childNode.func)}>____\\d+)${childNode.repeat ? '*' : !childNode.required ? '?' : ''}`)
|
|
138
|
+
.join('')})${node.repeat ? '*' : !node.required ? '?' : ''}`
|
|
139
|
+
: `(?<${node.name}><${_name(node.func)}>____\\d+)${node.repeat ? '*' : !node.required ? '?' : ''}`)
|
|
65
140
|
.join('')}$`);
|
|
66
141
|
/**
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
* do various basic checks for the validity, composition, and order of those functions.
|
|
142
|
+
* Turn the function sequence into a map of available functions
|
|
143
|
+
* for easier construction of the snapshot
|
|
70
144
|
*/
|
|
71
|
-
function
|
|
145
|
+
function extractFunctionMap(query) {
|
|
72
146
|
// Make sure this is a sequence of function calls
|
|
73
147
|
if (!(query instanceof V1_AppliedFunction)) {
|
|
74
148
|
throw new Error(`Query must be a sequence of function calls (e.g. x()->y()->z())`);
|
|
@@ -97,59 +171,35 @@ function extractQueryFunctionSequence(query) {
|
|
|
97
171
|
}
|
|
98
172
|
// Check that sequence follows the supported pattern
|
|
99
173
|
const sequenceFormText = sequence
|
|
100
|
-
.map((func) => `<${_name(func.function)}
|
|
174
|
+
.map((func, idx) => `<${_name(func.function)}>____${idx}`)
|
|
101
175
|
.join('');
|
|
102
176
|
const matchResult = sequenceFormText.match(_FUNCTION_SEQUENCE_COMPOSITION_PATTERN_REGEXP);
|
|
103
177
|
if (!matchResult) {
|
|
104
178
|
throw new Error(`Unsupported function composition ${sequence.map((fn) => `${_name(fn.function)}()`).join('->')} (supported composition: ${_FUNCTION_SEQUENCE_COMPOSITION_PATTERN.map((node) => `${'funcs' in node ? `[${node.funcs.map((childNode) => `${_name(childNode.func)}()`).join('->')}]` : `${_name(node.func)}()`}`).join('->')})`);
|
|
105
179
|
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
180
|
+
const _process = (key) => {
|
|
181
|
+
const match = matchResult.groups?.[key];
|
|
182
|
+
if (!match || match.indexOf('____') === -1) {
|
|
183
|
+
return undefined;
|
|
184
|
+
}
|
|
185
|
+
const idx = Number(match.split('____')[1]);
|
|
186
|
+
if (isNaN(idx) || idx >= sequence.length) {
|
|
187
|
+
return undefined;
|
|
188
|
+
}
|
|
189
|
+
return sequence[idx];
|
|
112
190
|
};
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Turn the function sequence into a map of available functions
|
|
116
|
-
* for easier construction of the snapshot
|
|
117
|
-
*/
|
|
118
|
-
function extractFunctionMap(sequenceMatchingResult) {
|
|
119
|
-
const { sequence, leafExtend: hasLeafExtend, groupExtend: hasGroupExtend, pivot: hasPivot, sort: hasSort, } = sequenceMatchingResult;
|
|
120
|
-
const leafExtend = hasLeafExtend
|
|
121
|
-
? sequence.find((func) => matchFunctionName(func.function, DataCubeFunction.EXTEND))
|
|
122
|
-
: undefined;
|
|
123
|
-
const filter = sequence.find((func) => matchFunctionName(func.function, DataCubeFunction.FILTER));
|
|
124
|
-
const select = sequence.find((func) => matchFunctionName(func.function, DataCubeFunction.SELECT));
|
|
125
|
-
const pivotSort = hasPivot
|
|
126
|
-
? sequence.find((func) => matchFunctionName(func.function, DataCubeFunction.SORT))
|
|
127
|
-
: undefined;
|
|
128
|
-
const pivot = hasPivot
|
|
129
|
-
? sequence.find((func) => matchFunctionName(func.function, DataCubeFunction.PIVOT))
|
|
130
|
-
: undefined;
|
|
131
|
-
const pivotCast = hasPivot
|
|
132
|
-
? sequence.find((func) => matchFunctionName(func.function, DataCubeFunction.CAST))
|
|
133
|
-
: undefined;
|
|
134
|
-
const groupBy = sequence.find((func) => matchFunctionName(func.function, DataCubeFunction.GROUP_BY));
|
|
135
|
-
const groupExtend = hasGroupExtend
|
|
136
|
-
? sequence.find((func) => matchFunctionName(func.function, DataCubeFunction.EXTEND))
|
|
137
|
-
: undefined;
|
|
138
|
-
const sort = hasSort
|
|
139
|
-
? sequence.find((func) => matchFunctionName(func.function, DataCubeFunction.SORT))
|
|
140
|
-
: undefined;
|
|
141
|
-
const limit = sequence.find((func) => matchFunctionName(func.function, DataCubeFunction.LIMIT));
|
|
142
191
|
return {
|
|
143
|
-
leafExtend:
|
|
144
|
-
select,
|
|
145
|
-
filter,
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
192
|
+
leafExtend: _process(_FUNCTION_SEQUENCE_COMPOSITION_PART.LEAF_EXTEND),
|
|
193
|
+
select: _process(_FUNCTION_SEQUENCE_COMPOSITION_PART.SELECT),
|
|
194
|
+
filter: _process(_FUNCTION_SEQUENCE_COMPOSITION_PART.FILTER),
|
|
195
|
+
pivotSort: _process(_FUNCTION_SEQUENCE_COMPOSITION_PART.PIVOT_SORT),
|
|
196
|
+
pivot: _process(_FUNCTION_SEQUENCE_COMPOSITION_PART.PIVOT_CAST),
|
|
197
|
+
pivotCast: _process(_FUNCTION_SEQUENCE_COMPOSITION_PART.PIVOT_CAST),
|
|
198
|
+
groupBy: _process(_FUNCTION_SEQUENCE_COMPOSITION_PART.GROUP_BY),
|
|
199
|
+
groupBySort: _process(_FUNCTION_SEQUENCE_COMPOSITION_PART.GROUP_BY_SORT),
|
|
200
|
+
groupExtend: _process(_FUNCTION_SEQUENCE_COMPOSITION_PART.GROUP_EXTEND),
|
|
201
|
+
sort: _process(_FUNCTION_SEQUENCE_COMPOSITION_PART.SORT),
|
|
202
|
+
limit: _process(_FUNCTION_SEQUENCE_COMPOSITION_PART.LIMIT),
|
|
153
203
|
};
|
|
154
204
|
}
|
|
155
205
|
// --------------------------------- MAIN ---------------------------------
|
|
@@ -163,8 +213,7 @@ export function validateAndBuildQuerySnapshot(partialQuery, sourceQuery, baseQue
|
|
|
163
213
|
// --------------------------------- BASE ---------------------------------
|
|
164
214
|
// Build the function call sequence and the function map to make the
|
|
165
215
|
// analysis more ergonomic
|
|
166
|
-
const
|
|
167
|
-
const funcMap = extractFunctionMap(sequenceMatchingResult);
|
|
216
|
+
const funcMap = extractFunctionMap(partialQuery);
|
|
168
217
|
const snapshot = DataCubeQuerySnapshot.create(baseQuery.name, baseQuery.source.runtime, baseQuery.source.mapping, V1_serializeValueSpecification(sourceQuery, []), {});
|
|
169
218
|
const data = snapshot.data;
|
|
170
219
|
const colsMap = new Map();
|
|
@@ -188,12 +237,13 @@ export function validateAndBuildQuerySnapshot(partialQuery, sourceQuery, baseQue
|
|
|
188
237
|
}
|
|
189
238
|
// --------------------------------- PIVOT ---------------------------------
|
|
190
239
|
/** TODO: @datacube roundtrip */
|
|
191
|
-
// TODO: verify
|
|
240
|
+
// TODO: verify groupBy agg columns, pivot agg columns and configuration agree
|
|
192
241
|
// --------------------------------- GROUP BY ---------------------------------
|
|
193
242
|
if (funcMap.groupBy) {
|
|
194
243
|
data.groupBy = {
|
|
195
244
|
columns: _colSpecArrayParam(funcMap.groupBy, 0).colSpecs.map((colSpec) => _col(colSpec)),
|
|
196
|
-
// TODO: verify
|
|
245
|
+
// TODO: verify groupBy agg columns, pivot agg columns and configuration agree
|
|
246
|
+
// TODO: verify groupBy sort columns and configuration agree
|
|
197
247
|
};
|
|
198
248
|
}
|
|
199
249
|
// --------------------------------- GROUP-LEVEL EXTEND ---------------------------------
|
|
@@ -207,9 +257,9 @@ export function validateAndBuildQuerySnapshot(partialQuery, sourceQuery, baseQue
|
|
|
207
257
|
]);
|
|
208
258
|
return {
|
|
209
259
|
..._col(_colSpecParam(sortColFunc, 0)),
|
|
210
|
-
|
|
211
|
-
?
|
|
212
|
-
:
|
|
260
|
+
direction: _name(sortColFunc.function) === DataCubeFunction.ASC
|
|
261
|
+
? DataCubeQuerySortDirection.ASCENDING
|
|
262
|
+
: DataCubeQuerySortDirection.DESCENDING,
|
|
213
263
|
};
|
|
214
264
|
});
|
|
215
265
|
}
|
|
@@ -248,12 +298,13 @@ export function validateAndBuildQuerySnapshot(partialQuery, sourceQuery, baseQue
|
|
|
248
298
|
DataCubeConfiguration.serialization.toJson(configuration);
|
|
249
299
|
/**
|
|
250
300
|
* TODO: @datacube roundtrip - implement the logic to reconcile the configuration with the query
|
|
251
|
-
* - columns (missing/extra columns - remove or generate default column configuration)
|
|
252
|
-
* - column kind
|
|
253
|
-
* - column type
|
|
254
|
-
* - base off the type, check the settings
|
|
255
|
-
* - aggregation
|
|
256
|
-
* - verify
|
|
301
|
+
* - [ ] columns (missing/extra columns - remove or generate default column configuration)
|
|
302
|
+
* - [ ] column kind
|
|
303
|
+
* - [ ] column type
|
|
304
|
+
* - [ ] base off the type, check the settings
|
|
305
|
+
* - [ ] aggregation
|
|
306
|
+
* - [ ] verify groupBy agg columns, pivot agg columns and configuration agree
|
|
307
|
+
* - [ ] verify groupBy sort columns and tree column sort direction configuration agree
|
|
257
308
|
*/
|
|
258
309
|
return snapshot.finalize();
|
|
259
310
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataCubeQuerySnapshotBuilder.js","sourceRoot":"","sources":["../../../src/stores/core/DataCubeQuerySnapshotBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;;;;yFAMyF;AAEzF,OAAO,EACL,kBAAkB,EAClB,WAAW,EAEX,aAAa,EACb,8BAA8B,EAC9B,0BAA0B,IAAI,KAAK,EACnC,iBAAiB,GAElB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,MAAM,EACN,qBAAqB,GAEtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"DataCubeQuerySnapshotBuilder.js","sourceRoot":"","sources":["../../../src/stores/core/DataCubeQuerySnapshotBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,15 +16,14 @@
|
|
|
16
16
|
import { V1_AppliedFunction, V1_ColSpec, V1_ColSpecArray, type V1_ValueSpecification } from '@finos/legend-graph';
|
|
17
17
|
import { type DataCubeQuerySnapshotColumn } from './DataCubeQuerySnapshot.js';
|
|
18
18
|
import { type Clazz } from '@finos/legend-shared';
|
|
19
|
-
import { DataCubeAggregateOperator } from './DataCubeQueryEngine.js';
|
|
20
19
|
export declare function _param<T extends V1_ValueSpecification>(func: V1_AppliedFunction, paramIdx: number, clazz: Clazz<T>): T;
|
|
21
20
|
export declare function _colSpecParam(func: V1_AppliedFunction, paramIdx: number): V1_ColSpec;
|
|
22
21
|
export declare function _colSpecArrayParam(func: V1_AppliedFunction, paramIdx: number): V1_ColSpecArray;
|
|
23
22
|
export declare function _funcMatch(value: V1_ValueSpecification | undefined, functionNames: string | string[]): V1_AppliedFunction;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
23
|
+
/**
|
|
24
|
+
* This method prunes expanded paths that are no longer valid due to changes in group by columns.
|
|
25
|
+
* It finds the last common group by column between the previous and current group by columns and
|
|
26
|
+
* prune the expanded paths beyond that point.
|
|
27
|
+
*/
|
|
28
|
+
export declare function _pruneExpandedPaths(prevGroupByCols: DataCubeQuerySnapshotColumn[], currentGroupByCols: DataCubeQuerySnapshotColumn[], expandedPaths: string[]): string[];
|
|
30
29
|
//# sourceMappingURL=DataCubeQuerySnapshotBuilderUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataCubeQuerySnapshotBuilderUtils.d.ts","sourceRoot":"","sources":["../../../src/stores/core/DataCubeQuerySnapshotBuilderUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,kBAAkB,EAElB,UAAU,EACV,eAAe,
|
|
1
|
+
{"version":3,"file":"DataCubeQuerySnapshotBuilderUtils.d.ts","sourceRoot":"","sources":["../../../src/stores/core/DataCubeQuerySnapshotBuilderUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,kBAAkB,EAElB,UAAU,EACV,eAAe,EAGf,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAKL,KAAK,KAAK,EACX,MAAM,sBAAsB,CAAC;AAK9B,wBAAgB,MAAM,CAAC,CAAC,SAAS,qBAAqB,EACpD,IAAI,EAAE,kBAAkB,EACxB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GACd,CAAC,CAUH;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,cAMvE;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,mBAM5E;AAED,wBAAgB,UAAU,CACxB,KAAK,EAAE,qBAAqB,GAAG,SAAS,EACxC,aAAa,EAAE,MAAM,GAAG,MAAM,EAAE,sBAejC;AAID;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,eAAe,EAAE,2BAA2B,EAAE,EAC9C,kBAAkB,EAAE,2BAA2B,EAAE,EACjD,aAAa,EAAE,MAAM,EAAE,YAwBxB"}
|
|
@@ -13,10 +13,10 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { V1_AppliedFunction, V1_ClassInstance, V1_ColSpec, V1_ColSpecArray,
|
|
16
|
+
import { V1_AppliedFunction, V1_ClassInstance, V1_ColSpec, V1_ColSpecArray, extractElementNameFromPath as _name, matchFunctionName, } from '@finos/legend-graph';
|
|
17
17
|
import {} from './DataCubeQuerySnapshot.js';
|
|
18
|
-
import { assertTrue, assertType,
|
|
19
|
-
import {
|
|
18
|
+
import { assertTrue, assertType, guaranteeNonNullable, guaranteeType, } from '@finos/legend-shared';
|
|
19
|
+
import { TREE_COLUMN_VALUE_SEPARATOR } from './DataCubeQueryEngine.js';
|
|
20
20
|
// --------------------------------- UTILITIES ---------------------------------
|
|
21
21
|
export function _param(func, paramIdx, clazz) {
|
|
22
22
|
assertTrue(func.parameters.length >= paramIdx + 1, `Can't process ${_name(func.function)}: Expected at least ${paramIdx + 1} parameter(s)`);
|
|
@@ -33,93 +33,29 @@ export function _funcMatch(value, functionNames) {
|
|
|
33
33
|
assertTrue(matchFunctionName(value.function, Array.isArray(functionNames) ? functionNames : [functionNames]), `Can't process function: Expected function name to be one of [${Array.isArray(functionNames) ? functionNames.join(', ') : functionNames}]`);
|
|
34
34
|
return value;
|
|
35
35
|
}
|
|
36
|
-
//
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
export function
|
|
43
|
-
const
|
|
44
|
-
if (
|
|
45
|
-
return
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
...column,
|
|
61
|
-
operation: DataCubeAggregateOperator.AVERAGE,
|
|
62
|
-
parameters: [],
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
else if (matchFunctionName(func.function, DataCubeFunction.MIN)) {
|
|
66
|
-
return {
|
|
67
|
-
...column,
|
|
68
|
-
operation: DataCubeAggregateOperator.MIN,
|
|
69
|
-
parameters: [],
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
else if (matchFunctionName(func.function, DataCubeFunction.MAX)) {
|
|
73
|
-
return {
|
|
74
|
-
...column,
|
|
75
|
-
operation: DataCubeAggregateOperator.MAX,
|
|
76
|
-
parameters: [],
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
else if (matchFunctionName(func.function, DataCubeFunction.FIRST)) {
|
|
80
|
-
return {
|
|
81
|
-
...column,
|
|
82
|
-
operation: DataCubeAggregateOperator.FIRST,
|
|
83
|
-
parameters: [],
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
else if (matchFunctionName(func.function, DataCubeFunction.LAST)) {
|
|
87
|
-
return {
|
|
88
|
-
...column,
|
|
89
|
-
operation: DataCubeAggregateOperator.LAST,
|
|
90
|
-
parameters: [],
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
else if (matchFunctionName(func.function, DataCubeFunction.VARIANCE_POPULATION)) {
|
|
94
|
-
return {
|
|
95
|
-
...column,
|
|
96
|
-
operation: DataCubeAggregateOperator.VARIANCE_POPULATION,
|
|
97
|
-
parameters: [],
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
else if (matchFunctionName(func.function, DataCubeFunction.VARIANCE_SAMPLE)) {
|
|
101
|
-
return {
|
|
102
|
-
...column,
|
|
103
|
-
operation: DataCubeAggregateOperator.VARIANCE_SAMPLE,
|
|
104
|
-
parameters: [],
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
else if (matchFunctionName(func.function, DataCubeFunction.STANDARD_DEVIATION_POPULATION)) {
|
|
108
|
-
return {
|
|
109
|
-
...column,
|
|
110
|
-
operation: DataCubeAggregateOperator.STANDARD_DEVIATION_POPULATION,
|
|
111
|
-
parameters: [],
|
|
112
|
-
};
|
|
113
|
-
}
|
|
114
|
-
else if (matchFunctionName(func.function, DataCubeFunction.STANDARD_DEVIATION_SAMPLE)) {
|
|
115
|
-
return {
|
|
116
|
-
...column,
|
|
117
|
-
operation: DataCubeAggregateOperator.STANDARD_DEVIATION_SAMPLE,
|
|
118
|
-
parameters: [],
|
|
119
|
-
};
|
|
120
|
-
}
|
|
121
|
-
else {
|
|
122
|
-
throw new UnsupportedOperationError(`Unsupported aggregate function '${func.function}'`);
|
|
123
|
-
}
|
|
36
|
+
// --------------------------------- BUILDING BLOCKS ---------------------------------
|
|
37
|
+
/**
|
|
38
|
+
* This method prunes expanded paths that are no longer valid due to changes in group by columns.
|
|
39
|
+
* It finds the last common group by column between the previous and current group by columns and
|
|
40
|
+
* prune the expanded paths beyond that point.
|
|
41
|
+
*/
|
|
42
|
+
export function _pruneExpandedPaths(prevGroupByCols, currentGroupByCols, expandedPaths) {
|
|
43
|
+
const length = Math.min(prevGroupByCols.length, currentGroupByCols.length);
|
|
44
|
+
if (!length) {
|
|
45
|
+
return [];
|
|
46
|
+
}
|
|
47
|
+
let lastCommonIndex = -1;
|
|
48
|
+
for (let i = 0; i < length; i++) {
|
|
49
|
+
if (guaranteeNonNullable(prevGroupByCols[i]).name !==
|
|
50
|
+
guaranteeNonNullable(currentGroupByCols[i]).name ||
|
|
51
|
+
guaranteeNonNullable(prevGroupByCols[i]).type !==
|
|
52
|
+
guaranteeNonNullable(currentGroupByCols[i]).type) {
|
|
53
|
+
break;
|
|
54
|
+
}
|
|
55
|
+
lastCommonIndex = i;
|
|
56
|
+
}
|
|
57
|
+
return expandedPaths
|
|
58
|
+
.filter((path) => path.split(TREE_COLUMN_VALUE_SEPARATOR).length <= lastCommonIndex + 1)
|
|
59
|
+
.sort();
|
|
124
60
|
}
|
|
125
61
|
//# sourceMappingURL=DataCubeQuerySnapshotBuilderUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataCubeQuerySnapshotBuilderUtils.js","sourceRoot":"","sources":["../../../src/stores/core/DataCubeQuerySnapshotBuilderUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,
|
|
1
|
+
{"version":3,"file":"DataCubeQuerySnapshotBuilderUtils.js","sourceRoot":"","sources":["../../../src/stores/core/DataCubeQuerySnapshotBuilderUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,7 +27,7 @@ export class DataCubeQuerySnapshotController {
|
|
|
27
27
|
}
|
|
28
28
|
publishSnapshot(snapshot) {
|
|
29
29
|
if (this.view.engine.enableDebugMode) {
|
|
30
|
-
this.view.application.debugProcess(`New Snapshot`, '\nSnapshot', snapshot, '\nPrevious Snapshot', this.latestSnapshot ?? {}, '\nDiff', deepDiff(
|
|
30
|
+
this.view.application.debugProcess(`New Snapshot`, '\nSnapshot', snapshot, '\nPrevious Snapshot', this.latestSnapshot ?? {}, '\nDiff', deepDiff(this.latestSnapshot ?? {}, snapshot));
|
|
31
31
|
}
|
|
32
32
|
this.latestSnapshot = snapshot;
|
|
33
33
|
this.view.snapshotManager.broadcastSnapshot(snapshot);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataCubeQuerySnapshotManager.js","sourceRoot":"","sources":["../../../src/stores/core/DataCubeQuerySnapshotManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,QAAQ,EACR,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAW9B,MAAM,OAAgB,+BAA+B;IAG1C,IAAI,CAAqB;IAE1B,cAAc,CAAoC;IAE1D,YAAY,IAAuB;QACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAOD,KAAK,CAAC,eAAe,CAAC,QAA+B;QACnD,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;QAC/B,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IACvD,CAAC;IAED,eAAe,CAAC,QAA+B;QAC7C,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAChC,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,qBAAqB,EACrB,IAAI,CAAC,cAAc,IAAI,EAAE,EACzB,QAAQ,EACR,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"DataCubeQuerySnapshotManager.js","sourceRoot":"","sources":["../../../src/stores/core/DataCubeQuerySnapshotManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import type { DataCubeViewState } from '../DataCubeViewState.js';
|
|
17
|
-
import type
|
|
17
|
+
import { type DataCubeQuerySnapshot } from '../core/DataCubeQuerySnapshot.js';
|
|
18
18
|
import type { DataCubeQueryEditorPanelState } from './DataCubeEditorPanelState.js';
|
|
19
19
|
import type { DataCubeEditorState } from './DataCubeEditorState.js';
|
|
20
20
|
import { DataCubeEditorMutableConfiguration } from './DataCubeEditorMutableConfiguration.js';
|
|
@@ -28,7 +28,6 @@ export declare class DataCubeEditorGeneralPropertiesPanelState implements DataCu
|
|
|
28
28
|
constructor(editor: DataCubeEditorState);
|
|
29
29
|
setName(val: string): void;
|
|
30
30
|
setLimit(val: number): void;
|
|
31
|
-
setConfiguration(val: DataCubeEditorMutableConfiguration): void;
|
|
32
31
|
applySnaphot(snapshot: DataCubeQuerySnapshot, configuration: DataCubeConfiguration): void;
|
|
33
32
|
buildSnapshot(newSnapshot: DataCubeQuerySnapshot, baseSnapshot: DataCubeQuerySnapshot): void;
|
|
34
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataCubeEditorGeneralPropertiesPanelState.d.ts","sourceRoot":"","sources":["../../../src/stores/editor/DataCubeEditorGeneralPropertiesPanelState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"DataCubeEditorGeneralPropertiesPanelState.d.ts","sourceRoot":"","sources":["../../../src/stores/editor/DataCubeEditorGeneralPropertiesPanelState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AACnF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,kCAAkC,EAAE,MAAM,yCAAyC,CAAC;AAC7F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAE9E,qBAAa,yCACX,YAAW,6BAA6B;IAExC,QAAQ,CAAC,IAAI,EAAG,iBAAiB,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAG,mBAAmB,CAAC;IAEtC,IAAI,SAAM;IACV,KAAK,SAAM;IACX,aAAa,qCAA4C;gBAE7C,MAAM,EAAE,mBAAmB;IAiBvC,OAAO,CAAC,GAAG,EAAE,MAAM;IAInB,QAAQ,CAAC,GAAG,EAAE,MAAM;IAIpB,YAAY,CACV,QAAQ,EAAE,qBAAqB,EAC/B,aAAa,EAAE,qBAAqB;IAatC,aAAa,CACX,WAAW,EAAE,qBAAqB,EAClC,YAAY,EAAE,qBAAqB;CAOtC"}
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import { action, makeObservable, observable } from 'mobx';
|
|
17
|
+
import {} from '../core/DataCubeQuerySnapshot.js';
|
|
17
18
|
import { DataCubeEditorMutableConfiguration } from './DataCubeEditorMutableConfiguration.js';
|
|
18
19
|
export class DataCubeEditorGeneralPropertiesPanelState {
|
|
19
20
|
view;
|
|
@@ -23,12 +24,12 @@ export class DataCubeEditorGeneralPropertiesPanelState {
|
|
|
23
24
|
configuration = new DataCubeEditorMutableConfiguration();
|
|
24
25
|
constructor(editor) {
|
|
25
26
|
makeObservable(this, {
|
|
27
|
+
configuration: observable,
|
|
26
28
|
name: observable,
|
|
27
29
|
setName: action,
|
|
28
30
|
limit: observable,
|
|
29
31
|
setLimit: action,
|
|
30
|
-
|
|
31
|
-
setConfiguration: action,
|
|
32
|
+
applySnaphot: action,
|
|
32
33
|
});
|
|
33
34
|
this.editor = editor;
|
|
34
35
|
this.view = editor.view;
|
|
@@ -39,15 +40,12 @@ export class DataCubeEditorGeneralPropertiesPanelState {
|
|
|
39
40
|
setLimit(val) {
|
|
40
41
|
this.limit = val;
|
|
41
42
|
}
|
|
42
|
-
setConfiguration(val) {
|
|
43
|
-
this.configuration = val;
|
|
44
|
-
}
|
|
45
43
|
applySnaphot(snapshot, configuration) {
|
|
46
44
|
this.setName(snapshot.data.name);
|
|
47
45
|
this.setLimit(snapshot.data.limit !== undefined && snapshot.data.limit >= 0
|
|
48
46
|
? snapshot.data.limit
|
|
49
47
|
: -1);
|
|
50
|
-
this.
|
|
48
|
+
this.configuration = DataCubeEditorMutableConfiguration.create(snapshot.data.configuration);
|
|
51
49
|
}
|
|
52
50
|
buildSnapshot(newSnapshot, baseSnapshot) {
|
|
53
51
|
const data = newSnapshot.data;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataCubeEditorGeneralPropertiesPanelState.js","sourceRoot":"","sources":["../../../src/stores/editor/DataCubeEditorGeneralPropertiesPanelState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"DataCubeEditorGeneralPropertiesPanelState.js","sourceRoot":"","sources":["../../../src/stores/editor/DataCubeEditorGeneralPropertiesPanelState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAE1D,OAAO,EAA8B,MAAM,kCAAkC,CAAC;AAG9E,OAAO,EAAE,kCAAkC,EAAE,MAAM,yCAAyC,CAAC;AAG7F,MAAM,OAAO,yCAAyC;IAG3C,IAAI,CAAqB;IACzB,MAAM,CAAuB;IAEtC,IAAI,GAAG,EAAE,CAAC;IACV,KAAK,GAAG,CAAC,CAAC,CAAC;IACX,aAAa,GAAG,IAAI,kCAAkC,EAAE,CAAC;IAEzD,YAAY,MAA2B;QACrC,cAAc,CAAC,IAAI,EAAE;YACnB,aAAa,EAAE,UAAU;YAEzB,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,MAAM;YAEf,KAAK,EAAE,UAAU;YACjB,QAAQ,EAAE,MAAM;YAEhB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,OAAO,CAAC,GAAW;QACjB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IAClB,CAAC;IAED,QAAQ,CAAC,GAAW;QAClB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;IACnB,CAAC;IAED,YAAY,CACV,QAA+B,EAC/B,aAAoC;QAEpC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,QAAQ,CACX,QAAQ,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;YAC3D,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK;YACrB,CAAC,CAAC,CAAC,CAAC,CACP,CAAC;QACF,IAAI,CAAC,aAAa,GAAG,kCAAkC,CAAC,MAAM,CAC5D,QAAQ,CAAC,IAAI,CAAC,aAAa,CAC5B,CAAC;IACJ,CAAC;IAED,aAAa,CACX,WAAkC,EAClC,YAAmC;QAEnC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QACrD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;IACtD,CAAC;CACF"}
|