@qrvey/utils 1.4.5 → 1.5.0-2
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/constants/DURATION_PARTS_LIST.d.ts +1 -0
- package/dist/cjs/column_format/constants/DURATION_PARTS_LIST.js +12 -0
- package/dist/cjs/column_format/constants/index.d.ts +1 -0
- package/dist/cjs/column_format/constants/index.js +1 -0
- package/dist/cjs/column_format/helpers/defineXYChartFormat.js +4 -1
- package/dist/cjs/filters/constants/common/FILTER_TOKENS_STRUCTURE_TYPE.d.ts +8 -0
- package/dist/cjs/filters/constants/common/FILTER_TOKENS_STRUCTURE_TYPE.js +12 -0
- 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/filtersTokensToString.d.ts +7 -0
- package/dist/cjs/filters/helpers/filtersTokensToString.js +20 -0
- package/dist/cjs/filters/helpers/getTokensFromFilters.d.ts +10 -0
- package/dist/cjs/filters/helpers/getTokensFromFilters.js +116 -0
- package/dist/cjs/filters/helpers/getVerboseFilter.d.ts +9 -0
- package/dist/cjs/filters/helpers/getVerboseFilter.js +16 -0
- package/dist/cjs/filters/helpers/index.d.ts +3 -0
- package/dist/cjs/filters/helpers/index.js +3 -0
- package/dist/cjs/filters/interfaces/IFFilterTokens.d.ts +5 -0
- package/dist/cjs/filters/interfaces/IFFilterTokens.js +2 -0
- package/dist/cjs/filters/interfaces/IFTokensFromFiltersSettings.d.ts +7 -0
- package/dist/cjs/filters/interfaces/IFTokensFromFiltersSettings.js +2 -0
- package/dist/cjs/filters/interfaces/index.d.ts +2 -0
- package/dist/cjs/filters/interfaces/index.js +2 -0
- package/dist/cjs/format/definition.d.ts +2 -1
- package/dist/cjs/format/format.js +4 -1
- package/dist/cjs/format/localization.js +18 -2
- package/dist/cjs/globalization/interfaces/II18nResource.d.ts +2 -0
- package/dist/cjs/globalization/interfaces/chart_builder/II18nChartBuilderFormatValues.d.ts +1 -0
- package/dist/cjs/globalization/interfaces/chart_builder/II18nChartBuilderTableStyleOptions.d.ts +4 -0
- package/dist/cjs/globalization/interfaces/common/II18nCommon.d.ts +1 -0
- package/dist/cjs/globalization/interfaces/tabular_view/II18nTabularView.d.ts +4 -0
- package/dist/cjs/globalization/interfaces/tabular_view/II18nTabularView.js +2 -0
- package/dist/cjs/globalization/labels/I18N_DEFAULT.js +2 -0
- package/dist/cjs/globalization/labels/chart_builder/I18N_CHART_BUILDER.js +1 -0
- package/dist/cjs/globalization/labels/chart_builder/I18N_CHART_BUILDER_COMPARISION_OPTIONS.js +1 -1
- package/dist/cjs/globalization/labels/chart_builder/I18N_CHART_BUILDER_STYLE_OPTIONS.js +5 -1
- package/dist/cjs/globalization/labels/common/I18N_COMMON.js +1 -0
- package/dist/cjs/globalization/labels/tabular_view/I18N_TABULAR_VIEW.d.ts +2 -0
- package/dist/cjs/globalization/labels/tabular_view/I18N_TABULAR_VIEW.js +7 -0
- package/dist/cjs/globalization/service/i18nextBuilder.d.ts +7 -0
- package/dist/cjs/globalization/service/i18nextBuilder.js +25 -14
- package/dist/cjs/interfaces/format/IFormatOutputFormat.Interface.d.ts +1 -0
- package/dist/column_format/constants/DURATION_PARTS_LIST.d.ts +1 -0
- package/dist/column_format/constants/DURATION_PARTS_LIST.js +9 -0
- package/dist/column_format/constants/index.d.ts +1 -0
- package/dist/column_format/constants/index.js +1 -0
- package/dist/column_format/helpers/defineXYChartFormat.js +4 -1
- package/dist/filters/constants/common/FILTER_TOKENS_STRUCTURE_TYPE.d.ts +8 -0
- package/dist/filters/constants/common/FILTER_TOKENS_STRUCTURE_TYPE.js +9 -0
- package/dist/filters/constants/common/index.d.ts +1 -0
- package/dist/filters/constants/common/index.js +1 -0
- package/dist/filters/helpers/filtersTokensToString.d.ts +7 -0
- package/dist/filters/helpers/filtersTokensToString.js +16 -0
- package/dist/filters/helpers/getTokensFromFilters.d.ts +10 -0
- package/dist/filters/helpers/getTokensFromFilters.js +112 -0
- package/dist/filters/helpers/getVerboseFilter.d.ts +9 -0
- package/dist/filters/helpers/getVerboseFilter.js +12 -0
- package/dist/filters/helpers/index.d.ts +3 -0
- package/dist/filters/helpers/index.js +3 -0
- package/dist/filters/interfaces/IFFilterTokens.d.ts +5 -0
- package/dist/filters/interfaces/IFFilterTokens.js +1 -0
- package/dist/filters/interfaces/IFTokensFromFiltersSettings.d.ts +7 -0
- package/dist/filters/interfaces/IFTokensFromFiltersSettings.js +1 -0
- package/dist/filters/interfaces/index.d.ts +2 -0
- package/dist/filters/interfaces/index.js +2 -0
- package/dist/format/definition.d.ts +2 -1
- package/dist/format/format.js +4 -1
- package/dist/format/localization.js +18 -2
- package/dist/globalization/interfaces/II18nResource.d.ts +2 -0
- package/dist/globalization/interfaces/chart_builder/II18nChartBuilderFormatValues.d.ts +1 -0
- package/dist/globalization/interfaces/chart_builder/II18nChartBuilderTableStyleOptions.d.ts +4 -0
- package/dist/globalization/interfaces/common/II18nCommon.d.ts +1 -0
- package/dist/globalization/interfaces/tabular_view/II18nTabularView.d.ts +4 -0
- package/dist/globalization/interfaces/tabular_view/II18nTabularView.js +1 -0
- package/dist/globalization/labels/I18N_DEFAULT.js +2 -0
- package/dist/globalization/labels/chart_builder/I18N_CHART_BUILDER.js +1 -0
- package/dist/globalization/labels/chart_builder/I18N_CHART_BUILDER_COMPARISION_OPTIONS.js +1 -1
- package/dist/globalization/labels/chart_builder/I18N_CHART_BUILDER_STYLE_OPTIONS.js +5 -1
- package/dist/globalization/labels/common/I18N_COMMON.js +1 -0
- package/dist/globalization/labels/tabular_view/I18N_TABULAR_VIEW.d.ts +2 -0
- package/dist/globalization/labels/tabular_view/I18N_TABULAR_VIEW.js +4 -0
- package/dist/globalization/service/i18nextBuilder.d.ts +7 -0
- package/dist/globalization/service/i18nextBuilder.js +24 -14
- package/dist/interfaces/format/IFormatOutputFormat.Interface.d.ts +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const DURATION_PARTS_LIST: string[];
|
|
@@ -20,3 +20,4 @@ __exportStar(require("./DATEGROUP_WITHOUT_FORMAT"), exports);
|
|
|
20
20
|
__exportStar(require("./SHELF_TYPE"), exports);
|
|
21
21
|
__exportStar(require("./STRING_FORMAT"), exports);
|
|
22
22
|
__exportStar(require("./TABLE_TYPE"), exports);
|
|
23
|
+
__exportStar(require("./DURATION_PARTS_LIST"), exports);
|
|
@@ -7,6 +7,7 @@ const isEmpty_1 = require("../../general/mix/isEmpty");
|
|
|
7
7
|
const CALCULATION_LABEL_1 = require("../../qrvey/constants/CALCULATION_LABEL");
|
|
8
8
|
const CHART_GROUP_1 = require("../constants/CHART_GROUP");
|
|
9
9
|
const DATEGROUP_UNSUPPORT_FORMAT_1 = require("../constants/DATEGROUP_UNSUPPORT_FORMAT");
|
|
10
|
+
const DURATION_PARTS_LIST_1 = require("../constants/DURATION_PARTS_LIST");
|
|
10
11
|
const STRING_FORMAT_1 = require("../constants/STRING_FORMAT");
|
|
11
12
|
const columnTypeByChart_1 = require("./columnTypeByChart");
|
|
12
13
|
/**
|
|
@@ -37,6 +38,8 @@ const defineXYChartFormat = (column, settings) => {
|
|
|
37
38
|
const hasDefaultFormat = (0, isEmpty_1.isEmpty)(selectedFormat) ||
|
|
38
39
|
(outputFormat === null || outputFormat === void 0 ? void 0 : outputFormat.format) === defaultText ||
|
|
39
40
|
(selectedFormat === null || selectedFormat === void 0 ? void 0 : selectedFormat.format) === defaultText;
|
|
41
|
+
const newOutputFormat = DURATION_PARTS_LIST_1.DURATION_PARTS_LIST.includes(outputFormat === null || outputFormat === void 0 ? void 0 : outputFormat.format)
|
|
42
|
+
? Object.assign(Object.assign({}, outputFormat), { template: outputFormat.format, format: "Duration" }) : outputFormat;
|
|
40
43
|
switch (columnType) {
|
|
41
44
|
case COLUMN_1.COLUMN.YES_NO:
|
|
42
45
|
case COLUMN_1.COLUMN.PHONE:
|
|
@@ -82,7 +85,7 @@ const defineXYChartFormat = (column, settings) => {
|
|
|
82
85
|
return columnDefaultFormat;
|
|
83
86
|
}
|
|
84
87
|
else if (hasDefaultFormat) {
|
|
85
|
-
return Object.assign({},
|
|
88
|
+
return Object.assign({}, newOutputFormat);
|
|
86
89
|
}
|
|
87
90
|
else
|
|
88
91
|
return selectedFormat;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FILTER_TOKENS_STRUCTURE_TYPE = void 0;
|
|
4
|
+
var FILTER_TOKENS_STRUCTURE_TYPE;
|
|
5
|
+
(function (FILTER_TOKENS_STRUCTURE_TYPE) {
|
|
6
|
+
FILTER_TOKENS_STRUCTURE_TYPE["SCOPE"] = "SCOPE";
|
|
7
|
+
FILTER_TOKENS_STRUCTURE_TYPE["DATABASE_NAME"] = "DATABASE_NAME";
|
|
8
|
+
FILTER_TOKENS_STRUCTURE_TYPE["COLUMN_NAME"] = "COLUMN_NAME";
|
|
9
|
+
FILTER_TOKENS_STRUCTURE_TYPE["VALIDATOR"] = "VALIDATOR";
|
|
10
|
+
FILTER_TOKENS_STRUCTURE_TYPE["VALUE"] = "VALUE";
|
|
11
|
+
FILTER_TOKENS_STRUCTURE_TYPE["LOGICAL_OPERATOR"] = "LOGICAL_OPERATOR";
|
|
12
|
+
})(FILTER_TOKENS_STRUCTURE_TYPE = exports.FILTER_TOKENS_STRUCTURE_TYPE || (exports.FILTER_TOKENS_STRUCTURE_TYPE = {}));
|
|
@@ -33,3 +33,4 @@ __exportStar(require("./FILTER_VALIDATOR_BY_TYPE"), exports);
|
|
|
33
33
|
__exportStar(require("./FILTER_VALIDATOR_INFO"), exports);
|
|
34
34
|
__exportStar(require("./FILTER_VALIDATOR_LABEL"), exports);
|
|
35
35
|
__exportStar(require("./FILTER_VALIDATOR"), exports);
|
|
36
|
+
__exportStar(require("./FILTER_TOKENS_STRUCTURE_TYPE"), exports);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { IFFilterTokens } from "../interfaces/IFFilterTokens";
|
|
2
|
+
/**
|
|
3
|
+
* It takes an array of tokens and returns a string
|
|
4
|
+
* @param {IFFilterTokens[]} tokens - IFFilterTokens[] - the tokens to convert to a string
|
|
5
|
+
* @returns A string
|
|
6
|
+
*/
|
|
7
|
+
export declare function filtersTokensToString(tokens: IFFilterTokens[]): string;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.filtersTokensToString = void 0;
|
|
4
|
+
const FILTER_TOKENS_STRUCTURE_TYPE_1 = require("../constants/common/FILTER_TOKENS_STRUCTURE_TYPE");
|
|
5
|
+
/**
|
|
6
|
+
* It takes an array of tokens and returns a string
|
|
7
|
+
* @param {IFFilterTokens[]} tokens - IFFilterTokens[] - the tokens to convert to a string
|
|
8
|
+
* @returns A string
|
|
9
|
+
*/
|
|
10
|
+
function filtersTokensToString(tokens) {
|
|
11
|
+
let str = "";
|
|
12
|
+
for (const token of tokens) {
|
|
13
|
+
if (token.type === FILTER_TOKENS_STRUCTURE_TYPE_1.FILTER_TOKENS_STRUCTURE_TYPE.SCOPE) {
|
|
14
|
+
str += `\n`;
|
|
15
|
+
}
|
|
16
|
+
str += `${token.token} `;
|
|
17
|
+
}
|
|
18
|
+
return str.trim();
|
|
19
|
+
}
|
|
20
|
+
exports.filtersTokensToString = filtersTokensToString;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IFUData } from "../interfaces/ui/IFUData";
|
|
2
|
+
import { IFTokensFromFiltersSettings } from "../interfaces/IFTokensFromFiltersSettings";
|
|
3
|
+
import { IFFilterTokens } from "../interfaces/IFFilterTokens";
|
|
4
|
+
/**
|
|
5
|
+
* It takes a filter object and returns an array of tokens that represent the filter
|
|
6
|
+
* @param {IFUData} filters - The filters object.
|
|
7
|
+
* @param {IFTokensFromFiltersSettings} options - IFTokensFromFiltersSettings
|
|
8
|
+
* @returns {IFFilterTokens[]} An array of tokens that represents the filters object
|
|
9
|
+
*/
|
|
10
|
+
export declare function getTokensFromFilters(filters: IFUData, options: IFTokensFromFiltersSettings): IFFilterTokens[];
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getTokensFromFilters = void 0;
|
|
4
|
+
const getUIValues_1 = require("./ui/getUIValues");
|
|
5
|
+
const getFilterPropertyLabel_1 = require("./ui/getFilterPropertyLabel");
|
|
6
|
+
const FILTER_TOKENS_STRUCTURE_TYPE_1 = require("../constants/common/FILTER_TOKENS_STRUCTURE_TYPE");
|
|
7
|
+
const isEmpty_1 = require("../../general/mix/isEmpty");
|
|
8
|
+
/**
|
|
9
|
+
* It takes a filter object and returns an array of tokens that represent the filter
|
|
10
|
+
* @param {IFUData} filters - The filters object.
|
|
11
|
+
* @param {IFTokensFromFiltersSettings} options - IFTokensFromFiltersSettings
|
|
12
|
+
* @returns {IFFilterTokens[]} An array of tokens that represents the filters object
|
|
13
|
+
*/
|
|
14
|
+
function getTokensFromFilters(filters, options) {
|
|
15
|
+
var _a, _b, _c;
|
|
16
|
+
const tokens = [];
|
|
17
|
+
const i18nService = options.i18nService;
|
|
18
|
+
const settings = {
|
|
19
|
+
translate: i18nService.translate.bind(i18nService),
|
|
20
|
+
};
|
|
21
|
+
const getValue = (valueItem) => {
|
|
22
|
+
var _a;
|
|
23
|
+
if (valueItem.value) {
|
|
24
|
+
return ((_a = valueItem.displayed) !== null && _a !== void 0 ? _a : true) ? valueItem.value : "";
|
|
25
|
+
}
|
|
26
|
+
else if (valueItem.imageUrl) {
|
|
27
|
+
return `(${i18nService.translate("filter.value_container.no_label")})`;
|
|
28
|
+
}
|
|
29
|
+
return "";
|
|
30
|
+
};
|
|
31
|
+
for (const scope of filters.scopes) {
|
|
32
|
+
if (scope.datasets.length === 0)
|
|
33
|
+
continue;
|
|
34
|
+
if (options.showScope) {
|
|
35
|
+
tokens.push({
|
|
36
|
+
token: i18nService.translate(`filter.scope_title.${scope.scope.toLowerCase()}`) + ":",
|
|
37
|
+
type: FILTER_TOKENS_STRUCTURE_TYPE_1.FILTER_TOKENS_STRUCTURE_TYPE.SCOPE,
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
let thereIsFiltersWithValues = false;
|
|
41
|
+
for (const database of scope.datasets) {
|
|
42
|
+
if (database.filters.length === 0)
|
|
43
|
+
continue;
|
|
44
|
+
if (options.showDatabaseName) {
|
|
45
|
+
tokens.push({
|
|
46
|
+
token: database.label + ":",
|
|
47
|
+
type: FILTER_TOKENS_STRUCTURE_TYPE_1.FILTER_TOKENS_STRUCTURE_TYPE.DATABASE_NAME,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
for (const [index, filter] of Object.entries(database.filters)) {
|
|
51
|
+
if (!(filter === null || filter === void 0 ? void 0 : filter.enabled)) {
|
|
52
|
+
if (((_a = tokens[tokens.length - 1]) === null || _a === void 0 ? void 0 : _a.type) ===
|
|
53
|
+
FILTER_TOKENS_STRUCTURE_TYPE_1.FILTER_TOKENS_STRUCTURE_TYPE.LOGICAL_OPERATOR) {
|
|
54
|
+
tokens.pop();
|
|
55
|
+
}
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
const values = (0, getUIValues_1.getUIValues)(filter, settings);
|
|
59
|
+
if (!thereIsFiltersWithValues)
|
|
60
|
+
thereIsFiltersWithValues = true;
|
|
61
|
+
let columnLabel = filter.column.label;
|
|
62
|
+
if ((_b = filter === null || filter === void 0 ? void 0 : filter.column) === null || _b === void 0 ? void 0 : _b.aggregate) {
|
|
63
|
+
columnLabel +=
|
|
64
|
+
" (" +
|
|
65
|
+
i18nService.translate(`common.aggregate_labels.${(_c = filter === null || filter === void 0 ? void 0 : filter.column) === null || _c === void 0 ? void 0 : _c.aggregate.toLowerCase()}`) +
|
|
66
|
+
")";
|
|
67
|
+
}
|
|
68
|
+
tokens.push({
|
|
69
|
+
token: columnLabel + ":",
|
|
70
|
+
type: FILTER_TOKENS_STRUCTURE_TYPE_1.FILTER_TOKENS_STRUCTURE_TYPE.COLUMN_NAME,
|
|
71
|
+
});
|
|
72
|
+
const property = (0, getFilterPropertyLabel_1.getFilterPropertyLabel)(filter, settings.translate);
|
|
73
|
+
tokens.push({
|
|
74
|
+
token: i18nService.translate(`filter.validators.${filter.validator.toLowerCase()}_label`) + (property ? ` (${property})` : ""),
|
|
75
|
+
type: FILTER_TOKENS_STRUCTURE_TYPE_1.FILTER_TOKENS_STRUCTURE_TYPE.VALIDATOR,
|
|
76
|
+
});
|
|
77
|
+
let uiValue = values
|
|
78
|
+
.map(getValue)
|
|
79
|
+
.filter((value) => !(0, isEmpty_1.isEmpty)(value))
|
|
80
|
+
.join(", ");
|
|
81
|
+
if (filter.selectAll) {
|
|
82
|
+
if ((0, isEmpty_1.isEmpty)(uiValue)) {
|
|
83
|
+
uiValue = i18nService.translate("filter_panel.card_all_selected");
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
uiValue = `${i18nService.translate("filter_panel.card_all_except")} ${uiValue}`;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
if ((0, isEmpty_1.isEmpty)(uiValue)) {
|
|
91
|
+
uiValue = i18nService.translate("filter_panel.card_none_selected");
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
tokens.push({
|
|
95
|
+
token: uiValue,
|
|
96
|
+
type: FILTER_TOKENS_STRUCTURE_TYPE_1.FILTER_TOKENS_STRUCTURE_TYPE.VALUE,
|
|
97
|
+
});
|
|
98
|
+
if (index === (database.filters.length - 1).toString(10)) {
|
|
99
|
+
continue;
|
|
100
|
+
}
|
|
101
|
+
tokens.push({
|
|
102
|
+
token: i18nService.translate(`filter.operators.${filter.operator.toLowerCase()}`),
|
|
103
|
+
type: FILTER_TOKENS_STRUCTURE_TYPE_1.FILTER_TOKENS_STRUCTURE_TYPE.LOGICAL_OPERATOR,
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
if (!thereIsFiltersWithValues && options.showDatabaseName) {
|
|
107
|
+
tokens.pop();
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
if (!thereIsFiltersWithValues && options.showScope) {
|
|
111
|
+
tokens.pop();
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
return tokens;
|
|
115
|
+
}
|
|
116
|
+
exports.getTokensFromFilters = getTokensFromFilters;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IFUData } from "../interfaces/ui/IFUData";
|
|
2
|
+
import { IFTokensFromFiltersSettings } from "../interfaces/IFTokensFromFiltersSettings";
|
|
3
|
+
/**
|
|
4
|
+
* It takes a set of filters and returns a string that describes the filters
|
|
5
|
+
* @param {IFUData} filters - The filters object that you want to convert to a string.
|
|
6
|
+
* @param {IFTokensFromFiltersSettings} options - IFTokensFromFiltersSettings
|
|
7
|
+
* @returns A string
|
|
8
|
+
*/
|
|
9
|
+
export declare function getVerboseFilter(filters: IFUData, options: IFTokensFromFiltersSettings): string;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getVerboseFilter = void 0;
|
|
4
|
+
const getTokensFromFilters_1 = require("./getTokensFromFilters");
|
|
5
|
+
const filtersTokensToString_1 = require("./filtersTokensToString");
|
|
6
|
+
/**
|
|
7
|
+
* It takes a set of filters and returns a string that describes the filters
|
|
8
|
+
* @param {IFUData} filters - The filters object that you want to convert to a string.
|
|
9
|
+
* @param {IFTokensFromFiltersSettings} options - IFTokensFromFiltersSettings
|
|
10
|
+
* @returns A string
|
|
11
|
+
*/
|
|
12
|
+
function getVerboseFilter(filters, options) {
|
|
13
|
+
const tokensFromFilters = (0, getTokensFromFilters_1.getTokensFromFilters)(filters, options);
|
|
14
|
+
return (0, filtersTokensToString_1.filtersTokensToString)(tokensFromFilters);
|
|
15
|
+
}
|
|
16
|
+
exports.getVerboseFilter = getVerboseFilter;
|
|
@@ -6,4 +6,7 @@ export * from "./applyHierarchyForAggFilters";
|
|
|
6
6
|
export * from "./getAvailableScopes";
|
|
7
7
|
export * from "./getAvailableScopesIDsByConfig";
|
|
8
8
|
export * from "./getScopesByHierarchy";
|
|
9
|
+
export * from "./getTokensFromFilters";
|
|
10
|
+
export * from "./filtersTokensToString";
|
|
11
|
+
export * from "./getVerboseFilter";
|
|
9
12
|
export * from "./OLD_getAggFilters";
|
|
@@ -22,4 +22,7 @@ __exportStar(require("./applyHierarchyForAggFilters"), exports);
|
|
|
22
22
|
__exportStar(require("./getAvailableScopes"), exports);
|
|
23
23
|
__exportStar(require("./getAvailableScopesIDsByConfig"), exports);
|
|
24
24
|
__exportStar(require("./getScopesByHierarchy"), exports);
|
|
25
|
+
__exportStar(require("./getTokensFromFilters"), exports);
|
|
26
|
+
__exportStar(require("./filtersTokensToString"), exports);
|
|
27
|
+
__exportStar(require("./getVerboseFilter"), exports);
|
|
25
28
|
__exportStar(require("./OLD_getAggFilters"), exports);
|
|
@@ -30,6 +30,8 @@ export * from "./IFStructureType";
|
|
|
30
30
|
export * from "./IFValidator";
|
|
31
31
|
export * from "./IFValidatorInfo";
|
|
32
32
|
export * from "./IFValue";
|
|
33
|
+
export * from "./IFTokensFromFiltersSettings";
|
|
34
|
+
export * from "./IFFilterTokens";
|
|
33
35
|
export * from "./OLD_IFilterData";
|
|
34
36
|
export * from "./OLD_IFilterDetail";
|
|
35
37
|
export * from "./OLD_IFilterExpression";
|
|
@@ -46,6 +46,8 @@ __exportStar(require("./IFStructureType"), exports);
|
|
|
46
46
|
__exportStar(require("./IFValidator"), exports);
|
|
47
47
|
__exportStar(require("./IFValidatorInfo"), exports);
|
|
48
48
|
__exportStar(require("./IFValue"), exports);
|
|
49
|
+
__exportStar(require("./IFTokensFromFiltersSettings"), exports);
|
|
50
|
+
__exportStar(require("./IFFilterTokens"), exports);
|
|
49
51
|
__exportStar(require("./OLD_IFilterData"), exports);
|
|
50
52
|
__exportStar(require("./OLD_IFilterDetail"), exports);
|
|
51
53
|
__exportStar(require("./OLD_IFilterExpression"), exports);
|
|
@@ -18,7 +18,8 @@ export declare const enum LOCALE_FORMATS {
|
|
|
18
18
|
CURRENCY = "Currency",
|
|
19
19
|
PERCENTAGE = "Percentage",
|
|
20
20
|
SCIENTIFIC = "Scientific",
|
|
21
|
-
ABBREVIATED = "Abbreviated"
|
|
21
|
+
ABBREVIATED = "Abbreviated",
|
|
22
|
+
DURATION = "Duration"
|
|
22
23
|
}
|
|
23
24
|
export declare const enum LOCALE_STYLES {
|
|
24
25
|
DECIMAL = "decimal",
|
|
@@ -14,6 +14,7 @@ const COLUMN_1 = require("../columns/constants/COLUMN");
|
|
|
14
14
|
const FORMULA_1 = require("../formulas/constants/FORMULA");
|
|
15
15
|
const localization_1 = require("./localization");
|
|
16
16
|
const isObject_1 = require("../general/object/isObject");
|
|
17
|
+
const DURATION_PARTS_LIST_1 = require("../column_format/constants/DURATION_PARTS_LIST");
|
|
17
18
|
dayjs_1.default.extend(advancedFormat_1.default); // Add support to advanced formats https://day.js.org/docs/en/plugin/advanced-format
|
|
18
19
|
/**
|
|
19
20
|
* Apply to the given date format to a date value
|
|
@@ -114,7 +115,9 @@ const addFormat = (value, outputFormat = "None", config) => {
|
|
|
114
115
|
: outputFormat === null || outputFormat === void 0 ? void 0 : outputFormat.format);
|
|
115
116
|
case "NUMERIC": {
|
|
116
117
|
const parse = parseFloat(value);
|
|
117
|
-
const withLocale = outputFormat !== "None" && (config === null || config === void 0 ? void 0 : config.lang)
|
|
118
|
+
const withLocale = (outputFormat !== "None" && (config === null || config === void 0 ? void 0 : config.lang)) ||
|
|
119
|
+
(outputFormat === null || outputFormat === void 0 ? void 0 : outputFormat.format) === "Duration" ||
|
|
120
|
+
DURATION_PARTS_LIST_1.DURATION_PARTS_LIST.includes[outputFormat === null || outputFormat === void 0 ? void 0 : outputFormat.format];
|
|
118
121
|
return isNaN(parse)
|
|
119
122
|
? value
|
|
120
123
|
: withLocale
|
|
@@ -4,6 +4,7 @@ exports.formatWithLocale = exports.chooseLang = exports.getLang = void 0;
|
|
|
4
4
|
const DATETIME_COLUMN_FORMAT_1 = require("../dates/constants/DATETIME_COLUMN_FORMAT");
|
|
5
5
|
const isEmpty_1 = require("../general/mix/isEmpty");
|
|
6
6
|
const definition_1 = require("./definition");
|
|
7
|
+
const durationFormatter_1 = require("./duration/durationFormatter");
|
|
7
8
|
const getLang = (locale) => {
|
|
8
9
|
if (!locale)
|
|
9
10
|
return;
|
|
@@ -61,10 +62,20 @@ function formatLocaleNumber(value, outputFormat, config) {
|
|
|
61
62
|
const langOpts = options || getLocaleOptions(outputFormat);
|
|
62
63
|
const valueToFormat = (outputFormat === null || outputFormat === void 0 ? void 0 : outputFormat.format) === "Percentage" /* LOCALE_FORMATS.PERCENTAGE */ ? value / 100 : value;
|
|
63
64
|
try {
|
|
64
|
-
const key =
|
|
65
|
+
const key = (outputFormat === null || outputFormat === void 0 ? void 0 : outputFormat.format) +
|
|
66
|
+
lang +
|
|
67
|
+
JSON.stringify(langOpts) +
|
|
68
|
+
((outputFormat === null || outputFormat === void 0 ? void 0 : outputFormat.template) ? outputFormat.template : "");
|
|
65
69
|
let formatter = NUMBER_FORMAT_CACHE[key];
|
|
66
70
|
if (!formatter) {
|
|
67
|
-
|
|
71
|
+
const intlNumberFormat = new Intl.NumberFormat([lang, definition_1.LANG_DEFAULT], langOpts);
|
|
72
|
+
formatter =
|
|
73
|
+
(outputFormat === null || outputFormat === void 0 ? void 0 : outputFormat.format) === "Duration" /* LOCALE_FORMATS.DURATION */
|
|
74
|
+
? new durationFormatter_1.DurationFormatter({
|
|
75
|
+
template: outputFormat === null || outputFormat === void 0 ? void 0 : outputFormat.template,
|
|
76
|
+
intlNumberFormat,
|
|
77
|
+
})
|
|
78
|
+
: intlNumberFormat;
|
|
68
79
|
NUMBER_FORMAT_CACHE[key] = formatter;
|
|
69
80
|
}
|
|
70
81
|
return formatter.format(valueToFormat);
|
|
@@ -113,6 +124,11 @@ function getLocaleOptions(outputFormat) {
|
|
|
113
124
|
maximumFractionDigits: decimals,
|
|
114
125
|
minimumFractionDigits: decimals,
|
|
115
126
|
};
|
|
127
|
+
case "Duration" /* LOCALE_FORMATS.DURATION */:
|
|
128
|
+
return {
|
|
129
|
+
maximumFractionDigits: 0,
|
|
130
|
+
minimumFractionDigits: 0,
|
|
131
|
+
};
|
|
116
132
|
default:
|
|
117
133
|
return {
|
|
118
134
|
style: "decimal" /* LOCALE_STYLES.DECIMAL */,
|
|
@@ -11,6 +11,7 @@ import { II18nBucketBuilder } from "./bucket_builder/II18nBucketBuilder";
|
|
|
11
11
|
import { II18nCrossTabs } from "./cross_tabs";
|
|
12
12
|
import { II18nChartBuilder } from ".";
|
|
13
13
|
import { II18nStyleThemes } from "./style_themes/II18nStyleThemes";
|
|
14
|
+
import { II18nTabularView } from './tabular_view/II18nTabularView';
|
|
14
15
|
export interface II18nResource {
|
|
15
16
|
bucket_builder?: II18nBucketBuilder;
|
|
16
17
|
chart_builder?: II18nChartBuilder;
|
|
@@ -25,4 +26,5 @@ export interface II18nResource {
|
|
|
25
26
|
panel?: II18nPanel;
|
|
26
27
|
style_themes?: II18nStyleThemes;
|
|
27
28
|
table_charts?: II18nTableCharts;
|
|
29
|
+
tabular_view?: II18nTabularView;
|
|
28
30
|
}
|
package/dist/cjs/globalization/interfaces/chart_builder/II18nChartBuilderTableStyleOptions.d.ts
CHANGED
|
@@ -8,7 +8,11 @@ export interface II18nChartBuilderTableStyleOptions {
|
|
|
8
8
|
typeface: string;
|
|
9
9
|
weight: string;
|
|
10
10
|
weight_bold: string;
|
|
11
|
+
weight_black: string;
|
|
12
|
+
weight_light: string;
|
|
13
|
+
weight_medium: string;
|
|
11
14
|
weight_normal: string;
|
|
15
|
+
weight_thin: string;
|
|
12
16
|
size: string;
|
|
13
17
|
font_color: string;
|
|
14
18
|
bg_color: string;
|
|
@@ -11,6 +11,7 @@ const formula_builder_1 = require("./formula_builder");
|
|
|
11
11
|
const I18N_FILTER_PANEL_1 = require("./filters/I18N_FILTER_PANEL");
|
|
12
12
|
const I18N_FILTER_DISPLAY_1 = require("./filters/I18N_FILTER_DISPLAY");
|
|
13
13
|
const I18N_BUCKET_BUILDER_1 = require("./bucket_builder/I18N_BUCKET_BUILDER");
|
|
14
|
+
const I18N_TABULAR_VIEW_1 = require("./tabular_view/I18N_TABULAR_VIEW");
|
|
14
15
|
const cross_tabs_1 = require("./cross_tabs");
|
|
15
16
|
const chart_builder_1 = require("./chart_builder");
|
|
16
17
|
const style_themes_1 = require("./style_themes");
|
|
@@ -28,4 +29,5 @@ exports.I18N_DEFAULT = {
|
|
|
28
29
|
panel: I18N_PANEL_1.I18N_PANEL,
|
|
29
30
|
style_themes: style_themes_1.I18N_STYLE_THEMES,
|
|
30
31
|
table_charts: table_charts_1.I18N_TABLE_CHARTS,
|
|
32
|
+
tabular_view: I18N_TABULAR_VIEW_1.I18N_TABULAR_VIEW
|
|
31
33
|
};
|
|
@@ -203,7 +203,11 @@ exports.I18N_CHART_BUILDER_STYLE_OPTIONS = {
|
|
|
203
203
|
typeface: "Typeface",
|
|
204
204
|
weight: "Weight",
|
|
205
205
|
weight_bold: "Bold",
|
|
206
|
-
|
|
206
|
+
weight_black: "Black",
|
|
207
|
+
weight_light: "Light",
|
|
208
|
+
weight_medium: "Medium",
|
|
209
|
+
weight_normal: "Normal",
|
|
210
|
+
weight_thin: "Thin",
|
|
207
211
|
size: "Size",
|
|
208
212
|
font_color: "Font Color",
|
|
209
213
|
bg_color: "BG Color",
|
|
@@ -23,6 +23,7 @@ exports.I18N_COMMON = {
|
|
|
23
23
|
no_data_found: "No Data Found",
|
|
24
24
|
properties: I18N_COLUMN_PROPERTY_LABEL_1.I18N_COLUMN_PROPERTY_LABEL,
|
|
25
25
|
search: "Search",
|
|
26
|
+
sort: "Sort",
|
|
26
27
|
units: {
|
|
27
28
|
day: RELATIVE_UNIT_INFO_1.RELATIVE_UNIT_INFO.DAY.label,
|
|
28
29
|
month: RELATIVE_UNIT_INFO_1.RELATIVE_UNIT_INFO.MONTH.label,
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import { i18n } from "i18next";
|
|
1
2
|
import { II18nResource } from "../interfaces/II18nResource";
|
|
2
3
|
import { II18nServiceTranslateOption } from "../interfaces/II18nServiceTranslateOption";
|
|
3
4
|
export declare class I18nServiceBuilder {
|
|
4
5
|
static buildI18n(i18nDefault: II18nResource, i18nResource: II18nResource): Promise<I18nService>;
|
|
5
6
|
private static _initI18n;
|
|
7
|
+
static getI18nInstance(i18nDefault: II18nResource, i18nResource: II18nResource, _i18next?: i18n): Promise<i18n>;
|
|
6
8
|
static setTranslations(i18nDefault: any, i18nResource: II18nResource): II18nResource;
|
|
7
9
|
}
|
|
8
10
|
/**
|
|
@@ -17,3 +19,8 @@ export declare abstract class I18nService {
|
|
|
17
19
|
*/
|
|
18
20
|
abstract translate(key: string, options?: II18nServiceTranslateOption): string;
|
|
19
21
|
}
|
|
22
|
+
export declare class I18nServiceConcrete extends I18nService {
|
|
23
|
+
_i18next: any;
|
|
24
|
+
constructor(i18nInstance: any);
|
|
25
|
+
translate(key: string, options?: II18nServiceTranslateOption): any;
|
|
26
|
+
}
|
|
@@ -12,7 +12,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
12
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.I18nService = exports.I18nServiceBuilder = void 0;
|
|
15
|
+
exports.I18nServiceConcrete = exports.I18nService = exports.I18nServiceBuilder = void 0;
|
|
16
16
|
const i18next_1 = __importDefault(require("i18next"));
|
|
17
17
|
const mergeDeep_1 = require("../../general/object/mergeDeep");
|
|
18
18
|
class I18nServiceBuilder {
|
|
@@ -22,23 +22,33 @@ class I18nServiceBuilder {
|
|
|
22
22
|
static _initI18n(i18nDefault, i18nResource) {
|
|
23
23
|
return __awaiter(this, void 0, void 0, function* () {
|
|
24
24
|
if (!i18next_1.default.isInitialized) {
|
|
25
|
-
yield i18next_1.default
|
|
26
|
-
lng: "en",
|
|
27
|
-
debug: false,
|
|
28
|
-
nsSeparator: false,
|
|
29
|
-
keySeparator: ".",
|
|
30
|
-
fallbackLng: false,
|
|
31
|
-
defaultNS: "translation",
|
|
32
|
-
resources: {
|
|
33
|
-
en: {
|
|
34
|
-
translation: this.setTranslations(i18nDefault, i18nResource),
|
|
35
|
-
},
|
|
36
|
-
},
|
|
37
|
-
});
|
|
25
|
+
yield this.getI18nInstance(i18nDefault, i18nResource, i18next_1.default);
|
|
38
26
|
}
|
|
39
27
|
return new I18nServiceConcrete(i18next_1.default);
|
|
40
28
|
});
|
|
41
29
|
}
|
|
30
|
+
static getI18nInstance(i18nDefault, i18nResource, _i18next) {
|
|
31
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
32
|
+
let __i18next = _i18next;
|
|
33
|
+
if (!__i18next) {
|
|
34
|
+
__i18next = i18next_1.default.createInstance();
|
|
35
|
+
}
|
|
36
|
+
yield __i18next.init({
|
|
37
|
+
lng: "en",
|
|
38
|
+
debug: false,
|
|
39
|
+
nsSeparator: false,
|
|
40
|
+
keySeparator: ".",
|
|
41
|
+
fallbackLng: false,
|
|
42
|
+
defaultNS: "translation",
|
|
43
|
+
resources: {
|
|
44
|
+
en: {
|
|
45
|
+
translation: this.setTranslations(i18nDefault, i18nResource),
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
});
|
|
49
|
+
return __i18next;
|
|
50
|
+
});
|
|
51
|
+
}
|
|
42
52
|
static setTranslations(i18nDefault, i18nResource) {
|
|
43
53
|
return (0, mergeDeep_1.mergeDeep)(i18nResource, i18nDefault, { mergeExistingValues: false });
|
|
44
54
|
}
|
|
@@ -59,3 +69,4 @@ class I18nServiceConcrete extends I18nService {
|
|
|
59
69
|
return this._i18next.t(`${key}`, options);
|
|
60
70
|
}
|
|
61
71
|
}
|
|
72
|
+
exports.I18nServiceConcrete = I18nServiceConcrete;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const DURATION_PARTS_LIST: string[];
|