@gooddata/sdk-ui-dashboard 11.9.0 → 11.10.0-alpha.1
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/esm/__version.d.ts +1 -1
- package/esm/__version.d.ts.map +1 -1
- package/esm/__version.js +1 -1
- package/esm/__version.js.map +1 -1
- package/esm/model/commandHandlers/common/validateDrillToCustomUrlParams.d.ts.map +1 -1
- package/esm/model/commandHandlers/common/validateDrillToCustomUrlParams.js +3 -2
- package/esm/model/commandHandlers/common/validateDrillToCustomUrlParams.js.map +1 -1
- package/esm/model/commandHandlers/dashboard/changeAttributeFilterDisplayAsLabelHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/changeAttributeFilterDisplayAsLabelHandler.js +4 -3
- package/esm/model/commandHandlers/dashboard/changeAttributeFilterDisplayAsLabelHandler.js.map +1 -1
- package/esm/model/commandHandlers/dashboard/changeAttributeFilterLimitingItemsHandler.js +3 -3
- package/esm/model/commandHandlers/dashboard/changeAttributeFilterLimitingItemsHandler.js.map +1 -1
- package/esm/model/commandHandlers/dashboard/changeAttributeFilterModeHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/changeAttributeFilterModeHandler.js +4 -3
- package/esm/model/commandHandlers/dashboard/changeAttributeFilterModeHandler.js.map +1 -1
- package/esm/model/commandHandlers/dashboard/changeDateFilterTitleHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/changeDateFilterTitleHandler.js +7 -7
- package/esm/model/commandHandlers/dashboard/changeDateFilterTitleHandler.js.map +1 -1
- package/esm/model/commandHandlers/dashboard/changeDateFilterWithDimensionModeHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/changeDateFilterWithDimensionModeHandler.js +5 -4
- package/esm/model/commandHandlers/dashboard/changeDateFilterWithDimensionModeHandler.js.map +1 -1
- package/esm/model/commandHandlers/dashboard/common/stateInitializers.d.ts +2 -2
- package/esm/model/commandHandlers/dashboard/common/stateInitializers.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/common/stateInitializers.js +234 -106
- package/esm/model/commandHandlers/dashboard/common/stateInitializers.js.map +1 -1
- package/esm/model/commandHandlers/dashboard/dateFilterConfigHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/dateFilterConfigHandler.js +2 -2
- package/esm/model/commandHandlers/dashboard/dateFilterConfigHandler.js.map +1 -1
- package/esm/model/commandHandlers/dashboard/exportDashboardToPdfHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/exportDashboardToPdfHandler.js +2 -1
- package/esm/model/commandHandlers/dashboard/exportDashboardToPdfHandler.js.map +1 -1
- package/esm/model/commandHandlers/dashboard/exportDashboardToPdfPresentationHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/exportDashboardToPdfPresentationHandler.js +2 -1
- package/esm/model/commandHandlers/dashboard/exportDashboardToPdfPresentationHandler.js.map +1 -1
- package/esm/model/commandHandlers/dashboard/exportDashboardToPptPresentationHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/exportDashboardToPptPresentationHandler.js +2 -1
- package/esm/model/commandHandlers/dashboard/exportDashboardToPptPresentationHandler.js.map +1 -1
- package/esm/model/commandHandlers/dashboard/exportToTabularHandler.js +1 -1
- package/esm/model/commandHandlers/dashboard/exportToTabularHandler.js.map +1 -1
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.d.ts +1 -1
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.js +47 -20
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.js.map +1 -1
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/onDateFilterConfigValidationError.d.ts +1 -1
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/onDateFilterConfigValidationError.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/onDateFilterConfigValidationError.js +2 -2
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/onDateFilterConfigValidationError.js.map +1 -1
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/preloadAttributeFiltersData.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/preloadAttributeFiltersData.js +10 -5
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/preloadAttributeFiltersData.js.map +1 -1
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/resolveDashboardConfig.js +2 -2
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/resolveDashboardConfig.js.map +1 -1
- package/esm/model/commandHandlers/dashboard/resetDashboardHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/resetDashboardHandler.js +62 -22
- package/esm/model/commandHandlers/dashboard/resetDashboardHandler.js.map +1 -1
- package/esm/model/commandHandlers/dashboard/saveAsDashboardHandler.js +6 -6
- package/esm/model/commandHandlers/dashboard/saveAsDashboardHandler.js.map +1 -1
- package/esm/model/commandHandlers/dashboard/saveDashboardHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/saveDashboardHandler.js +39 -14
- package/esm/model/commandHandlers/dashboard/saveDashboardHandler.js.map +1 -1
- package/esm/model/commandHandlers/drill/crossFilteringHandler.js +2 -2
- package/esm/model/commandHandlers/drill/crossFilteringHandler.js.map +1 -1
- package/esm/model/commandHandlers/drill/drillToDashboardHandler.js +2 -2
- package/esm/model/commandHandlers/drill/drillToDashboardHandler.js.map +1 -1
- package/esm/model/commandHandlers/drill/resolveDrillToCustomUrl.d.ts.map +1 -1
- package/esm/model/commandHandlers/drill/resolveDrillToCustomUrl.js +2 -2
- package/esm/model/commandHandlers/drill/resolveDrillToCustomUrl.js.map +1 -1
- package/esm/model/commandHandlers/filterContext/attributeFilter/addAttributeFilterHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/filterContext/attributeFilter/addAttributeFilterHandler.js +6 -7
- package/esm/model/commandHandlers/filterContext/attributeFilter/addAttributeFilterHandler.js.map +1 -1
- package/esm/model/commandHandlers/filterContext/attributeFilter/changeAttributeDisplayFormHandler.js +4 -4
- package/esm/model/commandHandlers/filterContext/attributeFilter/changeAttributeDisplayFormHandler.js.map +1 -1
- package/esm/model/commandHandlers/filterContext/attributeFilter/changeAttributeFilterSelectionHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/filterContext/attributeFilter/changeAttributeFilterSelectionHandler.js +5 -4
- package/esm/model/commandHandlers/filterContext/attributeFilter/changeAttributeFilterSelectionHandler.js.map +1 -1
- package/esm/model/commandHandlers/filterContext/attributeFilter/changeAttributeSelectionModeHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/filterContext/attributeFilter/changeAttributeSelectionModeHandler.js +4 -3
- package/esm/model/commandHandlers/filterContext/attributeFilter/changeAttributeSelectionModeHandler.js.map +1 -1
- package/esm/model/commandHandlers/filterContext/attributeFilter/changeAttributeTitleHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/filterContext/attributeFilter/changeAttributeTitleHandler.js +4 -3
- package/esm/model/commandHandlers/filterContext/attributeFilter/changeAttributeTitleHandler.js.map +1 -1
- package/esm/model/commandHandlers/filterContext/attributeFilter/moveAttributeFilterHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/filterContext/attributeFilter/moveAttributeFilterHandler.js +4 -3
- package/esm/model/commandHandlers/filterContext/attributeFilter/moveAttributeFilterHandler.js.map +1 -1
- package/esm/model/commandHandlers/filterContext/attributeFilter/removeAttributeFiltersHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/filterContext/attributeFilter/removeAttributeFiltersHandler.js +6 -7
- package/esm/model/commandHandlers/filterContext/attributeFilter/removeAttributeFiltersHandler.js.map +1 -1
- package/esm/model/commandHandlers/filterContext/attributeFilter/setAttributeFilterDependentDateFilterHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/filterContext/attributeFilter/setAttributeFilterDependentDateFilterHandler.js +4 -3
- package/esm/model/commandHandlers/filterContext/attributeFilter/setAttributeFilterDependentDateFilterHandler.js.map +1 -1
- package/esm/model/commandHandlers/filterContext/attributeFilter/setAttributeFilterParentHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/filterContext/attributeFilter/setAttributeFilterParentHandler.js +4 -3
- package/esm/model/commandHandlers/filterContext/attributeFilter/setAttributeFilterParentHandler.js.map +1 -1
- package/esm/model/commandHandlers/filterContext/changeFilterContextSelectionHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/filterContext/changeFilterContextSelectionHandler.js +13 -14
- package/esm/model/commandHandlers/filterContext/changeFilterContextSelectionHandler.js.map +1 -1
- package/esm/model/commandHandlers/filterContext/common.d.ts +3 -3
- package/esm/model/commandHandlers/filterContext/common.d.ts.map +1 -1
- package/esm/model/commandHandlers/filterContext/common.js +6 -6
- package/esm/model/commandHandlers/filterContext/common.js.map +1 -1
- package/esm/model/commandHandlers/filterContext/dateFilter/addDateFilterHandler.js +3 -3
- package/esm/model/commandHandlers/filterContext/dateFilter/addDateFilterHandler.js.map +1 -1
- package/esm/model/commandHandlers/filterContext/dateFilter/changeDateFilterSelectionHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/filterContext/dateFilter/changeDateFilterSelectionHandler.js +3 -3
- package/esm/model/commandHandlers/filterContext/dateFilter/changeDateFilterSelectionHandler.js.map +1 -1
- package/esm/model/commandHandlers/filterContext/dateFilter/moveDateFilterHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/filterContext/dateFilter/moveDateFilterHandler.js +4 -3
- package/esm/model/commandHandlers/filterContext/dateFilter/moveDateFilterHandler.js.map +1 -1
- package/esm/model/commandHandlers/filterContext/dateFilter/removeDateFiltersHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/filterContext/dateFilter/removeDateFiltersHandler.js +5 -6
- package/esm/model/commandHandlers/filterContext/dateFilter/removeDateFiltersHandler.js.map +1 -1
- package/esm/model/commandHandlers/filterContext/filterViewHandler.js +4 -4
- package/esm/model/commandHandlers/filterContext/filterViewHandler.js.map +1 -1
- package/esm/model/commandHandlers/layout/validation/itemValidation.js +2 -2
- package/esm/model/commandHandlers/layout/validation/itemValidation.js.map +1 -1
- package/esm/model/commandHandlers/scheduledEmail/initializeAutomationsHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/scheduledEmail/initializeAutomationsHandler.js +1 -1
- package/esm/model/commandHandlers/scheduledEmail/initializeAutomationsHandler.js.map +1 -1
- package/esm/model/commandHandlers/tabs/createDashboardTabHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/tabs/createDashboardTabHandler.js +26 -4
- package/esm/model/commandHandlers/tabs/createDashboardTabHandler.js.map +1 -1
- package/esm/model/commandHandlers/tabs/switchDashboardTabHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/tabs/switchDashboardTabHandler.js +1 -93
- package/esm/model/commandHandlers/tabs/switchDashboardTabHandler.js.map +1 -1
- package/esm/model/commandHandlers/widgets/common/filterOperations.js +2 -2
- package/esm/model/commandHandlers/widgets/common/filterOperations.js.map +1 -1
- package/esm/model/commandHandlers/widgets/exportImageInsightWidgetHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/widgets/exportImageInsightWidgetHandler.js +2 -1
- package/esm/model/commandHandlers/widgets/exportImageInsightWidgetHandler.js.map +1 -1
- package/esm/model/commandHandlers/widgets/exportRawInsightWidgetHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/widgets/exportRawInsightWidgetHandler.js +2 -1
- package/esm/model/commandHandlers/widgets/exportRawInsightWidgetHandler.js.map +1 -1
- package/esm/model/commandHandlers/widgets/exportSlidesInsightWidgetHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/widgets/exportSlidesInsightWidgetHandler.js +2 -1
- package/esm/model/commandHandlers/widgets/exportSlidesInsightWidgetHandler.js.map +1 -1
- package/esm/model/commandHandlers/widgets/validation/filterValidation.js +2 -2
- package/esm/model/commandHandlers/widgets/validation/filterValidation.js.map +1 -1
- package/esm/model/queryServices/queryWidgetFilters.d.ts.map +1 -1
- package/esm/model/queryServices/queryWidgetFilters.js +1 -1
- package/esm/model/queryServices/queryWidgetFilters.js.map +1 -1
- package/esm/model/store/dashboardStore.d.ts.map +1 -1
- package/esm/model/store/dashboardStore.js +0 -8
- package/esm/model/store/dashboardStore.js.map +1 -1
- package/esm/model/store/index.d.ts +12 -10
- package/esm/model/store/index.d.ts.map +1 -1
- package/esm/model/store/index.js +6 -5
- package/esm/model/store/index.js.map +1 -1
- package/esm/model/store/keyDriverAnalysis/const.d.ts +14 -0
- package/esm/model/store/keyDriverAnalysis/const.d.ts.map +1 -0
- package/esm/model/store/keyDriverAnalysis/const.js +32 -0
- package/esm/model/store/keyDriverAnalysis/const.js.map +1 -0
- package/esm/model/store/layout/layoutSelectors.d.ts.map +1 -1
- package/esm/model/store/layout/layoutSelectors.js +1 -1
- package/esm/model/store/layout/layoutSelectors.js.map +1 -1
- package/esm/model/store/meta/metaSelectors.d.ts +76 -20
- package/esm/model/store/meta/metaSelectors.d.ts.map +1 -1
- package/esm/model/store/meta/metaSelectors.js +234 -140
- package/esm/model/store/meta/metaSelectors.js.map +1 -1
- package/esm/model/store/{attributeFilterConfigs → tabs/attributeFilterConfigs}/attributeFilterConfigsReducers.d.ts +7 -6
- package/esm/model/store/tabs/attributeFilterConfigs/attributeFilterConfigsReducers.d.ts.map +1 -0
- package/esm/model/store/tabs/attributeFilterConfigs/attributeFilterConfigsReducers.js +83 -0
- package/esm/model/store/tabs/attributeFilterConfigs/attributeFilterConfigsReducers.js.map +1 -0
- package/esm/model/store/{attributeFilterConfigs → tabs/attributeFilterConfigs}/attributeFilterConfigsSelectors.d.ts +7 -1
- package/esm/model/store/tabs/attributeFilterConfigs/attributeFilterConfigsSelectors.d.ts.map +1 -0
- package/esm/model/store/{attributeFilterConfigs → tabs/attributeFilterConfigs}/attributeFilterConfigsSelectors.js +24 -4
- package/esm/model/store/tabs/attributeFilterConfigs/attributeFilterConfigsSelectors.js.map +1 -0
- package/esm/model/store/{attributeFilterConfigs/attributeFilterConfigsState.d.ts → tabs/attributeFilterConfigs/attrtibuteFilterConfigsState.d.ts} +1 -1
- package/esm/model/store/tabs/attributeFilterConfigs/attrtibuteFilterConfigsState.d.ts.map +1 -0
- package/esm/model/store/tabs/attributeFilterConfigs/attrtibuteFilterConfigsState.js +5 -0
- package/esm/model/store/tabs/attributeFilterConfigs/attrtibuteFilterConfigsState.js.map +1 -0
- package/esm/model/store/{dateFilterConfig → tabs/dateFilterConfig}/dateFilterConfigReducers.d.ts +3 -3
- package/esm/model/store/tabs/dateFilterConfig/dateFilterConfigReducers.d.ts.map +1 -0
- package/esm/model/store/tabs/dateFilterConfig/dateFilterConfigReducers.js +117 -0
- package/esm/model/store/tabs/dateFilterConfig/dateFilterConfigReducers.js.map +1 -0
- package/esm/model/store/{dateFilterConfig → tabs/dateFilterConfig}/dateFilterConfigSelectors.d.ts +8 -2
- package/esm/model/store/tabs/dateFilterConfig/dateFilterConfigSelectors.d.ts.map +1 -0
- package/esm/model/store/{dateFilterConfig → tabs/dateFilterConfig}/dateFilterConfigSelectors.js +36 -13
- package/esm/model/store/tabs/dateFilterConfig/dateFilterConfigSelectors.js.map +1 -0
- package/esm/model/store/{dateFilterConfig → tabs/dateFilterConfig}/dateFilterConfigState.d.ts +1 -1
- package/esm/model/store/tabs/dateFilterConfig/dateFilterConfigState.d.ts.map +1 -0
- package/esm/model/store/tabs/dateFilterConfig/dateFilterConfigState.js.map +1 -0
- package/esm/model/store/{dateFilterConfigs → tabs/dateFilterConfigs}/dateFilterConfigsReducers.d.ts +7 -7
- package/esm/model/store/tabs/dateFilterConfigs/dateFilterConfigsReducers.d.ts.map +1 -0
- package/esm/model/store/tabs/dateFilterConfigs/dateFilterConfigsReducers.js +105 -0
- package/esm/model/store/tabs/dateFilterConfigs/dateFilterConfigsReducers.js.map +1 -0
- package/esm/model/store/{dateFilterConfigs → tabs/dateFilterConfigs}/dateFilterConfigsSelectors.d.ts +7 -1
- package/esm/model/store/tabs/dateFilterConfigs/dateFilterConfigsSelectors.d.ts.map +1 -0
- package/esm/model/store/{dateFilterConfigs → tabs/dateFilterConfigs}/dateFilterConfigsSelectors.js +24 -4
- package/esm/model/store/tabs/dateFilterConfigs/dateFilterConfigsSelectors.js.map +1 -0
- package/esm/model/store/tabs/dateFilterConfigs/dateFilterConfigsState.d.ts.map +1 -0
- package/esm/model/store/tabs/dateFilterConfigs/dateFilterConfigsState.js +5 -0
- package/esm/model/store/tabs/dateFilterConfigs/dateFilterConfigsState.js.map +1 -0
- package/esm/model/store/{filterContext → tabs/filterContext}/filterContextReducers.d.ts +54 -3
- package/esm/model/store/tabs/filterContext/filterContextReducers.d.ts.map +1 -0
- package/esm/model/store/{filterContext → tabs/filterContext}/filterContextReducers.js +237 -92
- package/esm/model/store/tabs/filterContext/filterContextReducers.js.map +1 -0
- package/esm/model/store/{filterContext → tabs/filterContext}/filterContextSelectors.d.ts +182 -2
- package/esm/model/store/tabs/filterContext/filterContextSelectors.d.ts.map +1 -0
- package/esm/model/store/{filterContext → tabs/filterContext}/filterContextSelectors.js +55 -8
- package/esm/model/store/tabs/filterContext/filterContextSelectors.js.map +1 -0
- package/esm/model/store/tabs/filterContext/filterContextState.d.ts.map +1 -0
- package/esm/model/store/tabs/filterContext/filterContextState.js.map +1 -0
- package/esm/model/store/tabs/filterContext/filterContextUtils.d.ts +35 -0
- package/esm/model/store/tabs/filterContext/filterContextUtils.d.ts.map +1 -0
- package/esm/model/store/{filterContext → tabs/filterContext}/filterContextUtils.js +55 -0
- package/esm/model/store/tabs/filterContext/filterContextUtils.js.map +1 -0
- package/esm/model/store/tabs/index.d.ts +175 -12
- package/esm/model/store/tabs/index.d.ts.map +1 -1
- package/esm/model/store/tabs/index.js +15 -3
- package/esm/model/store/tabs/index.js.map +1 -1
- package/esm/model/store/tabs/tabsReducers.d.ts +22 -6
- package/esm/model/store/tabs/tabsReducers.d.ts.map +1 -1
- package/esm/model/store/tabs/tabsReducers.js +37 -3
- package/esm/model/store/tabs/tabsReducers.js.map +1 -1
- package/esm/model/store/tabs/tabsSelectors.d.ts +31 -6
- package/esm/model/store/tabs/tabsSelectors.d.ts.map +1 -1
- package/esm/model/store/tabs/tabsSelectors.js +6 -0
- package/esm/model/store/tabs/tabsSelectors.js.map +1 -1
- package/esm/model/store/tabs/tabsState.d.ts +30 -3
- package/esm/model/store/tabs/tabsState.d.ts.map +1 -1
- package/esm/model/store/tabs/tabsState.js +13 -0
- package/esm/model/store/tabs/tabsState.js.map +1 -1
- package/esm/model/store/types.d.ts +0 -11
- package/esm/model/store/types.d.ts.map +1 -1
- package/esm/model/store/widgetDrills/widgetDrillSelectors.d.ts.map +1 -1
- package/esm/model/store/widgetDrills/widgetDrillSelectors.js +3 -11
- package/esm/model/store/widgetDrills/widgetDrillSelectors.js.map +1 -1
- package/esm/presentation/drill/utils/kdaUtils.d.ts.map +1 -1
- package/esm/presentation/drill/utils/kdaUtils.js +7 -1
- package/esm/presentation/drill/utils/kdaUtils.js.map +1 -1
- package/esm/sdk-ui-dashboard.d.ts +365 -22
- package/package.json +18 -18
- package/styles/css/main.css +5 -5
- package/esm/model/store/attributeFilterConfigs/attributeFilterConfigsReducers.d.ts.map +0 -1
- package/esm/model/store/attributeFilterConfigs/attributeFilterConfigsReducers.js +0 -43
- package/esm/model/store/attributeFilterConfigs/attributeFilterConfigsReducers.js.map +0 -1
- package/esm/model/store/attributeFilterConfigs/attributeFilterConfigsSelectors.d.ts.map +0 -1
- package/esm/model/store/attributeFilterConfigs/attributeFilterConfigsSelectors.js.map +0 -1
- package/esm/model/store/attributeFilterConfigs/attributeFilterConfigsState.d.ts.map +0 -1
- package/esm/model/store/attributeFilterConfigs/attributeFilterConfigsState.js +0 -4
- package/esm/model/store/attributeFilterConfigs/attributeFilterConfigsState.js.map +0 -1
- package/esm/model/store/attributeFilterConfigs/index.d.ts +0 -10
- package/esm/model/store/attributeFilterConfigs/index.d.ts.map +0 -1
- package/esm/model/store/attributeFilterConfigs/index.js +0 -13
- package/esm/model/store/attributeFilterConfigs/index.js.map +0 -1
- package/esm/model/store/dateFilterConfig/dateFilterConfigReducers.d.ts.map +0 -1
- package/esm/model/store/dateFilterConfig/dateFilterConfigReducers.js +0 -55
- package/esm/model/store/dateFilterConfig/dateFilterConfigReducers.js.map +0 -1
- package/esm/model/store/dateFilterConfig/dateFilterConfigSelectors.d.ts.map +0 -1
- package/esm/model/store/dateFilterConfig/dateFilterConfigSelectors.js.map +0 -1
- package/esm/model/store/dateFilterConfig/dateFilterConfigState.d.ts.map +0 -1
- package/esm/model/store/dateFilterConfig/dateFilterConfigState.js.map +0 -1
- package/esm/model/store/dateFilterConfig/index.d.ts +0 -16
- package/esm/model/store/dateFilterConfig/index.d.ts.map +0 -1
- package/esm/model/store/dateFilterConfig/index.js +0 -13
- package/esm/model/store/dateFilterConfig/index.js.map +0 -1
- package/esm/model/store/dateFilterConfigs/dateFilterConfigsReducers.d.ts.map +0 -1
- package/esm/model/store/dateFilterConfigs/dateFilterConfigsReducers.js +0 -63
- package/esm/model/store/dateFilterConfigs/dateFilterConfigsReducers.js.map +0 -1
- package/esm/model/store/dateFilterConfigs/dateFilterConfigsSelectors.d.ts.map +0 -1
- package/esm/model/store/dateFilterConfigs/dateFilterConfigsSelectors.js.map +0 -1
- package/esm/model/store/dateFilterConfigs/dateFilterConfigsState.d.ts.map +0 -1
- package/esm/model/store/dateFilterConfigs/dateFilterConfigsState.js +0 -4
- package/esm/model/store/dateFilterConfigs/dateFilterConfigsState.js.map +0 -1
- package/esm/model/store/dateFilterConfigs/index.d.ts +0 -10
- package/esm/model/store/dateFilterConfigs/index.d.ts.map +0 -1
- package/esm/model/store/dateFilterConfigs/index.js +0 -13
- package/esm/model/store/dateFilterConfigs/index.js.map +0 -1
- package/esm/model/store/filterContext/filterContextReducers.d.ts.map +0 -1
- package/esm/model/store/filterContext/filterContextReducers.js.map +0 -1
- package/esm/model/store/filterContext/filterContextSelectors.d.ts.map +0 -1
- package/esm/model/store/filterContext/filterContextSelectors.js.map +0 -1
- package/esm/model/store/filterContext/filterContextState.d.ts.map +0 -1
- package/esm/model/store/filterContext/filterContextState.js.map +0 -1
- package/esm/model/store/filterContext/filterContextUtils.d.ts +0 -14
- package/esm/model/store/filterContext/filterContextUtils.d.ts.map +0 -1
- package/esm/model/store/filterContext/filterContextUtils.js.map +0 -1
- package/esm/model/store/filterContext/index.d.ts +0 -36
- package/esm/model/store/filterContext/index.d.ts.map +0 -1
- package/esm/model/store/filterContext/index.js +0 -13
- package/esm/model/store/filterContext/index.js.map +0 -1
- /package/esm/model/store/{dateFilterConfig → tabs/dateFilterConfig}/dateFilterConfigState.js +0 -0
- /package/esm/model/store/{dateFilterConfigs → tabs/dateFilterConfigs}/dateFilterConfigsState.d.ts +0 -0
- /package/esm/model/store/{filterContext → tabs/filterContext}/filterContextState.d.ts +0 -0
- /package/esm/model/store/{filterContext → tabs/filterContext}/filterContextState.js +0 -0
|
@@ -1,65 +1,82 @@
|
|
|
1
1
|
// (C) 2021-2025 GoodData Corporation
|
|
2
|
-
import { partition } from "lodash-es";
|
|
3
2
|
import { invariant } from "ts-invariant";
|
|
4
3
|
import { areObjRefsEqual, attributeElementsIsEmpty, isAttributeElementsByRef, isDashboardAttributeFilter, isDashboardCommonDateFilter, isDashboardDateFilter, newAllTimeDashboardDateFilter, } from "@gooddata/sdk-model";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
4
|
+
import { filterContextInitialState } from "./filterContextState.js";
|
|
5
|
+
import { applyFilterContext, initializeFilterContext } from "./filterContextUtils.js";
|
|
6
|
+
import { generateFilterLocalIdentifier } from "../../_infra/generators.js";
|
|
7
|
+
import { getActiveTab } from "../tabsState.js";
|
|
7
8
|
const setFilterContext = (state, action) => {
|
|
9
|
+
const activeTab = getActiveTab(state);
|
|
10
|
+
if (!activeTab) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
8
13
|
const { filterContextDefinition, originalFilterContextDefinition, filterContextIdentity, attributeFilterDisplayForms, } = action.payload;
|
|
9
|
-
//
|
|
10
|
-
|
|
11
|
-
? {
|
|
12
|
-
attributeFilter: {
|
|
13
|
-
...filter.attributeFilter,
|
|
14
|
-
localIdentifier: filter.attributeFilter.localIdentifier ??
|
|
15
|
-
generateFilterLocalIdentifier(filter.attributeFilter.displayForm, i),
|
|
16
|
-
},
|
|
17
|
-
}
|
|
18
|
-
: filter);
|
|
19
|
-
// make sure that common date filter is always first if present (when DateFilter is set to all time than is missing in filterContextDefinition and originalFilterContextDefinition)
|
|
20
|
-
// we have to keep order of rest of array (attributeFilters and date filters with dimension) it represent order of filters in filter bar
|
|
21
|
-
const [commonDateFilter, otherFilters] = partition(filtersWithLocalId, isDashboardCommonDateFilter);
|
|
22
|
-
const filters = [...commonDateFilter, ...otherFilters];
|
|
23
|
-
state.filterContextDefinition = {
|
|
24
|
-
...filterContextDefinition,
|
|
25
|
-
filters: filters,
|
|
26
|
-
};
|
|
27
|
-
state.workingFilterContextDefinition = { filters: [] };
|
|
28
|
-
state.originalFilterContextDefinition = originalFilterContextDefinition;
|
|
29
|
-
state.filterContextIdentity = filterContextIdentity;
|
|
30
|
-
state.attributeFilterDisplayForms = attributeFilterDisplayForms;
|
|
14
|
+
// Use the helper function to initialize the filter context
|
|
15
|
+
activeTab.filterContext = initializeFilterContext(filterContextDefinition, originalFilterContextDefinition, attributeFilterDisplayForms, filterContextIdentity);
|
|
31
16
|
};
|
|
32
17
|
const updateFilterContextIdentity = (state, action) => {
|
|
33
|
-
|
|
18
|
+
const activeTab = getActiveTab(state);
|
|
19
|
+
if (!activeTab) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
if (!activeTab.filterContext) {
|
|
23
|
+
activeTab.filterContext = { ...filterContextInitialState };
|
|
24
|
+
}
|
|
25
|
+
activeTab.filterContext.filterContextIdentity = action.payload.filterContextIdentity;
|
|
34
26
|
};
|
|
35
27
|
//
|
|
36
28
|
//
|
|
37
29
|
//
|
|
38
30
|
const removeAttributeFilterDisplayForms = (state, action) => {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
return
|
|
42
|
-
}
|
|
31
|
+
const activeTab = getActiveTab(state);
|
|
32
|
+
if (!activeTab) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
if (!activeTab.filterContext) {
|
|
36
|
+
activeTab.filterContext = { ...filterContextInitialState };
|
|
37
|
+
}
|
|
38
|
+
invariant(activeTab.filterContext.attributeFilterDisplayForms, "attempting to work with uninitialized state");
|
|
39
|
+
activeTab.filterContext.attributeFilterDisplayForms =
|
|
40
|
+
activeTab.filterContext.attributeFilterDisplayForms.filter((df) => {
|
|
41
|
+
return !areObjRefsEqual(df, action.payload);
|
|
42
|
+
});
|
|
43
43
|
};
|
|
44
44
|
const addAttributeFilterDisplayForm = (state, action) => {
|
|
45
|
-
|
|
45
|
+
const activeTab = getActiveTab(state);
|
|
46
|
+
if (!activeTab) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
if (!activeTab.filterContext) {
|
|
50
|
+
activeTab.filterContext = { ...filterContextInitialState };
|
|
51
|
+
}
|
|
52
|
+
invariant(activeTab.filterContext.attributeFilterDisplayForms, "attempting to work with uninitialized state");
|
|
46
53
|
// if there is already a display form with the same ref, replace it
|
|
47
|
-
const existing =
|
|
54
|
+
const existing = activeTab.filterContext.attributeFilterDisplayForms.find((df) => areObjRefsEqual(df, action.payload.ref));
|
|
48
55
|
if (existing) {
|
|
49
|
-
|
|
56
|
+
activeTab.filterContext.attributeFilterDisplayForms =
|
|
57
|
+
activeTab.filterContext.attributeFilterDisplayForms.filter((df) => !areObjRefsEqual(df, action.payload));
|
|
50
58
|
}
|
|
51
|
-
|
|
59
|
+
activeTab.filterContext.attributeFilterDisplayForms.push(action.payload);
|
|
52
60
|
};
|
|
53
61
|
//
|
|
54
62
|
//
|
|
55
63
|
//
|
|
56
64
|
const setPreloadedAttributesWithReferences = (state, action) => {
|
|
65
|
+
// Store attributesWithReferences at TabsState level (shared across all tabs)
|
|
66
|
+
// The payload already contains merged attributes from all filters across all tabs
|
|
57
67
|
state.attributesWithReferences = action.payload;
|
|
58
68
|
};
|
|
59
69
|
const upsertDateFilter = (state, action) => {
|
|
70
|
+
const activeTab = getActiveTab(state);
|
|
71
|
+
if (!activeTab) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
if (!activeTab.filterContext) {
|
|
75
|
+
activeTab.filterContext = { ...filterContextInitialState };
|
|
76
|
+
}
|
|
60
77
|
const filterContextDefinition = action.payload.isWorkingSelectionChange
|
|
61
|
-
?
|
|
62
|
-
:
|
|
78
|
+
? activeTab.filterContext.workingFilterContextDefinition
|
|
79
|
+
: activeTab.filterContext.filterContextDefinition;
|
|
63
80
|
invariant(filterContextDefinition?.filters, "Attempt to edit uninitialized filter context");
|
|
64
81
|
const dateDataSet = action.payload.dataSet;
|
|
65
82
|
let existingFilterIndex = -1;
|
|
@@ -130,10 +147,17 @@ const upsertDateFilter = (state, action) => {
|
|
|
130
147
|
}
|
|
131
148
|
};
|
|
132
149
|
const updateAttributeFilterSelection = (state, action) => {
|
|
150
|
+
const activeTab = getActiveTab(state);
|
|
151
|
+
if (!activeTab) {
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
if (!activeTab.filterContext) {
|
|
155
|
+
activeTab.filterContext = { ...filterContextInitialState };
|
|
156
|
+
}
|
|
133
157
|
const { elements, filterLocalId, negativeSelection, isWorkingSelectionChange, enableImmediateAttributeFilterDisplayAsLabelMigration, isResultOfMigration, isSelectionInvalid, } = action.payload;
|
|
134
158
|
const filterContextDefinition = isWorkingSelectionChange
|
|
135
|
-
?
|
|
136
|
-
:
|
|
159
|
+
? activeTab.filterContext.workingFilterContextDefinition
|
|
160
|
+
: activeTab.filterContext.filterContextDefinition;
|
|
137
161
|
invariant(filterContextDefinition?.filters, "Attempt to edit uninitialized filter context");
|
|
138
162
|
const existingFilterIndex = filterContextDefinition.filters.findIndex((item) => isDashboardAttributeFilter(item) && item.attributeFilter.localIdentifier === filterLocalId);
|
|
139
163
|
invariant(existingFilterIndex >= 0 || isWorkingSelectionChange, "Attempt to update non-existing filter");
|
|
@@ -167,7 +191,7 @@ const updateAttributeFilterSelection = (state, action) => {
|
|
|
167
191
|
}
|
|
168
192
|
// update original filters to not show "reset filters" button, that will revert filter to the wrong state
|
|
169
193
|
if (enableImmediateAttributeFilterDisplayAsLabelMigration && isResultOfMigration) {
|
|
170
|
-
const originalFilter =
|
|
194
|
+
const originalFilter = activeTab.filterContext.originalFilterContextDefinition?.filters.find((item) => isDashboardAttributeFilter(item) && item.attributeFilter.localIdentifier === filterLocalId);
|
|
171
195
|
if (isDashboardAttributeFilter(originalFilter)) {
|
|
172
196
|
originalFilter.attributeFilter = {
|
|
173
197
|
...originalFilter.attributeFilter,
|
|
@@ -179,20 +203,28 @@ const updateAttributeFilterSelection = (state, action) => {
|
|
|
179
203
|
// Handle isSelectionInvalid flag to update filtersWithInvalidSelection array
|
|
180
204
|
if (isSelectionInvalid) {
|
|
181
205
|
// Add filterLocalId to the array if not already present
|
|
182
|
-
if (!
|
|
183
|
-
|
|
206
|
+
if (!activeTab.filterContext.filtersWithInvalidSelection.includes(filterLocalId)) {
|
|
207
|
+
activeTab.filterContext.filtersWithInvalidSelection.push(filterLocalId);
|
|
184
208
|
}
|
|
185
209
|
}
|
|
186
210
|
else {
|
|
187
211
|
// Remove filterLocalId from the array if present
|
|
188
|
-
|
|
212
|
+
activeTab.filterContext.filtersWithInvalidSelection =
|
|
213
|
+
activeTab.filterContext.filtersWithInvalidSelection.filter((id) => id !== filterLocalId);
|
|
189
214
|
}
|
|
190
215
|
};
|
|
191
216
|
const addAttributeFilter = (state, action) => {
|
|
192
|
-
|
|
217
|
+
const activeTab = getActiveTab(state);
|
|
218
|
+
if (!activeTab) {
|
|
219
|
+
return;
|
|
220
|
+
}
|
|
221
|
+
if (!activeTab.filterContext) {
|
|
222
|
+
activeTab.filterContext = { ...filterContextInitialState };
|
|
223
|
+
}
|
|
224
|
+
invariant(activeTab.filterContext.filterContextDefinition, "Attempt to edit uninitialized filter context");
|
|
193
225
|
const { displayForm, index, initialIsNegativeSelection, initialSelection, parentFilters, selectionMode, localIdentifier, title, } = action.payload;
|
|
194
226
|
// Filters are indexed just for attribute filters, if DateFilter is present should be always first item
|
|
195
|
-
const isDateFilterPresent =
|
|
227
|
+
const isDateFilterPresent = activeTab.filterContext.filterContextDefinition.filters.findIndex(isDashboardDateFilter) >= 0;
|
|
196
228
|
const hasSelection = initialSelection && !attributeElementsIsEmpty(initialSelection);
|
|
197
229
|
const isNegative = selectionMode !== "single" && (initialIsNegativeSelection || !hasSelection);
|
|
198
230
|
// If DateFilter is present we have to move index by 1 because index of filter is calculated just for AttributeFilers array
|
|
@@ -210,56 +242,95 @@ const addAttributeFilter = (state, action) => {
|
|
|
210
242
|
},
|
|
211
243
|
};
|
|
212
244
|
if (index === -1) {
|
|
213
|
-
|
|
245
|
+
activeTab.filterContext.filterContextDefinition.filters.push(filter);
|
|
214
246
|
}
|
|
215
247
|
else {
|
|
216
|
-
|
|
248
|
+
activeTab.filterContext.filterContextDefinition.filters.splice(attributeFilterIndex, 0, filter);
|
|
217
249
|
}
|
|
218
250
|
};
|
|
219
251
|
const removeAttributeFilter = (state, action) => {
|
|
220
|
-
|
|
252
|
+
const activeTab = getActiveTab(state);
|
|
253
|
+
if (!activeTab) {
|
|
254
|
+
return;
|
|
255
|
+
}
|
|
256
|
+
if (!activeTab.filterContext) {
|
|
257
|
+
activeTab.filterContext = { ...filterContextInitialState };
|
|
258
|
+
}
|
|
259
|
+
invariant(activeTab.filterContext.filterContextDefinition, "Attempt to edit uninitialized filter context");
|
|
221
260
|
const { filterLocalId } = action.payload;
|
|
222
|
-
|
|
261
|
+
const newFilters = activeTab.filterContext.filterContextDefinition.filters.filter((item) => isDashboardDateFilter(item) || item.attributeFilter.localIdentifier !== filterLocalId);
|
|
262
|
+
activeTab.filterContext.filterContextDefinition = {
|
|
263
|
+
...activeTab.filterContext.filterContextDefinition,
|
|
264
|
+
filters: newFilters,
|
|
265
|
+
};
|
|
223
266
|
};
|
|
224
267
|
const moveAttributeFilter = (state, action) => {
|
|
225
|
-
|
|
268
|
+
const activeTab = getActiveTab(state);
|
|
269
|
+
if (!activeTab) {
|
|
270
|
+
return;
|
|
271
|
+
}
|
|
272
|
+
if (!activeTab.filterContext) {
|
|
273
|
+
activeTab.filterContext = { ...filterContextInitialState };
|
|
274
|
+
}
|
|
275
|
+
invariant(activeTab.filterContext.filterContextDefinition, "Attempt to edit uninitialized filter context");
|
|
226
276
|
const { filterLocalId, index } = action.payload;
|
|
227
|
-
const currentFilterIndex =
|
|
277
|
+
const currentFilterIndex = activeTab.filterContext.filterContextDefinition.filters.findIndex((item) => isDashboardAttributeFilter(item) && item.attributeFilter.localIdentifier === filterLocalId);
|
|
228
278
|
invariant(currentFilterIndex >= 0, "Attempt to move non-existing filter");
|
|
229
|
-
const filter =
|
|
230
|
-
|
|
279
|
+
const filter = activeTab.filterContext.filterContextDefinition.filters[currentFilterIndex];
|
|
280
|
+
activeTab.filterContext.filterContextDefinition.filters.splice(currentFilterIndex, 1);
|
|
231
281
|
// Filters are indexed just for attribute filters, if DateFilter is present should be always first item
|
|
232
|
-
const isDateFilterPresent =
|
|
282
|
+
const isDateFilterPresent = activeTab.filterContext.filterContextDefinition.filters.findIndex(isDashboardDateFilter) >= 0;
|
|
233
283
|
if (index === -1) {
|
|
234
|
-
|
|
284
|
+
activeTab.filterContext.filterContextDefinition.filters.push(filter);
|
|
235
285
|
}
|
|
236
286
|
else {
|
|
237
287
|
// If DateFilter is present we have to move index by 1 because index of filter is calculated just for AttributeFilers array
|
|
238
288
|
const attributeFilterIndex = isDateFilterPresent ? index + 1 : index;
|
|
239
|
-
|
|
289
|
+
activeTab.filterContext.filterContextDefinition.filters.splice(attributeFilterIndex, 0, filter);
|
|
240
290
|
}
|
|
241
291
|
};
|
|
242
292
|
const setAttributeFilterParents = (state, action) => {
|
|
243
|
-
|
|
293
|
+
const activeTab = getActiveTab(state);
|
|
294
|
+
if (!activeTab) {
|
|
295
|
+
return;
|
|
296
|
+
}
|
|
297
|
+
if (!activeTab.filterContext) {
|
|
298
|
+
activeTab.filterContext = { ...filterContextInitialState };
|
|
299
|
+
}
|
|
300
|
+
invariant(activeTab.filterContext.filterContextDefinition, "Attempt to edit uninitialized filter context");
|
|
244
301
|
const { filterLocalId, parentFilters } = action.payload;
|
|
245
|
-
const currentFilterIndex =
|
|
302
|
+
const currentFilterIndex = activeTab.filterContext.filterContextDefinition.filters.findIndex((item) => isDashboardAttributeFilter(item) && item.attributeFilter.localIdentifier === filterLocalId);
|
|
246
303
|
invariant(currentFilterIndex >= 0, "Attempt to set parent of a non-existing filter");
|
|
247
|
-
|
|
304
|
+
activeTab.filterContext.filterContextDefinition.filters[currentFilterIndex].attributeFilter.filterElementsBy = [...parentFilters];
|
|
248
305
|
};
|
|
249
306
|
const setAttributeFilterDependentDateFilters = (state, action) => {
|
|
250
|
-
|
|
307
|
+
const activeTab = getActiveTab(state);
|
|
308
|
+
if (!activeTab) {
|
|
309
|
+
return;
|
|
310
|
+
}
|
|
311
|
+
if (!activeTab.filterContext) {
|
|
312
|
+
activeTab.filterContext = { ...filterContextInitialState };
|
|
313
|
+
}
|
|
314
|
+
invariant(activeTab.filterContext.filterContextDefinition, "Attempt to edit uninitialized filter context");
|
|
251
315
|
const { filterLocalId, dependentDateFilters } = action.payload;
|
|
252
|
-
const currentFilterIndex =
|
|
316
|
+
const currentFilterIndex = activeTab.filterContext.filterContextDefinition.filters.findIndex((item) => isDashboardAttributeFilter(item) && item.attributeFilter.localIdentifier === filterLocalId);
|
|
253
317
|
invariant(currentFilterIndex >= 0, "Attempt to set dependent date filter of a non-existing filter");
|
|
254
|
-
|
|
318
|
+
activeTab.filterContext.filterContextDefinition.filters[currentFilterIndex].attributeFilter.filterElementsByDate = [...dependentDateFilters];
|
|
255
319
|
};
|
|
256
320
|
const clearAttributeFiltersSelection = (state, action) => {
|
|
321
|
+
const activeTab = getActiveTab(state);
|
|
322
|
+
if (!activeTab) {
|
|
323
|
+
return;
|
|
324
|
+
}
|
|
325
|
+
if (!activeTab.filterContext) {
|
|
326
|
+
activeTab.filterContext = { ...filterContextInitialState };
|
|
327
|
+
}
|
|
257
328
|
const { filterLocalIds } = action.payload;
|
|
258
329
|
filterLocalIds.forEach((filterLocalId) => {
|
|
259
|
-
invariant(
|
|
260
|
-
const currentFilterIndex =
|
|
330
|
+
invariant(activeTab.filterContext?.filterContextDefinition, "Attempt to edit uninitialized filter context");
|
|
331
|
+
const currentFilterIndex = activeTab.filterContext.filterContextDefinition.filters.findIndex((item) => isDashboardAttributeFilter(item) && item.attributeFilter.localIdentifier === filterLocalId);
|
|
261
332
|
invariant(currentFilterIndex >= 0, "Attempt to clear selection of a non-existing filter");
|
|
262
|
-
const currentFilter =
|
|
333
|
+
const currentFilter = activeTab.filterContext.filterContextDefinition.filters[currentFilterIndex];
|
|
263
334
|
currentFilter.attributeFilter.negativeSelection =
|
|
264
335
|
currentFilter.attributeFilter.selectionMode !== "single";
|
|
265
336
|
currentFilter.attributeFilter.attributeElements = isAttributeElementsByRef(currentFilter.attributeFilter.attributeElements)
|
|
@@ -271,10 +342,17 @@ const clearAttributeFiltersSelection = (state, action) => {
|
|
|
271
342
|
* Changes the display form for the filter given by its local identifier.
|
|
272
343
|
*/
|
|
273
344
|
const changeAttributeDisplayForm = (state, action) => {
|
|
345
|
+
const activeTab = getActiveTab(state);
|
|
346
|
+
if (!activeTab) {
|
|
347
|
+
return;
|
|
348
|
+
}
|
|
349
|
+
if (!activeTab.filterContext) {
|
|
350
|
+
activeTab.filterContext = { ...filterContextInitialState };
|
|
351
|
+
}
|
|
274
352
|
const { filterLocalId, displayForm, isWorkingSelectionChange, enableImmediateAttributeFilterDisplayAsLabelMigration, isResultOfMigration, } = action.payload;
|
|
275
353
|
const filterContextDefinition = isWorkingSelectionChange
|
|
276
|
-
?
|
|
277
|
-
:
|
|
354
|
+
? activeTab.filterContext.workingFilterContextDefinition
|
|
355
|
+
: activeTab.filterContext.filterContextDefinition;
|
|
278
356
|
invariant(filterContextDefinition?.filters, "Attempt to edit uninitialized filter context");
|
|
279
357
|
const currentFilterIndex = filterContextDefinition.filters.findIndex((item) => isDashboardAttributeFilter(item) && item.attributeFilter.localIdentifier === filterLocalId);
|
|
280
358
|
invariant(currentFilterIndex >= 0 || isWorkingSelectionChange, "Attempt to set parent of a non-existing filter");
|
|
@@ -292,7 +370,7 @@ const changeAttributeDisplayForm = (state, action) => {
|
|
|
292
370
|
currentFilter.attributeFilter.displayForm = { ...displayForm };
|
|
293
371
|
// update original filters to not show "reset filters" button, that will revert filter to wrong state
|
|
294
372
|
if (enableImmediateAttributeFilterDisplayAsLabelMigration && isResultOfMigration) {
|
|
295
|
-
const originalFilter =
|
|
373
|
+
const originalFilter = activeTab.filterContext.originalFilterContextDefinition?.filters.find((item) => isDashboardAttributeFilter(item) && item.attributeFilter.localIdentifier === filterLocalId);
|
|
296
374
|
if (isDashboardAttributeFilter(originalFilter)) {
|
|
297
375
|
originalFilter.attributeFilter.displayForm = { ...displayForm };
|
|
298
376
|
}
|
|
@@ -302,9 +380,16 @@ const changeAttributeDisplayForm = (state, action) => {
|
|
|
302
380
|
* Changes the title for the filter given by its local identifier.
|
|
303
381
|
*/
|
|
304
382
|
const changeAttributeTitle = (state, action) => {
|
|
305
|
-
|
|
383
|
+
const activeTab = getActiveTab(state);
|
|
384
|
+
if (!activeTab) {
|
|
385
|
+
return;
|
|
386
|
+
}
|
|
387
|
+
if (!activeTab.filterContext) {
|
|
388
|
+
activeTab.filterContext = { ...filterContextInitialState };
|
|
389
|
+
}
|
|
390
|
+
invariant(activeTab.filterContext.filterContextDefinition, "Attempt to edit uninitialized filter context");
|
|
306
391
|
const { filterLocalId, title } = action.payload;
|
|
307
|
-
const findFilter =
|
|
392
|
+
const findFilter = activeTab.filterContext.filterContextDefinition.filters.find((item) => isDashboardAttributeFilter(item) && item.attributeFilter.localIdentifier === filterLocalId);
|
|
308
393
|
invariant(findFilter, "Attempt to change title of a non-existing filter");
|
|
309
394
|
findFilter.attributeFilter.title = title;
|
|
310
395
|
};
|
|
@@ -312,14 +397,28 @@ const changeAttributeTitle = (state, action) => {
|
|
|
312
397
|
* Changes the selection mode for the filter given by its local identifier.
|
|
313
398
|
*/
|
|
314
399
|
const changeSelectionMode = (state, action) => {
|
|
315
|
-
|
|
400
|
+
const activeTab = getActiveTab(state);
|
|
401
|
+
if (!activeTab) {
|
|
402
|
+
return;
|
|
403
|
+
}
|
|
404
|
+
if (!activeTab.filterContext) {
|
|
405
|
+
activeTab.filterContext = { ...filterContextInitialState };
|
|
406
|
+
}
|
|
407
|
+
invariant(activeTab.filterContext.filterContextDefinition, "Attempt to edit uninitialized filter context");
|
|
316
408
|
const { filterLocalId, selectionMode } = action.payload;
|
|
317
|
-
const findFilter =
|
|
409
|
+
const findFilter = activeTab.filterContext.filterContextDefinition.filters.find((item) => isDashboardAttributeFilter(item) && item.attributeFilter.localIdentifier === filterLocalId);
|
|
318
410
|
invariant(findFilter, "Attempt to change selection mode of a non-existing filter");
|
|
319
411
|
findFilter.attributeFilter.selectionMode = selectionMode;
|
|
320
412
|
};
|
|
321
413
|
const addDateFilter = (state, action) => {
|
|
322
|
-
|
|
414
|
+
const activeTab = getActiveTab(state);
|
|
415
|
+
if (!activeTab) {
|
|
416
|
+
return;
|
|
417
|
+
}
|
|
418
|
+
if (!activeTab.filterContext) {
|
|
419
|
+
activeTab.filterContext = { ...filterContextInitialState };
|
|
420
|
+
}
|
|
421
|
+
invariant(activeTab.filterContext.filterContextDefinition, "Attempt to edit uninitialized filter context");
|
|
323
422
|
const { index, dateDataset } = action.payload;
|
|
324
423
|
const filter = {
|
|
325
424
|
dateFilter: {
|
|
@@ -329,67 +428,113 @@ const addDateFilter = (state, action) => {
|
|
|
329
428
|
},
|
|
330
429
|
};
|
|
331
430
|
// Only draggable filters are indexed, if DateFilter is present should be always first item
|
|
332
|
-
const isCommonDateFilterPresent =
|
|
431
|
+
const isCommonDateFilterPresent = activeTab.filterContext.filterContextDefinition.filters.findIndex(isDashboardCommonDateFilter) >= 0;
|
|
333
432
|
if (index === -1) {
|
|
334
|
-
|
|
433
|
+
activeTab.filterContext.filterContextDefinition.filters.push(filter);
|
|
335
434
|
}
|
|
336
435
|
else {
|
|
337
436
|
// If CommonDateFilter is present we have to move index by 1 because index of filter is calculated just for AttributeFilers array
|
|
338
437
|
const newFilterIndex = isCommonDateFilterPresent ? index + 1 : index;
|
|
339
|
-
|
|
438
|
+
activeTab.filterContext.filterContextDefinition.filters.splice(newFilterIndex, 0, filter);
|
|
340
439
|
}
|
|
341
440
|
};
|
|
342
441
|
const removeDateFilter = (state, action) => {
|
|
343
|
-
|
|
442
|
+
const activeTab = getActiveTab(state);
|
|
443
|
+
if (!activeTab) {
|
|
444
|
+
return;
|
|
445
|
+
}
|
|
446
|
+
if (!activeTab.filterContext) {
|
|
447
|
+
activeTab.filterContext = { ...filterContextInitialState };
|
|
448
|
+
}
|
|
449
|
+
invariant(activeTab.filterContext.filterContextDefinition, "Attempt to edit uninitialized filter context");
|
|
344
450
|
const { dataSet } = action.payload;
|
|
345
|
-
|
|
451
|
+
const newFilters = activeTab.filterContext.filterContextDefinition.filters.filter((item) => isDashboardAttributeFilter(item) || !areObjRefsEqual(item.dateFilter.dataSet, dataSet));
|
|
452
|
+
activeTab.filterContext.filterContextDefinition = {
|
|
453
|
+
...activeTab.filterContext.filterContextDefinition,
|
|
454
|
+
filters: newFilters,
|
|
455
|
+
};
|
|
346
456
|
};
|
|
347
457
|
const moveDateFilter = (state, action) => {
|
|
348
|
-
|
|
458
|
+
const activeTab = getActiveTab(state);
|
|
459
|
+
if (!activeTab) {
|
|
460
|
+
return;
|
|
461
|
+
}
|
|
462
|
+
if (!activeTab.filterContext) {
|
|
463
|
+
activeTab.filterContext = { ...filterContextInitialState };
|
|
464
|
+
}
|
|
465
|
+
invariant(activeTab.filterContext.filterContextDefinition, "Attempt to edit uninitialized filter context");
|
|
349
466
|
const { dataSet, index } = action.payload;
|
|
350
|
-
const currentFilterIndex =
|
|
467
|
+
const currentFilterIndex = activeTab.filterContext.filterContextDefinition.filters.findIndex((item) => isDashboardDateFilter(item) && areObjRefsEqual(item.dateFilter.dataSet, dataSet));
|
|
351
468
|
invariant(currentFilterIndex >= 0, "Attempt to move non-existing filter");
|
|
352
|
-
const filter =
|
|
353
|
-
|
|
469
|
+
const filter = activeTab.filterContext.filterContextDefinition.filters[currentFilterIndex];
|
|
470
|
+
activeTab.filterContext.filterContextDefinition.filters.splice(currentFilterIndex, 1);
|
|
354
471
|
// Filters are indexed just for attribute filters, if DateFilter is present should be always first item
|
|
355
|
-
const isCommonDateFilterPresent =
|
|
472
|
+
const isCommonDateFilterPresent = activeTab.filterContext.filterContextDefinition.filters.findIndex(isDashboardCommonDateFilter) >= 0;
|
|
356
473
|
if (index === -1) {
|
|
357
|
-
|
|
474
|
+
activeTab.filterContext.filterContextDefinition.filters.push(filter);
|
|
358
475
|
}
|
|
359
476
|
else {
|
|
360
477
|
// If DateFilter is present we have to move index by 1 because index of filter is calculated just for DraggableFilters array
|
|
361
478
|
const dateFilterIndex = isCommonDateFilterPresent ? index + 1 : index;
|
|
362
|
-
|
|
479
|
+
activeTab.filterContext.filterContextDefinition.filters.splice(dateFilterIndex, 0, filter);
|
|
363
480
|
}
|
|
364
481
|
};
|
|
365
482
|
/**
|
|
366
483
|
* Changes the element limiting items for the filter given by its local identifier.
|
|
367
484
|
*/
|
|
368
485
|
const changeLimitingItems = (state, action) => {
|
|
369
|
-
|
|
486
|
+
const activeTab = getActiveTab(state);
|
|
487
|
+
if (!activeTab) {
|
|
488
|
+
return;
|
|
489
|
+
}
|
|
490
|
+
if (!activeTab.filterContext) {
|
|
491
|
+
activeTab.filterContext = { ...filterContextInitialState };
|
|
492
|
+
}
|
|
493
|
+
invariant(activeTab.filterContext.filterContextDefinition, "Attempt to edit uninitialized filter context");
|
|
370
494
|
const { filterLocalId, limitingItems } = action.payload;
|
|
371
|
-
const findFilter =
|
|
495
|
+
const findFilter = activeTab.filterContext.filterContextDefinition.filters.find((item) => isDashboardAttributeFilter(item) && item.attributeFilter.localIdentifier === filterLocalId);
|
|
372
496
|
invariant(findFilter, "Attempt to change limiting items of a non-existing filter");
|
|
373
497
|
findFilter.attributeFilter.validateElementsBy = limitingItems;
|
|
374
498
|
};
|
|
375
499
|
const applyWorkingSelection = (state, action) => {
|
|
376
|
-
|
|
500
|
+
const activeTab = getActiveTab(state);
|
|
501
|
+
if (!activeTab) {
|
|
502
|
+
return;
|
|
503
|
+
}
|
|
504
|
+
if (!activeTab.filterContext) {
|
|
505
|
+
activeTab.filterContext = { ...filterContextInitialState };
|
|
506
|
+
}
|
|
507
|
+
invariant(activeTab.filterContext.filterContextDefinition, "Attempt to edit uninitialized filter context");
|
|
377
508
|
const { enableImmediateAttributeFilterDisplayAsLabelMigration } = action.payload;
|
|
378
|
-
|
|
379
|
-
|
|
509
|
+
activeTab.filterContext.filterContextDefinition = applyFilterContext(activeTab.filterContext.filterContextDefinition, activeTab.filterContext.workingFilterContextDefinition, enableImmediateAttributeFilterDisplayAsLabelMigration);
|
|
510
|
+
activeTab.filterContext.workingFilterContextDefinition = { filters: [] };
|
|
380
511
|
};
|
|
381
512
|
//
|
|
382
513
|
//
|
|
383
514
|
//
|
|
384
515
|
const resetWorkingSelection = (state) => {
|
|
385
|
-
|
|
386
|
-
|
|
516
|
+
const activeTab = getActiveTab(state);
|
|
517
|
+
if (!activeTab) {
|
|
518
|
+
return;
|
|
519
|
+
}
|
|
520
|
+
if (!activeTab.filterContext) {
|
|
521
|
+
activeTab.filterContext = { ...filterContextInitialState };
|
|
522
|
+
}
|
|
523
|
+
invariant(activeTab.filterContext.workingFilterContextDefinition, "Attempt to edit uninitialized working filter context");
|
|
524
|
+
activeTab.filterContext.workingFilterContextDefinition = { filters: [] };
|
|
387
525
|
};
|
|
388
526
|
//
|
|
389
527
|
//
|
|
390
528
|
//
|
|
391
529
|
const setDefaultFilterOverrides = (state, action) => {
|
|
392
|
-
|
|
530
|
+
const activeTab = getActiveTab(state);
|
|
531
|
+
if (!activeTab) {
|
|
532
|
+
return;
|
|
533
|
+
}
|
|
534
|
+
if (!activeTab.filterContext) {
|
|
535
|
+
activeTab.filterContext = { ...filterContextInitialState };
|
|
536
|
+
}
|
|
537
|
+
activeTab.filterContext.defaultFilterOverrides = action.payload;
|
|
393
538
|
};
|
|
394
539
|
//
|
|
395
540
|
//
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filterContextReducers.js","sourceRoot":"","sources":["../../../../../src/model/store/tabs/filterContext/filterContextReducers.ts"],"names":[],"mappings":"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"}
|