@qrvey/utils 1.1.0-9 → 1.1.2-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/.eslintignore +5 -0
- package/.eslintrc.json +37 -0
- package/README.md +474 -285
- package/bitbucket-pipelines.yml +25 -0
- package/dist/cjs/constants/COLUMN.js +0 -1
- package/dist/cjs/constants/COLUMN_PROPERTY.d.ts +6 -0
- package/dist/cjs/constants/COLUMN_PROPERTY.js +0 -1
- package/dist/cjs/constants/COLUMN_PROPERTY_VALUE.js +4 -1
- package/dist/cjs/date/constants/DATE_DAY_HOURS.d.ts +1 -0
- package/dist/cjs/date/constants/DATE_DAY_HOURS.js +29 -0
- package/dist/cjs/date/constants/DATE_HOUR_MINUTES.d.ts +1 -0
- package/dist/cjs/date/constants/DATE_HOUR_MINUTES.js +65 -0
- package/dist/cjs/date/constants/DATE_MINUTE_SECONDS.d.ts +1 -0
- package/dist/cjs/date/constants/DATE_MINUTE_SECONDS.js +5 -0
- package/dist/cjs/date/constants/DATE_MONTH_DAYS.d.ts +1 -0
- package/dist/cjs/date/constants/DATE_MONTH_DAYS.js +36 -0
- package/dist/cjs/date/constants/DATE_PROPERTY.js +0 -1
- package/dist/cjs/date/constants/DATE_PROPERTY_VALUE.d.ts +8 -0
- package/dist/cjs/date/constants/DATE_PROPERTY_VALUE.js +17 -0
- package/dist/cjs/date/constants/DATE_P_PROPERTIES.d.ts +2 -0
- package/dist/cjs/date/constants/DATE_P_PROPERTIES.js +11 -0
- package/dist/cjs/date/constants/DATE_P_VALUES.d.ts +6 -0
- package/dist/cjs/date/constants/DATE_P_VALUES.js +8 -0
- package/dist/cjs/date/constants/DATE_TIME_P_VALUES.d.ts +6 -0
- package/dist/cjs/date/constants/DATE_TIME_P_VALUES.js +8 -0
- package/dist/cjs/date/constants/DATE_TIME_VALUES.js +1 -1
- package/dist/cjs/date/constants/DATE_WEEK_DAYS.d.ts +1 -0
- package/dist/cjs/date/constants/DATE_WEEK_DAYS.js +6 -0
- package/dist/cjs/date/constants/DATE_YEAR_DAYS.d.ts +1 -0
- package/dist/cjs/date/constants/DATE_YEAR_DAYS.js +370 -0
- package/dist/cjs/date/constants/DATE_YEAR_MONTHS.d.ts +1 -0
- package/dist/cjs/date/constants/DATE_YEAR_MONTHS.js +4 -0
- package/dist/cjs/date/constants/DATE_YEAR_QUARTERS.d.ts +1 -0
- package/dist/cjs/date/constants/DATE_YEAR_QUARTERS.js +4 -0
- package/dist/cjs/date/constants/index.d.ts +12 -0
- package/dist/cjs/date/constants/index.js +12 -0
- package/dist/cjs/date/range/getDateRange.js +26 -21
- package/dist/cjs/date/relative/Adapter.js +1 -1
- package/dist/cjs/date/relative/constants/DATE_FORMATS.d.ts +1 -1
- package/dist/cjs/date/relative/constants/DATE_FORMATS.js +3 -3
- package/dist/cjs/date/relative/helpers/formatStatement.js +6 -6
- package/dist/cjs/filters/adapters/FDToFlatUI.js +5 -12
- package/dist/cjs/filters/adapters/FDToUI.js +2 -3
- package/dist/cjs/filters/adapters/UIToFlatUI.js +5 -12
- package/dist/cjs/filters/adapters/UIToOldLogic.js +9 -1
- package/dist/cjs/filters/adapters/adaptFilterData.js +1 -1
- package/dist/cjs/filters/adapters/flatUIToFD.js +3 -7
- package/dist/cjs/filters/adapters/flatUIToOldLogic.js +41 -62
- package/dist/cjs/filters/adapters/flatUIToUI.js +2 -7
- package/dist/cjs/filters/adapters/logicToFlatUI.js +89 -74
- package/dist/cjs/filters/adapters/transformFilters.d.ts +1 -1
- package/dist/cjs/filters/adapters/transformFilters.js +18 -25
- package/dist/cjs/filters/constants/backend/FILTER_BACKEND_VALIDATOR.js +0 -1
- package/dist/cjs/filters/constants/common/FILTER_GROUPED_COLUMN_OPERATOR.d.ts +2 -0
- package/dist/cjs/filters/constants/common/FILTER_GROUPED_COLUMN_OPERATOR.js +4 -0
- package/dist/cjs/filters/constants/common/FILTER_OPERATOR.js +0 -1
- package/dist/cjs/filters/constants/common/FILTER_VALIDATOR.js +0 -1
- package/dist/cjs/filters/constants/common/index.d.ts +1 -0
- package/dist/cjs/filters/constants/common/index.js +1 -0
- package/dist/cjs/filters/helpers/backend/buildExpression.d.ts +6 -0
- package/dist/cjs/filters/helpers/backend/buildExpression.js +9 -2
- package/dist/cjs/filters/helpers/backend/getBackendGroupValue.js +2 -1
- package/dist/cjs/filters/helpers/backend/getBackendProperty.js +7 -2
- package/dist/cjs/filters/helpers/backend/getBackendValues.js +34 -18
- package/dist/cjs/filters/helpers/common/arePropertiesDateP.d.ts +8 -0
- package/dist/cjs/filters/helpers/common/arePropertiesDateP.js +16 -0
- package/dist/cjs/filters/helpers/common/getFilterColumnLabel.js +1 -1
- package/dist/cjs/filters/helpers/common/getFilterid.js +1 -1
- package/dist/cjs/filters/helpers/common/getFiltersByParams.js +5 -5
- package/dist/cjs/filters/helpers/common/getFiltersByVisibility.js +1 -1
- package/dist/cjs/filters/helpers/common/getMergeFiltersSettings.d.ts +7 -0
- package/dist/cjs/filters/helpers/common/getMergeFiltersSettings.js +16 -0
- package/dist/cjs/filters/helpers/common/getParamsToGetFilterSettings.d.ts +5 -0
- package/dist/cjs/filters/helpers/common/getParamsToGetFilterSettings.js +11 -1
- package/dist/cjs/filters/helpers/common/index.d.ts +2 -0
- package/dist/cjs/filters/helpers/common/index.js +2 -0
- package/dist/cjs/filters/helpers/common/mergeFilters.d.ts +2 -1
- package/dist/cjs/filters/helpers/common/mergeFilters.js +27 -10
- package/dist/cjs/filters/helpers/common/resolveDatasetConditions.js +1 -1
- package/dist/cjs/filters/helpers/common/resolveFilterConditions.js +2 -3
- package/dist/cjs/filters/helpers/common/resolveScopeConditions.js +1 -1
- package/dist/cjs/filters/helpers/getAggFiltersFromFilterData.d.ts +1 -1
- package/dist/cjs/filters/helpers/getAggFiltersFromFilterData.js +18 -19
- package/dist/cjs/filters/helpers/getScopesByHierarchy.js +2 -2
- package/dist/cjs/filters/helpers/ui/excludeUIFlatFiltersByScopes.d.ts +1 -1
- package/dist/cjs/filters/helpers/ui/excludeUIFlatFiltersByScopes.js +1 -1
- package/dist/cjs/filters/helpers/ui/getUIFlatFilterByParams.d.ts +1 -1
- package/dist/cjs/filters/helpers/ui/getUIFlatFilterByParams.js +1 -1
- package/dist/cjs/filters/helpers/ui/getUIFlatFiltersByParams.d.ts +1 -1
- package/dist/cjs/filters/helpers/ui/getUIFlatFiltersByParams.js +1 -1
- package/dist/cjs/filters/helpers/ui/getUIFlatFiltersByScopes.d.ts +1 -1
- package/dist/cjs/filters/helpers/ui/getUIFlatFiltersByScopes.js +1 -1
- package/dist/cjs/filters/helpers/ui/getUIValues.js +6 -5
- package/dist/cjs/filters/interfaces/OLD_IFilterDetail.d.ts +3 -0
- package/dist/cjs/filters/interfaces/common/IFSFilterExtras.d.ts +3 -0
- package/dist/cjs/filters/interfaces/common/IFSFilterExtrasInfo.d.ts +4 -0
- package/dist/cjs/filters/interfaces/common/IFSFilterExtrasInfo.js +2 -0
- package/dist/cjs/filters/interfaces/common/IFSMergeFiltersSettings.d.ts +7 -0
- package/dist/cjs/filters/interfaces/common/IFSMergeFiltersSettings.js +2 -0
- package/dist/cjs/filters/interfaces/common/IFSParamsToGetFilter.d.ts +2 -1
- package/dist/cjs/filters/interfaces/common/IFSParamsToGetFilterEnableds.d.ts +9 -0
- package/dist/cjs/filters/interfaces/common/IFSParamsToGetFilterEnableds.js +2 -0
- package/dist/cjs/filters/interfaces/common/IFSParamsToGetFilterSettings.d.ts +5 -0
- package/dist/cjs/filters/interfaces/common/index.d.ts +3 -0
- package/dist/cjs/filters/interfaces/common/index.js +3 -0
- package/dist/cjs/filters/interfaces/panel/IFPSettingsFilterPanelBodyScopeScope.d.ts +1 -0
- package/dist/cjs/filters/interfaces/panel/IFPSettingsFilterPanelHeader.d.ts +1 -0
- package/dist/cjs/filters/interfaces/panel/IFPSettingsFilterPanelSettings.d.ts +4 -0
- package/dist/cjs/filters/interfaces/panel/IFPSettingsFilterPanelSettingsScope.d.ts +7 -0
- package/dist/cjs/filters/interfaces/panel/IFPSettingsFilterPanelSettingsScope.js +2 -0
- package/dist/cjs/filters/interfaces/panel/index.d.ts +1 -0
- package/dist/cjs/filters/interfaces/panel/index.js +1 -0
- package/dist/cjs/format/definition.d.ts +3 -2
- package/dist/cjs/format/format.d.ts +1 -1
- package/dist/cjs/format/format.js +25 -26
- package/dist/cjs/general/array/delete.d.ts +4 -4
- package/dist/cjs/general/array/delete.js +8 -6
- package/dist/cjs/general/array/filterNestedTree.js +1 -1
- package/dist/cjs/general/array/flattenDeep.d.ts +1 -1
- package/dist/cjs/general/array/flattenDeep.js +4 -2
- package/dist/cjs/general/array/getFirstIndexFromArray.d.ts +1 -1
- package/dist/cjs/general/array/getFirstIndexFromArray.js +7 -5
- package/dist/cjs/general/array/getLastIndexFromArray.d.ts +1 -1
- package/dist/cjs/general/array/getLastIndexFromArray.js +6 -4
- package/dist/cjs/general/function/debounce.d.ts +1 -1
- package/dist/cjs/general/function/throttled.d.ts +1 -1
- package/dist/cjs/general/function/throttled.js +1 -1
- package/dist/cjs/general/mix/importScripts.d.ts +1 -1
- package/dist/cjs/general/mix/isEmpty.d.ts +5 -4
- package/dist/cjs/general/mix/isEmpty.js +12 -6
- package/dist/cjs/general/mix/randomId.d.ts +1 -1
- package/dist/cjs/general/mix/randomId.js +1 -2
- package/dist/cjs/general/mix/size.d.ts +1 -1
- package/dist/cjs/general/object/cloneDeep.d.ts +4 -4
- package/dist/cjs/general/object/cloneDeep.js +14 -6
- package/dist/cjs/general/object/get.d.ts +47 -15
- package/dist/cjs/general/object/get.js +61 -37
- package/dist/cjs/general/object/getAttribute.d.ts +1 -1
- package/dist/cjs/general/object/hasProperty.d.ts +1 -1
- package/dist/cjs/general/object/hasProperty.js +1 -1
- package/dist/cjs/general/object/index.d.ts +1 -0
- package/dist/cjs/general/object/index.js +1 -0
- package/dist/cjs/general/object/isObject.d.ts +6 -0
- package/dist/cjs/general/object/isObject.js +12 -0
- package/dist/cjs/general/object/mapValues.d.ts +1 -1
- package/dist/cjs/general/object/mapValues.js +0 -1
- package/dist/cjs/general/object/omit.js +1 -1
- package/dist/cjs/general/object/pick.js +0 -1
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.js +2 -0
- package/dist/cjs/qrvey/getColumnsLabel.js +4 -4
- package/dist/cjs/qrvey/index.d.ts +3 -0
- package/dist/cjs/qrvey/index.js +15 -0
- package/dist/cjs/tokens/index.d.ts +1 -0
- package/dist/cjs/tokens/index.js +13 -0
- package/dist/cjs/tokens/isTokenLabel.d.ts +6 -0
- package/dist/cjs/tokens/isTokenLabel.js +16 -0
- package/dist/constants/COLUMN.js +0 -1
- package/dist/constants/COLUMN_PROPERTY.d.ts +6 -0
- package/dist/constants/COLUMN_PROPERTY.js +0 -1
- package/dist/constants/COLUMN_PROPERTY_VALUE.js +4 -1
- package/dist/date/constants/DATE_DAY_HOURS.d.ts +1 -0
- package/dist/date/constants/DATE_DAY_HOURS.js +26 -0
- package/dist/date/constants/DATE_HOUR_MINUTES.d.ts +1 -0
- package/dist/date/constants/DATE_HOUR_MINUTES.js +62 -0
- package/dist/date/constants/DATE_MINUTE_SECONDS.d.ts +1 -0
- package/dist/date/constants/DATE_MINUTE_SECONDS.js +2 -0
- package/dist/date/constants/DATE_MONTH_DAYS.d.ts +1 -0
- package/dist/date/constants/DATE_MONTH_DAYS.js +33 -0
- package/dist/date/constants/DATE_PROPERTY.js +0 -1
- package/dist/date/constants/DATE_PROPERTY_VALUE.d.ts +8 -0
- package/dist/date/constants/DATE_PROPERTY_VALUE.js +14 -0
- package/dist/date/constants/DATE_P_PROPERTIES.d.ts +2 -0
- package/dist/date/constants/DATE_P_PROPERTIES.js +8 -0
- package/dist/date/constants/DATE_P_VALUES.d.ts +6 -0
- package/dist/date/constants/DATE_P_VALUES.js +5 -0
- package/dist/date/constants/DATE_TIME_P_VALUES.d.ts +6 -0
- package/dist/date/constants/DATE_TIME_P_VALUES.js +5 -0
- package/dist/date/constants/DATE_TIME_VALUES.js +1 -1
- package/dist/date/constants/DATE_WEEK_DAYS.d.ts +1 -0
- package/dist/date/constants/DATE_WEEK_DAYS.js +3 -0
- package/dist/date/constants/DATE_YEAR_DAYS.d.ts +1 -0
- package/dist/date/constants/DATE_YEAR_DAYS.js +367 -0
- package/dist/date/constants/DATE_YEAR_MONTHS.d.ts +1 -0
- package/dist/date/constants/DATE_YEAR_MONTHS.js +1 -0
- package/dist/date/constants/DATE_YEAR_QUARTERS.d.ts +1 -0
- package/dist/date/constants/DATE_YEAR_QUARTERS.js +1 -0
- package/dist/date/constants/index.d.ts +12 -0
- package/dist/date/constants/index.js +12 -0
- package/dist/date/range/getDateRange.js +26 -21
- package/dist/date/relative/Adapter.js +2 -2
- package/dist/date/relative/constants/DATE_FORMATS.d.ts +1 -1
- package/dist/date/relative/constants/DATE_FORMATS.js +3 -3
- package/dist/date/relative/helpers/formatStatement.js +7 -7
- package/dist/filters/adapters/FDToFlatUI.js +5 -12
- package/dist/filters/adapters/FDToUI.js +2 -3
- package/dist/filters/adapters/UIToFlatUI.js +5 -12
- package/dist/filters/adapters/UIToOldLogic.js +9 -1
- package/dist/filters/adapters/adaptFilterData.js +1 -1
- package/dist/filters/adapters/flatUIToFD.js +3 -7
- package/dist/filters/adapters/flatUIToOldLogic.js +42 -63
- package/dist/filters/adapters/flatUIToUI.js +3 -8
- package/dist/filters/adapters/logicToFlatUI.js +91 -76
- package/dist/filters/adapters/transformFilters.d.ts +1 -1
- package/dist/filters/adapters/transformFilters.js +19 -26
- package/dist/filters/constants/backend/FILTER_BACKEND_VALIDATOR.js +0 -1
- package/dist/filters/constants/common/FILTER_GROUPED_COLUMN_OPERATOR.d.ts +2 -0
- package/dist/filters/constants/common/FILTER_GROUPED_COLUMN_OPERATOR.js +1 -0
- package/dist/filters/constants/common/FILTER_OPERATOR.js +0 -1
- package/dist/filters/constants/common/FILTER_VALIDATOR.js +0 -1
- package/dist/filters/constants/common/index.d.ts +1 -0
- package/dist/filters/constants/common/index.js +1 -0
- package/dist/filters/helpers/backend/buildExpression.d.ts +6 -0
- package/dist/filters/helpers/backend/buildExpression.js +9 -2
- package/dist/filters/helpers/backend/getBackendGroupValue.js +2 -1
- package/dist/filters/helpers/backend/getBackendProperty.js +8 -3
- package/dist/filters/helpers/backend/getBackendValues.js +34 -18
- package/dist/filters/helpers/common/arePropertiesDateP.d.ts +8 -0
- package/dist/filters/helpers/common/arePropertiesDateP.js +12 -0
- package/dist/filters/helpers/common/getFilterColumnLabel.js +1 -1
- package/dist/filters/helpers/common/getFilterid.js +1 -1
- package/dist/filters/helpers/common/getFiltersByParams.js +6 -6
- package/dist/filters/helpers/common/getFiltersByVisibility.js +1 -1
- package/dist/filters/helpers/common/getMergeFiltersSettings.d.ts +7 -0
- package/dist/filters/helpers/common/getMergeFiltersSettings.js +12 -0
- package/dist/filters/helpers/common/getParamsToGetFilterSettings.d.ts +5 -0
- package/dist/filters/helpers/common/getParamsToGetFilterSettings.js +11 -1
- package/dist/filters/helpers/common/index.d.ts +2 -0
- package/dist/filters/helpers/common/index.js +2 -0
- package/dist/filters/helpers/common/mergeFilters.d.ts +2 -1
- package/dist/filters/helpers/common/mergeFilters.js +27 -10
- package/dist/filters/helpers/common/resolveDatasetConditions.js +1 -1
- package/dist/filters/helpers/common/resolveFilterConditions.js +2 -3
- package/dist/filters/helpers/common/resolveScopeConditions.js +1 -1
- package/dist/filters/helpers/getAggFiltersFromFilterData.d.ts +1 -1
- package/dist/filters/helpers/getAggFiltersFromFilterData.js +18 -19
- package/dist/filters/helpers/getScopesByHierarchy.js +2 -2
- package/dist/filters/helpers/ui/excludeUIFlatFiltersByScopes.d.ts +1 -1
- package/dist/filters/helpers/ui/excludeUIFlatFiltersByScopes.js +1 -1
- package/dist/filters/helpers/ui/getUIFlatFilterByParams.d.ts +1 -1
- package/dist/filters/helpers/ui/getUIFlatFilterByParams.js +1 -1
- package/dist/filters/helpers/ui/getUIFlatFiltersByParams.d.ts +1 -1
- package/dist/filters/helpers/ui/getUIFlatFiltersByParams.js +1 -1
- package/dist/filters/helpers/ui/getUIFlatFiltersByScopes.d.ts +1 -1
- package/dist/filters/helpers/ui/getUIFlatFiltersByScopes.js +1 -1
- package/dist/filters/helpers/ui/getUIValues.js +6 -5
- package/dist/filters/interfaces/OLD_IFilterDetail.d.ts +3 -0
- package/dist/filters/interfaces/common/IFSFilterExtras.d.ts +3 -0
- package/dist/filters/interfaces/common/IFSFilterExtrasInfo.d.ts +4 -0
- package/dist/filters/interfaces/common/IFSFilterExtrasInfo.js +1 -0
- package/dist/filters/interfaces/common/IFSMergeFiltersSettings.d.ts +7 -0
- package/dist/filters/interfaces/common/IFSMergeFiltersSettings.js +1 -0
- package/dist/filters/interfaces/common/IFSParamsToGetFilter.d.ts +2 -1
- package/dist/filters/interfaces/common/IFSParamsToGetFilterEnableds.d.ts +9 -0
- package/dist/filters/interfaces/common/IFSParamsToGetFilterEnableds.js +1 -0
- package/dist/filters/interfaces/common/IFSParamsToGetFilterSettings.d.ts +5 -0
- package/dist/filters/interfaces/common/index.d.ts +3 -0
- package/dist/filters/interfaces/common/index.js +3 -0
- package/dist/filters/interfaces/panel/IFPSettingsFilterPanelBodyScopeScope.d.ts +1 -0
- package/dist/filters/interfaces/panel/IFPSettingsFilterPanelHeader.d.ts +1 -0
- package/dist/filters/interfaces/panel/IFPSettingsFilterPanelSettings.d.ts +4 -0
- package/dist/filters/interfaces/panel/IFPSettingsFilterPanelSettingsScope.d.ts +7 -0
- package/dist/filters/interfaces/panel/IFPSettingsFilterPanelSettingsScope.js +1 -0
- package/dist/filters/interfaces/panel/index.d.ts +1 -0
- package/dist/filters/interfaces/panel/index.js +1 -0
- package/dist/format/definition.d.ts +3 -2
- package/dist/format/format.d.ts +1 -1
- package/dist/format/format.js +12 -13
- package/dist/general/array/delete.d.ts +4 -4
- package/dist/general/array/delete.js +8 -6
- package/dist/general/array/filterNestedTree.js +1 -1
- package/dist/general/array/flattenDeep.d.ts +1 -1
- package/dist/general/array/flattenDeep.js +4 -2
- package/dist/general/array/getFirstIndexFromArray.d.ts +1 -1
- package/dist/general/array/getFirstIndexFromArray.js +7 -5
- package/dist/general/array/getLastIndexFromArray.d.ts +1 -1
- package/dist/general/array/getLastIndexFromArray.js +6 -4
- package/dist/general/function/debounce.d.ts +1 -1
- package/dist/general/function/throttled.d.ts +1 -1
- package/dist/general/function/throttled.js +1 -1
- package/dist/general/mix/importScripts.d.ts +1 -1
- package/dist/general/mix/isEmpty.d.ts +5 -4
- package/dist/general/mix/isEmpty.js +12 -6
- package/dist/general/mix/randomId.d.ts +1 -1
- package/dist/general/mix/randomId.js +1 -2
- package/dist/general/mix/size.d.ts +1 -1
- package/dist/general/object/cloneDeep.d.ts +4 -4
- package/dist/general/object/cloneDeep.js +14 -6
- package/dist/general/object/get.d.ts +47 -15
- package/dist/general/object/get.js +59 -34
- package/dist/general/object/getAttribute.d.ts +1 -1
- package/dist/general/object/hasProperty.d.ts +1 -1
- package/dist/general/object/hasProperty.js +1 -1
- package/dist/general/object/index.d.ts +1 -0
- package/dist/general/object/index.js +1 -0
- package/dist/general/object/isObject.d.ts +6 -0
- package/dist/general/object/isObject.js +8 -0
- package/dist/general/object/mapValues.d.ts +1 -1
- package/dist/general/object/mapValues.js +0 -1
- package/dist/general/object/omit.js +1 -1
- package/dist/general/object/pick.js +0 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/qrvey/getColumnsLabel.js +5 -5
- package/dist/qrvey/index.d.ts +3 -0
- package/dist/qrvey/index.js +3 -0
- package/dist/tokens/index.d.ts +1 -0
- package/dist/tokens/index.js +1 -0
- package/dist/tokens/isTokenLabel.d.ts +6 -0
- package/dist/tokens/isTokenLabel.js +12 -0
- package/package.json +17 -10
- package/prepareToPublish.js +52 -0
- package/src/constants/COLUMN.ts +1 -1
- package/src/constants/COLUMN_PROPERTY.ts +13 -2
- package/src/constants/COLUMN_PROPERTY_VALUE.ts +6 -1
- package/src/date/constants/DATE_DAY_HOURS.ts +27 -0
- package/src/date/constants/DATE_HOUR_MINUTES.ts +63 -0
- package/src/date/constants/DATE_MINUTE_SECONDS.ts +3 -0
- package/src/date/constants/DATE_MONTH_DAYS.ts +34 -0
- package/src/date/constants/DATE_PROPERTY.ts +1 -1
- package/src/date/constants/DATE_PROPERTY_VALUE.ts +16 -0
- package/src/date/constants/DATE_P_PROPERTIES.ts +10 -0
- package/src/date/constants/DATE_P_VALUES.ts +7 -0
- package/src/date/constants/DATE_TIME_PROPERTIES.ts +0 -1
- package/src/date/constants/DATE_TIME_P_VALUES.ts +7 -0
- package/src/date/constants/DATE_TIME_VALUES.ts +1 -1
- package/src/date/constants/DATE_WEEK_DAYS.ts +4 -0
- package/src/date/constants/DATE_YEAR_DAYS.ts +368 -0
- package/src/date/constants/DATE_YEAR_MONTHS.ts +2 -0
- package/src/date/constants/DATE_YEAR_QUARTERS.ts +1 -0
- package/src/date/constants/index.ts +12 -0
- package/src/date/range/getDateRange.ts +46 -42
- package/src/date/relative/Adapter.ts +2 -2
- package/src/date/relative/constants/DATE_FORMATS.ts +3 -4
- package/src/date/relative/constants/RELATIVE_CURSOR_VALUE.ts +1 -1
- package/src/date/relative/helpers/formatStatement.ts +8 -8
- package/src/date/relative/index.ts +1 -1
- package/src/filters/adapters/FDToFlatUI.ts +7 -3
- package/src/filters/adapters/FDToUI.ts +5 -6
- package/src/filters/adapters/UIToFD.ts +1 -1
- package/src/filters/adapters/UIToFlatUI.ts +9 -5
- package/src/filters/adapters/UIToOldLogic.ts +11 -3
- package/src/filters/adapters/adaptFilterData.ts +1 -1
- package/src/filters/adapters/flatUIToFD.ts +5 -1
- package/src/filters/adapters/flatUIToOldLogic.ts +57 -71
- package/src/filters/adapters/flatUIToUI.ts +4 -1
- package/src/filters/adapters/logicToFlatUI.ts +101 -77
- package/src/filters/adapters/transformFilters.ts +22 -30
- package/src/filters/constants/backend/FILTER_BACKEND_VALIDATOR.ts +1 -1
- package/src/filters/constants/common/FILTER_GROUPED_COLUMN_OPERATOR.ts +3 -0
- package/src/filters/constants/common/FILTER_OPERATOR.ts +1 -1
- package/src/filters/constants/common/FILTER_VALIDATOR.ts +1 -1
- package/src/filters/constants/common/index.ts +1 -0
- package/src/filters/helpers/backend/buildExpression.ts +11 -3
- package/src/filters/helpers/backend/buildFilters.ts +2 -2
- package/src/filters/helpers/backend/getBackendGroupValue.ts +2 -1
- package/src/filters/helpers/backend/getBackendProperty.ts +6 -3
- package/src/filters/helpers/backend/getBackendValues.ts +27 -23
- package/src/filters/helpers/builder/getFilterBuilderGeneralConfig.ts +1 -1
- package/src/filters/helpers/common/areFiltersEquals.ts +1 -1
- package/src/filters/helpers/common/arePropertiesDateP.ts +14 -0
- package/src/filters/helpers/common/excludeFiltersByParams.ts +1 -1
- package/src/filters/helpers/common/getFilterColumnLabel.ts +1 -1
- package/src/filters/helpers/common/getFilterLabel.ts +1 -1
- package/src/filters/helpers/common/getFilterid.ts +1 -1
- package/src/filters/helpers/common/getFiltersByAggregateColumn.ts +1 -1
- package/src/filters/helpers/common/getFiltersByParams.ts +6 -7
- package/src/filters/helpers/common/getFiltersByVisibility.ts +1 -1
- package/src/filters/helpers/common/getMergeFiltersSettings.ts +13 -0
- package/src/filters/helpers/common/getParamsToGetFilterSettings.ts +11 -1
- package/src/filters/helpers/common/index.ts +2 -0
- package/src/filters/helpers/common/isInValidator.ts +1 -1
- package/src/filters/helpers/common/mergeFilters.ts +30 -17
- package/src/filters/helpers/common/resolveDatasetConditions.ts +1 -1
- package/src/filters/helpers/common/resolveFilterConditions.ts +2 -3
- package/src/filters/helpers/common/resolveScopeConditions.ts +1 -1
- package/src/filters/helpers/getAggFiltersFromFilterData.ts +20 -23
- package/src/filters/helpers/getAvailableScopesIDsByConfig.ts +1 -1
- package/src/filters/helpers/getScopesByHierarchy.ts +2 -2
- package/src/filters/helpers/ui/excludeUIFlatFiltersByScopes.ts +2 -2
- package/src/filters/helpers/ui/getUIFlatFilterByParams.ts +1 -1
- package/src/filters/helpers/ui/getUIFlatFiltersByParams.ts +1 -1
- package/src/filters/helpers/ui/getUIFlatFiltersByScopes.ts +1 -1
- package/src/filters/helpers/ui/getUIValues.ts +9 -9
- package/src/filters/helpers/ui/resolveUIFlatFiltersByParams.ts +1 -1
- package/src/filters/interfaces/OLD_IFilterDetail.ts +4 -0
- package/src/filters/interfaces/backend/IFBExpression.ts +1 -1
- package/src/filters/interfaces/common/IFSFilterExtras.ts +4 -0
- package/src/filters/interfaces/common/IFSFilterExtrasInfo.ts +5 -0
- package/src/filters/interfaces/common/IFSMergeFiltersSettings.ts +8 -0
- package/src/filters/interfaces/common/IFSParamsToGetFilter.ts +2 -1
- package/src/filters/interfaces/common/IFSParamsToGetFilterEnableds.ts +9 -0
- package/src/filters/interfaces/common/IFSParamsToGetFilterSettings.ts +5 -0
- package/src/filters/interfaces/common/index.ts +3 -0
- package/src/filters/interfaces/panel/IFPSettingsFilterPanelBodyScopeScope.ts +1 -0
- package/src/filters/interfaces/panel/IFPSettingsFilterPanelHeader.ts +1 -0
- package/src/filters/interfaces/panel/IFPSettingsFilterPanelSettings.ts +4 -0
- package/src/filters/interfaces/panel/IFPSettingsFilterPanelSettingsScope.ts +7 -0
- package/src/filters/interfaces/panel/IFilterPanelConfig.ts +0 -2
- package/src/filters/interfaces/panel/index.ts +1 -0
- package/src/filters/interfaces/ui/IFUFilterExtras.ts +1 -1
- package/src/format/definition.ts +7 -8
- package/src/format/format.ts +19 -22
- package/src/general/array/delete.ts +10 -6
- package/src/general/array/filterNestedTree.ts +1 -1
- package/src/general/array/flattenDeep.ts +3 -2
- package/src/general/array/getFirstIndexFromArray.ts +8 -6
- package/src/general/array/getLastIndexFromArray.ts +7 -5
- package/src/general/function/debounce.ts +2 -2
- package/src/general/function/throttled.ts +3 -3
- package/src/general/mix/importScripts.ts +1 -1
- package/src/general/mix/isEmpty.ts +12 -7
- package/src/general/mix/isNull.ts +2 -2
- package/src/general/mix/randomId.ts +2 -2
- package/src/general/mix/size.ts +1 -1
- package/src/general/object/cloneDeep.ts +15 -6
- package/src/general/object/get.ts +59 -31
- package/src/general/object/getAttribute.ts +1 -1
- package/src/general/object/hasProperty.ts +1 -1
- package/src/general/object/index.ts +3 -2
- package/src/general/object/isObject.ts +8 -0
- package/src/general/object/mapValues.ts +2 -2
- package/src/general/object/omit.ts +2 -2
- package/src/general/object/pick.ts +1 -1
- package/src/general/string/capitalize.ts +1 -1
- package/src/index.ts +3 -1
- package/src/qrvey/getColumnsLabel.ts +5 -5
- package/src/qrvey/index.ts +3 -0
- package/src/qrvey/isComplexColumn.ts +1 -1
- package/src/qrvey/isDateColumn.ts +1 -1
- package/src/stencil/decorators/Config.ts +2 -2
- package/src/tokens/index.ts +1 -0
- package/src/tokens/isTokenLabel.ts +13 -0
- package/src/typescript/decorators/Debounce.ts +2 -2
- package/src/typescript/decorators/Throttled.ts +2 -2
- package/test/format.test.js +97 -5
- package/test/general/array/delete.test.js +64 -0
- package/test/general/array/flattenDeep.test.js +44 -0
- package/test/general/array/getFirstIndexFromArray.test.js +56 -0
- package/test/general/array/getLastIndexFromArray.test.js +56 -0
- package/test/general/mix/isEmpty.test.js +144 -0
- package/test/general/object/cloneDeep.test.js +152 -0
- package/test/general/object/get.test.js +247 -0
- package/test/relative.test.js +24 -24
|
@@ -22,28 +22,42 @@ function getBackendValues(filter) {
|
|
|
22
22
|
case "NOT_START_WITH" /* NOT_START_WITH */:
|
|
23
23
|
case "ENDS_WITH" /* ENDS_WITH */:
|
|
24
24
|
case "NOT_END_WITH" /* NOT_END_WITH */:
|
|
25
|
-
return filter.values.map(value => value.value);
|
|
25
|
+
return filter.values.map(value => value.enabled ? value.value : undefined);
|
|
26
26
|
case "BETWEEN_INCLUSIVE" /* BETWEEN_INCLUSIVE */:
|
|
27
|
-
return filter.values.map(value =>
|
|
27
|
+
return filter.values.map(value => value.enabled ?
|
|
28
|
+
{ lte: value.max, gte: value.min }
|
|
29
|
+
: undefined).filter(Boolean);
|
|
28
30
|
case "BETWEEN_EXCLUSIVE" /* BETWEEN_EXCLUSIVE */:
|
|
29
|
-
return filter.values.map(value =>
|
|
31
|
+
return filter.values.map(value => value.enabled ?
|
|
32
|
+
{ lt: value.max, gt: value.min }
|
|
33
|
+
: undefined).filter(Boolean);
|
|
30
34
|
case "BEFORE" /* BEFORE */:
|
|
31
35
|
case "LESS_THAN" /* LESS_THAN */:
|
|
32
|
-
return filter.values.map(value =>
|
|
36
|
+
return filter.values.map(value => value.enabled ?
|
|
37
|
+
{ lt: value.max }
|
|
38
|
+
: undefined).filter(Boolean);
|
|
33
39
|
case "BEFORE_ON" /* BEFORE_ON */:
|
|
34
40
|
case "LESS_THAN_EQUAL" /* LESS_THAN_EQUAL */:
|
|
35
|
-
return filter.values.map(value =>
|
|
41
|
+
return filter.values.map(value => value.enabled ?
|
|
42
|
+
{ lte: value.max }
|
|
43
|
+
: undefined).filter(Boolean);
|
|
36
44
|
case "AFTER" /* AFTER */:
|
|
37
45
|
case "GREATER_THAN" /* GREATER_THAN */:
|
|
38
|
-
return filter.values.map(value =>
|
|
46
|
+
return filter.values.map(value => value.enabled ?
|
|
47
|
+
{ gt: value.min }
|
|
48
|
+
: undefined).filter(Boolean);
|
|
39
49
|
case "AFTER_ON" /* AFTER_ON */:
|
|
40
50
|
case "GREATER_THAN_EQUAL" /* GREATER_THAN_EQUAL */:
|
|
41
|
-
return filter.values.map(value =>
|
|
51
|
+
return filter.values.map(value => value.enabled ?
|
|
52
|
+
{ gte: value.min }
|
|
53
|
+
: undefined).filter(Boolean);
|
|
42
54
|
case "IS_NULL" /* IS_NULL */:
|
|
43
|
-
case "IS_NOT_NULL" /* IS_NOT_NULL */:
|
|
44
|
-
|
|
55
|
+
case "IS_NOT_NULL" /* IS_NOT_NULL */: {
|
|
56
|
+
const addValue = filter.values.length > 0 && filter.values.every(value => value.enabled);
|
|
57
|
+
return addValue ? [constants_2.FILTER_VALIDATOR_VALUE[filter.validator].label] : [];
|
|
58
|
+
}
|
|
45
59
|
case "IN" /* IN */:
|
|
46
|
-
return filter.values;
|
|
60
|
+
return filter.values.map(value => value.enabled ? value : undefined).filter(Boolean);
|
|
47
61
|
default:
|
|
48
62
|
return [];
|
|
49
63
|
}
|
|
@@ -57,13 +71,15 @@ exports.getBackendValues = getBackendValues;
|
|
|
57
71
|
*/
|
|
58
72
|
function getResultValues(values, filter) {
|
|
59
73
|
return values.map((value) => {
|
|
60
|
-
if (
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
74
|
+
if (value.enabled) {
|
|
75
|
+
if (filter.column.type === constants_1.COLUMN.IMAGE) {
|
|
76
|
+
return value.valueid;
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
return value.value;
|
|
80
|
+
}
|
|
65
81
|
}
|
|
66
|
-
}).filter(
|
|
82
|
+
}).filter(Boolean);
|
|
67
83
|
}
|
|
68
84
|
/**
|
|
69
85
|
* Gets the Ranking values.
|
|
@@ -73,8 +89,8 @@ function getResultValues(values, filter) {
|
|
|
73
89
|
*/
|
|
74
90
|
function getRankingValues(values, rankingGroupIndex) {
|
|
75
91
|
const flattenValues = rankingGroupIndex == null ? general_1.flattenDeep(values) : values[rankingGroupIndex];
|
|
76
|
-
return flattenValues.map(rankingValue =>
|
|
92
|
+
return flattenValues.map(rankingValue => rankingValue.enabled ? {
|
|
77
93
|
position: rankingValue.position - 1,
|
|
78
94
|
value: rankingValue.value.value
|
|
79
|
-
}));
|
|
95
|
+
} : undefined).filter(Boolean);
|
|
80
96
|
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IFProperty, IFSColumn, IFUColumn } from "../../interfaces";
|
|
2
|
+
/**
|
|
3
|
+
* Determines if the filter column and property is a distinct group dates type
|
|
4
|
+
* @param column The filter column
|
|
5
|
+
* @param property The filter property
|
|
6
|
+
* @returns True if the given property is included from distinct group dates type
|
|
7
|
+
*/
|
|
8
|
+
export declare function arePropertiesDateP(column: IFUColumn | IFSColumn, property: IFProperty): boolean;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.arePropertiesDateP = void 0;
|
|
4
|
+
const date_1 = require("../../../date");
|
|
5
|
+
const general_1 = require("../../../general");
|
|
6
|
+
const isDateColumn_1 = require("../../../qrvey/isDateColumn");
|
|
7
|
+
/**
|
|
8
|
+
* Determines if the filter column and property is a distinct group dates type
|
|
9
|
+
* @param column The filter column
|
|
10
|
+
* @param property The filter property
|
|
11
|
+
* @returns True if the given property is included from distinct group dates type
|
|
12
|
+
*/
|
|
13
|
+
function arePropertiesDateP(column, property) {
|
|
14
|
+
return isDateColumn_1.isDateColumn(column) && general_1.isEmpty(column.aggregate) && date_1.DATE_P_PROPERTIES.includes(property);
|
|
15
|
+
}
|
|
16
|
+
exports.arePropertiesDateP = arePropertiesDateP;
|
|
@@ -16,6 +16,6 @@ function getFilterColumnLabel(column) {
|
|
|
16
16
|
labels.push(column.aggregate);
|
|
17
17
|
if (column.calculation != null)
|
|
18
18
|
labels.push(column.calculation);
|
|
19
|
-
return
|
|
19
|
+
return labels.length > 0 ? `(${labels.join(' - ')})` : '';
|
|
20
20
|
}
|
|
21
21
|
exports.getFilterColumnLabel = getFilterColumnLabel;
|
|
@@ -38,6 +38,6 @@ function getFilterid(filter, index) {
|
|
|
38
38
|
filterid.push((_h = filter.column) === null || _h === void 0 ? void 0 : _h.calculation);
|
|
39
39
|
if (index != null)
|
|
40
40
|
filterid.push(index.toString());
|
|
41
|
-
return
|
|
41
|
+
return filterid.length > 0 ? filterid.join('|') : '';
|
|
42
42
|
}
|
|
43
43
|
exports.getFilterid = getFilterid;
|
|
@@ -38,22 +38,22 @@ function getFiltersByParams(filterData, params, settings) {
|
|
|
38
38
|
if (Array.isArray(value) && value.length > 0) {
|
|
39
39
|
const rankingValues = value;
|
|
40
40
|
rankingValues.map(rValue => {
|
|
41
|
-
if (params.enableds
|
|
41
|
+
if (!general_1._hasProperty(params, 'enableds') || !general_1._hasProperty(params.enableds, 'values') || params.enableds.values === rValue.enabled)
|
|
42
42
|
return rValue;
|
|
43
43
|
}).filter(Boolean);
|
|
44
44
|
}
|
|
45
45
|
else {
|
|
46
46
|
value = value;
|
|
47
|
-
if (params.enableds
|
|
47
|
+
if (!general_1._hasProperty(params, 'enableds') || !general_1._hasProperty(params.enableds, 'values') || params.enableds.values === value.enabled)
|
|
48
48
|
return value;
|
|
49
49
|
}
|
|
50
50
|
}).filter(Boolean) });
|
|
51
51
|
}
|
|
52
|
-
}).filter(filter => !general_1.isEmpty(filter) && filter.values.length > 0) });
|
|
52
|
+
}).filter(filter => !general_1.isEmpty(filter) && (!settings.filterEmptyArrays.filter || filter.values.length > 0)) });
|
|
53
53
|
}
|
|
54
|
-
}).filter(dataset => !general_1.isEmpty(dataset) && dataset.filters.length > 0) });
|
|
54
|
+
}).filter(dataset => !general_1.isEmpty(dataset) && (!settings.filterEmptyArrays.dataset || dataset.filters.length > 0)) });
|
|
55
55
|
}
|
|
56
|
-
}).filter(scope => !general_1.isEmpty(scope) && scope.datasets.length > 0);
|
|
56
|
+
}).filter(scope => !general_1.isEmpty(scope) && (!settings.filterEmptyArrays.scope || scope.datasets.length > 0));
|
|
57
57
|
return filterData.scopes.length > 0 ? filterData : undefined;
|
|
58
58
|
}
|
|
59
59
|
exports.getFiltersByParams = getFiltersByParams;
|
|
@@ -15,7 +15,7 @@ function getFiltersByVisibility(filterData, scopes) {
|
|
|
15
15
|
return;
|
|
16
16
|
filterData = general_1.cloneDeep(filterData);
|
|
17
17
|
filterData = getFiltersByScopesIds_1.getFiltersByScopesIds(filterData, scopes);
|
|
18
|
-
filterData = getFiltersByParams_1.getFiltersByParams(filterData, { enableds: true });
|
|
18
|
+
filterData = getFiltersByParams_1.getFiltersByParams(filterData, { enableds: { datasets: true, scopes: true, values: true } }, { filterEmptyArrays: { filter: false } });
|
|
19
19
|
return filterData;
|
|
20
20
|
}
|
|
21
21
|
exports.getFiltersByVisibility = getFiltersByVisibility;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { IFSMergeFiltersSettings } from "../../interfaces/common/IFSMergeFiltersSettings";
|
|
2
|
+
/**
|
|
3
|
+
* Transforms the given MergeFilters settings object. Adds the missing properties if they do not exist.
|
|
4
|
+
* @param settings an object to the MergeFilters settings
|
|
5
|
+
* @returns a new MergeFilters settings object.
|
|
6
|
+
*/
|
|
7
|
+
export declare function getMergeFiltersSettings(settings?: IFSMergeFiltersSettings): IFSMergeFiltersSettings;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getMergeFiltersSettings = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Transforms the given MergeFilters settings object. Adds the missing properties if they do not exist.
|
|
6
|
+
* @param settings an object to the MergeFilters settings
|
|
7
|
+
* @returns a new MergeFilters settings object.
|
|
8
|
+
*/
|
|
9
|
+
function getMergeFiltersSettings(settings) {
|
|
10
|
+
var _a, _b;
|
|
11
|
+
return {
|
|
12
|
+
overwriteValues: (_a = settings === null || settings === void 0 ? void 0 : settings.overwriteValues) !== null && _a !== void 0 ? _a : false,
|
|
13
|
+
setGroupedColumnOperator: (_b = settings === null || settings === void 0 ? void 0 : settings.setGroupedColumnOperator) !== null && _b !== void 0 ? _b : true
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
exports.getMergeFiltersSettings = getMergeFiltersSettings;
|
|
@@ -1,2 +1,7 @@
|
|
|
1
1
|
import { IFSParamsToGetFilterSettings } from "../../interfaces";
|
|
2
|
+
/**
|
|
3
|
+
* Transforms the given ParamsToGetFilter settings object. Adds the missing properties if they do not exist.
|
|
4
|
+
* @param settings an object to the ParamsToGetFilter settings
|
|
5
|
+
* @returns a new ParamsToGetFilter settings object.
|
|
6
|
+
*/
|
|
2
7
|
export declare function getParamsToGetFilterSettings(settings?: IFSParamsToGetFilterSettings): IFSParamsToGetFilterSettings;
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getParamsToGetFilterSettings = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Transforms the given ParamsToGetFilter settings object. Adds the missing properties if they do not exist.
|
|
6
|
+
* @param settings an object to the ParamsToGetFilter settings
|
|
7
|
+
* @returns a new ParamsToGetFilter settings object.
|
|
8
|
+
*/
|
|
4
9
|
function getParamsToGetFilterSettings(settings) {
|
|
5
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
10
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
|
|
6
11
|
return {
|
|
7
12
|
letPassUndefinedParams: {
|
|
8
13
|
dataset: (_b = (_a = settings === null || settings === void 0 ? void 0 : settings.letPassUndefinedParams) === null || _a === void 0 ? void 0 : _a.dataset) !== null && _b !== void 0 ? _b : true,
|
|
@@ -13,6 +18,11 @@ function getParamsToGetFilterSettings(settings) {
|
|
|
13
18
|
dataset: (_h = (_g = settings === null || settings === void 0 ? void 0 : settings.letPassUndefinedProperties) === null || _g === void 0 ? void 0 : _g.dataset) !== null && _h !== void 0 ? _h : false,
|
|
14
19
|
filter: (_k = (_j = settings === null || settings === void 0 ? void 0 : settings.letPassUndefinedProperties) === null || _j === void 0 ? void 0 : _j.filter) !== null && _k !== void 0 ? _k : false,
|
|
15
20
|
scope: (_m = (_l = settings === null || settings === void 0 ? void 0 : settings.letPassUndefinedProperties) === null || _l === void 0 ? void 0 : _l.scope) !== null && _m !== void 0 ? _m : false,
|
|
21
|
+
},
|
|
22
|
+
filterEmptyArrays: {
|
|
23
|
+
dataset: (_p = (_o = settings === null || settings === void 0 ? void 0 : settings.filterEmptyArrays) === null || _o === void 0 ? void 0 : _o.dataset) !== null && _p !== void 0 ? _p : true,
|
|
24
|
+
filter: (_r = (_q = settings === null || settings === void 0 ? void 0 : settings.filterEmptyArrays) === null || _q === void 0 ? void 0 : _q.filter) !== null && _r !== void 0 ? _r : true,
|
|
25
|
+
scope: (_t = (_s = settings === null || settings === void 0 ? void 0 : settings.filterEmptyArrays) === null || _s === void 0 ? void 0 : _s.scope) !== null && _t !== void 0 ? _t : true,
|
|
16
26
|
}
|
|
17
27
|
};
|
|
18
28
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from './areFiltersEquals';
|
|
2
|
+
export * from './arePropertiesDateP';
|
|
2
3
|
export * from './excludeFiltersByAggregateColumn';
|
|
3
4
|
export * from './excludeFiltersByParams';
|
|
4
5
|
export * from './excludeFiltersByScopes';
|
|
@@ -10,6 +11,7 @@ export * from './getFiltersByParams';
|
|
|
10
11
|
export * from './getFiltersByScopes';
|
|
11
12
|
export * from './getFiltersByScopesIds';
|
|
12
13
|
export * from './getFiltersByVisibility';
|
|
14
|
+
export * from './getMergeFiltersSettings';
|
|
13
15
|
export * from './getParamsToGetFilterSettings';
|
|
14
16
|
export * from './haveFiltersByDataset';
|
|
15
17
|
export * from './isBetweenValidator';
|
|
@@ -11,6 +11,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
11
11
|
};
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
__exportStar(require("./areFiltersEquals"), exports);
|
|
14
|
+
__exportStar(require("./arePropertiesDateP"), exports);
|
|
14
15
|
__exportStar(require("./excludeFiltersByAggregateColumn"), exports);
|
|
15
16
|
__exportStar(require("./excludeFiltersByParams"), exports);
|
|
16
17
|
__exportStar(require("./excludeFiltersByScopes"), exports);
|
|
@@ -22,6 +23,7 @@ __exportStar(require("./getFiltersByParams"), exports);
|
|
|
22
23
|
__exportStar(require("./getFiltersByScopes"), exports);
|
|
23
24
|
__exportStar(require("./getFiltersByScopesIds"), exports);
|
|
24
25
|
__exportStar(require("./getFiltersByVisibility"), exports);
|
|
26
|
+
__exportStar(require("./getMergeFiltersSettings"), exports);
|
|
25
27
|
__exportStar(require("./getParamsToGetFilterSettings"), exports);
|
|
26
28
|
__exportStar(require("./haveFiltersByDataset"), exports);
|
|
27
29
|
__exportStar(require("./isBetweenValidator"), exports);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { IFSData, IFUData } from "../../interfaces";
|
|
2
|
+
import { IFSMergeFiltersSettings } from "../../interfaces/common/IFSMergeFiltersSettings";
|
|
2
3
|
/**
|
|
3
4
|
* Merge filter data structures in a new one. The first Filter Data passed in the argument has the priority
|
|
4
5
|
* @param filterData1 The target filter data
|
|
@@ -6,4 +7,4 @@ import { IFSData, IFUData } from "../../interfaces";
|
|
|
6
7
|
* @param overwriteValues Flag to overwrite or not the filter values
|
|
7
8
|
* @returns a new filter data structure
|
|
8
9
|
*/
|
|
9
|
-
export declare function mergeFilters(filterData1: IFSData | IFUData, filterData2: IFSData | IFUData,
|
|
10
|
+
export declare function mergeFilters(filterData1: IFSData | IFUData, filterData2: IFSData | IFUData, settings?: IFSMergeFiltersSettings): IFSData | IFUData;
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.mergeFilters = void 0;
|
|
4
4
|
const general_1 = require("../../../general");
|
|
5
|
+
const FILTER_GROUPED_COLUMN_OPERATOR_1 = require("../../constants/common/FILTER_GROUPED_COLUMN_OPERATOR");
|
|
6
|
+
const getMergeFiltersSettings_1 = require("./getMergeFiltersSettings");
|
|
7
|
+
const isInValidator_1 = require("./isInValidator");
|
|
8
|
+
const isNullValidator_1 = require("./isNullValidator");
|
|
5
9
|
const isRangeValidator_1 = require("./isRangeValidator");
|
|
6
10
|
const isRegularValidator_1 = require("./isRegularValidator");
|
|
7
11
|
const resolveDatasetConditions_1 = require("./resolveDatasetConditions");
|
|
@@ -14,7 +18,7 @@ const resolveScopeConditions_1 = require("./resolveScopeConditions");
|
|
|
14
18
|
* @param overwriteValues Flag to overwrite or not the filter values
|
|
15
19
|
* @returns a new filter data structure
|
|
16
20
|
*/
|
|
17
|
-
function mergeFilters(filterData1, filterData2,
|
|
21
|
+
function mergeFilters(filterData1, filterData2, settings) {
|
|
18
22
|
if (general_1.isEmpty(filterData1) || general_1.isEmpty(filterData1.scopes)) {
|
|
19
23
|
if (general_1.isEmpty(filterData2) || general_1.isEmpty(filterData2.scopes))
|
|
20
24
|
return;
|
|
@@ -24,9 +28,10 @@ function mergeFilters(filterData1, filterData2, overwriteValues = false) {
|
|
|
24
28
|
return filterData1;
|
|
25
29
|
filterData1 = general_1.cloneDeep(filterData1);
|
|
26
30
|
filterData2 = general_1.cloneDeep(filterData2);
|
|
31
|
+
settings = getMergeFiltersSettings_1.getMergeFiltersSettings(settings);
|
|
27
32
|
return {
|
|
28
33
|
enabled: filterData1.enabled,
|
|
29
|
-
scopes: mergeScopes(filterData1.scopes, filterData2.scopes,
|
|
34
|
+
scopes: mergeScopes(filterData1.scopes, filterData2.scopes, settings),
|
|
30
35
|
section: filterData1.section,
|
|
31
36
|
version: filterData1.version
|
|
32
37
|
};
|
|
@@ -39,11 +44,11 @@ exports.mergeFilters = mergeFilters;
|
|
|
39
44
|
* @param overwriteValues Flag to overwrite or not the filter values
|
|
40
45
|
* @returns a new scope structure array
|
|
41
46
|
*/
|
|
42
|
-
function mergeScopes(scopes1 = [], scopes2 = [],
|
|
47
|
+
function mergeScopes(scopes1 = [], scopes2 = [], settings) {
|
|
43
48
|
let newScopes = scopes1.reduce((scopes, scope1) => {
|
|
44
49
|
const scope2Index = scopes2.findIndex(scope2 => resolveScopeConditions_1.resolveScopeConditions(scope2, { scope: scope1.scope, scopeid: scope1.scopeid }));
|
|
45
50
|
if (scope2Index > -1) {
|
|
46
|
-
scope1 = Object.assign(Object.assign({}, scope1), { datasets: mergeDatasets(scope1.datasets, scopes2[scope2Index].datasets,
|
|
51
|
+
scope1 = Object.assign(Object.assign({}, scope1), { datasets: mergeDatasets(scope1.datasets, scopes2[scope2Index].datasets, settings) });
|
|
47
52
|
scopes2.splice(scope2Index, 1);
|
|
48
53
|
}
|
|
49
54
|
scopes.push(scope1);
|
|
@@ -60,11 +65,11 @@ function mergeScopes(scopes1 = [], scopes2 = [], overwriteValues = false) {
|
|
|
60
65
|
* @param overwriteValues Flag to overwrite or not the filter values
|
|
61
66
|
* @returns a new dataset structure array
|
|
62
67
|
*/
|
|
63
|
-
function mergeDatasets(datasets1 = [], datasets2 = [],
|
|
68
|
+
function mergeDatasets(datasets1 = [], datasets2 = [], settings) {
|
|
64
69
|
let newDatasets = datasets1.reduce((datasets, dataset1) => {
|
|
65
70
|
const dataset2Index = datasets2.findIndex(dataset2 => resolveDatasetConditions_1.resolveDatasetConditions(dataset2, { qrveyid: dataset1.qrveyid, linkid: dataset1.linkid }));
|
|
66
71
|
if (dataset2Index > -1) {
|
|
67
|
-
dataset1 = Object.assign(Object.assign({}, dataset1), { filters: mergeFilterss(dataset1.filters, datasets2[dataset2Index].filters,
|
|
72
|
+
dataset1 = Object.assign(Object.assign({}, dataset1), { filters: mergeFilterss(dataset1.filters, datasets2[dataset2Index].filters, settings) });
|
|
68
73
|
datasets2.splice(dataset2Index, 1);
|
|
69
74
|
}
|
|
70
75
|
datasets.push(dataset1);
|
|
@@ -81,13 +86,16 @@ function mergeDatasets(datasets1 = [], datasets2 = [], overwriteValues = false)
|
|
|
81
86
|
* @param overwriteValues Flag to overwrite or not the filter values
|
|
82
87
|
* @returns a new filter structure array
|
|
83
88
|
*/
|
|
84
|
-
function mergeFilterss(filters1 = [], filters2 = [],
|
|
89
|
+
function mergeFilterss(filters1 = [], filters2 = [], settings) {
|
|
85
90
|
let newFilters = filters1.reduce((filters, filter1) => {
|
|
86
91
|
const filter2Index = filters2.findIndex(filter2 => resolveFilterConditions_1.resolveFilterConditions(filter2, { column: filter1.column, dateSection: filter1.dateSection, panelid: filter1.extras.panelid, property: filter1.property, validator: filter1.validator }));
|
|
87
92
|
if (filter2Index > -1) {
|
|
88
|
-
filter1 = Object.assign(Object.assign({}, filter1), { values: mergeValues(filter1, filters2[filter2Index], overwriteValues) });
|
|
93
|
+
filter1 = Object.assign(Object.assign({}, filter1), { values: mergeValues(filter1, filters2[filter2Index], settings.overwriteValues) });
|
|
89
94
|
filters2.splice(filter2Index, 1);
|
|
90
95
|
}
|
|
96
|
+
else {
|
|
97
|
+
filter1 = Object.assign(Object.assign({}, filter1), { operator: settings.setGroupedColumnOperator ? FILTER_GROUPED_COLUMN_OPERATOR_1.FILTER_GROUPED_COLUMN_OPERATOR : filter1.operator });
|
|
98
|
+
}
|
|
91
99
|
filters.push(filter1);
|
|
92
100
|
return filters;
|
|
93
101
|
}, []);
|
|
@@ -107,7 +115,16 @@ function mergeValues(filter1, filter2, overwrite = false) {
|
|
|
107
115
|
return [];
|
|
108
116
|
let newValues = [];
|
|
109
117
|
if (!overwrite) {
|
|
110
|
-
if (
|
|
118
|
+
if (isInValidator_1.isInValidator(filter1.validator)) {
|
|
119
|
+
newValues = filter1.values.reduce((values, value1) => {
|
|
120
|
+
const value2Index = filter2.values.findIndex(value2 => value2.anchor === value1.anchor && value2.cursor === value1.cursor && value2.includeCurrent === value1.includeCurrent && value2.isCalendarDate === value1.isCalendarDate && value2.number === value1.number && value2.unit === value1.unit);
|
|
121
|
+
if (value2Index === -1) {
|
|
122
|
+
values.push(filter2.values[value2Index]);
|
|
123
|
+
}
|
|
124
|
+
return values;
|
|
125
|
+
}, filter1.values);
|
|
126
|
+
}
|
|
127
|
+
else if (isRangeValidator_1.isRangeValidator(filter1.validator)) {
|
|
111
128
|
newValues = filter1.values.reduce((values, value1) => {
|
|
112
129
|
const value2Index = filter2.values.findIndex(value2 => value2.max === value1.max && value2.min === value1.min);
|
|
113
130
|
if (value2Index === -1) {
|
|
@@ -116,7 +133,7 @@ function mergeValues(filter1, filter2, overwrite = false) {
|
|
|
116
133
|
return values;
|
|
117
134
|
}, filter1.values);
|
|
118
135
|
}
|
|
119
|
-
else if (isRegularValidator_1.isRegularValidator(filter1.validator)) {
|
|
136
|
+
else if (isRegularValidator_1.isRegularValidator(filter1.validator) || isNullValidator_1.isNullValidator(filter1.validator)) {
|
|
120
137
|
newValues = filter1.values.reduce((values, value1) => {
|
|
121
138
|
const value2Index = filter2.values.findIndex(value2 => value2.imageUrl === value1.imageUrl && value2.value === value1.value);
|
|
122
139
|
if (value2Index === -1) {
|
|
@@ -11,7 +11,7 @@ const general_1 = require("../../../general");
|
|
|
11
11
|
* @returns true: the condition is satisfied
|
|
12
12
|
*/
|
|
13
13
|
function resolveDatasetConditions(dataset, params, letPassUndefinedProperties = false, letPassUndefinedParams = true) {
|
|
14
|
-
return (!general_1._hasProperty(params, 'enableds') || (letPassUndefinedProperties && dataset.enabled == null) || (letPassUndefinedParams && params.enableds == null) || params.enableds === dataset.enabled) &&
|
|
14
|
+
return (!general_1._hasProperty(params, 'enableds') || !general_1._hasProperty(params.enableds, 'datasets') || (letPassUndefinedProperties && dataset.enabled == null) || (letPassUndefinedParams && params.enableds.datasets == null) || params.enableds.datasets === dataset.enabled) &&
|
|
15
15
|
(!general_1._hasProperty(params, 'qrveyid') || (letPassUndefinedProperties && dataset.qrveyid == null) || (letPassUndefinedParams && general_1.isEmpty(params.qrveyid)) || params.qrveyid === dataset.qrveyid) &&
|
|
16
16
|
(!general_1._hasProperty(params, 'linkid') || (letPassUndefinedProperties && dataset.linkid == null) || (letPassUndefinedParams && general_1.isEmpty(params.linkid)) || params.linkid === dataset.linkid) &&
|
|
17
17
|
dataset.filters.length > 0;
|
|
@@ -12,7 +12,7 @@ const general_1 = require("../../../general");
|
|
|
12
12
|
*/
|
|
13
13
|
function resolveFilterConditions(filter, params, letPassUndefinedProperties = false, letPassUndefinedParams = true) {
|
|
14
14
|
var _a, _b, _c, _d;
|
|
15
|
-
return (!general_1._hasProperty(params, 'enableds') || (letPassUndefinedProperties && filter.enabled == null) || (letPassUndefinedParams && params.enableds == null) || params.enableds === filter.enabled) &&
|
|
15
|
+
return (!general_1._hasProperty(params, 'enableds') || !general_1._hasProperty(params.enableds, 'filters') || (letPassUndefinedProperties && filter.enabled == null) || (letPassUndefinedParams && params.enableds.filters == null) || params.enableds.filters === filter.enabled) &&
|
|
16
16
|
(!general_1._hasProperty(params, 'dateSection') || (letPassUndefinedProperties && filter.dateSection == null) || (letPassUndefinedParams && general_1.isEmpty(params.dateSection)) || params.dateSection === filter.dateSection) &&
|
|
17
17
|
(!general_1._hasProperty(params, 'panelid') || (letPassUndefinedProperties && filter.extras.panelid == null) || (letPassUndefinedParams && general_1.isEmpty(params.panelid)) || params.panelid === filter.extras.panelid) &&
|
|
18
18
|
(!general_1._hasProperty(params, 'property') || (letPassUndefinedProperties && filter.property == null) || (letPassUndefinedParams && general_1.isEmpty(params.property)) || params.property === filter.property) &&
|
|
@@ -20,7 +20,6 @@ function resolveFilterConditions(filter, params, letPassUndefinedProperties = fa
|
|
|
20
20
|
(!general_1._hasProperty(params, 'column') || (letPassUndefinedProperties && filter.column == null) || (letPassUndefinedParams && general_1.isEmpty(params.column)) || (((_a = params.column) === null || _a === void 0 ? void 0 : _a.id) === filter.column.id &&
|
|
21
21
|
((_b = params.column) === null || _b === void 0 ? void 0 : _b.qrveyid) === filter.column.qrveyid &&
|
|
22
22
|
((_c = params.column) === null || _c === void 0 ? void 0 : _c.linkid) === filter.column.linkid &&
|
|
23
|
-
((_d = params.column) === null || _d === void 0 ? void 0 : _d.aggregate) === filter.column.aggregate))
|
|
24
|
-
filter.values.length > 0;
|
|
23
|
+
((_d = params.column) === null || _d === void 0 ? void 0 : _d.aggregate) === filter.column.aggregate));
|
|
25
24
|
}
|
|
26
25
|
exports.resolveFilterConditions = resolveFilterConditions;
|
|
@@ -11,7 +11,7 @@ const general_1 = require("../../../general");
|
|
|
11
11
|
* @returns true: the condition is satisfied
|
|
12
12
|
*/
|
|
13
13
|
function resolveScopeConditions(scope, params, letPassUndefinedProperties = false, letPassUndefinedParams = true) {
|
|
14
|
-
return (!general_1._hasProperty(params, 'enableds') || (letPassUndefinedProperties && scope.enabled == null) || (letPassUndefinedParams && params.enableds == null) || params.enableds === scope.enabled) &&
|
|
14
|
+
return (!general_1._hasProperty(params, 'enableds') || !general_1._hasProperty(params.enableds, 'scopes') || (letPassUndefinedProperties && scope.enabled == null) || (letPassUndefinedParams && params.enableds.scopes == null) || params.enableds.scopes === scope.enabled) &&
|
|
15
15
|
(!general_1._hasProperty(params, 'scope') || (letPassUndefinedProperties && scope.scope == null) || (letPassUndefinedParams && general_1.isEmpty(params.scope)) || scope.scope === params.scope) &&
|
|
16
16
|
(!general_1._hasProperty(params, 'scopeid') || (letPassUndefinedProperties && scope.scopeid == null) || (letPassUndefinedParams && general_1.isEmpty(params.scopeid)) || scope.scopeid === params.scopeid) &&
|
|
17
17
|
scope.datasets.filter.length > 0;
|
|
@@ -5,4 +5,4 @@ import { IFBFilterAggregate, IFSData } from "../interfaces";
|
|
|
5
5
|
* @param summaries
|
|
6
6
|
* @returns
|
|
7
7
|
*/
|
|
8
|
-
export declare function getAggFiltersFromFilterData(filterData: IFSData,
|
|
8
|
+
export declare function getAggFiltersFromFilterData(filterData: IFSData, _summaries: any[]): IFBFilterAggregate;
|
|
@@ -2,9 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getAggFiltersFromFilterData = void 0;
|
|
4
4
|
const general_1 = require("../../general");
|
|
5
|
-
const backend_1 = require("./backend");
|
|
6
5
|
const common_1 = require("./common");
|
|
7
|
-
const adapters_1 = require("../adapters");
|
|
8
6
|
/**
|
|
9
7
|
*
|
|
10
8
|
* @param logics
|
|
@@ -12,26 +10,27 @@ const adapters_1 = require("../adapters");
|
|
|
12
10
|
* @returns
|
|
13
11
|
*/
|
|
14
12
|
// [TODO: FILTERS - FIX AGGREGATE FILTERS]
|
|
15
|
-
function getAggFiltersFromFilterData(filterData,
|
|
13
|
+
function getAggFiltersFromFilterData(filterData, _summaries) {
|
|
16
14
|
filterData = Object.assign({}, common_1.getFiltersByAggregateColumn(filterData));
|
|
17
15
|
if (general_1.isEmpty(filterData))
|
|
18
16
|
return;
|
|
19
|
-
const uFilters =
|
|
20
|
-
const aggFilters = uFilters.map(uFilter => {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}
|
|
34
|
-
|
|
17
|
+
// const uFilters = FDToFlatUI(filterData);
|
|
18
|
+
// const aggFilters: IFBExpressionAggregate[] = uFilters.map(uFilter => {
|
|
19
|
+
// const summaryIndex = summaries.findIndex(summary =>
|
|
20
|
+
// uFilter.column.id === summary.questionid &&
|
|
21
|
+
// uFilter.column.qrveyid === summary.qrveyid &&
|
|
22
|
+
// uFilter.column.linkid === summary.linkid &&
|
|
23
|
+
// uFilter.column.aggregate === summary.aggregate
|
|
24
|
+
// );
|
|
25
|
+
// if (summaryIndex > -1) {
|
|
26
|
+
// return {
|
|
27
|
+
// enabled: uFilter.enabled,
|
|
28
|
+
// summaryIndex,
|
|
29
|
+
// validationType: getBackendValidator(uFilter.validator),
|
|
30
|
+
// value: getBackendValues(uFilter),
|
|
31
|
+
// };
|
|
32
|
+
// }
|
|
33
|
+
// }).filter(Boolean);
|
|
35
34
|
// // [TODO: FILTERS - Adapt filter.validator and filter.values in the backend format]
|
|
36
35
|
// const aggFilters: IFBFilterAggregate[] = filterData.scopes.map((scope) => {
|
|
37
36
|
// scope.datasets.forEach(dataset => {
|