@qrvey/utils 1.10.1 → 1.11.0-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/dates/adapters/ISOToNumericOffset.d.ts +1 -1
- package/dist/cjs/dates/adapters/ISOToNumericOffset.js +1 -1
- package/dist/cjs/dates/adapters/dateToHms.d.ts +5 -4
- package/dist/cjs/dates/adapters/dateToHms.js +14 -14
- package/dist/cjs/dates/adapters/dateToMdyDate.d.ts +5 -3
- package/dist/cjs/dates/adapters/dateToMdyDate.js +3 -2
- package/dist/cjs/dates/adapters/dateToMonthYear.d.ts +5 -3
- package/dist/cjs/dates/adapters/dateToMonthYear.js +3 -2
- package/dist/cjs/dates/adapters/dateToQuarterYear.d.ts +5 -3
- package/dist/cjs/dates/adapters/dateToQuarterYear.js +3 -2
- package/dist/cjs/dates/adapters/dateToWeekYear.d.ts +5 -3
- package/dist/cjs/dates/adapters/dateToWeekYear.js +3 -2
- package/dist/cjs/dates/adapters/dateToYear.d.ts +5 -3
- package/dist/cjs/dates/adapters/dateToYear.js +3 -2
- package/dist/cjs/dates/adapters/hmsToDate.d.ts +5 -4
- package/dist/cjs/dates/adapters/hmsToDate.js +3 -3
- package/dist/cjs/dates/adapters/mdyDateToDate.d.ts +5 -4
- package/dist/cjs/dates/adapters/mdyDateToDate.js +3 -3
- package/dist/cjs/dates/adapters/monthYearToDate.d.ts +5 -4
- package/dist/cjs/dates/adapters/monthYearToDate.js +3 -3
- package/dist/cjs/dates/adapters/numericOffsetToISO.d.ts +1 -1
- package/dist/cjs/dates/adapters/numericOffsetToISO.js +1 -3
- package/dist/cjs/dates/adapters/quarterYearToDate.d.ts +5 -4
- package/dist/cjs/dates/adapters/quarterYearToDate.js +3 -3
- package/dist/cjs/dates/adapters/weekYearToDate.d.ts +5 -4
- package/dist/cjs/dates/adapters/weekYearToDate.js +3 -3
- package/dist/cjs/dates/adapters/yearToDate.d.ts +5 -4
- package/dist/cjs/dates/adapters/yearToDate.js +3 -3
- package/dist/cjs/dates/constants/ISO_8601_REGEX.d.ts +11 -0
- package/dist/cjs/dates/constants/ISO_8601_REGEX.js +12 -1
- package/dist/cjs/dates/helpers/areIncludedDateTokens.d.ts +3 -3
- package/dist/cjs/dates/helpers/areIncludedDateTokens.js +3 -3
- package/dist/cjs/dates/helpers/getDateByDateFormat.d.ts +6 -5
- package/dist/cjs/dates/helpers/getDateByDateFormat.js +4 -4
- package/dist/cjs/dates/helpers/getDateByTimezone.d.ts +4 -3
- package/dist/cjs/dates/helpers/getDateByTimezone.js +2 -2
- package/dist/cjs/dates/helpers/getDateByTimezoneOffset.d.ts +6 -3
- package/dist/cjs/dates/helpers/getDateByTimezoneOffset.js +3 -2
- package/dist/cjs/dates/helpers/getDateFormatByProperty.d.ts +2 -2
- package/dist/cjs/dates/helpers/getDateFormatByProperty.js +2 -2
- package/dist/cjs/dates/helpers/getDateFormatRegularExpressionInArray.d.ts +1 -1
- package/dist/cjs/dates/helpers/getDateFormatRegularExpressionInArray.js +1 -1
- package/dist/cjs/dates/helpers/getDefaultDateSettings.d.ts +2 -2
- package/dist/cjs/dates/helpers/getDefaultDateSettings.js +2 -2
- package/dist/cjs/dates/helpers/getFormattedDateByFormat.d.ts +6 -4
- package/dist/cjs/dates/helpers/getFormattedDateByFormat.js +4 -3
- package/dist/cjs/dates/helpers/getSeparatorByDateFormat.d.ts +1 -1
- package/dist/cjs/dates/helpers/getSeparatorByDateFormat.js +1 -1
- package/dist/cjs/dates/helpers/getTimezoneObject.d.ts +1 -1
- package/dist/cjs/dates/helpers/getTimezoneObject.js +8 -5
- package/dist/cjs/dates/helpers/getTimezoneOffsetByType.js +1 -1
- package/dist/cjs/dates/helpers/getUTCFormatByOffset.d.ts +1 -0
- package/dist/cjs/dates/helpers/getUTCFormatByOffset.js +1 -0
- package/dist/cjs/dates/helpers/getWeek.d.ts +1 -1
- package/dist/cjs/dates/helpers/getWeek.js +1 -1
- package/dist/cjs/dates/helpers/index.d.ts +2 -0
- package/dist/cjs/dates/helpers/index.js +2 -0
- package/dist/cjs/dates/helpers/isValidDateObject.d.ts +1 -1
- package/dist/cjs/dates/helpers/isValidDateObject.js +1 -1
- package/dist/cjs/dates/helpers/isValidISOOffset.d.ts +3 -2
- package/dist/cjs/dates/helpers/isValidISOOffset.js +3 -2
- package/dist/cjs/dates/helpers/isValidPotentialDate.d.ts +3 -2
- package/dist/cjs/dates/helpers/isValidPotentialDate.js +16 -1
- package/dist/cjs/dates/helpers/isValidTimezoneOffset.d.ts +7 -0
- package/dist/cjs/dates/helpers/isValidTimezoneOffset.js +31 -0
- package/dist/cjs/dates/helpers/validateDate.d.ts +3 -3
- package/dist/cjs/dates/helpers/validateDate.js +3 -3
- package/dist/cjs/dates/interfaces/IDate.d.ts +1 -0
- package/dist/cjs/dates/interfaces/IDate.js +2 -0
- package/dist/cjs/filters/helpers/common/getVerboseFilterDatasets.d.ts +9 -0
- package/dist/cjs/filters/helpers/common/getVerboseFilterDatasets.js +94 -0
- package/dist/cjs/filters/helpers/common/getVerboseFilterFilters.d.ts +9 -0
- package/dist/cjs/filters/helpers/common/getVerboseFilterFilters.js +97 -0
- package/dist/cjs/filters/helpers/common/getVerboseFilterScopes.d.ts +9 -0
- package/dist/cjs/filters/helpers/common/getVerboseFilterScopes.js +100 -0
- package/dist/cjs/filters/helpers/common/getVerboseFilterValues.d.ts +9 -0
- package/dist/cjs/filters/helpers/common/getVerboseFilterValues.js +100 -0
- package/dist/cjs/filters/helpers/common/getVerboseFilters.d.ts +10 -0
- package/dist/cjs/filters/helpers/common/getVerboseFilters.js +91 -0
- package/dist/cjs/filters/helpers/common/index.d.ts +5 -0
- package/dist/cjs/filters/helpers/common/index.js +5 -0
- package/dist/cjs/filters/helpers/settings/getFilterSettings.js +1 -6
- package/dist/cjs/filters/helpers/ui/getUIValues.js +3 -1
- package/dist/cjs/filters/interfaces/functions/IFFGetVerboseFilters.d.ts +34 -0
- package/dist/cjs/filters/interfaces/functions/IFFGetVerboseFilters.js +2 -0
- package/dist/cjs/globalization/labels/bucket_builder/I18N_BUCKET_BUILDER.js +1 -1
- package/dist/cjs/globalization/labels/index.d.ts +0 -1
- package/dist/cjs/globalization/labels/index.js +0 -1
- package/dist/dates/adapters/ISOToNumericOffset.d.ts +1 -1
- package/dist/dates/adapters/ISOToNumericOffset.js +1 -1
- package/dist/dates/adapters/dateToHms.d.ts +5 -4
- package/dist/dates/adapters/dateToHms.js +14 -14
- package/dist/dates/adapters/dateToMdyDate.d.ts +5 -3
- package/dist/dates/adapters/dateToMdyDate.js +3 -2
- package/dist/dates/adapters/dateToMonthYear.d.ts +5 -3
- package/dist/dates/adapters/dateToMonthYear.js +3 -2
- package/dist/dates/adapters/dateToQuarterYear.d.ts +5 -3
- package/dist/dates/adapters/dateToQuarterYear.js +3 -2
- package/dist/dates/adapters/dateToWeekYear.d.ts +5 -3
- package/dist/dates/adapters/dateToWeekYear.js +3 -2
- package/dist/dates/adapters/dateToYear.d.ts +5 -3
- package/dist/dates/adapters/dateToYear.js +3 -2
- package/dist/dates/adapters/hmsToDate.d.ts +5 -4
- package/dist/dates/adapters/hmsToDate.js +3 -3
- package/dist/dates/adapters/mdyDateToDate.d.ts +5 -4
- package/dist/dates/adapters/mdyDateToDate.js +3 -3
- package/dist/dates/adapters/monthYearToDate.d.ts +5 -4
- package/dist/dates/adapters/monthYearToDate.js +3 -3
- package/dist/dates/adapters/numericOffsetToISO.d.ts +1 -1
- package/dist/dates/adapters/numericOffsetToISO.js +1 -3
- package/dist/dates/adapters/quarterYearToDate.d.ts +5 -4
- package/dist/dates/adapters/quarterYearToDate.js +3 -3
- package/dist/dates/adapters/weekYearToDate.d.ts +5 -4
- package/dist/dates/adapters/weekYearToDate.js +3 -3
- package/dist/dates/adapters/yearToDate.d.ts +5 -4
- package/dist/dates/adapters/yearToDate.js +3 -3
- package/dist/dates/constants/ISO_8601_REGEX.d.ts +11 -0
- package/dist/dates/constants/ISO_8601_REGEX.js +12 -1
- package/dist/dates/helpers/areIncludedDateTokens.d.ts +3 -3
- package/dist/dates/helpers/areIncludedDateTokens.js +3 -3
- package/dist/dates/helpers/getDateByDateFormat.d.ts +6 -5
- package/dist/dates/helpers/getDateByDateFormat.js +4 -4
- package/dist/dates/helpers/getDateByTimezone.d.ts +4 -3
- package/dist/dates/helpers/getDateByTimezone.js +2 -2
- package/dist/dates/helpers/getDateByTimezoneOffset.d.ts +6 -3
- package/dist/dates/helpers/getDateByTimezoneOffset.js +3 -2
- package/dist/dates/helpers/getDateFormatByProperty.d.ts +2 -2
- package/dist/dates/helpers/getDateFormatByProperty.js +2 -2
- package/dist/dates/helpers/getDateFormatRegularExpressionInArray.d.ts +1 -1
- package/dist/dates/helpers/getDateFormatRegularExpressionInArray.js +1 -1
- package/dist/dates/helpers/getDefaultDateSettings.d.ts +2 -2
- package/dist/dates/helpers/getDefaultDateSettings.js +2 -2
- package/dist/dates/helpers/getFormattedDateByFormat.d.ts +6 -4
- package/dist/dates/helpers/getFormattedDateByFormat.js +4 -3
- package/dist/dates/helpers/getSeparatorByDateFormat.d.ts +1 -1
- package/dist/dates/helpers/getSeparatorByDateFormat.js +1 -1
- package/dist/dates/helpers/getTimezoneObject.d.ts +1 -1
- package/dist/dates/helpers/getTimezoneObject.js +8 -5
- package/dist/dates/helpers/getTimezoneOffsetByType.js +1 -1
- package/dist/dates/helpers/getUTCFormatByOffset.d.ts +1 -0
- package/dist/dates/helpers/getUTCFormatByOffset.js +1 -0
- package/dist/dates/helpers/getWeek.d.ts +1 -1
- package/dist/dates/helpers/getWeek.js +1 -1
- package/dist/dates/helpers/index.d.ts +2 -0
- package/dist/dates/helpers/index.js +2 -0
- package/dist/dates/helpers/isValidDateObject.d.ts +1 -1
- package/dist/dates/helpers/isValidDateObject.js +1 -1
- package/dist/dates/helpers/isValidISOOffset.d.ts +3 -2
- package/dist/dates/helpers/isValidISOOffset.js +3 -2
- package/dist/dates/helpers/isValidPotentialDate.d.ts +3 -2
- package/dist/dates/helpers/isValidPotentialDate.js +16 -1
- package/dist/dates/helpers/isValidTimezoneOffset.d.ts +7 -0
- package/dist/dates/helpers/isValidTimezoneOffset.js +27 -0
- package/dist/dates/helpers/validateDate.d.ts +3 -3
- package/dist/dates/helpers/validateDate.js +3 -3
- package/dist/dates/interfaces/IDate.d.ts +1 -0
- package/dist/dates/interfaces/IDate.js +1 -0
- package/dist/filters/helpers/common/getVerboseFilterDatasets.d.ts +9 -0
- package/dist/filters/helpers/common/getVerboseFilterDatasets.js +90 -0
- package/dist/filters/helpers/common/getVerboseFilterFilters.d.ts +9 -0
- package/dist/filters/helpers/common/getVerboseFilterFilters.js +93 -0
- package/dist/filters/helpers/common/getVerboseFilterScopes.d.ts +9 -0
- package/dist/filters/helpers/common/getVerboseFilterScopes.js +96 -0
- package/dist/filters/helpers/common/getVerboseFilterValues.d.ts +9 -0
- package/dist/filters/helpers/common/getVerboseFilterValues.js +96 -0
- package/dist/filters/helpers/common/getVerboseFilters.d.ts +10 -0
- package/dist/filters/helpers/common/getVerboseFilters.js +86 -0
- package/dist/filters/helpers/common/index.d.ts +5 -0
- package/dist/filters/helpers/common/index.js +5 -0
- package/dist/filters/helpers/settings/getFilterSettings.js +1 -6
- package/dist/filters/helpers/ui/getUIValues.js +3 -1
- package/dist/filters/interfaces/functions/IFFGetVerboseFilters.d.ts +34 -0
- package/dist/filters/interfaces/functions/IFFGetVerboseFilters.js +1 -0
- package/dist/globalization/labels/bucket_builder/I18N_BUCKET_BUILDER.js +1 -1
- package/dist/globalization/labels/index.d.ts +0 -1
- package/dist/globalization/labels/index.js +0 -1
- package/package.json +1 -1
- package/dist/cjs/globalization/labels/columns/I18N_COLUMN.d.ts +0 -2
- package/dist/cjs/globalization/labels/columns/I18N_COLUMN.js +0 -8
- package/dist/cjs/globalization/labels/columns/index.d.ts +0 -1
- package/dist/cjs/globalization/labels/columns/index.js +0 -17
- package/dist/globalization/labels/columns/I18N_COLUMN.d.ts +0 -2
- package/dist/globalization/labels/columns/I18N_COLUMN.js +0 -5
- package/dist/globalization/labels/columns/index.d.ts +0 -1
- package/dist/globalization/labels/columns/index.js +0 -1
|
@@ -3,6 +3,6 @@ import { IDateFormat } from "../interfaces/IDateFormat";
|
|
|
3
3
|
* Gets an array of regular expressions by the given date format.
|
|
4
4
|
* Day format is the default date format
|
|
5
5
|
* @param {IDateFormat} dateFormat an string of the format
|
|
6
|
-
* @returns an array of regular expressions
|
|
6
|
+
* @returns {string[]} an array of regular expressions
|
|
7
7
|
*/
|
|
8
8
|
export declare function getDateFormatRegularExpressionInArray(dateFormat?: IDateFormat): string[];
|
|
@@ -8,7 +8,7 @@ const DATE_REGULAR_EXPRESSION_ARRAY_BY_FORMAT_1 = require("../constants/DATE_REG
|
|
|
8
8
|
* Gets an array of regular expressions by the given date format.
|
|
9
9
|
* Day format is the default date format
|
|
10
10
|
* @param {IDateFormat} dateFormat an string of the format
|
|
11
|
-
* @returns an array of regular expressions
|
|
11
|
+
* @returns {string[]} an array of regular expressions
|
|
12
12
|
*/
|
|
13
13
|
function getDateFormatRegularExpressionInArray(dateFormat = DATE_FORMAT_1.DATE_FORMAT.DAY) {
|
|
14
14
|
const defaultRegularExpression = DATE_REGULAR_EXPRESSION_ARRAY_BY_FORMAT_1.DATE_REGULAR_EXPRESSION_ARRAY_BY_FORMAT[DATE_FORMAT_1.DATE_FORMAT.DAY];
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { IDateSettings } from "../interfaces/IDateSettings";
|
|
2
2
|
/**
|
|
3
3
|
* Gets the default properties for Date Settings object
|
|
4
|
-
* @param settings the
|
|
5
|
-
* @returns a new object with the date settings.
|
|
4
|
+
* @param {IDateSettings} settings the configuration of dates
|
|
5
|
+
* @returns {IDateSettings} a new object with the date settings.
|
|
6
6
|
*/
|
|
7
7
|
export declare function getDefaultDateSettings(settings: IDateSettings): IDateSettings;
|
|
@@ -4,8 +4,8 @@ exports.getDefaultDateSettings = void 0;
|
|
|
4
4
|
const getTimezoneObject_1 = require("./getTimezoneObject");
|
|
5
5
|
/**
|
|
6
6
|
* Gets the default properties for Date Settings object
|
|
7
|
-
* @param settings the
|
|
8
|
-
* @returns a new object with the date settings.
|
|
7
|
+
* @param {IDateSettings} settings the configuration of dates
|
|
8
|
+
* @returns {IDateSettings} a new object with the date settings.
|
|
9
9
|
*/
|
|
10
10
|
function getDefaultDateSettings(settings) {
|
|
11
11
|
var _a;
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
+
import { IDate } from "../interfaces/IDate";
|
|
1
2
|
import { IDateFormat } from "../interfaces/IDateFormat";
|
|
2
3
|
import { IDateSettings } from "../interfaces/IDateSettings";
|
|
3
4
|
/**
|
|
4
5
|
* A Date object, string or millisecond number are gotten in order to convert it in an formatted string date
|
|
5
6
|
* - Some strings are valid
|
|
6
|
-
* @param date String with a formatted date
|
|
7
|
-
* @param format The date format
|
|
8
|
-
* @
|
|
7
|
+
* @param {IDate} date String with a formatted date
|
|
8
|
+
* @param {IDateFormat} format The date format
|
|
9
|
+
* @param {IDateSettings} settings the configuration of dates
|
|
10
|
+
* @returns {IDate} a formmatted date or the same value if format does not match
|
|
9
11
|
*/
|
|
10
|
-
export declare function getFormattedDateByFormat(date:
|
|
12
|
+
export declare function getFormattedDateByFormat(date: IDate, format: IDateFormat, settings?: IDateSettings): IDate;
|
|
@@ -10,9 +10,10 @@ const DATE_FORMAT_1 = require("../constants/DATE_FORMAT");
|
|
|
10
10
|
/**
|
|
11
11
|
* A Date object, string or millisecond number are gotten in order to convert it in an formatted string date
|
|
12
12
|
* - Some strings are valid
|
|
13
|
-
* @param date String with a formatted date
|
|
14
|
-
* @param format The date format
|
|
15
|
-
* @
|
|
13
|
+
* @param {IDate} date String with a formatted date
|
|
14
|
+
* @param {IDateFormat} format The date format
|
|
15
|
+
* @param {IDateSettings} settings the configuration of dates
|
|
16
|
+
* @returns {IDate} a formmatted date or the same value if format does not match
|
|
16
17
|
*/
|
|
17
18
|
function getFormattedDateByFormat(date, format, settings) {
|
|
18
19
|
switch (format) {
|
|
@@ -2,6 +2,6 @@ import { IDateFormat } from "../interfaces/IDateFormat";
|
|
|
2
2
|
/**
|
|
3
3
|
* Gets the separator of the date format
|
|
4
4
|
* @param {IDateFormat} format the date format
|
|
5
|
-
* @returns a separator string
|
|
5
|
+
* @returns {string} a separator string
|
|
6
6
|
*/
|
|
7
7
|
export declare function getSeparatorByDateFormat(format?: IDateFormat): string;
|
|
@@ -5,7 +5,7 @@ const DATE_FORMAT_1 = require("../constants/DATE_FORMAT");
|
|
|
5
5
|
/**
|
|
6
6
|
* Gets the separator of the date format
|
|
7
7
|
* @param {IDateFormat} format the date format
|
|
8
|
-
* @returns a separator string
|
|
8
|
+
* @returns {string} a separator string
|
|
9
9
|
*/
|
|
10
10
|
function getSeparatorByDateFormat(format = DATE_FORMAT_1.DATE_FORMAT.DAY) {
|
|
11
11
|
return format === DATE_FORMAT_1.DATE_FORMAT.DAY ? "/" : " ";
|
|
@@ -6,6 +6,6 @@ import { IDTimezone } from "../interfaces/IDTimezone";
|
|
|
6
6
|
* - In any case, the offset is prioritized to override other properties.
|
|
7
7
|
* @param {IDTimezone} timezone the timezone object
|
|
8
8
|
* @param {IModel | IDataset} model the info of the dataset (model)
|
|
9
|
-
* @returns a new timezone object
|
|
9
|
+
* @returns {IDTimezone} a new timezone object
|
|
10
10
|
*/
|
|
11
11
|
export declare function getTimezoneObject(timezone: IDTimezone, model?: IModel | IDataset): IDTimezone;
|
|
@@ -7,12 +7,13 @@ const TIMEZONE_TYPE_1 = require("../constants/TIMEZONE_TYPE");
|
|
|
7
7
|
const getTimezoneOffsetByType_1 = require("./getTimezoneOffsetByType");
|
|
8
8
|
const getUTCFormatByOffset_1 = require("./getUTCFormatByOffset");
|
|
9
9
|
const isValidISOOffset_1 = require("./isValidISOOffset");
|
|
10
|
+
const isValidTimezoneOffset_1 = require("./isValidTimezoneOffset");
|
|
10
11
|
/**
|
|
11
12
|
* Gets the timezone object by the given argument or the model object
|
|
12
13
|
* - In any case, the offset is prioritized to override other properties.
|
|
13
14
|
* @param {IDTimezone} timezone the timezone object
|
|
14
15
|
* @param {IModel | IDataset} model the info of the dataset (model)
|
|
15
|
-
* @returns a new timezone object
|
|
16
|
+
* @returns {IDTimezone} a new timezone object
|
|
16
17
|
*/
|
|
17
18
|
function getTimezoneObject(timezone, model) {
|
|
18
19
|
const offset = getOffset(timezone, model);
|
|
@@ -38,10 +39,11 @@ exports.getTimezoneObject = getTimezoneObject;
|
|
|
38
39
|
function getOffset(timezone, model) {
|
|
39
40
|
var _a;
|
|
40
41
|
let offset;
|
|
41
|
-
if (!(0, isEmpty_1.isEmpty)(timezone === null || timezone === void 0 ? void 0 : timezone.offset)) {
|
|
42
|
+
if (!(0, isEmpty_1.isEmpty)(timezone === null || timezone === void 0 ? void 0 : timezone.offset) && (0, isValidTimezoneOffset_1.isValidTimezoneOffset)(timezone.offset)) {
|
|
42
43
|
offset = timezone.offset;
|
|
43
44
|
}
|
|
44
|
-
else if (!(0, isEmpty_1.isEmpty)((_a = model === null || model === void 0 ? void 0 : model.timezone) === null || _a === void 0 ? void 0 : _a.offset)
|
|
45
|
+
else if (!(0, isEmpty_1.isEmpty)((_a = model === null || model === void 0 ? void 0 : model.timezone) === null || _a === void 0 ? void 0 : _a.offset) &&
|
|
46
|
+
(0, isValidTimezoneOffset_1.isValidTimezoneOffset)(model.timezone.offset)) {
|
|
45
47
|
offset = model.timezone.offset;
|
|
46
48
|
}
|
|
47
49
|
else {
|
|
@@ -66,8 +68,9 @@ function getType(timezone, model, offset) {
|
|
|
66
68
|
if (!(0, isEmpty_1.isEmpty)(timezone === null || timezone === void 0 ? void 0 : timezone.type)) {
|
|
67
69
|
type = timezone.type;
|
|
68
70
|
}
|
|
69
|
-
else if (!(0, isEmpty_1.isEmpty)(timezone === null || timezone === void 0 ? void 0 : timezone.offset)
|
|
70
|
-
|
|
71
|
+
else if (!(0, isEmpty_1.isEmpty)(timezone === null || timezone === void 0 ? void 0 : timezone.offset) &&
|
|
72
|
+
(0, isValidTimezoneOffset_1.isValidTimezoneOffset)(timezone.offset)) {
|
|
73
|
+
type = getTypeByOffset(timezone.offset);
|
|
71
74
|
}
|
|
72
75
|
else if (!(0, isEmpty_1.isEmpty)((_a = model === null || model === void 0 ? void 0 : model.timezone) === null || _a === void 0 ? void 0 : _a.type)) {
|
|
73
76
|
type = model.timezone.type;
|
|
@@ -22,6 +22,6 @@ function getTimezoneOffsetByType(timezone) {
|
|
|
22
22
|
else if (timezone.type === TIMEZONE_TYPE_1.TIMEZONE_TYPE.DEFAULT) {
|
|
23
23
|
return "+00:00";
|
|
24
24
|
}
|
|
25
|
-
return timezone.offset || timezone.numericOffset || "+00:00";
|
|
25
|
+
return (0, numericOffsetToISO_1.numericOffsetToISO)(timezone.offset || timezone.numericOffset || "+00:00");
|
|
26
26
|
}
|
|
27
27
|
exports.getTimezoneOffsetByType = getTimezoneOffsetByType;
|
|
@@ -2,6 +2,7 @@ import { IDTimezone } from "../interfaces/IDTimezone";
|
|
|
2
2
|
/**
|
|
3
3
|
* Gets the UTC format dependeing on the given offset
|
|
4
4
|
* @param {IDTimezone} timezone the timezone object
|
|
5
|
+
* @param {boolean} minified Flag to reduce the Zeros
|
|
5
6
|
* @returns {string} an string with the UTC format
|
|
6
7
|
*/
|
|
7
8
|
export declare function getUTCFormatByOffset(timezone: IDTimezone, minified?: boolean): string;
|
|
@@ -6,6 +6,7 @@ const numericOffsetToISO_1 = require("../adapters/numericOffsetToISO");
|
|
|
6
6
|
/**
|
|
7
7
|
* Gets the UTC format dependeing on the given offset
|
|
8
8
|
* @param {IDTimezone} timezone the timezone object
|
|
9
|
+
* @param {boolean} minified Flag to reduce the Zeros
|
|
9
10
|
* @returns {string} an string with the UTC format
|
|
10
11
|
*/
|
|
11
12
|
function getUTCFormatByOffset(timezone, minified = false) {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Gets the week number of the year
|
|
3
3
|
* Additionally, the month and the year
|
|
4
4
|
* @param {Date} date the date object
|
|
5
|
-
* @returns an object with the week, month and year or undefined if the date is not valid.
|
|
5
|
+
* @returns {IDateWeek} an object with the week, month and year or undefined if the date is not valid.
|
|
6
6
|
*/
|
|
7
7
|
export declare function getWeek(date: Date): IDateWeek;
|
|
8
8
|
interface IDateWeek {
|
|
@@ -6,7 +6,7 @@ const isValidDateObject_1 = require("./isValidDateObject");
|
|
|
6
6
|
* Gets the week number of the year
|
|
7
7
|
* Additionally, the month and the year
|
|
8
8
|
* @param {Date} date the date object
|
|
9
|
-
* @returns an object with the week, month and year or undefined if the date is not valid.
|
|
9
|
+
* @returns {IDateWeek} an object with the week, month and year or undefined if the date is not valid.
|
|
10
10
|
*/
|
|
11
11
|
function getWeek(date) {
|
|
12
12
|
if (!(0, isValidDateObject_1.isValidDateObject)(date))
|
|
@@ -14,5 +14,7 @@ export * from "./getTimezoneOffsetByType";
|
|
|
14
14
|
export * from "./getUTCFormatByOffset";
|
|
15
15
|
export * from "./getWeek";
|
|
16
16
|
export * from "./isValidDateObject";
|
|
17
|
+
export * from "./isValidISOOffset";
|
|
17
18
|
export * from "./isValidPotentialDate";
|
|
19
|
+
export * from "./isValidTimezoneOffset";
|
|
18
20
|
export * from "./validateDate";
|
|
@@ -30,5 +30,7 @@ __exportStar(require("./getTimezoneOffsetByType"), exports);
|
|
|
30
30
|
__exportStar(require("./getUTCFormatByOffset"), exports);
|
|
31
31
|
__exportStar(require("./getWeek"), exports);
|
|
32
32
|
__exportStar(require("./isValidDateObject"), exports);
|
|
33
|
+
__exportStar(require("./isValidISOOffset"), exports);
|
|
33
34
|
__exportStar(require("./isValidPotentialDate"), exports);
|
|
35
|
+
__exportStar(require("./isValidTimezoneOffset"), exports);
|
|
34
36
|
__exportStar(require("./validateDate"), exports);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* If the date is a valid Date object, return true, otherwise return false.
|
|
3
3
|
* @param {Date} date - The date object to check.
|
|
4
|
-
* @returns
|
|
4
|
+
* @returns {boolean} True: The Date object is valid
|
|
5
5
|
*/
|
|
6
6
|
export declare function isValidDateObject(date: Date): boolean;
|
|
@@ -4,7 +4,7 @@ exports.isValidDateObject = void 0;
|
|
|
4
4
|
/**
|
|
5
5
|
* If the date is a valid Date object, return true, otherwise return false.
|
|
6
6
|
* @param {Date} date - The date object to check.
|
|
7
|
-
* @returns
|
|
7
|
+
* @returns {boolean} True: The Date object is valid
|
|
8
8
|
*/
|
|
9
9
|
function isValidDateObject(date) {
|
|
10
10
|
return date instanceof Date && !isNaN(date.getTime());
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { IDTimezoneOffset } from "../interfaces/IDTimezoneOffset";
|
|
1
2
|
/**
|
|
2
3
|
* Validate if offset uses a valid ISO 8601 offset specification
|
|
3
4
|
* - If the given offset is a numeric, returns an invalid flag.
|
|
4
|
-
* @param {
|
|
5
|
+
* @param {IDTimezoneOffset} offset the timezone offset
|
|
5
6
|
* @returns {boolean} true if the given offset is valid
|
|
6
7
|
*/
|
|
7
|
-
export declare function isValidISOOffset(offset:
|
|
8
|
+
export declare function isValidISOOffset(offset: IDTimezoneOffset): boolean;
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.isValidISOOffset = void 0;
|
|
4
|
+
const isEmpty_1 = require("../../general/mix/isEmpty");
|
|
4
5
|
const ISO_8601_REGEX_1 = require("../constants/ISO_8601_REGEX");
|
|
5
6
|
/**
|
|
6
7
|
* Validate if offset uses a valid ISO 8601 offset specification
|
|
7
8
|
* - If the given offset is a numeric, returns an invalid flag.
|
|
8
|
-
* @param {
|
|
9
|
+
* @param {IDTimezoneOffset} offset the timezone offset
|
|
9
10
|
* @returns {boolean} true if the given offset is valid
|
|
10
11
|
*/
|
|
11
12
|
function isValidISOOffset(offset) {
|
|
12
|
-
if (typeof offset !== "string")
|
|
13
|
+
if ((0, isEmpty_1.isEmpty)(offset) || typeof offset !== "string")
|
|
13
14
|
return false;
|
|
14
15
|
const newOffset = (offset || "").trim();
|
|
15
16
|
return ISO_8601_REGEX_1.ISO_8601_REGEX.test(newOffset);
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { IDate } from "../interfaces/IDate";
|
|
1
2
|
/**
|
|
2
3
|
* Checks if the given date is allowed to continue the process for adapting dates
|
|
3
4
|
* - If the string is a token or a combination of tokens is not valid
|
|
4
|
-
* @param {
|
|
5
|
+
* @param {IDate} date String, object or millisencond number of the date
|
|
5
6
|
* @returns true: the date is valid.
|
|
6
7
|
*/
|
|
7
|
-
export declare function isValidPotentialDate(date:
|
|
8
|
+
export declare function isValidPotentialDate(date: IDate): boolean;
|
|
@@ -7,7 +7,7 @@ const areIncludedDateTokens_1 = require("./areIncludedDateTokens");
|
|
|
7
7
|
/**
|
|
8
8
|
* Checks if the given date is allowed to continue the process for adapting dates
|
|
9
9
|
* - If the string is a token or a combination of tokens is not valid
|
|
10
|
-
* @param {
|
|
10
|
+
* @param {IDate} date String, object or millisencond number of the date
|
|
11
11
|
* @returns true: the date is valid.
|
|
12
12
|
*/
|
|
13
13
|
function isValidPotentialDate(date) {
|
|
@@ -16,12 +16,27 @@ function isValidPotentialDate(date) {
|
|
|
16
16
|
(isDateInstance(date) || isStringDate(date) || typeof date === "number"));
|
|
17
17
|
}
|
|
18
18
|
exports.isValidPotentialDate = isValidPotentialDate;
|
|
19
|
+
/**
|
|
20
|
+
* Validates if the given date has tokens
|
|
21
|
+
* @param {IDate} date String, object or millisencond number of the date
|
|
22
|
+
* @returns {boolean} true: the date has tokens
|
|
23
|
+
*/
|
|
19
24
|
function includingDateTokens(date) {
|
|
20
25
|
return DATE_FORMATS_1.DATE_FORMATS.some((dateFormat) => (0, areIncludedDateTokens_1.areIncludedDateTokens)(date, dateFormat));
|
|
21
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* Validates if the given date is a date instance
|
|
29
|
+
* @param {IDate} date String, object or millisencond number of the date
|
|
30
|
+
* @returns {boolean} true: the date is a date instance
|
|
31
|
+
*/
|
|
22
32
|
function isDateInstance(date) {
|
|
23
33
|
return date instanceof Date && !isNaN(date);
|
|
24
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* Validates if the given date is a string date
|
|
37
|
+
* @param {IDate} date String, object or millisencond number of the date
|
|
38
|
+
* @returns {boolean} true: the date is a string date
|
|
39
|
+
*/
|
|
25
40
|
function isStringDate(date) {
|
|
26
41
|
return (typeof date === "string" && new Date(date).toString() !== "Invalid Date");
|
|
27
42
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { IDTimezoneOffset } from "../interfaces/IDTimezoneOffset";
|
|
2
|
+
/**
|
|
3
|
+
* Validates if the given param is a valid timezone offset
|
|
4
|
+
* @param {IDTimezoneOffset} offset the timezone offset
|
|
5
|
+
* @returns {boolean} true: is valid timezone offset.
|
|
6
|
+
*/
|
|
7
|
+
export declare function isValidTimezoneOffset(offset: IDTimezoneOffset): boolean;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isValidTimezoneOffset = void 0;
|
|
4
|
+
const isNaNV2_1 = require("../../general/mix/isNaNV2");
|
|
5
|
+
const ISOToNumericOffset_1 = require("../adapters/ISOToNumericOffset");
|
|
6
|
+
const isValidISOOffset_1 = require("./isValidISOOffset");
|
|
7
|
+
/**
|
|
8
|
+
* Validates if the given param is a valid timezone offset
|
|
9
|
+
* @param {IDTimezoneOffset} offset the timezone offset
|
|
10
|
+
* @returns {boolean} true: is valid timezone offset.
|
|
11
|
+
*/
|
|
12
|
+
function isValidTimezoneOffset(offset) {
|
|
13
|
+
if (typeof offset === "string") {
|
|
14
|
+
return (offset === "browser" ||
|
|
15
|
+
((0, isValidISOOffset_1.isValidISOOffset)(offset) && isValidOffsetRange(offset)));
|
|
16
|
+
}
|
|
17
|
+
if (typeof offset === "number") {
|
|
18
|
+
return !(0, isNaNV2_1.isNaNV2)(offset) && isValidOffsetRange(offset);
|
|
19
|
+
}
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
exports.isValidTimezoneOffset = isValidTimezoneOffset;
|
|
23
|
+
/**
|
|
24
|
+
* Validates if the given offset is in the timezone range
|
|
25
|
+
* @param {IDTimezoneOffset} offset the timezone offset
|
|
26
|
+
* @returns {boolean} true: the offset is in the timezone range
|
|
27
|
+
*/
|
|
28
|
+
function isValidOffsetRange(offset) {
|
|
29
|
+
const numericOffset = (0, ISOToNumericOffset_1.ISOToNumericOffset)(offset);
|
|
30
|
+
return -720 <= numericOffset && numericOffset <= 840;
|
|
31
|
+
}
|
|
@@ -4,8 +4,8 @@ import { IDateFormat } from "../interfaces/IDateFormat";
|
|
|
4
4
|
* - If the string is a token label, the function lets it pass.
|
|
5
5
|
* - Otherwise depends of the format
|
|
6
6
|
* - Some escenarios the string is a mix of token labels and dates
|
|
7
|
-
* @param date String of date
|
|
8
|
-
* @param format String of the format to validate
|
|
9
|
-
* @returns True if it is valid or not. Undefined if date is undefined
|
|
7
|
+
* @param {string} date String of date
|
|
8
|
+
* @param {IDateFormat} format String of the format to validate
|
|
9
|
+
* @returns {boolean} True if it is valid or not. Undefined if date is undefined
|
|
10
10
|
*/
|
|
11
11
|
export declare function validateDate(date: string, format?: IDateFormat): boolean;
|
|
@@ -11,9 +11,9 @@ const getSeparatorByDateFormat_1 = require("./getSeparatorByDateFormat");
|
|
|
11
11
|
* - If the string is a token label, the function lets it pass.
|
|
12
12
|
* - Otherwise depends of the format
|
|
13
13
|
* - Some escenarios the string is a mix of token labels and dates
|
|
14
|
-
* @param date String of date
|
|
15
|
-
* @param format String of the format to validate
|
|
16
|
-
* @returns True if it is valid or not. Undefined if date is undefined
|
|
14
|
+
* @param {string} date String of date
|
|
15
|
+
* @param {IDateFormat} format String of the format to validate
|
|
16
|
+
* @returns {boolean} True if it is valid or not. Undefined if date is undefined
|
|
17
17
|
*/
|
|
18
18
|
function validateDate(date, format = DATE_FORMAT_1.DATE_FORMAT.DAY) {
|
|
19
19
|
if ((0, isEmpty_1.isEmpty)(date) || typeof date !== "string")
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type IDate = Date | string | number;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IFFGetVerboseFilters } from "../../interfaces/functions/IFFGetVerboseFilters";
|
|
2
|
+
import { IFUDataset } from "../../interfaces/ui/IFUDataset";
|
|
3
|
+
/**
|
|
4
|
+
* Gets an string that describes the filter datasets content
|
|
5
|
+
* @param {IFUDataset[]} filters The filter datasets to verbose
|
|
6
|
+
* @param {IFFGetVerboseFilters} settings the settings to the function
|
|
7
|
+
* @returns the description of the datasets array
|
|
8
|
+
*/
|
|
9
|
+
export declare function getVerboseFilterDatasets(datasets: IFUDataset[], settings?: IFFGetVerboseFilters): string;
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getVerboseFilterDatasets = void 0;
|
|
4
|
+
const isEmpty_1 = require("../../../general/mix/isEmpty");
|
|
5
|
+
const isObject_1 = require("../../../general/object/isObject");
|
|
6
|
+
const I18N_FILTER_OPERATOR_1 = require("../../../globalization/labels/filters/I18N_FILTER_OPERATOR");
|
|
7
|
+
const FILTER_OPERATOR_1 = require("../../constants/common/FILTER_OPERATOR");
|
|
8
|
+
const getVerboseFilterFilters_1 = require("./getVerboseFilterFilters");
|
|
9
|
+
const getVerboseFilters_1 = require("./getVerboseFilters");
|
|
10
|
+
/**
|
|
11
|
+
* Gets an string that describes the filter datasets content
|
|
12
|
+
* @param {IFUDataset[]} filters The filter datasets to verbose
|
|
13
|
+
* @param {IFFGetVerboseFilters} settings the settings to the function
|
|
14
|
+
* @returns the description of the datasets array
|
|
15
|
+
*/
|
|
16
|
+
function getVerboseFilterDatasets(datasets, settings) {
|
|
17
|
+
if ((0, isEmpty_1.isEmpty)(datasets) || !Array.isArray(datasets))
|
|
18
|
+
return "";
|
|
19
|
+
const defaultSettings = (0, getVerboseFilters_1.getVerboseFiltersSettings)(settings);
|
|
20
|
+
const filteredDatasets = getDatasets(datasets, defaultSettings);
|
|
21
|
+
return filteredDatasets.reduce((verbose, dataset, currentIndex, array) => {
|
|
22
|
+
let newVerbose = "";
|
|
23
|
+
const title = getTitle(dataset, defaultSettings);
|
|
24
|
+
const titleSeparator = getTitleSeparator(defaultSettings);
|
|
25
|
+
const filterVerbose = (0, getVerboseFilterFilters_1.getVerboseFilterFilters)(dataset.filters, defaultSettings);
|
|
26
|
+
const newSeparator = getSeparator(defaultSettings, currentIndex >= array.length - 1);
|
|
27
|
+
newVerbose += `${(0, isEmpty_1.isEmpty)(title) ? "" : `${title}${titleSeparator}`}${filterVerbose}${newSeparator}`;
|
|
28
|
+
return `${verbose}${newVerbose}`;
|
|
29
|
+
}, "");
|
|
30
|
+
}
|
|
31
|
+
exports.getVerboseFilterDatasets = getVerboseFilterDatasets;
|
|
32
|
+
/**
|
|
33
|
+
* Gets the datasets by some conditions
|
|
34
|
+
* @param {IFUDataset[]} filters The filtered datasets to verbose
|
|
35
|
+
* @param {IFFGetVerboseFilters} settings the settings to the function
|
|
36
|
+
* @returns {IFUDataset[]} the collection of the datasets
|
|
37
|
+
*/
|
|
38
|
+
function getDatasets(datasets, settings) {
|
|
39
|
+
return datasets.filter((dataset) => (0, isObject_1.isObject)(dataset) &&
|
|
40
|
+
(settings.datasetDisplayDisplayed || dataset.displayed) &&
|
|
41
|
+
(settings.datasetEnableDisplayed || dataset.enabled));
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Gets the title of the filter dataset
|
|
45
|
+
* @param {IFUDataset} dataset the filter dataset object
|
|
46
|
+
* @param {IFFGetVerboseFilters} settings the settings to the function
|
|
47
|
+
* @returns {string} the title of the filter dataset
|
|
48
|
+
*/
|
|
49
|
+
function getTitle(dataset, settings) {
|
|
50
|
+
return settings.datasetTitleDisplayed ? dataset.label || "" : "";
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Gets the separators for the title. It would be
|
|
54
|
+
* - New Line
|
|
55
|
+
* - An string from argument
|
|
56
|
+
* @param {IFFGetVerboseFilters} settings the settings of the module
|
|
57
|
+
* @returns {string} the string of the separator
|
|
58
|
+
*/
|
|
59
|
+
function getTitleSeparator(settings) {
|
|
60
|
+
let newLine = "";
|
|
61
|
+
if (settings.datasetTitleNewLine) {
|
|
62
|
+
newLine = "\n";
|
|
63
|
+
}
|
|
64
|
+
else if (!(0, isEmpty_1.isEmpty)(settings.datasetTitleSeparator)) {
|
|
65
|
+
newLine = settings.datasetTitleSeparator;
|
|
66
|
+
}
|
|
67
|
+
return newLine;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Gets the separators of each filter. It would be
|
|
71
|
+
* - New Line
|
|
72
|
+
* - The operator
|
|
73
|
+
* - An string from argument
|
|
74
|
+
* @param {IFFGetVerboseFilters} settings the settings of the module
|
|
75
|
+
* @returns {string} the string of the separator
|
|
76
|
+
*/
|
|
77
|
+
function getSeparator(settings, lastValue = false) {
|
|
78
|
+
let newLine = "";
|
|
79
|
+
if (lastValue)
|
|
80
|
+
return newLine;
|
|
81
|
+
if (settings.datasetNewLine) {
|
|
82
|
+
newLine = "\n";
|
|
83
|
+
}
|
|
84
|
+
else if (settings.datasetOperatorDisplayed) {
|
|
85
|
+
newLine = (0, isEmpty_1.isEmpty)(settings.translate)
|
|
86
|
+
? I18N_FILTER_OPERATOR_1.I18N_FILTER_OPERATOR.and
|
|
87
|
+
: settings.translate(`filter.operators.${FILTER_OPERATOR_1.FILTER_OPERATOR.AND.toLowerCase()}`);
|
|
88
|
+
newLine = ` ${newLine} `;
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
newLine = settings.datasetSeparator;
|
|
92
|
+
}
|
|
93
|
+
return newLine;
|
|
94
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IFFGetVerboseFilters } from "../../interfaces/functions/IFFGetVerboseFilters";
|
|
2
|
+
import { IFUFilter } from "../../interfaces/ui/IFUFilter";
|
|
3
|
+
/**
|
|
4
|
+
* Gets an string that describes the filter filters content
|
|
5
|
+
* @param {IFUFilter[]} filters The filter filters to verbose
|
|
6
|
+
* @param {IFFGetVerboseFilters} settings the settings to the function
|
|
7
|
+
* @returns the description of the filters array
|
|
8
|
+
*/
|
|
9
|
+
export declare function getVerboseFilterFilters(filters: IFUFilter[], settings?: IFFGetVerboseFilters): string;
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getVerboseFilterFilters = void 0;
|
|
4
|
+
const isEmpty_1 = require("../../../general/mix/isEmpty");
|
|
5
|
+
const isObject_1 = require("../../../general/object/isObject");
|
|
6
|
+
const I18N_FILTER_OPERATOR_1 = require("../../../globalization/labels/filters/I18N_FILTER_OPERATOR");
|
|
7
|
+
const getVerboseFilterValues_1 = require("./getVerboseFilterValues");
|
|
8
|
+
const getVerboseFilters_1 = require("./getVerboseFilters");
|
|
9
|
+
/**
|
|
10
|
+
* Gets an string that describes the filter filters content
|
|
11
|
+
* @param {IFUFilter[]} filters The filter filters to verbose
|
|
12
|
+
* @param {IFFGetVerboseFilters} settings the settings to the function
|
|
13
|
+
* @returns the description of the filters array
|
|
14
|
+
*/
|
|
15
|
+
function getVerboseFilterFilters(filters, settings) {
|
|
16
|
+
if ((0, isEmpty_1.isEmpty)(filters) || !Array.isArray(filters))
|
|
17
|
+
return "";
|
|
18
|
+
const defaultSettings = (0, getVerboseFilters_1.getVerboseFiltersSettings)(settings);
|
|
19
|
+
const filteredFilters = getFilters(filters, defaultSettings);
|
|
20
|
+
return filteredFilters.reduce((verbose, filter, currentIndex, array) => {
|
|
21
|
+
let newVerbose = "";
|
|
22
|
+
const title = getTitle(filter, defaultSettings);
|
|
23
|
+
const titleSeparator = getTitleSeparator(defaultSettings);
|
|
24
|
+
const valuesVerbose = (0, getVerboseFilterValues_1.getVerboseFilterValues)(filter, defaultSettings);
|
|
25
|
+
const newSeparator = getSeparator(filter, defaultSettings, currentIndex >= array.length - 1);
|
|
26
|
+
newVerbose += `${(0, isEmpty_1.isEmpty)(title) ? "" : `${title}${titleSeparator}`}${valuesVerbose}${newSeparator}`;
|
|
27
|
+
return `${verbose}${newVerbose}`;
|
|
28
|
+
}, "");
|
|
29
|
+
}
|
|
30
|
+
exports.getVerboseFilterFilters = getVerboseFilterFilters;
|
|
31
|
+
/**
|
|
32
|
+
* Gets the filters by some conditions
|
|
33
|
+
* @param {IFUFilter[]} filters The filtered filters to verbose
|
|
34
|
+
* @param {IFFGetVerboseFilters} settings the settings to the function
|
|
35
|
+
* @returns {IFUFilter[]} the collection of the filters
|
|
36
|
+
*/
|
|
37
|
+
function getFilters(filters, settings) {
|
|
38
|
+
return filters.filter((filter) => (0, isObject_1.isObject)(filter) &&
|
|
39
|
+
(settings.filterDisplayDisplayed || filter.displayed) &&
|
|
40
|
+
(settings.filterEnableDisplayed || filter.enabled));
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Gets the title of the filter
|
|
44
|
+
* @param {IFUFilter} filter the filter object
|
|
45
|
+
* @param {IFFGetVerboseFilters} settings the settings to the function
|
|
46
|
+
* @returns {string} the title of the filter
|
|
47
|
+
*/
|
|
48
|
+
function getTitle(filter, settings) {
|
|
49
|
+
return settings.filterTitleDisplayed
|
|
50
|
+
? filter.extras.filterLabel || filter.column.label || ""
|
|
51
|
+
: "";
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Gets the separators of each filter. It would be
|
|
55
|
+
* - New Line
|
|
56
|
+
* - The operator
|
|
57
|
+
* - An string from argument
|
|
58
|
+
* @param {number} currentIndex the iteration index of the value
|
|
59
|
+
* @param {IFUFilter} filter the filter object
|
|
60
|
+
* @param {IFFGetVerboseFilters} settings the settings of the module
|
|
61
|
+
* @returns {string} the string of the separator
|
|
62
|
+
*/
|
|
63
|
+
function getSeparator(filter, settings, lastValue = false) {
|
|
64
|
+
let newLine = "";
|
|
65
|
+
if (lastValue)
|
|
66
|
+
return newLine;
|
|
67
|
+
if (settings.filterNewLine) {
|
|
68
|
+
newLine = "\n";
|
|
69
|
+
}
|
|
70
|
+
else if (settings.filterOperatorDisplayed) {
|
|
71
|
+
newLine = (0, isEmpty_1.isEmpty)(settings.translate)
|
|
72
|
+
? I18N_FILTER_OPERATOR_1.I18N_FILTER_OPERATOR[filter.operator.toLowerCase()]
|
|
73
|
+
: settings.translate(`filter.operators.${filter.operator.toLowerCase()}`);
|
|
74
|
+
newLine = ` ${newLine} `;
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
newLine = settings.filterSeparator;
|
|
78
|
+
}
|
|
79
|
+
return newLine;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Gets the separators for the title. It would be
|
|
83
|
+
* - New Line
|
|
84
|
+
* - An string from argument
|
|
85
|
+
* @param {IFFGetVerboseFilters} settings the settings of the module
|
|
86
|
+
* @returns {string} the string of the separator
|
|
87
|
+
*/
|
|
88
|
+
function getTitleSeparator(settings) {
|
|
89
|
+
let newLine = "";
|
|
90
|
+
if (settings.filterTitleNewLine) {
|
|
91
|
+
newLine = "\n";
|
|
92
|
+
}
|
|
93
|
+
else if (!(0, isEmpty_1.isEmpty)(settings.filterTitleSeparator)) {
|
|
94
|
+
newLine = settings.filterTitleSeparator;
|
|
95
|
+
}
|
|
96
|
+
return newLine;
|
|
97
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IFFGetVerboseFilters } from "../../interfaces/functions/IFFGetVerboseFilters";
|
|
2
|
+
import { IFUScope } from "../../interfaces/ui/IFUScope";
|
|
3
|
+
/**
|
|
4
|
+
* Gets an string that describes the filter scopes content
|
|
5
|
+
* @param {IFUScope[]} filters The filters scopes to verbose
|
|
6
|
+
* @param {IFFGetVerboseFilters} settings the settings to the function
|
|
7
|
+
* @returns A string
|
|
8
|
+
*/
|
|
9
|
+
export declare function getVerboseFilterScopes(scopes: IFUScope[], settings?: IFFGetVerboseFilters): string;
|