@finos/legend-application-repl 0.0.30 → 0.0.32

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 (229) hide show
  1. package/lib/components/LegendREPLFrameworkProvider.js +1 -1
  2. package/lib/components/LegendREPLFrameworkProvider.js.map +1 -1
  3. package/lib/components/REPLStoreProvider.d.ts +1 -1
  4. package/lib/components/REPLStoreProvider.d.ts.map +1 -1
  5. package/lib/components/REPLStoreProvider.js +1 -1
  6. package/lib/components/REPLStoreProvider.js.map +1 -1
  7. package/lib/components/REPLWindow.d.ts +33 -0
  8. package/lib/components/REPLWindow.d.ts.map +1 -0
  9. package/lib/components/REPLWindow.js +117 -0
  10. package/lib/components/REPLWindow.js.map +1 -0
  11. package/lib/components/dataCube/DataCube.d.ts.map +1 -1
  12. package/lib/components/dataCube/DataCube.js +13 -9
  13. package/lib/components/dataCube/DataCube.js.map +1 -1
  14. package/lib/components/dataCube/editor/DataCubeEditor.d.ts.map +1 -1
  15. package/lib/components/dataCube/editor/DataCubeEditor.js +13 -90
  16. package/lib/components/dataCube/editor/DataCubeEditor.js.map +1 -1
  17. package/lib/components/dataCube/editor/DataCubeEditorCodePanel.d.ts.map +1 -1
  18. package/lib/components/dataCube/editor/DataCubeEditorCodePanel.js +3 -2
  19. package/lib/components/dataCube/editor/DataCubeEditorCodePanel.js.map +1 -1
  20. package/lib/components/dataCube/editor/DataCubeEditorColumnPropertiesPanel.d.ts.map +1 -1
  21. package/lib/components/dataCube/editor/DataCubeEditorColumnPropertiesPanel.js +237 -6
  22. package/lib/components/dataCube/editor/DataCubeEditorColumnPropertiesPanel.js.map +1 -1
  23. package/lib/components/dataCube/editor/DataCubeEditorColumnsPanel.js +2 -2
  24. package/lib/components/dataCube/editor/DataCubeEditorColumnsPanel.js.map +1 -1
  25. package/lib/components/dataCube/editor/DataCubeEditorColumnsSelector.d.ts +5 -0
  26. package/lib/components/dataCube/editor/DataCubeEditorColumnsSelector.d.ts.map +1 -1
  27. package/lib/components/dataCube/editor/DataCubeEditorColumnsSelector.js +130 -48
  28. package/lib/components/dataCube/editor/DataCubeEditorColumnsSelector.js.map +1 -1
  29. package/lib/{stores/dataCube/DataCubeDefaultConfig.d.ts → components/dataCube/editor/DataCubeEditorDeveloperPanel.d.ts} +4 -2
  30. package/lib/components/dataCube/editor/DataCubeEditorDeveloperPanel.d.ts.map +1 -0
  31. package/lib/components/dataCube/editor/DataCubeEditorDeveloperPanel.js +28 -0
  32. package/lib/components/dataCube/editor/DataCubeEditorDeveloperPanel.js.map +1 -0
  33. package/lib/components/dataCube/editor/DataCubeEditorExtendedColumnsPanel.d.ts.map +1 -1
  34. package/lib/components/dataCube/editor/DataCubeEditorExtendedColumnsPanel.js +3 -2
  35. package/lib/components/dataCube/editor/DataCubeEditorExtendedColumnsPanel.js.map +1 -1
  36. package/lib/components/dataCube/editor/DataCubeEditorFilterPanel.d.ts.map +1 -1
  37. package/lib/components/dataCube/editor/DataCubeEditorFilterPanel.js +3 -2
  38. package/lib/components/dataCube/editor/DataCubeEditorFilterPanel.js.map +1 -1
  39. package/lib/components/dataCube/editor/DataCubeEditorGeneralPropertiesPanel.d.ts.map +1 -1
  40. package/lib/components/dataCube/editor/DataCubeEditorGeneralPropertiesPanel.js +145 -5
  41. package/lib/components/dataCube/editor/DataCubeEditorGeneralPropertiesPanel.js.map +1 -1
  42. package/lib/components/dataCube/editor/DataCubeEditorHPivotsPanel.d.ts.map +1 -1
  43. package/lib/components/dataCube/editor/DataCubeEditorHPivotsPanel.js +3 -2
  44. package/lib/components/dataCube/editor/DataCubeEditorHPivotsPanel.js.map +1 -1
  45. package/lib/components/dataCube/editor/DataCubeEditorShared.d.ts +47 -0
  46. package/lib/components/dataCube/editor/DataCubeEditorShared.d.ts.map +1 -0
  47. package/lib/components/dataCube/editor/DataCubeEditorShared.js +188 -0
  48. package/lib/components/dataCube/editor/DataCubeEditorShared.js.map +1 -0
  49. package/lib/components/dataCube/editor/DataCubeEditorSortsPanel.d.ts.map +1 -1
  50. package/lib/components/dataCube/editor/DataCubeEditorSortsPanel.js +36 -3
  51. package/lib/components/dataCube/editor/DataCubeEditorSortsPanel.js.map +1 -1
  52. package/lib/components/dataCube/editor/DataCubeEditorVPivotsPanel.d.ts.map +1 -1
  53. package/lib/components/dataCube/editor/DataCubeEditorVPivotsPanel.js +3 -2
  54. package/lib/components/dataCube/editor/DataCubeEditorVPivotsPanel.js.map +1 -1
  55. package/lib/components/dataCube/grid/DataCubeGrid.d.ts +3 -0
  56. package/lib/components/dataCube/grid/DataCubeGrid.d.ts.map +1 -1
  57. package/lib/components/dataCube/grid/DataCubeGrid.js +190 -63
  58. package/lib/components/dataCube/grid/DataCubeGrid.js.map +1 -1
  59. package/lib/{stores/dataCube/DataCubeDefaultConfig.js → components/dataCube/grid/DataCubeGridShared.d.ts} +3 -2
  60. package/lib/components/dataCube/grid/DataCubeGridShared.d.ts.map +1 -0
  61. package/lib/components/dataCube/grid/DataCubeGridShared.js +25 -0
  62. package/lib/components/dataCube/grid/DataCubeGridShared.js.map +1 -0
  63. package/lib/components/dataCube/grid/menu/DataCubeGridMenu.d.ts +23 -0
  64. package/lib/components/dataCube/grid/menu/DataCubeGridMenu.d.ts.map +1 -0
  65. package/lib/components/dataCube/grid/menu/DataCubeGridMenu.js +413 -0
  66. package/lib/components/dataCube/grid/menu/DataCubeGridMenu.js.map +1 -0
  67. package/{src/stores/dataCube/DataCubeDefaultConfig.ts → lib/components/dataCube/grid/menu/DataCubeGridSortsMenu.d.ts} +4 -2
  68. package/lib/components/dataCube/grid/menu/DataCubeGridSortsMenu.d.ts.map +1 -0
  69. package/lib/components/dataCube/grid/menu/DataCubeGridSortsMenu.js +83 -0
  70. package/lib/components/dataCube/grid/menu/DataCubeGridSortsMenu.js.map +1 -0
  71. package/lib/index.css +2 -2
  72. package/lib/index.css.map +1 -1
  73. package/lib/package.json +14 -12
  74. package/lib/server/models/DataCubeQuery.d.ts +3 -5
  75. package/lib/server/models/DataCubeQuery.d.ts.map +1 -1
  76. package/lib/server/models/DataCubeQuery.js +0 -2
  77. package/lib/server/models/DataCubeQuery.js.map +1 -1
  78. package/lib/stores/{dataCube/REPLStore.d.ts → REPLStore.d.ts} +6 -4
  79. package/lib/stores/REPLStore.d.ts.map +1 -0
  80. package/lib/stores/{dataCube/REPLStore.js → REPLStore.js} +8 -5
  81. package/lib/stores/REPLStore.js.map +1 -0
  82. package/lib/stores/dataCube/{core/DataCubeEngine.d.ts → DataCubeInfrastructure.d.ts} +20 -4
  83. package/lib/stores/dataCube/DataCubeInfrastructure.d.ts.map +1 -0
  84. package/lib/stores/dataCube/{core/DataCubeEngine.js → DataCubeInfrastructure.js} +31 -3
  85. package/lib/stores/dataCube/DataCubeInfrastructure.js.map +1 -0
  86. package/lib/stores/dataCube/DataCubeState.d.ts +14 -5
  87. package/lib/stores/dataCube/DataCubeState.d.ts.map +1 -1
  88. package/lib/stores/dataCube/DataCubeState.js +37 -9
  89. package/lib/stores/dataCube/DataCubeState.js.map +1 -1
  90. package/lib/stores/dataCube/core/DataCubeConfiguration.d.ts +93 -0
  91. package/lib/stores/dataCube/core/DataCubeConfiguration.d.ts.map +1 -0
  92. package/lib/stores/dataCube/core/DataCubeConfiguration.js +167 -0
  93. package/lib/stores/dataCube/core/DataCubeConfiguration.js.map +1 -0
  94. package/lib/stores/dataCube/core/DataCubeConfigurationBuilder.d.ts +25 -0
  95. package/lib/stores/dataCube/core/DataCubeConfigurationBuilder.d.ts.map +1 -0
  96. package/lib/stores/dataCube/core/DataCubeConfigurationBuilder.js +45 -0
  97. package/lib/stores/dataCube/core/DataCubeConfigurationBuilder.js.map +1 -0
  98. package/lib/stores/dataCube/core/DataCubeCoreState.d.ts +1 -1
  99. package/lib/stores/dataCube/core/DataCubeCoreState.d.ts.map +1 -1
  100. package/lib/stores/dataCube/core/DataCubeCoreState.js +4 -4
  101. package/lib/stores/dataCube/core/DataCubeCoreState.js.map +1 -1
  102. package/lib/stores/dataCube/core/DataCubeQueryBuilder.js +12 -12
  103. package/lib/stores/dataCube/core/DataCubeQueryBuilder.js.map +1 -1
  104. package/lib/stores/dataCube/core/DataCubeQueryEngine.d.ts +99 -4
  105. package/lib/stores/dataCube/core/DataCubeQueryEngine.d.ts.map +1 -1
  106. package/lib/stores/dataCube/core/DataCubeQueryEngine.js +149 -3
  107. package/lib/stores/dataCube/core/DataCubeQueryEngine.js.map +1 -1
  108. package/lib/stores/dataCube/core/DataCubeQuerySnapshot.d.ts +19 -5
  109. package/lib/stores/dataCube/core/DataCubeQuerySnapshot.d.ts.map +1 -1
  110. package/lib/stores/dataCube/core/DataCubeQuerySnapshot.js +36 -6
  111. package/lib/stores/dataCube/core/DataCubeQuerySnapshot.js.map +1 -1
  112. package/lib/stores/dataCube/core/DataCubeQuerySnapshotBuilder.d.ts.map +1 -1
  113. package/lib/stores/dataCube/core/DataCubeQuerySnapshotBuilder.js +42 -23
  114. package/lib/stores/dataCube/core/DataCubeQuerySnapshotBuilder.js.map +1 -1
  115. package/lib/stores/dataCube/core/DataCubeQuerySnapshotManager.d.ts.map +1 -1
  116. package/lib/stores/dataCube/core/DataCubeQuerySnapshotManager.js +6 -2
  117. package/lib/stores/dataCube/core/DataCubeQuerySnapshotManager.js.map +1 -1
  118. package/lib/stores/dataCube/core/DataCubeQuerySnapshotSubscriber.d.ts +1 -3
  119. package/lib/stores/dataCube/core/DataCubeQuerySnapshotSubscriber.d.ts.map +1 -1
  120. package/lib/stores/dataCube/core/DataCubeQuerySnapshotSubscriber.js +2 -3
  121. package/lib/stores/dataCube/core/DataCubeQuerySnapshotSubscriber.js.map +1 -1
  122. package/lib/stores/dataCube/editor/DataCubeEditorCodePanelState.d.ts +3 -1
  123. package/lib/stores/dataCube/editor/DataCubeEditorCodePanelState.d.ts.map +1 -1
  124. package/lib/stores/dataCube/editor/DataCubeEditorCodePanelState.js +4 -2
  125. package/lib/stores/dataCube/editor/DataCubeEditorCodePanelState.js.map +1 -1
  126. package/lib/stores/dataCube/editor/DataCubeEditorColumnPropertiesPanelState.d.ts +36 -0
  127. package/lib/stores/dataCube/editor/DataCubeEditorColumnPropertiesPanelState.d.ts.map +1 -0
  128. package/lib/stores/dataCube/editor/DataCubeEditorColumnPropertiesPanelState.js +66 -0
  129. package/lib/stores/dataCube/editor/DataCubeEditorColumnPropertiesPanelState.js.map +1 -0
  130. package/lib/stores/dataCube/editor/DataCubeEditorColumnsSelectorState.d.ts +3 -0
  131. package/lib/stores/dataCube/editor/DataCubeEditorColumnsSelectorState.d.ts.map +1 -1
  132. package/lib/stores/dataCube/editor/DataCubeEditorColumnsSelectorState.js +10 -0
  133. package/lib/stores/dataCube/editor/DataCubeEditorColumnsSelectorState.js.map +1 -1
  134. package/lib/stores/dataCube/editor/DataCubeEditorGeneralPropertiesPanelState.d.ts +8 -3
  135. package/lib/stores/dataCube/editor/DataCubeEditorGeneralPropertiesPanelState.d.ts.map +1 -1
  136. package/lib/stores/dataCube/editor/DataCubeEditorGeneralPropertiesPanelState.js +20 -24
  137. package/lib/stores/dataCube/editor/DataCubeEditorGeneralPropertiesPanelState.js.map +1 -1
  138. package/lib/stores/dataCube/editor/DataCubeEditorHPivotPanelState.d.ts +27 -0
  139. package/lib/stores/dataCube/editor/DataCubeEditorHPivotPanelState.d.ts.map +1 -0
  140. package/lib/stores/dataCube/editor/DataCubeEditorHPivotPanelState.js +30 -0
  141. package/lib/stores/dataCube/editor/DataCubeEditorHPivotPanelState.js.map +1 -0
  142. package/lib/stores/dataCube/editor/DataCubeEditorPanelState.d.ts +1 -1
  143. package/lib/stores/dataCube/editor/DataCubeEditorPanelState.d.ts.map +1 -1
  144. package/lib/stores/dataCube/editor/DataCubeEditorSortsPanelState.d.ts +13 -6
  145. package/lib/stores/dataCube/editor/DataCubeEditorSortsPanelState.d.ts.map +1 -1
  146. package/lib/stores/dataCube/editor/DataCubeEditorSortsPanelState.js +64 -19
  147. package/lib/stores/dataCube/editor/DataCubeEditorSortsPanelState.js.map +1 -1
  148. package/lib/stores/dataCube/editor/DataCubeEditorState.d.ts +8 -4
  149. package/lib/stores/dataCube/editor/DataCubeEditorState.d.ts.map +1 -1
  150. package/lib/stores/dataCube/editor/DataCubeEditorState.js +26 -17
  151. package/lib/stores/dataCube/editor/DataCubeEditorState.js.map +1 -1
  152. package/lib/stores/dataCube/editor/DataCubeMutableConfiguration.d.ts +100 -0
  153. package/lib/stores/dataCube/editor/DataCubeMutableConfiguration.d.ts.map +1 -0
  154. package/lib/stores/dataCube/editor/DataCubeMutableConfiguration.js +450 -0
  155. package/lib/stores/dataCube/editor/DataCubeMutableConfiguration.js.map +1 -0
  156. package/lib/stores/dataCube/grid/DataCubeGridClientEngine.d.ts +39 -2
  157. package/lib/stores/dataCube/grid/DataCubeGridClientEngine.d.ts.map +1 -1
  158. package/lib/stores/dataCube/grid/DataCubeGridClientEngine.js +63 -3
  159. package/lib/stores/dataCube/grid/DataCubeGridClientEngine.js.map +1 -1
  160. package/lib/stores/dataCube/grid/DataCubeGridQueryBuilder.d.ts.map +1 -1
  161. package/lib/stores/dataCube/grid/DataCubeGridQueryBuilder.js +0 -9
  162. package/lib/stores/dataCube/grid/DataCubeGridQueryBuilder.js.map +1 -1
  163. package/lib/stores/dataCube/grid/DataCubeGridQuerySnapshotAnalyzer.d.ts +4 -1
  164. package/lib/stores/dataCube/grid/DataCubeGridQuerySnapshotAnalyzer.d.ts.map +1 -1
  165. package/lib/stores/dataCube/grid/DataCubeGridQuerySnapshotAnalyzer.js +330 -38
  166. package/lib/stores/dataCube/grid/DataCubeGridQuerySnapshotAnalyzer.js.map +1 -1
  167. package/lib/stores/dataCube/grid/DataCubeGridQuerySnapshotBuilder.d.ts.map +1 -1
  168. package/lib/stores/dataCube/grid/DataCubeGridQuerySnapshotBuilder.js +16 -28
  169. package/lib/stores/dataCube/grid/DataCubeGridQuerySnapshotBuilder.js.map +1 -1
  170. package/lib/stores/dataCube/grid/DataCubeGridState.d.ts +16 -2
  171. package/lib/stores/dataCube/grid/DataCubeGridState.d.ts.map +1 -1
  172. package/lib/stores/dataCube/grid/DataCubeGridState.js +51 -21
  173. package/lib/stores/dataCube/grid/DataCubeGridState.js.map +1 -1
  174. package/package.json +20 -18
  175. package/src/components/LegendREPLFrameworkProvider.tsx +1 -1
  176. package/src/components/REPLStoreProvider.tsx +1 -1
  177. package/src/components/REPLWindow.tsx +179 -0
  178. package/src/components/dataCube/DataCube.tsx +44 -23
  179. package/src/components/dataCube/editor/DataCubeEditor.tsx +80 -186
  180. package/src/components/dataCube/editor/DataCubeEditorCodePanel.tsx +4 -2
  181. package/src/components/dataCube/editor/DataCubeEditorColumnPropertiesPanel.tsx +1044 -13
  182. package/src/components/dataCube/editor/DataCubeEditorColumnsPanel.tsx +2 -2
  183. package/src/components/dataCube/editor/DataCubeEditorColumnsSelector.tsx +264 -51
  184. package/src/components/dataCube/editor/DataCubeEditorDeveloperPanel.tsx +43 -0
  185. package/src/components/dataCube/editor/DataCubeEditorExtendedColumnsPanel.tsx +4 -2
  186. package/src/components/dataCube/editor/DataCubeEditorFilterPanel.tsx +4 -2
  187. package/src/components/dataCube/editor/DataCubeEditorGeneralPropertiesPanel.tsx +743 -13
  188. package/src/components/dataCube/editor/DataCubeEditorHPivotsPanel.tsx +4 -2
  189. package/src/components/dataCube/editor/DataCubeEditorShared.tsx +484 -0
  190. package/src/components/dataCube/editor/DataCubeEditorSortsPanel.tsx +103 -4
  191. package/src/components/dataCube/editor/DataCubeEditorVPivotsPanel.tsx +4 -2
  192. package/src/components/dataCube/grid/DataCubeGrid.tsx +314 -120
  193. package/src/components/dataCube/grid/DataCubeGridShared.tsx +45 -0
  194. package/src/components/dataCube/grid/menu/DataCubeGridMenu.tsx +441 -0
  195. package/src/components/dataCube/grid/menu/DataCubeGridSortsMenu.tsx +119 -0
  196. package/src/server/models/DataCubeQuery.ts +2 -6
  197. package/src/stores/{dataCube/REPLStore.ts → REPLStore.ts} +9 -6
  198. package/src/stores/dataCube/{core/DataCubeEngine.ts → DataCubeInfrastructure.ts} +40 -3
  199. package/src/stores/dataCube/DataCubeState.ts +44 -10
  200. package/src/stores/dataCube/core/DataCubeConfiguration.ts +220 -0
  201. package/src/stores/dataCube/core/DataCubeConfigurationBuilder.ts +60 -0
  202. package/src/stores/dataCube/core/DataCubeCoreState.ts +7 -4
  203. package/src/stores/dataCube/core/DataCubeQueryBuilder.ts +18 -18
  204. package/src/stores/dataCube/core/DataCubeQueryEngine.ts +157 -4
  205. package/src/stores/dataCube/core/DataCubeQuerySnapshot.ts +43 -6
  206. package/src/stores/dataCube/core/DataCubeQuerySnapshotBuilder.ts +49 -29
  207. package/src/stores/dataCube/core/DataCubeQuerySnapshotManager.ts +9 -2
  208. package/src/stores/dataCube/core/DataCubeQuerySnapshotSubscriber.ts +6 -5
  209. package/src/stores/dataCube/editor/DataCubeEditorCodePanelState.ts +5 -2
  210. package/src/stores/dataCube/editor/DataCubeEditorColumnPropertiesPanelState.ts +96 -0
  211. package/src/stores/dataCube/editor/DataCubeEditorColumnsSelectorState.ts +12 -0
  212. package/src/stores/dataCube/editor/DataCubeEditorGeneralPropertiesPanelState.ts +31 -28
  213. package/src/stores/dataCube/editor/DataCubeEditorHPivotPanelState.ts +43 -0
  214. package/src/stores/dataCube/editor/DataCubeEditorPanelState.ts +1 -1
  215. package/src/stores/dataCube/editor/DataCubeEditorSortsPanelState.ts +92 -25
  216. package/src/stores/dataCube/editor/DataCubeEditorState.ts +32 -18
  217. package/src/stores/dataCube/editor/DataCubeMutableConfiguration.ts +641 -0
  218. package/src/stores/dataCube/grid/DataCubeGridClientEngine.ts +88 -3
  219. package/src/stores/dataCube/grid/DataCubeGridQueryBuilder.ts +0 -10
  220. package/src/stores/dataCube/grid/DataCubeGridQuerySnapshotAnalyzer.tsx +494 -45
  221. package/src/stores/dataCube/grid/DataCubeGridQuerySnapshotBuilder.ts +16 -36
  222. package/src/stores/dataCube/grid/DataCubeGridState.ts +73 -20
  223. package/tsconfig.json +13 -3
  224. package/lib/stores/dataCube/DataCubeDefaultConfig.d.ts.map +0 -1
  225. package/lib/stores/dataCube/DataCubeDefaultConfig.js.map +0 -1
  226. package/lib/stores/dataCube/REPLStore.d.ts.map +0 -1
  227. package/lib/stores/dataCube/REPLStore.js.map +0 -1
  228. package/lib/stores/dataCube/core/DataCubeEngine.d.ts.map +0 -1
  229. package/lib/stores/dataCube/core/DataCubeEngine.js.map +0 -1
