@finos/legend-application-repl 0.0.21 → 0.0.23
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.
- package/lib/{stores/CompletionResult.d.ts → __lib__/LegendREPLEvent.d.ts} +4 -6
- package/lib/__lib__/LegendREPLEvent.d.ts.map +1 -0
- package/lib/__lib__/LegendREPLEvent.js +21 -0
- package/lib/__lib__/LegendREPLEvent.js.map +1 -0
- package/lib/{stores/dataCube/DataCubePanelState.js → __lib__/LegendREPLSetting.d.ts} +3 -6
- package/lib/__lib__/LegendREPLSetting.d.ts.map +1 -0
- package/lib/{components/grid/TDSLambdaBuilder.d.ts → __lib__/LegendREPLSetting.js} +5 -4
- package/lib/__lib__/LegendREPLSetting.js.map +1 -0
- package/lib/application/{LegendREPLGridClient.d.ts → LegendREPL.d.ts} +10 -10
- package/lib/application/LegendREPL.d.ts.map +1 -0
- package/lib/application/{LegendREPLGridClient.js → LegendREPL.js} +10 -15
- package/lib/application/LegendREPL.js.map +1 -0
- package/lib/application/{LegendREPLGridClientApplicationConfig.d.ts → LegendREPLApplicationConfig.d.ts} +4 -4
- package/lib/application/LegendREPLApplicationConfig.d.ts.map +1 -0
- package/lib/application/{LegendREPLGridClientApplicationConfig.js → LegendREPLApplicationConfig.js} +2 -2
- package/lib/application/LegendREPLApplicationConfig.js.map +1 -0
- package/lib/application/{LegendREPLGridClientPluginManager.d.ts → LegendREPLPluginManager.d.ts} +4 -4
- package/lib/application/LegendREPLPluginManager.d.ts.map +1 -0
- package/lib/application/{LegendREPLGridClientPluginManager.js → LegendREPLPluginManager.js} +3 -3
- package/lib/application/LegendREPLPluginManager.js.map +1 -0
- package/lib/components/{Core_LegendREPLGridClientApplicationPlugin.d.ts → Core_LegendREPLApplicationPlugin.d.ts} +3 -3
- package/lib/components/Core_LegendREPLApplicationPlugin.d.ts.map +1 -0
- package/lib/components/{Core_LegendREPLGridClientApplicationPlugin.js → Core_LegendREPLApplicationPlugin.js} +12 -7
- package/lib/components/Core_LegendREPLApplicationPlugin.js.map +1 -0
- package/lib/components/{AgGrid.d.ts → LegendREPLApplication.d.ts} +8 -6
- package/lib/components/LegendREPLApplication.d.ts.map +1 -0
- package/lib/components/LegendREPLApplication.js +32 -0
- package/lib/components/LegendREPLApplication.js.map +1 -0
- package/lib/components/{LegendREPLGridClientFrameworkProvider.d.ts → LegendREPLFrameworkProvider.d.ts} +4 -4
- package/lib/components/LegendREPLFrameworkProvider.d.ts.map +1 -0
- package/lib/components/{LegendREPLGridClientFrameworkProvider.js → LegendREPLFrameworkProvider.js} +9 -9
- package/lib/components/LegendREPLFrameworkProvider.js.map +1 -0
- package/lib/components/{REPLGridClientStoreProvider.d.ts → REPLStoreProvider.d.ts} +5 -5
- package/lib/components/REPLStoreProvider.d.ts.map +1 -0
- package/lib/components/{REPLGridClientStoreProvider.js → REPLStoreProvider.js} +9 -9
- package/lib/components/REPLStoreProvider.js.map +1 -0
- package/lib/components/dataCube/DataCube.d.ts +19 -0
- package/lib/components/dataCube/DataCube.d.ts.map +1 -0
- package/lib/components/dataCube/DataCube.js +33 -0
- package/lib/components/dataCube/DataCube.js.map +1 -0
- package/lib/components/{REPLGridClient.d.ts → dataCube/editor/DataCubeEditor.d.ts} +5 -9
- package/lib/components/dataCube/editor/DataCubeEditor.d.ts.map +1 -0
- package/lib/components/dataCube/editor/DataCubeEditor.js +54 -0
- package/lib/components/dataCube/editor/DataCubeEditor.js.map +1 -0
- package/lib/components/dataCube/editor/DataCubeEditorCodePanel.d.ts +19 -0
- package/lib/components/dataCube/editor/DataCubeEditorCodePanel.d.ts.map +1 -0
- package/lib/components/dataCube/{DataCubeQueryTextEditor.js → editor/DataCubeEditorCodePanel.js} +20 -20
- package/lib/components/dataCube/editor/DataCubeEditorCodePanel.js.map +1 -0
- package/lib/components/dataCube/{DataCubeGridEditor.d.ts → editor/DataCubeEditorSortPanel.d.ts} +4 -4
- package/lib/components/dataCube/editor/DataCubeEditorSortPanel.d.ts.map +1 -0
- package/lib/components/dataCube/editor/DataCubeEditorSortPanel.js +61 -0
- package/lib/components/dataCube/editor/DataCubeEditorSortPanel.js.map +1 -0
- package/lib/components/dataCube/{DataCubeQueryTextEditor.d.ts → grid/DataCubeGrid.d.ts} +4 -4
- package/lib/components/dataCube/grid/DataCubeGrid.d.ts.map +1 -0
- package/lib/components/dataCube/grid/DataCubeGrid.js +59 -0
- package/lib/components/dataCube/grid/DataCubeGrid.js.map +1 -0
- package/lib/grid.css +1 -1
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +8 -8
- package/lib/index.js.map +1 -1
- package/lib/package.json +3 -3
- package/lib/repl.css +1 -1
- package/lib/server/REPLServerClient.d.ts +11 -13
- package/lib/server/REPLServerClient.d.ts.map +1 -1
- package/lib/server/REPLServerClient.js +27 -15
- package/lib/server/REPLServerClient.js.map +1 -1
- package/lib/server/models/DataCubeEngineModels.d.ts +50 -0
- package/lib/server/models/DataCubeEngineModels.d.ts.map +1 -0
- package/lib/server/models/DataCubeEngineModels.js +39 -0
- package/lib/server/models/DataCubeEngineModels.js.map +1 -0
- package/lib/server/models/DataCubeQuery.d.ts +41 -0
- package/lib/server/models/DataCubeQuery.d.ts.map +1 -0
- package/lib/server/models/DataCubeQuery.js +78 -0
- package/lib/server/models/DataCubeQuery.js.map +1 -0
- package/lib/stores/{LegendREPLGridClientApplicationPlugin.d.ts → LegendREPLApplicationPlugin.d.ts} +4 -4
- package/lib/stores/LegendREPLApplicationPlugin.d.ts.map +1 -0
- package/lib/stores/{LegendREPLGridClientApplicationPlugin.js → LegendREPLApplicationPlugin.js} +2 -2
- package/lib/stores/LegendREPLApplicationPlugin.js.map +1 -0
- package/lib/stores/LegendREPLBaseStore.d.ts +25 -0
- package/lib/stores/LegendREPLBaseStore.d.ts.map +1 -0
- package/lib/stores/{LegendREPLGridClientBaseStore.js → LegendREPLBaseStore.js} +2 -2
- package/lib/stores/LegendREPLBaseStore.js.map +1 -0
- package/lib/stores/dataCube/DataCubeMetaModelConst.d.ts +49 -0
- package/lib/stores/dataCube/DataCubeMetaModelConst.d.ts.map +1 -0
- package/lib/stores/dataCube/DataCubeMetaModelConst.js +57 -0
- package/lib/stores/dataCube/DataCubeMetaModelConst.js.map +1 -0
- package/lib/stores/dataCube/DataCubeState.d.ts +18 -23
- package/lib/stores/dataCube/DataCubeState.d.ts.map +1 -1
- package/lib/stores/dataCube/DataCubeState.js +31 -181
- package/lib/stores/dataCube/DataCubeState.js.map +1 -1
- package/lib/stores/{REPLGridClientStore.d.ts → dataCube/DataCubeStore.d.ts} +7 -7
- package/lib/stores/dataCube/DataCubeStore.d.ts.map +1 -0
- package/lib/stores/{REPLGridClientStore.js → dataCube/DataCubeStore.js} +5 -4
- package/lib/stores/dataCube/DataCubeStore.js.map +1 -0
- package/lib/stores/dataCube/core/DataCubeEngine.d.ts +29 -0
- package/lib/stores/dataCube/core/DataCubeEngine.d.ts.map +1 -0
- package/lib/stores/dataCube/core/DataCubeEngine.js +47 -0
- package/lib/stores/dataCube/core/DataCubeEngine.js.map +1 -0
- package/lib/stores/dataCube/core/DataCubeQueryAnalyzer.d.ts +37 -0
- package/lib/stores/dataCube/core/DataCubeQueryAnalyzer.d.ts.map +1 -0
- package/lib/stores/dataCube/core/DataCubeQueryAnalyzer.js +269 -0
- package/lib/stores/dataCube/core/DataCubeQueryAnalyzer.js.map +1 -0
- package/lib/stores/dataCube/core/DataCubeQueryBuilder.d.ts +19 -0
- package/lib/stores/dataCube/core/DataCubeQueryBuilder.d.ts.map +1 -0
- package/lib/stores/dataCube/core/DataCubeQueryBuilder.js +98 -0
- package/lib/stores/dataCube/core/DataCubeQueryBuilder.js.map +1 -0
- package/lib/stores/dataCube/core/DataCubeQuerySnapshot.d.ts +73 -0
- package/lib/stores/dataCube/core/DataCubeQuerySnapshot.d.ts.map +1 -0
- package/lib/stores/dataCube/core/DataCubeQuerySnapshot.js +56 -0
- package/lib/stores/dataCube/core/DataCubeQuerySnapshot.js.map +1 -0
- package/lib/stores/dataCube/{DataCubePanelState.d.ts → core/DataCubeQuerySnapshotManager.d.ts} +11 -6
- package/lib/stores/dataCube/core/DataCubeQuerySnapshotManager.d.ts.map +1 -0
- package/lib/stores/dataCube/core/DataCubeQuerySnapshotManager.js +46 -0
- package/lib/stores/dataCube/core/DataCubeQuerySnapshotManager.js.map +1 -0
- package/lib/stores/dataCube/core/DataCubeQuerySnapshotSubscriber.d.ts +27 -0
- package/lib/stores/dataCube/core/DataCubeQuerySnapshotSubscriber.d.ts.map +1 -0
- package/lib/{components/grid/REPLGridServerResult.js → stores/dataCube/core/DataCubeQuerySnapshotSubscriber.js} +18 -10
- package/lib/stores/dataCube/core/DataCubeQuerySnapshotSubscriber.js.map +1 -0
- package/lib/stores/dataCube/{DataCubeQueryEditorState.d.ts → editor/DataCubeEditorCodeState.d.ts} +12 -2
- package/lib/stores/dataCube/editor/DataCubeEditorCodeState.d.ts.map +1 -0
- package/lib/stores/dataCube/editor/DataCubeEditorCodeState.js +87 -0
- package/lib/stores/dataCube/editor/DataCubeEditorCodeState.js.map +1 -0
- package/lib/stores/dataCube/editor/DataCubeEditorQuerySnapshotBuilder.d.ts +28 -0
- package/lib/stores/dataCube/editor/DataCubeEditorQuerySnapshotBuilder.d.ts.map +1 -0
- package/lib/stores/dataCube/editor/DataCubeEditorQuerySnapshotBuilder.js +17 -0
- package/lib/stores/dataCube/editor/DataCubeEditorQuerySnapshotBuilder.js.map +1 -0
- package/lib/stores/dataCube/editor/DataCubeEditorSortState.d.ts +46 -0
- package/lib/stores/dataCube/editor/DataCubeEditorSortState.d.ts.map +1 -0
- package/lib/stores/dataCube/editor/DataCubeEditorSortState.js +133 -0
- package/lib/stores/dataCube/editor/DataCubeEditorSortState.js.map +1 -0
- package/lib/stores/dataCube/editor/DataCubeEditorState.d.ts +44 -0
- package/lib/stores/dataCube/editor/DataCubeEditorState.d.ts.map +1 -0
- package/lib/stores/dataCube/editor/DataCubeEditorState.js +77 -0
- package/lib/stores/dataCube/editor/DataCubeEditorState.js.map +1 -0
- package/lib/{components/grid/ServerSideDataSource.d.ts → stores/dataCube/grid/DataCubeGridClientEngine.d.ts} +17 -14
- package/lib/stores/dataCube/grid/DataCubeGridClientEngine.d.ts.map +1 -0
- package/lib/stores/dataCube/grid/DataCubeGridClientEngine.js +96 -0
- package/lib/stores/dataCube/grid/DataCubeGridClientEngine.js.map +1 -0
- package/lib/stores/dataCube/grid/DataCubeGridQuerySnapshotAnalyzer.d.ts +19 -0
- package/lib/stores/dataCube/grid/DataCubeGridQuerySnapshotAnalyzer.d.ts.map +1 -0
- package/lib/stores/dataCube/grid/DataCubeGridQuerySnapshotAnalyzer.js +224 -0
- package/lib/stores/dataCube/grid/DataCubeGridQuerySnapshotAnalyzer.js.map +1 -0
- package/lib/stores/dataCube/grid/DataCubeGridState.d.ts +33 -0
- package/lib/stores/dataCube/grid/DataCubeGridState.d.ts.map +1 -0
- package/lib/stores/dataCube/grid/DataCubeGridState.js +50 -0
- package/lib/stores/dataCube/grid/DataCubeGridState.js.map +1 -0
- package/package.json +9 -9
- package/src/{Const.ts → __lib__/LegendREPLEvent.ts} +1 -16
- package/{lib/components/grid/REPLGridServerResult.d.ts → src/__lib__/LegendREPLSetting.ts} +3 -6
- package/src/application/LegendREPL.tsx +64 -0
- package/src/application/{LegendREPLGridClientApplicationConfig.ts → LegendREPLApplicationConfig.ts} +3 -3
- package/src/application/{LegendREPLGridClientPluginManager.ts → LegendREPLPluginManager.ts} +5 -5
- package/src/components/{Core_LegendREPLGridClientApplicationPlugin.tsx → Core_LegendREPLApplicationPlugin.tsx} +11 -6
- package/src/components/{LegendREPLGridClientApplication.tsx → LegendREPLApplication.tsx} +11 -28
- package/src/components/LegendREPLFrameworkProvider.tsx +57 -0
- package/src/components/{REPLGridClientStoreProvider.tsx → REPLStoreProvider.tsx} +17 -21
- package/src/components/dataCube/DataCube.tsx +63 -0
- package/src/components/dataCube/editor/DataCubeEditor.tsx +127 -0
- package/src/components/dataCube/{DataCubeQueryTextEditor.tsx → editor/DataCubeEditorCodePanel.tsx} +69 -76
- package/src/components/dataCube/editor/DataCubeEditorSortPanel.tsx +274 -0
- package/src/components/dataCube/grid/DataCubeGrid.tsx +77 -0
- package/src/index.tsx +12 -8
- package/src/server/REPLServerClient.ts +50 -78
- package/src/server/models/DataCubeEngineModels.ts +84 -0
- package/src/server/models/DataCubeQuery.ts +130 -0
- package/src/stores/{LegendREPLGridClientApplicationPlugin.ts → LegendREPLApplicationPlugin.ts} +4 -4
- package/src/stores/{LegendREPLGridClientBaseStore.ts → LegendREPLBaseStore.ts} +9 -9
- package/src/stores/dataCube/DataCubeMetaModelConst.ts +61 -0
- package/src/stores/dataCube/DataCubeState.ts +39 -303
- package/src/stores/{REPLGridClientStore.ts → dataCube/DataCubeStore.ts} +8 -6
- package/src/stores/dataCube/core/DataCubeEngine.ts +79 -0
- package/src/stores/dataCube/core/DataCubeQueryAnalyzer.ts +424 -0
- package/src/stores/dataCube/core/DataCubeQueryBuilder.ts +151 -0
- package/src/stores/dataCube/core/DataCubeQuerySnapshot.ts +201 -0
- package/src/stores/dataCube/core/DataCubeQuerySnapshotManager.ts +67 -0
- package/src/stores/dataCube/core/DataCubeQuerySnapshotSubscriber.ts +43 -0
- package/src/stores/dataCube/editor/DataCubeEditorCodeState.ts +166 -0
- package/src/{components/grid/REPLGridServerResult.ts → stores/dataCube/editor/DataCubeEditorQuerySnapshotBuilder.ts} +14 -11
- package/src/stores/dataCube/editor/DataCubeEditorSortState.ts +198 -0
- package/src/stores/dataCube/editor/DataCubeEditorState.ts +94 -0
- package/src/stores/dataCube/grid/DataCubeGridClientEngine.ts +152 -0
- package/src/stores/dataCube/grid/DataCubeGridQuerySnapshotAnalyzer.ts +245 -0
- package/src/stores/dataCube/grid/DataCubeGridState.ts +62 -0
- package/tsconfig.json +33 -29
- package/lib/Const.d.ts +0 -32
- package/lib/Const.d.ts.map +0 -1
- package/lib/Const.js +0 -35
- package/lib/Const.js.map +0 -1
- package/lib/application/LegendREPLGridClient.d.ts.map +0 -1
- package/lib/application/LegendREPLGridClient.js.map +0 -1
- package/lib/application/LegendREPLGridClientApplicationConfig.d.ts.map +0 -1
- package/lib/application/LegendREPLGridClientApplicationConfig.js.map +0 -1
- package/lib/application/LegendREPLGridClientPluginManager.d.ts.map +0 -1
- package/lib/application/LegendREPLGridClientPluginManager.js.map +0 -1
- package/lib/components/AgGrid.d.ts.map +0 -1
- package/lib/components/AgGrid.js +0 -41
- package/lib/components/AgGrid.js.map +0 -1
- package/lib/components/Core_LegendREPLGridClientApplicationPlugin.d.ts.map +0 -1
- package/lib/components/Core_LegendREPLGridClientApplicationPlugin.js.map +0 -1
- package/lib/components/LegendREPLGridClientApplication.d.ts +0 -31
- package/lib/components/LegendREPLGridClientApplication.d.ts.map +0 -1
- package/lib/components/LegendREPLGridClientApplication.js +0 -39
- package/lib/components/LegendREPLGridClientApplication.js.map +0 -1
- package/lib/components/LegendREPLGridClientFrameworkProvider.d.ts.map +0 -1
- package/lib/components/LegendREPLGridClientFrameworkProvider.js.map +0 -1
- package/lib/components/REPLGridClient.d.ts.map +0 -1
- package/lib/components/REPLGridClient.js +0 -143
- package/lib/components/REPLGridClient.js.map +0 -1
- package/lib/components/REPLGridClientStoreProvider.d.ts.map +0 -1
- package/lib/components/REPLGridClientStoreProvider.js.map +0 -1
- package/lib/components/dataCube/DataCubeGridEditor.d.ts.map +0 -1
- package/lib/components/dataCube/DataCubeGridEditor.js +0 -37
- package/lib/components/dataCube/DataCubeGridEditor.js.map +0 -1
- package/lib/components/dataCube/DataCubeQueryTextEditor.d.ts.map +0 -1
- package/lib/components/dataCube/DataCubeQueryTextEditor.js.map +0 -1
- package/lib/components/grid/GridUtils.d.ts +0 -31
- package/lib/components/grid/GridUtils.d.ts.map +0 -1
- package/lib/components/grid/GridUtils.js +0 -174
- package/lib/components/grid/GridUtils.js.map +0 -1
- package/lib/components/grid/REPLGridServerResult.d.ts.map +0 -1
- package/lib/components/grid/REPLGridServerResult.js.map +0 -1
- package/lib/components/grid/ServerSideDataSource.d.ts.map +0 -1
- package/lib/components/grid/ServerSideDataSource.js +0 -109
- package/lib/components/grid/ServerSideDataSource.js.map +0 -1
- package/lib/components/grid/TDSLambdaBuilder.d.ts.map +0 -1
- package/lib/components/grid/TDSLambdaBuilder.js +0 -314
- package/lib/components/grid/TDSLambdaBuilder.js.map +0 -1
- package/lib/components/grid/TDSQuery.d.ts +0 -25
- package/lib/components/grid/TDSQuery.d.ts.map +0 -1
- package/lib/components/grid/TDSQuery.js +0 -32
- package/lib/components/grid/TDSQuery.js.map +0 -1
- package/lib/components/grid/TDSRequest.d.ts +0 -103
- package/lib/components/grid/TDSRequest.d.ts.map +0 -1
- package/lib/components/grid/TDSRequest.js +0 -172
- package/lib/components/grid/TDSRequest.js.map +0 -1
- package/lib/stores/CompletionResult.d.ts.map +0 -1
- package/lib/stores/CompletionResult.js +0 -26
- package/lib/stores/CompletionResult.js.map +0 -1
- package/lib/stores/LegendREPLGridClientApplicationPlugin.d.ts.map +0 -1
- package/lib/stores/LegendREPLGridClientApplicationPlugin.js.map +0 -1
- package/lib/stores/LegendREPLGridClientBaseStore.d.ts +0 -25
- package/lib/stores/LegendREPLGridClientBaseStore.d.ts.map +0 -1
- package/lib/stores/LegendREPLGridClientBaseStore.js.map +0 -1
- package/lib/stores/REPLGridClientStore.d.ts.map +0 -1
- package/lib/stores/REPLGridClientStore.js.map +0 -1
- package/lib/stores/dataCube/DataCubeConfigState.d.ts +0 -32
- package/lib/stores/dataCube/DataCubeConfigState.d.ts.map +0 -1
- package/lib/stores/dataCube/DataCubeConfigState.js +0 -62
- package/lib/stores/dataCube/DataCubeConfigState.js.map +0 -1
- package/lib/stores/dataCube/DataCubeGridState.d.ts +0 -39
- package/lib/stores/dataCube/DataCubeGridState.d.ts.map +0 -1
- package/lib/stores/dataCube/DataCubeGridState.js +0 -108
- package/lib/stores/dataCube/DataCubeGridState.js.map +0 -1
- package/lib/stores/dataCube/DataCubePanelState.d.ts.map +0 -1
- package/lib/stores/dataCube/DataCubePanelState.js.map +0 -1
- package/lib/stores/dataCube/DataCubePropertiesPanelState.d.ts +0 -34
- package/lib/stores/dataCube/DataCubePropertiesPanelState.d.ts.map +0 -1
- package/lib/stores/dataCube/DataCubePropertiesPanelState.js +0 -57
- package/lib/stores/dataCube/DataCubePropertiesPanelState.js.map +0 -1
- package/lib/stores/dataCube/DataCubeQueryEditorState.d.ts.map +0 -1
- package/lib/stores/dataCube/DataCubeQueryEditorState.js +0 -49
- package/lib/stores/dataCube/DataCubeQueryEditorState.js.map +0 -1
- package/lib/stores/dataCube/DataCubeQueryTextEditorState.d.ts +0 -25
- package/lib/stores/dataCube/DataCubeQueryTextEditorState.d.ts.map +0 -1
- package/lib/stores/dataCube/DataCubeQueryTextEditorState.js +0 -35
- package/lib/stores/dataCube/DataCubeQueryTextEditorState.js.map +0 -1
- package/lib/stores/dataCube/HPivotAndSortPanelState.d.ts +0 -40
- package/lib/stores/dataCube/HPivotAndSortPanelState.d.ts.map +0 -1
- package/lib/stores/dataCube/HPivotAndSortPanelState.js +0 -130
- package/lib/stores/dataCube/HPivotAndSortPanelState.js.map +0 -1
- package/src/application/LegendREPLGridClient.tsx +0 -72
- package/src/components/AgGrid.tsx +0 -59
- package/src/components/LegendREPLGridClientFrameworkProvider.tsx +0 -63
- package/src/components/REPLGridClient.tsx +0 -560
- package/src/components/dataCube/DataCubeGridEditor.tsx +0 -69
- package/src/components/grid/GridUtils.ts +0 -220
- package/src/components/grid/ServerSideDataSource.ts +0 -197
- package/src/components/grid/TDSLambdaBuilder.ts +0 -456
- package/src/components/grid/TDSQuery.ts +0 -37
- package/src/components/grid/TDSRequest.ts +0 -231
- package/src/stores/CompletionResult.ts +0 -30
- package/src/stores/dataCube/DataCubeConfigState.ts +0 -79
- package/src/stores/dataCube/DataCubeGridState.ts +0 -143
- package/src/stores/dataCube/DataCubePanelState.ts +0 -28
- package/src/stores/dataCube/DataCubePropertiesPanelState.ts +0 -65
- package/src/stores/dataCube/DataCubeQueryEditorState.ts +0 -66
- package/src/stores/dataCube/DataCubeQueryTextEditorState.ts +0 -41
- package/src/stores/dataCube/HPivotAndSortPanelState.ts +0 -170
|
@@ -0,0 +1,96 @@
|
|
|
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 { cloneSnapshot, } from '../core/DataCubeQuerySnapshot.js';
|
|
17
|
+
import { LogEvent, assertErrorThrown, deepEqual, guaranteeNonNullable, isBoolean, } from '@finos/legend-shared';
|
|
18
|
+
import { buildExecutableQueryFromSnapshot } from '../core/DataCubeQueryBuilder.js';
|
|
19
|
+
import { V1_Lambda } from '@finos/legend-graph';
|
|
20
|
+
import { DATA_CUBE_COLUMN_SORT_DIRECTION } from '../DataCubeMetaModelConst.js';
|
|
21
|
+
import { APPLICATION_EVENT } from '@finos/legend-application';
|
|
22
|
+
export var GridClientSortDirection;
|
|
23
|
+
(function (GridClientSortDirection) {
|
|
24
|
+
GridClientSortDirection["ASCENDING"] = "asc";
|
|
25
|
+
GridClientSortDirection["DESCENDING"] = "desc";
|
|
26
|
+
})(GridClientSortDirection || (GridClientSortDirection = {}));
|
|
27
|
+
export const toRowData = (tds) => tds.rows.map((_row, rowIdx) => {
|
|
28
|
+
const row = {};
|
|
29
|
+
const cols = tds.columns;
|
|
30
|
+
_row.values.forEach((value, colIdx) => {
|
|
31
|
+
// `ag-grid` shows `false` value as empty string so we have
|
|
32
|
+
// call `.toString()` to avoid this behavior.
|
|
33
|
+
row[cols[colIdx]] = isBoolean(value) ? String(value) : value;
|
|
34
|
+
});
|
|
35
|
+
row.rowNumber = rowIdx;
|
|
36
|
+
return row;
|
|
37
|
+
});
|
|
38
|
+
export class DataCubeGridClientServerSideDataSource {
|
|
39
|
+
grid;
|
|
40
|
+
constructor(grid) {
|
|
41
|
+
this.grid = grid;
|
|
42
|
+
}
|
|
43
|
+
async fetchRows(params) {
|
|
44
|
+
const currentSnapshot = guaranteeNonNullable(this.grid.getLatestSnapshot());
|
|
45
|
+
const syncedSnapshot = this.syncSnapshot(params.request, currentSnapshot);
|
|
46
|
+
if (syncedSnapshot.uuid !== currentSnapshot.uuid) {
|
|
47
|
+
this.grid.publishSnapshot(syncedSnapshot);
|
|
48
|
+
}
|
|
49
|
+
try {
|
|
50
|
+
const executableQuery = buildExecutableQueryFromSnapshot(syncedSnapshot);
|
|
51
|
+
const lambda = new V1_Lambda();
|
|
52
|
+
lambda.body.push(executableQuery);
|
|
53
|
+
const result = await this.grid.dataCubeState.engine.executeQuery(lambda);
|
|
54
|
+
const rowData = toRowData(result.result);
|
|
55
|
+
params.success({ rowData });
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
assertErrorThrown(error);
|
|
59
|
+
this.grid.dataCubeState.applicationStore.notificationService.notifyError(error);
|
|
60
|
+
params.fail();
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
getRows(params) {
|
|
64
|
+
this.fetchRows(params).catch((error) => {
|
|
65
|
+
assertErrorThrown(error);
|
|
66
|
+
this.grid.dataCubeState.applicationStore.logService.error(LogEvent.create(APPLICATION_EVENT.ILLEGAL_APPLICATION_STATE_OCCURRED), `Error ocurred while fetching data for grid should have been handled gracefully`, error);
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
syncSnapshot(request, baseSnapshot) {
|
|
70
|
+
let createNew = false;
|
|
71
|
+
// --------------------------------- GROUP BY ---------------------------------
|
|
72
|
+
// TODO: @akphi - Implement this
|
|
73
|
+
// --------------------------------- SORT ---------------------------------
|
|
74
|
+
const newSortColumns = request.sortModel.map((sortInfo) => {
|
|
75
|
+
const column = guaranteeNonNullable(baseSnapshot.columns.find((col) => col.name === sortInfo.colId));
|
|
76
|
+
return {
|
|
77
|
+
name: sortInfo.colId,
|
|
78
|
+
type: column.type,
|
|
79
|
+
direction: sortInfo.sort === GridClientSortDirection.ASCENDING
|
|
80
|
+
? DATA_CUBE_COLUMN_SORT_DIRECTION.ASCENDING
|
|
81
|
+
: DATA_CUBE_COLUMN_SORT_DIRECTION.DESCENDING,
|
|
82
|
+
};
|
|
83
|
+
});
|
|
84
|
+
if (!deepEqual(newSortColumns, baseSnapshot.sortColumns)) {
|
|
85
|
+
createNew = true;
|
|
86
|
+
}
|
|
87
|
+
// --------------------------------- FINALIZE ---------------------------------
|
|
88
|
+
if (createNew) {
|
|
89
|
+
const newSnapshot = cloneSnapshot(baseSnapshot);
|
|
90
|
+
newSnapshot.sortColumns = newSortColumns;
|
|
91
|
+
return newSnapshot;
|
|
92
|
+
}
|
|
93
|
+
return baseSnapshot;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=DataCubeGridClientEngine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataCubeGridClientEngine.js","sourceRoot":"","sources":["../../../../src/stores/dataCube/grid/DataCubeGridClientEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
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 { DataCubeQuerySnapshot } from '../core/DataCubeQuerySnapshot.js';
|
|
17
|
+
import type { GridOptions } from '@ag-grid-community/core';
|
|
18
|
+
export declare function generateGridOptionsFromSnapshot(snapshot: DataCubeQuerySnapshot): GridOptions;
|
|
19
|
+
//# sourceMappingURL=DataCubeGridQuerySnapshotAnalyzer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataCubeGridQuerySnapshotAnalyzer.d.ts","sourceRoot":"","sources":["../../../../src/stores/dataCube/grid/DataCubeGridQuerySnapshotAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AA8M3D,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,qBAAqB,GAC9B,WAAW,CAmBb"}
|
|
@@ -0,0 +1,224 @@
|
|
|
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 { DATA_CUBE_COLUMN_SORT_DIRECTION } from '../DataCubeMetaModelConst.js';
|
|
17
|
+
import { GridClientSortDirection } from './DataCubeGridClientEngine.js';
|
|
18
|
+
// export const getTDSSortOrder = (sortOrder: string): TDS_SORT_ORDER => {
|
|
19
|
+
// switch (sortOrder) {
|
|
20
|
+
// case 'asc':
|
|
21
|
+
// return TDS_SORT_ORDER.ASCENDING;
|
|
22
|
+
// case 'desc':
|
|
23
|
+
// return TDS_SORT_ORDER.DESCENDING;
|
|
24
|
+
// default:
|
|
25
|
+
// throw new Error(`Unsupported tds sort order ${sortOrder}`);
|
|
26
|
+
// }
|
|
27
|
+
// };
|
|
28
|
+
// const getTDSSortModel = (sort: TDS_SORT_ORDER): string => {
|
|
29
|
+
// switch (sort) {
|
|
30
|
+
// case TDS_SORT_ORDER.ASCENDING:
|
|
31
|
+
// return 'asc';
|
|
32
|
+
// case TDS_SORT_ORDER.DESCENDING:
|
|
33
|
+
// return 'desc';
|
|
34
|
+
// default:
|
|
35
|
+
// throw new Error(`Unsupported`);
|
|
36
|
+
// }
|
|
37
|
+
// };
|
|
38
|
+
// export const getAggregationFunction = (
|
|
39
|
+
// aggFunc: string,
|
|
40
|
+
// ): TDS_AGGREGATION_FUNCTION => {
|
|
41
|
+
// switch (aggFunc) {
|
|
42
|
+
// case 'sum':
|
|
43
|
+
// return TDS_AGGREGATION_FUNCTION.SUM;
|
|
44
|
+
// case 'min':
|
|
45
|
+
// return TDS_AGGREGATION_FUNCTION.MIN;
|
|
46
|
+
// case 'max':
|
|
47
|
+
// return TDS_AGGREGATION_FUNCTION.MAX;
|
|
48
|
+
// case 'count':
|
|
49
|
+
// return TDS_AGGREGATION_FUNCTION.COUNT;
|
|
50
|
+
// default:
|
|
51
|
+
// throw new Error(`Unsupported aggregation function ${aggFunc}`);
|
|
52
|
+
// }
|
|
53
|
+
// };
|
|
54
|
+
// export const getTDSFilterOperation = (
|
|
55
|
+
// filterOperation: string,
|
|
56
|
+
// ): TDS_FILTER_OPERATION => {
|
|
57
|
+
// switch (filterOperation) {
|
|
58
|
+
// case 'equals':
|
|
59
|
+
// return TDS_FILTER_OPERATION.EQUALS;
|
|
60
|
+
// case 'notEqual':
|
|
61
|
+
// return TDS_FILTER_OPERATION.NOT_EQUAL;
|
|
62
|
+
// case 'greaterThan':
|
|
63
|
+
// return TDS_FILTER_OPERATION.GREATER_THAN;
|
|
64
|
+
// case 'greaterThanOrEqual':
|
|
65
|
+
// return TDS_FILTER_OPERATION.GREATER_THAN_OR_EQUAL;
|
|
66
|
+
// case 'lessThan':
|
|
67
|
+
// return TDS_FILTER_OPERATION.LESS_THAN;
|
|
68
|
+
// case 'lessThanOrEqual':
|
|
69
|
+
// return TDS_FILTER_OPERATION.LESS_THAN_OR_EQUAL;
|
|
70
|
+
// case 'blank':
|
|
71
|
+
// return TDS_FILTER_OPERATION.BLANK;
|
|
72
|
+
// case 'notBlank':
|
|
73
|
+
// return TDS_FILTER_OPERATION.NOT_BLANK;
|
|
74
|
+
// case 'contains':
|
|
75
|
+
// return TDS_FILTER_OPERATION.CONTAINS;
|
|
76
|
+
// case 'notContains':
|
|
77
|
+
// return TDS_FILTER_OPERATION.NOT_CONTAINS;
|
|
78
|
+
// case 'startsWith':
|
|
79
|
+
// return TDS_FILTER_OPERATION.STARTS_WITH;
|
|
80
|
+
// case 'endsWith':
|
|
81
|
+
// return TDS_FILTER_OPERATION.ENDS_WITH;
|
|
82
|
+
// default:
|
|
83
|
+
// throw new Error(`Unsupported filter operation ${filterOperation}`);
|
|
84
|
+
// }
|
|
85
|
+
// };
|
|
86
|
+
// export const getFilterColumnType = (type: string): PRIMITIVE_TYPE => {
|
|
87
|
+
// switch (type) {
|
|
88
|
+
// case 'text':
|
|
89
|
+
// return PRIMITIVE_TYPE.STRING;
|
|
90
|
+
// case 'number':
|
|
91
|
+
// return PRIMITIVE_TYPE.NUMBER;
|
|
92
|
+
// case 'boolean':
|
|
93
|
+
// return PRIMITIVE_TYPE.BOOLEAN;
|
|
94
|
+
// case 'date':
|
|
95
|
+
// return PRIMITIVE_TYPE.DATE;
|
|
96
|
+
// default:
|
|
97
|
+
// throw new Error(`Unsupported filter type ${type}`);
|
|
98
|
+
// }
|
|
99
|
+
// };
|
|
100
|
+
// export const getFilterModeltype = (type: PRIMITIVE_TYPE): string => {
|
|
101
|
+
// switch (type) {
|
|
102
|
+
// case PRIMITIVE_TYPE.STRING:
|
|
103
|
+
// return 'text';
|
|
104
|
+
// case PRIMITIVE_TYPE.NUMBER:
|
|
105
|
+
// return 'number';
|
|
106
|
+
// case PRIMITIVE_TYPE.BOOLEAN:
|
|
107
|
+
// return 'boolean';
|
|
108
|
+
// case PRIMITIVE_TYPE.DATE:
|
|
109
|
+
// return 'date';
|
|
110
|
+
// default:
|
|
111
|
+
// throw new Error(`Unsupported filter type ${type}`);
|
|
112
|
+
// }
|
|
113
|
+
// };
|
|
114
|
+
// export const getTDSColumnCustomizations = (
|
|
115
|
+
// result: TDSExecutionResult,
|
|
116
|
+
// columnName: string,
|
|
117
|
+
// tdsRequest?: TDSRequest | undefined,
|
|
118
|
+
// ): object => {
|
|
119
|
+
// if (!tdsRequest) {
|
|
120
|
+
// return {};
|
|
121
|
+
// }
|
|
122
|
+
// const sort = tdsRequest.sort.find((c) => c.column === columnName)?.order;
|
|
123
|
+
// const rowGroup = tdsRequest.groupBy.columns.find((c) => c === columnName);
|
|
124
|
+
// const aggFunc = tdsRequest.groupBy.aggregations.find(
|
|
125
|
+
// (c) => c.column === columnName,
|
|
126
|
+
// );
|
|
127
|
+
// return {
|
|
128
|
+
// sort: sort ? getTDSSortModel(sort) : undefined,
|
|
129
|
+
// rowGroup: Boolean(rowGroup),
|
|
130
|
+
// hide: Boolean(rowGroup),
|
|
131
|
+
// aggFunc: aggFunc?.function,
|
|
132
|
+
// };
|
|
133
|
+
// };
|
|
134
|
+
// export const getAggregationTDSColumnCustomizations = (
|
|
135
|
+
// result: TDSExecutionResult,
|
|
136
|
+
// columnName: string,
|
|
137
|
+
// ): object => {
|
|
138
|
+
// const columnType = result.builder.columns.find(
|
|
139
|
+
// (col) => col.name === columnName,
|
|
140
|
+
// )?.type;
|
|
141
|
+
// switch (columnType) {
|
|
142
|
+
// case PRIMITIVE_TYPE.STRING:
|
|
143
|
+
// return {
|
|
144
|
+
// filter: 'agTextColumnFilter',
|
|
145
|
+
// allowedAggFuncs: ['count'],
|
|
146
|
+
// };
|
|
147
|
+
// case PRIMITIVE_TYPE.DATE:
|
|
148
|
+
// case PRIMITIVE_TYPE.DATETIME:
|
|
149
|
+
// case PRIMITIVE_TYPE.STRICTDATE:
|
|
150
|
+
// return {
|
|
151
|
+
// filter: 'agDateColumnFilter',
|
|
152
|
+
// allowedAggFuncs: ['count'],
|
|
153
|
+
// };
|
|
154
|
+
// case PRIMITIVE_TYPE.DECIMAL:
|
|
155
|
+
// case PRIMITIVE_TYPE.INTEGER:
|
|
156
|
+
// case PRIMITIVE_TYPE.FLOAT:
|
|
157
|
+
// return {
|
|
158
|
+
// filter: 'agNumberColumnFilter',
|
|
159
|
+
// allowedAggFuncs: ['count', 'sum', 'max', 'min', 'avg'],
|
|
160
|
+
// };
|
|
161
|
+
// default:
|
|
162
|
+
// return {
|
|
163
|
+
// allowedAggFuncs: ['count'],
|
|
164
|
+
// };
|
|
165
|
+
// }
|
|
166
|
+
// };
|
|
167
|
+
// TODO: @akphi - do we need a default column definition?
|
|
168
|
+
// export const getDefaultColumnDefintions = (): object => ({
|
|
169
|
+
// minWidth: 50,
|
|
170
|
+
// sortable: true,
|
|
171
|
+
// flex: 1,
|
|
172
|
+
// resizable: true,
|
|
173
|
+
// enableRowGroup: true,
|
|
174
|
+
// allowedAggFuncs: ['count', 'sum', 'max', 'min', 'avg'],
|
|
175
|
+
// enableValue: true,
|
|
176
|
+
// menuTabs: ['filterMenuTab', 'generalMenuTab', 'columnsMenuTab'],
|
|
177
|
+
// });
|
|
178
|
+
// export const getTDSRowData = (tds: TabularDataSet): TDSRowDataType[] =>
|
|
179
|
+
// tds.rows.map((_row, rowIdx) => {
|
|
180
|
+
// const row: TDSRowDataType = {};
|
|
181
|
+
// const cols = tds.columns;
|
|
182
|
+
// _row.values.forEach((value, colIdx) => {
|
|
183
|
+
// // `ag-grid` shows `false` value as empty string so we have
|
|
184
|
+
// // call `.toString()` to avoid this behavior.
|
|
185
|
+
// row[cols[colIdx] as string] = isBoolean(value) ? String(value) : value;
|
|
186
|
+
// });
|
|
187
|
+
// row.rowNumber = rowIdx;
|
|
188
|
+
// return row;
|
|
189
|
+
// });
|
|
190
|
+
function buildColumnSortSpecification(colName, snapshot) {
|
|
191
|
+
const sortCol = snapshot.sortColumns.find((c) => c.name === colName);
|
|
192
|
+
if (!sortCol) {
|
|
193
|
+
return {
|
|
194
|
+
sort: null,
|
|
195
|
+
sortIndex: null,
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
return {
|
|
199
|
+
sort: sortCol.direction === DATA_CUBE_COLUMN_SORT_DIRECTION.ASCENDING
|
|
200
|
+
? GridClientSortDirection.ASCENDING
|
|
201
|
+
: GridClientSortDirection.DESCENDING,
|
|
202
|
+
sortIndex: snapshot.sortColumns.indexOf(sortCol),
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
export function generateGridOptionsFromSnapshot(snapshot) {
|
|
206
|
+
const gridOptions = {
|
|
207
|
+
columnDefs: snapshot.columns.map((col) => ({
|
|
208
|
+
headerName: col.name,
|
|
209
|
+
field: col.name,
|
|
210
|
+
...buildColumnSortSpecification(col.name, snapshot),
|
|
211
|
+
// configurable
|
|
212
|
+
minWidth: 50,
|
|
213
|
+
sortable: true,
|
|
214
|
+
flex: 1,
|
|
215
|
+
resizable: true,
|
|
216
|
+
// enableRowGroup: true,
|
|
217
|
+
// allowedAggFuncs: ['count', 'sum', 'max', 'min', 'avg'],
|
|
218
|
+
// enableValue: true,
|
|
219
|
+
// menuTabs: ['filterMenuTab', 'generalMenuTab', 'columnsMenuTab'],
|
|
220
|
+
})),
|
|
221
|
+
};
|
|
222
|
+
return gridOptions;
|
|
223
|
+
}
|
|
224
|
+
//# sourceMappingURL=DataCubeGridQuerySnapshotAnalyzer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataCubeGridQuerySnapshotAnalyzer.js","sourceRoot":"","sources":["../../../../src/stores/dataCube/grid/DataCubeGridQuerySnapshotAnalyzer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
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 GeneratorFn } from '@finos/legend-shared';
|
|
17
|
+
import type { GridApi } from '@ag-grid-community/core';
|
|
18
|
+
import type { DataCubeState } from '../DataCubeState.js';
|
|
19
|
+
import { DataCubeGridClientServerSideDataSource } from './DataCubeGridClientEngine.js';
|
|
20
|
+
import { DataCubeQuerySnapshotSubscriber } from '../core/DataCubeQuerySnapshotSubscriber.js';
|
|
21
|
+
import type { DataCubeQuerySnapshot } from '../core/DataCubeQuerySnapshot.js';
|
|
22
|
+
export declare class DataCubeGridState extends DataCubeQuerySnapshotSubscriber {
|
|
23
|
+
readonly dataCubeState: DataCubeState;
|
|
24
|
+
private _client?;
|
|
25
|
+
readonly clientDataSource: DataCubeGridClientServerSideDataSource;
|
|
26
|
+
clientLicenseKey?: string | undefined;
|
|
27
|
+
constructor(dataCubeState: DataCubeState);
|
|
28
|
+
configureClient(val: GridApi | undefined): void;
|
|
29
|
+
get client(): GridApi;
|
|
30
|
+
initialize(): GeneratorFn<void>;
|
|
31
|
+
applySnapshot(snapshot: DataCubeQuerySnapshot): Promise<void>;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=DataCubeGridState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataCubeGridState.d.ts","sourceRoot":"","sources":["../../../../src/stores/dataCube/grid/DataCubeGridState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAwB,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAE9E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,sCAAsC,EAAE,MAAM,+BAA+B,CAAC;AACvF,OAAO,EAAE,+BAA+B,EAAE,MAAM,4CAA4C,CAAC;AAC7F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAG9E,qBAAa,iBAAkB,SAAQ,+BAA+B;IACpE,QAAQ,CAAC,aAAa,EAAG,aAAa,CAAC;IAEvC,OAAO,CAAC,OAAO,CAAC,CAAsB;IACtC,QAAQ,CAAC,gBAAgB,EAAE,sCAAsC,CAAC;IAClE,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;gBAE1B,aAAa,EAAE,aAAa;IAYxC,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI;IAI/C,IAAI,MAAM,IAAI,OAAO,CAEpB;IAEA,UAAU,IAAI,WAAW,CAAC,IAAI,CAAC;IAKjB,aAAa,CAAC,QAAQ,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;CAI7E"}
|
|
@@ -0,0 +1,50 @@
|
|
|
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 { guaranteeNonNullable } from '@finos/legend-shared';
|
|
17
|
+
import { flow, makeObservable, observable } from 'mobx';
|
|
18
|
+
import { DataCubeGridClientServerSideDataSource } from './DataCubeGridClientEngine.js';
|
|
19
|
+
import { DataCubeQuerySnapshotSubscriber } from '../core/DataCubeQuerySnapshotSubscriber.js';
|
|
20
|
+
import { generateGridOptionsFromSnapshot } from './DataCubeGridQuerySnapshotAnalyzer.js';
|
|
21
|
+
export class DataCubeGridState extends DataCubeQuerySnapshotSubscriber {
|
|
22
|
+
dataCubeState;
|
|
23
|
+
_client;
|
|
24
|
+
clientDataSource;
|
|
25
|
+
clientLicenseKey;
|
|
26
|
+
constructor(dataCubeState) {
|
|
27
|
+
super(dataCubeState.snapshotManager);
|
|
28
|
+
makeObservable(this, {
|
|
29
|
+
clientLicenseKey: observable,
|
|
30
|
+
initialize: flow,
|
|
31
|
+
});
|
|
32
|
+
this.dataCubeState = dataCubeState;
|
|
33
|
+
this.clientDataSource = new DataCubeGridClientServerSideDataSource(this);
|
|
34
|
+
}
|
|
35
|
+
configureClient(val) {
|
|
36
|
+
this._client = val;
|
|
37
|
+
}
|
|
38
|
+
get client() {
|
|
39
|
+
return guaranteeNonNullable(this._client, 'Grid client is not configured');
|
|
40
|
+
}
|
|
41
|
+
*initialize() {
|
|
42
|
+
this.clientLicenseKey =
|
|
43
|
+
(yield this.dataCubeState.editorStore.client.getGridClientLicenseKey());
|
|
44
|
+
}
|
|
45
|
+
async applySnapshot(snapshot) {
|
|
46
|
+
const gridOptions = generateGridOptionsFromSnapshot(snapshot);
|
|
47
|
+
this.client.updateGridOptions(gridOptions);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=DataCubeGridState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataCubeGridState.js","sourceRoot":"","sources":["../../../../src/stores/dataCube/grid/DataCubeGridState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,oBAAoB,EAAoB,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAGxD,OAAO,EAAE,sCAAsC,EAAE,MAAM,+BAA+B,CAAC;AACvF,OAAO,EAAE,+BAA+B,EAAE,MAAM,4CAA4C,CAAC;AAE7F,OAAO,EAAE,+BAA+B,EAAE,MAAM,wCAAwC,CAAC;AAEzF,MAAM,OAAO,iBAAkB,SAAQ,+BAA+B;IAC3D,aAAa,CAAiB;IAE/B,OAAO,CAAuB;IAC7B,gBAAgB,CAAyC;IAClE,gBAAgB,CAAsB;IAEtC,YAAY,aAA4B;QACtC,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;QAErC,cAAc,CAAC,IAAI,EAAE;YACnB,gBAAgB,EAAE,UAAU;YAC5B,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,gBAAgB,GAAG,IAAI,sCAAsC,CAAC,IAAI,CAAC,CAAC;IAC3E,CAAC;IAED,eAAe,CAAC,GAAwB;QACtC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;IACrB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,+BAA+B,CAAC,CAAC;IAC7E,CAAC;IAED,CAAC,UAAU;QACT,IAAI,CAAC,gBAAgB;YACnB,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAW,CAAC;IACtF,CAAC;IAEQ,KAAK,CAAC,aAAa,CAAC,QAA+B;QAC1D,MAAM,WAAW,GAAG,+BAA+B,CAAC,QAAQ,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC7C,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@finos/legend-application-repl",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.23",
|
|
4
4
|
"description": "Legend REPL Grid client application core",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"legend",
|
|
@@ -51,11 +51,11 @@
|
|
|
51
51
|
"@ag-grid-enterprise/menu": "31.3.2",
|
|
52
52
|
"@ag-grid-enterprise/row-grouping": "31.3.2",
|
|
53
53
|
"@ag-grid-enterprise/server-side-row-model": "31.3.2",
|
|
54
|
-
"@finos/legend-application": "15.1.
|
|
55
|
-
"@finos/legend-art": "7.1.
|
|
56
|
-
"@finos/legend-graph": "31.10.
|
|
57
|
-
"@finos/legend-lego": "1.2.
|
|
58
|
-
"@finos/legend-shared": "10.0.
|
|
54
|
+
"@finos/legend-application": "15.1.6",
|
|
55
|
+
"@finos/legend-art": "7.1.35",
|
|
56
|
+
"@finos/legend-graph": "31.10.3",
|
|
57
|
+
"@finos/legend-lego": "1.2.36",
|
|
58
|
+
"@finos/legend-shared": "10.0.39",
|
|
59
59
|
"@types/react": "18.3.3",
|
|
60
60
|
"@types/react-dom": "18.3.0",
|
|
61
61
|
"mobx": "6.12.3",
|
|
@@ -67,14 +67,14 @@
|
|
|
67
67
|
"serializr": "3.0.2"
|
|
68
68
|
},
|
|
69
69
|
"devDependencies": {
|
|
70
|
-
"@finos/legend-dev-utils": "2.1.
|
|
70
|
+
"@finos/legend-dev-utils": "2.1.7",
|
|
71
71
|
"@jest/globals": "29.7.0",
|
|
72
72
|
"cross-env": "7.0.3",
|
|
73
73
|
"eslint": "8.57.0",
|
|
74
74
|
"jest": "29.7.0",
|
|
75
75
|
"npm-run-all": "4.1.5",
|
|
76
76
|
"rimraf": "5.0.7",
|
|
77
|
-
"sass": "1.77.
|
|
77
|
+
"sass": "1.77.4",
|
|
78
78
|
"typescript": "5.4.5"
|
|
79
79
|
},
|
|
80
80
|
"peerDependencies": {
|
|
@@ -84,6 +84,6 @@
|
|
|
84
84
|
"directory": "build/publishContent"
|
|
85
85
|
},
|
|
86
86
|
"extensions": {
|
|
87
|
-
"
|
|
87
|
+
"applicationREPLPlugin": "@finos/legend-application-repl-plugin-core"
|
|
88
88
|
}
|
|
89
89
|
}
|
|
@@ -14,22 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
export enum
|
|
17
|
+
export enum LEGEND_REPL_APP_EVENT {
|
|
18
18
|
FETCH_TDS_FAILURE = 'repl.fetch-tds.failure',
|
|
19
19
|
BUILD_TDS_EQUEST_FAILURE = 'repl.build-tds-request.failure',
|
|
20
20
|
}
|
|
21
|
-
|
|
22
|
-
export enum LEGEND_APPLICATION_REPL_SETTING_KEY {
|
|
23
|
-
PAGINATION = 'application.pagination.enabled',
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export enum QUERY_FUNCTION {
|
|
27
|
-
FILTER = 'filter',
|
|
28
|
-
SORT = 'sort',
|
|
29
|
-
SLICE = 'slice',
|
|
30
|
-
GROUPBY = 'groupBy',
|
|
31
|
-
NOT = 'not',
|
|
32
|
-
FROM = 'from',
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export const DEFAULT_VARIABLE_NAME = 'x';
|
|
@@ -13,10 +13,7 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
|
|
17
|
-
export
|
|
18
|
-
|
|
19
|
-
result: string;
|
|
20
|
-
static readonly serialization: SerializationFactory<REPLGridServerResult>;
|
|
16
|
+
|
|
17
|
+
export enum LEGEND_APPLICATION_REPL_SETTING_KEY {
|
|
18
|
+
PAGINATION = 'application.pagination.enabled',
|
|
21
19
|
}
|
|
22
|
-
//# sourceMappingURL=REPLGridServerResult.d.ts.map
|
|
@@ -0,0 +1,64 @@
|
|
|
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 { createRoot } from 'react-dom/client';
|
|
18
|
+
import {
|
|
19
|
+
type LegendApplicationConfig,
|
|
20
|
+
type LegendApplicationConfigurationInput,
|
|
21
|
+
LegendApplication,
|
|
22
|
+
ApplicationStoreProvider,
|
|
23
|
+
Core_LegendApplicationPlugin,
|
|
24
|
+
getApplicationRootElement,
|
|
25
|
+
} from '@finos/legend-application';
|
|
26
|
+
import {
|
|
27
|
+
LegendREPLApplicationConfig,
|
|
28
|
+
type LegendREPLApplicationConfigData,
|
|
29
|
+
} from './LegendREPLApplicationConfig.js';
|
|
30
|
+
import { LegendREPLPluginManager } from './LegendREPLPluginManager.js';
|
|
31
|
+
import { LegendREPLWebApplication } from '../components/LegendREPLApplication.js';
|
|
32
|
+
import { Core_LegendREPLApplicationPlugin } from '../components/Core_LegendREPLApplicationPlugin.js';
|
|
33
|
+
import type { LegendREPLApplicationStore } from '../stores/LegendREPLBaseStore.js';
|
|
34
|
+
|
|
35
|
+
export class LegendREPL extends LegendApplication {
|
|
36
|
+
declare config: LegendREPLApplicationConfig;
|
|
37
|
+
declare pluginManager: LegendREPLPluginManager;
|
|
38
|
+
|
|
39
|
+
static create(): LegendREPL {
|
|
40
|
+
const application = new LegendREPL(LegendREPLPluginManager.create());
|
|
41
|
+
application.withBasePlugins([
|
|
42
|
+
new Core_LegendApplicationPlugin(),
|
|
43
|
+
new Core_LegendREPLApplicationPlugin(),
|
|
44
|
+
]);
|
|
45
|
+
application.withBasePresets([]);
|
|
46
|
+
return application;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
async configureApplication(
|
|
50
|
+
input: LegendApplicationConfigurationInput<LegendREPLApplicationConfigData>,
|
|
51
|
+
): Promise<LegendApplicationConfig> {
|
|
52
|
+
return new LegendREPLApplicationConfig(input);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
async loadApplication(
|
|
56
|
+
applicationStore: LegendREPLApplicationStore,
|
|
57
|
+
): Promise<void> {
|
|
58
|
+
createRoot(getApplicationRootElement()).render(
|
|
59
|
+
<ApplicationStoreProvider store={applicationStore}>
|
|
60
|
+
<LegendREPLWebApplication baseUrl={this.baseAddress} />
|
|
61
|
+
</ApplicationStoreProvider>,
|
|
62
|
+
);
|
|
63
|
+
}
|
|
64
|
+
}
|
package/src/application/{LegendREPLGridClientApplicationConfig.ts → LegendREPLApplicationConfig.ts}
RENAMED
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
LegendApplicationConfig,
|
|
25
25
|
} from '@finos/legend-application';
|
|
26
26
|
|
|
27
|
-
export interface
|
|
27
|
+
export interface LegendREPLApplicationConfigData
|
|
28
28
|
extends LegendApplicationConfigurationData {
|
|
29
29
|
repl: {
|
|
30
30
|
url: string;
|
|
@@ -34,12 +34,12 @@ export interface LegendREPLGridClientApplicationConfigData
|
|
|
34
34
|
};
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
export class
|
|
37
|
+
export class LegendREPLApplicationConfig extends LegendApplicationConfig {
|
|
38
38
|
readonly replUrl: string;
|
|
39
39
|
readonly useDynamicREPLServer: boolean = false;
|
|
40
40
|
|
|
41
41
|
constructor(
|
|
42
|
-
input: LegendApplicationConfigurationInput<
|
|
42
|
+
input: LegendApplicationConfigurationInput<LegendREPLApplicationConfigData>,
|
|
43
43
|
) {
|
|
44
44
|
super(input);
|
|
45
45
|
|
|
@@ -21,10 +21,10 @@ import type {
|
|
|
21
21
|
PureProtocolProcessorPlugin,
|
|
22
22
|
} from '@finos/legend-graph';
|
|
23
23
|
import { LegendApplicationPluginManager } from '@finos/legend-application';
|
|
24
|
-
import type {
|
|
24
|
+
import type { LegendREPLApplicationPlugin } from '../stores/LegendREPLApplicationPlugin.js';
|
|
25
25
|
|
|
26
|
-
export class
|
|
27
|
-
extends LegendApplicationPluginManager<
|
|
26
|
+
export class LegendREPLPluginManager
|
|
27
|
+
extends LegendApplicationPluginManager<LegendREPLApplicationPlugin>
|
|
28
28
|
implements GraphManagerPluginManager
|
|
29
29
|
{
|
|
30
30
|
private pureProtocolProcessorPlugins: PureProtocolProcessorPlugin[] = [];
|
|
@@ -35,8 +35,8 @@ export class LegendREPLGridClientPluginManager
|
|
|
35
35
|
super();
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
static create():
|
|
39
|
-
return new
|
|
38
|
+
static create(): LegendREPLPluginManager {
|
|
39
|
+
return new LegendREPLPluginManager();
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
registerPureProtocolProcessorPlugin(
|