@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const DATE_YEAR_QUARTERS = ['Q1', 'Q2', 'Q3', 'Q4'];
|
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
export * from './DATE_DAY_HOURS';
|
|
2
|
+
export * from './DATE_HOUR_MINUTES';
|
|
3
|
+
export * from './DATE_MINUTE_SECONDS';
|
|
4
|
+
export * from './DATE_MONTH_DAYS';
|
|
5
|
+
export * from './DATE_P_PROPERTIES';
|
|
6
|
+
export * from './DATE_P_VALUES';
|
|
1
7
|
export * from './DATE_PROPERTY';
|
|
8
|
+
export * from './DATE_PROPERTY_VALUE';
|
|
9
|
+
export * from './DATE_TIME_P_VALUES';
|
|
2
10
|
export * from './DATE_TIME_PROPERTIES';
|
|
3
11
|
export * from './DATE_TIME_VALUES';
|
|
12
|
+
export * from './DATE_WEEK_DAYS';
|
|
13
|
+
export * from './DATE_YEAR_DAYS';
|
|
14
|
+
export * from './DATE_YEAR_MONTHS';
|
|
15
|
+
export * from './DATE_YEAR_QUARTERS';
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { capitalize } from "../../general/index";
|
|
2
|
+
import { isTokenLabel } from "../../tokens";
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* Get date range object from a string date value
|
|
@@ -34,68 +35,75 @@ import { capitalize } from "../../general/index";
|
|
|
34
35
|
* to: '10/31/2020 23:59:59'
|
|
35
36
|
* }
|
|
36
37
|
*/
|
|
37
|
-
export function getDateRange(value: string, dateGroupLabel = 'DAY', withTime = true) {
|
|
38
|
+
export function getDateRange(value: string, dateGroupLabel = 'DAY', withTime = true): { from?: string; to?: string } {
|
|
38
39
|
const range: { from?: string, to?: string } = {};
|
|
39
40
|
const upperCaseDateGroup = dateGroupLabel.toUpperCase();
|
|
40
|
-
const [ timeFrom, timeTo ] = withTime ? getStringTimeRange(value, upperCaseDateGroup) : [ '', '' ]
|
|
41
|
-
const isToken =
|
|
41
|
+
const [ timeFrom, timeTo ] = withTime ? getStringTimeRange(value, upperCaseDateGroup) : [ '', '' ];
|
|
42
|
+
const isToken = isTokenLabel(value);
|
|
42
43
|
|
|
43
44
|
|
|
44
45
|
switch (upperCaseDateGroup) {
|
|
45
|
-
case 'YEAR':
|
|
46
|
+
case 'YEAR': {
|
|
46
47
|
const yearRange = !isToken ? getYearRange(value) : { from: `01/01/${value}`, to: `12/31/${value}` };
|
|
47
48
|
range.from = `${yearRange.from}${timeFrom}`;
|
|
48
|
-
range.to = `${yearRange.to}${timeTo}`;
|
|
49
|
+
range.to = `${yearRange.to}${timeTo}`;
|
|
49
50
|
break;
|
|
50
|
-
|
|
51
|
-
|
|
51
|
+
}
|
|
52
|
+
case 'QUARTER': {
|
|
53
|
+
const quarterRange = !isToken ? getQuarterRange(value) : { from: value, to: value };
|
|
52
54
|
range.from = `${quarterRange.from}${timeFrom}`;
|
|
53
55
|
range.to = `${quarterRange.to}${timeTo}`;
|
|
54
56
|
break;
|
|
55
|
-
|
|
56
|
-
|
|
57
|
+
}
|
|
58
|
+
case 'MONTH': {
|
|
59
|
+
const monthRange = monthInclideTokens(value) ? getMonthRangeWithToken(value) : getMonthRange(value);
|
|
57
60
|
range.from = `${monthRange.from}${timeFrom}`;
|
|
58
61
|
range.to = `${monthRange.to}${timeTo}`;
|
|
59
62
|
break;
|
|
60
|
-
|
|
61
|
-
|
|
63
|
+
}
|
|
64
|
+
case 'WEEK': {
|
|
65
|
+
const weekRange = !isToken ? getWeekRange(value) : { from: value, to: value };
|
|
62
66
|
range.from = `${weekRange.from}${timeFrom}`;
|
|
63
67
|
range.to = `${weekRange.to}${timeTo}`;
|
|
64
68
|
break;
|
|
65
|
-
|
|
66
|
-
|
|
69
|
+
}
|
|
70
|
+
case 'HOUR': {
|
|
71
|
+
const hourRange = !isToken ? getHourRange(value) : { from: value, to: value };
|
|
67
72
|
range.from = hourRange.from;
|
|
68
73
|
range.to = hourRange.to;
|
|
69
74
|
break;
|
|
70
|
-
|
|
71
|
-
|
|
75
|
+
}
|
|
76
|
+
case 'MINUTE': {
|
|
77
|
+
const minuteRange = !isToken ? getMinuteRange(value) : { from: value, to: value };
|
|
72
78
|
range.from = minuteRange.from;
|
|
73
79
|
range.to = minuteRange.to;
|
|
74
80
|
break;
|
|
75
|
-
|
|
81
|
+
}
|
|
82
|
+
default: {
|
|
76
83
|
const dayFrom = new Date(value);
|
|
77
84
|
const dayTo = new Date(value);
|
|
78
|
-
const includTokens = includeTokens(value, '/')
|
|
85
|
+
const includTokens = includeTokens(value, '/');
|
|
79
86
|
range.from = `${ !includTokens ? getStringDate(dayFrom) : value }${timeFrom}`;
|
|
80
87
|
range.to = `${ !includTokens ? getStringDate(dayTo) : value }${timeTo}`;
|
|
81
88
|
break;
|
|
89
|
+
}
|
|
82
90
|
}
|
|
83
91
|
return range;
|
|
84
92
|
}
|
|
85
93
|
|
|
86
94
|
function getStringTimeRange(value: string, dateGroupLabel: string) {
|
|
87
|
-
const addLeadingZero = (unit: number): string => `${unit < 10 ? '0': ''}${unit}
|
|
95
|
+
const addLeadingZero = (unit: number): string => `${unit < 10 ? '0': ''}${unit}`;
|
|
88
96
|
const dateValue = new Date(value);
|
|
89
97
|
const hours = addLeadingZero(dateValue.getHours());
|
|
90
98
|
const minutes = addLeadingZero(dateValue.getMinutes());
|
|
91
99
|
|
|
92
100
|
switch (dateGroupLabel) {
|
|
93
101
|
case 'HOUR':
|
|
94
|
-
return [` ${hours}:00:00`, ` ${hours}:59:59`]
|
|
102
|
+
return [` ${hours}:00:00`, ` ${hours}:59:59`];
|
|
95
103
|
case 'MINUTE':
|
|
96
|
-
return [` ${hours}:${minutes}:00`, ` ${hours}:${minutes}:59`]
|
|
104
|
+
return [` ${hours}:${minutes}:00`, ` ${hours}:${minutes}:59`];
|
|
97
105
|
default:
|
|
98
|
-
return [' 00:00:00', ' 23:59:59']
|
|
106
|
+
return [' 00:00:00', ' 23:59:59'];
|
|
99
107
|
}
|
|
100
108
|
}
|
|
101
109
|
|
|
@@ -110,7 +118,7 @@ function getYearRange(value: string) {
|
|
|
110
118
|
return {
|
|
111
119
|
from: getStringDate(dateFrom),
|
|
112
120
|
to: getStringDate(dateTo)
|
|
113
|
-
}
|
|
121
|
+
};
|
|
114
122
|
}
|
|
115
123
|
|
|
116
124
|
function getQuarterRange(value: string) {
|
|
@@ -118,12 +126,12 @@ function getQuarterRange(value: string) {
|
|
|
118
126
|
const quarterStartMonths = [0, 3, 6, 9];
|
|
119
127
|
const quarterIndex = Number(capitalize(quarter).replace('Q', '')) - 1;
|
|
120
128
|
const monthValue = quarterStartMonths[quarterIndex];
|
|
121
|
-
const dateFrom = new Date(Number(year), monthValue || monthValue === 0 ? monthValue : NaN
|
|
129
|
+
const dateFrom = new Date(Number(year), monthValue || monthValue === 0 ? monthValue : NaN, 1);
|
|
122
130
|
const dateTo = new Date(Number(year), (monthValue || monthValue === 0 ? monthValue : NaN) + 3, 0);
|
|
123
131
|
return {
|
|
124
132
|
from: getStringDate(dateFrom),
|
|
125
133
|
to: getStringDate(dateTo)
|
|
126
|
-
}
|
|
134
|
+
};
|
|
127
135
|
}
|
|
128
136
|
|
|
129
137
|
function getMonthRange(value: string) {
|
|
@@ -136,7 +144,7 @@ function getMonthRange(value: string) {
|
|
|
136
144
|
return {
|
|
137
145
|
from: getStringDate(dateFrom),
|
|
138
146
|
to: getStringDate(dateTo)
|
|
139
|
-
}
|
|
147
|
+
};
|
|
140
148
|
}
|
|
141
149
|
|
|
142
150
|
function getWeekRange(value: string) {
|
|
@@ -164,51 +172,47 @@ function getWeek(date) {
|
|
|
164
172
|
if (target.getDay() !== 4) {
|
|
165
173
|
target.setMonth(0, 1 + ((4 - target.getDay()) + 7) % 7);
|
|
166
174
|
}
|
|
167
|
-
return 1 + Math.ceil((firstThursday -
|
|
175
|
+
return 1 + Math.ceil((firstThursday - +target) / 604800000);
|
|
168
176
|
}
|
|
169
177
|
|
|
170
178
|
function getHourRange(date) {
|
|
171
179
|
const target = new Date(date.valueOf());
|
|
172
|
-
const stringDate = getStringDate(target)
|
|
180
|
+
const stringDate = getStringDate(target);
|
|
173
181
|
const [ timeFrom, timeTo ] = getStringTimeRange(date, 'HOUR');
|
|
174
182
|
return { from: `${stringDate}${timeFrom}`, to: `${stringDate}${timeTo}` };
|
|
175
183
|
}
|
|
176
184
|
|
|
177
185
|
function getMinuteRange(date) {
|
|
178
186
|
const target = new Date(date.valueOf());
|
|
179
|
-
const stringDate = getStringDate(target)
|
|
187
|
+
const stringDate = getStringDate(target);
|
|
180
188
|
const [ timeFrom, timeTo ] = getStringTimeRange(date, 'MINUTE');
|
|
181
189
|
return { from: `${stringDate}${timeFrom}`, to: `${stringDate}${timeTo}` };
|
|
182
190
|
}
|
|
183
191
|
|
|
184
192
|
function getMonthRangeWithToken(value: string) {
|
|
185
|
-
|
|
193
|
+
const [month, year] = value.split(' ');
|
|
194
|
+
let monthToReturn = month;
|
|
186
195
|
|
|
187
|
-
if(!
|
|
196
|
+
if(!isTokenLabel(month)) {
|
|
188
197
|
const months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
|
|
189
|
-
const monthIndex = months.indexOf(
|
|
190
|
-
|
|
198
|
+
const monthIndex = months.indexOf(monthToReturn) + 1;
|
|
199
|
+
monthToReturn = `${monthIndex <= 9 ? '0': ''}${monthIndex}`;
|
|
191
200
|
}
|
|
192
201
|
|
|
193
202
|
return {
|
|
194
|
-
from: `${
|
|
195
|
-
to: `${
|
|
196
|
-
}
|
|
203
|
+
from: `${monthToReturn}/01/${year}`,
|
|
204
|
+
to: `${monthToReturn}/{{LAST_DAY_MONTH}}/${year}`
|
|
205
|
+
};
|
|
197
206
|
}
|
|
198
207
|
|
|
199
208
|
function monthInclideTokens(value:string) {
|
|
200
209
|
const [month, year] = value.split(' ');
|
|
201
|
-
return
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
function isTokenBoxLabel(label: string): boolean {
|
|
205
|
-
const regex = new RegExp('^(\{\{)([^{}]+)(\}\})$', 'gi');
|
|
206
|
-
return regex.test(label);
|
|
210
|
+
return isTokenLabel(month) || isTokenLabel(year);
|
|
207
211
|
}
|
|
208
212
|
|
|
209
213
|
function includeTokens(date: string, separator: string) {
|
|
210
214
|
const dateSeparet = date.split(separator);
|
|
211
215
|
for (const iterator of dateSeparet) {
|
|
212
|
-
if (
|
|
216
|
+
if (isTokenLabel(iterator)) return true;
|
|
213
217
|
}
|
|
214
218
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { OpUnitType } from './helpers/dayjs-module';
|
|
2
|
-
import {
|
|
2
|
+
import { _get } from '../../general/object/index';
|
|
3
3
|
import { parseDate, formatStatement, getStatementCase } from './helpers/index';
|
|
4
4
|
import {
|
|
5
5
|
COMMON_CONSTANTS,
|
|
@@ -76,7 +76,7 @@ export default class RelativeStatementAdapter {
|
|
|
76
76
|
: this.cursor === RELATIVE_CURSOR.NEXT ? 'lte'
|
|
77
77
|
: '';
|
|
78
78
|
|
|
79
|
-
return
|
|
79
|
+
return _get(value, path, new Date());
|
|
80
80
|
}
|
|
81
81
|
|
|
82
82
|
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
export const DATETIME_FORMAT = 'MM
|
|
1
|
+
export const DATETIME_FORMAT = 'MM/DD/YYYY HH:mm:ss';
|
|
2
2
|
|
|
3
3
|
export const INPUT_FORMATS = [
|
|
4
|
+
DATETIME_FORMAT,
|
|
4
5
|
'MM/DD/YYYY',
|
|
5
6
|
'MM-DD-YYYY',
|
|
6
7
|
'YYYY-MM-DD',
|
|
7
|
-
'MM
|
|
8
|
+
'MM-DD-YYYY HH:mm:ss',
|
|
8
9
|
'YYYY-MM-DD HH:mm:ss',
|
|
9
|
-
DATETIME_FORMAT
|
|
10
10
|
];
|
|
11
|
-
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { _get, mapValues } from '../../../general/object/index';
|
|
2
2
|
import { RelativeStatement } from '../interfaces/index';
|
|
3
3
|
import { COMMON_CONSTANTS, RELATIVE_CURSOR } from '../constants/index';
|
|
4
4
|
import { DATE_PROPERTY } from '../../constants';
|
|
@@ -11,11 +11,11 @@ import { DATE_PROPERTY } from '../../constants';
|
|
|
11
11
|
export function formatStatement(statement: RelativeStatement): RelativeStatement {
|
|
12
12
|
const loweredStatement = mapValues(statement, s => typeof s === 'string' ? s.toLowerCase() : s);
|
|
13
13
|
return {
|
|
14
|
-
cursor:
|
|
15
|
-
unit:
|
|
16
|
-
number:
|
|
17
|
-
anchor:
|
|
18
|
-
isCalendarDate:
|
|
19
|
-
includeCurrent:
|
|
20
|
-
}
|
|
14
|
+
cursor: _get(loweredStatement, 'cursor', RELATIVE_CURSOR.THIS),
|
|
15
|
+
unit: _get(loweredStatement, 'unit', DATE_PROPERTY.DAY),
|
|
16
|
+
number: _get(loweredStatement, 'number', 0),
|
|
17
|
+
anchor: _get(loweredStatement, 'anchor', COMMON_CONSTANTS.NOW_TOKEN),
|
|
18
|
+
isCalendarDate: _get(loweredStatement, 'isCalendarDate', true),
|
|
19
|
+
includeCurrent: _get(loweredStatement, 'includeCurrent', true)
|
|
20
|
+
};
|
|
21
21
|
}
|
|
@@ -30,7 +30,7 @@ import { IFSData, IFSScope, IFUFlattenedFilter } from "../interfaces";
|
|
|
30
30
|
* @returns a flattened UI filters array
|
|
31
31
|
*/
|
|
32
32
|
function FD21ToFlatUI(scopes: IFSScope[] = [], datasetsInfo: IQrveyDataset[] = []): IFUFlattenedFilter[] {
|
|
33
|
-
|
|
33
|
+
const uFilters: IFUFlattenedFilter[] = [];
|
|
34
34
|
if (scopes.length === 0) return uFilters;
|
|
35
35
|
scopes.forEach(scope => {
|
|
36
36
|
if (scope.datasets.length > 0) {
|
|
@@ -40,6 +40,8 @@ function FD21ToFlatUI(scopes: IFSScope[] = [], datasetsInfo: IQrveyDataset[] = [
|
|
|
40
40
|
const datasetInfo: IQrveyDataset = datasetsInfo.find(dInfo => dInfo.qrveyid === dataset.qrveyid && dInfo.linkid === dataset.linkid);
|
|
41
41
|
let columnInfo: IQrveyColumn;
|
|
42
42
|
if (!isEmpty(datasetInfo)) columnInfo = datasetInfo.options.find(cInfo => cInfo.id === filter.column.id && cInfo.qrveyid === filter.column.qrveyid && cInfo.linkid === filter.column.linkid);
|
|
43
|
+
const info = !isEmpty(filter.extras.info) ? { icon: filter.extras.info.icon, label: filter.extras.info.label } : undefined;
|
|
44
|
+
|
|
43
45
|
const uFilter: IFUFlattenedFilter = {
|
|
44
46
|
collapsed: filter.collapsed,
|
|
45
47
|
column: {
|
|
@@ -58,8 +60,10 @@ function FD21ToFlatUI(scopes: IFSScope[] = [], datasetsInfo: IQrveyDataset[] = [
|
|
|
58
60
|
displayed: filter.displayed,
|
|
59
61
|
enabled: filter.enabled,
|
|
60
62
|
extras: {
|
|
63
|
+
...filter.extras,
|
|
61
64
|
panelid: filter.extras.panelid,
|
|
62
65
|
filterLabel: filter.extras.filterLabel,
|
|
66
|
+
info,
|
|
63
67
|
scope: filter.extras.scope,
|
|
64
68
|
scopeid: filter.extras.scopeid,
|
|
65
69
|
section: filter.extras.section,
|
|
@@ -88,9 +92,9 @@ function FD21ToFlatUI(scopes: IFSScope[] = [], datasetsInfo: IQrveyDataset[] = [
|
|
|
88
92
|
uiValues: getUIValues(filter),
|
|
89
93
|
validator: filter.validator,
|
|
90
94
|
values: filter.values,
|
|
91
|
-
}
|
|
95
|
+
};
|
|
92
96
|
uFilters.push(uFilter);
|
|
93
|
-
})
|
|
97
|
+
});
|
|
94
98
|
}
|
|
95
99
|
});
|
|
96
100
|
}
|
|
@@ -32,11 +32,10 @@ import { IFSData, IFSection, IFSScope, IFUData, IFUScope } from "../interfaces";
|
|
|
32
32
|
* @param datasetsInfo Collection of datasets information
|
|
33
33
|
* @returns a UI filter Structure
|
|
34
34
|
*/
|
|
35
|
-
function FD21ToUI(scopes: IFSScope[] = [], section: IFSection = FILTER_SECTION.ANYWHERE
|
|
36
|
-
|
|
37
|
-
if (scopes.length === 0) return ufData;
|
|
35
|
+
function FD21ToUI(scopes: IFSScope[] = [], section: IFSection = FILTER_SECTION.ANYWHERE, enabled = true, datasetsInfo: IQrveyDataset[] = [], version = FILTER_STRUCTURE_VERSION): IFUData {
|
|
36
|
+
if (scopes.length === 0) return;
|
|
38
37
|
|
|
39
|
-
ufData = {
|
|
38
|
+
const ufData: IFUData = {
|
|
40
39
|
enabled,
|
|
41
40
|
section,
|
|
42
41
|
version,
|
|
@@ -67,9 +66,9 @@ import { IFSData, IFSection, IFSScope, IFUData, IFUScope } from "../interfaces";
|
|
|
67
66
|
type: columnInfo?.type || filter.column.type,
|
|
68
67
|
},
|
|
69
68
|
uiValues: getUIValues(filter),
|
|
70
|
-
}
|
|
69
|
+
};
|
|
71
70
|
})
|
|
72
|
-
}
|
|
71
|
+
};
|
|
73
72
|
})
|
|
74
73
|
}));
|
|
75
74
|
return ufData;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { cloneDeep, isEmpty
|
|
1
|
+
import { cloneDeep, isEmpty } from "../../general";
|
|
2
2
|
import { IQrveyColumn, IQrveyDataset } from "../../interfaces/Qrvey.Interface";
|
|
3
3
|
import { getUIValues } from "../helpers";
|
|
4
|
-
import {
|
|
4
|
+
import { IFUData, IFUFlattenedFilter, IFUScope } from "../interfaces";
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Generates a Flattened UI filter structure from UI Filter Data structure.
|
|
@@ -29,7 +29,7 @@ import { IFSData, IFSScope, IFUData, IFUFlattenedFilter, IFUScope } from "../int
|
|
|
29
29
|
* @returns a flattened UI filters array
|
|
30
30
|
*/
|
|
31
31
|
function UI21ToFlatUI(scopes: IFUScope[] = [], datasetsInfo: IQrveyDataset[] = []): IFUFlattenedFilter[] {
|
|
32
|
-
|
|
32
|
+
const uFilters: IFUFlattenedFilter[] = [];
|
|
33
33
|
if (scopes.length === 0) return uFilters;
|
|
34
34
|
scopes.forEach(scope => {
|
|
35
35
|
if (scope.datasets.length > 0) {
|
|
@@ -39,6 +39,8 @@ function UI21ToFlatUI(scopes: IFUScope[] = [], datasetsInfo: IQrveyDataset[] = [
|
|
|
39
39
|
const datasetInfo: IQrveyDataset = datasetsInfo.find(dInfo => dInfo.qrveyid === dataset.qrveyid && dInfo.linkid === dataset.linkid);
|
|
40
40
|
let columnInfo: IQrveyColumn;
|
|
41
41
|
if (!isEmpty(datasetInfo)) columnInfo = datasetInfo.options.find(cInfo => cInfo.id === filter.column.id && cInfo.qrveyid === filter.column.qrveyid && cInfo.linkid === filter.column.linkid);
|
|
42
|
+
const info = !isEmpty(filter.extras.info) ? { icon: filter.extras.info.icon, label: filter.extras.info.label } : undefined;
|
|
43
|
+
|
|
42
44
|
const uFilter: IFUFlattenedFilter = {
|
|
43
45
|
collapsed: filter.collapsed,
|
|
44
46
|
column: {
|
|
@@ -57,8 +59,10 @@ function UI21ToFlatUI(scopes: IFUScope[] = [], datasetsInfo: IQrveyDataset[] = [
|
|
|
57
59
|
displayed: filter.displayed,
|
|
58
60
|
enabled: filter.enabled,
|
|
59
61
|
extras: {
|
|
62
|
+
...filter.extras,
|
|
60
63
|
panelid: filter.extras.panelid,
|
|
61
64
|
filterLabel: filter.extras.filterLabel,
|
|
65
|
+
info,
|
|
62
66
|
scope: filter.extras.scope,
|
|
63
67
|
scopeid: filter.extras.scopeid,
|
|
64
68
|
section: filter.extras.section,
|
|
@@ -87,9 +91,9 @@ function UI21ToFlatUI(scopes: IFUScope[] = [], datasetsInfo: IQrveyDataset[] = [
|
|
|
87
91
|
uiValues: getUIValues(filter),
|
|
88
92
|
validator: filter.validator,
|
|
89
93
|
values: filter.values,
|
|
90
|
-
}
|
|
94
|
+
};
|
|
91
95
|
uFilters.push(uFilter);
|
|
92
|
-
})
|
|
96
|
+
});
|
|
93
97
|
}
|
|
94
98
|
});
|
|
95
99
|
}
|
|
@@ -25,7 +25,7 @@ function UI21ToOldLogic(uFilterData: IFUData): OLD_IFilterData {
|
|
|
25
25
|
enabled: true,
|
|
26
26
|
section: uFilterData.section,
|
|
27
27
|
logic: buildLogics(uFilterData.scopes, uFilterData.section),
|
|
28
|
-
}
|
|
28
|
+
};
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
function buildLogics(scopeSection: IFUScope[], section: IFSection): OLD_IFilterLogic[] {
|
|
@@ -39,7 +39,7 @@ function buildLogics(scopeSection: IFUScope[], section: IFSection): OLD_IFilterL
|
|
|
39
39
|
collapsed: scope.collapsed,
|
|
40
40
|
section: section
|
|
41
41
|
}
|
|
42
|
-
}
|
|
42
|
+
};
|
|
43
43
|
logics.push(logic);
|
|
44
44
|
return logics;
|
|
45
45
|
}, [] as OLD_IFilterLogic[]);
|
|
@@ -83,7 +83,7 @@ function buildExpressions(filterSection: IFUFilter[], scope: IFUScope, dataset:
|
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
const getFilterDetail = (filter: IFUFilter, scope: IFUScope, dataset: IFUDataset): OLD_IFilterDetail => {
|
|
86
|
-
let aggregate, calculation;
|
|
86
|
+
let aggregate, calculation, info;
|
|
87
87
|
if (filter.column.aggregate != null) {
|
|
88
88
|
aggregate = {
|
|
89
89
|
abbreviation: undefined, // CANNOT ADD AT THIS SCOPE
|
|
@@ -101,6 +101,12 @@ const getFilterDetail = (filter: IFUFilter, scope: IFUScope, dataset: IFUDataset
|
|
|
101
101
|
value: filter.column.calculation,
|
|
102
102
|
};
|
|
103
103
|
}
|
|
104
|
+
if (!isEmpty(filter.extras.info)) {
|
|
105
|
+
info = {
|
|
106
|
+
icon: filter.extras.info.icon,
|
|
107
|
+
label: filter.extras.info.label,
|
|
108
|
+
};
|
|
109
|
+
}
|
|
104
110
|
return {
|
|
105
111
|
collapsed: filter.collapsed,
|
|
106
112
|
column: {
|
|
@@ -123,6 +129,8 @@ const getFilterDetail = (filter: IFUFilter, scope: IFUScope, dataset: IFUDataset
|
|
|
123
129
|
},
|
|
124
130
|
dateSection: filter.dateSection,
|
|
125
131
|
enabled: filter.enabled,
|
|
132
|
+
extras: filter.extras,
|
|
133
|
+
info,
|
|
126
134
|
lookupDisplayIndex: filter.lookupDisplayIndex,
|
|
127
135
|
nullValues: filter.nullValues,
|
|
128
136
|
operator: filter.operator,
|