@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
@@ -0,0 +1,641 @@
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
+
17
+ import {
18
+ getDataType,
19
+ type DataCubeColumnKind,
20
+ type DataCubeFont,
21
+ type DataCubeAggregateFunction,
22
+ type DataCubeNumberScale,
23
+ type DataCubeSelectionStat,
24
+ type DataCubeFontFormatUnderlineVariant,
25
+ type DataCubeFontCase,
26
+ type DataCubeFontTextAlignment,
27
+ type DataCubeColumnDataType,
28
+ type DataCubeColumnPinPlacement,
29
+ DEFAULT_FONT_FAMILY,
30
+ DEFAULT_FONT_SIZE,
31
+ DEFAULT_FONT_BOLD,
32
+ DEFAULT_FONT_ITALIC,
33
+ DEFAULT_FONT_UNDERLINED,
34
+ DEFAULT_FONT_STRIKETHROUGH,
35
+ DEFAULT_TEXT_ALIGN,
36
+ DEFAULT_FOREGROUND_COLOR,
37
+ DEFAULT_NEGATIVE_FOREGROUND_COLOR,
38
+ DEFAULT_ZERO_FOREGROUND_COLOR,
39
+ DEFAULT_ERROR_FOREGROUND_COLOR,
40
+ DEFAULT_BACKGROUND_COLOR,
41
+ } from '../core/DataCubeQueryEngine.js';
42
+ import { type PlainObject, type Writable } from '@finos/legend-shared';
43
+ import { makeObservable, observable, action, computed } from 'mobx';
44
+ import {
45
+ DataCubeColumnConfiguration,
46
+ DataCubeConfiguration,
47
+ } from '../core/DataCubeConfiguration.js';
48
+
49
+ export class DataCubeMutableColumnConfiguration extends DataCubeColumnConfiguration {
50
+ aggregateFunction?: DataCubeAggregateFunction | undefined;
51
+ excludedFromHPivot = true;
52
+
53
+ readonly dataType!: DataCubeColumnDataType;
54
+
55
+ static create(
56
+ json: PlainObject<DataCubeColumnConfiguration>,
57
+ ): DataCubeMutableColumnConfiguration {
58
+ const configuration = Object.assign(
59
+ new DataCubeMutableColumnConfiguration('', ''),
60
+ DataCubeColumnConfiguration.serialization.fromJson(json),
61
+ );
62
+ (configuration as Writable<DataCubeMutableColumnConfiguration>).dataType =
63
+ getDataType(configuration.type);
64
+
65
+ makeObservable(configuration, {
66
+ kind: observable,
67
+ setKind: action,
68
+
69
+ displayName: observable,
70
+ setDisplayName: action,
71
+
72
+ decimals: observable,
73
+ setDecimals: action,
74
+
75
+ displayCommas: observable,
76
+ setDisplayCommas: action,
77
+
78
+ negativeNumberInParens: observable,
79
+ setNegativeNumberInParens: action,
80
+
81
+ numberScale: observable,
82
+ setNumberScale: action,
83
+
84
+ hPivotSortFunction: observable,
85
+ setHPivotSortFunction: action,
86
+
87
+ fontFamily: observable,
88
+ setFontFamily: action,
89
+
90
+ fontSize: observable,
91
+ setFontSize: action,
92
+
93
+ fontBold: observable,
94
+ setFontBold: action,
95
+
96
+ fontItalic: observable,
97
+ setFontItalic: action,
98
+
99
+ fontUnderline: observable,
100
+ setFontUnderline: action,
101
+
102
+ fontStrikethrough: observable,
103
+ setFontStrikethrough: action,
104
+
105
+ fontCase: observable,
106
+ setFontCase: action,
107
+
108
+ textAlign: observable,
109
+ setTextAlign: action,
110
+
111
+ normalForegroundColor: observable,
112
+ setNormalForegroundColor: action,
113
+
114
+ negativeForegroundColor: observable,
115
+ setNegativeForegroundColor: action,
116
+
117
+ zeroForegroundColor: observable,
118
+ setZeroForegroundColor: action,
119
+
120
+ errorForegroundColor: observable,
121
+ setErrorForegroundColor: action,
122
+
123
+ normalBackgroundColor: observable,
124
+ setNormalBackgroundColor: action,
125
+
126
+ negativeBackgroundColor: observable,
127
+ setNegativeBackgroundColor: action,
128
+
129
+ zeroBackgroundColor: observable,
130
+ setZeroBackgroundColor: action,
131
+
132
+ errorBackgroundColor: observable,
133
+ setErrorBackgroundColor: action,
134
+
135
+ blur: observable,
136
+ setBlur: action,
137
+
138
+ hideFromView: observable,
139
+ setHideFromView: action,
140
+
141
+ aggregateFunction: observable,
142
+ setAggregateFunction: action,
143
+
144
+ excludedFromHPivot: observable,
145
+ setExcludedFromHPivot: action,
146
+
147
+ fixedWidth: observable,
148
+ setFixedWidth: action,
149
+
150
+ minWidth: observable,
151
+ setMinWidth: action,
152
+
153
+ maxWidth: observable,
154
+ setMaxWidth: action,
155
+
156
+ pinned: observable,
157
+ setPinned: action,
158
+
159
+ displayAsLink: observable,
160
+ setDisplayAsLink: action,
161
+
162
+ linkLabelParameter: observable,
163
+ setLinkLabelParameter: action,
164
+
165
+ isUsingDefaultStyling: computed,
166
+ useDefaultStyling: action,
167
+ });
168
+
169
+ return configuration;
170
+ }
171
+
172
+ serialize(): PlainObject<DataCubeColumnConfiguration> {
173
+ return DataCubeColumnConfiguration.serialization.toJson(this);
174
+ }
175
+
176
+ get isUsingDefaultStyling(): boolean {
177
+ return (
178
+ this.fontFamily === undefined &&
179
+ this.fontSize === undefined &&
180
+ this.fontBold === undefined &&
181
+ this.fontItalic === undefined &&
182
+ this.fontUnderline === undefined &&
183
+ this.fontStrikethrough === undefined &&
184
+ this.textAlign === undefined &&
185
+ this.normalForegroundColor === undefined &&
186
+ this.negativeForegroundColor === undefined &&
187
+ this.zeroForegroundColor === undefined &&
188
+ this.errorForegroundColor === undefined &&
189
+ this.normalBackgroundColor === undefined &&
190
+ this.negativeBackgroundColor === undefined &&
191
+ this.zeroBackgroundColor === undefined &&
192
+ this.errorBackgroundColor === undefined
193
+ );
194
+ }
195
+
196
+ useDefaultStyling(): void {
197
+ this.fontFamily = undefined;
198
+ this.fontSize = undefined;
199
+ this.fontBold = undefined;
200
+ this.fontItalic = undefined;
201
+ this.fontUnderline = undefined;
202
+ this.fontStrikethrough = undefined;
203
+ this.textAlign = undefined;
204
+ this.normalForegroundColor = undefined;
205
+ this.negativeForegroundColor = undefined;
206
+ this.zeroForegroundColor = undefined;
207
+ this.errorForegroundColor = undefined;
208
+ this.normalBackgroundColor = undefined;
209
+ this.negativeBackgroundColor = undefined;
210
+ this.zeroBackgroundColor = undefined;
211
+ this.errorBackgroundColor = undefined;
212
+ }
213
+
214
+ setKind(value: DataCubeColumnKind): void {
215
+ this.kind = value;
216
+ }
217
+
218
+ setDisplayName(value: string | undefined): void {
219
+ this.displayName = value;
220
+ }
221
+
222
+ setDecimals(value: number | undefined): void {
223
+ this.decimals = value;
224
+ }
225
+
226
+ setDisplayCommas(value: boolean): void {
227
+ this.displayCommas = value;
228
+ }
229
+
230
+ setNegativeNumberInParens(value: boolean): void {
231
+ this.negativeNumberInParens = value;
232
+ }
233
+
234
+ setNumberScale(value: DataCubeNumberScale | undefined): void {
235
+ this.numberScale = value;
236
+ }
237
+
238
+ setHPivotSortFunction(value: string | undefined): void {
239
+ this.hPivotSortFunction = value;
240
+ }
241
+
242
+ setFontFamily(value: DataCubeFont | undefined): void {
243
+ this.fontFamily = value;
244
+ }
245
+
246
+ setFontSize(value: number | undefined): void {
247
+ this.fontSize = value;
248
+ }
249
+
250
+ setFontBold(value: boolean | undefined): void {
251
+ this.fontBold = value;
252
+ }
253
+
254
+ setFontItalic(value: boolean | undefined): void {
255
+ this.fontItalic = value;
256
+ }
257
+
258
+ setFontUnderline(
259
+ value: DataCubeFontFormatUnderlineVariant | undefined,
260
+ ): void {
261
+ this.fontUnderline = value;
262
+ }
263
+
264
+ setFontStrikethrough(value: boolean | undefined): void {
265
+ this.fontStrikethrough = value;
266
+ }
267
+
268
+ setFontCase(value: DataCubeFontCase | undefined): void {
269
+ this.fontCase = value;
270
+ }
271
+
272
+ setTextAlign(value: DataCubeFontTextAlignment | undefined): void {
273
+ this.textAlign = value;
274
+ }
275
+
276
+ setNormalForegroundColor(value: string | undefined): void {
277
+ this.normalForegroundColor = value;
278
+ }
279
+
280
+ setNegativeForegroundColor(value: string | undefined): void {
281
+ this.negativeForegroundColor = value;
282
+ }
283
+
284
+ setZeroForegroundColor(value: string | undefined): void {
285
+ this.zeroForegroundColor = value;
286
+ }
287
+
288
+ setErrorForegroundColor(value: string | undefined): void {
289
+ this.errorForegroundColor = value;
290
+ }
291
+
292
+ setNormalBackgroundColor(value: string | undefined): void {
293
+ this.normalBackgroundColor = value;
294
+ }
295
+
296
+ setNegativeBackgroundColor(value: string | undefined): void {
297
+ this.negativeBackgroundColor = value;
298
+ }
299
+
300
+ setZeroBackgroundColor(value: string | undefined): void {
301
+ this.zeroBackgroundColor = value;
302
+ }
303
+
304
+ setErrorBackgroundColor(value: string | undefined): void {
305
+ this.errorBackgroundColor = value;
306
+ }
307
+
308
+ setBlur(value: boolean): void {
309
+ this.blur = value;
310
+ }
311
+
312
+ setHideFromView(value: boolean): void {
313
+ this.hideFromView = value;
314
+ }
315
+
316
+ setFixedWidth(value: number | undefined): void {
317
+ this.fixedWidth = value;
318
+ }
319
+
320
+ setMinWidth(value: number | undefined): void {
321
+ this.minWidth = value;
322
+ }
323
+
324
+ setMaxWidth(value: number | undefined): void {
325
+ this.maxWidth = value;
326
+ }
327
+
328
+ setPinned(value: DataCubeColumnPinPlacement | undefined): void {
329
+ this.pinned = value;
330
+ }
331
+
332
+ setDisplayAsLink(value: boolean): void {
333
+ this.displayAsLink = value;
334
+ }
335
+
336
+ setLinkLabelParameter(value: string | undefined): void {
337
+ this.linkLabelParameter = value;
338
+ }
339
+
340
+ setAggregateFunction(value: DataCubeAggregateFunction | undefined): void {
341
+ this.aggregateFunction = value;
342
+ }
343
+
344
+ setExcludedFromHPivot(value: boolean): void {
345
+ this.excludedFromHPivot = value;
346
+ }
347
+ }
348
+
349
+ export class DataCubeMutableConfiguration extends DataCubeConfiguration {
350
+ static create(
351
+ json: PlainObject<DataCubeConfiguration>,
352
+ ): DataCubeMutableConfiguration {
353
+ const configuration = Object.assign(
354
+ new DataCubeMutableConfiguration(),
355
+ DataCubeConfiguration.serialization.fromJson(json),
356
+ );
357
+ configuration.columns = [];
358
+
359
+ makeObservable(configuration, {
360
+ description: observable,
361
+ setDescription: action,
362
+
363
+ showTreeLines: observable,
364
+ setShowTreeLines: action,
365
+
366
+ showHorizontalGridLines: observable,
367
+ setShowHorizontalGridLines: action,
368
+
369
+ showVerticalGridLines: observable,
370
+ setShowVerticalGridLines: action,
371
+
372
+ gridLineColor: observable,
373
+ setGridLineColor: action,
374
+
375
+ fontFamily: observable,
376
+ setFontFamily: action,
377
+
378
+ fontSize: observable,
379
+ setFontSize: action,
380
+
381
+ fontBold: observable,
382
+ setFontBold: action,
383
+
384
+ fontItalic: observable,
385
+ setFontItalic: action,
386
+
387
+ fontUnderline: observable,
388
+ setFontUnderline: action,
389
+
390
+ fontStrikethrough: observable,
391
+ setFontStrikethrough: action,
392
+
393
+ fontCase: observable,
394
+ setFontCase: action,
395
+
396
+ textAlign: observable,
397
+ setTextAlign: action,
398
+
399
+ normalForegroundColor: observable,
400
+ setNormalForegroundColor: action,
401
+
402
+ negativeForegroundColor: observable,
403
+ setNegativeForegroundColor: action,
404
+
405
+ zeroForegroundColor: observable,
406
+ setZeroForegroundColor: action,
407
+
408
+ errorForegroundColor: observable,
409
+ setErrorForegroundColor: action,
410
+
411
+ normalBackgroundColor: observable,
412
+ setNormalBackgroundColor: action,
413
+
414
+ negativeBackgroundColor: observable,
415
+ setNegativeBackgroundColor: action,
416
+
417
+ zeroBackgroundColor: observable,
418
+ setZeroBackgroundColor: action,
419
+
420
+ errorBackgroundColor: observable,
421
+ setErrorBackgroundColor: action,
422
+
423
+ alternateRows: observable,
424
+ setAlternateRows: action,
425
+
426
+ alternateRowsColor: observable,
427
+ setAlternateRowsColor: action,
428
+
429
+ alternateRowsCount: observable,
430
+ setAlternateRowsCount: action,
431
+
432
+ alternateRowsStandardMode: observable,
433
+ setAlternateRowsStandardMode: action,
434
+
435
+ selectionStats: observable,
436
+ setSelectionStats: action,
437
+
438
+ showWarningForTruncatedResult: observable,
439
+ setShowWarningForTruncatedResult: action,
440
+
441
+ initialExpandLevel: observable,
442
+ setInitialExpandLevel: action,
443
+
444
+ showRootAggregation: observable,
445
+ setShowRootAggregation: action,
446
+
447
+ showLeafCount: observable,
448
+ setShowLeafCount: action,
449
+
450
+ addPivotTotalColumn: observable,
451
+ setAddPivotTotalColumn: action,
452
+
453
+ addPivotTotalColumnOnLeft: observable,
454
+ setAddPivotTotalColumnOnLeft: action,
455
+
456
+ treeGroupSortFunction: observable,
457
+ setTreeGroupSortFunction: action,
458
+
459
+ isUsingDefaultStyling: computed,
460
+ useDefaultStyling: action,
461
+ });
462
+
463
+ return configuration;
464
+ }
465
+
466
+ get isUsingDefaultStyling(): boolean {
467
+ return (
468
+ this.fontFamily === DEFAULT_FONT_FAMILY &&
469
+ this.fontSize === DEFAULT_FONT_SIZE &&
470
+ this.fontBold === DEFAULT_FONT_BOLD &&
471
+ this.fontItalic === DEFAULT_FONT_ITALIC &&
472
+ this.fontUnderline === DEFAULT_FONT_UNDERLINED &&
473
+ this.fontStrikethrough === DEFAULT_FONT_STRIKETHROUGH &&
474
+ this.textAlign === DEFAULT_TEXT_ALIGN &&
475
+ this.normalForegroundColor === DEFAULT_FOREGROUND_COLOR &&
476
+ this.negativeForegroundColor === DEFAULT_NEGATIVE_FOREGROUND_COLOR &&
477
+ this.zeroForegroundColor === DEFAULT_ZERO_FOREGROUND_COLOR &&
478
+ this.errorForegroundColor === DEFAULT_ERROR_FOREGROUND_COLOR &&
479
+ this.normalBackgroundColor === DEFAULT_BACKGROUND_COLOR &&
480
+ this.negativeBackgroundColor === DEFAULT_BACKGROUND_COLOR &&
481
+ this.zeroBackgroundColor === DEFAULT_BACKGROUND_COLOR &&
482
+ this.errorBackgroundColor === DEFAULT_BACKGROUND_COLOR
483
+ );
484
+ }
485
+
486
+ useDefaultStyling(): void {
487
+ this.fontFamily = DEFAULT_FONT_FAMILY;
488
+ this.fontSize = DEFAULT_FONT_SIZE;
489
+ this.fontBold = DEFAULT_FONT_BOLD;
490
+ this.fontItalic = DEFAULT_FONT_ITALIC;
491
+ this.fontUnderline = DEFAULT_FONT_UNDERLINED;
492
+ this.fontStrikethrough = DEFAULT_FONT_STRIKETHROUGH;
493
+ this.textAlign = DEFAULT_TEXT_ALIGN;
494
+ this.normalForegroundColor = DEFAULT_FOREGROUND_COLOR;
495
+ this.negativeForegroundColor = DEFAULT_NEGATIVE_FOREGROUND_COLOR;
496
+ this.zeroForegroundColor = DEFAULT_ZERO_FOREGROUND_COLOR;
497
+ this.errorForegroundColor = DEFAULT_ERROR_FOREGROUND_COLOR;
498
+ this.normalBackgroundColor = DEFAULT_BACKGROUND_COLOR;
499
+ this.negativeBackgroundColor = DEFAULT_BACKGROUND_COLOR;
500
+ this.zeroBackgroundColor = DEFAULT_BACKGROUND_COLOR;
501
+ this.errorBackgroundColor = DEFAULT_BACKGROUND_COLOR;
502
+ }
503
+
504
+ serialize(): PlainObject<DataCubeConfiguration> {
505
+ return DataCubeConfiguration.serialization.toJson(this);
506
+ }
507
+
508
+ setDescription(value: string | undefined): void {
509
+ this.description = value;
510
+ }
511
+
512
+ setShowTreeLines(value: boolean): void {
513
+ this.showTreeLines = value;
514
+ }
515
+
516
+ setShowHorizontalGridLines(value: boolean): void {
517
+ this.showHorizontalGridLines = value;
518
+ }
519
+
520
+ setShowVerticalGridLines(value: boolean): void {
521
+ this.showVerticalGridLines = value;
522
+ }
523
+
524
+ setGridLineColor(value: string): void {
525
+ this.gridLineColor = value;
526
+ }
527
+
528
+ setFontFamily(value: DataCubeFont): void {
529
+ this.fontFamily = value;
530
+ }
531
+
532
+ setFontSize(value: number): void {
533
+ this.fontSize = value;
534
+ }
535
+
536
+ setFontBold(value: boolean): void {
537
+ this.fontBold = value;
538
+ }
539
+
540
+ setFontItalic(value: boolean): void {
541
+ this.fontItalic = value;
542
+ }
543
+
544
+ setFontUnderline(
545
+ value: DataCubeFontFormatUnderlineVariant | undefined,
546
+ ): void {
547
+ this.fontUnderline = value;
548
+ }
549
+
550
+ setFontStrikethrough(value: boolean): void {
551
+ this.fontStrikethrough = value;
552
+ }
553
+
554
+ setFontCase(value: DataCubeFontCase | undefined): void {
555
+ this.fontCase = value;
556
+ }
557
+
558
+ setTextAlign(value: DataCubeFontTextAlignment): void {
559
+ this.textAlign = value;
560
+ }
561
+
562
+ setNormalForegroundColor(value: string): void {
563
+ this.normalForegroundColor = value;
564
+ }
565
+
566
+ setNegativeForegroundColor(value: string): void {
567
+ this.negativeForegroundColor = value;
568
+ }
569
+
570
+ setZeroForegroundColor(value: string): void {
571
+ this.zeroForegroundColor = value;
572
+ }
573
+
574
+ setErrorForegroundColor(value: string): void {
575
+ this.errorForegroundColor = value;
576
+ }
577
+
578
+ setNormalBackgroundColor(value: string): void {
579
+ this.normalBackgroundColor = value;
580
+ }
581
+
582
+ setNegativeBackgroundColor(value: string): void {
583
+ this.negativeBackgroundColor = value;
584
+ }
585
+
586
+ setZeroBackgroundColor(value: string): void {
587
+ this.zeroBackgroundColor = value;
588
+ }
589
+
590
+ setErrorBackgroundColor(value: string): void {
591
+ this.errorBackgroundColor = value;
592
+ }
593
+
594
+ setAlternateRows(value: boolean): void {
595
+ this.alternateRows = value;
596
+ }
597
+
598
+ setAlternateRowsColor(value: string): void {
599
+ this.alternateRowsColor = value;
600
+ }
601
+
602
+ setAlternateRowsCount(value: number): void {
603
+ this.alternateRowsCount = value;
604
+ }
605
+
606
+ setAlternateRowsStandardMode(value: boolean): void {
607
+ this.alternateRowsStandardMode = value;
608
+ }
609
+
610
+ setSelectionStats(value: DataCubeSelectionStat[]): void {
611
+ this.selectionStats = value;
612
+ }
613
+
614
+ setShowWarningForTruncatedResult(value: boolean): void {
615
+ this.showWarningForTruncatedResult = value;
616
+ }
617
+
618
+ setInitialExpandLevel(value: number | undefined): void {
619
+ this.initialExpandLevel = value;
620
+ }
621
+
622
+ setShowRootAggregation(value: boolean): void {
623
+ this.showRootAggregation = value;
624
+ }
625
+
626
+ setShowLeafCount(value: boolean): void {
627
+ this.showLeafCount = value;
628
+ }
629
+
630
+ setAddPivotTotalColumn(value: boolean): void {
631
+ this.addPivotTotalColumn = value;
632
+ }
633
+
634
+ setAddPivotTotalColumnOnLeft(value: boolean): void {
635
+ this.addPivotTotalColumnOnLeft = value;
636
+ }
637
+
638
+ setTreeGroupSortFunction(value: string | undefined): void {
639
+ this.treeGroupSortFunction = value;
640
+ }
641
+ }