@qrvey/utils 1.5.0-9 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/charts/adapters/endpointData.js +27 -25
- package/dist/charts/adapters/endpointDataGet.js +15 -16
- package/dist/cjs/charts/adapters/endpointData.js +27 -25
- package/dist/cjs/charts/adapters/endpointDataGet.js +15 -16
- package/dist/cjs/column_format/helpers/columnTypeByChart.js +1 -2
- package/dist/cjs/column_format/helpers/defineTableChartFormat.js +3 -3
- package/dist/cjs/column_format/helpers/defineXYChartFormat.js +10 -17
- package/dist/cjs/columns/constants/COLUMN.js +1 -1
- package/dist/cjs/columns/constants/COLUMN_PROPERTY.js +2 -2
- package/dist/cjs/columns/helpers/getDatasetColumn.d.ts +9 -1
- package/dist/cjs/columns/helpers/getDatasetColumn.js +31 -4
- package/dist/cjs/columns/helpers/getDatasetColumnByDatasets.d.ts +6 -5
- package/dist/cjs/columns/helpers/getDatasetColumnByDatasets.js +22 -8
- package/dist/cjs/columns/helpers/getModelColumn.d.ts +4 -4
- package/dist/cjs/columns/helpers/getModelColumn.js +9 -19
- package/dist/cjs/columns/helpers/isComplexColumn.d.ts +5 -0
- package/dist/cjs/columns/helpers/isComplexColumn.js +5 -0
- package/dist/cjs/columns/helpers/isDateColumn.d.ts +5 -0
- package/dist/cjs/columns/helpers/isDateColumn.js +8 -1
- package/dist/cjs/columns/helpers/isNumericalColumn.d.ts +5 -0
- package/dist/cjs/columns/helpers/isNumericalColumn.js +7 -1
- package/dist/cjs/dates/adapters/dateToHms.d.ts +1 -1
- package/dist/cjs/dates/adapters/dateToHms.js +6 -8
- package/dist/cjs/dates/adapters/dateToMdyDate.js +6 -9
- package/dist/cjs/dates/adapters/dateToMonthYear.js +6 -4
- package/dist/cjs/dates/adapters/dateToQuarterYear.d.ts +2 -2
- package/dist/cjs/dates/adapters/dateToQuarterYear.js +8 -6
- package/dist/cjs/dates/adapters/dateToWeekYear.js +5 -3
- package/dist/cjs/dates/adapters/dateToYear.d.ts +1 -1
- package/dist/cjs/dates/adapters/dateToYear.js +6 -4
- package/dist/cjs/dates/adapters/weekYearToDate.js +1 -6
- package/dist/cjs/dates/constants/DATE_DISTINCT_PROPERTY.js +1 -1
- package/dist/cjs/dates/constants/DATE_FORMAT.js +7 -7
- package/dist/cjs/dates/constants/DATE_FORMATS.d.ts +1 -0
- package/dist/cjs/dates/constants/DATE_FORMATS.js +22 -0
- package/dist/cjs/dates/constants/DATE_GROUPING_ALL_PROPERTIES.d.ts +1 -0
- package/dist/cjs/dates/constants/DATE_GROUPING_ALL_PROPERTIES.js +9 -0
- package/dist/cjs/dates/constants/DATE_REGULAR_EXPRESSIONS.d.ts +1 -0
- package/dist/cjs/dates/constants/DATE_REGULAR_EXPRESSIONS.js +23 -0
- package/dist/cjs/dates/constants/DATE_REGULAR_EXPRESSION_ARRAY_BY_FORMAT.d.ts +3 -0
- package/dist/cjs/dates/constants/DATE_REGULAR_EXPRESSION_ARRAY_BY_FORMAT.js +40 -0
- package/dist/cjs/dates/constants/index.d.ts +4 -0
- package/dist/cjs/dates/constants/index.js +4 -0
- package/dist/cjs/dates/helpers/{includeDateTokens.d.ts → areIncludedDateTokens.d.ts} +1 -1
- package/dist/cjs/dates/helpers/{includeDateTokens.js → areIncludedDateTokens.js} +5 -4
- package/dist/cjs/dates/helpers/getDateFormatRegularExpressionInArray.d.ts +2 -2
- package/dist/cjs/dates/helpers/getDateFormatRegularExpressionInArray.js +9 -42
- package/dist/{dates/range → cjs/dates/helpers}/getDateRange.d.ts +3 -3
- package/dist/cjs/dates/{range → helpers}/getDateRange.js +73 -69
- package/dist/cjs/dates/helpers/getFormattedDateByFormat.d.ts +1 -0
- package/dist/cjs/dates/helpers/getFormattedDateByFormat.js +17 -17
- package/dist/cjs/dates/helpers/getSeparatorByDateFormat.d.ts +1 -1
- package/dist/cjs/dates/helpers/getSeparatorByDateFormat.js +1 -1
- package/dist/cjs/dates/helpers/getWeek.d.ts +6 -4
- package/dist/cjs/dates/helpers/getWeek.js +6 -3
- package/dist/cjs/dates/helpers/index.d.ts +4 -1
- package/dist/cjs/dates/helpers/index.js +4 -1
- package/dist/cjs/dates/helpers/isValidPotentialDate.d.ts +6 -0
- package/dist/cjs/dates/helpers/isValidPotentialDate.js +18 -0
- package/dist/cjs/dates/index.d.ts +0 -1
- package/dist/cjs/dates/index.js +0 -1
- package/dist/cjs/dates/relative/constants/RELATIVE_UNIT_INFO_LIST.js +5 -5
- package/dist/cjs/filters/adapters/FDToFlatUI.js +4 -4
- package/dist/cjs/filters/adapters/FDToUI.js +3 -3
- package/dist/cjs/filters/adapters/UIToFD.js +3 -3
- package/dist/cjs/filters/adapters/UIToFlatUI.js +3 -3
- package/dist/cjs/filters/adapters/UIToOldLogic.js +6 -6
- package/dist/cjs/filters/adapters/adaptFilterData.js +7 -7
- package/dist/cjs/filters/adapters/flatUIToFD.js +24 -24
- package/dist/cjs/filters/adapters/flatUIToOldLogic.js +42 -49
- package/dist/cjs/filters/adapters/flatUIToUI.js +29 -29
- package/dist/cjs/filters/adapters/index.d.ts +0 -1
- package/dist/cjs/filters/adapters/index.js +0 -1
- package/dist/cjs/filters/adapters/logicToFlatUI.js +6 -8
- package/dist/cjs/filters/constants/common/FILTER_TOKENS_STRUCTURE_TYPE.d.ts +2 -1
- package/dist/cjs/filters/constants/common/FILTER_TOKENS_STRUCTURE_TYPE.js +1 -0
- package/dist/cjs/filters/helpers/OLD_getAggFilters.js +5 -4
- package/dist/cjs/filters/helpers/backend/buildExpression.js +1 -1
- package/dist/cjs/filters/helpers/backend/buildFilters.js +6 -16
- package/dist/cjs/filters/helpers/backend/getBackendValidator.js +1 -1
- package/dist/cjs/filters/helpers/backend/getBackendValues.js +1 -3
- package/dist/cjs/filters/helpers/backend/getLogicByDatasets.js +2 -2
- package/dist/cjs/filters/helpers/backend/getLogicByDatasetsColumns.js +2 -2
- package/dist/cjs/filters/helpers/backend/getLogicByScopes.js +2 -2
- package/dist/cjs/filters/helpers/backend/getLogicByScopesHierarchy.js +0 -2
- package/dist/cjs/filters/helpers/common/excludeFiltersByAggregateColumn.js +3 -3
- package/dist/cjs/filters/helpers/common/excludeFiltersByParams.js +7 -9
- package/dist/cjs/filters/helpers/common/excludeFiltersByScopes.js +3 -3
- package/dist/cjs/filters/helpers/common/getFilterLabel.js +1 -1
- package/dist/cjs/filters/helpers/common/getFiltersByAggregateColumn.js +3 -3
- package/dist/cjs/filters/helpers/common/getFiltersByParams.js +15 -17
- package/dist/cjs/filters/helpers/common/getFiltersByScopes.js +3 -3
- package/dist/cjs/filters/helpers/common/getFiltersByScopesIds.js +4 -4
- package/dist/cjs/filters/helpers/common/getFiltersByVisibility.js +4 -4
- package/dist/cjs/filters/helpers/common/mergeFilters.js +23 -19
- package/dist/cjs/filters/helpers/common/mergeValues.js +2 -2
- package/dist/cjs/filters/helpers/filtersTokensToString.js +4 -1
- package/dist/cjs/filters/helpers/getAggFiltersFromFilterData.js +2 -2
- package/dist/cjs/filters/helpers/getTokensFromFilters.js +17 -3
- package/dist/cjs/filters/helpers/ui/excludeUIFiltersByAggregate.js +2 -2
- package/dist/cjs/filters/helpers/ui/excludeUIFlatFiltersByScopes.js +2 -2
- package/dist/cjs/filters/helpers/ui/getUIFlatFilterByParams.js +3 -3
- package/dist/cjs/filters/helpers/ui/getUIFlatFiltersByParams.js +2 -2
- package/dist/cjs/filters/helpers/ui/getUIFlatFiltersByScopes.js +2 -2
- package/dist/cjs/filters/helpers/ui/getUIValues.js +9 -11
- package/dist/cjs/filters/helpers/ui/transformFilterValues.js +1 -3
- package/dist/cjs/filters/services/Filters.api.d.ts +4 -4
- package/dist/cjs/filters/services/Filters.api.js +7 -7
- package/dist/cjs/filters/services/UChartApi.d.ts +11 -11
- package/dist/cjs/filters/services/UChartApi.js +176 -185
- package/dist/cjs/filters/services/UChartPaginationApi.d.ts +13 -13
- package/dist/cjs/filters/services/UChartPaginationApi.js +198 -212
- package/dist/cjs/format/duration/addDurationFormat.d.ts +1 -1
- package/dist/cjs/format/duration/addDurationFormat.js +2 -2
- package/dist/cjs/format/duration/durationFormatter.d.ts +1 -1
- package/dist/cjs/format/duration/durationFormatter.js +7 -6
- package/dist/cjs/format/format.js +38 -33
- package/dist/cjs/format/localization.js +1 -2
- package/dist/cjs/general/mix/importScripts.js +8 -14
- package/dist/cjs/general/mix/randomId.js +11 -10
- package/dist/cjs/general/object/get.js +4 -4
- package/dist/cjs/general/object/getAttribute.js +1 -1
- package/dist/cjs/general/object/mapValues.js +2 -2
- package/dist/cjs/general/object/mergeDeep.js +6 -4
- package/dist/cjs/general/object/serialize.js +3 -3
- package/dist/cjs/general/string/padLeadingZeros.js +2 -2
- package/dist/cjs/globalization/helpers/getI18nDateGroupLabel.js +13 -10
- package/dist/cjs/globalization/helpers/getReverseI18nGroupLabel.js +12 -9
- package/dist/cjs/globalization/interfaces/II18nResource.d.ts +1 -1
- package/dist/cjs/globalization/interfaces/chart_builder/II18nChartBuilderAxisStyle.d.ts +9 -0
- package/dist/cjs/globalization/interfaces/chart_builder/II18nChartBuilderDurationParts.d.ts +1 -0
- package/dist/cjs/globalization/interfaces/common/II18nCommon.d.ts +2 -0
- package/dist/cjs/globalization/interfaces/filters/II18nTokenBox.d.ts +1 -0
- package/dist/cjs/globalization/labels/I18N_DEFAULT.js +1 -1
- package/dist/cjs/globalization/labels/chart_builder/I18N_CHART_BUILDER.js +1 -0
- package/dist/cjs/globalization/labels/chart_builder/I18N_CHART_BUILDER_STYLE_OPTIONS.js +13 -4
- package/dist/cjs/globalization/labels/common/I18N_COMMON.js +4 -0
- package/dist/cjs/qrvey/helpers/getLookupAnswers.js +4 -6
- package/dist/cjs/qrvey/helpers/getValueWithSuffixes.js +1 -1
- package/dist/cjs/services/adapters/index.d.ts +2 -1
- package/dist/cjs/services/adapters/index.js +2 -1
- package/dist/cjs/services/api/getAllDatasets.api.js +6 -8
- package/dist/cjs/services/helpers/Request.js +5 -4
- package/dist/column_format/helpers/columnTypeByChart.js +1 -2
- package/dist/column_format/helpers/defineTableChartFormat.js +4 -4
- package/dist/column_format/helpers/defineXYChartFormat.js +10 -17
- package/dist/columns/constants/COLUMN.js +1 -1
- package/dist/columns/constants/COLUMN_PROPERTY.js +2 -2
- package/dist/columns/helpers/getDatasetColumn.d.ts +9 -1
- package/dist/columns/helpers/getDatasetColumn.js +31 -4
- package/dist/columns/helpers/getDatasetColumnByDatasets.d.ts +6 -5
- package/dist/columns/helpers/getDatasetColumnByDatasets.js +22 -8
- package/dist/columns/helpers/getModelColumn.d.ts +4 -4
- package/dist/columns/helpers/getModelColumn.js +9 -19
- package/dist/columns/helpers/isComplexColumn.d.ts +5 -0
- package/dist/columns/helpers/isComplexColumn.js +5 -0
- package/dist/columns/helpers/isDateColumn.d.ts +5 -0
- package/dist/columns/helpers/isDateColumn.js +8 -1
- package/dist/columns/helpers/isNumericalColumn.d.ts +5 -0
- package/dist/columns/helpers/isNumericalColumn.js +7 -1
- package/dist/dates/adapters/dateToHms.d.ts +1 -1
- package/dist/dates/adapters/dateToHms.js +6 -8
- package/dist/dates/adapters/dateToMdyDate.js +6 -9
- package/dist/dates/adapters/dateToMonthYear.js +6 -4
- package/dist/dates/adapters/dateToQuarterYear.d.ts +2 -2
- package/dist/dates/adapters/dateToQuarterYear.js +8 -6
- package/dist/dates/adapters/dateToWeekYear.js +5 -3
- package/dist/dates/adapters/dateToYear.d.ts +1 -1
- package/dist/dates/adapters/dateToYear.js +6 -4
- package/dist/dates/adapters/weekYearToDate.js +1 -6
- package/dist/dates/constants/DATE_DISTINCT_PROPERTY.js +1 -1
- package/dist/dates/constants/DATE_FORMAT.js +7 -7
- package/dist/dates/constants/DATE_FORMATS.d.ts +1 -0
- package/dist/dates/constants/DATE_FORMATS.js +19 -0
- package/dist/dates/constants/DATE_GROUPING_ALL_PROPERTIES.d.ts +1 -0
- package/dist/dates/constants/DATE_GROUPING_ALL_PROPERTIES.js +6 -0
- package/dist/dates/constants/DATE_REGULAR_EXPRESSIONS.d.ts +1 -0
- package/dist/dates/constants/DATE_REGULAR_EXPRESSIONS.js +20 -0
- package/dist/dates/constants/DATE_REGULAR_EXPRESSION_ARRAY_BY_FORMAT.d.ts +3 -0
- package/dist/dates/constants/DATE_REGULAR_EXPRESSION_ARRAY_BY_FORMAT.js +37 -0
- package/dist/dates/constants/index.d.ts +4 -0
- package/dist/dates/constants/index.js +4 -0
- package/dist/dates/helpers/{includeDateTokens.d.ts → areIncludedDateTokens.d.ts} +1 -1
- package/dist/dates/helpers/{includeDateTokens.js → areIncludedDateTokens.js} +3 -2
- package/dist/dates/helpers/getDateFormatRegularExpressionInArray.d.ts +2 -2
- package/dist/dates/helpers/getDateFormatRegularExpressionInArray.js +9 -42
- package/dist/{cjs/dates/range → dates/helpers}/getDateRange.d.ts +3 -3
- package/dist/dates/{range → helpers}/getDateRange.js +73 -69
- package/dist/dates/helpers/getFormattedDateByFormat.d.ts +1 -0
- package/dist/dates/helpers/getFormattedDateByFormat.js +17 -17
- package/dist/dates/helpers/getSeparatorByDateFormat.d.ts +1 -1
- package/dist/dates/helpers/getSeparatorByDateFormat.js +1 -1
- package/dist/dates/helpers/getWeek.d.ts +6 -4
- package/dist/dates/helpers/getWeek.js +6 -3
- package/dist/dates/helpers/index.d.ts +4 -1
- package/dist/dates/helpers/index.js +4 -1
- package/dist/dates/helpers/isValidPotentialDate.d.ts +6 -0
- package/dist/dates/helpers/isValidPotentialDate.js +14 -0
- package/dist/dates/index.d.ts +0 -1
- package/dist/dates/index.js +0 -1
- package/dist/dates/relative/constants/RELATIVE_UNIT_INFO_LIST.js +5 -5
- package/dist/filters/adapters/FDToFlatUI.js +4 -4
- package/dist/filters/adapters/FDToUI.js +3 -3
- package/dist/filters/adapters/UIToFD.js +3 -3
- package/dist/filters/adapters/UIToFlatUI.js +3 -3
- package/dist/filters/adapters/UIToOldLogic.js +6 -6
- package/dist/filters/adapters/adaptFilterData.js +7 -7
- package/dist/filters/adapters/flatUIToFD.js +24 -24
- package/dist/filters/adapters/flatUIToOldLogic.js +42 -49
- package/dist/filters/adapters/flatUIToUI.js +29 -29
- package/dist/filters/adapters/index.d.ts +0 -1
- package/dist/filters/adapters/index.js +0 -1
- package/dist/filters/adapters/logicToFlatUI.js +6 -8
- package/dist/filters/constants/common/FILTER_TOKENS_STRUCTURE_TYPE.d.ts +2 -1
- package/dist/filters/constants/common/FILTER_TOKENS_STRUCTURE_TYPE.js +1 -0
- package/dist/filters/helpers/OLD_getAggFilters.js +5 -4
- package/dist/filters/helpers/backend/buildExpression.js +1 -1
- package/dist/filters/helpers/backend/buildFilters.js +6 -16
- package/dist/filters/helpers/backend/getBackendValidator.js +1 -1
- package/dist/filters/helpers/backend/getBackendValues.js +1 -3
- package/dist/filters/helpers/backend/getLogicByDatasets.js +2 -2
- package/dist/filters/helpers/backend/getLogicByDatasetsColumns.js +2 -2
- package/dist/filters/helpers/backend/getLogicByScopes.js +2 -2
- package/dist/filters/helpers/backend/getLogicByScopesHierarchy.js +0 -2
- package/dist/filters/helpers/common/excludeFiltersByAggregateColumn.js +3 -3
- package/dist/filters/helpers/common/excludeFiltersByParams.js +7 -9
- package/dist/filters/helpers/common/excludeFiltersByScopes.js +3 -3
- package/dist/filters/helpers/common/getFilterLabel.js +1 -1
- package/dist/filters/helpers/common/getFiltersByAggregateColumn.js +3 -3
- package/dist/filters/helpers/common/getFiltersByParams.js +15 -17
- package/dist/filters/helpers/common/getFiltersByScopes.js +3 -3
- package/dist/filters/helpers/common/getFiltersByScopesIds.js +4 -4
- package/dist/filters/helpers/common/getFiltersByVisibility.js +4 -4
- package/dist/filters/helpers/common/mergeFilters.js +23 -19
- package/dist/filters/helpers/common/mergeValues.js +2 -2
- package/dist/filters/helpers/filtersTokensToString.js +4 -1
- package/dist/filters/helpers/getAggFiltersFromFilterData.js +2 -2
- package/dist/filters/helpers/getTokensFromFilters.js +17 -3
- package/dist/filters/helpers/ui/excludeUIFiltersByAggregate.js +2 -2
- package/dist/filters/helpers/ui/excludeUIFlatFiltersByScopes.js +2 -2
- package/dist/filters/helpers/ui/getUIFlatFilterByParams.js +3 -3
- package/dist/filters/helpers/ui/getUIFlatFiltersByParams.js +2 -2
- package/dist/filters/helpers/ui/getUIFlatFiltersByScopes.js +2 -2
- package/dist/filters/helpers/ui/getUIValues.js +9 -11
- package/dist/filters/helpers/ui/transformFilterValues.js +1 -3
- package/dist/filters/services/Filters.api.d.ts +4 -4
- package/dist/filters/services/Filters.api.js +7 -7
- package/dist/filters/services/UChartApi.d.ts +11 -11
- package/dist/filters/services/UChartApi.js +176 -185
- package/dist/filters/services/UChartPaginationApi.d.ts +13 -13
- package/dist/filters/services/UChartPaginationApi.js +198 -212
- package/dist/format/duration/addDurationFormat.d.ts +1 -1
- package/dist/format/duration/addDurationFormat.js +2 -2
- package/dist/format/duration/durationFormatter.d.ts +1 -1
- package/dist/format/duration/durationFormatter.js +7 -6
- package/dist/format/format.js +38 -33
- package/dist/format/localization.js +1 -2
- package/dist/general/mix/importScripts.js +8 -14
- package/dist/general/mix/randomId.js +11 -10
- package/dist/general/object/get.js +4 -4
- package/dist/general/object/getAttribute.js +1 -1
- package/dist/general/object/mapValues.js +2 -2
- package/dist/general/object/mergeDeep.js +6 -4
- package/dist/general/object/serialize.js +3 -3
- package/dist/general/string/padLeadingZeros.js +2 -2
- package/dist/globalization/helpers/getI18nDateGroupLabel.js +13 -10
- package/dist/globalization/helpers/getReverseI18nGroupLabel.js +12 -9
- package/dist/globalization/interfaces/II18nResource.d.ts +1 -1
- package/dist/globalization/interfaces/chart_builder/II18nChartBuilderAxisStyle.d.ts +9 -0
- package/dist/globalization/interfaces/chart_builder/II18nChartBuilderDurationParts.d.ts +1 -0
- package/dist/globalization/interfaces/common/II18nCommon.d.ts +2 -0
- package/dist/globalization/interfaces/filters/II18nTokenBox.d.ts +1 -0
- package/dist/globalization/labels/I18N_DEFAULT.js +2 -2
- package/dist/globalization/labels/chart_builder/I18N_CHART_BUILDER.js +1 -0
- package/dist/globalization/labels/chart_builder/I18N_CHART_BUILDER_STYLE_OPTIONS.js +13 -4
- package/dist/globalization/labels/common/I18N_COMMON.js +4 -0
- package/dist/qrvey/helpers/getLookupAnswers.js +4 -6
- package/dist/qrvey/helpers/getValueWithSuffixes.js +1 -1
- package/dist/services/adapters/index.d.ts +2 -1
- package/dist/services/adapters/index.js +2 -1
- package/dist/services/api/getAllDatasets.api.js +6 -8
- package/dist/services/helpers/Request.js +5 -4
- package/package.json +5 -5
- package/dist/cjs/dates/range/index.d.ts +0 -1
- package/dist/cjs/dates/range/index.js +0 -17
- package/dist/cjs/filters/adapters/transformFilters.d.ts +0 -60
- package/dist/cjs/filters/adapters/transformFilters.js +0 -427
- package/dist/dates/range/index.d.ts +0 -1
- package/dist/dates/range/index.js +0 -1
- package/dist/filters/adapters/transformFilters.d.ts +0 -60
- package/dist/filters/adapters/transformFilters.js +0 -423
|
@@ -18,9 +18,7 @@ export default class UChartPaginationApi {
|
|
|
18
18
|
* Gets afterKey object
|
|
19
19
|
* @returns the afterKey object
|
|
20
20
|
*/
|
|
21
|
-
this.getAfterKey = () =>
|
|
22
|
-
return this.afterKey;
|
|
23
|
-
};
|
|
21
|
+
this.getAfterKey = () => this.afterKey;
|
|
24
22
|
/**
|
|
25
23
|
* Gets a promise with a resulting data
|
|
26
24
|
* @param config the config
|
|
@@ -32,183 +30,14 @@ export default class UChartPaginationApi {
|
|
|
32
30
|
this.getChartResult = (config, uFilter, filterLogic = [], chartSettings, resetApi = false) => {
|
|
33
31
|
this.refineAfterkey(uFilter, resetApi);
|
|
34
32
|
this.setProps(uFilter);
|
|
35
|
-
const requestBody =
|
|
33
|
+
const requestBody = UChartPaginationApi._getPreviewRequestBody(uFilter, filterLogic, chartSettings, this.afterKey);
|
|
36
34
|
const customChartApi = new ChartsApi(Object.assign(Object.assign({}, config), { qrvey_id: isEmpty(uFilter.column.aggregate)
|
|
37
35
|
? uFilter.column.qrveyid
|
|
38
36
|
: chartSettings === null || chartSettings === void 0 ? void 0 : chartSettings.qrveyid }));
|
|
39
37
|
return customChartApi
|
|
40
38
|
.getResultsPagination(requestBody, false)
|
|
41
|
-
.then((response) =>
|
|
42
|
-
|
|
43
|
-
})
|
|
44
|
-
.catch((_) => {
|
|
45
|
-
return { data: [], total: 0 };
|
|
46
|
-
});
|
|
47
|
-
};
|
|
48
|
-
/**
|
|
49
|
-
* Gets request body structure
|
|
50
|
-
* @param {IFUFlattenedFilter} uFilter The filter object
|
|
51
|
-
* @param {IFBLogic[]} filterLogic Additional filter logic to apply in the preview
|
|
52
|
-
* @param {IFUChartSettings} chartSettings The settings of the chart. For Aggregate Columns.
|
|
53
|
-
* @returns the request body structure
|
|
54
|
-
*/
|
|
55
|
-
this._getPreviewRequestBody = (uFilter, filterLogic = [], chartSettings, afterKey) => {
|
|
56
|
-
const searchLogic = this._getSearchLogic(uFilter);
|
|
57
|
-
const filterCharts = this._getFilterCharts(uFilter, searchLogic, chartSettings);
|
|
58
|
-
const dimensions = !filterCharts[0]
|
|
59
|
-
? this._getDimensionsBody(uFilter)
|
|
60
|
-
: this._getDimensionsBodyAdapter(filterCharts[0].dimensions);
|
|
61
|
-
const summaries = !filterCharts[0]
|
|
62
|
-
? this._getSummariesBody(uFilter)
|
|
63
|
-
: filterCharts[0].summaries;
|
|
64
|
-
const maxDataPoints = this._getMaxDataPoints(uFilter.column, chartSettings);
|
|
65
|
-
const filters = [
|
|
66
|
-
...filterLogic,
|
|
67
|
-
...(!filterCharts[0] ? (searchLogic === null || searchLogic === void 0 ? void 0 : searchLogic.logic) || [] : []),
|
|
68
|
-
];
|
|
69
|
-
return { dimensions, summaries, maxDataPoints, afterKey, logic: filters };
|
|
70
|
-
};
|
|
71
|
-
/**
|
|
72
|
-
* Gets dimension body structure
|
|
73
|
-
* @param uFilter The filter Builder filter
|
|
74
|
-
* @returns the dimension body structure
|
|
75
|
-
*/
|
|
76
|
-
this._getDimensionsBody = (uFilter) => {
|
|
77
|
-
const { column, validator } = uFilter;
|
|
78
|
-
let dimensions;
|
|
79
|
-
if (!isRangeValidator(validator)) {
|
|
80
|
-
dimensions = [
|
|
81
|
-
{
|
|
82
|
-
questionid: column.id,
|
|
83
|
-
type: column.type,
|
|
84
|
-
formulaType: column.type === COLUMN.FORMULA ? column.formulaType : undefined,
|
|
85
|
-
sort: this._getSortOption(column),
|
|
86
|
-
},
|
|
87
|
-
];
|
|
88
|
-
dimensions = this._refineBodies([...dimensions], uFilter);
|
|
89
|
-
}
|
|
90
|
-
return dimensions;
|
|
91
|
-
};
|
|
92
|
-
/**
|
|
93
|
-
* Get a dimension body structure foor pagination endpoint
|
|
94
|
-
* @param dimensions
|
|
95
|
-
* @returns the dimension body structure
|
|
96
|
-
*/
|
|
97
|
-
this._getDimensionsBodyAdapter = (dimensions = []) => {
|
|
98
|
-
return dimensions.map((dimension) => ({
|
|
99
|
-
questionid: dimension.questionid,
|
|
100
|
-
type: dimension.type,
|
|
101
|
-
formulaType: dimension.type === COLUMN.FORMULA ? dimension.formulaType : undefined,
|
|
102
|
-
groupType: dimension.groupType,
|
|
103
|
-
groupValue: dimension.groupValue,
|
|
104
|
-
sort: {
|
|
105
|
-
by: _get(dimension, "sortOption.sortBy", "VALUE"),
|
|
106
|
-
direction: _get(dimension, "sortOption.sortDirection", "DESC"),
|
|
107
|
-
},
|
|
108
|
-
}));
|
|
109
|
-
};
|
|
110
|
-
/**
|
|
111
|
-
* Gets max data point number
|
|
112
|
-
* @param column The column to filter
|
|
113
|
-
* @param chartSettings The settings of the chart. For Aggregate Columns.
|
|
114
|
-
* @returns max data point number
|
|
115
|
-
*/
|
|
116
|
-
this._getMaxDataPoints = (column, chartSettings) => {
|
|
117
|
-
return !isDateColumn(column) && !isEmpty(column.aggregate)
|
|
118
|
-
? _get(chartSettings, "maxDataPoints.option", 1000)
|
|
119
|
-
: 1000;
|
|
120
|
-
};
|
|
121
|
-
/**
|
|
122
|
-
* Gets sort option structure
|
|
123
|
-
* @param column The column to filter
|
|
124
|
-
* @returns sort option structure
|
|
125
|
-
*/
|
|
126
|
-
this._getSortOption = (column) => {
|
|
127
|
-
let by = "CATEGORY";
|
|
128
|
-
let direction = isNumericalColumn(column) ? "DESC" : "ASC";
|
|
129
|
-
if (!isEmpty(column.sorting)) {
|
|
130
|
-
by = _get(column.sorting, "sortBy");
|
|
131
|
-
direction = _get(column.sorting, "order");
|
|
132
|
-
if (by == null)
|
|
133
|
-
by = "VALUE";
|
|
134
|
-
if (direction == null)
|
|
135
|
-
direction = "DESC";
|
|
136
|
-
}
|
|
137
|
-
return { by, direction };
|
|
138
|
-
};
|
|
139
|
-
/**
|
|
140
|
-
* Gets summaries body structure
|
|
141
|
-
* @param uFilter The filter Builder filter
|
|
142
|
-
* @returns summaries body structure
|
|
143
|
-
*/
|
|
144
|
-
this._getSummariesBody = (uFilter) => {
|
|
145
|
-
const { column, validator } = uFilter;
|
|
146
|
-
const summary = {
|
|
147
|
-
aggregate: _get(column, "aggregate.label", AGGREGATE.COUNT),
|
|
148
|
-
questionid: column.id,
|
|
149
|
-
property: !isDateColumn(uFilter.column) ? uFilter.property : undefined,
|
|
150
|
-
type: column.type,
|
|
151
|
-
};
|
|
152
|
-
let summaries = [summary];
|
|
153
|
-
if (isNumericalColumn(column) || isRangeValidator(validator)) {
|
|
154
|
-
summaries = [
|
|
155
|
-
Object.assign(Object.assign({}, summary), { aggregate: AGGREGATE.MIN }),
|
|
156
|
-
Object.assign(Object.assign({}, summary), { aggregate: AGGREGATE.MAX }),
|
|
157
|
-
];
|
|
158
|
-
}
|
|
159
|
-
return summaries;
|
|
160
|
-
};
|
|
161
|
-
/**
|
|
162
|
-
* Refines the body structure
|
|
163
|
-
* @param bodies The body structure
|
|
164
|
-
* @param uFilter The filter Builder filter
|
|
165
|
-
* @returns the body structure
|
|
166
|
-
*/
|
|
167
|
-
this._refineBodies = (bodies, uFilter) => {
|
|
168
|
-
const _bodies = cloneDeep(bodies);
|
|
169
|
-
if (uFilter.property != null) {
|
|
170
|
-
_bodies.forEach((body) => {
|
|
171
|
-
if (isDateColumn(uFilter.column)) {
|
|
172
|
-
body["groupType"] = "DATE";
|
|
173
|
-
body["groupValue"] = uFilter.property.toUpperCase();
|
|
174
|
-
}
|
|
175
|
-
else {
|
|
176
|
-
body["property"] = uFilter.property;
|
|
177
|
-
}
|
|
178
|
-
});
|
|
179
|
-
}
|
|
180
|
-
return _bodies;
|
|
181
|
-
};
|
|
182
|
-
/**
|
|
183
|
-
* Gets the validation type for the preview request
|
|
184
|
-
* @param column The column to filter
|
|
185
|
-
* @param vaildator Validator Type
|
|
186
|
-
* @returns the validator type for the preview request
|
|
187
|
-
*/
|
|
188
|
-
this._getValidationType = (column, validator) => {
|
|
189
|
-
if (isDateColumn(column) ||
|
|
190
|
-
column.type === COLUMN.BUCKET ||
|
|
191
|
-
isNumericalColumn(column)) {
|
|
192
|
-
return FILTER_VALIDATOR.EQUALS;
|
|
193
|
-
}
|
|
194
|
-
else {
|
|
195
|
-
if ([
|
|
196
|
-
FILTER_VALIDATOR.NOT_CONTAIN,
|
|
197
|
-
FILTER_VALIDATOR.EQUALS,
|
|
198
|
-
FILTER_VALIDATOR.NOT_EQUAL,
|
|
199
|
-
].includes(validator)) {
|
|
200
|
-
return FILTER_VALIDATOR.CONTAINS;
|
|
201
|
-
}
|
|
202
|
-
else if (validator === FILTER_VALIDATOR.NOT_END_WITH) {
|
|
203
|
-
return FILTER_VALIDATOR.ENDS_WITH;
|
|
204
|
-
}
|
|
205
|
-
else if (validator === FILTER_VALIDATOR.NOT_START_WITH) {
|
|
206
|
-
return FILTER_VALIDATOR.STARTS_WITH;
|
|
207
|
-
}
|
|
208
|
-
else {
|
|
209
|
-
return validator;
|
|
210
|
-
}
|
|
211
|
-
}
|
|
39
|
+
.then((response) => this._getDataFromResponse(response, uFilter))
|
|
40
|
+
.catch((_) => ({ data: [], total: 0 }));
|
|
212
41
|
};
|
|
213
42
|
/**
|
|
214
43
|
* Gets the Data from preview Response
|
|
@@ -219,32 +48,19 @@ export default class UChartPaginationApi {
|
|
|
219
48
|
this._getDataFromResponse = (response, uFilter) => {
|
|
220
49
|
var _a;
|
|
221
50
|
const data = { data: [], total: 0 };
|
|
222
|
-
if (!
|
|
51
|
+
if (!UChartPaginationApi.isResultPaginationEmpty(response)) {
|
|
223
52
|
const records = _get(response, "data");
|
|
224
53
|
data.data = isEmpty(uFilter.column.aggregate)
|
|
225
54
|
? records.map((record) => ({
|
|
226
55
|
value: record.key.toString(),
|
|
227
56
|
}))
|
|
228
|
-
:
|
|
57
|
+
: UChartPaginationApi._getResponseSummaries(records);
|
|
229
58
|
data.data = getUniqueArray(data.data, "value");
|
|
230
59
|
data.total = (_a = _get(response, "totalGroups", 0)) !== null && _a !== void 0 ? _a : 0;
|
|
231
60
|
this.setAfterKey(_get(response, "afterKey"));
|
|
232
61
|
}
|
|
233
62
|
return data;
|
|
234
63
|
};
|
|
235
|
-
/**
|
|
236
|
-
* Gets summaries from preview response
|
|
237
|
-
* @param records The data from preview response
|
|
238
|
-
* @param values The values from the preview response
|
|
239
|
-
* @returns the sumaries
|
|
240
|
-
*/
|
|
241
|
-
this._getResponseSummaries = (records, values = []) => {
|
|
242
|
-
records.forEach((record) => {
|
|
243
|
-
const value = record.summaries[0].toString();
|
|
244
|
-
value && values.push({ value });
|
|
245
|
-
});
|
|
246
|
-
return values;
|
|
247
|
-
};
|
|
248
64
|
/**
|
|
249
65
|
* Refines the afterKey object
|
|
250
66
|
* @param props
|
|
@@ -253,7 +69,7 @@ export default class UChartPaginationApi {
|
|
|
253
69
|
if (forceSet ||
|
|
254
70
|
_get(uFilter, "values[0].value", "") !==
|
|
255
71
|
_get(this.uFilter, "values[0].value", "") ||
|
|
256
|
-
!
|
|
72
|
+
!UChartPaginationApi.areColumnsEquals(uFilter.column, _get(this.uFilter, "column")) ||
|
|
257
73
|
uFilter.validator !== this.uFilter.validator ||
|
|
258
74
|
uFilter.property !== this.uFilter.property ||
|
|
259
75
|
uFilter.extras.scope !== this.uFilter.extras.scope)
|
|
@@ -273,35 +89,17 @@ export default class UChartPaginationApi {
|
|
|
273
89
|
this.setProps = (uFilter) => {
|
|
274
90
|
this.uFilter = cloneDeep(uFilter);
|
|
275
91
|
};
|
|
276
|
-
/**
|
|
277
|
-
* Checks if two filter columns are the same.
|
|
278
|
-
* @param column1
|
|
279
|
-
* @param column2
|
|
280
|
-
* @returns True: Columns are equal; False: Columns are not equal
|
|
281
|
-
*/
|
|
282
|
-
this.areColumnsEquals = (column1, column2) => {
|
|
283
|
-
if (isEmpty(column1) || isEmpty(column2))
|
|
284
|
-
return false;
|
|
285
|
-
return (column1.id === column2.id &&
|
|
286
|
-
column1.qrveyid === column2.qrveyid &&
|
|
287
|
-
column1.property === column2.property &&
|
|
288
|
-
column1.aggregate === column2.aggregate);
|
|
289
|
-
};
|
|
290
|
-
this.isResultPaginationEmpty = (resultObject) => {
|
|
291
|
-
const result = _get(resultObject, "data");
|
|
292
|
-
return isEmpty(result);
|
|
293
|
-
};
|
|
294
92
|
}
|
|
295
93
|
/**
|
|
296
94
|
* Gets the filter object structure for the searching text
|
|
297
95
|
* @param {IFUFlattenedFilter} uFilter The filter object
|
|
298
96
|
* @returns the filter object structure
|
|
299
97
|
*/
|
|
300
|
-
_getSearchLogic(uFilter) {
|
|
98
|
+
static _getSearchLogic(uFilter) {
|
|
301
99
|
let searchLogic;
|
|
302
100
|
if (!isEmpty(uFilter.values)) {
|
|
303
101
|
searchLogic = flatUIToOldLogic([
|
|
304
|
-
Object.assign(Object.assign({}, uFilter), { validator:
|
|
102
|
+
Object.assign(Object.assign({}, uFilter), { validator: UChartPaginationApi._getValidationType(uFilter.column, uFilter.validator), column: Object.assign({}, uFilter.column) }),
|
|
305
103
|
]);
|
|
306
104
|
}
|
|
307
105
|
return searchLogic;
|
|
@@ -313,7 +111,7 @@ export default class UChartPaginationApi {
|
|
|
313
111
|
* @param {IFUChartSettings} chartSettings The settings of the chart. For Aggregate Columns.
|
|
314
112
|
* @returns the filters from the chart settings
|
|
315
113
|
*/
|
|
316
|
-
_getFilterCharts(uFilter, searchLogic, chartSettings) {
|
|
114
|
+
static _getFilterCharts(uFilter, searchLogic, chartSettings) {
|
|
317
115
|
let filterCharts = [];
|
|
318
116
|
const haveAggFilters = ((chartSettings === null || chartSettings === void 0 ? void 0 : chartSettings.aggregateColumns) || []).length &&
|
|
319
117
|
((chartSettings === null || chartSettings === void 0 ? void 0 : chartSettings.chart) || []).length;
|
|
@@ -332,3 +130,191 @@ export default class UChartPaginationApi {
|
|
|
332
130
|
return filterCharts;
|
|
333
131
|
}
|
|
334
132
|
}
|
|
133
|
+
/**
|
|
134
|
+
* Gets request body structure
|
|
135
|
+
* @param {IFUFlattenedFilter} uFilter The filter object
|
|
136
|
+
* @param {IFBLogic[]} filterLogic Additional filter logic to apply in the preview
|
|
137
|
+
* @param {IFUChartSettings} chartSettings The settings of the chart. For Aggregate Columns.
|
|
138
|
+
* @returns the request body structure
|
|
139
|
+
*/
|
|
140
|
+
UChartPaginationApi._getPreviewRequestBody = (uFilter, filterLogic = [], chartSettings, afterKey) => {
|
|
141
|
+
const searchLogic = UChartPaginationApi._getSearchLogic(uFilter);
|
|
142
|
+
const filterCharts = UChartPaginationApi._getFilterCharts(uFilter, searchLogic, chartSettings);
|
|
143
|
+
const dimensions = !filterCharts[0]
|
|
144
|
+
? UChartPaginationApi._getDimensionsBody(uFilter)
|
|
145
|
+
: UChartPaginationApi._getDimensionsBodyAdapter(filterCharts[0].dimensions);
|
|
146
|
+
const summaries = !filterCharts[0]
|
|
147
|
+
? UChartPaginationApi._getSummariesBody(uFilter)
|
|
148
|
+
: filterCharts[0].summaries;
|
|
149
|
+
const maxDataPoints = UChartPaginationApi._getMaxDataPoints(uFilter.column, chartSettings);
|
|
150
|
+
const filters = [
|
|
151
|
+
...filterLogic,
|
|
152
|
+
...(!filterCharts[0] ? (searchLogic === null || searchLogic === void 0 ? void 0 : searchLogic.logic) || [] : []),
|
|
153
|
+
];
|
|
154
|
+
return { dimensions, summaries, maxDataPoints, afterKey, logic: filters };
|
|
155
|
+
};
|
|
156
|
+
/**
|
|
157
|
+
* Gets dimension body structure
|
|
158
|
+
* @param uFilter The filter Builder filter
|
|
159
|
+
* @returns the dimension body structure
|
|
160
|
+
*/
|
|
161
|
+
UChartPaginationApi._getDimensionsBody = (uFilter) => {
|
|
162
|
+
const { column, validator } = uFilter;
|
|
163
|
+
let dimensions;
|
|
164
|
+
if (!isRangeValidator(validator)) {
|
|
165
|
+
dimensions = [
|
|
166
|
+
{
|
|
167
|
+
questionid: column.id,
|
|
168
|
+
type: column.type,
|
|
169
|
+
formulaType: column.type === COLUMN.FORMULA ? column.formulaType : undefined,
|
|
170
|
+
sort: UChartPaginationApi._getSortOption(column),
|
|
171
|
+
},
|
|
172
|
+
];
|
|
173
|
+
dimensions = UChartPaginationApi._refineBodies([...dimensions], uFilter);
|
|
174
|
+
}
|
|
175
|
+
return dimensions;
|
|
176
|
+
};
|
|
177
|
+
/**
|
|
178
|
+
* Get a dimension body structure foor pagination endpoint
|
|
179
|
+
* @param dimensions
|
|
180
|
+
* @returns the dimension body structure
|
|
181
|
+
*/
|
|
182
|
+
UChartPaginationApi._getDimensionsBodyAdapter = (dimensions = []) => dimensions.map((dimension) => ({
|
|
183
|
+
questionid: dimension.questionid,
|
|
184
|
+
type: dimension.type,
|
|
185
|
+
formulaType: dimension.type === COLUMN.FORMULA ? dimension.formulaType : undefined,
|
|
186
|
+
groupType: dimension.groupType,
|
|
187
|
+
groupValue: dimension.groupValue,
|
|
188
|
+
sort: {
|
|
189
|
+
by: _get(dimension, "sortOption.sortBy", "VALUE"),
|
|
190
|
+
direction: _get(dimension, "sortOption.sortDirection", "DESC"),
|
|
191
|
+
},
|
|
192
|
+
}));
|
|
193
|
+
/**
|
|
194
|
+
* Gets max data point number
|
|
195
|
+
* @param column The column to filter
|
|
196
|
+
* @param chartSettings The settings of the chart. For Aggregate Columns.
|
|
197
|
+
* @returns max data point number
|
|
198
|
+
*/
|
|
199
|
+
UChartPaginationApi._getMaxDataPoints = (column, chartSettings) => !isDateColumn(column) && !isEmpty(column.aggregate)
|
|
200
|
+
? _get(chartSettings, "maxDataPoints.option", 1000)
|
|
201
|
+
: 1000;
|
|
202
|
+
/**
|
|
203
|
+
* Gets sort option structure
|
|
204
|
+
* @param column The column to filter
|
|
205
|
+
* @returns sort option structure
|
|
206
|
+
*/
|
|
207
|
+
UChartPaginationApi._getSortOption = (column) => {
|
|
208
|
+
let by = "CATEGORY";
|
|
209
|
+
let direction = isNumericalColumn(column) ? "DESC" : "ASC";
|
|
210
|
+
if (!isEmpty(column.sorting)) {
|
|
211
|
+
by = _get(column.sorting, "sortBy");
|
|
212
|
+
direction = _get(column.sorting, "order");
|
|
213
|
+
if (by == null)
|
|
214
|
+
by = "VALUE";
|
|
215
|
+
if (direction == null)
|
|
216
|
+
direction = "DESC";
|
|
217
|
+
}
|
|
218
|
+
return { by, direction };
|
|
219
|
+
};
|
|
220
|
+
/**
|
|
221
|
+
* Gets summaries body structure
|
|
222
|
+
* @param uFilter The filter Builder filter
|
|
223
|
+
* @returns summaries body structure
|
|
224
|
+
*/
|
|
225
|
+
UChartPaginationApi._getSummariesBody = (uFilter) => {
|
|
226
|
+
const { column, validator } = uFilter;
|
|
227
|
+
const summary = {
|
|
228
|
+
aggregate: _get(column, "aggregate.label", AGGREGATE.COUNT),
|
|
229
|
+
questionid: column.id,
|
|
230
|
+
property: !isDateColumn(uFilter.column) ? uFilter.property : undefined,
|
|
231
|
+
type: column.type,
|
|
232
|
+
};
|
|
233
|
+
let summaries = [summary];
|
|
234
|
+
if (isNumericalColumn(column) || isRangeValidator(validator)) {
|
|
235
|
+
summaries = [
|
|
236
|
+
Object.assign(Object.assign({}, summary), { aggregate: AGGREGATE.MIN }),
|
|
237
|
+
Object.assign(Object.assign({}, summary), { aggregate: AGGREGATE.MAX }),
|
|
238
|
+
];
|
|
239
|
+
}
|
|
240
|
+
return summaries;
|
|
241
|
+
};
|
|
242
|
+
/**
|
|
243
|
+
* Refines the body structure
|
|
244
|
+
* @param bodies The body structure
|
|
245
|
+
* @param uFilter The filter Builder filter
|
|
246
|
+
* @returns the body structure
|
|
247
|
+
*/
|
|
248
|
+
UChartPaginationApi._refineBodies = (bodies, uFilter) => {
|
|
249
|
+
const _bodies = cloneDeep(bodies);
|
|
250
|
+
if (uFilter.property != null) {
|
|
251
|
+
_bodies.forEach((body) => {
|
|
252
|
+
if (isDateColumn(uFilter.column)) {
|
|
253
|
+
body.groupType = "DATE";
|
|
254
|
+
body.groupValue = uFilter.property.toUpperCase();
|
|
255
|
+
}
|
|
256
|
+
else {
|
|
257
|
+
body.property = uFilter.property;
|
|
258
|
+
}
|
|
259
|
+
});
|
|
260
|
+
}
|
|
261
|
+
return _bodies;
|
|
262
|
+
};
|
|
263
|
+
/**
|
|
264
|
+
* Gets the validation type for the preview request
|
|
265
|
+
* @param column The column to filter
|
|
266
|
+
* @param vaildator Validator Type
|
|
267
|
+
* @returns the validator type for the preview request
|
|
268
|
+
*/
|
|
269
|
+
UChartPaginationApi._getValidationType = (column, validator) => {
|
|
270
|
+
if (isDateColumn(column) ||
|
|
271
|
+
column.type === COLUMN.BUCKET ||
|
|
272
|
+
isNumericalColumn(column)) {
|
|
273
|
+
return FILTER_VALIDATOR.EQUALS;
|
|
274
|
+
}
|
|
275
|
+
if ([
|
|
276
|
+
FILTER_VALIDATOR.NOT_CONTAIN,
|
|
277
|
+
FILTER_VALIDATOR.EQUALS,
|
|
278
|
+
FILTER_VALIDATOR.NOT_EQUAL,
|
|
279
|
+
].includes(validator)) {
|
|
280
|
+
return FILTER_VALIDATOR.CONTAINS;
|
|
281
|
+
}
|
|
282
|
+
else if (validator === FILTER_VALIDATOR.NOT_END_WITH) {
|
|
283
|
+
return FILTER_VALIDATOR.ENDS_WITH;
|
|
284
|
+
}
|
|
285
|
+
else if (validator === FILTER_VALIDATOR.NOT_START_WITH) {
|
|
286
|
+
return FILTER_VALIDATOR.STARTS_WITH;
|
|
287
|
+
}
|
|
288
|
+
return validator;
|
|
289
|
+
};
|
|
290
|
+
/**
|
|
291
|
+
* Gets summaries from preview response
|
|
292
|
+
* @param records The data from preview response
|
|
293
|
+
* @param values The values from the preview response
|
|
294
|
+
* @returns the sumaries
|
|
295
|
+
*/
|
|
296
|
+
UChartPaginationApi._getResponseSummaries = (records, values = []) => {
|
|
297
|
+
records.forEach((record) => {
|
|
298
|
+
const value = record.summaries[0].toString();
|
|
299
|
+
value && values.push({ value });
|
|
300
|
+
});
|
|
301
|
+
return values;
|
|
302
|
+
};
|
|
303
|
+
/**
|
|
304
|
+
* Checks if two filter columns are the same.
|
|
305
|
+
* @param column1
|
|
306
|
+
* @param column2
|
|
307
|
+
* @returns True: Columns are equal; False: Columns are not equal
|
|
308
|
+
*/
|
|
309
|
+
UChartPaginationApi.areColumnsEquals = (column1, column2) => {
|
|
310
|
+
if (isEmpty(column1) || isEmpty(column2))
|
|
311
|
+
return false;
|
|
312
|
+
return (column1.id === column2.id &&
|
|
313
|
+
column1.qrveyid === column2.qrveyid &&
|
|
314
|
+
column1.property === column2.property &&
|
|
315
|
+
column1.aggregate === column2.aggregate);
|
|
316
|
+
};
|
|
317
|
+
UChartPaginationApi.isResultPaginationEmpty = (resultObject) => {
|
|
318
|
+
const result = _get(resultObject, "data");
|
|
319
|
+
return isEmpty(result);
|
|
320
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/**[TODO: The decimals dots are not working correctly, we need to reviewing (fractionDigits)]
|
|
1
|
+
/** [TODO: The decimals dots are not working correctly, we need to reviewing (fractionDigits)]
|
|
2
2
|
* "Convert a number of seconds to a human readable string."
|
|
3
3
|
*
|
|
4
4
|
* `addDurationFormat` is a function that takes a number, a format, an optional locale, and an optional
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DurationFormatter } from "./durationFormatter";
|
|
2
|
-
/**[TODO: The decimals dots are not working correctly, we need to reviewing (fractionDigits)]
|
|
2
|
+
/** [TODO: The decimals dots are not working correctly, we need to reviewing (fractionDigits)]
|
|
3
3
|
* "Convert a number of seconds to a human readable string."
|
|
4
4
|
*
|
|
5
5
|
* `addDurationFormat` is a function that takes a number, a format, an optional locale, and an optional
|
|
@@ -14,6 +14,6 @@ import { DurationFormatter } from "./durationFormatter";
|
|
|
14
14
|
export function addDurationFormat(number, format, locale, fractionDigits) {
|
|
15
15
|
return new DurationFormatter({
|
|
16
16
|
template: format,
|
|
17
|
-
options: { locale
|
|
17
|
+
options: { locale, fractionDigits },
|
|
18
18
|
}).format(number);
|
|
19
19
|
}
|
|
@@ -49,7 +49,7 @@ export declare class DurationFormatter {
|
|
|
49
49
|
* @returns The template string with all instances of H replaced with h and all instances of D
|
|
50
50
|
* replaced with d.
|
|
51
51
|
*/
|
|
52
|
-
private matchFormatsReplace;
|
|
52
|
+
private static matchFormatsReplace;
|
|
53
53
|
/**
|
|
54
54
|
* It sets the numberFactor to the value of the duration part that matches the unit.
|
|
55
55
|
*/
|
|
@@ -73,7 +73,7 @@ export class DurationFormatter {
|
|
|
73
73
|
* @param {string} template - The format template string.
|
|
74
74
|
*/
|
|
75
75
|
setParts(template) {
|
|
76
|
-
this.template =
|
|
76
|
+
this.template = DurationFormatter.matchFormatsReplace(template);
|
|
77
77
|
this.parts = this.parseFormatTemplate(template);
|
|
78
78
|
}
|
|
79
79
|
/**
|
|
@@ -82,7 +82,7 @@ export class DurationFormatter {
|
|
|
82
82
|
* @returns The template string with all instances of H replaced with h and all instances of D
|
|
83
83
|
* replaced with d.
|
|
84
84
|
*/
|
|
85
|
-
matchFormatsReplace(template) {
|
|
85
|
+
static matchFormatsReplace(template) {
|
|
86
86
|
return isEmpty(template) ? template : template.replace(/H/g, "h");
|
|
87
87
|
}
|
|
88
88
|
/**
|
|
@@ -124,15 +124,16 @@ export class DurationFormatter {
|
|
|
124
124
|
return undefined;
|
|
125
125
|
if (isEmpty(number))
|
|
126
126
|
return "";
|
|
127
|
-
|
|
127
|
+
let _number = number;
|
|
128
|
+
_number *= this.numberFactor;
|
|
128
129
|
const durationParts = this.parts.reduce((store, part) => {
|
|
129
|
-
store[part.symbol] = Math.floor(
|
|
130
|
-
|
|
130
|
+
store[part.symbol] = Math.floor(_number / part.ms);
|
|
131
|
+
_number %= part.ms;
|
|
131
132
|
return store;
|
|
132
133
|
}, {});
|
|
133
134
|
if (isEmpty(this.template))
|
|
134
135
|
return this.valueFormatter
|
|
135
|
-
.format(
|
|
136
|
+
.format(_number)
|
|
136
137
|
.padStart(this.parts.length, "0");
|
|
137
138
|
return this.template.replace(PARTS_REGEX, (match, $1) => {
|
|
138
139
|
return $1 || this.formatValue(durationParts, match);
|