@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
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { IFScope } from "../IFScope";
|
|
2
2
|
import { IFSection } from "../IFSection";
|
|
3
|
+
import { IFSFilterExtrasInfo } from "./IFSFilterExtrasInfo";
|
|
3
4
|
|
|
4
5
|
/**
|
|
5
6
|
* Structure for extra properties of the Filter.
|
|
@@ -10,4 +11,7 @@ export interface IFSFilterExtras {
|
|
|
10
11
|
scope: IFScope; // Scope of the filter.
|
|
11
12
|
scopeid?: string; // The scope ID. This is set depending on the scope type. Global: undefined; Tab: tabid; Page: pageid; DATA: qrveyid
|
|
12
13
|
section?: IFSection; // The section when the filter is applied.
|
|
14
|
+
info?: IFSFilterExtrasInfo; // Extra filter info
|
|
15
|
+
|
|
16
|
+
[x: string]: any; // Specific case for those filters that need to store something else
|
|
13
17
|
}
|
|
@@ -3,6 +3,7 @@ import { IFProperty } from "../IFProperty";
|
|
|
3
3
|
import { IFScope } from "../IFScope";
|
|
4
4
|
import { IFValidator } from "../IFValidator";
|
|
5
5
|
import { IFSColumn } from "./IFSColumn";
|
|
6
|
+
import { IFSParamsToGetFilterEnableds } from "./IFSParamsToGetFilterEnableds";
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
* Structure for filter properties
|
|
@@ -10,7 +11,7 @@ import { IFSColumn } from "./IFSColumn";
|
|
|
10
11
|
export interface IFSParamsToGetFilter {
|
|
11
12
|
column?: IFSColumn;
|
|
12
13
|
dateSection?: IFDateSection;
|
|
13
|
-
enableds?:
|
|
14
|
+
enableds?: IFSParamsToGetFilterEnableds;
|
|
14
15
|
linkid?: string;
|
|
15
16
|
panelid?: string;
|
|
16
17
|
property?: IFProperty;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structure for filter structure enabled flags
|
|
3
|
+
*/
|
|
4
|
+
export interface IFSParamsToGetFilterEnableds {
|
|
5
|
+
scopes?: boolean; // Flag to filter the scope enabled properties
|
|
6
|
+
datasets?: boolean; // Flag to filter the dataset enabled properties
|
|
7
|
+
filters?: boolean; // Flag to filter the filter enabled properties
|
|
8
|
+
values?: boolean; // Flag to filter the value enabled properties
|
|
9
|
+
}
|
|
@@ -20,7 +20,10 @@ export * from './IFSDataset';
|
|
|
20
20
|
export * from './IFSDataStore';
|
|
21
21
|
export * from './IFSFilter';
|
|
22
22
|
export * from './IFSFilterExtras';
|
|
23
|
+
export * from './IFSFilterExtrasInfo';
|
|
24
|
+
export * from './IFSMergeFiltersSettings';
|
|
23
25
|
export * from './IFSParamsToGetFilter';
|
|
26
|
+
export * from './IFSParamsToGetFilterEnableds';
|
|
24
27
|
export * from './IFSParamsToGetFilterSettings';
|
|
25
28
|
export * from './IFSScope';
|
|
26
29
|
export * from './IFSScopeID';
|
|
@@ -14,4 +14,5 @@ import { IFPSettingsFilterPanelBodyScopeScopeHeader } from "./IFPSettingsFilterP
|
|
|
14
14
|
readonly?: boolean; // True: validates read only, any event could not be executed in the scope.
|
|
15
15
|
header?: IFPSettingsFilterPanelBodyScopeScopeHeader; // Scope header options. If this object does not provide, the options of settings.filterPanel.body.scope.header would be taken
|
|
16
16
|
body?: IFPSettingsFilterPanelBodyScopeScopeBody; // Opciones para el body del scope.
|
|
17
|
+
settingDisplayed?: boolean; // True: Display the color settings
|
|
17
18
|
}
|
|
@@ -8,5 +8,6 @@ import { IFPSettingsFilterPanelHeaderMenu } from "./IFPSettingsFilterPanelHeader
|
|
|
8
8
|
readonly?: boolean; // True: validates read only, any event could not be executed in the Filter Panel header.
|
|
9
9
|
filterButtonDisplayed?: boolean; // True: Display Add Filter button.
|
|
10
10
|
settingsButtonDisplayed?: boolean; // True: Display Setting button.
|
|
11
|
+
settingsReadonly?: boolean; // True: disable Settings section
|
|
11
12
|
menu?: IFPSettingsFilterPanelHeaderMenu; // Option Menu Settings
|
|
12
13
|
}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
+
import { IFPSettingsFilterPanelSettingsScope } from "./IFPSettingsFilterPanelSettingsScope";
|
|
1
2
|
import { IFPSettingsPanelView } from "./IFPSettingsPanelView";
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* Structure for the additional Filter Panel settings
|
|
5
6
|
*/
|
|
6
7
|
export interface IFPSettingsFilterPanelSettings {
|
|
8
|
+
panelInPageViewShow?: boolean; // True: Display the option in the Filter Panel Settings section
|
|
7
9
|
panelInPageViewDisplayed?: boolean; // True: Display the Filter Panel component in the Page View (End user)
|
|
8
10
|
panelDefaultView?: IFPSettingsPanelView;
|
|
11
|
+
panelDefaultViewShow?: boolean;
|
|
12
|
+
scopeSettings?: IFPSettingsFilterPanelSettingsScope;
|
|
9
13
|
}
|
|
@@ -36,5 +36,6 @@ export * from './IFPSettingsFilterPanelBodyDatasetHeader';
|
|
|
36
36
|
export * from './IFPSettingsFilterPanelBodyFilter';
|
|
37
37
|
export * from './IFPSettingsFilterPanelBodyFilterMenu';
|
|
38
38
|
export * from './IFPSettingsFilterPanelBodyOperator';
|
|
39
|
+
export * from './IFPSettingsFilterPanelSettingsScope';
|
|
39
40
|
|
|
40
41
|
export * from './IFPSettingsPanelView';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IQrveyDataset } from "../../../interfaces/Qrvey.Interface";
|
|
2
|
-
import {
|
|
2
|
+
import { IFSFilterExtras } from "../common";
|
|
3
3
|
import { IFUDataset } from "./IFUDataset";
|
|
4
4
|
import { IFUScope } from "./IFUScope";
|
|
5
5
|
|
package/src/format/definition.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
import { COLUMN, CHART_TYPE } from '../constants';
|
|
3
|
+
import { ChartType } from '../interfaces';
|
|
3
4
|
|
|
4
5
|
export const textFields: string[] = [COLUMN.TEXTFIELD, COLUMN.TEXT_CATEGORY, COLUMN.TEXT_LABEL, COLUMN.TEXT_CATEGORY];
|
|
5
6
|
|
|
@@ -28,15 +29,15 @@ export const QUESTION_FORMAT_SUPPORT = [
|
|
|
28
29
|
];
|
|
29
30
|
export const DATEGROUP_FORMATTING_UNSUPPORT = ['YEAR', 'QUARTER', 'MONTH', 'WEEK'];
|
|
30
31
|
|
|
31
|
-
export const appliesFormatting = (columnType) => QUESTION_FORMAT_SUPPORT.includes(columnType);
|
|
32
|
+
export const appliesFormatting = (columnType): boolean => QUESTION_FORMAT_SUPPORT.includes(columnType);
|
|
32
33
|
|
|
33
|
-
export const hasfileSizeProperty = (column: any = {}) => isComplexColumn(column) && column.property && (column.property.value || column.property).includes('fileSize');
|
|
34
|
+
export const hasfileSizeProperty = (column: any = {}): boolean => isComplexColumn(column) && column.property && (column.property.value || column.property).includes('fileSize');
|
|
34
35
|
|
|
35
|
-
export const isComplexColumn = (column: any = {}) => complexFields.includes(column.type);
|
|
36
|
+
export const isComplexColumn = (column: any = {}): boolean => complexFields.includes(column.type);
|
|
36
37
|
|
|
37
|
-
export const isNumericalColumn = (column: any = {}) => numericalFields.includes(column.type) || column.formulaType === 'number';
|
|
38
|
+
export const isNumericalColumn = (column: any = {}): boolean => numericalFields.includes(column.type) || column.formulaType === 'number';
|
|
38
39
|
|
|
39
|
-
export function supportNumericFormatting(chartType): boolean {
|
|
40
|
+
export function supportNumericFormatting(chartType: ChartType): boolean {
|
|
40
41
|
const supportedCharts = [
|
|
41
42
|
CHART_TYPE.TABLE_CHART,
|
|
42
43
|
CHART_TYPE.CROSSTAB_CHART,
|
|
@@ -52,6 +53,4 @@ export function supportNumericFormatting(chartType): boolean {
|
|
|
52
53
|
return supportedCharts.includes(chartType);
|
|
53
54
|
}
|
|
54
55
|
|
|
55
|
-
export const isTextColumn = (column: any) => textFields.includes(column.type) || column.formulaType === 'string' || column.formulaType === 'boolean';
|
|
56
|
-
|
|
57
|
-
|
|
56
|
+
export const isTextColumn = (column: any): boolean => textFields.includes(column.type) || column.formulaType === 'string' || column.formulaType === 'boolean';
|
package/src/format/format.ts
CHANGED
|
@@ -1,32 +1,28 @@
|
|
|
1
1
|
import { format as d3Format } from 'd3';
|
|
2
2
|
import dayjs from 'dayjs';
|
|
3
3
|
import { COLUMN, FORMULA_TYPES } from '../constants';
|
|
4
|
-
import { _get } from '../general/object/get';
|
|
5
4
|
import { DATEGROUP_FORMATTING_UNSUPPORT, appliesFormatting, hasfileSizeProperty, isTextColumn } from './definition';
|
|
6
5
|
import advancedFormat from 'dayjs/plugin/advancedFormat';
|
|
6
|
+
import { isEmpty, _get } from '../general';
|
|
7
7
|
|
|
8
8
|
dayjs.extend(advancedFormat); // Add support to advanced formats https://day.js.org/docs/en/plugin/advanced-format
|
|
9
9
|
|
|
10
|
-
export const isEmptyValue = (variable: any): boolean => {
|
|
11
|
-
return variable === undefined || variable === null || variable === '';
|
|
12
|
-
}
|
|
13
|
-
|
|
14
10
|
/**
|
|
15
11
|
* Apply to the given date format to a date value
|
|
16
12
|
* @param bytes type number
|
|
17
13
|
*/
|
|
18
14
|
function isValidDateString(dateString = '') {
|
|
19
15
|
return /^\d{2}\/\d{2}\/\d{4}/.test(dateString) // MM/DD/YYY OR DD/MM/YYYY
|
|
20
|
-
|| /^\d{4}
|
|
16
|
+
|| /^\d{4}-\d{2}-\d{2}/.test(dateString); // YYYY-MM-DD
|
|
21
17
|
}
|
|
22
18
|
|
|
23
19
|
export function formatDate(dateString, format) {
|
|
24
|
-
if (
|
|
20
|
+
if (isEmpty(dateString) || !isNaN(dateString) || format === 'Default') return dateString;
|
|
25
21
|
if (!isValidDateString(dateString)) return dateString;
|
|
26
22
|
return dayjs(dateString.split('.')[0]).format(format.replace('HH24:', 'HH:').replace('MI:SS', 'mm:ss').replace('MM:SS', 'mm:ss'));
|
|
27
23
|
}
|
|
28
24
|
|
|
29
|
-
function formatAbbreviated(num, decimals) {
|
|
25
|
+
export function formatAbbreviated(num, decimals) {
|
|
30
26
|
if (num == 0) return 0;
|
|
31
27
|
|
|
32
28
|
const absValue = Math.abs(num);
|
|
@@ -35,17 +31,17 @@ function formatAbbreviated(num, decimals) {
|
|
|
35
31
|
if (exp < 0 && exp >= -3)
|
|
36
32
|
return decimals ? num.toFixed(decimals) : num;
|
|
37
33
|
|
|
38
|
-
return d3Format(
|
|
34
|
+
return d3Format(num > -100 && num < 100 ? '' : '.3s')(num);
|
|
39
35
|
}
|
|
40
36
|
|
|
41
|
-
function formatNumber(num, outputFormat,
|
|
37
|
+
function formatNumber(num, outputFormat, _config?) {
|
|
42
38
|
try {
|
|
43
39
|
num = +(num || 0);
|
|
44
40
|
} catch (e) {
|
|
45
41
|
num = 0;
|
|
46
42
|
}
|
|
47
43
|
if (isNaN(num)) num = 0;
|
|
48
|
-
const num_decimals = !
|
|
44
|
+
const num_decimals = !isEmpty(outputFormat.decimals) && outputFormat.format !== 'Abbreviated' ? outputFormat.decimals : 0;
|
|
49
45
|
|
|
50
46
|
switch (outputFormat.format) {
|
|
51
47
|
case 'Abbreviated':
|
|
@@ -57,12 +53,12 @@ function formatNumber(num, outputFormat, config?) {
|
|
|
57
53
|
|
|
58
54
|
const currency = `${num < 0 ? '-' : ''} ${_get(outputFormat, 'currency.label', '$')}`;
|
|
59
55
|
const absNum = Math.abs(num);
|
|
60
|
-
return currency + d3Format(`,.${num_decimals}f`)(absNum).replace(/\.(%*)$/, '$1')
|
|
56
|
+
return currency + d3Format(`,.${num_decimals}f`)(absNum).replace(/\.(%*)$/, '$1');
|
|
61
57
|
}
|
|
62
58
|
case 'Percentage':
|
|
63
|
-
return `${d3Format(`,.${num_decimals}f`)(num).replace(/\.(%*)$/, '$1')}
|
|
59
|
+
return `${d3Format(`,.${num_decimals}f`)(num).replace(/\.(%*)$/, '$1')}%`;
|
|
64
60
|
case 'Scientific':
|
|
65
|
-
return Number(num).toExponential(num_decimals).replace('.00', '').replace('e+0', '')
|
|
61
|
+
return Number(num).toExponential(num_decimals).replace('.00', '').replace('e+0', '');
|
|
66
62
|
default:
|
|
67
63
|
return `${num}`;
|
|
68
64
|
}
|
|
@@ -72,7 +68,7 @@ function formatNumber(num, outputFormat, config?) {
|
|
|
72
68
|
* Set convert Bytes into MB
|
|
73
69
|
* @param bytes type number
|
|
74
70
|
*/
|
|
75
|
-
export function formatFileSize(bytes: number) {
|
|
71
|
+
export function formatFileSize(bytes: number): string {
|
|
76
72
|
const fixDecimals = (num) => {
|
|
77
73
|
return parseFloat(`${(num * 100) / 100}`).toFixed(2);
|
|
78
74
|
};
|
|
@@ -85,14 +81,15 @@ export function formatFileSize(bytes: number) {
|
|
|
85
81
|
}
|
|
86
82
|
|
|
87
83
|
export const formatValue = (value: any, outputFormat: any = 'None', config?): any => {
|
|
88
|
-
if (
|
|
84
|
+
if (isEmpty(value) || typeof value === 'object' && isEmpty(value[0])) return value;
|
|
89
85
|
switch (outputFormat.type) {
|
|
90
86
|
case 'DATE':
|
|
91
87
|
case 'DATETIME':
|
|
92
88
|
return formatDate(value, outputFormat.format);
|
|
93
|
-
case 'NUMERIC':
|
|
89
|
+
case 'NUMERIC': {
|
|
94
90
|
const parse = parseFloat(value);
|
|
95
91
|
return isNaN(parse) ? value : formatNumber(parse, outputFormat, config);
|
|
92
|
+
}
|
|
96
93
|
case 'IMAGEUPLOAD':
|
|
97
94
|
case 'FILEUPLOAD':
|
|
98
95
|
return formatFileSize(parseFloat(value));
|
|
@@ -135,7 +132,7 @@ export const defineFormat = (column: any = {}, isSimpleTable = false, isCategory
|
|
|
135
132
|
format: 'Abbreviated'
|
|
136
133
|
};
|
|
137
134
|
|
|
138
|
-
const dateGroupLabel = _get(column, 'dateGroup.label') || column.dateGroup
|
|
135
|
+
const dateGroupLabel = _get(column, 'dateGroup.label') || column.dateGroup;
|
|
139
136
|
switch (columnType) {
|
|
140
137
|
case COLUMN.YES_NO:
|
|
141
138
|
case COLUMN.PHONE:
|
|
@@ -147,7 +144,7 @@ export const defineFormat = (column: any = {}, isSimpleTable = false, isCategory
|
|
|
147
144
|
case COLUMN.EMAIL_FORM:
|
|
148
145
|
case COLUMN.IMAGE:
|
|
149
146
|
case COLUMN.TEXT_LABEL:
|
|
150
|
-
if (isTable) return 'None'
|
|
147
|
+
if (isTable) return 'None';
|
|
151
148
|
if (outputFormat) {
|
|
152
149
|
if (isNumericDefaultOutput) return defaultAbbreviated;
|
|
153
150
|
return column.outputFormat;
|
|
@@ -156,6 +153,7 @@ export const defineFormat = (column: any = {}, isSimpleTable = false, isCategory
|
|
|
156
153
|
if (isNumericDefaultSelected) return defaultAbbreviated;
|
|
157
154
|
return column.selectedFormat;
|
|
158
155
|
}
|
|
156
|
+
break;
|
|
159
157
|
case COLUMN.DATE:
|
|
160
158
|
if ((!isTable && column.isSummary) || column.isXY) {
|
|
161
159
|
if (isCategoryDimension && outputFormat !== 'Default') return column.outputFormat;
|
|
@@ -165,7 +163,7 @@ export const defineFormat = (column: any = {}, isSimpleTable = false, isCategory
|
|
|
165
163
|
if ((isCategoryDimension || isTable) && DATEGROUP_FORMATTING_UNSUPPORT.includes(dateGroupLabel)) return 'None';
|
|
166
164
|
if ((isCategoryDimension || isTable) && selectType == 'NUMERIC' && dateGroupLabel && outputType === 'DATE') return column.outputFormat;
|
|
167
165
|
if ((isCategoryDimension || isTable) && selectType == 'NUMERIC' && dateGroupLabel && outputType === 'NUMERIC') return _get(column, 'defaultFormat');
|
|
168
|
-
if (selectedFormat) {
|
|
166
|
+
if (selectedFormat && selectedFormat != 'Default') {
|
|
169
167
|
if (isNumericDefaultSelected) return defaultAbbreviated;
|
|
170
168
|
return column.selectedFormat;
|
|
171
169
|
}
|
|
@@ -182,7 +180,6 @@ export const defineFormat = (column: any = {}, isSimpleTable = false, isCategory
|
|
|
182
180
|
type: columnType,
|
|
183
181
|
format: 'MM/DD/YYYY'
|
|
184
182
|
};
|
|
185
|
-
|
|
186
183
|
case COLUMN.NUMERIC:
|
|
187
184
|
case COLUMN.RATING:
|
|
188
185
|
case COLUMN.SLIDEBAR: {
|
|
@@ -272,7 +269,7 @@ export const defineFormat = (column: any = {}, isSimpleTable = false, isCategory
|
|
|
272
269
|
((column.selectedFormat &&
|
|
273
270
|
column.selectedFormat.format !== "Default") ||
|
|
274
271
|
(!isSimpleTable && column.isSummary)) &&
|
|
275
|
-
|
|
272
|
+
_get(column, "outputFormat.format")
|
|
276
273
|
)
|
|
277
274
|
return column.outputFormat;
|
|
278
275
|
break;
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
+
import { isEmpty } from "../mix";
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
4
|
* Inmutable Array Item deletion
|
|
3
|
-
* @param {Array} array
|
|
4
|
-
* @param {Number} index position of item to delete
|
|
5
|
-
* @
|
|
5
|
+
* @param {Array} array a collection of items to delete
|
|
6
|
+
* @param {Number} index the position of the item to delete
|
|
7
|
+
* @returns a new Array or the given parameter when is empty or not an array
|
|
6
8
|
*/
|
|
7
|
-
export function ArrayDelete
|
|
8
|
-
|
|
9
|
-
|
|
9
|
+
export function ArrayDelete<T = Array<any>> (arr: T[], index: number): T[] {
|
|
10
|
+
if (isEmpty(index) || isEmpty(arr) || !Array.isArray(arr)) return arr;
|
|
11
|
+
|
|
12
|
+
return arr.slice(0, index).concat(arr.slice(index + 1));
|
|
13
|
+
}
|
|
@@ -8,7 +8,7 @@ import { cloneDeep } from "../object/cloneDeep";
|
|
|
8
8
|
* @param condition function callback that determines if the filter is applied on the last child node of the nested tree
|
|
9
9
|
* @returns array filtered
|
|
10
10
|
*/
|
|
11
|
-
export function filterNestedTree(arr: any[]
|
|
11
|
+
export function filterNestedTree(arr: any[], childArrKey: string, condition: any): any[] {
|
|
12
12
|
if (isEmpty(arr)) return [];
|
|
13
13
|
|
|
14
14
|
return cloneDeep(arr).filter(obj => {
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* @param arr Array to flat deeply
|
|
4
4
|
* @returns flatten array
|
|
5
5
|
*/
|
|
6
|
-
export function flattenDeep(arr) {
|
|
7
|
-
return arr.reduce((acc, val) => Array.isArray(val) ? acc.concat(flattenDeep(val)) : acc.concat(val), []);
|
|
6
|
+
export function flattenDeep(arr = []): any[] {
|
|
7
|
+
if (Array.isArray(arr)) return arr.reduce((acc, val) => Array.isArray(val) ? acc.concat(flattenDeep(val)) : acc.concat(val), []);
|
|
8
|
+
return undefined;
|
|
8
9
|
}
|
|
@@ -4,13 +4,15 @@
|
|
|
4
4
|
* @param callback function callback
|
|
5
5
|
* @returns the first index of the array. -1 when the condition is not satisfied
|
|
6
6
|
*/
|
|
7
|
-
export function getFirstIndexFromArray(array = [], callback): number {
|
|
7
|
+
export function getFirstIndexFromArray(array: any[] = [], callback?: (item: any) => boolean): number {
|
|
8
8
|
let firstArrayIndex = -1;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
if (Array.isArray(array) && callback instanceof Function) {
|
|
10
|
+
for(let i = 0; i < array.length; i++) {
|
|
11
|
+
const condition = callback(array[i]);
|
|
12
|
+
if (condition) {
|
|
13
|
+
firstArrayIndex = i;
|
|
14
|
+
break;
|
|
15
|
+
}
|
|
14
16
|
}
|
|
15
17
|
}
|
|
16
18
|
return firstArrayIndex;
|
|
@@ -4,12 +4,14 @@
|
|
|
4
4
|
* @param callback function callback
|
|
5
5
|
* @returns the last index of the array. -1 when the condition is not satisfied
|
|
6
6
|
*/
|
|
7
|
-
export function getLastIndexFromArray(array = [], callback): number {
|
|
7
|
+
export function getLastIndexFromArray(array: any[] = [], callback?: (item: any) => boolean): number {
|
|
8
8
|
let lastArrayIndex = -1;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
if (Array.isArray(array) && callback instanceof Function) {
|
|
10
|
+
for(let i = 0; i < array.length; i++) {
|
|
11
|
+
const condition = callback(array[i]);
|
|
12
|
+
if (condition) {
|
|
13
|
+
lastArrayIndex = i;
|
|
14
|
+
}
|
|
13
15
|
}
|
|
14
16
|
}
|
|
15
17
|
return lastArrayIndex;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @param {Number} time default 500ms
|
|
5
5
|
* @returns {Function} debounced functions
|
|
6
6
|
*/
|
|
7
|
-
export function debounce(fn
|
|
7
|
+
export function debounce(fn, time = 500) {
|
|
8
8
|
let timeout;
|
|
9
9
|
|
|
10
10
|
return function (...args: any) {
|
|
@@ -12,5 +12,5 @@ export function debounce(fn: Function, time = 500) {
|
|
|
12
12
|
|
|
13
13
|
clearTimeout(timeout);
|
|
14
14
|
timeout = setTimeout(functionCall, time);
|
|
15
|
-
}
|
|
15
|
+
};
|
|
16
16
|
}
|
|
@@ -4,14 +4,14 @@
|
|
|
4
4
|
* @param {Number} time default 500ms
|
|
5
5
|
* @returns {Function} throttled function
|
|
6
6
|
*/
|
|
7
|
-
export function throttled(fn
|
|
7
|
+
export function throttled(fn, delay = 500) {
|
|
8
8
|
let lastCall = 0;
|
|
9
9
|
return (...args: any) => {
|
|
10
|
-
const now =
|
|
10
|
+
const now = new Date().getTime();
|
|
11
11
|
if (now - lastCall < delay) {
|
|
12
12
|
return;
|
|
13
13
|
}
|
|
14
14
|
lastCall = now;
|
|
15
15
|
return fn(...args);
|
|
16
|
-
}
|
|
16
|
+
};
|
|
17
17
|
}
|