@finos/legend-query-builder 3.0.7 → 3.1.0
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/__lib__/QueryBuilderDocumentation.d.ts +0 -1
- package/lib/__lib__/QueryBuilderDocumentation.d.ts.map +1 -1
- package/lib/__lib__/QueryBuilderDocumentation.js +0 -1
- package/lib/__lib__/QueryBuilderDocumentation.js.map +1 -1
- package/lib/__lib__/QueryBuilderEvent.d.ts +18 -0
- package/lib/__lib__/QueryBuilderEvent.d.ts.map +1 -1
- package/lib/__lib__/QueryBuilderEvent.js +20 -0
- package/lib/__lib__/QueryBuilderEvent.js.map +1 -1
- package/lib/__lib__/QueryBuilderTelemetryHelper.d.ts +14 -0
- package/lib/__lib__/QueryBuilderTelemetryHelper.d.ts.map +1 -1
- package/lib/__lib__/QueryBuilderTelemetryHelper.js +43 -1
- package/lib/__lib__/QueryBuilderTelemetryHelper.js.map +1 -1
- package/lib/components/QueryBuilder.d.ts +0 -1
- package/lib/components/QueryBuilder.d.ts.map +1 -1
- package/lib/components/QueryBuilder.js +74 -36
- package/lib/components/QueryBuilder.js.map +1 -1
- package/lib/components/QueryBuilderConstantExpressionPanel.d.ts +0 -1
- package/lib/components/QueryBuilderConstantExpressionPanel.d.ts.map +1 -1
- package/lib/components/QueryBuilderDiffPanel.d.ts +0 -1
- package/lib/components/QueryBuilderDiffPanel.d.ts.map +1 -1
- package/lib/components/QueryBuilderParametersPanel.d.ts +0 -1
- package/lib/components/QueryBuilderParametersPanel.d.ts.map +1 -1
- package/lib/components/QueryBuilderPropertyExpressionEditor.d.ts +0 -1
- package/lib/components/QueryBuilderPropertyExpressionEditor.d.ts.map +1 -1
- package/lib/components/QueryBuilderResultPanel.d.ts +0 -1
- package/lib/components/QueryBuilderResultPanel.d.ts.map +1 -1
- package/lib/components/QueryBuilderSideBar.d.ts +0 -1
- package/lib/components/QueryBuilderSideBar.d.ts.map +1 -1
- package/lib/components/QueryBuilderTextEditor.d.ts +0 -1
- package/lib/components/QueryBuilderTextEditor.d.ts.map +1 -1
- package/lib/components/QueryBuilderUnsupportedQueryEditor.d.ts +0 -1
- package/lib/components/QueryBuilderUnsupportedQueryEditor.d.ts.map +1 -1
- package/lib/components/explorer/QueryBuilderFunctionsExplorerPanel.d.ts +0 -1
- package/lib/components/explorer/QueryBuilderFunctionsExplorerPanel.d.ts.map +1 -1
- package/lib/components/explorer/QueryBuilderMilestoningEditor.d.ts +0 -1
- package/lib/components/explorer/QueryBuilderMilestoningEditor.d.ts.map +1 -1
- package/lib/components/explorer/QueryBuilderPropertySearchPanel.d.ts +0 -1
- package/lib/components/explorer/QueryBuilderPropertySearchPanel.d.ts.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderFetchStructurePanel.d.ts +0 -1
- package/lib/components/fetch-structure/QueryBuilderFetchStructurePanel.d.ts.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderGraphFetchTreePanel.d.ts +0 -1
- package/lib/components/fetch-structure/QueryBuilderGraphFetchTreePanel.d.ts.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.d.ts +0 -1
- package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.d.ts.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.js +13 -3
- package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderPostTDSPanel.d.ts +0 -1
- package/lib/components/fetch-structure/QueryBuilderPostTDSPanel.d.ts.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.d.ts +0 -1
- package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.d.ts.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderTDSPanel.d.ts +17 -0
- package/lib/components/fetch-structure/QueryBuilderTDSPanel.d.ts.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderTDSPanel.js +152 -15
- package/lib/components/fetch-structure/QueryBuilderTDSPanel.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderTDSWindowPanel.d.ts +0 -1
- package/lib/components/fetch-structure/QueryBuilderTDSWindowPanel.d.ts.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderTDSWindowPanel.js +2 -2
- package/lib/components/fetch-structure/QueryBuilderTDSWindowPanel.js.map +1 -1
- package/lib/components/filter/QueryBuilderFilterPanel.d.ts +0 -1
- package/lib/components/filter/QueryBuilderFilterPanel.d.ts.map +1 -1
- package/lib/components/filter/QueryBuilderFilterPanel.js +14 -3
- package/lib/components/filter/QueryBuilderFilterPanel.js.map +1 -1
- package/lib/components/shared/LambdaEditor.d.ts +0 -1
- package/lib/components/shared/LambdaEditor.d.ts.map +1 -1
- package/lib/components/shared/LambdaParameterValuesEditor.d.ts +0 -1
- package/lib/components/shared/LambdaParameterValuesEditor.d.ts.map +1 -1
- package/lib/components/shared/LambdaParameterValuesEditor.js +2 -1
- package/lib/components/shared/LambdaParameterValuesEditor.js.map +1 -1
- package/lib/components/shared/QueryBuilderVariableSelector.d.ts +0 -1
- package/lib/components/shared/QueryBuilderVariableSelector.d.ts.map +1 -1
- package/lib/components/watermark/QueryBuilderWatermark.d.ts +0 -1
- package/lib/components/watermark/QueryBuilderWatermark.d.ts.map +1 -1
- package/lib/graph/QueryBuilderMetaModelConst.d.ts +33 -0
- package/lib/graph/QueryBuilderMetaModelConst.d.ts.map +1 -1
- package/lib/graph/QueryBuilderMetaModelConst.js +34 -0
- package/lib/graph/QueryBuilderMetaModelConst.js.map +1 -1
- package/lib/graph-manager/QueryBuilderConst.d.ts +20 -0
- package/lib/graph-manager/QueryBuilderConst.d.ts.map +1 -0
- package/lib/graph-manager/QueryBuilderConst.js +21 -0
- package/lib/graph-manager/QueryBuilderConst.js.map +1 -0
- package/lib/graph-manager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.js +3 -2
- package/lib/graph-manager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_QueryValueSpecificationBuilderHelper.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_QueryValueSpecificationBuilderHelper.js +27 -14
- package/lib/graph-manager/protocol/pure/v1/V1_QueryValueSpecificationBuilderHelper.js.map +1 -1
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/package.json +4 -4
- package/lib/stores/QueryBuilderState.d.ts +3 -2
- package/lib/stores/QueryBuilderState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderState.js +12 -6
- package/lib/stores/QueryBuilderState.js.map +1 -1
- package/lib/stores/QueryBuilderStateBuilder.d.ts +1 -1
- package/lib/stores/QueryBuilderStateBuilder.d.ts.map +1 -1
- package/lib/stores/QueryBuilderStateBuilder.js +11 -2
- package/lib/stores/QueryBuilderStateBuilder.js.map +1 -1
- package/lib/stores/QueryBuilderStateHashUtils.d.ts +32 -1
- package/lib/stores/QueryBuilderStateHashUtils.d.ts.map +1 -1
- package/lib/stores/QueryBuilderStateHashUtils.js +32 -0
- package/lib/stores/QueryBuilderStateHashUtils.js.map +1 -1
- package/lib/stores/QueryBuilderTextEditorState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderTextEditorState.js +12 -6
- package/lib/stores/QueryBuilderTextEditorState.js.map +1 -1
- package/lib/stores/explorer/QueryBuilderExplorerState.d.ts +1 -1
- package/lib/stores/explorer/QueryBuilderExplorerState.d.ts.map +1 -1
- package/lib/stores/explorer/QueryBuilderExplorerState.js +2 -2
- package/lib/stores/explorer/QueryBuilderExplorerState.js.map +1 -1
- package/lib/stores/fetch-structure/QueryBuilderFetchStructureState.d.ts.map +1 -1
- package/lib/stores/fetch-structure/QueryBuilderFetchStructureState.js +1 -0
- package/lib/stores/fetch-structure/QueryBuilderFetchStructureState.js.map +1 -1
- package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.d.ts +2 -0
- package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.js +14 -4
- package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderAggregateCalendarFunction.d.ts +38 -0
- package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderAggregateCalendarFunction.d.ts.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderAggregateCalendarFunction.js +54 -0
- package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderAggregateCalendarFunction.js.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderAggregateCalendarFunctionLoader.d.ts +18 -0
- package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderAggregateCalendarFunctionLoader.d.ts.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderAggregateCalendarFunctionLoader.js +80 -0
- package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderAggregateCalendarFunctionLoader.js.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderAggregationState.d.ts +8 -1
- package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderAggregationState.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderAggregationState.js +24 -1
- package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderAggregationState.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderAggregationStateBuilder.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderAggregationStateBuilder.js +23 -0
- package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderAggregationStateBuilder.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunctionValueSpecificationBuilder.d.ts +22 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunctionValueSpecificationBuilder.d.ts.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunctionValueSpecificationBuilder.js +61 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunctionValueSpecificationBuilder.js.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Annualized.d.ts +28 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Annualized.d.ts.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Annualized.js +55 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Annualized.js.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cme.d.ts +28 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cme.d.ts.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cme.js +55 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cme.js.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cw.d.ts +28 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cw.d.ts.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cw.js +55 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cw.js.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cw_Fm.d.ts +28 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cw_Fm.d.ts.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cw_Fm.js +55 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cw_Fm.js.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cy_Minus2.d.ts +28 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cy_Minus2.d.ts.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cy_Minus2.js +55 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cy_Minus2.js.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cy_Minus3.d.ts +28 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cy_Minus3.d.ts.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cy_Minus3.js +55 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cy_Minus3.js.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Mtd.d.ts +28 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Mtd.d.ts.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Mtd.js +55 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Mtd.js.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P12Wa.d.ts +28 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P12Wa.d.ts.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P12Wa.js +55 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P12Wa.js.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P12Wtd.d.ts +28 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P12Wtd.d.ts.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P12Wtd.js +55 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P12Wtd.js.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P4Wa.d.ts +28 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P4Wa.d.ts.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P4Wa.js +55 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P4Wa.js.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P4Wtd.d.ts +28 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P4Wtd.d.ts.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P4Wtd.js +55 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P4Wtd.js.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P52Wa.d.ts +28 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P52Wa.d.ts.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P52Wa.js +55 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P52Wa.js.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P52Wtd.d.ts +28 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P52Wtd.d.ts.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P52Wtd.js +55 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P52Wtd.js.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pma.d.ts +28 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pma.d.ts.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pma.js +55 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pma.js.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pmtd.d.ts +28 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pmtd.d.ts.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pmtd.js +55 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pmtd.js.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pqtd.d.ts +28 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pqtd.d.ts.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pqtd.js +55 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pqtd.js.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_PriorDay.d.ts +28 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_PriorDay.d.ts.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_PriorDay.js +55 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_PriorDay.js.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_PriorYear.d.ts +28 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_PriorYear.d.ts.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_PriorYear.js +55 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_PriorYear.js.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pw.d.ts +28 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pw.d.ts.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pw.js +55 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pw.js.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pw_Fm.d.ts +28 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pw_Fm.d.ts.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pw_Fm.js +55 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pw_Fm.js.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pwa.d.ts +28 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pwa.d.ts.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pwa.js +55 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pwa.js.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pwtd.d.ts +28 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pwtd.d.ts.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pwtd.js +55 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pwtd.js.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pymtd.d.ts +28 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pymtd.d.ts.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pymtd.js +55 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pymtd.js.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pyqtd.d.ts +28 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pyqtd.d.ts.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pyqtd.js +55 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pyqtd.js.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pytd.d.ts +28 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pytd.d.ts.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pytd.js +55 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pytd.js.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pywa.d.ts +28 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pywa.d.ts.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pywa.js +55 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pywa.js.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pywtd.d.ts +28 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pywtd.d.ts.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pywtd.js +55 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pywtd.js.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Qtd.d.ts +28 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Qtd.d.ts.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Qtd.js +55 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Qtd.js.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_ReportEndDay.d.ts +28 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_ReportEndDay.d.ts.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_ReportEndDay.js +55 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_ReportEndDay.js.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Wtd.d.ts +28 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Wtd.d.ts.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Wtd.js +55 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Wtd.js.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Ytd.d.ts +28 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Ytd.d.ts.map +1 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Ytd.js +55 -0
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Ytd.js.map +1 -0
- package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionValueSpecificationBuilder.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionValueSpecificationBuilder.js +9 -1
- package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionValueSpecificationBuilder.js.map +1 -1
- package/package.json +10 -10
- package/src/__lib__/QueryBuilderDocumentation.ts +0 -2
- package/src/__lib__/QueryBuilderEvent.ts +20 -0
- package/src/__lib__/QueryBuilderTelemetryHelper.ts +131 -1
- package/src/components/QueryBuilder.tsx +226 -188
- package/src/components/fetch-structure/QueryBuilderPostFilterPanel.tsx +96 -60
- package/src/components/fetch-structure/QueryBuilderTDSPanel.tsx +456 -94
- package/src/components/fetch-structure/QueryBuilderTDSWindowPanel.tsx +2 -4
- package/src/components/filter/QueryBuilderFilterPanel.tsx +102 -60
- package/src/components/shared/LambdaParameterValuesEditor.tsx +2 -1
- package/src/graph/QueryBuilderMetaModelConst.ts +34 -0
- package/src/graph-manager/QueryBuilderConst.ts +20 -0
- package/src/graph-manager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.ts +10 -1
- package/src/graph-manager/protocol/pure/v1/V1_QueryValueSpecificationBuilderHelper.ts +73 -28
- package/src/stores/QueryBuilderState.ts +12 -9
- package/src/stores/QueryBuilderStateBuilder.ts +33 -2
- package/src/stores/QueryBuilderStateHashUtils.ts +33 -0
- package/src/stores/QueryBuilderTextEditorState.ts +21 -14
- package/src/stores/explorer/QueryBuilderExplorerState.ts +2 -1
- package/src/stores/fetch-structure/QueryBuilderFetchStructureState.ts +1 -0
- package/src/stores/fetch-structure/tds/QueryBuilderTDSState.ts +22 -3
- package/src/stores/fetch-structure/tds/aggregation/QueryBuilderAggregateCalendarFunction.ts +98 -0
- package/src/stores/fetch-structure/tds/aggregation/QueryBuilderAggregateCalendarFunctionLoader.ts +83 -0
- package/src/stores/fetch-structure/tds/aggregation/QueryBuilderAggregationState.ts +31 -0
- package/src/stores/fetch-structure/tds/aggregation/QueryBuilderAggregationStateBuilder.ts +41 -0
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunctionValueSpecificationBuilder.ts +175 -0
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Annualized.ts +98 -0
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cme.ts +98 -0
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cw.ts +98 -0
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cw_Fm.ts +99 -0
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cy_Minus2.ts +98 -0
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cy_Minus3.ts +98 -0
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Mtd.ts +98 -0
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P12Wa.ts +98 -0
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P12Wtd.ts +98 -0
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P4Wa.ts +98 -0
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P4Wtd.ts +98 -0
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P52Wa.ts +98 -0
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P52Wtd.ts +98 -0
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pma.ts +98 -0
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pmtd.ts +98 -0
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pqtd.ts +98 -0
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_PriorDay.ts +98 -0
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_PriorYear.ts +98 -0
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pw.ts +98 -0
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pw_Fm.ts +98 -0
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pwa.ts +98 -0
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pwtd.ts +98 -0
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pymtd.ts +98 -0
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pyqtd.ts +98 -0
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pytd.ts +98 -0
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pywa.ts +98 -0
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pywtd.ts +98 -0
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Qtd.ts +98 -0
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_ReportEndDay.ts +98 -0
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Wtd.ts +98 -0
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Ytd.ts +98 -0
- package/src/stores/fetch-structure/tds/projection/QueryBuilderProjectionValueSpecificationBuilder.ts +18 -1
- package/tsconfig.json +35 -0
|
@@ -43,6 +43,9 @@ import {
|
|
|
43
43
|
PanelEntryDropZonePlaceholder,
|
|
44
44
|
useDragPreviewLayer,
|
|
45
45
|
PanelContent,
|
|
46
|
+
MoreVerticalIcon,
|
|
47
|
+
MenuContentItemIcon,
|
|
48
|
+
MenuContentItemLabel,
|
|
46
49
|
} from '@finos/legend-art';
|
|
47
50
|
import {
|
|
48
51
|
type QueryBuilderFilterConditionDragSource,
|
|
@@ -84,6 +87,7 @@ import {
|
|
|
84
87
|
type QueryBuilderVariableDragSource,
|
|
85
88
|
QUERY_BUILDER_VARIABLE_DND_TYPE,
|
|
86
89
|
} from '../shared/BasicValueSpecificationEditor.js';
|
|
90
|
+
import { QueryBuilderTelemetryHelper } from '../../__lib__/QueryBuilderTelemetryHelper.js';
|
|
87
91
|
|
|
88
92
|
const QueryBuilderFilterGroupConditionEditor = observer(
|
|
89
93
|
(props: {
|
|
@@ -335,6 +339,10 @@ const QueryBuilderFilterConditionContextMenu = observer(
|
|
|
335
339
|
filterState.addGroupConditionNodeFromNode(node);
|
|
336
340
|
};
|
|
337
341
|
const newGroupWithCondition = (): void => {
|
|
342
|
+
QueryBuilderTelemetryHelper.logEvent_FilterCreateGroupFromConditionLaunched(
|
|
343
|
+
queryBuilderState.applicationStore.telemetryService,
|
|
344
|
+
);
|
|
345
|
+
|
|
338
346
|
filterState.suppressClickawayEventListener();
|
|
339
347
|
filterState.newGroupWithConditionFromNode(undefined, node);
|
|
340
348
|
};
|
|
@@ -677,26 +685,42 @@ const QueryBuilderFilterTree = observer(
|
|
|
677
685
|
export const QueryBuilderFilterPanel = observer(
|
|
678
686
|
(props: { queryBuilderState: QueryBuilderState }) => {
|
|
679
687
|
const { queryBuilderState } = props;
|
|
688
|
+
|
|
680
689
|
const applicationStore = useApplicationStore();
|
|
681
690
|
const filterState = queryBuilderState.filterState;
|
|
682
691
|
const rootNode = filterState.getRootNode();
|
|
683
692
|
const collapseTree = (): void => {
|
|
693
|
+
QueryBuilderTelemetryHelper.logEvent_FilterCollapseTreeLaunched(
|
|
694
|
+
queryBuilderState.applicationStore.telemetryService,
|
|
695
|
+
);
|
|
684
696
|
filterState.setSelectedNode(undefined);
|
|
685
697
|
filterState.collapseTree();
|
|
686
698
|
};
|
|
687
699
|
const expandTree = (): void => {
|
|
700
|
+
QueryBuilderTelemetryHelper.logEvent_FilterExpandTreeLaunched(
|
|
701
|
+
queryBuilderState.applicationStore.telemetryService,
|
|
702
|
+
);
|
|
688
703
|
filterState.setSelectedNode(undefined);
|
|
689
704
|
filterState.expandTree();
|
|
690
705
|
};
|
|
691
706
|
const pruneTree = (): void => {
|
|
707
|
+
QueryBuilderTelemetryHelper.logEvent_FilterCleanupTreeLaunched(
|
|
708
|
+
queryBuilderState.applicationStore.telemetryService,
|
|
709
|
+
);
|
|
692
710
|
filterState.suppressClickawayEventListener();
|
|
693
711
|
filterState.pruneTree();
|
|
694
712
|
};
|
|
695
713
|
const simplifyTree = (): void => {
|
|
714
|
+
QueryBuilderTelemetryHelper.logEvent_FilterSimplifyTreeLaunched(
|
|
715
|
+
queryBuilderState.applicationStore.telemetryService,
|
|
716
|
+
);
|
|
696
717
|
filterState.suppressClickawayEventListener();
|
|
697
718
|
filterState.simplifyTree();
|
|
698
719
|
};
|
|
699
720
|
const createCondition = (): void => {
|
|
721
|
+
QueryBuilderTelemetryHelper.logEvent_FilterCreateConditionLaunched(
|
|
722
|
+
queryBuilderState.applicationStore.telemetryService,
|
|
723
|
+
);
|
|
700
724
|
filterState.suppressClickawayEventListener();
|
|
701
725
|
filterState.addNodeFromNode(
|
|
702
726
|
new QueryBuilderFilterTreeBlankConditionNodeData(undefined),
|
|
@@ -709,12 +733,18 @@ export const QueryBuilderFilterPanel = observer(
|
|
|
709
733
|
(filterState.selectedNode !== rootNode || // either not a root node
|
|
710
734
|
rootNode instanceof QueryBuilderFilterTreeGroupNodeData)); // or if it is the root note, it has to be a group node
|
|
711
735
|
const createGroupCondition = (): void => {
|
|
736
|
+
QueryBuilderTelemetryHelper.logEvent_FilterCreateLogicalGroupLaunched(
|
|
737
|
+
queryBuilderState.applicationStore.telemetryService,
|
|
738
|
+
);
|
|
712
739
|
filterState.suppressClickawayEventListener();
|
|
713
740
|
if (allowGroupCreation) {
|
|
714
741
|
filterState.addGroupConditionNodeFromNode(filterState.selectedNode);
|
|
715
742
|
}
|
|
716
743
|
};
|
|
717
744
|
const newGroupWithCondition = (): void => {
|
|
745
|
+
QueryBuilderTelemetryHelper.logEvent_FilterCreateLogicalGroupLaunched(
|
|
746
|
+
applicationStore.telemetryService,
|
|
747
|
+
);
|
|
718
748
|
filterState.suppressClickawayEventListener();
|
|
719
749
|
if (
|
|
720
750
|
filterState.selectedNode instanceof
|
|
@@ -812,70 +842,82 @@ export const QueryBuilderFilterPanel = observer(
|
|
|
812
842
|
<div className="panel__header__title">
|
|
813
843
|
<div className="panel__header__title__label">filter</div>
|
|
814
844
|
</div>
|
|
845
|
+
|
|
815
846
|
<div className="panel__header__actions">
|
|
816
|
-
<
|
|
817
|
-
className="panel__header__action"
|
|
818
|
-
onClick={createCondition}
|
|
819
|
-
tabIndex={-1}
|
|
820
|
-
title="Create Condition"
|
|
821
|
-
>
|
|
822
|
-
<PlusIcon />
|
|
823
|
-
</button>
|
|
824
|
-
<button
|
|
847
|
+
<DropdownMenu
|
|
825
848
|
className="panel__header__action"
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
849
|
+
title="Show Filter Options Menu..."
|
|
850
|
+
content={
|
|
851
|
+
<MenuContent>
|
|
852
|
+
<MenuContentItem onClick={createCondition}>
|
|
853
|
+
<MenuContentItemIcon>
|
|
854
|
+
<PlusIcon />
|
|
855
|
+
</MenuContentItemIcon>
|
|
856
|
+
<MenuContentItemLabel>
|
|
857
|
+
Create Condition
|
|
858
|
+
</MenuContentItemLabel>
|
|
859
|
+
</MenuContentItem>
|
|
860
|
+
<MenuContentItem
|
|
861
|
+
disabled={
|
|
862
|
+
!(
|
|
863
|
+
filterState.selectedNode instanceof
|
|
864
|
+
QueryBuilderFilterTreeConditionNodeData
|
|
865
|
+
)
|
|
866
|
+
}
|
|
867
|
+
onClick={newGroupWithCondition}
|
|
868
|
+
>
|
|
869
|
+
<MenuContentItemIcon>
|
|
870
|
+
<PlusCircleIcon />
|
|
871
|
+
</MenuContentItemIcon>
|
|
872
|
+
<MenuContentItemLabel>
|
|
873
|
+
Create Group From Condition
|
|
874
|
+
</MenuContentItemLabel>
|
|
875
|
+
</MenuContentItem>
|
|
876
|
+
<MenuContentItem
|
|
877
|
+
disabled={!allowGroupCreation}
|
|
878
|
+
title={
|
|
879
|
+
!allowGroupCreation
|
|
880
|
+
? 'Please select a filter node first to create logical group'
|
|
881
|
+
: ''
|
|
882
|
+
}
|
|
883
|
+
onClick={createGroupCondition}
|
|
884
|
+
>
|
|
885
|
+
<MenuContentItemIcon>
|
|
886
|
+
<NewFolderIcon />
|
|
887
|
+
</MenuContentItemIcon>
|
|
888
|
+
<MenuContentItemLabel>
|
|
889
|
+
Create Logical Group
|
|
890
|
+
</MenuContentItemLabel>
|
|
891
|
+
</MenuContentItem>
|
|
892
|
+
<MenuContentItem onClick={pruneTree}>
|
|
893
|
+
<MenuContentItemIcon>
|
|
894
|
+
<TrashIcon />
|
|
895
|
+
</MenuContentItemIcon>
|
|
896
|
+
<MenuContentItemLabel>Cleanup Tree</MenuContentItemLabel>
|
|
897
|
+
</MenuContentItem>
|
|
898
|
+
<MenuContentItem onClick={simplifyTree}>
|
|
899
|
+
<MenuContentItemIcon>
|
|
900
|
+
<CircleIcon />
|
|
901
|
+
</MenuContentItemIcon>
|
|
902
|
+
<MenuContentItemLabel>Simplify Tree</MenuContentItemLabel>
|
|
903
|
+
</MenuContentItem>
|
|
904
|
+
<MenuContentItem onClick={collapseTree}>
|
|
905
|
+
<MenuContentItemIcon>
|
|
906
|
+
<CompressIcon />
|
|
907
|
+
</MenuContentItemIcon>
|
|
908
|
+
<MenuContentItemLabel>Collapse Tree</MenuContentItemLabel>
|
|
909
|
+
</MenuContentItem>
|
|
910
|
+
<MenuContentItem onClick={expandTree}>
|
|
911
|
+
<MenuContentItemIcon>
|
|
912
|
+
<ExpandIcon />
|
|
913
|
+
</MenuContentItemIcon>
|
|
914
|
+
<MenuContentItemLabel>Expand Tree</MenuContentItemLabel>
|
|
915
|
+
</MenuContentItem>
|
|
916
|
+
</MenuContent>
|
|
831
917
|
}
|
|
832
|
-
onClick={newGroupWithCondition}
|
|
833
|
-
tabIndex={-1}
|
|
834
|
-
title="Create Group From Condition"
|
|
835
918
|
>
|
|
836
|
-
<
|
|
837
|
-
</
|
|
838
|
-
<button
|
|
839
|
-
className="panel__header__action"
|
|
840
|
-
disabled={!allowGroupCreation}
|
|
841
|
-
onClick={createGroupCondition}
|
|
842
|
-
tabIndex={-1}
|
|
843
|
-
title="Create Logical Group"
|
|
844
|
-
>
|
|
845
|
-
<NewFolderIcon />
|
|
846
|
-
</button>
|
|
847
|
-
<button
|
|
848
|
-
className="panel__header__action"
|
|
849
|
-
onClick={pruneTree}
|
|
850
|
-
tabIndex={-1}
|
|
851
|
-
title="Cleanup Tree"
|
|
852
|
-
>
|
|
853
|
-
<TrashIcon />
|
|
854
|
-
</button>
|
|
855
|
-
<button
|
|
856
|
-
className="panel__header__action"
|
|
857
|
-
onClick={simplifyTree}
|
|
858
|
-
tabIndex={-1}
|
|
859
|
-
title="Simplify Tree"
|
|
860
|
-
>
|
|
861
|
-
<CircleIcon />
|
|
862
|
-
</button>
|
|
863
|
-
<button
|
|
864
|
-
className="panel__header__action"
|
|
865
|
-
onClick={collapseTree}
|
|
866
|
-
tabIndex={-1}
|
|
867
|
-
title="Collapse Tree"
|
|
868
|
-
>
|
|
869
|
-
<CompressIcon />
|
|
870
|
-
</button>
|
|
871
|
-
<button
|
|
872
|
-
className="panel__header__action"
|
|
873
|
-
onClick={expandTree}
|
|
874
|
-
tabIndex={-1}
|
|
875
|
-
title="Expand Tree"
|
|
876
|
-
>
|
|
877
|
-
<ExpandIcon />
|
|
878
|
-
</button>
|
|
919
|
+
<MoreVerticalIcon className="query-builder__icon__more-options" />
|
|
920
|
+
</DropdownMenu>
|
|
879
921
|
</div>
|
|
880
922
|
</div>
|
|
881
923
|
<PanelContent>
|
|
@@ -30,6 +30,7 @@ import {
|
|
|
30
30
|
type ObserverContext,
|
|
31
31
|
PrimitiveType,
|
|
32
32
|
} from '@finos/legend-graph';
|
|
33
|
+
import { prettyCONSTName } from '@finos/legend-shared';
|
|
33
34
|
import { observer } from 'mobx-react-lite';
|
|
34
35
|
import { useState } from 'react';
|
|
35
36
|
import type { LambdaParametersState } from '../../stores/shared/LambdaParameterState.js';
|
|
@@ -123,7 +124,7 @@ export const LambdaParameterValuesEditor = observer(
|
|
|
123
124
|
isSubmitAction ? `${submitAction.label}...` : undefined
|
|
124
125
|
}
|
|
125
126
|
onClick={submit}
|
|
126
|
-
text={submitAction.label}
|
|
127
|
+
text={prettyCONSTName(submitAction.label)}
|
|
127
128
|
/>
|
|
128
129
|
)}
|
|
129
130
|
<ModalFooterButton
|
|
@@ -28,6 +28,40 @@ export enum QUERY_BUILDER_PURE_PATH {
|
|
|
28
28
|
SERIALIZE_CONFIG = 'meta::pure::graphFetch::execution::AlloySerializationConfig',
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
+
export enum QUERY_BUILDER_SUPPORTED_CALENDAR_AGGREGATION_FUNCTIONS {
|
|
32
|
+
CALENDAR_ANNUALIZED = 'meta::pure::functions::date::calendar::annualized',
|
|
33
|
+
CALENDAR_CME = ' meta::pure::functions::date::calendar::cme',
|
|
34
|
+
CALENDAR_CW = 'meta::pure::functions::date::calendar::cw',
|
|
35
|
+
CALENDAR_CW_FM = 'meta::pure::functions::date::calendar::cw_fm',
|
|
36
|
+
CALENDAR_CY_MINUS2 = 'meta::pure::functions::date::calendar::CYMinus2',
|
|
37
|
+
CALENDAR_CY_MINUS3 = 'meta::pure::functions::date::calendar::CYMinus3',
|
|
38
|
+
CALENDAR_MTD = 'meta::pure::functions::date::calendar::mtd',
|
|
39
|
+
CALENDAR_P12WA = 'meta::pure::functions::date::calendar::p12wa',
|
|
40
|
+
CALENDAR_P12WTD = 'meta::pure::functions::date::calendar::p12wtd',
|
|
41
|
+
CALENDAR_P4WA = 'meta::pure::functions::date::calendar::p4wa',
|
|
42
|
+
CALENDAR_P4WTD = 'meta::pure::functions::date::calendar::p4wtd',
|
|
43
|
+
CALENDAR_P52WTD = 'meta::pure::functions::date::calendar::p52wtd',
|
|
44
|
+
CALENDAR_P52WA = 'meta::pure::functions::date::calendar::p52wa',
|
|
45
|
+
CALENDAR_PMA = 'meta::pure::functions::date::calendar::pma',
|
|
46
|
+
CALENDAR_PMTD = 'meta::pure::functions::date::calendar::pmtd',
|
|
47
|
+
CALENDAR_PQTD = 'meta::pure::functions::date::calendar::pqtd',
|
|
48
|
+
CALENDAR_PRIOR_DAY = 'meta::pure::functions::date::calendar::priorDay',
|
|
49
|
+
CALENDAR_PRIOR_YEAR = 'meta::pure::functions::date::calendar::priorYear',
|
|
50
|
+
CALENDAR_PW = 'meta::pure::functions::date::calendar::pw',
|
|
51
|
+
CALENDAR_PW_FM = 'meta::pure::functions::date::calendar::pw_fm',
|
|
52
|
+
CALENDAR_PWA = 'meta::pure::functions::date::calendar::pwa',
|
|
53
|
+
CALENDAR_PWTD = 'meta::pure::functions::date::calendar::pwtd',
|
|
54
|
+
CALENDAR_PYMTD = 'meta::pure::functions::date::calendar::pymtd',
|
|
55
|
+
CALENDAR_PYQTD = 'meta::pure::functions::date::calendar::pyqtd',
|
|
56
|
+
CALENDAR_PYTD = 'meta::pure::functions::date::calendar::pytd',
|
|
57
|
+
CALENDAR_PYWA = 'meta::pure::functions::date::calendar::pywa',
|
|
58
|
+
CALENDAR_PYWTD = 'meta::pure::functions::date::calendar::pywtd',
|
|
59
|
+
CALENDAR_QTD = 'meta::pure::functions::date::calendar::qtd',
|
|
60
|
+
CALENDAR_REPORT_END_DAY = 'meta::pure::functions::date::calendar::reportEndDay',
|
|
61
|
+
CALENDAR_WTD = 'meta::pure::functions::date::calendar::wtd',
|
|
62
|
+
CALENDAR_YTD = 'meta::pure::functions::date::calendar::ytd',
|
|
63
|
+
}
|
|
64
|
+
|
|
31
65
|
export enum QUERY_BUILDER_SUPPORTED_FUNCTIONS {
|
|
32
66
|
AND = 'meta::pure::functions::boolean::and',
|
|
33
67
|
EXISTS = 'meta::pure::functions::collection::exists',
|
|
@@ -0,0 +1,20 @@
|
|
|
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
|
+
export enum QUERY_BUILDER_CALENDAR_TYPE {
|
|
18
|
+
NY = 'NY',
|
|
19
|
+
LDN = 'LDN',
|
|
20
|
+
}
|
|
@@ -42,7 +42,10 @@ import {
|
|
|
42
42
|
GenericTypeExplicitReference,
|
|
43
43
|
PrimitiveType,
|
|
44
44
|
} from '@finos/legend-graph';
|
|
45
|
-
import {
|
|
45
|
+
import {
|
|
46
|
+
QUERY_BUILDER_SUPPORTED_CALENDAR_AGGREGATION_FUNCTIONS,
|
|
47
|
+
QUERY_BUILDER_SUPPORTED_FUNCTIONS,
|
|
48
|
+
} from '../../../graph/QueryBuilderMetaModelConst.js';
|
|
46
49
|
|
|
47
50
|
export class QueryBuilder_PureProtocolProcessorPlugin extends PureProtocolProcessorPlugin {
|
|
48
51
|
constructor() {
|
|
@@ -207,6 +210,12 @@ export class QueryBuilder_PureProtocolProcessorPlugin extends PureProtocolProces
|
|
|
207
210
|
matchFunctionName(
|
|
208
211
|
functionName,
|
|
209
212
|
Object.values(QUERY_BUILDER_SUPPORTED_FUNCTIONS),
|
|
213
|
+
) ||
|
|
214
|
+
matchFunctionName(
|
|
215
|
+
functionName,
|
|
216
|
+
Object.values(
|
|
217
|
+
QUERY_BUILDER_SUPPORTED_CALENDAR_AGGREGATION_FUNCTIONS,
|
|
218
|
+
),
|
|
210
219
|
)
|
|
211
220
|
) {
|
|
212
221
|
// NOTE: this is a catch-all builder that is only meant for basic function expression
|
|
@@ -50,11 +50,15 @@ import {
|
|
|
50
50
|
VariableExpression,
|
|
51
51
|
Multiplicity,
|
|
52
52
|
PrimitiveType,
|
|
53
|
+
V1_CStrictDate,
|
|
54
|
+
V1_CString,
|
|
53
55
|
} from '@finos/legend-graph';
|
|
54
56
|
import {
|
|
55
57
|
QUERY_BUILDER_PURE_PATH,
|
|
56
58
|
QUERY_BUILDER_SUPPORTED_FUNCTIONS,
|
|
59
|
+
QUERY_BUILDER_SUPPORTED_CALENDAR_AGGREGATION_FUNCTIONS,
|
|
57
60
|
} from '../../../../graph/QueryBuilderMetaModelConst.js';
|
|
61
|
+
import { QUERY_BUILDER_CALENDAR_TYPE } from '../../../QueryBuilderConst.js';
|
|
58
62
|
|
|
59
63
|
const buildProjectionColumnLambda = (
|
|
60
64
|
valueSpecification: V1_ValueSpecification,
|
|
@@ -86,41 +90,82 @@ const buildProjectionColumnLambda = (
|
|
|
86
90
|
);
|
|
87
91
|
let currentPropertyExpression: V1_ValueSpecification = valueSpecification
|
|
88
92
|
.body[0] as V1_ValueSpecification;
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
93
|
+
|
|
94
|
+
// calendar
|
|
95
|
+
if (
|
|
96
|
+
currentPropertyExpression instanceof V1_AppliedFunction &&
|
|
97
|
+
matchFunctionName(
|
|
98
|
+
currentPropertyExpression.function,
|
|
99
|
+
Object.values(QUERY_BUILDER_SUPPORTED_CALENDAR_AGGREGATION_FUNCTIONS),
|
|
100
|
+
)
|
|
101
|
+
) {
|
|
102
|
+
assertTrue(
|
|
103
|
+
currentPropertyExpression.parameters.length === 4,
|
|
104
|
+
`Can't build projection column: only support calendar function with four parameters`,
|
|
105
|
+
);
|
|
106
|
+
assertType(
|
|
107
|
+
currentPropertyExpression.parameters[0],
|
|
108
|
+
V1_AppliedProperty,
|
|
109
|
+
`Can't build projection column: only support first parameter of calendar function as property expression`,
|
|
110
|
+
);
|
|
111
|
+
const calendarType = guaranteeType(
|
|
112
|
+
currentPropertyExpression.parameters[1],
|
|
113
|
+
V1_CString,
|
|
114
|
+
`Can't build projection column: only support second parameter of calendar function as String`,
|
|
115
|
+
);
|
|
95
116
|
assertTrue(
|
|
96
|
-
|
|
117
|
+
Object.values(QUERY_BUILDER_CALENDAR_TYPE).find(
|
|
118
|
+
(val) => val === calendarType.value,
|
|
119
|
+
) !== undefined,
|
|
120
|
+
`Can't build projection column: ${calendarType.value} is not a supported calendar type`,
|
|
121
|
+
);
|
|
122
|
+
guaranteeType(
|
|
123
|
+
currentPropertyExpression.parameters[2],
|
|
124
|
+
V1_CStrictDate,
|
|
125
|
+
`Can't build projection column: only support third parameter of calendar function as StrictDate`,
|
|
126
|
+
);
|
|
127
|
+
assertType(
|
|
128
|
+
currentPropertyExpression.parameters[3],
|
|
129
|
+
V1_AppliedProperty,
|
|
130
|
+
`Can't build projection column: only support fourth parameter of calendar function as property expression`,
|
|
131
|
+
);
|
|
132
|
+
} else {
|
|
133
|
+
assertType(
|
|
134
|
+
currentPropertyExpression,
|
|
135
|
+
V1_AppliedProperty,
|
|
97
136
|
`Can't build projection column: only support lambda body as property expression`,
|
|
98
137
|
);
|
|
99
|
-
currentPropertyExpression
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
currentPropertyExpression instanceof V1_AppliedFunction &&
|
|
105
|
-
matchFunctionName(
|
|
106
|
-
currentPropertyExpression.function,
|
|
107
|
-
QUERY_BUILDER_SUPPORTED_FUNCTIONS.SUBTYPE,
|
|
108
|
-
)
|
|
109
|
-
) {
|
|
138
|
+
while (currentPropertyExpression instanceof V1_AppliedProperty) {
|
|
139
|
+
assertTrue(
|
|
140
|
+
currentPropertyExpression.parameters.length >= 1,
|
|
141
|
+
`Can't build projection column: only support lambda body as property expression`,
|
|
142
|
+
);
|
|
110
143
|
currentPropertyExpression = currentPropertyExpression
|
|
111
144
|
.parameters[0] as V1_ValueSpecification;
|
|
145
|
+
// Take care of chains of subtype (a pattern that is not useful, but we want to support and rectify)
|
|
146
|
+
// $x.employees->subType(@Person)->subType(@Staff)
|
|
147
|
+
while (
|
|
148
|
+
currentPropertyExpression instanceof V1_AppliedFunction &&
|
|
149
|
+
matchFunctionName(
|
|
150
|
+
currentPropertyExpression.function,
|
|
151
|
+
QUERY_BUILDER_SUPPORTED_FUNCTIONS.SUBTYPE,
|
|
152
|
+
)
|
|
153
|
+
) {
|
|
154
|
+
currentPropertyExpression = currentPropertyExpression
|
|
155
|
+
.parameters[0] as V1_ValueSpecification;
|
|
156
|
+
}
|
|
112
157
|
}
|
|
158
|
+
// check lambda variable and parameter match
|
|
159
|
+
assertType(
|
|
160
|
+
currentPropertyExpression,
|
|
161
|
+
V1_Variable,
|
|
162
|
+
`Can't build projection column: only support lambda body as property expression`,
|
|
163
|
+
);
|
|
164
|
+
assertTrue(
|
|
165
|
+
columnLambdaParameter.name === currentPropertyExpression.name,
|
|
166
|
+
`Can't build column lambda: expects variable used in lambda body '${currentPropertyExpression.name}' to match lambda parameter '${columnLambdaParameter.name}'`,
|
|
167
|
+
);
|
|
113
168
|
}
|
|
114
|
-
// check lambda variable and parameter match
|
|
115
|
-
assertType(
|
|
116
|
-
currentPropertyExpression,
|
|
117
|
-
V1_Variable,
|
|
118
|
-
`Can't build projection column: only support lambda body as property expression`,
|
|
119
|
-
);
|
|
120
|
-
assertTrue(
|
|
121
|
-
columnLambdaParameter.name === currentPropertyExpression.name,
|
|
122
|
-
`Can't build column lambda: expects variable used in lambda body '${currentPropertyExpression.name}' to match lambda parameter '${columnLambdaParameter.name}'`,
|
|
123
|
-
);
|
|
124
169
|
return valueSpecification.accept_ValueSpecificationVisitor(
|
|
125
170
|
new V1_ValueSpecificationBuilder(
|
|
126
171
|
compileContext,
|
|
@@ -87,6 +87,7 @@ export abstract class QueryBuilderState implements CommandRegistrar {
|
|
|
87
87
|
readonly changeDetectionState: QueryBuilderChangeDetectionState;
|
|
88
88
|
readonly queryCompileState = ActionState.create();
|
|
89
89
|
readonly observerContext: ObserverContext;
|
|
90
|
+
readonly saveQueryProgressState = ActionState.create();
|
|
90
91
|
|
|
91
92
|
explorerState: QueryBuilderExplorerState;
|
|
92
93
|
functionsExplorerState: QueryFunctionsExplorerState;
|
|
@@ -102,12 +103,11 @@ export abstract class QueryBuilderState implements CommandRegistrar {
|
|
|
102
103
|
resultState: QueryBuilderResultState;
|
|
103
104
|
textEditorState: QueryBuilderTextEditorState;
|
|
104
105
|
unsupportedQueryState: QueryBuilderUnsupportedQueryState;
|
|
105
|
-
|
|
106
|
-
titleOfQuery: string | undefined;
|
|
107
106
|
showFunctionsExplorerPanel = false;
|
|
108
107
|
showParametersPanel = false;
|
|
109
108
|
isEditingWatermark = false;
|
|
110
109
|
isCheckingEntitlments = false;
|
|
110
|
+
isCalendarEnabled = false;
|
|
111
111
|
|
|
112
112
|
class?: Class | undefined;
|
|
113
113
|
mapping?: Mapping | undefined;
|
|
@@ -129,7 +129,6 @@ export abstract class QueryBuilderState implements CommandRegistrar {
|
|
|
129
129
|
fetchStructureState: observable,
|
|
130
130
|
filterState: observable,
|
|
131
131
|
watermarkState: observable,
|
|
132
|
-
titleOfQuery: observable,
|
|
133
132
|
checkEntitlementsState: observable,
|
|
134
133
|
resultState: observable,
|
|
135
134
|
textEditorState: observable,
|
|
@@ -138,6 +137,7 @@ export abstract class QueryBuilderState implements CommandRegistrar {
|
|
|
138
137
|
showParametersPanel: observable,
|
|
139
138
|
isEditingWatermark: observable,
|
|
140
139
|
isCheckingEntitlments: observable,
|
|
140
|
+
isCalendarEnabled: observable,
|
|
141
141
|
changeDetectionState: observable,
|
|
142
142
|
class: observable,
|
|
143
143
|
mapping: observable,
|
|
@@ -150,13 +150,12 @@ export abstract class QueryBuilderState implements CommandRegistrar {
|
|
|
150
150
|
setShowFunctionsExplorerPanel: action,
|
|
151
151
|
setShowParametersPanel: action,
|
|
152
152
|
setIsEditingWatermark: action,
|
|
153
|
+
setIsCalendarEnabled: action,
|
|
153
154
|
setIsCheckingEntitlments: action,
|
|
154
155
|
setClass: action,
|
|
155
156
|
setMapping: action,
|
|
156
157
|
setRuntimeValue: action,
|
|
157
158
|
|
|
158
|
-
setTitleOfQuery: action,
|
|
159
|
-
|
|
160
159
|
resetQueryResult: action,
|
|
161
160
|
resetQueryContent: action,
|
|
162
161
|
changeClass: action,
|
|
@@ -247,6 +246,10 @@ export abstract class QueryBuilderState implements CommandRegistrar {
|
|
|
247
246
|
this.isCheckingEntitlments = val;
|
|
248
247
|
}
|
|
249
248
|
|
|
249
|
+
setIsCalendarEnabled(val: boolean): void {
|
|
250
|
+
this.isCalendarEnabled = val;
|
|
251
|
+
}
|
|
252
|
+
|
|
250
253
|
setClass(val: Class | undefined): void {
|
|
251
254
|
this.class = val;
|
|
252
255
|
}
|
|
@@ -259,10 +262,6 @@ export abstract class QueryBuilderState implements CommandRegistrar {
|
|
|
259
262
|
this.runtimeValue = val;
|
|
260
263
|
}
|
|
261
264
|
|
|
262
|
-
setTitleOfQuery(val: string | undefined): void {
|
|
263
|
-
this.titleOfQuery = val;
|
|
264
|
-
}
|
|
265
|
-
|
|
266
265
|
get isQuerySupported(): boolean {
|
|
267
266
|
return !this.unsupportedQueryState.rawLambda;
|
|
268
267
|
}
|
|
@@ -324,6 +323,7 @@ export abstract class QueryBuilderState implements CommandRegistrar {
|
|
|
324
323
|
this.filterState = new QueryBuilderFilterState(this, this.filterOperators);
|
|
325
324
|
this.watermarkState = new QueryBuilderWatermarkState(this);
|
|
326
325
|
this.checkEntitlementsState = new QueryBuilderCheckEntitlementsState(this);
|
|
326
|
+
this.isCalendarEnabled = false;
|
|
327
327
|
|
|
328
328
|
const currentFetchStructureImplementationType =
|
|
329
329
|
this.fetchStructureState.implementation.type;
|
|
@@ -455,6 +455,7 @@ export abstract class QueryBuilderState implements CommandRegistrar {
|
|
|
455
455
|
async saveQuery(
|
|
456
456
|
onSaveQuery: (lambda: RawLambda) => Promise<void>,
|
|
457
457
|
): Promise<void> {
|
|
458
|
+
this.saveQueryProgressState.inProgress();
|
|
458
459
|
try {
|
|
459
460
|
const query = this.buildQuery();
|
|
460
461
|
await onSaveQuery(query);
|
|
@@ -463,6 +464,8 @@ export abstract class QueryBuilderState implements CommandRegistrar {
|
|
|
463
464
|
this.applicationStore.notificationService.notifyError(
|
|
464
465
|
`Can't save query: ${error.message}`,
|
|
465
466
|
);
|
|
467
|
+
} finally {
|
|
468
|
+
this.saveQueryProgressState.complete();
|
|
466
469
|
}
|
|
467
470
|
}
|
|
468
471
|
|
|
@@ -40,7 +40,7 @@ import {
|
|
|
40
40
|
PrimitiveInstanceValue,
|
|
41
41
|
SimpleFunctionExpression,
|
|
42
42
|
type VariableExpression,
|
|
43
|
-
|
|
43
|
+
AbstractPropertyExpression,
|
|
44
44
|
getMilestoneTemporalStereotype,
|
|
45
45
|
type INTERNAL__PropagatedValue,
|
|
46
46
|
type ValueSpecification,
|
|
@@ -66,7 +66,10 @@ import {
|
|
|
66
66
|
processTDSSortExpression,
|
|
67
67
|
processTDSTakeExpression,
|
|
68
68
|
} from './fetch-structure/tds/projection/QueryBuilderProjectionStateBuilder.js';
|
|
69
|
-
import {
|
|
69
|
+
import {
|
|
70
|
+
QUERY_BUILDER_SUPPORTED_FUNCTIONS,
|
|
71
|
+
QUERY_BUILDER_SUPPORTED_CALENDAR_AGGREGATION_FUNCTIONS,
|
|
72
|
+
} from '../graph/QueryBuilderMetaModelConst.js';
|
|
70
73
|
import { LambdaParameterState } from './shared/LambdaParameterState.js';
|
|
71
74
|
import { processTDS_OLAPGroupByExpression } from './fetch-structure/tds/window/QueryBuilderWindowStateBuilder.js';
|
|
72
75
|
import { processWatermarkExpression } from './watermark/QueryBuilderWatermarkStateBuilder.js';
|
|
@@ -140,6 +143,22 @@ const processLetExpression = (
|
|
|
140
143
|
queryBuilderState.constantState.addConstant(constantExpression);
|
|
141
144
|
};
|
|
142
145
|
|
|
146
|
+
const processCalendarFunction = (
|
|
147
|
+
expression: SimpleFunctionExpression,
|
|
148
|
+
queryBuilderState: QueryBuilderState,
|
|
149
|
+
parentLambda: LambdaFunction,
|
|
150
|
+
): void => {
|
|
151
|
+
queryBuilderState.isCalendarEnabled = true;
|
|
152
|
+
assertTrue(
|
|
153
|
+
expression.parametersValues.length === 4,
|
|
154
|
+
'Calendar function expected to have four parameters',
|
|
155
|
+
);
|
|
156
|
+
processTDSProjectionColumnPropertyExpression(
|
|
157
|
+
guaranteeType(expression.parametersValues[3], AbstractPropertyExpression),
|
|
158
|
+
queryBuilderState,
|
|
159
|
+
);
|
|
160
|
+
};
|
|
161
|
+
|
|
143
162
|
/**
|
|
144
163
|
* This is the value specification processor (a.k.a state builder) for query builder.
|
|
145
164
|
*
|
|
@@ -536,6 +555,18 @@ export class QueryBuilderValueSpecificationProcessor
|
|
|
536
555
|
this.parentLambda,
|
|
537
556
|
);
|
|
538
557
|
return;
|
|
558
|
+
} else if (
|
|
559
|
+
matchFunctionName(
|
|
560
|
+
functionName,
|
|
561
|
+
Object.values(QUERY_BUILDER_SUPPORTED_CALENDAR_AGGREGATION_FUNCTIONS),
|
|
562
|
+
)
|
|
563
|
+
) {
|
|
564
|
+
processCalendarFunction(
|
|
565
|
+
valueSpecification,
|
|
566
|
+
this.queryBuilderState,
|
|
567
|
+
this.parentLambda,
|
|
568
|
+
);
|
|
569
|
+
return;
|
|
539
570
|
}
|
|
540
571
|
throw new UnsupportedOperationError(
|
|
541
572
|
`Can't process expression of function ${functionName}()`,
|
|
@@ -115,4 +115,37 @@ export enum QUERY_BUILDER_STATE_HASH_STRUCTURE {
|
|
|
115
115
|
QUERY_BUILDER_STATE = 'QUERY_BUILDER_STATE',
|
|
116
116
|
|
|
117
117
|
CHECK_ENTITLEMENTS_STATE = 'CHECK_ENTITLEMENTS_STATE',
|
|
118
|
+
|
|
119
|
+
// calendar
|
|
120
|
+
AGGREGATE_CALENDAR_FUNCTION_ANNUALIZED = 'AGGREGATE_CALENDAR_FUNCTION_ANNUALIZED',
|
|
121
|
+
AGGREGATE_CALENDAR_FUNCTION_CME = 'AGGREGATE_CALENDAR_FUNCTION_CME',
|
|
122
|
+
AGGREGATE_CALENDAR_FUNCTION_CW = 'AGGREGATE_CALENDAR_FUNCTION_CW',
|
|
123
|
+
AGGREGATE_CALENDAR_FUNCTION_CW_FM = 'AGGREGATE_CALENDAR_FUNCTION_CW_FM',
|
|
124
|
+
AGGREGATE_CALENDAR_FUNCTION_CY_MINUS2 = 'AGGREGATE_CALENDAR_FUNCTION_CY_MINUS2',
|
|
125
|
+
AGGREGATE_CALENDAR_FUNCTION_CY_MINUS3 = 'AGGREGATE_CALENDAR_FUNCTION_CY_MINUS3',
|
|
126
|
+
AGGREGATE_CALENDAR_FUNCTION_MTD = 'AGGREGATE_CALENDAR_FUNCTION_MTD',
|
|
127
|
+
AGGREGATE_CALENDAR_FUNCTION_P12WA = 'AGGREGATE_CALENDAR_FUNCTION_P12WA',
|
|
128
|
+
AGGREGATE_CALENDAR_FUNCTION_P12WTD = 'AGGREGATE_CALENDAR_FUNCTION_P12WTD',
|
|
129
|
+
AGGREGATE_CALENDAR_FUNCTION_P4WA = 'AGGREGATE_CALENDAR_FUNCTION_P4WA',
|
|
130
|
+
AGGREGATE_CALENDAR_FUNCTION_P4WTD = 'AGGREGATE_CALENDAR_FUNCTION_P4WTD',
|
|
131
|
+
AGGREGATE_CALENDAR_FUNCTION_P52WTD = 'AGGREGATE_CALENDAR_FUNCTION_P5WTD',
|
|
132
|
+
AGGREGATE_CALENDAR_FUNCTION_P52WA = 'AGGREGATE_CALENDAR_FUNCTION_P52WA',
|
|
133
|
+
AGGREGATE_CALENDAR_FUNCTION_PMA = 'AGGREGATE_CALENDAR_FUNCTION_PMA',
|
|
134
|
+
AGGREGATE_CALENDAR_FUNCTION_PMTD = 'AGGREGATE_CALENDAR_FUNCTION_PMTD',
|
|
135
|
+
AGGREGATE_CALENDAR_FUNCTION_PQTD = 'AGGREGATE_CALENDAR_FUNCTION_PQTD',
|
|
136
|
+
AGGREGATE_CALENDAR_FUNCTION_PRIOR_DAY = 'AGGREGATE_CALENDAR_FUNCTION_PRIOR_DAY',
|
|
137
|
+
AGGREGATE_CALENDAR_FUNCTION_PRIOR_YEAR = 'AGGREGATE_CALENDAR_FUNCTION_PRIOR_YEAR',
|
|
138
|
+
AGGREGATE_CALENDAR_FUNCTION_PW = 'AGGREGATE_CALENDAR_FUNCTION_PW',
|
|
139
|
+
AGGREGATE_CALENDAR_FUNCTION_PW_FM = 'AGGREGATE_CALENDAR_FUNCTION_PW_FM',
|
|
140
|
+
AGGREGATE_CALENDAR_FUNCTION_PWA = 'AGGREGATE_CALENDAR_FUNCTION_PWA',
|
|
141
|
+
AGGREGATE_CALENDAR_FUNCTION_PWTD = 'AGGREGATE_CALENDAR_FUNCTION_PWTD',
|
|
142
|
+
AGGREGATE_CALENDAR_FUNCTION_PYMTD = 'AGGREGATE_CALENDAR_FUNCTION_PYMTD',
|
|
143
|
+
AGGREGATE_CALENDAR_FUNCTION_PYQTD = 'AGGREGATE_CALENDAR_FUNCTION_PYQTD',
|
|
144
|
+
AGGREGATE_CALENDAR_FUNCTION_PYTD = 'AGGREGATE_CALENDAR_FUNCTION_PYTD',
|
|
145
|
+
AGGREGATE_CALENDAR_FUNCTION_PYWA = 'AGGREGATE_CALENDAR_FUNCTION_PYWA',
|
|
146
|
+
AGGREGATE_CALENDAR_FUNCTION_PYWTD = 'AGGREGATE_CALENDAR_FUNCTION_PYWTD',
|
|
147
|
+
AGGREGATE_CALENDAR_FUNCTION_QTD = 'AGGREGATE_CALENDAR_FUNCTION_QTD',
|
|
148
|
+
AGGREGATE_CALENDAR_FUNCTION_REPORT_END_DAY = 'AGGREGATE_CALENDAR_FUNCTION_REPORT_END_DAY',
|
|
149
|
+
AGGREGATE_CALENDAR_FUNCTION_WTD = 'AGGREGATE_CALENDAR_FUNCTION_WTD',
|
|
150
|
+
AGGREGATE_CALENDAR_FUNCTION_YTD = 'AGGREGATE_CALENDAR_FUNCTION_YTD',
|
|
118
151
|
}
|