@finos/legend-application-repl 0.0.29 → 0.0.31

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 (189) hide show
  1. package/lib/components/dataCube/DataCube.d.ts.map +1 -1
  2. package/lib/components/dataCube/DataCube.js +13 -9
  3. package/lib/components/dataCube/DataCube.js.map +1 -1
  4. package/lib/components/dataCube/editor/DataCubeEditor.d.ts.map +1 -1
  5. package/lib/components/dataCube/editor/DataCubeEditor.js +4 -2
  6. package/lib/components/dataCube/editor/DataCubeEditor.js.map +1 -1
  7. package/lib/components/dataCube/editor/DataCubeEditorCodePanel.js +2 -2
  8. package/lib/components/dataCube/editor/DataCubeEditorCodePanel.js.map +1 -1
  9. package/lib/components/dataCube/editor/DataCubeEditorColumnPropertiesPanel.d.ts.map +1 -1
  10. package/lib/components/dataCube/editor/DataCubeEditorColumnPropertiesPanel.js +163 -6
  11. package/lib/components/dataCube/editor/DataCubeEditorColumnPropertiesPanel.js.map +1 -1
  12. package/lib/components/dataCube/editor/DataCubeEditorColumnsPanel.js +2 -2
  13. package/lib/components/dataCube/editor/DataCubeEditorColumnsPanel.js.map +1 -1
  14. package/lib/components/dataCube/editor/DataCubeEditorColumnsSelector.d.ts +5 -0
  15. package/lib/components/dataCube/editor/DataCubeEditorColumnsSelector.d.ts.map +1 -1
  16. package/lib/components/dataCube/editor/DataCubeEditorColumnsSelector.js +130 -47
  17. package/lib/components/dataCube/editor/DataCubeEditorColumnsSelector.js.map +1 -1
  18. package/lib/{stores/dataCube/DataCubeDefaultConfig.d.ts → components/dataCube/editor/DataCubeEditorDeveloperPanel.d.ts} +4 -2
  19. package/lib/components/dataCube/editor/DataCubeEditorDeveloperPanel.d.ts.map +1 -0
  20. package/lib/components/dataCube/editor/DataCubeEditorDeveloperPanel.js +27 -0
  21. package/lib/components/dataCube/editor/DataCubeEditorDeveloperPanel.js.map +1 -0
  22. package/lib/components/dataCube/editor/DataCubeEditorExtendedColumnsPanel.js +2 -2
  23. package/lib/components/dataCube/editor/DataCubeEditorExtendedColumnsPanel.js.map +1 -1
  24. package/lib/components/dataCube/editor/DataCubeEditorFilterPanel.js +2 -2
  25. package/lib/components/dataCube/editor/DataCubeEditorFilterPanel.js.map +1 -1
  26. package/lib/components/dataCube/editor/DataCubeEditorGeneralPropertiesPanel.d.ts.map +1 -1
  27. package/lib/components/dataCube/editor/DataCubeEditorGeneralPropertiesPanel.js +104 -5
  28. package/lib/components/dataCube/editor/DataCubeEditorGeneralPropertiesPanel.js.map +1 -1
  29. package/lib/components/dataCube/editor/DataCubeEditorHPivotsPanel.js +2 -2
  30. package/lib/components/dataCube/editor/DataCubeEditorHPivotsPanel.js.map +1 -1
  31. package/lib/components/dataCube/editor/DataCubeEditorShared.d.ts +46 -0
  32. package/lib/components/dataCube/editor/DataCubeEditorShared.d.ts.map +1 -0
  33. package/lib/components/dataCube/editor/DataCubeEditorShared.js +171 -0
  34. package/lib/components/dataCube/editor/DataCubeEditorShared.js.map +1 -0
  35. package/lib/components/dataCube/editor/DataCubeEditorSortsPanel.d.ts.map +1 -1
  36. package/lib/components/dataCube/editor/DataCubeEditorSortsPanel.js +36 -3
  37. package/lib/components/dataCube/editor/DataCubeEditorSortsPanel.js.map +1 -1
  38. package/lib/components/dataCube/editor/DataCubeEditorVPivotsPanel.js +2 -2
  39. package/lib/components/dataCube/editor/DataCubeEditorVPivotsPanel.js.map +1 -1
  40. package/lib/components/dataCube/grid/DataCubeGrid.d.ts.map +1 -1
  41. package/lib/components/dataCube/grid/DataCubeGrid.js +42 -26
  42. package/lib/components/dataCube/grid/DataCubeGrid.js.map +1 -1
  43. package/{src/stores/dataCube/DataCubeDefaultConfig.ts → lib/components/dataCube/grid/DataCubeGridShared.d.ts} +3 -2
  44. package/lib/components/dataCube/grid/DataCubeGridShared.d.ts.map +1 -0
  45. package/lib/components/dataCube/grid/DataCubeGridShared.js +25 -0
  46. package/lib/components/dataCube/grid/DataCubeGridShared.js.map +1 -0
  47. package/lib/components/dataCube/grid/menu/DataCubeGridMenu.d.ts +23 -0
  48. package/lib/components/dataCube/grid/menu/DataCubeGridMenu.d.ts.map +1 -0
  49. package/lib/components/dataCube/grid/menu/DataCubeGridMenu.js +382 -0
  50. package/lib/components/dataCube/grid/menu/DataCubeGridMenu.js.map +1 -0
  51. package/lib/{stores/dataCube/DataCubeDefaultConfig.js → components/dataCube/grid/menu/DataCubeGridSortsMenu.d.ts} +4 -2
  52. package/lib/components/dataCube/grid/menu/DataCubeGridSortsMenu.d.ts.map +1 -0
  53. package/lib/components/dataCube/grid/menu/DataCubeGridSortsMenu.js +83 -0
  54. package/lib/components/dataCube/grid/menu/DataCubeGridSortsMenu.js.map +1 -0
  55. package/lib/index.css +2 -2
  56. package/lib/index.css.map +1 -1
  57. package/lib/package.json +4 -2
  58. package/lib/server/models/DataCubeQuery.d.ts +3 -5
  59. package/lib/server/models/DataCubeQuery.d.ts.map +1 -1
  60. package/lib/server/models/DataCubeQuery.js +0 -2
  61. package/lib/server/models/DataCubeQuery.js.map +1 -1
  62. package/lib/stores/dataCube/DataCubeState.d.ts +11 -2
  63. package/lib/stores/dataCube/DataCubeState.d.ts.map +1 -1
  64. package/lib/stores/dataCube/DataCubeState.js +34 -5
  65. package/lib/stores/dataCube/DataCubeState.js.map +1 -1
  66. package/lib/stores/dataCube/REPLStore.d.ts +1 -1
  67. package/lib/stores/dataCube/REPLStore.d.ts.map +1 -1
  68. package/lib/stores/dataCube/REPLStore.js +3 -3
  69. package/lib/stores/dataCube/REPLStore.js.map +1 -1
  70. package/lib/stores/dataCube/core/DataCubeConfiguration.d.ts +89 -0
  71. package/lib/stores/dataCube/core/DataCubeConfiguration.d.ts.map +1 -0
  72. package/lib/stores/dataCube/core/DataCubeConfiguration.js +161 -0
  73. package/lib/stores/dataCube/core/DataCubeConfiguration.js.map +1 -0
  74. package/lib/stores/dataCube/core/DataCubeConfigurationBuilder.d.ts +25 -0
  75. package/lib/stores/dataCube/core/DataCubeConfigurationBuilder.d.ts.map +1 -0
  76. package/lib/stores/dataCube/core/DataCubeConfigurationBuilder.js +44 -0
  77. package/lib/stores/dataCube/core/DataCubeConfigurationBuilder.js.map +1 -0
  78. package/lib/stores/dataCube/core/DataCubeCoreState.d.ts.map +1 -1
  79. package/lib/stores/dataCube/core/DataCubeCoreState.js +3 -3
  80. package/lib/stores/dataCube/core/DataCubeCoreState.js.map +1 -1
  81. package/lib/stores/dataCube/core/DataCubeQueryBuilder.js +8 -8
  82. package/lib/stores/dataCube/core/DataCubeQueryBuilder.js.map +1 -1
  83. package/lib/stores/dataCube/core/DataCubeQueryEngine.d.ts +82 -4
  84. package/lib/stores/dataCube/core/DataCubeQueryEngine.d.ts.map +1 -1
  85. package/lib/stores/dataCube/core/DataCubeQueryEngine.js +131 -3
  86. package/lib/stores/dataCube/core/DataCubeQueryEngine.js.map +1 -1
  87. package/lib/stores/dataCube/core/DataCubeQuerySnapshot.d.ts +19 -5
  88. package/lib/stores/dataCube/core/DataCubeQuerySnapshot.d.ts.map +1 -1
  89. package/lib/stores/dataCube/core/DataCubeQuerySnapshot.js +36 -6
  90. package/lib/stores/dataCube/core/DataCubeQuerySnapshot.js.map +1 -1
  91. package/lib/stores/dataCube/core/DataCubeQuerySnapshotBuilder.d.ts.map +1 -1
  92. package/lib/stores/dataCube/core/DataCubeQuerySnapshotBuilder.js +37 -18
  93. package/lib/stores/dataCube/core/DataCubeQuerySnapshotBuilder.js.map +1 -1
  94. package/lib/stores/dataCube/core/DataCubeQuerySnapshotManager.d.ts.map +1 -1
  95. package/lib/stores/dataCube/core/DataCubeQuerySnapshotManager.js +6 -2
  96. package/lib/stores/dataCube/core/DataCubeQuerySnapshotManager.js.map +1 -1
  97. package/lib/stores/dataCube/editor/DataCubeEditorCodePanelState.d.ts +3 -1
  98. package/lib/stores/dataCube/editor/DataCubeEditorCodePanelState.d.ts.map +1 -1
  99. package/lib/stores/dataCube/editor/DataCubeEditorCodePanelState.js +4 -2
  100. package/lib/stores/dataCube/editor/DataCubeEditorCodePanelState.js.map +1 -1
  101. package/lib/stores/dataCube/editor/DataCubeEditorColumnPropertiesPanelState.d.ts +33 -0
  102. package/lib/stores/dataCube/editor/DataCubeEditorColumnPropertiesPanelState.d.ts.map +1 -0
  103. package/lib/stores/dataCube/editor/DataCubeEditorColumnPropertiesPanelState.js +57 -0
  104. package/lib/stores/dataCube/editor/DataCubeEditorColumnPropertiesPanelState.js.map +1 -0
  105. package/lib/stores/dataCube/editor/DataCubeEditorColumnsSelectorState.d.ts +3 -0
  106. package/lib/stores/dataCube/editor/DataCubeEditorColumnsSelectorState.d.ts.map +1 -1
  107. package/lib/stores/dataCube/editor/DataCubeEditorColumnsSelectorState.js +10 -0
  108. package/lib/stores/dataCube/editor/DataCubeEditorColumnsSelectorState.js.map +1 -1
  109. package/lib/stores/dataCube/editor/DataCubeEditorGeneralPropertiesPanelState.d.ts +8 -3
  110. package/lib/stores/dataCube/editor/DataCubeEditorGeneralPropertiesPanelState.d.ts.map +1 -1
  111. package/lib/stores/dataCube/editor/DataCubeEditorGeneralPropertiesPanelState.js +20 -24
  112. package/lib/stores/dataCube/editor/DataCubeEditorGeneralPropertiesPanelState.js.map +1 -1
  113. package/lib/stores/dataCube/editor/DataCubeEditorHPivotPanelState.d.ts +27 -0
  114. package/lib/stores/dataCube/editor/DataCubeEditorHPivotPanelState.d.ts.map +1 -0
  115. package/lib/stores/dataCube/editor/DataCubeEditorHPivotPanelState.js +30 -0
  116. package/lib/stores/dataCube/editor/DataCubeEditorHPivotPanelState.js.map +1 -0
  117. package/lib/stores/dataCube/editor/DataCubeEditorPanelState.d.ts +1 -1
  118. package/lib/stores/dataCube/editor/DataCubeEditorPanelState.d.ts.map +1 -1
  119. package/lib/stores/dataCube/editor/DataCubeEditorSortsPanelState.d.ts +13 -6
  120. package/lib/stores/dataCube/editor/DataCubeEditorSortsPanelState.d.ts.map +1 -1
  121. package/lib/stores/dataCube/editor/DataCubeEditorSortsPanelState.js +64 -19
  122. package/lib/stores/dataCube/editor/DataCubeEditorSortsPanelState.js.map +1 -1
  123. package/lib/stores/dataCube/editor/DataCubeEditorState.d.ts +4 -1
  124. package/lib/stores/dataCube/editor/DataCubeEditorState.d.ts.map +1 -1
  125. package/lib/stores/dataCube/editor/DataCubeEditorState.js +15 -10
  126. package/lib/stores/dataCube/editor/DataCubeEditorState.js.map +1 -1
  127. package/lib/stores/dataCube/editor/DataCubeMutableConfiguration.d.ts +95 -0
  128. package/lib/stores/dataCube/editor/DataCubeMutableConfiguration.d.ts.map +1 -0
  129. package/lib/stores/dataCube/editor/DataCubeMutableConfiguration.js +369 -0
  130. package/lib/stores/dataCube/editor/DataCubeMutableConfiguration.js.map +1 -0
  131. package/lib/stores/dataCube/grid/DataCubeGridClientEngine.d.ts +7 -2
  132. package/lib/stores/dataCube/grid/DataCubeGridClientEngine.d.ts.map +1 -1
  133. package/lib/stores/dataCube/grid/DataCubeGridClientEngine.js +29 -2
  134. package/lib/stores/dataCube/grid/DataCubeGridClientEngine.js.map +1 -1
  135. package/lib/stores/dataCube/grid/DataCubeGridQueryBuilder.d.ts.map +1 -1
  136. package/lib/stores/dataCube/grid/DataCubeGridQueryBuilder.js +0 -9
  137. package/lib/stores/dataCube/grid/DataCubeGridQueryBuilder.js.map +1 -1
  138. package/lib/stores/dataCube/grid/DataCubeGridQuerySnapshotAnalyzer.d.ts.map +1 -1
  139. package/lib/stores/dataCube/grid/DataCubeGridQuerySnapshotAnalyzer.js +4 -3
  140. package/lib/stores/dataCube/grid/DataCubeGridQuerySnapshotAnalyzer.js.map +1 -1
  141. package/lib/stores/dataCube/grid/DataCubeGridQuerySnapshotBuilder.d.ts.map +1 -1
  142. package/lib/stores/dataCube/grid/DataCubeGridQuerySnapshotBuilder.js +16 -28
  143. package/lib/stores/dataCube/grid/DataCubeGridQuerySnapshotBuilder.js.map +1 -1
  144. package/package.json +10 -8
  145. package/src/components/dataCube/DataCube.tsx +44 -23
  146. package/src/components/dataCube/editor/DataCubeEditor.tsx +6 -1
  147. package/src/components/dataCube/editor/DataCubeEditorCodePanel.tsx +2 -2
  148. package/src/components/dataCube/editor/DataCubeEditorColumnPropertiesPanel.tsx +837 -7
  149. package/src/components/dataCube/editor/DataCubeEditorColumnsPanel.tsx +2 -2
  150. package/src/components/dataCube/editor/DataCubeEditorColumnsSelector.tsx +264 -50
  151. package/src/components/dataCube/editor/DataCubeEditorDeveloperPanel.tsx +41 -0
  152. package/src/components/dataCube/editor/DataCubeEditorExtendedColumnsPanel.tsx +2 -2
  153. package/src/components/dataCube/editor/DataCubeEditorFilterPanel.tsx +2 -2
  154. package/src/components/dataCube/editor/DataCubeEditorGeneralPropertiesPanel.tsx +682 -13
  155. package/src/components/dataCube/editor/DataCubeEditorHPivotsPanel.tsx +2 -2
  156. package/src/components/dataCube/editor/DataCubeEditorShared.tsx +448 -0
  157. package/src/components/dataCube/editor/DataCubeEditorSortsPanel.tsx +103 -4
  158. package/src/components/dataCube/editor/DataCubeEditorVPivotsPanel.tsx +2 -2
  159. package/src/components/dataCube/grid/DataCubeGrid.tsx +65 -32
  160. package/src/components/dataCube/grid/DataCubeGridShared.tsx +41 -0
  161. package/src/components/dataCube/grid/menu/DataCubeGridMenu.tsx +394 -0
  162. package/src/components/dataCube/grid/menu/DataCubeGridSortsMenu.tsx +120 -0
  163. package/src/server/models/DataCubeQuery.ts +2 -6
  164. package/src/stores/dataCube/DataCubeState.ts +39 -5
  165. package/src/stores/dataCube/REPLStore.ts +3 -3
  166. package/src/stores/dataCube/core/DataCubeConfiguration.ts +200 -0
  167. package/src/stores/dataCube/core/DataCubeConfigurationBuilder.ts +56 -0
  168. package/src/stores/dataCube/core/DataCubeCoreState.ts +3 -3
  169. package/src/stores/dataCube/core/DataCubeQueryBuilder.ts +13 -13
  170. package/src/stores/dataCube/core/DataCubeQueryEngine.ts +136 -4
  171. package/src/stores/dataCube/core/DataCubeQuerySnapshot.ts +43 -6
  172. package/src/stores/dataCube/core/DataCubeQuerySnapshotBuilder.ts +45 -24
  173. package/src/stores/dataCube/core/DataCubeQuerySnapshotManager.ts +9 -2
  174. package/src/stores/dataCube/editor/DataCubeEditorCodePanelState.ts +5 -2
  175. package/src/stores/dataCube/editor/DataCubeEditorColumnPropertiesPanelState.ts +82 -0
  176. package/src/stores/dataCube/editor/DataCubeEditorColumnsSelectorState.ts +12 -0
  177. package/src/stores/dataCube/editor/DataCubeEditorGeneralPropertiesPanelState.ts +31 -28
  178. package/src/stores/dataCube/editor/DataCubeEditorHPivotPanelState.ts +43 -0
  179. package/src/stores/dataCube/editor/DataCubeEditorPanelState.ts +1 -1
  180. package/src/stores/dataCube/editor/DataCubeEditorSortsPanelState.ts +92 -25
  181. package/src/stores/dataCube/editor/DataCubeEditorState.ts +17 -10
  182. package/src/stores/dataCube/editor/DataCubeMutableConfiguration.ts +533 -0
  183. package/src/stores/dataCube/grid/DataCubeGridClientEngine.ts +33 -2
  184. package/src/stores/dataCube/grid/DataCubeGridQueryBuilder.ts +0 -10
  185. package/src/stores/dataCube/grid/DataCubeGridQuerySnapshotAnalyzer.tsx +4 -3
  186. package/src/stores/dataCube/grid/DataCubeGridQuerySnapshotBuilder.ts +16 -36
  187. package/tsconfig.json +10 -1
  188. package/lib/stores/dataCube/DataCubeDefaultConfig.d.ts.map +0 -1
  189. package/lib/stores/dataCube/DataCubeDefaultConfig.js.map +0 -1
