@finos/legend-application-repl 0.0.32 → 0.0.34

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 (173) hide show
  1. package/lib/components/dataCube/DataCube.js +3 -3
  2. package/lib/components/dataCube/DataCube.js.map +1 -1
  3. package/lib/components/dataCube/editor/DataCubeEditor.js +4 -4
  4. package/lib/components/dataCube/editor/DataCubeEditor.js.map +1 -1
  5. package/lib/components/dataCube/editor/DataCubeEditorColumnPropertiesPanel.d.ts.map +1 -1
  6. package/lib/components/dataCube/editor/DataCubeEditorColumnPropertiesPanel.js +3 -3
  7. package/lib/components/dataCube/editor/DataCubeEditorColumnPropertiesPanel.js.map +1 -1
  8. package/lib/components/dataCube/editor/DataCubeEditorColumnsPanel.d.ts.map +1 -1
  9. package/lib/components/dataCube/editor/DataCubeEditorColumnsPanel.js +10 -3
  10. package/lib/components/dataCube/editor/DataCubeEditorColumnsPanel.js.map +1 -1
  11. package/lib/components/dataCube/editor/DataCubeEditorColumnsSelector.d.ts +3 -2
  12. package/lib/components/dataCube/editor/DataCubeEditorColumnsSelector.d.ts.map +1 -1
  13. package/lib/components/dataCube/editor/DataCubeEditorColumnsSelector.js +23 -37
  14. package/lib/components/dataCube/editor/DataCubeEditorColumnsSelector.js.map +1 -1
  15. package/lib/components/dataCube/editor/DataCubeEditorGeneralPropertiesPanel.d.ts.map +1 -1
  16. package/lib/components/dataCube/editor/DataCubeEditorGeneralPropertiesPanel.js +1 -1
  17. package/lib/components/dataCube/editor/DataCubeEditorGeneralPropertiesPanel.js.map +1 -1
  18. package/lib/components/dataCube/editor/{DataCubeEditorVPivotsPanel.d.ts → DataCubeEditorHorizontalPivotsPanel.d.ts} +2 -2
  19. package/lib/components/dataCube/editor/DataCubeEditorHorizontalPivotsPanel.d.ts.map +1 -0
  20. package/lib/components/dataCube/editor/{DataCubeEditorHPivotsPanel.js → DataCubeEditorHorizontalPivotsPanel.js} +2 -2
  21. package/lib/components/dataCube/editor/DataCubeEditorHorizontalPivotsPanel.js.map +1 -0
  22. package/lib/components/dataCube/editor/DataCubeEditorSortsPanel.d.ts.map +1 -1
  23. package/lib/components/dataCube/editor/DataCubeEditorSortsPanel.js +6 -6
  24. package/lib/components/dataCube/editor/DataCubeEditorSortsPanel.js.map +1 -1
  25. package/lib/components/dataCube/editor/{DataCubeEditorHPivotsPanel.d.ts → DataCubeEditorVerticalPivotsPanel.d.ts} +2 -2
  26. package/lib/components/dataCube/editor/DataCubeEditorVerticalPivotsPanel.d.ts.map +1 -0
  27. package/lib/components/dataCube/editor/{DataCubeEditorVPivotsPanel.js → DataCubeEditorVerticalPivotsPanel.js} +5 -7
  28. package/lib/components/dataCube/editor/DataCubeEditorVerticalPivotsPanel.js.map +1 -0
  29. package/lib/components/dataCube/grid/DataCubeGrid.d.ts.map +1 -1
  30. package/lib/components/dataCube/grid/DataCubeGrid.js +22 -3
  31. package/lib/components/dataCube/grid/DataCubeGrid.js.map +1 -1
  32. package/lib/index.css +2 -2
  33. package/lib/index.css.map +1 -1
  34. package/lib/package.json +17 -13
  35. package/lib/stores/dataCube/DataCubeState.d.ts.map +1 -1
  36. package/lib/stores/dataCube/DataCubeState.js +2 -2
  37. package/lib/stores/dataCube/DataCubeState.js.map +1 -1
  38. package/lib/stores/dataCube/core/DataCubeConfiguration.d.ts +3 -1
  39. package/lib/stores/dataCube/core/DataCubeConfiguration.d.ts.map +1 -1
  40. package/lib/stores/dataCube/core/DataCubeConfiguration.js +4 -0
  41. package/lib/stores/dataCube/core/DataCubeConfiguration.js.map +1 -1
  42. package/lib/stores/dataCube/core/DataCubeQueryBuilder.d.ts.map +1 -1
  43. package/lib/stores/dataCube/core/DataCubeQueryBuilder.js +15 -15
  44. package/lib/stores/dataCube/core/DataCubeQueryBuilder.js.map +1 -1
  45. package/lib/stores/dataCube/core/DataCubeQueryEngine.d.ts +22 -0
  46. package/lib/stores/dataCube/core/DataCubeQueryEngine.d.ts.map +1 -1
  47. package/lib/stores/dataCube/core/DataCubeQueryEngine.js +25 -0
  48. package/lib/stores/dataCube/core/DataCubeQueryEngine.js.map +1 -1
  49. package/lib/stores/dataCube/core/DataCubeQuerySnapshot.d.ts +5 -40
  50. package/lib/stores/dataCube/core/DataCubeQuerySnapshot.d.ts.map +1 -1
  51. package/lib/stores/dataCube/core/DataCubeQuerySnapshot.js +9 -54
  52. package/lib/stores/dataCube/core/DataCubeQuerySnapshot.js.map +1 -1
  53. package/lib/stores/dataCube/core/DataCubeQuerySnapshotBuilder.d.ts.map +1 -1
  54. package/lib/stores/dataCube/core/DataCubeQuerySnapshotBuilder.js +13 -7
  55. package/lib/stores/dataCube/core/DataCubeQuerySnapshotBuilder.js.map +1 -1
  56. package/lib/stores/dataCube/editor/DataCubeEditorColumnPropertiesPanelState.d.ts +4 -1
  57. package/lib/stores/dataCube/editor/DataCubeEditorColumnPropertiesPanelState.d.ts.map +1 -1
  58. package/lib/stores/dataCube/editor/DataCubeEditorColumnPropertiesPanelState.js +20 -5
  59. package/lib/stores/dataCube/editor/DataCubeEditorColumnPropertiesPanelState.js.map +1 -1
  60. package/lib/stores/dataCube/editor/DataCubeEditorColumnsPanelState.d.ts +45 -0
  61. package/lib/stores/dataCube/editor/DataCubeEditorColumnsPanelState.d.ts.map +1 -0
  62. package/lib/stores/dataCube/editor/DataCubeEditorColumnsPanelState.js +102 -0
  63. package/lib/stores/dataCube/editor/DataCubeEditorColumnsPanelState.js.map +1 -0
  64. package/lib/stores/dataCube/editor/DataCubeEditorColumnsSelectorState.d.ts +26 -9
  65. package/lib/stores/dataCube/editor/DataCubeEditorColumnsSelectorState.d.ts.map +1 -1
  66. package/lib/stores/dataCube/editor/DataCubeEditorColumnsSelectorState.js +50 -20
  67. package/lib/stores/dataCube/editor/DataCubeEditorColumnsSelectorState.js.map +1 -1
  68. package/lib/stores/dataCube/editor/DataCubeEditorGeneralPropertiesPanelState.d.ts +2 -1
  69. package/lib/stores/dataCube/editor/DataCubeEditorGeneralPropertiesPanelState.d.ts.map +1 -1
  70. package/lib/stores/dataCube/editor/DataCubeEditorGeneralPropertiesPanelState.js +1 -1
  71. package/lib/stores/dataCube/editor/DataCubeEditorGeneralPropertiesPanelState.js.map +1 -1
  72. package/lib/stores/dataCube/editor/DataCubeEditorPanelState.d.ts +2 -1
  73. package/lib/stores/dataCube/editor/DataCubeEditorPanelState.d.ts.map +1 -1
  74. package/lib/stores/dataCube/editor/DataCubeEditorSortsPanelState.d.ts +12 -13
  75. package/lib/stores/dataCube/editor/DataCubeEditorSortsPanelState.d.ts.map +1 -1
  76. package/lib/stores/dataCube/editor/DataCubeEditorSortsPanelState.js +23 -70
  77. package/lib/stores/dataCube/editor/DataCubeEditorSortsPanelState.js.map +1 -1
  78. package/lib/stores/dataCube/editor/DataCubeEditorState.d.ts +11 -7
  79. package/lib/stores/dataCube/editor/DataCubeEditorState.d.ts.map +1 -1
  80. package/lib/stores/dataCube/editor/DataCubeEditorState.js +28 -13
  81. package/lib/stores/dataCube/editor/DataCubeEditorState.js.map +1 -1
  82. package/lib/stores/dataCube/editor/{DataCubeEditorHPivotPanelState.d.ts → DataCubeEditorVerticalPivotsPanelState.d.ts} +11 -4
  83. package/lib/stores/dataCube/editor/DataCubeEditorVerticalPivotsPanelState.d.ts.map +1 -0
  84. package/lib/stores/dataCube/editor/DataCubeEditorVerticalPivotsPanelState.js +62 -0
  85. package/lib/stores/dataCube/editor/DataCubeEditorVerticalPivotsPanelState.js.map +1 -0
  86. package/lib/stores/dataCube/editor/DataCubeMutableConfiguration.d.ts +5 -3
  87. package/lib/stores/dataCube/editor/DataCubeMutableConfiguration.d.ts.map +1 -1
  88. package/lib/stores/dataCube/editor/DataCubeMutableConfiguration.js +8 -6
  89. package/lib/stores/dataCube/editor/DataCubeMutableConfiguration.js.map +1 -1
  90. package/lib/stores/dataCube/grid/DataCubeGridClientEngine.d.ts +8 -0
  91. package/lib/stores/dataCube/grid/DataCubeGridClientEngine.d.ts.map +1 -1
  92. package/lib/stores/dataCube/grid/DataCubeGridClientEngine.js +9 -0
  93. package/lib/stores/dataCube/grid/DataCubeGridClientEngine.js.map +1 -1
  94. package/lib/stores/dataCube/grid/DataCubeGridClientExportEngine.d.ts +31 -0
  95. package/lib/stores/dataCube/grid/DataCubeGridClientExportEngine.d.ts.map +1 -0
  96. package/lib/stores/dataCube/grid/DataCubeGridClientExportEngine.js +147 -0
  97. package/lib/stores/dataCube/grid/DataCubeGridClientExportEngine.js.map +1 -0
  98. package/lib/stores/dataCube/grid/{DataCubeGridQuerySnapshotAnalyzer.d.ts → DataCubeGridConfigurationBuilder.d.ts} +1 -1
  99. package/lib/stores/dataCube/grid/DataCubeGridConfigurationBuilder.d.ts.map +1 -0
  100. package/lib/stores/dataCube/grid/{DataCubeGridQuerySnapshotAnalyzer.js → DataCubeGridConfigurationBuilder.js} +95 -68
  101. package/lib/stores/dataCube/grid/DataCubeGridConfigurationBuilder.js.map +1 -0
  102. package/lib/stores/dataCube/grid/DataCubeGridControllerState.d.ts +62 -0
  103. package/lib/stores/dataCube/grid/DataCubeGridControllerState.d.ts.map +1 -0
  104. package/lib/stores/dataCube/grid/DataCubeGridControllerState.js +174 -0
  105. package/lib/stores/dataCube/grid/DataCubeGridControllerState.js.map +1 -0
  106. package/lib/{components/dataCube/grid/menu/DataCubeGridMenu.d.ts → stores/dataCube/grid/DataCubeGridMenuBuilder.d.ts} +3 -7
  107. package/lib/stores/dataCube/grid/DataCubeGridMenuBuilder.d.ts.map +1 -0
  108. package/lib/stores/dataCube/grid/DataCubeGridMenuBuilder.js +462 -0
  109. package/lib/stores/dataCube/grid/DataCubeGridMenuBuilder.js.map +1 -0
  110. package/lib/stores/dataCube/grid/DataCubeGridQueryBuilder.d.ts.map +1 -1
  111. package/lib/stores/dataCube/grid/DataCubeGridQueryBuilder.js +3 -3
  112. package/lib/stores/dataCube/grid/DataCubeGridQueryBuilder.js.map +1 -1
  113. package/lib/stores/dataCube/grid/DataCubeGridQuerySnapshotBuilder.d.ts.map +1 -1
  114. package/lib/stores/dataCube/grid/DataCubeGridQuerySnapshotBuilder.js +9 -8
  115. package/lib/stores/dataCube/grid/DataCubeGridQuerySnapshotBuilder.js.map +1 -1
  116. package/lib/stores/dataCube/grid/DataCubeGridState.d.ts +6 -2
  117. package/lib/stores/dataCube/grid/DataCubeGridState.d.ts.map +1 -1
  118. package/lib/stores/dataCube/grid/DataCubeGridState.js +8 -2
  119. package/lib/stores/dataCube/grid/DataCubeGridState.js.map +1 -1
  120. package/package.json +23 -19
  121. package/src/components/dataCube/DataCube.tsx +3 -3
  122. package/src/components/dataCube/editor/DataCubeEditor.tsx +17 -17
  123. package/src/components/dataCube/editor/DataCubeEditorColumnPropertiesPanel.tsx +5 -7
  124. package/src/components/dataCube/editor/DataCubeEditorColumnsPanel.tsx +42 -8
  125. package/src/components/dataCube/editor/DataCubeEditorColumnsSelector.tsx +38 -79
  126. package/src/components/dataCube/editor/DataCubeEditorGeneralPropertiesPanel.tsx +3 -1
  127. package/src/components/dataCube/editor/{DataCubeEditorHPivotsPanel.tsx → DataCubeEditorHorizontalPivotsPanel.tsx} +1 -1
  128. package/src/components/dataCube/editor/DataCubeEditorSortsPanel.tsx +7 -9
  129. package/src/components/dataCube/editor/{DataCubeEditorVPivotsPanel.tsx → DataCubeEditorVerticalPivotsPanel.tsx} +6 -8
  130. package/src/components/dataCube/grid/DataCubeGrid.tsx +35 -8
  131. package/src/stores/dataCube/DataCubeState.ts +7 -5
  132. package/src/stores/dataCube/core/DataCubeConfiguration.ts +6 -0
  133. package/src/stores/dataCube/core/DataCubeQueryBuilder.ts +16 -16
  134. package/src/stores/dataCube/core/DataCubeQueryEngine.ts +25 -0
  135. package/src/stores/dataCube/core/DataCubeQuerySnapshot.ts +19 -58
  136. package/src/stores/dataCube/core/DataCubeQuerySnapshotBuilder.ts +12 -7
  137. package/src/stores/dataCube/editor/DataCubeEditorColumnPropertiesPanelState.ts +37 -5
  138. package/src/stores/dataCube/editor/DataCubeEditorColumnsPanelState.ts +162 -0
  139. package/src/stores/dataCube/editor/DataCubeEditorColumnsSelectorState.ts +98 -23
  140. package/src/stores/dataCube/editor/DataCubeEditorGeneralPropertiesPanelState.ts +5 -1
  141. package/src/stores/dataCube/editor/DataCubeEditorPanelState.ts +5 -1
  142. package/src/stores/dataCube/editor/DataCubeEditorSortsPanelState.ts +48 -117
  143. package/src/stores/dataCube/editor/DataCubeEditorState.ts +33 -13
  144. package/src/stores/dataCube/editor/DataCubeEditorVerticalPivotsPanelState.ts +105 -0
  145. package/src/stores/dataCube/editor/DataCubeMutableConfiguration.ts +16 -7
  146. package/src/stores/dataCube/grid/DataCubeGridClientEngine.ts +9 -0
  147. package/src/stores/dataCube/grid/DataCubeGridClientExportEngine.ts +170 -0
  148. package/src/stores/dataCube/grid/{DataCubeGridQuerySnapshotAnalyzer.tsx → DataCubeGridConfigurationBuilder.tsx} +105 -77
  149. package/src/stores/dataCube/grid/DataCubeGridControllerState.ts +254 -0
  150. package/src/stores/dataCube/grid/DataCubeGridMenuBuilder.tsx +535 -0
  151. package/src/stores/dataCube/grid/DataCubeGridQueryBuilder.ts +3 -5
  152. package/src/stores/dataCube/grid/DataCubeGridQuerySnapshotBuilder.ts +12 -10
  153. package/src/stores/dataCube/grid/DataCubeGridState.ts +10 -3
  154. package/tsconfig.json +8 -6
  155. package/lib/components/dataCube/editor/DataCubeEditorHPivotsPanel.d.ts.map +0 -1
  156. package/lib/components/dataCube/editor/DataCubeEditorHPivotsPanel.js.map +0 -1
  157. package/lib/components/dataCube/editor/DataCubeEditorVPivotsPanel.d.ts.map +0 -1
  158. package/lib/components/dataCube/editor/DataCubeEditorVPivotsPanel.js.map +0 -1
  159. package/lib/components/dataCube/grid/menu/DataCubeGridMenu.d.ts.map +0 -1
  160. package/lib/components/dataCube/grid/menu/DataCubeGridMenu.js +0 -413
  161. package/lib/components/dataCube/grid/menu/DataCubeGridMenu.js.map +0 -1
  162. package/lib/components/dataCube/grid/menu/DataCubeGridSortsMenu.d.ts +0 -19
  163. package/lib/components/dataCube/grid/menu/DataCubeGridSortsMenu.d.ts.map +0 -1
  164. package/lib/components/dataCube/grid/menu/DataCubeGridSortsMenu.js +0 -83
  165. package/lib/components/dataCube/grid/menu/DataCubeGridSortsMenu.js.map +0 -1
  166. package/lib/stores/dataCube/editor/DataCubeEditorHPivotPanelState.d.ts.map +0 -1
  167. package/lib/stores/dataCube/editor/DataCubeEditorHPivotPanelState.js +0 -30
  168. package/lib/stores/dataCube/editor/DataCubeEditorHPivotPanelState.js.map +0 -1
  169. package/lib/stores/dataCube/grid/DataCubeGridQuerySnapshotAnalyzer.d.ts.map +0 -1
  170. package/lib/stores/dataCube/grid/DataCubeGridQuerySnapshotAnalyzer.js.map +0 -1
  171. package/src/components/dataCube/grid/menu/DataCubeGridMenu.tsx +0 -441
  172. package/src/components/dataCube/grid/menu/DataCubeGridSortsMenu.tsx +0 -119
  173. package/src/stores/dataCube/editor/DataCubeEditorHPivotPanelState.ts +0 -43