@@ -15,6 +15,9 @@
15
15
  */
16
16
  import { makeObservable, observable, action } from 'mobx';
17
17
  export class DataCubeEditorColumnsSelectorColumnState {
18
+ resetWhenMadeAvailable() {
19
+ // do nothing
20
+ }
18
21
  }
19
22
  export class DataCubeEditorColumnsSelectorState {
20
23
  availableColumns = [];
@@ -37,6 +40,7 @@ export class DataCubeEditorColumnsSelectorState {
37
40
  this.availableColumns = val
38
41
  .slice()
39
42
  .sort((a, b) => a.name.localeCompare(b.name));
43
+ this.availableColumns.forEach((column) => column.resetWhenMadeAvailable());
40
44
  }
41
45
  setSelectedColumns(val) {
42
46
  this.selectedColumns = val;
@@ -47,5 +51,11 @@ export class DataCubeEditorColumnsSelectorState {
47
51
  setSelectedColumnsSearchText(val) {
48
52
  this.selectedColumnsSearchText = val;
49
53
  }
54
+ getAvailableColumn(colName) {
55
+ return this.availableColumns.find((col) => col.name === colName);
56
+ }
57
+ getSelectedColumn(colName) {
58
+ return this.selectedColumns.find((col) => col.name === colName);
59
+ }
50
60
  }
51
61
  //# sourceMappingURL=DataCubeEditorColumnsSelectorState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataCubeEditorColumnsSelectorState.js","sourceRoot":"","sources":["../../../../src/stores/dataCube/editor/DataCubeEditorColumnsSelectorState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE1D,MAAM,OAAgB,wCAAwC;CAE7D;AAED,MAAM,OAAO,kCAAkC;IAG7C,gBAAgB,GAAQ,EAAE,CAAC;IAC3B,eAAe,GAAQ,EAAE,CAAC;IAC1B,0BAA0B,GAAG,EAAE,CAAC;IAChC,yBAAyB,GAAG,EAAE,CAAC;IAE/B;QACE,cAAc,CAAC,IAAI,EAAE;YACnB,gBAAgB,EAAE,UAAU;YAC5B,eAAe,EAAE,UAAU;YAC3B,0BAA0B,EAAE,UAAU;YACtC,yBAAyB,EAAE,UAAU;YACrC,mBAAmB,EAAE,MAAM;YAC3B,kBAAkB,EAAE,MAAM;YAC1B,4BAA4B,EAAE,MAAM;YACpC,6BAA6B,EAAE,MAAM;SACtC,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB,CAAC,GAAQ;QAC1B,IAAI,CAAC,gBAAgB,GAAG,GAAG;aACxB,KAAK,EAAE;aACP,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,kBAAkB,CAAC,GAAQ;QACzB,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;IAC7B,CAAC;IAED,6BAA6B,CAAC,GAAW;QACvC,IAAI,CAAC,0BAA0B,GAAG,GAAG,CAAC;IACxC,CAAC;IAED,4BAA4B,CAAC,GAAW;QACtC,IAAI,CAAC,yBAAyB,GAAG,GAAG,CAAC;IACvC,CAAC;CACF"}
1
+ {"version":3,"file":"DataCubeEditorColumnsSelectorState.js","sourceRoot":"","sources":["../../../../src/stores/dataCube/editor/DataCubeEditorColumnsSelectorState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE1D,MAAM,OAAgB,wCAAwC;IAE5D,sBAAsB;QACpB,aAAa;IACf,CAAC;CACF;AAED,MAAM,OAAO,kCAAkC;IAG7C,gBAAgB,GAAQ,EAAE,CAAC;IAC3B,eAAe,GAAQ,EAAE,CAAC;IAC1B,0BAA0B,GAAG,EAAE,CAAC;IAChC,yBAAyB,GAAG,EAAE,CAAC;IAE/B;QACE,cAAc,CAAC,IAAI,EAAE;YACnB,gBAAgB,EAAE,UAAU;YAC5B,eAAe,EAAE,UAAU;YAC3B,0BAA0B,EAAE,UAAU;YACtC,yBAAyB,EAAE,UAAU;YACrC,mBAAmB,EAAE,MAAM;YAC3B,kBAAkB,EAAE,MAAM;YAC1B,4BAA4B,EAAE,MAAM;YACpC,6BAA6B,EAAE,MAAM;SACtC,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB,CAAC,GAAQ;QAC1B,IAAI,CAAC,gBAAgB,GAAG,GAAG;aACxB,KAAK,EAAE;aACP,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,kBAAkB,CAAC,GAAQ;QACzB,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;IAC7B,CAAC;IAED,6BAA6B,CAAC,GAAW;QACvC,IAAI,CAAC,0BAA0B,GAAG,GAAG,CAAC;IACxC,CAAC;IAED,4BAA4B,CAAC,GAAW;QACtC,IAAI,CAAC,yBAAyB,GAAG,GAAG,CAAC;IACvC,CAAC;IAED,kBAAkB,CAAC,OAAe;QAChC,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IACnE,CAAC;IAED,iBAAiB,CAAC,OAAe;QAC/B,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IAClE,CAAC;CACF"}
@@ -16,14 +16,19 @@
16
16
  import type { DataCubeState } from '../DataCubeState.js';
17
17
  import type { DataCubeQuerySnapshot } from '../core/DataCubeQuerySnapshot.js';
18
18
  import type { DataCubeQueryEditorPanelState } from './DataCubeEditorPanelState.js';
19
+ import type { DataCubeEditorState } from './DataCubeEditorState.js';
20
+ import { DataCubeMutableConfiguration } from './DataCubeMutableConfiguration.js';
19
21
  export declare class DataCubeEditorGeneralPropertiesPanelState implements DataCubeQueryEditorPanelState {
20
22
  readonly dataCube: DataCubeState;
23
+ readonly editor: DataCubeEditorState;
21
24
  name: string;
22
25
  limit: number;
23
- constructor(dataCube: DataCubeState);
26
+ configuration: DataCubeMutableConfiguration;
27
+ constructor(editor: DataCubeEditorState);
24
28
  setName(val: string): void;
25
- setLimit(val: number | undefined): void;
29
+ setLimit(val: number): void;
30
+ setConfiguration(val: DataCubeMutableConfiguration): void;
26
31
  applySnaphot(snapshot: DataCubeQuerySnapshot): void;
27
- buildSnapshot(newSnapshot: DataCubeQuerySnapshot, baseSnapshot: DataCubeQuerySnapshot): boolean;
32
+ buildSnapshot(newSnapshot: DataCubeQuerySnapshot, baseSnapshot: DataCubeQuerySnapshot): void;
28
33
  }
29
34
  //# sourceMappingURL=DataCubeEditorGeneralPropertiesPanelState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataCubeEditorGeneralPropertiesPanelState.d.ts","sourceRoot":"","sources":["../../../../src/stores/dataCube/editor/DataCubeEditorGeneralPropertiesPanelState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAEnF,qBAAa,yCACX,YAAW,6BAA6B;IAExC,QAAQ,CAAC,QAAQ,EAAG,aAAa,CAAC;IAClC,IAAI,SAAM;IACV,KAAK,SAAM;gBAEC,QAAQ,EAAE,aAAa;IAYnC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI1B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAIvC,YAAY,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IAKnD,aAAa,CACX,WAAW,EAAE,qBAAqB,EAClC,YAAY,EAAE,qBAAqB,GAClC,OAAO;CAuBX"}
1
+ {"version":3,"file":"DataCubeEditorGeneralPropertiesPanelState.d.ts","sourceRoot":"","sources":["../../../../src/stores/dataCube/editor/DataCubeEditorGeneralPropertiesPanelState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,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,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAEjF,qBAAa,yCACX,YAAW,6BAA6B;IAExC,QAAQ,CAAC,QAAQ,EAAG,aAAa,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAG,mBAAmB,CAAC;IAEtC,IAAI,SAAM;IACV,KAAK,SAAM;IACX,aAAa,+BAAsC;gBAEvC,MAAM,EAAE,mBAAmB;IAgBvC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI1B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI3B,gBAAgB,CAAC,GAAG,EAAE,4BAA4B,GAAG,IAAI;IAIzD,YAAY,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IAYnD,aAAa,CACX,WAAW,EAAE,qBAAqB,EAClC,YAAY,EAAE,qBAAqB,GAClC,IAAI;CAMR"}
@@ -14,50 +14,46 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { action, makeObservable, observable } from 'mobx';
17
+ import { DataCubeMutableConfiguration } from './DataCubeMutableConfiguration.js';
17
18
  export class DataCubeEditorGeneralPropertiesPanelState {
18
19
  dataCube;
20
+ editor;
19
21
  name = '';
20
22
  limit = -1;
21
- constructor(dataCube) {
22
- this.dataCube = dataCube;
23
+ configuration = new DataCubeMutableConfiguration();
24
+ constructor(editor) {
23
25
  makeObservable(this, {
24
26
  name: observable,
25
27
  setName: action,
26
28
  limit: observable,
27
29
  setLimit: action,
30
+ configuration: observable,
31
+ setConfiguration: action,
28
32
  });
33
+ this.editor = editor;
34
+ this.dataCube = editor.dataCube;
29
35
  }
30
36
  setName(val) {
31
37
  this.name = val;
32
38
  }
33
39
  setLimit(val) {
34
- this.limit = Math.round(val === undefined || val < 0 ? -1 : val);
40
+ this.limit = val;
41
+ }
42
+ setConfiguration(val) {
43
+ this.configuration = val;
35
44
  }
36
45
  applySnaphot(snapshot) {
37
46
  this.setName(snapshot.data.name);
38
- this.setLimit(snapshot.data.limit);
47
+ this.setLimit(snapshot.data.limit !== undefined && snapshot.data.limit > 0
48
+ ? snapshot.data.limit
49
+ : -1);
50
+ this.setConfiguration(DataCubeMutableConfiguration.create(snapshot.data.configuration));
39
51
  }
40
52
  buildSnapshot(newSnapshot, baseSnapshot) {
41
- const data = baseSnapshot.data;
42
- // name
43
- if (this.name !== data.name) {
44
- data.name = this.name;
45
- return true;
46
- }
47
- // limit
48
- if (data.limit === undefined) {
49
- if (this.limit !== -1) {
50
- data.limit = this.limit;
51
- return true;
52
- }
53
- }
54
- else {
55
- if (this.limit !== data.limit) {
56
- data.limit = this.limit;
57
- return true;
58
- }
59
- }
60
- return false;
53
+ const data = newSnapshot.data;
54
+ data.name = this.name;
55
+ data.limit = this.limit <= 0 ? undefined : this.limit;
56
+ data.configuration = this.configuration.serialize();
61
57
  }
62
58
  }
63
59
  //# sourceMappingURL=DataCubeEditorGeneralPropertiesPanelState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataCubeEditorGeneralPropertiesPanelState.js","sourceRoot":"","sources":["../../../../src/stores/dataCube/editor/DataCubeEditorGeneralPropertiesPanelState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAK1D,MAAM,OAAO,yCAAyC;IAG3C,QAAQ,CAAiB;IAClC,IAAI,GAAG,EAAE,CAAC;IACV,KAAK,GAAG,CAAC,CAAC,CAAC;IAEX,YAAY,QAAuB;QACjC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,cAAc,CAAC,IAAI,EAAE;YACnB,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,MAAM;YAEf,KAAK,EAAE,UAAU;YACjB,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,GAAW;QACjB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IAClB,CAAC;IAED,QAAQ,CAAC,GAAuB;QAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACnE,CAAC;IAED,YAAY,CAAC,QAA+B;QAC1C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,aAAa,CACX,WAAkC,EAClC,YAAmC;QAEnC,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;QAC/B,OAAO;QACP,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,QAAQ;QACR,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBACxB,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBACxB,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
1
+ {"version":3,"file":"DataCubeEditorGeneralPropertiesPanelState.js","sourceRoot":"","sources":["../../../../src/stores/dataCube/editor/DataCubeEditorGeneralPropertiesPanelState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAK1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAEjF,MAAM,OAAO,yCAAyC;IAG3C,QAAQ,CAAiB;IACzB,MAAM,CAAuB;IAEtC,IAAI,GAAG,EAAE,CAAC;IACV,KAAK,GAAG,CAAC,CAAC,CAAC;IACX,aAAa,GAAG,IAAI,4BAA4B,EAAE,CAAC;IAEnD,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,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAClC,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,GAAiC;QAChD,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;IAC3B,CAAC;IAED,YAAY,CAAC,QAA+B;QAC1C,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,GAAG,CAAC;YAC1D,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK;YACrB,CAAC,CAAC,CAAC,CAAC,CACP,CAAC;QACF,IAAI,CAAC,gBAAgB,CACnB,4BAA4B,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CACjE,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,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QACtD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;IACtD,CAAC;CACF"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import type { DataCubeState } from '../DataCubeState.js';
17
+ import type { DataCubeQuerySnapshot } from '../core/DataCubeQuerySnapshot.js';
18
+ import type { DataCubeQueryEditorPanelState } from './DataCubeEditorPanelState.js';
19
+ import type { DataCubeEditorState } from './DataCubeEditorState.js';
20
+ export declare class DataCubeEditorGeneralPropertiesPanelState implements DataCubeQueryEditorPanelState {
21
+ readonly dataCube: DataCubeState;
22
+ readonly editor: DataCubeEditorState;
23
+ constructor(editor: DataCubeEditorState);
24
+ applySnaphot(snapshot: DataCubeQuerySnapshot): void;
25
+ buildSnapshot(newSnapshot: DataCubeQuerySnapshot, baseSnapshot: DataCubeQuerySnapshot): void;
26
+ }
27
+ //# sourceMappingURL=DataCubeEditorHPivotPanelState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataCubeEditorHPivotPanelState.d.ts","sourceRoot":"","sources":["../../../../src/stores/dataCube/editor/DataCubeEditorHPivotPanelState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,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;AAEpE,qBAAa,yCACX,YAAW,6BAA6B;IAExC,QAAQ,CAAC,QAAQ,EAAG,aAAa,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAG,mBAAmB,CAAC;gBAE1B,MAAM,EAAE,mBAAmB;IAKvC,YAAY,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IAInD,aAAa,CACX,WAAW,EAAE,qBAAqB,EAClC,YAAY,EAAE,qBAAqB,GAClC,IAAI;CAGR"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ export class DataCubeEditorGeneralPropertiesPanelState {
17
+ dataCube;
18
+ editor;
19
+ constructor(editor) {
20
+ this.editor = editor;
21
+ this.dataCube = editor.dataCube;
22
+ }
23
+ applySnaphot(snapshot) {
24
+ // TODO
25
+ }
26
+ buildSnapshot(newSnapshot, baseSnapshot) {
27
+ // TODO
28
+ }
29
+ }
30
+ //# sourceMappingURL=DataCubeEditorHPivotPanelState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataCubeEditorHPivotPanelState.js","sourceRoot":"","sources":["../../../../src/stores/dataCube/editor/DataCubeEditorHPivotPanelState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAOH,MAAM,OAAO,yCAAyC;IAG3C,QAAQ,CAAiB;IACzB,MAAM,CAAuB;IAEtC,YAAY,MAA2B;QACrC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAClC,CAAC;IAED,YAAY,CAAC,QAA+B;QAC1C,OAAO;IACT,CAAC;IAED,aAAa,CACX,WAAkC,EAClC,YAAmC;QAEnC,OAAO;IACT,CAAC;CACF"}
@@ -23,6 +23,6 @@ export interface DataCubeQueryEditorPanelState {
23
23
  * Build and enrich the snapshot with data from the editor state
24
24
  * @returns whether the snapshot should be updated or not
25
25
  */
26
- buildSnapshot(newSnapshot: DataCubeQuerySnapshot, baseSnapshot: DataCubeQuerySnapshot): boolean;
26
+ buildSnapshot(newSnapshot: DataCubeQuerySnapshot, baseSnapshot: DataCubeQuerySnapshot): void;
27
27
  }
28
28
  //# sourceMappingURL=DataCubeEditorPanelState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataCubeEditorPanelState.d.ts","sourceRoot":"","sources":["../../../../src/stores/dataCube/editor/DataCubeEditorPanelState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAE9E,MAAM,WAAW,6BAA6B;IAC5C;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAEpD;;;OAGG;IACH,aAAa,CACX,WAAW,EAAE,qBAAqB,EAClC,YAAY,EAAE,qBAAqB,GAClC,OAAO,CAAC;CACZ"}
1
+ {"version":3,"file":"DataCubeEditorPanelState.d.ts","sourceRoot":"","sources":["../../../../src/stores/dataCube/editor/DataCubeEditorPanelState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAE9E,MAAM,WAAW,6BAA6B;IAC5C;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAEpD;;;OAGG;IACH,aAAa,CACX,WAAW,EAAE,qBAAqB,EAClC,YAAY,EAAE,qBAAqB,GAClC,IAAI,CAAC;CACT"}
@@ -14,21 +14,28 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import type { DataCubeState } from '../DataCubeState.js';
17
- import { DataCubeQuerySnapshotSortDirection, type DataCubeQuerySnapshot, type DataCubeQuerySnapshotColumn } from '../core/DataCubeQuerySnapshot.js';
17
+ import { DataCubeQuerySnapshotSortOperation, type DataCubeQuerySnapshot, type DataCubeQuerySnapshotColumn } from '../core/DataCubeQuerySnapshot.js';
18
18
  import type { DataCubeQueryEditorPanelState } from './DataCubeEditorPanelState.js';
19
19
  import { DataCubeEditorColumnsSelectorColumnState, DataCubeEditorColumnsSelectorState } from './DataCubeEditorColumnsSelectorState.js';
20
+ import type { DataCubeEditorState } from './DataCubeEditorState.js';
20
21
  export declare class DataCubeEditorSortColumnState extends DataCubeEditorColumnsSelectorColumnState {
21
22
  readonly column: DataCubeQuerySnapshotColumn;
22
- direction: DataCubeQuerySnapshotSortDirection;
23
- constructor(column: DataCubeQuerySnapshotColumn, direction: DataCubeQuerySnapshotSortDirection);
23
+ operation: DataCubeQuerySnapshotSortOperation;
24
+ constructor(column: DataCubeQuerySnapshotColumn, direction: DataCubeQuerySnapshotSortOperation);
24
25
  get name(): string;
25
- setDirection(val: DataCubeQuerySnapshotSortDirection): void;
26
+ resetWhenMadeAvailable(): void;
27
+ setOperation(val: DataCubeQuerySnapshotSortOperation): void;
26
28
  }
27
29
  export declare class DataCubeEditorSortsPanelState implements DataCubeQueryEditorPanelState {
28
30
  readonly dataCube: DataCubeState;
31
+ readonly editor: DataCubeEditorState;
29
32
  readonly columnsSelector: DataCubeEditorColumnsSelectorState<DataCubeEditorSortColumnState>;
30
- constructor(dataCube: DataCubeState);
33
+ constructor(editor: DataCubeEditorState);
34
+ getActionableSortColumn(colName: string, operation: DataCubeQuerySnapshotSortOperation): DataCubeEditorSortColumnState | undefined;
35
+ sortByColumn(colName: string, operation: DataCubeQuerySnapshotSortOperation): void;
36
+ addSortByColumn(colName: string, operation: DataCubeQuerySnapshotSortOperation): void;
37
+ clearAllSorts(): void;
31
38
  applySnaphot(snapshot: DataCubeQuerySnapshot): void;
32
- buildSnapshot(newSnapshot: DataCubeQuerySnapshot, baseSnapshot: DataCubeQuerySnapshot): boolean;
39
+ buildSnapshot(newSnapshot: DataCubeQuerySnapshot, baseSnapshot: DataCubeQuerySnapshot): void;
33
40
  }
34
41
  //# sourceMappingURL=DataCubeEditorSortsPanelState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataCubeEditorSortsPanelState.d.ts","sourceRoot":"","sources":["../../../../src/stores/dataCube/editor/DataCubeEditorSortsPanelState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EACL,kCAAkC,EAElC,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EAEjC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAEnF,OAAO,EACL,wCAAwC,EACxC,kCAAkC,EACnC,MAAM,yCAAyC,CAAC;AAEjD,qBAAa,6BAA8B,SAAQ,wCAAwC;IACzF,QAAQ,CAAC,MAAM,EAAE,2BAA2B,CAAC;IAC7C,SAAS,EAAE,kCAAkC,CAAC;gBAG5C,MAAM,EAAE,2BAA2B,EACnC,SAAS,EAAE,kCAAkC;IAa/C,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,YAAY,CAAC,GAAG,EAAE,kCAAkC,GAAG,IAAI;CAG5D;AAED,qBAAa,6BACX,YAAW,6BAA6B;IAExC,QAAQ,CAAC,QAAQ,EAAG,aAAa,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAG,kCAAkC,CAAC,6BAA6B,CAAC,CAAC;gBAEjF,QAAQ,EAAE,aAAa;IAKnC,YAAY,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IA2BnD,aAAa,CACX,WAAW,EAAE,qBAAqB,EAClC,YAAY,EAAE,qBAAqB,GAClC,OAAO;CAcX"}
1
+ {"version":3,"file":"DataCubeEditorSortsPanelState.d.ts","sourceRoot":"","sources":["../../../../src/stores/dataCube/editor/DataCubeEditorSortsPanelState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EACL,kCAAkC,EAElC,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EACjC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AACnF,OAAO,EACL,wCAAwC,EACxC,kCAAkC,EACnC,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,qBAAa,6BAA8B,SAAQ,wCAAwC;IACzF,QAAQ,CAAC,MAAM,EAAE,2BAA2B,CAAC;IAC7C,SAAS,EAAE,kCAAkC,CAAC;gBAG5C,MAAM,EAAE,2BAA2B,EACnC,SAAS,EAAE,kCAAkC;IAa/C,IAAI,IAAI,IAAI,MAAM,CAEjB;IAEQ,sBAAsB,IAAI,IAAI;IAIvC,YAAY,CAAC,GAAG,EAAE,kCAAkC,GAAG,IAAI;CAG5D;AAED,qBAAa,6BACX,YAAW,6BAA6B;IAExC,QAAQ,CAAC,QAAQ,EAAG,aAAa,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAG,mBAAmB,CAAC;IACtC,QAAQ,CAAC,eAAe,EAAG,kCAAkC,CAAC,6BAA6B,CAAC,CAAC;gBAEjF,MAAM,EAAE,mBAAmB;IAMvC,uBAAuB,CACrB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,kCAAkC,GAC5C,6BAA6B,GAAG,SAAS;IAW5C,YAAY,CACV,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,kCAAkC,GAC5C,IAAI;IAiBP,eAAe,CACb,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,kCAAkC,GAC5C,IAAI;IAmBP,aAAa,IAAI,IAAI;IAWrB,YAAY,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IA2BnD,aAAa,CACX,WAAW,EAAE,qBAAqB,EAClC,YAAY,EAAE,qBAAqB,GAClC,IAAI;CASR"}
@@ -14,54 +14,99 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { action, makeObservable, observable } from 'mobx';
17
- import { DataCubeQuerySnapshotSortDirection, _getCol, } from '../core/DataCubeQuerySnapshot.js';
18
- import { deepEqual } from '@finos/legend-shared';
17
+ import { DataCubeQuerySnapshotSortOperation, _getCol, } from '../core/DataCubeQuerySnapshot.js';
19
18
  import { DataCubeEditorColumnsSelectorColumnState, DataCubeEditorColumnsSelectorState, } from './DataCubeEditorColumnsSelectorState.js';
20
19
  export class DataCubeEditorSortColumnState extends DataCubeEditorColumnsSelectorColumnState {
21
20
  column;
22
- direction;
21
+ operation;
23
22
  constructor(column, direction) {
24
23
  super();
25
24
  makeObservable(this, {
26
- direction: observable,
27
- setDirection: action,
25
+ operation: observable,
26
+ setOperation: action,
28
27
  });
29
28
  this.column = column;
30
- this.direction = direction;
29
+ this.operation = direction;
31
30
  }
32
31
  get name() {
33
32
  return this.column.name;
34
33
  }
35
- setDirection(val) {
36
- this.direction = val;
34
+ resetWhenMadeAvailable() {
35
+ this.setOperation(DataCubeQuerySnapshotSortOperation.ASCENDING);
36
+ }
37
+ setOperation(val) {
38
+ this.operation = val;
37
39
  }
38
40
  }
39
41
  export class DataCubeEditorSortsPanelState {
40
42
  dataCube;
43
+ editor;
41
44
  columnsSelector;
42
- constructor(dataCube) {
43
- this.dataCube = dataCube;
45
+ constructor(editor) {
46
+ this.editor = editor;
47
+ this.dataCube = editor.dataCube;
44
48
  this.columnsSelector = new DataCubeEditorColumnsSelectorState();
45
49
  }
50
+ getActionableSortColumn(colName, operation) {
51
+ let column = this.columnsSelector.getAvailableColumn(colName);
52
+ if (!column) {
53
+ const selectedColumn = this.columnsSelector.getSelectedColumn(colName);
54
+ if (selectedColumn && selectedColumn.operation !== operation) {
55
+ column = selectedColumn;
56
+ }
57
+ }
58
+ return column;
59
+ }
60
+ sortByColumn(colName, operation) {
61
+ const column = this.getActionableSortColumn(colName, operation);
62
+ if (!column) {
63
+ return;
64
+ }
65
+ column.setOperation(operation);
66
+ this.columnsSelector.setAvailableColumns([
67
+ ...this.columnsSelector.availableColumns,
68
+ ...this.columnsSelector.selectedColumns,
69
+ ].filter((col) => col.name !== colName));
70
+ this.columnsSelector.setSelectedColumns([column]);
71
+ this.editor.applyChanges();
72
+ }
73
+ addSortByColumn(colName, operation) {
74
+ const column = this.getActionableSortColumn(colName, operation);
75
+ if (!column) {
76
+ return;
77
+ }
78
+ column.setOperation(operation);
79
+ this.columnsSelector.setAvailableColumns(this.columnsSelector.availableColumns.filter((col) => col.name !== colName));
80
+ this.columnsSelector.setSelectedColumns([
81
+ ...this.columnsSelector.selectedColumns,
82
+ column,
83
+ ]);
84
+ this.editor.applyChanges();
85
+ }
86
+ clearAllSorts() {
87
+ if (this.columnsSelector.selectedColumns.length !== 0) {
88
+ this.columnsSelector.setAvailableColumns([
89
+ ...this.columnsSelector.availableColumns,
90
+ ...this.columnsSelector.selectedColumns,
91
+ ]);
92
+ this.columnsSelector.setSelectedColumns([]);
93
+ this.editor.applyChanges();
94
+ }
95
+ }
46
96
  applySnaphot(snapshot) {
47
97
  const columns = snapshot.stageCols('sort');
48
98
  const sortColumns = snapshot.data.sortColumns;
49
99
  this.columnsSelector.setAvailableColumns(columns
50
100
  .filter((col) => !sortColumns.find((sortCol) => sortCol.name === col.name))
51
- .map((col) => new DataCubeEditorSortColumnState(_getCol(columns, col.name), DataCubeQuerySnapshotSortDirection.ASCENDING)));
52
- this.columnsSelector.setSelectedColumns(sortColumns.map((col) => new DataCubeEditorSortColumnState(_getCol(columns, col.name), col.direction)));
101
+ .map((col) => new DataCubeEditorSortColumnState(_getCol(columns, col.name), DataCubeQuerySnapshotSortOperation.ASCENDING)));
102
+ this.columnsSelector.setSelectedColumns(sortColumns.map((col) => new DataCubeEditorSortColumnState(_getCol(columns, col.name), col.operation)));
53
103
  }
54
104
  buildSnapshot(newSnapshot, baseSnapshot) {
55
- const newSortColumns = this.columnsSelector.selectedColumns.map((sortInfo) => ({
105
+ newSnapshot.data.sortColumns = this.columnsSelector.selectedColumns.map((sortInfo) => ({
56
106
  name: sortInfo.column.name,
57
107
  type: sortInfo.column.type,
58
- direction: sortInfo.direction,
108
+ operation: sortInfo.operation,
59
109
  }));
60
- if (!deepEqual(newSortColumns, baseSnapshot.data.sortColumns)) {
61
- newSnapshot.data.sortColumns = newSortColumns;
62
- return true;
63
- }
64
- return false;
65
110
  }
66
111
  }
67
112
  //# sourceMappingURL=DataCubeEditorSortsPanelState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataCubeEditorSortsPanelState.js","sourceRoot":"","sources":["../../../../src/stores/dataCube/editor/DataCubeEditorSortsPanelState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAE1D,OAAO,EACL,kCAAkC,EAClC,OAAO,GAIR,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EACL,wCAAwC,EACxC,kCAAkC,GACnC,MAAM,yCAAyC,CAAC;AAEjD,MAAM,OAAO,6BAA8B,SAAQ,wCAAwC;IAChF,MAAM,CAA8B;IAC7C,SAAS,CAAqC;IAE9C,YACE,MAAmC,EACnC,SAA6C;QAE7C,KAAK,EAAE,CAAC;QAER,cAAc,CAAC,IAAI,EAAE;YACnB,SAAS,EAAE,UAAU;YACrB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,YAAY,CAAC,GAAuC;QAClD,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;IACvB,CAAC;CACF;AAED,MAAM,OAAO,6BAA6B;IAG/B,QAAQ,CAAiB;IACzB,eAAe,CAAqE;IAE7F,YAAY,QAAuB;QACjC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,eAAe,GAAG,IAAI,kCAAkC,EAAE,CAAC;IAClE,CAAC;IAED,YAAY,CAAC,QAA+B;QAC1C,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;QAC9C,IAAI,CAAC,eAAe,CAAC,mBAAmB,CACtC,OAAO;aACJ,MAAM,CACL,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,CACnE;aACA,GAAG,CACF,CAAC,GAAG,EAAE,EAAE,CACN,IAAI,6BAA6B,CAC/B,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,EAC1B,kCAAkC,CAAC,SAAS,CAC7C,CACJ,CACJ,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,kBAAkB,CACrC,WAAW,CAAC,GAAG,CACb,CAAC,GAAG,EAAE,EAAE,CACN,IAAI,6BAA6B,CAC/B,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,EAC1B,GAAG,CAAC,SAAS,CACd,CACJ,CACF,CAAC;IACJ,CAAC;IAED,aAAa,CACX,WAAkC,EAClC,YAAmC;QAEnC,MAAM,cAAc,GAClB,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACtD,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI;YAC1B,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI;YAC1B,SAAS,EAAE,QAAQ,CAAC,SAAS;SAC9B,CAAC,CAAC,CAAC;QAEN,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9D,WAAW,CAAC,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC;YAC9C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
1
+ {"version":3,"file":"DataCubeEditorSortsPanelState.js","sourceRoot":"","sources":["../../../../src/stores/dataCube/editor/DataCubeEditorSortsPanelState.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,8 @@ import { DataCubeEditorCodePanelState } from './DataCubeEditorCodePanelState.js'
19
19
  import { DataCubeQuerySnapshotSubscriber } from '../core/DataCubeQuerySnapshotSubscriber.js';
20
20
  import { type DataCubeQuerySnapshot } from '../core/DataCubeQuerySnapshot.js';
21
21
  import { DataCubeEditorGeneralPropertiesPanelState } from './DataCubeEditorGeneralPropertiesPanelState.js';
22
+ import { DataCubeEditorColumnPropertiesPanelState } from './DataCubeEditorColumnPropertiesPanelState.js';
23
+ import type { REPLWindowConfig } from '../../../components/REPLWindow.js';
22
24
  export declare enum DATA_CUBE_EDITOR_TAB {
23
25
  COLUMNS = "Columns",
24
26
  VERTICAL_PIVOTS = "VPivots",
@@ -31,9 +33,11 @@ export declare enum DATA_CUBE_EDITOR_TAB {
31
33
  CODE = "Code"
32
34
  }
33
35
  export declare class DataCubeEditorState extends DataCubeQuerySnapshotSubscriber {
34
- readonly sortsPanel: DataCubeEditorSortsPanelState;
35
- readonly generalPropertiesPanel: DataCubeEditorGeneralPropertiesPanelState;
36
- readonly codePanel: DataCubeEditorCodePanelState;
36
+ readonly sorts: DataCubeEditorSortsPanelState;
37
+ readonly generalProperties: DataCubeEditorGeneralPropertiesPanelState;
38
+ readonly columnProperties: DataCubeEditorColumnPropertiesPanelState;
39
+ readonly code: DataCubeEditorCodePanelState;
40
+ readonly window: REPLWindowConfig;
37
41
  isPanelOpen: boolean;
38
42
  currentTab: DATA_CUBE_EDITOR_TAB;
39
43
  constructor(dataCube: DataCubeState);
@@ -41,7 +45,7 @@ export declare class DataCubeEditorState extends DataCubeQuerySnapshotSubscriber
41
45
  closePanel(): void;
42
46
  setCurrentTab(val: DATA_CUBE_EDITOR_TAB): void;
43
47
  applyChanges(): void;
44
- applySnapshot(snapshot: DataCubeQuerySnapshot): Promise<void>;
48
+ applySnapshot(snapshot: DataCubeQuerySnapshot, previousSnapshot: DataCubeQuerySnapshot | undefined): Promise<void>;
45
49
  initialize(): Promise<void>;
46
50
  }
47
51
  //# sourceMappingURL=DataCubeEditorState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataCubeEditorState.d.ts","sourceRoot":"","sources":["../../../../src/stores/dataCube/editor/DataCubeEditorState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,+BAA+B,EAAE,MAAM,4CAA4C,CAAC;AAC7F,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAE9E,OAAO,EAAE,yCAAyC,EAAE,MAAM,gDAAgD,CAAC;AAE3G,oBAAY,oBAAoB;IAC9B,OAAO,YAAY;IACnB,eAAe,YAAY;IAC3B,iBAAiB,YAAY;IAC7B,KAAK,UAAU;IACf,gBAAgB,qBAAqB;IACrC,MAAM,WAAW;IACjB,kBAAkB,uBAAuB;IACzC,iBAAiB,sBAAsB;IACvC,IAAI,SAAS;CAGd;AAED,qBAAa,mBAAoB,SAAQ,+BAA+B;IACtE,QAAQ,CAAC,UAAU,EAAE,6BAA6B,CAAC;IACnD,QAAQ,CAAC,sBAAsB,EAAE,yCAAyC,CAAC;IAC3E,QAAQ,CAAC,SAAS,EAAE,4BAA4B,CAAC;IAEjD,WAAW,UAAS;IACpB,UAAU,uBAA2C;gBAEzC,QAAQ,EAAE,aAAa;IAqBnC,SAAS,IAAI,IAAI;IAIjB,UAAU,IAAI,IAAI;IAIlB,aAAa,CAAC,GAAG,EAAE,oBAAoB,GAAG,IAAI;IAI9C,YAAY,IAAI,IAAI;IAcL,aAAa,CAAC,QAAQ,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7D,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAG3C"}
1
+ {"version":3,"file":"DataCubeEditorState.d.ts","sourceRoot":"","sources":["../../../../src/stores/dataCube/editor/DataCubeEditorState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,+BAA+B,EAAE,MAAM,4CAA4C,CAAC;AAC7F,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAE9E,OAAO,EAAE,yCAAyC,EAAE,MAAM,gDAAgD,CAAC;AAC3G,OAAO,EAAE,wCAAwC,EAAE,MAAM,+CAA+C,CAAC;AACzG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,oBAAY,oBAAoB;IAC9B,OAAO,YAAY;IACnB,eAAe,YAAY;IAC3B,iBAAiB,YAAY;IAC7B,KAAK,UAAU;IACf,gBAAgB,qBAAqB;IACrC,MAAM,WAAW;IACjB,kBAAkB,uBAAuB;IACzC,iBAAiB,sBAAsB;IACvC,IAAI,SAAS;CACd;AAED,qBAAa,mBAAoB,SAAQ,+BAA+B;IACtE,QAAQ,CAAC,KAAK,EAAE,6BAA6B,CAAC;IAC9C,QAAQ,CAAC,iBAAiB,EAAE,yCAAyC,CAAC;IACtE,QAAQ,CAAC,gBAAgB,EAAE,wCAAwC,CAAC;IACpE,QAAQ,CAAC,IAAI,EAAE,4BAA4B,CAAC;IAE5C,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAI/B;IAEF,WAAW,UAAS;IACpB,UAAU,uBAA2C;gBAEzC,QAAQ,EAAE,aAAa;IAsBnC,SAAS,IAAI,IAAI;IAIjB,UAAU,IAAI,IAAI;IAIlB,aAAa,CAAC,GAAG,EAAE,oBAAoB,GAAG,IAAI;IAI9C,YAAY,IAAI,IAAI;IAgBL,aAAa,CAC1B,QAAQ,EAAE,qBAAqB,EAC/B,gBAAgB,EAAE,qBAAqB,GAAG,SAAS,GAClD,OAAO,CAAC,IAAI,CAAC;IAMD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAG3C"}
@@ -18,8 +18,9 @@ import { DataCubeEditorSortsPanelState } from './DataCubeEditorSortsPanelState.j
18
18
  import { DataCubeEditorCodePanelState } from './DataCubeEditorCodePanelState.js';
19
19
  import { DataCubeQuerySnapshotSubscriber } from '../core/DataCubeQuerySnapshotSubscriber.js';
20
20
  import {} from '../core/DataCubeQuerySnapshot.js';
21
- import { guaranteeNonNullable } from '@finos/legend-shared';
21
+ import { guaranteeNonNullable, uuid } from '@finos/legend-shared';
22
22
  import { DataCubeEditorGeneralPropertiesPanelState } from './DataCubeEditorGeneralPropertiesPanelState.js';
23
+ import { DataCubeEditorColumnPropertiesPanelState } from './DataCubeEditorColumnPropertiesPanelState.js';
23
24
  export var DATA_CUBE_EDITOR_TAB;
24
25
  (function (DATA_CUBE_EDITOR_TAB) {
25
26
  DATA_CUBE_EDITOR_TAB["COLUMNS"] = "Columns";
@@ -31,13 +32,17 @@ export var DATA_CUBE_EDITOR_TAB;
31
32
  DATA_CUBE_EDITOR_TAB["GENERAL_PROPERTIES"] = "General Properties";
32
33
  DATA_CUBE_EDITOR_TAB["COLUMN_PROPERTIES"] = "Column Properties";
33
34
  DATA_CUBE_EDITOR_TAB["CODE"] = "Code";
34
- // DEVELOPER_OPTIONS = 'Developer',
35
- // PIVOT_LAYOUT = 'Pivot Layout',
36
35
  })(DATA_CUBE_EDITOR_TAB || (DATA_CUBE_EDITOR_TAB = {}));
37
36
  export class DataCubeEditorState extends DataCubeQuerySnapshotSubscriber {
38
- sortsPanel;
39
- generalPropertiesPanel;
40
- codePanel;
37
+ sorts;
38
+ generalProperties;
39
+ columnProperties;
40
+ code;
41
+ window = {
42
+ uuid: uuid(),
43
+ title: 'Properties',
44
+ center: true,
45
+ };
41
46
  isPanelOpen = false;
42
47
  currentTab = DATA_CUBE_EDITOR_TAB.GENERAL_PROPERTIES;
43
48
  constructor(dataCube) {
@@ -50,9 +55,10 @@ export class DataCubeEditorState extends DataCubeQuerySnapshotSubscriber {
50
55
  openPanel: action,
51
56
  closePanel: action,
52
57
  });
53
- this.sortsPanel = new DataCubeEditorSortsPanelState(this.dataCube);
54
- this.generalPropertiesPanel = new DataCubeEditorGeneralPropertiesPanelState(this.dataCube);
55
- this.codePanel = new DataCubeEditorCodePanelState(this.dataCube);
58
+ this.sorts = new DataCubeEditorSortsPanelState(this);
59
+ this.generalProperties = new DataCubeEditorGeneralPropertiesPanelState(this);
60
+ this.columnProperties = new DataCubeEditorColumnPropertiesPanelState(this);
61
+ this.code = new DataCubeEditorCodePanelState(this);
56
62
  }
57
63
  openPanel() {
58
64
  this.isPanelOpen = true;
@@ -66,17 +72,20 @@ export class DataCubeEditorState extends DataCubeQuerySnapshotSubscriber {
66
72
  applyChanges() {
67
73
  const baseSnapshot = guaranteeNonNullable(this.getLatestSnapshot());
68
74
  const snapshot = baseSnapshot.clone();
69
- const createNew = [
70
- this.sortsPanel.buildSnapshot(snapshot, baseSnapshot),
71
- this.generalPropertiesPanel.buildSnapshot(snapshot, baseSnapshot),
72
- ].some(Boolean);
73
- if (createNew) {
75
+ this.sorts.buildSnapshot(snapshot, baseSnapshot);
76
+ // NOTE: snapshot must be processed first to build the container configuration
77
+ // before proceeding to process the columns' configuration
78
+ this.generalProperties.buildSnapshot(snapshot, baseSnapshot);
79
+ this.columnProperties.buildSnapshot(snapshot, baseSnapshot);
80
+ snapshot.finalize();
81
+ if (snapshot.hashCode !== baseSnapshot.hashCode) {
74
82
  this.publishSnapshot(snapshot);
75
83
  }
76
84
  }
77
- async applySnapshot(snapshot) {
78
- this.sortsPanel.applySnaphot(snapshot);
79
- this.generalPropertiesPanel.applySnaphot(snapshot);
85
+ async applySnapshot(snapshot, previousSnapshot) {
86
+ this.sorts.applySnaphot(snapshot);
87
+ this.generalProperties.applySnaphot(snapshot);
88
+ this.columnProperties.applySnaphot(snapshot);
80
89
  }
81
90
  async initialize() {
82
91
  // do nothing
@@ -1 +1 @@
1
- {"version":3,"file":"DataCubeEditorState.js","sourceRoot":"","sources":["../../../../src/stores/dataCube/editor/DataCubeEditorState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAE1D,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,+BAA+B,EAAE,MAAM,4CAA4C,CAAC;AAC7F,OAAO,EAA8B,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,yCAAyC,EAAE,MAAM,gDAAgD,CAAC;AAE3G,MAAM,CAAN,IAAY,oBAYX;AAZD,WAAY,oBAAoB;IAC9B,2CAAmB,CAAA;IACnB,mDAA2B,CAAA;IAC3B,qDAA6B,CAAA;IAC7B,uCAAe,CAAA;IACf,6DAAqC,CAAA;IACrC,yCAAiB,CAAA;IACjB,iEAAyC,CAAA;IACzC,+DAAuC,CAAA;IACvC,qCAAa,CAAA;IACb,mCAAmC;IACnC,iCAAiC;AACnC,CAAC,EAZW,oBAAoB,KAApB,oBAAoB,QAY/B;AAED,MAAM,OAAO,mBAAoB,SAAQ,+BAA+B;IAC7D,UAAU,CAAgC;IAC1C,sBAAsB,CAA4C;IAClE,SAAS,CAA+B;IAEjD,WAAW,GAAG,KAAK,CAAC;IACpB,UAAU,GAAG,oBAAoB,CAAC,kBAAkB,CAAC;IAErD,YAAY,QAAuB;QACjC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAEhB,cAAc,CAAC,IAAI,EAAE;YACnB,YAAY,EAAE,MAAM;YAEpB,UAAU,EAAE,UAAU;YACtB,aAAa,EAAE,MAAM;YAErB,WAAW,EAAE,UAAU;YACvB,SAAS,EAAE,MAAM;YACjB,UAAU,EAAE,MAAM;SACnB,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,GAAG,IAAI,6BAA6B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnE,IAAI,CAAC,sBAAsB,GAAG,IAAI,yCAAyC,CACzE,IAAI,CAAC,QAAQ,CACd,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,IAAI,4BAA4B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnE,CAAC;IAED,SAAS;QACP,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,UAAU;QACR,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,aAAa,CAAC,GAAyB;QACrC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;IACxB,CAAC;IAED,YAAY;QACV,MAAM,YAAY,GAAG,oBAAoB,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACpE,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC;QAEtC,MAAM,SAAS,GAAG;YAChB,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,EAAE,YAAY,CAAC;YACrD,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,QAAQ,EAAE,YAAY,CAAC;SAClE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEhB,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAEQ,KAAK,CAAC,aAAa,CAAC,QAA+B;QAC1D,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;IAEQ,KAAK,CAAC,UAAU;QACvB,aAAa;IACf,CAAC;CACF"}
1
+ {"version":3,"file":"DataCubeEditorState.js","sourceRoot":"","sources":["../../../../src/stores/dataCube/editor/DataCubeEditorState.ts"],"names":[],"mappings":"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"}