@@ -13,8 +13,8 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { DataCubeQuerySnapshotSortDirection, _getCol, DataCubeQuerySnapshotAggregateFunction, } from '../core/DataCubeQuerySnapshot.js';
17
- import { IllegalStateError, deepEqual, guaranteeNonNullable, isNonNullable, } from '@finos/legend-shared';
16
+ import { DataCubeQuerySnapshotSortOperation, _getCol, DataCubeQuerySnapshotAggregateFunction, } from '../core/DataCubeQuerySnapshot.js';
17
+ import { IllegalStateError, guaranteeNonNullable, isNonNullable, } from '@finos/legend-shared';
18
18
  import { GridClientAggregateOperation, GridClientSortDirection, } from './DataCubeGridClientEngine.js';
19
19
  // --------------------------------- UTILITIES ---------------------------------
20
20
  function _aggFunc(func) {
@@ -35,12 +35,13 @@ function _aggFunc(func) {
35
35
  }
36
36
  // --------------------------------- MAIN ---------------------------------
37
37
  export function buildQuerySnapshot(request, baseSnapshot) {
38
- let createNew = false;
38
+ const snapshot = baseSnapshot.clone();
39
+ // --------------------------------- SELECT ---------------------------------
40
+ // TODO: @akphi - Implement this
39
41
  // --------------------------------- GROUP BY ---------------------------------
40
- let groupBy = undefined;
41
42
  if (request.rowGroupCols.length) {
42
43
  const availableCols = baseSnapshot.stageCols('aggregation');
43
- groupBy = {
44
+ snapshot.data.groupBy = {
44
45
  columns: request.rowGroupCols.map((col) => ({
45
46
  name: col.id,
46
47
  type: _getCol(availableCols, col.id).type,
@@ -54,30 +55,17 @@ export function buildQuerySnapshot(request, baseSnapshot) {
54
55
  })),
55
56
  };
56
57
  }
57
- // --------------------------------- SORT ---------------------------------
58
- let sortColumns = [];
59
- if (request.sortModel.length) {
60
- const availableCols = baseSnapshot.stageCols('sort');
61
- sortColumns = request.sortModel.map((item) => ({
62
- ..._getCol(availableCols, item.colId),
63
- direction: item.sort === GridClientSortDirection.ASCENDING
64
- ? DataCubeQuerySnapshotSortDirection.ASCENDING
65
- : DataCubeQuerySnapshotSortDirection.DESCENDING,
66
- }));
58
+ else {
59
+ snapshot.data.groupBy = undefined;
67
60
  }
68
- // --------------------------------- SELECT ---------------------------------
69
- // TODO: @akphi - Implement this
61
+ // --------------------------------- SORT ---------------------------------
62
+ snapshot.data.sortColumns = request.sortModel.map((item) => ({
63
+ ..._getCol(baseSnapshot.stageCols('sort'), item.colId),
64
+ operation: item.sort === GridClientSortDirection.ASCENDING
65
+ ? DataCubeQuerySnapshotSortOperation.ASCENDING
66
+ : DataCubeQuerySnapshotSortOperation.DESCENDING,
67
+ }));
70
68
  // --------------------------------- FINALIZE ---------------------------------
71
- if (!deepEqual(sortColumns, baseSnapshot.data.sortColumns) ||
72
- !deepEqual(groupBy, baseSnapshot.data.groupBy)) {
73
- createNew = true;
74
- }
75
- if (createNew) {
76
- const newSnapshot = baseSnapshot.clone();
77
- newSnapshot.data.sortColumns = sortColumns;
78
- newSnapshot.data.groupBy = groupBy;
79
- return newSnapshot;
80
- }
81
- return baseSnapshot;
69
+ return snapshot.finalize();
82
70
  }
83
71
  //# sourceMappingURL=DataCubeGridQuerySnapshotBuilder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataCubeGridQuerySnapshotBuilder.js","sourceRoot":"","sources":["../../../../src/stores/dataCube/grid/DataCubeGridQuerySnapshotBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataCubeGridQuerySnapshotBuilder.js","sourceRoot":"","sources":["../../../../src/stores/dataCube/grid/DataCubeGridQuerySnapshotBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAUH,OAAO,EAEL,kCAAkC,EAClC,OAAO,EACP,sCAAsC,GACvC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,aAAa,GACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,+BAA+B,CAAC;AAEvC,gFAAgF;AAEhF,SAAS,QAAQ,CACf,IAAkC;IAElC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,4BAA4B,CAAC,OAAO;YACvC,OAAO,sCAAsC,CAAC,OAAO,CAAC;QACxD,KAAK,4BAA4B,CAAC,KAAK;YACrC,OAAO,sCAAsC,CAAC,KAAK,CAAC;QACtD,KAAK,4BAA4B,CAAC,GAAG;YACnC,OAAO,sCAAsC,CAAC,GAAG,CAAC;QACpD,KAAK,4BAA4B,CAAC,GAAG;YACnC,OAAO,sCAAsC,CAAC,GAAG,CAAC;QACpD,KAAK,4BAA4B,CAAC,GAAG;YACnC,OAAO,sCAAsC,CAAC,GAAG,CAAC;QACpD;YACE,MAAM,IAAI,iBAAiB,CAAC,mCAAmC,IAAI,GAAG,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC;AAED,2EAA2E;AAE3E,MAAM,UAAU,kBAAkB,CAChC,OAAkC,EAClC,YAAmC;IAEnC,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC;IAEtC,6EAA6E;IAC7E,gCAAgC;IAEhC,+EAA+E;IAE/E,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,aAAa,GAAG,YAAY,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAC5D,QAAQ,CAAC,IAAI,CAAC,OAAO,GAAG;YACtB,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC1C,IAAI,EAAE,GAAG,CAAC,EAAE;gBACZ,IAAI,EAAE,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI;aAC1C,CAAC,CAAC;YACH,UAAU,EAAE,OAAO,CAAC,SAAS;iBAC1B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACvE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACb,IAAI,EAAE,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC;gBACrC,IAAI,EAAE,OAAO,CAAC,aAAa,EAAE,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;gBAClE,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAuC,CAAC;aAChE,CAAC,CAAC;SACN,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;IACpC,CAAC;IAED,2EAA2E;IAE3E,QAAQ,CAAC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC3D,GAAG,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC;QACtD,SAAS,EACP,IAAI,CAAC,IAAI,KAAK,uBAAuB,CAAC,SAAS;YAC7C,CAAC,CAAC,kCAAkC,CAAC,SAAS;YAC9C,CAAC,CAAC,kCAAkC,CAAC,UAAU;KACpD,CAAC,CAAC,CAAC;IAEJ,+EAA+E;IAE/E,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC7B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finos/legend-application-repl",
3
- "version": "0.0.29",
3
+ "version": "0.0.31",
4
4
  "description": "Legend REPL Grid client application core",
5
5
  "keywords": [
6
6
  "legend",
@@ -49,19 +49,21 @@
49
49
  "@ag-grid-community/core": "31.3.2",
50
50
  "@ag-grid-community/react": "31.3.2",
51
51
  "@ag-grid-community/styles": "31.3.2",
52
+ "@ag-grid-enterprise/clipboard": "31.3.2",
52
53
  "@ag-grid-enterprise/core": "31.3.2",
53
54
  "@ag-grid-enterprise/menu": "31.3.2",
55
+ "@ag-grid-enterprise/range-selection": "31.3.2",
54
56
  "@ag-grid-enterprise/row-grouping": "31.3.2",
55
57
  "@ag-grid-enterprise/server-side-row-model": "31.3.2",
56
- "@finos/legend-application": "15.1.11",
57
- "@finos/legend-art": "7.1.39",
58
- "@finos/legend-graph": "31.10.6",
59
- "@finos/legend-lego": "1.2.42",
60
- "@finos/legend-shared": "10.0.41",
58
+ "@finos/legend-application": "15.1.13",
59
+ "@finos/legend-art": "7.1.41",
60
+ "@finos/legend-graph": "31.10.8",
61
+ "@finos/legend-lego": "1.2.44",
62
+ "@finos/legend-shared": "10.0.43",
61
63
  "@types/react": "18.3.3",
62
64
  "@types/react-dom": "18.3.0",
63
65
  "antlr4": "4.13.1-patch-1",
64
- "mobx": "6.12.4",
66
+ "mobx": "6.12.5",
65
67
  "mobx-react-lite": "4.0.7",
66
68
  "monaco-editor": "0.50.0",
67
69
  "react": "18.3.1",
@@ -70,7 +72,7 @@
70
72
  "serializr": "3.0.2"
71
73
  },
72
74
  "devDependencies": {
73
- "@finos/legend-dev-utils": "2.1.9",
75
+ "@finos/legend-dev-utils": "2.1.11",
74
76
  "@jest/globals": "29.7.0",
75
77
  "cross-env": "7.0.3",
76
78
  "eslint": "8.57.0",
@@ -20,39 +20,62 @@ import { useEffect, useRef } from 'react';
20
20
  import { DataCubeGrid } from './grid/DataCubeGrid.js';
21
21
  import { DataCubeEditor } from './editor/DataCubeEditor.js';
22
22
  import { useApplicationStore } from '@finos/legend-application';
23
- import { DataCubeIcon } from '@finos/legend-art';
23
+ import { DataCubeIcon, ProgressBar } from '@finos/legend-art';
24
24
 
25
25
  const DataCubeStatusBar = observer(() => {
26
26
  const dataCubeStore = useREPLStore();
27
- const dataCubeState = dataCubeStore.dataCubeState;
27
+ const dataCube = dataCubeStore.dataCube;
28
28
 
29
29
  return (
30
- <div className="flex h-5 w-full bg-neutral-100">
31
- <button className="pl-2">
32
- <DataCubeIcon.Documentation className="text-xl text-sky-600" />
33
- </button>
34
- <button
35
- className="flex w-1/2 items-center px-2 text-sky-600 underline"
36
- onClick={(): void => dataCubeState.editor.openPanel()}
37
- >
38
- Pivot
39
- </button>
40
- <button className="flex w-1/2 items-center px-2 text-sky-600 underline">
41
- Filter
42
- </button>
30
+ <div className="flex h-5 w-full justify-between bg-neutral-100">
31
+ <div className="flex flex-1">
32
+ <button
33
+ className="pl-2 text-sky-600 hover:text-sky-700"
34
+ title="See Documentation"
35
+ >
36
+ <DataCubeIcon.Documentation className="text-xl" />
37
+ </button>
38
+ <button
39
+ className="flex items-center px-3 text-sky-600 hover:text-sky-700"
40
+ onClick={(): void => dataCube.editor.openPanel()}
41
+ >
42
+ <DataCubeIcon.Settings className="text-xl" />
43
+ <div className="pl-0.5 underline">Properties</div>
44
+ </button>
45
+ <div className="flex-1">
46
+ <button className="flex items-center text-sky-600 hover:text-sky-700">
47
+ <DataCubeIcon.TableFilter className="text-lg" />
48
+ <div className="pl-0.5 underline">Filter</div>
49
+ </button>
50
+ </div>
51
+ </div>
52
+ <div className="flex items-center px-2">
53
+ <div className="flex h-3.5 w-48 border-[0.5px] border-neutral-300">
54
+ {dataCube.runningTaskes.size > 0 && (
55
+ <ProgressBar
56
+ classes={{
57
+ root: 'h-3.5 w-full bg-transparent',
58
+ bar1Indeterminate: 'bg-green-500',
59
+ bar2Indeterminate: 'bg-green-500',
60
+ }}
61
+ variant="indeterminate"
62
+ />
63
+ )}
64
+ </div>
65
+ </div>
43
66
  </div>
44
67
  );
45
68
  });
46
69
 
47
70
  const DataCubeTitleBar = observer(() => {
48
71
  const dataCubeStore = useREPLStore();
49
- const dataCubeState = dataCubeStore.dataCubeState;
72
+ const dataCube = dataCubeStore.dataCube;
50
73
 
51
74
  return (
52
75
  <div className="flex h-6 justify-between bg-neutral-100">
53
76
  <div className="flex select-none items-center pl-1 pr-2 text-lg font-medium">
54
77
  <DataCubeIcon.Cube className="mr-1 h-4 w-4" />
55
- <div>{dataCubeState.editor.generalPropertiesPanel.name}</div>
78
+ <div>{dataCube.core.name}</div>
56
79
  {/* TODO: @akphi - add save icon */}
57
80
  </div>
58
81
  </div>
@@ -63,11 +86,11 @@ export const DataCube = observer(() => {
63
86
  const dataCubeStore = useREPLStore();
64
87
  const ref = useRef<HTMLDivElement>(null);
65
88
  const applicationStore = useApplicationStore();
66
- const dataCubeState = dataCubeStore.dataCubeState;
89
+ const dataCube = dataCubeStore.dataCube;
67
90
 
68
91
  useEffect(() => {
69
- dataCubeState.initialize().catch(applicationStore.logUnhandledError);
70
- }, [dataCubeState, applicationStore]);
92
+ dataCube.initialize().catch(applicationStore.logUnhandledError);
93
+ }, [dataCube, applicationStore]);
71
94
 
72
95
  return (
73
96
  <div
@@ -77,9 +100,7 @@ export const DataCube = observer(() => {
77
100
  <DataCubeTitleBar />
78
101
  <DataCubeGrid />
79
102
  <DataCubeStatusBar />
80
- {dataCubeState.editor.isPanelOpen && (
81
- <DataCubeEditor containerRef={ref} />
82
- )}
103
+ {dataCube.editor.isPanelOpen && <DataCubeEditor containerRef={ref} />}
83
104
  </div>
84
105
  );
85
106
  });
@@ -28,6 +28,7 @@ import { DataCubeEditorFilterPanel } from './DataCubeEditorFilterPanel.js';
28
28
  import { DataCubeEditorExtendedColumnsPanel } from './DataCubeEditorExtendedColumnsPanel.js';
29
29
  import { DataCubeEditorCodePanel } from './DataCubeEditorCodePanel.js';
30
30
  import { DataCubeEditorColumnPropertiesPanel } from './DataCubeEditorColumnPropertiesPanel.js';
31
+ import { DataCubeEditorDeveloperPanel } from './DataCubeEditorDeveloperPanel.js';
31
32
 
32
33
  const __DATA_CUBE_EDITOR_HEADER_CLASS_NAME = 'data-cube__editor__header';
33
34
  const PANEL_DEFAULT_OFFSET = 50;
@@ -46,7 +47,7 @@ export const DataCubeEditor = observer(
46
47
  height: PANEL_DEFAULT_HEIGHT,
47
48
  });
48
49
  const replStore = useREPLStore();
49
- const editor = replStore.dataCubeState.editor;
50
+ const editor = replStore.dataCube.editor;
50
51
  const selectedTab = editor.currentTab;
51
52
  const tabs = [
52
53
  DATA_CUBE_EDITOR_TAB.COLUMNS,
@@ -58,6 +59,7 @@ export const DataCubeEditor = observer(
58
59
  DATA_CUBE_EDITOR_TAB.GENERAL_PROPERTIES,
59
60
  DATA_CUBE_EDITOR_TAB.COLUMN_PROPERTIES,
60
61
  DATA_CUBE_EDITOR_TAB.CODE,
62
+ DATA_CUBE_EDITOR_TAB.DEVELOPER,
61
63
  ];
62
64
 
63
65
  useEffect(() => {
@@ -204,6 +206,9 @@ export const DataCubeEditor = observer(
204
206
  {selectedTab === DATA_CUBE_EDITOR_TAB.CODE && (
205
207
  <DataCubeEditorCodePanel />
206
208
  )}
209
+ {selectedTab === DATA_CUBE_EDITOR_TAB.DEVELOPER && (
210
+ <DataCubeEditorDeveloperPanel />
211
+ )}
207
212
  </div>
208
213
  </div>
209
214
  <div className="flex h-10 items-center justify-end px-2">
@@ -143,7 +143,7 @@ import { useREPLStore } from '../../REPLStoreProvider.js';
143
143
 
144
144
  export const DataCubeEditorCodePanel = observer(() => {
145
145
  const replStore = useREPLStore();
146
- const panel = replStore.dataCubeState.editor.sortsPanel;
146
+ const panel = replStore.dataCube.editor.sortsPanel;
147
147
  // const executeLambda = (): void => {
148
148
  // // TODO: @akphi
149
149
  // // flowResult(dataCubeState.executeLambda()).catch(
@@ -154,7 +154,7 @@ export const DataCubeEditorCodePanel = observer(() => {
154
154
  useEffect(() => {}, [panel]); // TODO: @akphi - remove this dummy useEffect
155
155
 
156
156
  return (
157
- <div className="data-cube-column-selector h-full w-full p-2">
157
+ <div className="h-full w-full select-none p-2">
158
158
  <div className="flex h-6">
159
159
  <div className="flex h-6 items-center text-xl font-medium">
160
160
  <DataCubeIcon.Code />