@@ -1 +1 @@
1
- {"version":3,"file":"DataCubeGridClientEngine.js","sourceRoot":"","sources":["../../../../src/stores/dataCube/grid/DataCubeGridClientEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataCubeGridClientEngine.js","sourceRoot":"","sources":["../../../../src/stores/dataCube/grid/DataCubeGridClientEngine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AASH,OAAO,EACL,QAAQ,EACR,iBAAiB,EACjB,oBAAoB,EACpB,SAAS,GACV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAuB,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,wDAAwD,EAAE,MAAM,+BAA+B,CAAC;AACzG,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAQ/D,MAAM,CAAN,IAAY,8BAMX;AAND,WAAY,8BAA8B;IACxC,6CAAW,CAAA;IACX,iDAAe,CAAA;IACf,2DAAyB,CAAA;IACzB,+CAAa,CAAA;IACb,6CAAW,CAAA;AACb,CAAC,EANW,8BAA8B,KAA9B,8BAA8B,QAMzC;AAED,MAAM,CAAN,IAAY,4CAkBX;AAlBD,WAAY,4CAA4C;IACtD,uFAAuC,CAAA;IACvC,wGAAwD,CAAA;IACxD,8HAA8E,CAAA;IAC9E,kIAAkF,CAAA;IAElF,sFAAsC,CAAA;IAEtC,4GAA4D,CAAA;IAC5D,wGAAwD,CAAA;IACxD,sGAAsD,CAAA;IACtD,0GAA0D,CAAA;IAC1D,wHAAwE,CAAA;IACxE,wHAAwE,CAAA;IACxE,8GAA8D,CAAA;IAC9D,0GAA0D,CAAA;IAC1D,0GAA0D,CAAA;IAC1D,sHAAsE,CAAA;AACxE,CAAC,EAlBW,4CAA4C,KAA5C,4CAA4C,QAkBvD;AACD,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,UAAkB,EAAE,EAAE,CACvE,GAAG,4CAA4C,CAAC,kBAAkB,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;AACzG,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,QAAgB,EAAE,EAAE,CACnE,GAAG,4CAA4C,CAAC,gBAAgB,GAAG,QAAQ,EAAE,CAAC;AAChF,MAAM,CAAC,MAAM,qCAAqC,GAAG,CACnD,OAA2B,EAC3B,EAAE,CACF,GAAG,4CAA4C,CAAC,qBAAqB,GAAG,OAAO,IAAI,MAAM,EAAE,CAAC;AAC9F,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAC9C,QAA4B,EAC5B,EAAE,CACF,GAAG,4CAA4C,CAAC,gBAAgB,GAAG,QAAQ,IAAI,MAAM,EAAE,CAAC;AAC1F,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,SAAiB,EAAE,EAAE,CACrE,GAAG,4CAA4C,CAAC,iBAAiB,GAAG,SAAS,EAAE,CAAC;AAClF,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAC/C,KAAa,EACb,GAAkC,EAClC,EAAE,CACF,GAAG,4CAA4C,CAAC,iBAAiB,GAAG,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;AAClG,MAAM,CAAC,MAAM,uCAAuC,GAAG,CACrD,KAAa,EACb,GAAkC,EAClC,EAAE,CACF,GAAG,4CAA4C,CAAC,uBAAuB,GAAG,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;AAExG,MAAM,CAAC,MAAM,oCAAoC,GAAG,GAAG,CAAC;AACxD,MAAM,CAAC,MAAM,sCAAsC,GAAG,EAAE,CAAC;AACzD,MAAM,CAAC,MAAM,mCAAmC,GAAG,EAAE,CAAC;AACtD,MAAM,CAAC,MAAM,gCAAgC,GAAG,EAAE,CAAC;AACnD,MAAM,CAAC,MAAM,wCAAwC,GAAG,IAAI,CAAC;AAC7D,MAAM,CAAC,MAAM,yCAAyC,GAAG,EAAE,CAAC;AAC5D,MAAM,CAAC,MAAM,oCAAoC,GAAG,gBAAgB,CAAC;AACrE,MAAM,CAAC,MAAM,sDAAsD,GACjE,iBAAiB,CAAC;AAEpB,MAAM,CAAN,IAAY,0BAGX;AAHD,WAAY,0BAA0B;IACpC,2CAAa,CAAA;IACb,6CAAe,CAAA;AACjB,CAAC,EAHW,0BAA0B,KAA1B,0BAA0B,QAGrC;AAED,MAAM,CAAN,IAAY,uBAGX;AAHD,WAAY,uBAAuB;IACjC,4CAAiB,CAAA;IACjB,8CAAmB,CAAA;AACrB,CAAC,EAHW,uBAAuB,KAAvB,uBAAuB,QAGlC;AAED,MAAM,CAAN,IAAY,4BAMX;AAND,WAAY,4BAA4B;IACtC,+CAAe,CAAA;IACf,2CAAW,CAAA;IACX,2CAAW,CAAA;IACX,2CAAW,CAAA;IACX,+CAAe,CAAA;AACjB,CAAC,EANW,4BAA4B,KAA5B,4BAA4B,QAMvC;AAED,MAAM,UAAU,kBAAkB,CAAI,MAAkB;IACtD,MAAM,IAAI,GAAQ,EAAE,CAAC;IACrB,MAAM,CAAC,WAAW,CAAC,CAAC,IAAiB,EAAE,EAAE;QACvC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CAAI,MAAkB;IAC9D,MAAM,IAAI,GAAQ,EAAE,CAAC;IACrB,MAAM,CAAC,sBAAsB,CAAC,CAAC,IAAiB,EAAE,EAAE;QAClD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,YAAY,CAAC,GAAmB;IACvC,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;QACnC,MAAM,GAAG,GAAsB,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACpC,2DAA2D;YAC3D,6CAA6C;YAC7C,GAAG,CAAC,IAAI,CAAC,MAAM,CAAW,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACzE,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC;QACvB,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,OAAO,sCAAsC;IAGxC,IAAI,CAAoB;IACjC,QAAQ,GAAuB,SAAS,CAAC;IAEzC,YAAY,IAAuB;QACjC,cAAc,CAAC,IAAI,EAAE;YACnB,QAAQ,EAAE,UAAU;SACrB,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,SAAS,CACb,MAAkD;QAElD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAEzD,6EAA6E;QAC7E,uEAAuE;QACvE,qEAAqE;QACrE,gBAAgB;QAEhB,sFAAsF;QACtF,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACvC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAC1B,CAAC,oCAAoC,CAAC,EACtC,IAAI,CACL,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAC1B,CAAC,oCAAoC,CAAC,EACtC,KAAK,CACN,CAAC;QACJ,CAAC;QAED,yEAAyE;QAEzE,MAAM,eAAe,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAC5E,mFAAmF;QACnF,6EAA6E;QAC7E,MAAM,cAAc,GAAG,kBAAkB,CAAC,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAC3E,IAAI,cAAc,CAAC,QAAQ,KAAK,eAAe,CAAC,QAAQ,EAAE,CAAC;YACzD,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;QAC5C,CAAC;QAED,qEAAqE;QAErE,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,oBAAoB,CAAC,cAAc,EAAE;gBAC3D,aAAa,EAAE,wDAAwD,CACrE,MAAM,CAAC,OAAO,CAAC,SAAS,CACzB;gBACD,UAAU,EACR,IAAI,CAAC,IAAI,CAAC,mBAAmB;oBAC7B,MAAM,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS;oBACrC,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS;oBACjC,CAAC,CAAC;wBACE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;wBAC9B,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM;qBAC3B;oBACH,CAAC,CAAC,SAAS;aAChB,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAClC,MAAM,MAAM,GACV,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACtE,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5C,IAAI,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAClC,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC5B,kEAAkE;gBAClE,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC1C,WAAW,CAAC,GAAG,EAAE;wBACf,IAAI,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;oBAClE,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,OAAO,CAAC;oBACb,OAAO;oBACP,6EAA6E;oBAC7E,8FAA8F;oBAC9F,QAAQ,EAAE,OAAO,CAAC,MAAM;iBACzB,CAAC,CAAC;gBACH,kEAAkE;gBAClE,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC1C,WAAW,CAAC,GAAG,EAAE;wBACf,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;oBACjC,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,mBAAmB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACtE,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,OAAO,CAAC,MAAkD;QACxD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YAC9C,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAC7C,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC,kCAAkC,CAAC,EACrE,gFAAgF,EAChF,KAAK,CACN,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,31 @@
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 { DataCubeGridState } from './DataCubeGridState.js';
18
+ import { DataCubeGridClientExportFormat } from './DataCubeGridClientEngine.js';
19
+ /**
20
+ * NOTE: this is a client-side export engine, this will and should eventually be replaced by a
21
+ * server-side export engine which is more standardized and scalable.
22
+ */
23
+ export declare class DataCubeGridClientExportEngine {
24
+ readonly dataCube: DataCubeState;
25
+ readonly grid: DataCubeGridState;
26
+ constructor(grid: DataCubeGridState);
27
+ private generateFileName;
28
+ exportFile(format: DataCubeGridClientExportFormat): void;
29
+ exportEmail(format: DataCubeGridClientExportFormat): Promise<void>;
30
+ }
31
+ //# sourceMappingURL=DataCubeGridClientExportEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataCubeGridClientExportEngine.d.ts","sourceRoot":"","sources":["../../../../src/stores/dataCube/grid/DataCubeGridClientExportEngine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAUH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAoD/E;;;GAGG;AACH,qBAAa,8BAA8B;IACzC,QAAQ,CAAC,QAAQ,EAAG,aAAa,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAG,iBAAiB,CAAC;gBAEtB,IAAI,EAAE,iBAAiB;IAKnC,OAAO,CAAC,gBAAgB;IAIxB,UAAU,CAAC,MAAM,EAAE,8BAA8B,GAAG,IAAI;IAsBlD,WAAW,CAAC,MAAM,EAAE,8BAA8B;CAoDzD"}
@@ -0,0 +1,147 @@
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 { ContentType, downloadFileUsingDataURI, formatDate, IllegalStateError, isString, UnsupportedOperationError, } from '@finos/legend-shared';
17
+ import { DataCubeGridClientExportFormat } from './DataCubeGridClientEngine.js';
18
+ function blobToBase64(blob) {
19
+ return new Promise((resolve, reject) => {
20
+ const reader = new FileReader();
21
+ reader.onloadend = () => {
22
+ const result = reader.result;
23
+ if (isString(result)) {
24
+ const base64Data = result.split(',')[1];
25
+ if (base64Data) {
26
+ resolve(base64Data);
27
+ return;
28
+ }
29
+ }
30
+ reject(new Error(`Can't base64 encode blob data`));
31
+ };
32
+ reader.onerror = (error) => reject(error);
33
+ reader.readAsDataURL(blob);
34
+ });
35
+ }
36
+ const EMAIL_TEXT_CONTENT = '';
37
+ const EMAIL_HTML_CONTENT = `<html><body><p>${EMAIL_TEXT_CONTENT}</p><body></html>`;
38
+ // See https://stackoverflow.com/questions/3902455/mail-multipart-alternative-vs-multipart-mixed
39
+ const EMAIL_MIXED_BOUNDARY = 'mixed_boundary';
40
+ const EMAIL_ALTERNATIVE_BOUNDARY = 'alternative_boundary';
41
+ const EMAIL_CONTENT = `
42
+ From:
43
+ To:
44
+ Subject:
45
+ X-Unsent: 1
46
+ Content-Type: multipart/mixed; boundary="${EMAIL_MIXED_BOUNDARY}"
47
+
48
+ --${EMAIL_MIXED_BOUNDARY}
49
+ Content-Type: multipart/alternative; boundary="${EMAIL_ALTERNATIVE_BOUNDARY}"
50
+
51
+ --${EMAIL_ALTERNATIVE_BOUNDARY}
52
+ Content-Type: text/plain; charset="UTF-8"
53
+ Content-Transfer-Encoding: 7bit
54
+
55
+ ${EMAIL_TEXT_CONTENT}
56
+
57
+ --${EMAIL_ALTERNATIVE_BOUNDARY}
58
+ Content-Type: text/html; charset="UTF-8"
59
+ Content-Transfer-Encoding: 7bit
60
+
61
+ ${EMAIL_HTML_CONTENT}
62
+
63
+ --${EMAIL_ALTERNATIVE_BOUNDARY}--
64
+
65
+ `;
66
+ /**
67
+ * NOTE: this is a client-side export engine, this will and should eventually be replaced by a
68
+ * server-side export engine which is more standardized and scalable.
69
+ */
70
+ export class DataCubeGridClientExportEngine {
71
+ dataCube;
72
+ grid;
73
+ constructor(grid) {
74
+ this.dataCube = grid.dataCube;
75
+ this.grid = grid;
76
+ }
77
+ generateFileName() {
78
+ return `${this.dataCube.core.name} - ${formatDate(new Date(), 'EEE MMM dd yyyy HH_mm_ss')}`;
79
+ }
80
+ exportFile(format) {
81
+ const fileName = this.generateFileName();
82
+ switch (format) {
83
+ case DataCubeGridClientExportFormat.CSV: {
84
+ this.grid.client.exportDataAsCsv({
85
+ fileName: `${fileName}.csv`,
86
+ });
87
+ return;
88
+ }
89
+ case DataCubeGridClientExportFormat.EXCEL: {
90
+ // TODO?: configure settings for Excel export so we can export styling as well
91
+ // See https://www.ag-grid.com/angular-data-grid/excel-export-styles/
92
+ this.grid.client.exportDataAsExcel({
93
+ fileName: `${fileName}.xlsx`,
94
+ });
95
+ return;
96
+ }
97
+ default:
98
+ // do nothing
99
+ }
100
+ }
101
+ async exportEmail(format) {
102
+ const fileName = this.generateFileName();
103
+ let fileNameWithExtension = fileName;
104
+ let attachment;
105
+ let contentType;
106
+ switch (format) {
107
+ case DataCubeGridClientExportFormat.CSV: {
108
+ fileNameWithExtension = `${fileName}.csv`;
109
+ contentType = ContentType.TEXT_CSV;
110
+ attachment = await blobToBase64(new Blob([this.grid.client.getDataAsCsv() ?? ''], {
111
+ type: ContentType.TEXT_CSV,
112
+ }));
113
+ break;
114
+ }
115
+ case DataCubeGridClientExportFormat.EXCEL: {
116
+ fileNameWithExtension += `${fileName}.xlsx`;
117
+ contentType = ContentType.APPLICATION_XLSX;
118
+ // TODO?: configure settings for Excel export so we can export styling as well
119
+ // See https://www.ag-grid.com/angular-data-grid/excel-export-styles/
120
+ const xlsxContent = this.grid.client.getDataAsExcel();
121
+ let xlsxBlob;
122
+ if (xlsxContent instanceof Blob) {
123
+ xlsxBlob = xlsxContent;
124
+ }
125
+ else if (typeof xlsxContent === 'string') {
126
+ xlsxBlob = new Blob([xlsxContent], {
127
+ type: ContentType.APPLICATION_XLSX,
128
+ });
129
+ }
130
+ else {
131
+ throw new IllegalStateError(`Can't export Excel content`);
132
+ }
133
+ attachment = await blobToBase64(xlsxBlob);
134
+ break;
135
+ }
136
+ default:
137
+ throw new UnsupportedOperationError(`Can't export email in format '${format}'`);
138
+ }
139
+ downloadFileUsingDataURI(`${fileName}.eml`, `${EMAIL_CONTENT}--${EMAIL_MIXED_BOUNDARY}\n` +
140
+ `Content-Type: ${contentType}; name="${fileNameWithExtension}"\n` +
141
+ `Content-Transfer-Encoding: base64\n` +
142
+ `Content-Disposition: attachment; filename="${fileNameWithExtension}"\n\n` +
143
+ `${attachment}\n\n` +
144
+ `--${EMAIL_MIXED_BOUNDARY}--`, ContentType.MESSAGE_RFC822);
145
+ }
146
+ }
147
+ //# sourceMappingURL=DataCubeGridClientExportEngine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataCubeGridClientExportEngine.js","sourceRoot":"","sources":["../../../../src/stores/dataCube/grid/DataCubeGridClientExportEngine.ts"],"names":[],"mappings":"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"}
@@ -25,4 +25,4 @@ import type { DataCubeConfiguration } from '../core/DataCubeConfiguration.js';
25
25
  import type { DataCubeState } from '../DataCubeState.js';
26
26
  export declare function generateBaseGridOptions(dataCube: DataCubeState): GridOptions;
27
27
  export declare function generateGridOptionsFromSnapshot(snapshot: DataCubeQuerySnapshot, configuration: DataCubeConfiguration, dataCube: DataCubeState): GridOptions;
28
- //# sourceMappingURL=DataCubeGridQuerySnapshotAnalyzer.d.ts.map
28
+ //# sourceMappingURL=DataCubeGridConfigurationBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataCubeGridConfigurationBuilder.d.ts","sourceRoot":"","sources":["../../../../src/stores/dataCube/grid/DataCubeGridConfigurationBuilder.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;;;yFAKyF;AAEzF,OAAO,EAEL,KAAK,qBAAqB,EAE3B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAGV,WAAW,EAEZ,MAAM,yBAAyB,CAAC;AA+BjC,OAAO,KAAK,EAEV,qBAAqB,EACtB,MAAM,kCAAkC,CAAC;AAc1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAkWzD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,aAAa,GAAG,WAAW,CA6G5E;AAED,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,qBAAqB,EAC/B,aAAa,EAAE,qBAAqB,EACpC,QAAQ,EAAE,aAAa,GACtB,WAAW,CAqHb"}
@@ -20,13 +20,12 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
20
20
  * These are utilities used to build the configuration for the grid client,
21
21
  * AG Grid, from the query snapshot.
22
22
  ***************************************************************************************/
23
- import { DataCubeQuerySnapshotAggregateFunction, DataCubeQuerySnapshotSortOperation, _findCol, } from '../core/DataCubeQuerySnapshot.js';
24
- import { INTERNAL__GRID_CLIENT_TREE_COLUMN_ID, GridClientAggregateOperation, GridClientSortDirection, INTERNAL__GRID_CLIENT_COLUMN_MIN_WIDTH, INTERNAL__GRID_CLIENT_UTILITY_CSS_CLASS_NAME, generateFontFamilyUtilityClassName, generateFontSizeUtilityClassName, generateFontUnderlineUtilityClassName, generateTextAlignUtilityClassName, generateTextColorUtilityClassName, generateBackgroundColorUtilityClassName, generateFontCaseUtilityClassName, GridClientPinnedAlignement, INTERNAL__GRID_CLIENT_ROW_HEIGHT, INTERNAL__GRID_CLIENT_AUTO_RESIZE_PADDING, INTERNAL__GRID_CLIENT_HEADER_HEIGHT, INTERNAL__GRID_CLIENT_TOOLTIP_SHOW_DELAY, } from './DataCubeGridClientEngine.js';
23
+ import { _findCol, } from '../core/DataCubeQuerySnapshot.js';
24
+ import { INTERNAL__GRID_CLIENT_TREE_COLUMN_ID, GridClientAggregateOperation, GridClientSortDirection, INTERNAL__GRID_CLIENT_COLUMN_MIN_WIDTH, INTERNAL__GRID_CLIENT_UTILITY_CSS_CLASS_NAME, generateFontFamilyUtilityClassName, generateFontSizeUtilityClassName, generateFontUnderlineUtilityClassName, generateTextAlignUtilityClassName, generateTextColorUtilityClassName, generateBackgroundColorUtilityClassName, generateFontCaseUtilityClassName, GridClientPinnedAlignement, INTERNAL__GRID_CLIENT_ROW_HEIGHT, INTERNAL__GRID_CLIENT_AUTO_RESIZE_PADDING, INTERNAL__GRID_CLIENT_HEADER_HEIGHT, INTERNAL__GRID_CLIENT_TOOLTIP_SHOW_DELAY, INTERNAL__GRID_CLIENT_SIDE_BAR_WIDTH, INTERNAL__GRID_CLIENT_ROW_GROUPING_COUNT_AGG_COLUMN_ID, } from './DataCubeGridClientEngine.js';
25
25
  import { PRIMITIVE_TYPE } from '@finos/legend-graph';
26
- import { getQueryParameters, getQueryParameterValue, guaranteeNonNullable, IllegalStateError, isNonNullable, isNumber, isValidUrl, } from '@finos/legend-shared';
27
- import { DataCubeColumnDataType, DataCubeColumnPinPlacement, DataCubeNumberScale, DEFAULT_ROW_BUFFER, DEFAULT_URL_LABEL_QUERY_PARAM, getDataType, } from '../core/DataCubeQueryEngine.js';
26
+ import { getQueryParameters, getQueryParameterValue, IllegalStateError, isNonNullable, isNumber, isValidUrl, } from '@finos/legend-shared';
27
+ import { DataCubeAggregateFunction, DataCubeColumnDataType, DataCubeColumnPinPlacement, DataCubeNumberScale, DEFAULT_ROW_BUFFER, DEFAULT_URL_LABEL_QUERY_PARAM, getDataType, DataCubeQuerySortOperation, DataCubeColumnKind, } from '../core/DataCubeQueryEngine.js';
28
28
  import { DataCubeIcon } from '@finos/legend-art';
29
- import { buildGridMenu } from '../../../components/dataCube/grid/menu/DataCubeGridMenu.js';
30
29
  // --------------------------------- UTILITIES ---------------------------------
31
30
  // See https://www.ag-grid.com/javascript-data-grid/cell-data-types/
32
31
  function _cellDataType(column) {
@@ -48,7 +47,6 @@ function _cellDataType(column) {
48
47
  function _allowedAggFuncs(column) {
49
48
  switch (column.type) {
50
49
  case PRIMITIVE_TYPE.STRING:
51
- return [];
52
50
  case PRIMITIVE_TYPE.DATE:
53
51
  case PRIMITIVE_TYPE.DATETIME:
54
52
  case PRIMITIVE_TYPE.STRICTDATE:
@@ -70,15 +68,15 @@ function _allowedAggFuncs(column) {
70
68
  }
71
69
  function _aggFunc(func) {
72
70
  switch (func) {
73
- case DataCubeQuerySnapshotAggregateFunction.AVERAGE:
71
+ case DataCubeAggregateFunction.AVERAGE:
74
72
  return GridClientAggregateOperation.AVERAGE;
75
- case DataCubeQuerySnapshotAggregateFunction.COUNT:
73
+ case DataCubeAggregateFunction.COUNT:
76
74
  return GridClientAggregateOperation.COUNT;
77
- case DataCubeQuerySnapshotAggregateFunction.MAX:
75
+ case DataCubeAggregateFunction.MAX:
78
76
  return GridClientAggregateOperation.MAX;
79
- case DataCubeQuerySnapshotAggregateFunction.MIN:
77
+ case DataCubeAggregateFunction.MIN:
80
78
  return GridClientAggregateOperation.MIN;
81
- case DataCubeQuerySnapshotAggregateFunction.SUM:
79
+ case DataCubeAggregateFunction.SUM:
82
80
  return GridClientAggregateOperation.SUM;
83
81
  default:
84
82
  throw new IllegalStateError(`Unsupported aggregate function '${func}'`);
@@ -119,69 +117,64 @@ function DataCubeGridLoadingCellRenderer(props) {
119
117
  return (_jsxs("span", { className: "inline-flex items-center", children: [_jsx(DataCubeIcon.Loader, { className: "mr-1 animate-spin stroke-2" }), "Loading"] }));
120
118
  }
121
119
  function getCellRenderer(columnData) {
122
- const { column, configuration } = columnData;
120
+ const { column } = columnData;
123
121
  const dataType = getDataType(column.type);
124
- if (dataType === DataCubeColumnDataType.TEXT && configuration.displayAsLink) {
122
+ if (dataType === DataCubeColumnDataType.TEXT && column.displayAsLink) {
125
123
  return function LinkRenderer(params) {
126
124
  const isUrl = isValidUrl(params.value);
127
125
  if (!isUrl) {
128
126
  return params.value;
129
127
  }
130
128
  const url = params.value;
131
- const label = getQueryParameterValue(configuration.linkLabelParameter ?? DEFAULT_URL_LABEL_QUERY_PARAM, getQueryParameters(url, true));
129
+ const label = getQueryParameterValue(column.linkLabelParameter ?? DEFAULT_URL_LABEL_QUERY_PARAM, getQueryParameters(url, true));
132
130
  return (_jsx("a", { href: url, target: "_blank", rel: "noreferrer", className: "text-blue-600 underline", children: label ?? url }));
133
131
  };
134
132
  }
135
133
  return null;
136
134
  }
137
135
  function _displaySpec(columnData) {
138
- const { column, configuration, gridConfiguration } = columnData;
136
+ const { column, configuration } = columnData;
139
137
  const dataType = getDataType(column.type);
140
- const fontFamily = configuration.fontFamily ?? gridConfiguration.fontFamily;
141
- const fontSize = configuration.fontSize ?? gridConfiguration.fontSize;
142
- const fontBold = configuration.fontBold ?? gridConfiguration.fontBold;
143
- const fontItalic = configuration.fontItalic ?? gridConfiguration.fontItalic;
144
- const fontStrikethrough = configuration.fontStrikethrough ?? gridConfiguration.fontStrikethrough;
145
- const fontUnderline = configuration.fontUnderline ?? gridConfiguration.fontUnderline;
146
- const fontCase = configuration.fontCase ?? gridConfiguration.fontCase;
147
- const textAlign = configuration.textAlign ?? gridConfiguration.textAlign;
148
- const normalForegroundColor = configuration.normalForegroundColor ??
149
- gridConfiguration.normalForegroundColor;
150
- const normalBackgroundColor = configuration.normalBackgroundColor ??
151
- gridConfiguration.normalBackgroundColor;
152
- const negativeForegroundColor = configuration.negativeForegroundColor ??
153
- gridConfiguration.negativeForegroundColor;
154
- const negativeBackgroundColor = configuration.negativeBackgroundColor ??
155
- gridConfiguration.negativeBackgroundColor;
156
- const zeroForegroundColor = configuration.zeroForegroundColor ?? gridConfiguration.zeroForegroundColor;
157
- const zeroBackgroundColor = configuration.zeroBackgroundColor ?? gridConfiguration.zeroBackgroundColor;
158
- const errorForegroundColor = configuration.errorForegroundColor ??
159
- gridConfiguration.errorForegroundColor;
160
- const errorBackgroundColor = configuration.errorBackgroundColor ??
161
- gridConfiguration.errorBackgroundColor;
138
+ const fontFamily = column.fontFamily ?? configuration.fontFamily;
139
+ const fontSize = column.fontSize ?? configuration.fontSize;
140
+ const fontBold = column.fontBold ?? configuration.fontBold;
141
+ const fontItalic = column.fontItalic ?? configuration.fontItalic;
142
+ const fontStrikethrough = column.fontStrikethrough ?? configuration.fontStrikethrough;
143
+ const fontUnderline = column.fontUnderline ?? configuration.fontUnderline;
144
+ const fontCase = column.fontCase ?? configuration.fontCase;
145
+ const textAlign = column.textAlign ?? configuration.textAlign;
146
+ const normalForegroundColor = column.normalForegroundColor ?? configuration.normalForegroundColor;
147
+ const normalBackgroundColor = column.normalBackgroundColor ?? configuration.normalBackgroundColor;
148
+ const negativeForegroundColor = column.negativeForegroundColor ?? configuration.negativeForegroundColor;
149
+ const negativeBackgroundColor = column.negativeBackgroundColor ?? configuration.negativeBackgroundColor;
150
+ const zeroForegroundColor = column.zeroForegroundColor ?? configuration.zeroForegroundColor;
151
+ const zeroBackgroundColor = column.zeroBackgroundColor ?? configuration.zeroBackgroundColor;
152
+ const errorForegroundColor = column.errorForegroundColor ?? configuration.errorForegroundColor;
153
+ const errorBackgroundColor = column.errorBackgroundColor ?? configuration.errorBackgroundColor;
162
154
  const cellRenderer = getCellRenderer(columnData);
163
155
  return {
164
156
  // setting the cell data type might helps guide the grid to render the cell properly
165
157
  // and optimize the grid performance slightly by avoiding unnecessary type inference
166
158
  cellDataType: _cellDataType(column),
159
+ hide: column.hideFromView,
167
160
  valueFormatter: dataType === DataCubeColumnDataType.NUMBER
168
161
  ? (params) => {
169
162
  const value = params.value;
170
163
  if (value === null || value === undefined) {
171
164
  return null;
172
165
  }
173
- const showNegativeNumberInParens = configuration.negativeNumberInParens && value < 0;
166
+ const showNegativeNumberInParens = column.negativeNumberInParens && value < 0;
174
167
  // 1. apply the number scale
175
- const scaledNumber = scaleNumber(value, configuration.numberScale);
168
+ const scaledNumber = scaleNumber(value, column.numberScale);
176
169
  // 2. apply the number formatter
177
170
  const formattedValue = (showNegativeNumberInParens
178
171
  ? Math.abs(scaledNumber.value)
179
172
  : scaledNumber.value).toLocaleString(undefined, {
180
- useGrouping: configuration.displayCommas,
181
- ...(configuration.decimals !== undefined
173
+ useGrouping: column.displayCommas,
174
+ ...(column.decimals !== undefined
182
175
  ? {
183
- minimumFractionDigits: configuration.decimals,
184
- maximumFractionDigits: configuration.decimals,
176
+ minimumFractionDigits: column.decimals,
177
+ maximumFractionDigits: column.decimals,
185
178
  }
186
179
  : {}),
187
180
  });
@@ -218,11 +211,11 @@ function _displaySpec(columnData) {
218
211
  params.value < 0,
219
212
  [generateTextColorUtilityClassName(errorForegroundColor, 'error')]: (params) => params.node.failedLoad,
220
213
  [generateBackgroundColorUtilityClassName(errorBackgroundColor, 'error')]: (params) => params.node.failedLoad,
221
- [INTERNAL__GRID_CLIENT_UTILITY_CSS_CLASS_NAME.BLUR]: () => configuration.blur,
214
+ [INTERNAL__GRID_CLIENT_UTILITY_CSS_CLASS_NAME.BLUR]: () => column.blur,
222
215
  },
223
216
  cellRenderer: cellRenderer,
224
- pinned: configuration.pinned !== undefined
225
- ? configuration.pinned === DataCubeColumnPinPlacement.RIGHT
217
+ pinned: column.pinned !== undefined
218
+ ? column.pinned === DataCubeColumnPinPlacement.RIGHT
226
219
  ? GridClientPinnedAlignement.RIGHT
227
220
  : GridClientPinnedAlignement.LEFT
228
221
  : null,
@@ -232,7 +225,7 @@ function _displaySpec(columnData) {
232
225
  };
233
226
  }
234
227
  function _sizeSpec(columnData) {
235
- const { configuration } = columnData;
228
+ const { column } = columnData;
236
229
  return {
237
230
  // NOTE: there is a problem with ag-grid when scrolling horizontally, the header row
238
231
  // lags behind the data, it seems to be caused by synchronizing scroll not working properly
@@ -243,11 +236,11 @@ function _sizeSpec(columnData) {
243
236
  // See https://issues.chromium.org/issues/40890343#comment11
244
237
  //
245
238
  // TODO: if we support column resize to fit content, should we disable this behavior?
246
- resizable: configuration.fixedWidth === undefined,
239
+ resizable: column.fixedWidth === undefined,
247
240
  // suppressAutoSize: columnConfiguration.fixedWidth !== undefined,
248
- width: configuration.fixedWidth,
249
- minWidth: Math.max(configuration.minWidth ?? INTERNAL__GRID_CLIENT_COLUMN_MIN_WIDTH, INTERNAL__GRID_CLIENT_COLUMN_MIN_WIDTH),
250
- maxWidth: configuration.maxWidth,
241
+ width: column.fixedWidth,
242
+ minWidth: Math.max(column.minWidth ?? INTERNAL__GRID_CLIENT_COLUMN_MIN_WIDTH, INTERNAL__GRID_CLIENT_COLUMN_MIN_WIDTH),
243
+ maxWidth: column.maxWidth,
251
244
  };
252
245
  }
253
246
  function _sortSpec(columnData) {
@@ -257,7 +250,7 @@ function _sortSpec(columnData) {
257
250
  return {
258
251
  sortable: true, // if this is pivot column, no sorting is allowed
259
252
  sort: sortCol
260
- ? sortCol.operation === DataCubeQuerySnapshotSortOperation.ASCENDING
253
+ ? sortCol.operation === DataCubeQuerySortOperation.ASCENDING
261
254
  ? GridClientSortDirection.ASCENDING
262
255
  : GridClientSortDirection.DESCENDING
263
256
  : null,
@@ -272,8 +265,8 @@ function _rowGroupSpec(columnData) {
272
265
  const groupByCol = _findCol(data.groupBy?.columns, column.name);
273
266
  const aggCol = _findCol(data.groupBy?.aggColumns, column.name);
274
267
  return {
275
- enableRowGroup: true,
276
- enableValue: true,
268
+ enableRowGroup: column.kind === DataCubeColumnKind.DIMENSION,
269
+ enableValue: column.kind === DataCubeColumnKind.MEASURE,
277
270
  rowGroup: Boolean(groupByCol),
278
271
  // TODO: @akphi - add this from configuration object
279
272
  aggFunc: aggCol
@@ -308,9 +301,10 @@ export function generateBaseGridOptions(dataCube) {
308
301
  groupDisplayType: 'custom', // keeps the column set stable even when row grouping is used
309
302
  suppressRowGroupHidesColumns: true, // keeps the column set stable even when row grouping is used
310
303
  suppressAggFuncInHeader: true, // keeps the columns stable when aggregation is used
304
+ getChildCount: (data) => data[INTERNAL__GRID_CLIENT_ROW_GROUPING_COUNT_AGG_COLUMN_ID],
311
305
  // -------------------------------------- PIVOT --------------------------------------
312
306
  // pivotPanelShow: "always"
313
- // pivotMode:true,
307
+ // pivotMode:true, // TODO: need to make sure we don't hide away any columns when this is enabled
314
308
  // -------------------------------------- SORT --------------------------------------
315
309
  // Force multi-sorting since this is what the query supports anyway
316
310
  alwaysMultiSort: true,
@@ -329,12 +323,13 @@ export function generateBaseGridOptions(dataCube) {
329
323
  grid.setScrollHintText(`${start}-${end}/${rowCount}`);
330
324
  event.api.hidePopupMenu(); // hide context-menu while scrolling
331
325
  },
332
- onBodyScrollEnd: () => grid.setScrollHintText(''),
326
+ onBodyScrollEnd: () => grid.setScrollHintText(undefined),
333
327
  // -------------------------------------- CONTEXT MENU --------------------------------------
334
328
  preventDefaultOnContextMenu: true, // prevent showing the browser's context menu
335
329
  columnMenu: 'new', // ensure context menu works on header
336
- getContextMenuItems: buildGridMenu,
337
- getMainMenuItems: buildGridMenu,
330
+ // NOTE: dynamically generate the content of the context menu to make sure the items are not stale
331
+ getContextMenuItems: (params) => grid.controller.menuBuilder?.(params) ?? [],
332
+ getMainMenuItems: (params) => grid.controller.menuBuilder?.(params) ?? [],
338
333
  // -------------------------------------- COLUMN SIZING --------------------------------------
339
334
  autoSizePadding: INTERNAL__GRID_CLIENT_AUTO_RESIZE_PADDING,
340
335
  autoSizeStrategy: {
@@ -345,19 +340,40 @@ export function generateBaseGridOptions(dataCube) {
345
340
  tooltipShowDelay: INTERNAL__GRID_CLIENT_TOOLTIP_SHOW_DELAY,
346
341
  tooltipInteraction: true,
347
342
  // -------------------------------------- COLUMN MOVING --------------------------------------
348
- suppressDragLeaveHidesColumns: true,
343
+ // suppressDragLeaveHidesColumns: true,
349
344
  // -------------------------------------- SERVER SIDE ROW MODEL --------------------------------------
350
345
  suppressScrollOnNewData: true,
351
346
  suppressServerSideFullWidthLoadingRow: true, // make sure each column has its own loading indicator instead of the whole row
352
347
  // -------------------------------------- SELECTION --------------------------------------
353
348
  enableRangeSelection: true,
349
+ // -------------------------------------- SIDEBAR --------------------------------------
350
+ sideBar: {
351
+ toolPanels: [
352
+ {
353
+ id: 'columns',
354
+ labelDefault: 'Columns',
355
+ labelKey: 'columns',
356
+ iconKey: 'columns',
357
+ toolPanel: 'agColumnsToolPanel',
358
+ minWidth: INTERNAL__GRID_CLIENT_SIDE_BAR_WIDTH,
359
+ width: INTERNAL__GRID_CLIENT_SIDE_BAR_WIDTH,
360
+ toolPanelParams: {
361
+ suppressValues: true,
362
+ // TODO: enable when we support pivot
363
+ suppressPivotMode: true,
364
+ suppressPivots: true,
365
+ },
366
+ },
367
+ ],
368
+ position: 'right',
369
+ },
370
+ // allowDragFromColumnsToolPanel: true,
354
371
  // -------------------------------------- PERFORMANCE --------------------------------------
355
372
  animateRows: false, // improve performance
356
373
  suppressColumnMoveAnimation: true, // improve performance
357
374
  };
358
375
  }
359
376
  export function generateGridOptionsFromSnapshot(snapshot, configuration, dataCube) {
360
- const data = snapshot.data;
361
377
  const gridOptions = {
362
378
  /**
363
379
  * NOTE: there is a strange issue where if we put dynamic configuration directly
@@ -378,14 +394,27 @@ export function generateGridOptionsFromSnapshot(snapshot, configuration, dataCub
378
394
  onColumnPinned: (event) => {
379
395
  if (event.column) {
380
396
  const column = event.column;
381
- const columnConfiguration = dataCube.editor.columnProperties.getColumnConfiguration(column.getColId());
382
397
  const pinned = column.getPinned();
383
- columnConfiguration?.setPinned(pinned === null
398
+ dataCube.grid.controller.pinColumn(column.getColId(), pinned === null
384
399
  ? undefined
385
400
  : pinned === GridClientPinnedAlignement.LEFT
386
401
  ? DataCubeColumnPinPlacement.LEFT
387
402
  : DataCubeColumnPinPlacement.RIGHT);
388
- dataCube.editor.applyChanges();
403
+ }
404
+ },
405
+ onColumnMoved: (event) => {
406
+ // make sure the move event is finished before syncing the changes
407
+ if (event.column && event.finished) {
408
+ dataCube.grid.controller.rearrangeColumns((event.api.getColumnDefs() ?? [])
409
+ .filter((col) => !('children' in col))
410
+ .map((col) => col.colId ?? ''));
411
+ }
412
+ },
413
+ onColumnVisible: (event) => {
414
+ if (event.column) {
415
+ const column = event.column;
416
+ const isVisible = column.isVisible();
417
+ dataCube.grid.controller.showColumn(column.getColId(), isVisible);
389
418
  }
390
419
  },
391
420
  // -------------------------------------- COLUMNS --------------------------------------
@@ -426,18 +455,16 @@ export function generateGridOptionsFromSnapshot(snapshot, configuration, dataCub
426
455
  sortable: false, // TODO: @akphi - we can support this in the configuration
427
456
  },
428
457
  // TODO: handle pivot and column grouping
429
- ...data.selectColumns.map((column) => {
458
+ ...configuration.columns.map((column) => {
430
459
  const columnData = {
431
460
  snapshot,
432
461
  column,
433
- configuration: guaranteeNonNullable(configuration.columns.find((col) => col.name === column.name)),
434
- gridConfiguration: configuration,
462
+ configuration,
435
463
  };
436
464
  return {
437
465
  headerName: column.name,
438
466
  field: column.name,
439
467
  menuTabs: [],
440
- suppressMovable: true,
441
468
  ..._displaySpec(columnData),
442
469
  ..._sizeSpec(columnData),
443
470
  ..._sortSpec(columnData),
@@ -448,4 +475,4 @@ export function generateGridOptionsFromSnapshot(snapshot, configuration, dataCub
448
475
  };
449
476
  return gridOptions;
450
477
  }
451
- //# sourceMappingURL=DataCubeGridQuerySnapshotAnalyzer.js.map
478
+ //# sourceMappingURL=DataCubeGridConfigurationBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataCubeGridConfigurationBuilder.js","sourceRoot":"","sources":["../../../../src/stores/dataCube/grid/DataCubeGridConfigurationBuilder.tsx"],"names":[],"mappings":"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"}