@qrvey/utils 1.4.0-3 → 1.4.0-6
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/cjs/column_format/helpers/defineTableChartFormat.js +3 -3
- package/dist/cjs/column_format/helpers/defineXYChartFormat.js +30 -20
- package/dist/cjs/columns/helpers/getDatasetColumn.js +1 -3
- package/dist/cjs/dates/adapters/mdyDateToDate.d.ts +1 -1
- package/dist/cjs/dates/adapters/mdyDateToDate.js +12 -5
- package/dist/cjs/dates/adapters/monthYearToDate.d.ts +1 -1
- package/dist/cjs/dates/adapters/monthYearToDate.js +8 -7
- package/dist/cjs/dates/adapters/quarterYearToDate.d.ts +1 -1
- package/dist/cjs/dates/adapters/quarterYearToDate.js +8 -7
- package/dist/cjs/dates/adapters/weekYearToDate.d.ts +1 -1
- package/dist/cjs/dates/adapters/weekYearToDate.js +20 -19
- package/dist/cjs/dates/adapters/yearToDate.d.ts +1 -1
- package/dist/cjs/dates/adapters/yearToDate.js +7 -6
- package/dist/cjs/dates/constants/DATE_FORMAT_BY_PROPERTY.d.ts +16 -0
- package/dist/cjs/dates/constants/DATE_FORMAT_BY_PROPERTY.js +21 -0
- package/dist/cjs/dates/helpers/getDateFormatByProperty.js +2 -31
- package/dist/cjs/dates/helpers/getDateFormatRegularExpressionInArray.d.ts +2 -1
- package/dist/cjs/dates/helpers/getDateFormatRegularExpressionInArray.js +2 -7
- package/dist/cjs/dates/helpers/getDatePickerPickLevel.js +7 -1
- package/dist/cjs/dates/helpers/getSeparatorByDateFormat.js +1 -18
- package/dist/cjs/dates/helpers/index.d.ts +0 -1
- package/dist/cjs/dates/helpers/index.js +0 -1
- package/dist/cjs/dates/helpers/validateDate.js +14 -3
- package/dist/cjs/dates/range/getDateRange.js +15 -25
- package/dist/cjs/dates/relative/RelativeStatementAdapter.js +15 -10
- package/dist/cjs/dates/relative/helpers/getStatementCase.js +10 -7
- package/dist/cjs/filters/adapters/adaptDateGroupingProperty.js +9 -13
- package/dist/cjs/filters/adapters/logicToUI.js +1 -2
- package/dist/cjs/filters/adapters/transformFilters.js +1 -3
- package/dist/cjs/filters/helpers/OLD_getAggFilters.js +1 -3
- package/dist/cjs/filters/helpers/backend/buildFilters.js +5 -2
- package/dist/cjs/filters/helpers/backend/getBackendGroupValue.js +1 -2
- package/dist/cjs/filters/helpers/backend/getBackendValues.js +53 -31
- package/dist/cjs/filters/helpers/backend/getLogicByDatasetsColumns.d.ts +2 -2
- package/dist/cjs/filters/helpers/backend/getLogicByDatasetsColumns.js +57 -20
- package/dist/cjs/filters/helpers/common/excludeFiltersByParams.js +1 -2
- package/dist/cjs/filters/helpers/common/getFiltersByDatasetsColumns.js +28 -18
- package/dist/cjs/filters/helpers/common/getFiltersByParams.js +1 -2
- package/dist/cjs/filters/helpers/getAggFiltersFromFilterData.js +0 -1
- package/dist/cjs/filters/helpers/getScopesByHierarchy.js +7 -5
- package/dist/cjs/filters/helpers/ui/getUIValues.js +76 -85
- package/dist/cjs/filters/interfaces/functions/IFFGetLogicByDatasetsColumns.d.ts +3 -0
- package/dist/cjs/filters/services/UChartApi.d.ts +17 -3
- package/dist/cjs/filters/services/UChartApi.js +49 -26
- package/dist/cjs/filters/services/UChartPaginationApi.d.ts +17 -3
- package/dist/cjs/filters/services/UChartPaginationApi.js +45 -24
- package/dist/cjs/format/localization.js +1 -1
- package/dist/cjs/general/mix/isNaNV2.d.ts +10 -3
- package/dist/cjs/general/mix/isNaNV2.js +11 -4
- package/dist/cjs/general/string/parseUrl.js +2 -2
- package/dist/cjs/globalization/helpers/getI18nCalendar.js +10 -7
- package/dist/cjs/globalization/interfaces/formula_builder/II18nFormulaBuilderListModal.d.ts +2 -1
- package/dist/cjs/globalization/labels/formula_builder/I18N_FORMULA_BUILDER.js +2 -1
- package/dist/cjs/globalization/service/i18nextBuilder.js +1 -3
- package/dist/cjs/globalization/service/initI18n.js +1 -12
- package/dist/cjs/qrvey/helpers/getDataAnswersByColumn.js +6 -5
- package/dist/cjs/qrvey/helpers/getExpressionAnswers.js +15 -11
- package/dist/cjs/tokens/isTokenLabel.js +1 -2
- package/dist/column_format/helpers/defineTableChartFormat.js +3 -3
- package/dist/column_format/helpers/defineXYChartFormat.js +15 -5
- package/dist/columns/helpers/getDatasetColumn.js +1 -3
- package/dist/dates/adapters/mdyDateToDate.d.ts +1 -1
- package/dist/dates/adapters/mdyDateToDate.js +12 -5
- package/dist/dates/adapters/monthYearToDate.d.ts +1 -1
- package/dist/dates/adapters/monthYearToDate.js +8 -7
- package/dist/dates/adapters/quarterYearToDate.d.ts +1 -1
- package/dist/dates/adapters/quarterYearToDate.js +8 -7
- package/dist/dates/adapters/weekYearToDate.d.ts +1 -1
- package/dist/dates/adapters/weekYearToDate.js +20 -19
- package/dist/dates/adapters/yearToDate.d.ts +1 -1
- package/dist/dates/adapters/yearToDate.js +7 -6
- package/dist/dates/constants/DATE_FORMAT_BY_PROPERTY.d.ts +16 -0
- package/dist/dates/constants/DATE_FORMAT_BY_PROPERTY.js +18 -0
- package/dist/dates/helpers/getDateFormatByProperty.js +2 -31
- package/dist/dates/helpers/getDateFormatRegularExpressionInArray.d.ts +2 -1
- package/dist/dates/helpers/getDateFormatRegularExpressionInArray.js +2 -7
- package/dist/dates/helpers/getDatePickerPickLevel.js +7 -1
- package/dist/dates/helpers/getSeparatorByDateFormat.js +1 -18
- package/dist/dates/helpers/index.d.ts +0 -1
- package/dist/dates/helpers/index.js +0 -1
- package/dist/dates/helpers/validateDate.js +14 -3
- package/dist/dates/range/getDateRange.js +15 -25
- package/dist/dates/relative/RelativeStatementAdapter.js +15 -10
- package/dist/dates/relative/helpers/getStatementCase.js +10 -7
- package/dist/filters/adapters/adaptDateGroupingProperty.js +9 -13
- package/dist/filters/adapters/logicToUI.js +1 -2
- package/dist/filters/adapters/transformFilters.js +1 -3
- package/dist/filters/helpers/OLD_getAggFilters.js +1 -3
- package/dist/filters/helpers/backend/buildFilters.js +5 -2
- package/dist/filters/helpers/backend/getBackendGroupValue.js +1 -2
- package/dist/filters/helpers/backend/getBackendValues.js +53 -31
- package/dist/filters/helpers/backend/getLogicByDatasetsColumns.d.ts +2 -2
- package/dist/filters/helpers/backend/getLogicByDatasetsColumns.js +56 -19
- package/dist/filters/helpers/common/excludeFiltersByParams.js +1 -2
- package/dist/filters/helpers/common/getFiltersByDatasetsColumns.js +28 -18
- package/dist/filters/helpers/common/getFiltersByParams.js +1 -2
- package/dist/filters/helpers/getAggFiltersFromFilterData.js +0 -1
- package/dist/filters/helpers/getScopesByHierarchy.js +7 -5
- package/dist/filters/helpers/ui/getUIValues.js +76 -85
- package/dist/filters/interfaces/functions/IFFGetLogicByDatasetsColumns.d.ts +3 -0
- package/dist/filters/services/UChartApi.d.ts +17 -3
- package/dist/filters/services/UChartApi.js +49 -26
- package/dist/filters/services/UChartPaginationApi.d.ts +17 -3
- package/dist/filters/services/UChartPaginationApi.js +45 -24
- package/dist/format/localization.js +1 -1
- package/dist/general/mix/isNaNV2.d.ts +10 -3
- package/dist/general/mix/isNaNV2.js +11 -4
- package/dist/general/string/parseUrl.js +2 -2
- package/dist/globalization/helpers/getI18nCalendar.js +10 -7
- package/dist/globalization/interfaces/formula_builder/II18nFormulaBuilderListModal.d.ts +2 -1
- package/dist/globalization/labels/formula_builder/I18N_FORMULA_BUILDER.js +2 -1
- package/dist/globalization/service/i18nextBuilder.js +1 -3
- package/dist/globalization/service/initI18n.js +1 -12
- package/dist/qrvey/helpers/getDataAnswersByColumn.js +6 -5
- package/dist/qrvey/helpers/getExpressionAnswers.js +14 -10
- package/dist/tokens/isTokenLabel.js +1 -2
- package/package.json +4 -4
- package/dist/cjs/dates/helpers/validateDateByDateFormat.d.ts +0 -8
- package/dist/cjs/dates/helpers/validateDateByDateFormat.js +0 -27
- package/dist/dates/helpers/validateDateByDateFormat.d.ts +0 -8
- package/dist/dates/helpers/validateDateByDateFormat.js +0 -23
|
@@ -6,6 +6,7 @@ import { isEmpty } from "../../../general/mix/isEmpty";
|
|
|
6
6
|
import { flattenDeep } from "../../../general/array/flattenDeep";
|
|
7
7
|
import { RELATIVE_CURSOR_INFO } from "../../../dates/relative/constants/RELATIVE_CURSOR_INFO";
|
|
8
8
|
import { getI18nDateGroupLabel } from "../../../globalization/helpers/getI18nDateGroupLabel";
|
|
9
|
+
import { I18N_RELATIVE_CONTAINER } from "../../../globalization/labels/filters/I18N_RELATIVE_CONTAINER";
|
|
9
10
|
/**
|
|
10
11
|
* Gets the UI Values generated depending on the validator
|
|
11
12
|
* @param filter the filter structure
|
|
@@ -13,7 +14,6 @@ import { getI18nDateGroupLabel } from "../../../globalization/helpers/getI18nDat
|
|
|
13
14
|
* @returns an array of values
|
|
14
15
|
*/
|
|
15
16
|
export function getUIValues(filter, settings) {
|
|
16
|
-
var _a, _b;
|
|
17
17
|
settings = getUiValuesSettings(settings);
|
|
18
18
|
const values = filter.values || [];
|
|
19
19
|
switch (filter.validator) {
|
|
@@ -21,91 +21,92 @@ export function getUIValues(filter, settings) {
|
|
|
21
21
|
case FILTER_VALIDATOR.GREATER_THAN:
|
|
22
22
|
case FILTER_VALIDATOR.AFTER_ON:
|
|
23
23
|
case FILTER_VALIDATOR.GREATER_THAN_EQUAL:
|
|
24
|
-
return values
|
|
25
|
-
value: getValueLabel(value.min, filter, settings),
|
|
26
|
-
displayed: value.displayed != null ? value.displayed : true,
|
|
27
|
-
enabled: settings.addEnableds
|
|
28
|
-
? value.enabled != null
|
|
29
|
-
? value.enabled
|
|
30
|
-
: true
|
|
31
|
-
: undefined,
|
|
32
|
-
}));
|
|
24
|
+
return getUiRangeAfterValues(values, filter, settings);
|
|
33
25
|
case FILTER_VALIDATOR.BEFORE_ON:
|
|
34
26
|
case FILTER_VALIDATOR.LESS_THAN_EQUAL:
|
|
35
27
|
case FILTER_VALIDATOR.BEFORE:
|
|
36
28
|
case FILTER_VALIDATOR.LESS_THAN:
|
|
37
|
-
return values
|
|
38
|
-
value: getValueLabel(value.max, filter, settings),
|
|
39
|
-
displayed: value.displayed != null ? value.displayed : true,
|
|
40
|
-
enabled: settings.addEnableds
|
|
41
|
-
? value.enabled != null
|
|
42
|
-
? value.enabled
|
|
43
|
-
: true
|
|
44
|
-
: undefined,
|
|
45
|
-
}));
|
|
29
|
+
return getUiRangeBeforeValues(values, filter, settings);
|
|
46
30
|
case FILTER_VALIDATOR.BETWEEN_INCLUSIVE:
|
|
47
31
|
case FILTER_VALIDATOR.BETWEEN_EXCLUSIVE:
|
|
48
|
-
return values
|
|
49
|
-
value: `${getValueLabel(value.min, filter, settings)} ${getRangeSeparator(settings)} ${getValueLabel(value.max, filter, settings)}`,
|
|
50
|
-
displayed: value.displayed != null ? value.displayed : true,
|
|
51
|
-
enabled: settings.addEnableds
|
|
52
|
-
? value.enabled != null
|
|
53
|
-
? value.enabled
|
|
54
|
-
: true
|
|
55
|
-
: undefined,
|
|
56
|
-
}));
|
|
32
|
+
return getUiRangeBetweenValues(values, filter, settings);
|
|
57
33
|
case FILTER_VALIDATOR.IS_NULL:
|
|
58
34
|
case FILTER_VALIDATOR.IS_NOT_NULL:
|
|
59
|
-
return
|
|
60
|
-
{
|
|
61
|
-
value: (settings === null || settings === void 0 ? void 0 : settings.translate)
|
|
62
|
-
? settings.translate("filter.validators." + filter.validator.toLowerCase() + "_label")
|
|
63
|
-
: FILTER_VALIDATOR_INFO[filter.validator].label,
|
|
64
|
-
displayed: (_a = values[0]) === null || _a === void 0 ? void 0 : _a.displayed,
|
|
65
|
-
enabled: settings.addEnableds
|
|
66
|
-
? (_b = values[0]) === null || _b === void 0 ? void 0 : _b.enabled
|
|
67
|
-
: undefined,
|
|
68
|
-
},
|
|
69
|
-
];
|
|
35
|
+
return getUiNullValues(values, filter, settings);
|
|
70
36
|
case FILTER_VALIDATOR.IN:
|
|
71
|
-
return values
|
|
72
|
-
const cursor = (settings === null || settings === void 0 ? void 0 : settings.translate)
|
|
73
|
-
? settings.translate(RELATIVE_CURSOR_INFO[value.cursor].i18nLabelPath)
|
|
74
|
-
: RELATIVE_CURSOR_INFO[value.cursor].i18nLabelPath;
|
|
75
|
-
const from = (settings === null || settings === void 0 ? void 0 : settings.translate)
|
|
76
|
-
? settings.translate("filter.relative_container.from_label")
|
|
77
|
-
: "from";
|
|
78
|
-
const anchor = (settings === null || settings === void 0 ? void 0 : settings.translate)
|
|
79
|
-
? settings === null || settings === void 0 ? void 0 : settings.translate("filter.relative_container.current_date")
|
|
80
|
-
: "current date";
|
|
81
|
-
return {
|
|
82
|
-
value: `${cursor} ${value.cursor !== RELATIVE_CURSOR.THIS && value.number > 1
|
|
83
|
-
? value.number
|
|
84
|
-
: ""} ${getValueUiUnitRelativeDate(value, settings)} ${value.cursor !== RELATIVE_CURSOR.THIS
|
|
85
|
-
? `${from} ${value.anchor || anchor}`
|
|
86
|
-
: ""}`,
|
|
87
|
-
displayed: value.displayed != null ? value.displayed : true,
|
|
88
|
-
enabled: settings.addEnableds ? value.enabled : undefined,
|
|
89
|
-
};
|
|
90
|
-
});
|
|
37
|
+
return getUiInValues(values, settings);
|
|
91
38
|
default:
|
|
92
|
-
|
|
93
|
-
isEmpty(filter.column.aggregate)) {
|
|
94
|
-
return getRankingUIValues(values, settings.addEnableds, settings.rankingGroupIndex);
|
|
95
|
-
}
|
|
96
|
-
return values.map((value) => ({
|
|
97
|
-
imageUrl: value.imageUrl,
|
|
98
|
-
value: getValueLabel(value.value, filter, settings),
|
|
99
|
-
displayed: value.displayed != null ? value.displayed : true,
|
|
100
|
-
enabled: settings.addEnableds
|
|
101
|
-
? value.enabled != null
|
|
102
|
-
? value.enabled
|
|
103
|
-
: true
|
|
104
|
-
: undefined,
|
|
105
|
-
valueid: value.valueid,
|
|
106
|
-
}));
|
|
39
|
+
return getUiEqualValues(values, filter, settings);
|
|
107
40
|
}
|
|
108
41
|
}
|
|
42
|
+
function getUiRangeAfterValues(values, filter, settings) {
|
|
43
|
+
return values.map((value) => getRegularValue(Object.assign(Object.assign({}, value), { value: getValueLabel(value.min, filter, settings) }), settings));
|
|
44
|
+
}
|
|
45
|
+
function getUiRangeBeforeValues(values, filter, settings) {
|
|
46
|
+
return values.map((value) => getRegularValue(Object.assign(Object.assign({}, value), { value: getValueLabel(value.max, filter, settings) }), settings));
|
|
47
|
+
}
|
|
48
|
+
function getUiRangeBetweenValues(values, filter, settings) {
|
|
49
|
+
return values.map((value) => {
|
|
50
|
+
const valueLabel = `${getValueLabel(value.min, filter, settings)} ${getRangeSeparator(settings)} ${getValueLabel(value.max, filter, settings)}`;
|
|
51
|
+
return getRegularValue(Object.assign(Object.assign({}, value), { value: getValueLabel(valueLabel, filter, settings) }), settings);
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
function getUiNullValues(values, filter, settings) {
|
|
55
|
+
const value = values[0];
|
|
56
|
+
const valueLabel = (settings === null || settings === void 0 ? void 0 : settings.translate)
|
|
57
|
+
? settings.translate("filter.validators." + filter.validator.toLowerCase() + "_label")
|
|
58
|
+
: FILTER_VALIDATOR_INFO[filter.validator].label;
|
|
59
|
+
return [getRegularValue(Object.assign(Object.assign({}, value), { value: valueLabel }), settings)];
|
|
60
|
+
}
|
|
61
|
+
function getUiInValues(values, settings) {
|
|
62
|
+
return values.map((value) => {
|
|
63
|
+
const cursor = (settings === null || settings === void 0 ? void 0 : settings.translate)
|
|
64
|
+
? settings.translate(RELATIVE_CURSOR_INFO[value.cursor].i18nLabelPath)
|
|
65
|
+
: RELATIVE_CURSOR_INFO[value.cursor].i18nLabelPath;
|
|
66
|
+
const from = (settings === null || settings === void 0 ? void 0 : settings.translate)
|
|
67
|
+
? settings.translate("filter.relative_container.from_label")
|
|
68
|
+
: I18N_RELATIVE_CONTAINER.from_label;
|
|
69
|
+
const anchor = (settings === null || settings === void 0 ? void 0 : settings.translate)
|
|
70
|
+
? settings === null || settings === void 0 ? void 0 : settings.translate("filter.relative_container.current_date")
|
|
71
|
+
: I18N_RELATIVE_CONTAINER.current_date;
|
|
72
|
+
const valueLabel = `${cursor} ${value.cursor !== RELATIVE_CURSOR.THIS && value.number > 1
|
|
73
|
+
? value.number
|
|
74
|
+
: ""} ${getValueUiUnitRelativeDate(value, settings)} ${value.cursor !== RELATIVE_CURSOR.THIS
|
|
75
|
+
? `${from} ${value.anchor || anchor}`
|
|
76
|
+
: ""}`;
|
|
77
|
+
return getRegularValue(Object.assign(Object.assign({}, value), { value: valueLabel }), settings);
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
function getUiEqualValues(values, filter, settings) {
|
|
81
|
+
if (filter.column.type === COLUMN.RANKING &&
|
|
82
|
+
isEmpty(filter.column.aggregate)) {
|
|
83
|
+
return getRankingUIValues(values, settings.addEnableds, settings.rankingGroupIndex);
|
|
84
|
+
}
|
|
85
|
+
return values.map((value) => getRegularValue(Object.assign(Object.assign({}, value), { value: getValueLabel(value.value, filter, settings) }), settings));
|
|
86
|
+
}
|
|
87
|
+
function getRankingUIValues(values, addEnableds = false, rankingGroupIndex) {
|
|
88
|
+
const flattenValues = rankingGroupIndex == null ? flattenDeep(values) : values[rankingGroupIndex];
|
|
89
|
+
return flattenValues.map((rankingValue) => ({
|
|
90
|
+
rankingIndex: rankingGroupIndex,
|
|
91
|
+
value: `${rankingValue.value.value} - ${rankingValue.position}`,
|
|
92
|
+
valueid: rankingValue.value.valueid,
|
|
93
|
+
displayed: rankingValue.displayed != null ? rankingValue.displayed : true,
|
|
94
|
+
enabled: addEnableds ? rankingValue.enabled : undefined,
|
|
95
|
+
}));
|
|
96
|
+
}
|
|
97
|
+
function getRegularValue(value, settings) {
|
|
98
|
+
let enabled;
|
|
99
|
+
if (settings.addEnableds) {
|
|
100
|
+
enabled = isEmpty(value.enabled) ? true : value.enabled;
|
|
101
|
+
}
|
|
102
|
+
return {
|
|
103
|
+
displayed: isEmpty(value.displayed) ? true : value.displayed,
|
|
104
|
+
enabled,
|
|
105
|
+
imageUrl: isEmpty(value.imageUrl) ? undefined : value.imageUrl,
|
|
106
|
+
value: value.value,
|
|
107
|
+
valueid: isEmpty(value.valueid) ? undefined : value.valueid,
|
|
108
|
+
};
|
|
109
|
+
}
|
|
109
110
|
function getValueLabel(value, filter, settings) {
|
|
110
111
|
return settings.translate
|
|
111
112
|
? getI18nDateGroupLabel(value, filter.property, settings.translate)
|
|
@@ -123,22 +124,12 @@ function getUiValuesSettings(settings) {
|
|
|
123
124
|
}
|
|
124
125
|
function getValueUiUnitRelativeDate(relative, settings) {
|
|
125
126
|
const unit = settings.translate
|
|
126
|
-
?
|
|
127
|
+
? settings.translate(`common.units.${relative.unit}`)
|
|
127
128
|
: relative.unit;
|
|
128
129
|
return relative.cursor !== RELATIVE_CURSOR.THIS && relative.number > 1
|
|
129
130
|
? `${unit}s`
|
|
130
131
|
: unit;
|
|
131
132
|
}
|
|
132
|
-
function getRankingUIValues(values, addEnableds = false, rankingGroupIndex) {
|
|
133
|
-
const flattenValues = rankingGroupIndex == null ? flattenDeep(values) : values[rankingGroupIndex];
|
|
134
|
-
return flattenValues.map((rankingValue) => ({
|
|
135
|
-
rankingIndex: rankingGroupIndex,
|
|
136
|
-
value: `${rankingValue.value.value} - ${rankingValue.position}`,
|
|
137
|
-
valueid: rankingValue.value.valueid,
|
|
138
|
-
displayed: rankingValue.displayed != null ? rankingValue.displayed : true,
|
|
139
|
-
enabled: addEnableds ? rankingValue.enabled : undefined,
|
|
140
|
-
}));
|
|
141
|
-
}
|
|
142
133
|
function getRangeSeparator(settings) {
|
|
143
134
|
if (!isEmpty(settings.translate) && !isEmpty(settings.rangeSeparatorPath)) {
|
|
144
135
|
return settings.translate(settings.rangeSeparatorPath);
|
|
@@ -15,12 +15,26 @@ export default class UChartApi {
|
|
|
15
15
|
getChartResult: (config: IFilterConfig, uFilter: IFUFlattenedFilter, filterLogic?: IFBLogic[], chartSettings?: IFUChartSettings, _resetApi?: boolean) => Promise<IFBData>;
|
|
16
16
|
/**
|
|
17
17
|
* Gets request body structure
|
|
18
|
-
* @param uFilter The filter
|
|
19
|
-
* @param filterLogic Additional filter logic to apply in the preview
|
|
20
|
-
* @param chartSettings The settings of the chart. For Aggregate Columns.
|
|
18
|
+
* @param {IFUFlattenedFilter} uFilter The filter object
|
|
19
|
+
* @param {IFBLogic[]} filterLogic Additional filter logic to apply in the preview
|
|
20
|
+
* @param {IFUChartSettings} chartSettings The settings of the chart. For Aggregate Columns.
|
|
21
21
|
* @returns the request body structure
|
|
22
22
|
*/
|
|
23
23
|
private _getPreviewRequestBody;
|
|
24
|
+
/**
|
|
25
|
+
* Gets the filter object structure for the searching text
|
|
26
|
+
* @param {IFUFlattenedFilter} uFilter The filter object
|
|
27
|
+
* @returns the filter object structure
|
|
28
|
+
*/
|
|
29
|
+
private _getSearchLogic;
|
|
30
|
+
/**
|
|
31
|
+
* Gets the filters from the chart settings
|
|
32
|
+
* @param {IFUFlattenedFilter} uFilter The filter object
|
|
33
|
+
* @param {OLD_IFilterData} searchLogic Additional filter object for the searching text
|
|
34
|
+
* @param {IFUChartSettings} chartSettings The settings of the chart. For Aggregate Columns.
|
|
35
|
+
* @returns the filters from the chart settings
|
|
36
|
+
*/
|
|
37
|
+
private _getFilterCharts;
|
|
24
38
|
/**
|
|
25
39
|
* Gets chart body structure
|
|
26
40
|
* @param uFilter The filter Builder filter
|
|
@@ -37,34 +37,14 @@ export default class UChartApi {
|
|
|
37
37
|
};
|
|
38
38
|
/**
|
|
39
39
|
* Gets request body structure
|
|
40
|
-
* @param uFilter The filter
|
|
41
|
-
* @param filterLogic Additional filter logic to apply in the preview
|
|
42
|
-
* @param chartSettings The settings of the chart. For Aggregate Columns.
|
|
40
|
+
* @param {IFUFlattenedFilter} uFilter The filter object
|
|
41
|
+
* @param {IFBLogic[]} filterLogic Additional filter logic to apply in the preview
|
|
42
|
+
* @param {IFUChartSettings} chartSettings The settings of the chart. For Aggregate Columns.
|
|
43
43
|
* @returns the request body structure
|
|
44
44
|
*/
|
|
45
45
|
this._getPreviewRequestBody = (uFilter, filterLogic = [], chartSettings) => {
|
|
46
|
-
const
|
|
47
|
-
const
|
|
48
|
-
((chartSettings === null || chartSettings === void 0 ? void 0 : chartSettings.chart) || []).length;
|
|
49
|
-
let searchLogic;
|
|
50
|
-
if (!isEmpty(uFilter.values)) {
|
|
51
|
-
searchLogic = flatUIToOldLogic([
|
|
52
|
-
Object.assign(Object.assign({}, uFilter), { validator: this._getValidationType(column, validator), column: Object.assign(Object.assign({}, uFilter.column), { linkid: undefined }) }),
|
|
53
|
-
]);
|
|
54
|
-
}
|
|
55
|
-
let filterCharts = [];
|
|
56
|
-
if (haveAggFilters) {
|
|
57
|
-
filterCharts = chartSettings === null || chartSettings === void 0 ? void 0 : chartSettings.chart.map((chart) => {
|
|
58
|
-
if (uFilter.column.type === COLUMN.AGGREGATED_FORMULA)
|
|
59
|
-
return chart;
|
|
60
|
-
const summaryIndex = (chart.summaries || []).findIndex((s) => s.questionid === uFilter.column.id &&
|
|
61
|
-
s.aggregate === uFilter.column.aggregate);
|
|
62
|
-
const summary = summaryIndex !== -1 && chart.summaries[summaryIndex];
|
|
63
|
-
const chartAggFilters = getAggFiltersBySummaryIndex(chart.aggFilters, summaryIndex);
|
|
64
|
-
const searchAggFilters = getAggFilters((searchLogic === null || searchLogic === void 0 ? void 0 : searchLogic.logic) || [], summary ? [summary] : []);
|
|
65
|
-
return Object.assign(Object.assign({}, chart), { aggFilters: searchAggFilters || chartAggFilters, summaries: summary ? [summary] : [] });
|
|
66
|
-
}).filter((chart) => chart.summaries.length);
|
|
67
|
-
}
|
|
46
|
+
const searchLogic = this._getSearchLogic(uFilter);
|
|
47
|
+
const filterCharts = this._getFilterCharts(uFilter, searchLogic, chartSettings);
|
|
68
48
|
const chartsBody = !filterCharts[0]
|
|
69
49
|
? [this._getChartBody(uFilter)]
|
|
70
50
|
: [filterCharts[0]];
|
|
@@ -72,7 +52,11 @@ export default class UChartApi {
|
|
|
72
52
|
...filterLogic,
|
|
73
53
|
...(!filterCharts[0] ? (searchLogic === null || searchLogic === void 0 ? void 0 : searchLogic.logic) || [] : []),
|
|
74
54
|
];
|
|
75
|
-
return {
|
|
55
|
+
return {
|
|
56
|
+
charts: chartsBody,
|
|
57
|
+
logic: filters,
|
|
58
|
+
qrveyid: uFilter.column.qrveyid,
|
|
59
|
+
};
|
|
76
60
|
};
|
|
77
61
|
/**
|
|
78
62
|
* Gets chart body structure
|
|
@@ -268,4 +252,43 @@ export default class UChartApi {
|
|
|
268
252
|
return validation;
|
|
269
253
|
};
|
|
270
254
|
}
|
|
255
|
+
/**
|
|
256
|
+
* Gets the filter object structure for the searching text
|
|
257
|
+
* @param {IFUFlattenedFilter} uFilter The filter object
|
|
258
|
+
* @returns the filter object structure
|
|
259
|
+
*/
|
|
260
|
+
_getSearchLogic(uFilter) {
|
|
261
|
+
let searchLogic;
|
|
262
|
+
if (!isEmpty(uFilter.values)) {
|
|
263
|
+
searchLogic = flatUIToOldLogic([
|
|
264
|
+
Object.assign(Object.assign({}, uFilter), { validator: this._getValidationType(uFilter.column, uFilter.validator), column: Object.assign(Object.assign({}, uFilter.column), { linkid: undefined }) }),
|
|
265
|
+
]);
|
|
266
|
+
}
|
|
267
|
+
return searchLogic;
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* Gets the filters from the chart settings
|
|
271
|
+
* @param {IFUFlattenedFilter} uFilter The filter object
|
|
272
|
+
* @param {OLD_IFilterData} searchLogic Additional filter object for the searching text
|
|
273
|
+
* @param {IFUChartSettings} chartSettings The settings of the chart. For Aggregate Columns.
|
|
274
|
+
* @returns the filters from the chart settings
|
|
275
|
+
*/
|
|
276
|
+
_getFilterCharts(uFilter, searchLogic, chartSettings) {
|
|
277
|
+
let filterCharts = [];
|
|
278
|
+
const haveAggFilters = ((chartSettings === null || chartSettings === void 0 ? void 0 : chartSettings.aggregateColumns) || []).length &&
|
|
279
|
+
((chartSettings === null || chartSettings === void 0 ? void 0 : chartSettings.chart) || []).length;
|
|
280
|
+
if (haveAggFilters) {
|
|
281
|
+
filterCharts = chartSettings === null || chartSettings === void 0 ? void 0 : chartSettings.chart.map((chart) => {
|
|
282
|
+
if (uFilter.column.type === COLUMN.AGGREGATED_FORMULA)
|
|
283
|
+
return chart;
|
|
284
|
+
const summaryIndex = (chart.summaries || []).findIndex((s) => s.questionid === uFilter.column.id &&
|
|
285
|
+
s.aggregate === uFilter.column.aggregate);
|
|
286
|
+
const summary = summaryIndex !== -1 && chart.summaries[summaryIndex];
|
|
287
|
+
const chartAggFilters = getAggFiltersBySummaryIndex(chart.aggFilters, summaryIndex);
|
|
288
|
+
const searchAggFilters = getAggFilters((searchLogic === null || searchLogic === void 0 ? void 0 : searchLogic.logic) || [], summary ? [summary] : []);
|
|
289
|
+
return Object.assign(Object.assign({}, chart), { aggFilters: searchAggFilters || chartAggFilters, summaries: summary ? [summary] : [] });
|
|
290
|
+
}).filter((chart) => chart.summaries.length);
|
|
291
|
+
}
|
|
292
|
+
return filterCharts;
|
|
293
|
+
}
|
|
271
294
|
}
|
|
@@ -23,12 +23,26 @@ export default class UChartPaginationApi {
|
|
|
23
23
|
getChartResult: (config: IFilterConfig, uFilter: IFUFlattenedFilter, filterLogic?: IFBLogic[], chartSettings?: IFUChartSettings, resetApi?: boolean) => Promise<IFBData>;
|
|
24
24
|
/**
|
|
25
25
|
* Gets request body structure
|
|
26
|
-
* @param uFilter The filter
|
|
27
|
-
* @param filterLogic Additional filter logic to apply in the preview
|
|
28
|
-
* @param chartSettings The settings of the chart. For Aggregate Columns.
|
|
26
|
+
* @param {IFUFlattenedFilter} uFilter The filter object
|
|
27
|
+
* @param {IFBLogic[]} filterLogic Additional filter logic to apply in the preview
|
|
28
|
+
* @param {IFUChartSettings} chartSettings The settings of the chart. For Aggregate Columns.
|
|
29
29
|
* @returns the request body structure
|
|
30
30
|
*/
|
|
31
31
|
private _getPreviewRequestBody;
|
|
32
|
+
/**
|
|
33
|
+
* Gets the filter object structure for the searching text
|
|
34
|
+
* @param {IFUFlattenedFilter} uFilter The filter object
|
|
35
|
+
* @returns the filter object structure
|
|
36
|
+
*/
|
|
37
|
+
private _getSearchLogic;
|
|
38
|
+
/**
|
|
39
|
+
* Gets the filters from the chart settings
|
|
40
|
+
* @param {IFUFlattenedFilter} uFilter The filter object
|
|
41
|
+
* @param {OLD_IFilterData} searchLogic Additional filter object for the searching text
|
|
42
|
+
* @param {IFUChartSettings} chartSettings The settings of the chart. For Aggregate Columns.
|
|
43
|
+
* @returns the filters from the chart settings
|
|
44
|
+
*/
|
|
45
|
+
private _getFilterCharts;
|
|
32
46
|
/**
|
|
33
47
|
* Gets dimension body structure
|
|
34
48
|
* @param uFilter The filter Builder filter
|
|
@@ -47,39 +47,21 @@ export default class UChartPaginationApi {
|
|
|
47
47
|
};
|
|
48
48
|
/**
|
|
49
49
|
* Gets request body structure
|
|
50
|
-
* @param uFilter The filter
|
|
51
|
-
* @param filterLogic Additional filter logic to apply in the preview
|
|
52
|
-
* @param chartSettings The settings of the chart. For Aggregate Columns.
|
|
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
53
|
* @returns the request body structure
|
|
54
54
|
*/
|
|
55
55
|
this._getPreviewRequestBody = (uFilter, filterLogic = [], chartSettings, afterKey) => {
|
|
56
|
-
const
|
|
57
|
-
const
|
|
58
|
-
((chartSettings === null || chartSettings === void 0 ? void 0 : chartSettings.chart) || []).length;
|
|
59
|
-
let searchLogic;
|
|
60
|
-
if (!isEmpty(uFilter.values)) {
|
|
61
|
-
searchLogic = flatUIToOldLogic([
|
|
62
|
-
Object.assign(Object.assign({}, uFilter), { validator: this._getValidationType(column, validator), column: Object.assign(Object.assign({}, uFilter.column), { linkid: undefined }) }),
|
|
63
|
-
]);
|
|
64
|
-
}
|
|
65
|
-
let filterCharts = [];
|
|
66
|
-
if (haveAggFilters) {
|
|
67
|
-
filterCharts = chartSettings === null || chartSettings === void 0 ? void 0 : chartSettings.chart.map((chart) => {
|
|
68
|
-
const summaryIndex = (chart.summaries || []).findIndex((s) => s.questionid === uFilter.column.id &&
|
|
69
|
-
s.aggregate === uFilter.column.aggregate);
|
|
70
|
-
const summary = summaryIndex !== -1 && chart.summaries[summaryIndex];
|
|
71
|
-
const chartAggFilters = getAggFiltersBySummaryIndex(chart.aggFilters, summaryIndex);
|
|
72
|
-
const searchAggFilters = getAggFilters((searchLogic === null || searchLogic === void 0 ? void 0 : searchLogic.logic) || [], summary ? [summary] : []);
|
|
73
|
-
return Object.assign(Object.assign({}, chart), { aggFilters: searchAggFilters || chartAggFilters, summaries: summary ? [summary] : [] });
|
|
74
|
-
}).filter((chart) => chart.summaries.length);
|
|
75
|
-
}
|
|
56
|
+
const searchLogic = this._getSearchLogic(uFilter);
|
|
57
|
+
const filterCharts = this._getFilterCharts(uFilter, searchLogic, chartSettings);
|
|
76
58
|
const dimensions = !filterCharts[0]
|
|
77
59
|
? this._getDimensionsBody(uFilter)
|
|
78
60
|
: this._getDimensionsBodyAdapter(filterCharts[0].dimensions);
|
|
79
61
|
const summaries = !filterCharts[0]
|
|
80
62
|
? this._getSummariesBody(uFilter)
|
|
81
63
|
: filterCharts[0].summaries;
|
|
82
|
-
const maxDataPoints = this._getMaxDataPoints(column, chartSettings);
|
|
64
|
+
const maxDataPoints = this._getMaxDataPoints(uFilter.column, chartSettings);
|
|
83
65
|
const filters = [
|
|
84
66
|
...filterLogic,
|
|
85
67
|
...(!filterCharts[0] ? (searchLogic === null || searchLogic === void 0 ? void 0 : searchLogic.logic) || [] : []),
|
|
@@ -310,4 +292,43 @@ export default class UChartPaginationApi {
|
|
|
310
292
|
return isEmpty(result);
|
|
311
293
|
};
|
|
312
294
|
}
|
|
295
|
+
/**
|
|
296
|
+
* Gets the filter object structure for the searching text
|
|
297
|
+
* @param {IFUFlattenedFilter} uFilter The filter object
|
|
298
|
+
* @returns the filter object structure
|
|
299
|
+
*/
|
|
300
|
+
_getSearchLogic(uFilter) {
|
|
301
|
+
let searchLogic;
|
|
302
|
+
if (!isEmpty(uFilter.values)) {
|
|
303
|
+
searchLogic = flatUIToOldLogic([
|
|
304
|
+
Object.assign(Object.assign({}, uFilter), { validator: this._getValidationType(uFilter.column, uFilter.validator), column: Object.assign(Object.assign({}, uFilter.column), { linkid: undefined }) }),
|
|
305
|
+
]);
|
|
306
|
+
}
|
|
307
|
+
return searchLogic;
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* Gets the filters from the chart settings
|
|
311
|
+
* @param {IFUFlattenedFilter} uFilter The filter object
|
|
312
|
+
* @param {OLD_IFilterData} searchLogic Additional filter object for the searching text
|
|
313
|
+
* @param {IFUChartSettings} chartSettings The settings of the chart. For Aggregate Columns.
|
|
314
|
+
* @returns the filters from the chart settings
|
|
315
|
+
*/
|
|
316
|
+
_getFilterCharts(uFilter, searchLogic, chartSettings) {
|
|
317
|
+
let filterCharts = [];
|
|
318
|
+
const haveAggFilters = ((chartSettings === null || chartSettings === void 0 ? void 0 : chartSettings.aggregateColumns) || []).length &&
|
|
319
|
+
((chartSettings === null || chartSettings === void 0 ? void 0 : chartSettings.chart) || []).length;
|
|
320
|
+
if (haveAggFilters) {
|
|
321
|
+
filterCharts = chartSettings === null || chartSettings === void 0 ? void 0 : chartSettings.chart.map((chart) => {
|
|
322
|
+
if (uFilter.column.type === COLUMN.AGGREGATED_FORMULA)
|
|
323
|
+
return chart;
|
|
324
|
+
const summaryIndex = (chart.summaries || []).findIndex((s) => s.questionid === uFilter.column.id &&
|
|
325
|
+
s.aggregate === uFilter.column.aggregate);
|
|
326
|
+
const summary = summaryIndex !== -1 && chart.summaries[summaryIndex];
|
|
327
|
+
const chartAggFilters = getAggFiltersBySummaryIndex(chart.aggFilters, summaryIndex);
|
|
328
|
+
const searchAggFilters = getAggFilters((searchLogic === null || searchLogic === void 0 ? void 0 : searchLogic.logic) || [], summary ? [summary] : []);
|
|
329
|
+
return Object.assign(Object.assign({}, chart), { aggFilters: searchAggFilters || chartAggFilters, summaries: summary ? [summary] : [] });
|
|
330
|
+
}).filter((chart) => chart.summaries.length);
|
|
331
|
+
}
|
|
332
|
+
return filterCharts;
|
|
333
|
+
}
|
|
313
334
|
}
|
|
@@ -11,7 +11,7 @@ export const getLang = (locale) => {
|
|
|
11
11
|
};
|
|
12
12
|
export const chooseLang = (config) => {
|
|
13
13
|
var _a;
|
|
14
|
-
const lang = ((_a = config === null || config === void 0 ? void 0 : config.i18n) === null || _a === void 0 ? void 0 : _a.lang) || config.lang;
|
|
14
|
+
const lang = ((_a = config === null || config === void 0 ? void 0 : config.i18n) === null || _a === void 0 ? void 0 : _a.lang) || (config === null || config === void 0 ? void 0 : config.lang);
|
|
15
15
|
return (lang === null || lang === void 0 ? void 0 : lang.lang) || lang || LANG_DEFAULT;
|
|
16
16
|
};
|
|
17
17
|
export const formatWithLocale = (value, outputFormat, config = {}) => {
|
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Validates if the recieved number is NaN type.
|
|
3
|
-
*
|
|
4
|
-
*
|
|
3
|
+
*
|
|
4
|
+
* Conditions:
|
|
5
|
+
* - This function recieves any variable but will return true if it is different to number.
|
|
6
|
+
* - Empty variables as undefined, null, empty string will return true.
|
|
7
|
+
*
|
|
8
|
+
* Special case for isNaN
|
|
9
|
+
* - The isNaN('') is considered as false statement. The empty string is converted to 0 which is not NaN.
|
|
10
|
+
* - Boolean variables is considered as false statement.
|
|
11
|
+
*
|
|
5
12
|
* @param variable the variable to validate
|
|
6
|
-
* @return True
|
|
13
|
+
* @return True: variable is a NaN; False: The variable is a number
|
|
7
14
|
*/
|
|
8
15
|
export declare function isNaNV2(variable: any): boolean;
|
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
import { isEmpty } from ".";
|
|
2
2
|
/**
|
|
3
3
|
* Validates if the recieved number is NaN type.
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
*
|
|
5
|
+
* Conditions:
|
|
6
|
+
* - This function recieves any variable but will return true if it is different to number.
|
|
7
|
+
* - Empty variables as undefined, null, empty string will return true.
|
|
8
|
+
*
|
|
9
|
+
* Special case for isNaN
|
|
10
|
+
* - The isNaN('') is considered as false statement. The empty string is converted to 0 which is not NaN.
|
|
11
|
+
* - Boolean variables is considered as false statement.
|
|
12
|
+
*
|
|
6
13
|
* @param variable the variable to validate
|
|
7
|
-
* @return True
|
|
14
|
+
* @return True: variable is a NaN; False: The variable is a number
|
|
8
15
|
*/
|
|
9
16
|
export function isNaNV2(variable) {
|
|
10
|
-
return isEmpty(variable) || isNaN(variable);
|
|
17
|
+
return isEmpty(variable) || typeof variable == "boolean" || isNaN(variable);
|
|
11
18
|
}
|
|
@@ -8,8 +8,8 @@ export const parseUrl = (url, transformer) => {
|
|
|
8
8
|
if (!match)
|
|
9
9
|
return url;
|
|
10
10
|
return match.reduce((newUrl, curr) => {
|
|
11
|
-
const key = curr.
|
|
11
|
+
const key = curr.substring(2);
|
|
12
12
|
const value = typeof transformer === "function" ? transformer(key) : transformer[key];
|
|
13
|
-
return newUrl.replace(curr.
|
|
13
|
+
return newUrl.replace(curr.substring(1), value);
|
|
14
14
|
}, url);
|
|
15
15
|
};
|
|
@@ -1,12 +1,15 @@
|
|
|
1
|
+
import { isEmpty } from "../../general/mix/isEmpty";
|
|
1
2
|
import { I18nService } from "../service/i18nextBuilder";
|
|
2
3
|
export function getI18nCalendar(locale) {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
let localeOverride;
|
|
5
|
+
if (locale instanceof I18nService) {
|
|
6
|
+
localeOverride = locale;
|
|
7
|
+
}
|
|
8
|
+
else if (typeof locale === "function") {
|
|
9
|
+
localeOverride = { translate: locale };
|
|
10
|
+
}
|
|
11
|
+
if (isEmpty(localeOverride))
|
|
12
|
+
return;
|
|
10
13
|
return {
|
|
11
14
|
clear: localeOverride.translate("common.calendar.clear"),
|
|
12
15
|
days: [
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
export const I18N_FORMULA_BUILDER = {
|
|
2
2
|
list_modal: {
|
|
3
|
-
title_header: "Formulas",
|
|
4
3
|
create_button: "Create Formula",
|
|
4
|
+
create_button_tooltip: "Add some records to create formulas",
|
|
5
5
|
empty_message: "No Formulas Yet",
|
|
6
6
|
information_text_link: "Learn how to",
|
|
7
7
|
information_text_text: "create and work with formulas",
|
|
8
|
+
title_header: "Formulas",
|
|
8
9
|
},
|
|
9
10
|
list_table: {
|
|
10
11
|
duplicate_copy: "Copy",
|
|
@@ -11,9 +11,7 @@ import i18next from "i18next";
|
|
|
11
11
|
import { mergeDeep } from "../../general/object/mergeDeep";
|
|
12
12
|
export class I18nServiceBuilder {
|
|
13
13
|
static buildI18n(i18nDefault, i18nResource) {
|
|
14
|
-
return
|
|
15
|
-
return yield this._initI18n(i18nDefault, i18nResource);
|
|
16
|
-
});
|
|
14
|
+
return this._initI18n(i18nDefault, i18nResource);
|
|
17
15
|
}
|
|
18
16
|
static _initI18n(i18nDefault, i18nResource) {
|
|
19
17
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -1,15 +1,4 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
1
|
import { I18nServiceBuilder } from "../service/i18nextBuilder";
|
|
11
2
|
export function initI18n(i18nConfig = {}, i18nDefault = {}) {
|
|
12
|
-
return
|
|
13
|
-
return yield I18nServiceBuilder.buildI18n(i18nDefault, i18nConfig);
|
|
14
|
-
});
|
|
3
|
+
return I18nServiceBuilder.buildI18n(i18nDefault, i18nConfig);
|
|
15
4
|
}
|
|
@@ -46,9 +46,10 @@ export function getDataAnswersByColumn(settings) {
|
|
|
46
46
|
return [];
|
|
47
47
|
}
|
|
48
48
|
function getColumnFromData(settings) {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
49
|
+
if (!isEmpty(settings.dataset)) {
|
|
50
|
+
return getDatasetColumn(settings.column, settings.dataset);
|
|
51
|
+
}
|
|
52
|
+
else if (!isEmpty(settings.model)) {
|
|
53
|
+
return getModelColumn(settings.column, settings.model);
|
|
54
|
+
}
|
|
54
55
|
}
|