@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.
Files changed (108) hide show
  1. package/lib/components/editor/DataCubeEditorColumnPropertiesPanel.d.ts.map +1 -1
  2. package/lib/components/editor/DataCubeEditorColumnPropertiesPanel.js +7 -4
  3. package/lib/components/editor/DataCubeEditorColumnPropertiesPanel.js.map +1 -1
  4. package/lib/components/editor/DataCubeEditorGeneralPropertiesPanel.d.ts.map +1 -1
  5. package/lib/components/editor/DataCubeEditorGeneralPropertiesPanel.js +10 -15
  6. package/lib/components/editor/DataCubeEditorGeneralPropertiesPanel.js.map +1 -1
  7. package/lib/components/editor/DataCubeEditorSortsPanel.d.ts.map +1 -1
  8. package/lib/components/editor/DataCubeEditorSortsPanel.js +9 -9
  9. package/lib/components/editor/DataCubeEditorSortsPanel.js.map +1 -1
  10. package/lib/index.css +1 -1
  11. package/lib/package.json +1 -1
  12. package/lib/stores/core/DataCubeConfiguration.d.ts +13 -7
  13. package/lib/stores/core/DataCubeConfiguration.d.ts.map +1 -1
  14. package/lib/stores/core/DataCubeConfiguration.js +25 -15
  15. package/lib/stores/core/DataCubeConfiguration.js.map +1 -1
  16. package/lib/stores/core/DataCubeConfigurationBuilder.d.ts.map +1 -1
  17. package/lib/stores/core/DataCubeConfigurationBuilder.js +3 -2
  18. package/lib/stores/core/DataCubeConfigurationBuilder.js.map +1 -1
  19. package/lib/stores/core/DataCubeQueryBuilder.d.ts.map +1 -1
  20. package/lib/stores/core/DataCubeQueryBuilder.js +23 -17
  21. package/lib/stores/core/DataCubeQueryBuilder.js.map +1 -1
  22. package/lib/stores/core/DataCubeQueryBuilderUtils.js +2 -2
  23. package/lib/stores/core/DataCubeQueryBuilderUtils.js.map +1 -1
  24. package/lib/stores/core/DataCubeQueryEngine.d.ts +19 -11
  25. package/lib/stores/core/DataCubeQueryEngine.d.ts.map +1 -1
  26. package/lib/stores/core/DataCubeQueryEngine.js +21 -14
  27. package/lib/stores/core/DataCubeQueryEngine.js.map +1 -1
  28. package/lib/stores/core/DataCubeQuerySnapshot.d.ts +1 -1
  29. package/lib/stores/core/DataCubeQuerySnapshotBuilder.d.ts.map +1 -1
  30. package/lib/stores/core/DataCubeQuerySnapshotBuilder.js +131 -80
  31. package/lib/stores/core/DataCubeQuerySnapshotBuilder.js.map +1 -1
  32. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.d.ts +6 -7
  33. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.d.ts.map +1 -1
  34. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.js +27 -91
  35. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.js.map +1 -1
  36. package/lib/stores/core/DataCubeQuerySnapshotManager.js +1 -1
  37. package/lib/stores/core/DataCubeQuerySnapshotManager.js.map +1 -1
  38. package/lib/stores/editor/DataCubeEditorGeneralPropertiesPanelState.d.ts +1 -2
  39. package/lib/stores/editor/DataCubeEditorGeneralPropertiesPanelState.d.ts.map +1 -1
  40. package/lib/stores/editor/DataCubeEditorGeneralPropertiesPanelState.js +4 -6
  41. package/lib/stores/editor/DataCubeEditorGeneralPropertiesPanelState.js.map +1 -1
  42. package/lib/stores/editor/DataCubeEditorMutableConfiguration.d.ts +15 -8
  43. package/lib/stores/editor/DataCubeEditorMutableConfiguration.d.ts.map +1 -1
  44. package/lib/stores/editor/DataCubeEditorMutableConfiguration.js +50 -26
  45. package/lib/stores/editor/DataCubeEditorMutableConfiguration.js.map +1 -1
  46. package/lib/stores/editor/DataCubeEditorPivotLayoutPanelState.d.ts +30 -0
  47. package/lib/stores/editor/DataCubeEditorPivotLayoutPanelState.d.ts.map +1 -0
  48. package/lib/stores/editor/DataCubeEditorPivotLayoutPanelState.js +43 -0
  49. package/lib/stores/editor/DataCubeEditorPivotLayoutPanelState.js.map +1 -0
  50. package/lib/stores/editor/DataCubeEditorSortsPanelState.d.ts +3 -3
  51. package/lib/stores/editor/DataCubeEditorSortsPanelState.d.ts.map +1 -1
  52. package/lib/stores/editor/DataCubeEditorSortsPanelState.js +11 -11
  53. package/lib/stores/editor/DataCubeEditorSortsPanelState.js.map +1 -1
  54. package/lib/stores/editor/DataCubeEditorState.d.ts +2 -0
  55. package/lib/stores/editor/DataCubeEditorState.d.ts.map +1 -1
  56. package/lib/stores/editor/DataCubeEditorState.js +5 -0
  57. package/lib/stores/editor/DataCubeEditorState.js.map +1 -1
  58. package/lib/stores/extend/DataCubeExtendManagerState.js +1 -1
  59. package/lib/stores/extend/DataCubeExtendManagerState.js.map +1 -1
  60. package/lib/stores/grid/DataCubeGridClientEngine.d.ts.map +1 -1
  61. package/lib/stores/grid/DataCubeGridClientEngine.js +41 -36
  62. package/lib/stores/grid/DataCubeGridClientEngine.js.map +1 -1
  63. package/lib/stores/grid/DataCubeGridConfigurationBuilder.d.ts.map +1 -1
  64. package/lib/stores/grid/DataCubeGridConfigurationBuilder.js +39 -3
  65. package/lib/stores/grid/DataCubeGridConfigurationBuilder.js.map +1 -1
  66. package/lib/stores/grid/DataCubeGridControllerState.d.ts +6 -3
  67. package/lib/stores/grid/DataCubeGridControllerState.d.ts.map +1 -1
  68. package/lib/stores/grid/DataCubeGridControllerState.js +35 -17
  69. package/lib/stores/grid/DataCubeGridControllerState.js.map +1 -1
  70. package/lib/stores/grid/DataCubeGridMenuBuilder.d.ts.map +1 -1
  71. package/lib/stores/grid/DataCubeGridMenuBuilder.js +52 -31
  72. package/lib/stores/grid/DataCubeGridMenuBuilder.js.map +1 -1
  73. package/lib/stores/grid/DataCubeGridQueryBuilder.d.ts.map +1 -1
  74. package/lib/stores/grid/DataCubeGridQueryBuilder.js +3 -3
  75. package/lib/stores/grid/DataCubeGridQueryBuilder.js.map +1 -1
  76. package/lib/stores/grid/DataCubeGridQuerySnapshotBuilder.d.ts.map +1 -1
  77. package/lib/stores/grid/DataCubeGridQuerySnapshotBuilder.js +14 -7
  78. package/lib/stores/grid/DataCubeGridQuerySnapshotBuilder.js.map +1 -1
  79. package/lib/stores/grid/DataCubeGridState.d.ts.map +1 -1
  80. package/lib/stores/grid/DataCubeGridState.js +9 -5
  81. package/lib/stores/grid/DataCubeGridState.js.map +1 -1
  82. package/package.json +2 -2
  83. package/src/components/editor/DataCubeEditorColumnPropertiesPanel.tsx +11 -5
  84. package/src/components/editor/DataCubeEditorGeneralPropertiesPanel.tsx +94 -101
  85. package/src/components/editor/DataCubeEditorSortsPanel.tsx +12 -10
  86. package/src/stores/core/DataCubeConfiguration.ts +33 -15
  87. package/src/stores/core/DataCubeConfigurationBuilder.ts +3 -2
  88. package/src/stores/core/DataCubeQueryBuilder.ts +33 -20
  89. package/src/stores/core/DataCubeQueryBuilderUtils.ts +2 -2
  90. package/src/stores/core/DataCubeQueryEngine.ts +22 -12
  91. package/src/stores/core/DataCubeQuerySnapshot.ts +1 -1
  92. package/src/stores/core/DataCubeQuerySnapshotBuilder.ts +135 -120
  93. package/src/stores/core/DataCubeQuerySnapshotBuilderUtils.ts +33 -107
  94. package/src/stores/core/DataCubeQuerySnapshotManager.ts +1 -1
  95. package/src/stores/editor/DataCubeEditorGeneralPropertiesPanelState.ts +6 -9
  96. package/src/stores/editor/DataCubeEditorMutableConfiguration.ts +68 -28
  97. package/src/stores/editor/DataCubeEditorPivotLayoutPanelState.ts +71 -0
  98. package/src/stores/editor/DataCubeEditorSortsPanelState.ts +11 -11
  99. package/src/stores/editor/DataCubeEditorState.tsx +5 -0
  100. package/src/stores/extend/DataCubeExtendManagerState.tsx +1 -1
  101. package/src/stores/grid/DataCubeGridClientEngine.ts +52 -48
  102. package/src/stores/grid/DataCubeGridConfigurationBuilder.tsx +45 -4
  103. package/src/stores/grid/DataCubeGridControllerState.ts +44 -20
  104. package/src/stores/grid/DataCubeGridMenuBuilder.tsx +81 -52
  105. package/src/stores/grid/DataCubeGridQueryBuilder.ts +3 -7
  106. package/src/stores/grid/DataCubeGridQuerySnapshotBuilder.ts +20 -7
  107. package/src/stores/grid/DataCubeGridState.ts +9 -5
  108. 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 { DataCubeQuerySortOperator, DataCubeFunction, } from './DataCubeQueryEngine.js';
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
- // NOTE: this corresponds to the sequence:
42
- // extend()->filter()->select()->sort()->pivot()->cast()->groupBy()->extend()->sort()->limit()
43
- // which represents the ONLY query shape that we currently support
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
- name: 'pivot_group',
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
- { name: 'pivot_sort', func: DataCubeFunction.SORT, required: true }, // pre-pivot sort
52
- { name: 'pivot', func: DataCubeFunction.PIVOT, required: true },
53
- { name: 'pivot_cast', func: DataCubeFunction.CAST, required: true }, // cast to a relation type post pivot() to enable type-checking
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
- { name: 'group_by', func: DataCubeFunction.GROUP_BY },
57
- { name: 'group_extend', func: DataCubeFunction.EXTEND }, // group-level extend
58
- { name: 'sort', func: DataCubeFunction.SORT },
59
- { name: 'limit', func: DataCubeFunction.LIMIT },
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.map((childNode) => `(?<${childNode.name}><${_name(childNode.func)}>)${childNode.repeat ? '*' : !childNode.required ? '?' : ''}`)})${node.repeat ? '*' : !node.required ? '?' : ''}`
64
- : `(?<${node.name}><${_name(node.func)}>)${node.repeat ? '*' : !node.required ? '?' : ''}`)
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
- * Since the query created by DataCube will be a chain call of various functions,
68
- * this utility function will extract that sequence of function calls as well as
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 extractQueryFunctionSequence(query) {
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
- return {
107
- sequence,
108
- leafExtend: Boolean(matchResult.groups?.leaf_extend),
109
- pivot: Boolean(matchResult.groups?.pivot),
110
- groupExtend: Boolean(matchResult.groups?.group_extend),
111
- sort: Boolean(matchResult.groups?.sort),
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: leafExtend,
144
- select,
145
- filter,
146
- groupBy,
147
- pivotSort,
148
- pivot,
149
- pivotCast,
150
- groupExtend,
151
- sort,
152
- limit,
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 sequenceMatchingResult = extractQueryFunctionSequence(partialQuery);
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 group-by agg columns, pivot agg columns and configuration agree
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 group-by agg columns, pivot agg columns and configuration agree
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
- operation: _name(sortColFunc.function) === DataCubeFunction.ASC
211
- ? DataCubeQuerySortOperator.ASCENDING
212
- : DataCubeQuerySortOperator.DESCENDING,
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 group-by agg columns, pivot agg columns and configuration agree
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":"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"}
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
- export declare function _aggCol(colSpec: V1_ColSpec, column: DataCubeQuerySnapshotColumn): {
25
- operation: DataCubeAggregateOperator;
26
- parameters: never[];
27
- name: string;
28
- type: string;
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,EAIf,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAKL,KAAK,KAAK,EACX,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,yBAAyB,EAC1B,MAAM,0BAA0B,CAAC;AAIlC,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;AAgBD,wBAAgB,OAAO,CACrB,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,2BAA2B;;;;;EAwFpC"}
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, V1_Lambda, extractElementNameFromPath as _name, matchFunctionName, } from '@finos/legend-graph';
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, guaranteeType, UnsupportedOperationError, } from '@finos/legend-shared';
19
- import { DataCubeFunction, DataCubeAggregateOperator, } from './DataCubeQueryEngine.js';
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
- // TODO: move these functions out into aggregator utils when we make agg operator handling systematic
37
- // similar to what we did with filter
38
- function _aggFuncMatch(value, functionNames) {
39
- assertType(value, V1_Lambda, `Can't process aggregation: Found unexpected value specification type`);
40
- return _funcMatch(value.body[0], functionNames);
41
- }
42
- export function _aggCol(colSpec, column) {
43
- const func = _aggFuncMatch(colSpec.function2, Object.values(DataCubeFunction));
44
- if (matchFunctionName(func.function, DataCubeFunction.COUNT)) {
45
- return {
46
- ...column,
47
- operation: DataCubeAggregateOperator.COUNT,
48
- parameters: [],
49
- };
50
- }
51
- else if (matchFunctionName(func.function, DataCubeFunction.SUM)) {
52
- return {
53
- ...column,
54
- operation: DataCubeAggregateOperator.SUM,
55
- parameters: [],
56
- };
57
- }
58
- else if (matchFunctionName(func.function, DataCubeFunction.AVERAGE)) {
59
- return {
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":"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"}
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(snapshot, this.latestSnapshot ?? {}));
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":"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"}
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,IAAI,CAAC,cAAc,IAAI,EAAE,EAAE,QAAQ,CAAC,CAC9C,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,OAAO,4BAA4B;IACtB,IAAI,CAAoB;IACxB,WAAW,GAAsC,EAAE,CAAC;IACpD,SAAS,GAA4B,EAAE,CAAC;IAEjD,gBAAgB,CAAoC;IACpD,aAAa,CAA4B;IAEjD,YAAY,IAAuB;QACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,kBAAkB,CAAC,UAA2C;QAC5D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED,UAAU,CACR,eAAsC,EACtC,YAA2B;QAE3B,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAChD,MAAM,IAAI,iBAAiB,CACzB,+CAA+C,CAChD,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;QACxC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IACpC,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,oBAAoB,CACzB,IAAI,CAAC,gBAAgB,EACrB,2CAA2C,CAC5C,CAAC;IACJ,CAAC;IAED,IAAI,YAAY;QACd,OAAO,oBAAoB,CACzB,IAAI,CAAC,aAAa,EAClB,2CAA2C,CAC5C,CAAC;IACJ,CAAC;IAED,iBAAiB,CAAC,QAA+B;QAC/C,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,oBAAoB,CACxC,gDAAgD,CACjD,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;YACtC,MAAM,eAAe,GAAG,UAAU,CAAC,iBAAiB,EAAE,CAAC;YACvD,IAAI,eAAe,EAAE,IAAI,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC5C,UAAU,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;oBAC5D,iBAAiB,CAAC,KAAK,CAAC,CAAC;oBACzB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,oBAAoB,CACxC,kGAAkG,EAClG,KAAK,CACN,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CAGF"}
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import type { DataCubeViewState } from '../DataCubeViewState.js';
17
- import type { DataCubeQuerySnapshot } from '../core/DataCubeQuerySnapshot.js';
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,EAAE,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;IAgBvC,OAAO,CAAC,GAAG,EAAE,MAAM;IAInB,QAAQ,CAAC,GAAG,EAAE,MAAM;IAIpB,gBAAgB,CAAC,GAAG,EAAE,kCAAkC;IAIxD,YAAY,CACV,QAAQ,EAAE,qBAAqB,EAC/B,aAAa,EAAE,qBAAqB;IAatC,aAAa,CACX,WAAW,EAAE,qBAAqB,EAClC,YAAY,EAAE,qBAAqB;CAOtC"}
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
- configuration: observable,
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.setConfiguration(DataCubeEditorMutableConfiguration.create(snapshot.data.configuration));
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;AAK1D,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,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,MAAM;YAEf,KAAK,EAAE,UAAU;YACjB,QAAQ,EAAE,MAAM;YAEhB,aAAa,EAAE,UAAU;YACzB,gBAAgB,EAAE,MAAM;SACzB,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,gBAAgB,CAAC,GAAuC;QACtD,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;IAC3B,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,gBAAgB,CACnB,kCAAkC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CACvE,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"}
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"}