@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
|
@@ -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;
|
|
@@ -1,7 +1,7 @@
|
|
|
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 function isValidDateObject(date) {
|
|
7
7
|
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,12 +1,13 @@
|
|
|
1
|
+
import { isEmpty } from "../../general/mix/isEmpty";
|
|
1
2
|
import { ISO_8601_REGEX } from "../constants/ISO_8601_REGEX";
|
|
2
3
|
/**
|
|
3
4
|
* Validate if offset uses a valid ISO 8601 offset specification
|
|
4
5
|
* - If the given offset is a numeric, returns an invalid flag.
|
|
5
|
-
* @param {
|
|
6
|
+
* @param {IDTimezoneOffset} offset the timezone offset
|
|
6
7
|
* @returns {boolean} true if the given offset is valid
|
|
7
8
|
*/
|
|
8
9
|
export function isValidISOOffset(offset) {
|
|
9
|
-
if (typeof offset !== "string")
|
|
10
|
+
if (isEmpty(offset) || typeof offset !== "string")
|
|
10
11
|
return false;
|
|
11
12
|
const newOffset = (offset || "").trim();
|
|
12
13
|
return 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;
|
|
@@ -4,7 +4,7 @@ import { areIncludedDateTokens } from "./areIncludedDateTokens";
|
|
|
4
4
|
/**
|
|
5
5
|
* Checks if the given date is allowed to continue the process for adapting dates
|
|
6
6
|
* - If the string is a token or a combination of tokens is not valid
|
|
7
|
-
* @param {
|
|
7
|
+
* @param {IDate} date String, object or millisencond number of the date
|
|
8
8
|
* @returns true: the date is valid.
|
|
9
9
|
*/
|
|
10
10
|
export function isValidPotentialDate(date) {
|
|
@@ -12,12 +12,27 @@ export function isValidPotentialDate(date) {
|
|
|
12
12
|
!includingDateTokens(date) &&
|
|
13
13
|
(isDateInstance(date) || isStringDate(date) || typeof date === "number"));
|
|
14
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* Validates if the given date has tokens
|
|
17
|
+
* @param {IDate} date String, object or millisencond number of the date
|
|
18
|
+
* @returns {boolean} true: the date has tokens
|
|
19
|
+
*/
|
|
15
20
|
function includingDateTokens(date) {
|
|
16
21
|
return DATE_FORMATS.some((dateFormat) => areIncludedDateTokens(date, dateFormat));
|
|
17
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Validates if the given date is a date instance
|
|
25
|
+
* @param {IDate} date String, object or millisencond number of the date
|
|
26
|
+
* @returns {boolean} true: the date is a date instance
|
|
27
|
+
*/
|
|
18
28
|
function isDateInstance(date) {
|
|
19
29
|
return date instanceof Date && !isNaN(date);
|
|
20
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* Validates if the given date is a string date
|
|
33
|
+
* @param {IDate} date String, object or millisencond number of the date
|
|
34
|
+
* @returns {boolean} true: the date is a string date
|
|
35
|
+
*/
|
|
21
36
|
function isStringDate(date) {
|
|
22
37
|
return (typeof date === "string" && new Date(date).toString() !== "Invalid Date");
|
|
23
38
|
}
|
|
@@ -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,27 @@
|
|
|
1
|
+
import { isNaNV2 } from "../../general/mix/isNaNV2";
|
|
2
|
+
import { ISOToNumericOffset } from "../adapters/ISOToNumericOffset";
|
|
3
|
+
import { isValidISOOffset } from "./isValidISOOffset";
|
|
4
|
+
/**
|
|
5
|
+
* Validates if the given param is a valid timezone offset
|
|
6
|
+
* @param {IDTimezoneOffset} offset the timezone offset
|
|
7
|
+
* @returns {boolean} true: is valid timezone offset.
|
|
8
|
+
*/
|
|
9
|
+
export function isValidTimezoneOffset(offset) {
|
|
10
|
+
if (typeof offset === "string") {
|
|
11
|
+
return (offset === "browser" ||
|
|
12
|
+
(isValidISOOffset(offset) && isValidOffsetRange(offset)));
|
|
13
|
+
}
|
|
14
|
+
if (typeof offset === "number") {
|
|
15
|
+
return !isNaNV2(offset) && isValidOffsetRange(offset);
|
|
16
|
+
}
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Validates if the given offset is in the timezone range
|
|
21
|
+
* @param {IDTimezoneOffset} offset the timezone offset
|
|
22
|
+
* @returns {boolean} true: the offset is in the timezone range
|
|
23
|
+
*/
|
|
24
|
+
function isValidOffsetRange(offset) {
|
|
25
|
+
const numericOffset = ISOToNumericOffset(offset);
|
|
26
|
+
return -720 <= numericOffset && numericOffset <= 840;
|
|
27
|
+
}
|
|
@@ -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;
|
|
@@ -8,9 +8,9 @@ import { getSeparatorByDateFormat } from "./getSeparatorByDateFormat";
|
|
|
8
8
|
* - If the string is a token label, the function lets it pass.
|
|
9
9
|
* - Otherwise depends of the format
|
|
10
10
|
* - Some escenarios the string is a mix of token labels and dates
|
|
11
|
-
* @param date String of date
|
|
12
|
-
* @param format String of the format to validate
|
|
13
|
-
* @returns True if it is valid or not. Undefined if date is undefined
|
|
11
|
+
* @param {string} date String of date
|
|
12
|
+
* @param {IDateFormat} format String of the format to validate
|
|
13
|
+
* @returns {boolean} True if it is valid or not. Undefined if date is undefined
|
|
14
14
|
*/
|
|
15
15
|
export function validateDate(date, format = DATE_FORMAT.DAY) {
|
|
16
16
|
if (isEmpty(date) || typeof date !== "string")
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type IDate = Date | string | number;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -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,90 @@
|
|
|
1
|
+
import { isEmpty } from "../../../general/mix/isEmpty";
|
|
2
|
+
import { isObject } from "../../../general/object/isObject";
|
|
3
|
+
import { I18N_FILTER_OPERATOR } from "../../../globalization/labels/filters/I18N_FILTER_OPERATOR";
|
|
4
|
+
import { FILTER_OPERATOR } from "../../constants/common/FILTER_OPERATOR";
|
|
5
|
+
import { getVerboseFilterFilters } from "./getVerboseFilterFilters";
|
|
6
|
+
import { getVerboseFiltersSettings } from "./getVerboseFilters";
|
|
7
|
+
/**
|
|
8
|
+
* Gets an string that describes the filter datasets content
|
|
9
|
+
* @param {IFUDataset[]} filters The filter datasets to verbose
|
|
10
|
+
* @param {IFFGetVerboseFilters} settings the settings to the function
|
|
11
|
+
* @returns the description of the datasets array
|
|
12
|
+
*/
|
|
13
|
+
export function getVerboseFilterDatasets(datasets, settings) {
|
|
14
|
+
if (isEmpty(datasets) || !Array.isArray(datasets))
|
|
15
|
+
return "";
|
|
16
|
+
const defaultSettings = getVerboseFiltersSettings(settings);
|
|
17
|
+
const filteredDatasets = getDatasets(datasets, defaultSettings);
|
|
18
|
+
return filteredDatasets.reduce((verbose, dataset, currentIndex, array) => {
|
|
19
|
+
let newVerbose = "";
|
|
20
|
+
const title = getTitle(dataset, defaultSettings);
|
|
21
|
+
const titleSeparator = getTitleSeparator(defaultSettings);
|
|
22
|
+
const filterVerbose = getVerboseFilterFilters(dataset.filters, defaultSettings);
|
|
23
|
+
const newSeparator = getSeparator(defaultSettings, currentIndex >= array.length - 1);
|
|
24
|
+
newVerbose += `${isEmpty(title) ? "" : `${title}${titleSeparator}`}${filterVerbose}${newSeparator}`;
|
|
25
|
+
return `${verbose}${newVerbose}`;
|
|
26
|
+
}, "");
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Gets the datasets by some conditions
|
|
30
|
+
* @param {IFUDataset[]} filters The filtered datasets to verbose
|
|
31
|
+
* @param {IFFGetVerboseFilters} settings the settings to the function
|
|
32
|
+
* @returns {IFUDataset[]} the collection of the datasets
|
|
33
|
+
*/
|
|
34
|
+
function getDatasets(datasets, settings) {
|
|
35
|
+
return datasets.filter((dataset) => isObject(dataset) &&
|
|
36
|
+
(settings.datasetDisplayDisplayed || dataset.displayed) &&
|
|
37
|
+
(settings.datasetEnableDisplayed || dataset.enabled));
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Gets the title of the filter dataset
|
|
41
|
+
* @param {IFUDataset} dataset the filter dataset object
|
|
42
|
+
* @param {IFFGetVerboseFilters} settings the settings to the function
|
|
43
|
+
* @returns {string} the title of the filter dataset
|
|
44
|
+
*/
|
|
45
|
+
function getTitle(dataset, settings) {
|
|
46
|
+
return settings.datasetTitleDisplayed ? dataset.label || "" : "";
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Gets the separators for the title. It would be
|
|
50
|
+
* - New Line
|
|
51
|
+
* - An string from argument
|
|
52
|
+
* @param {IFFGetVerboseFilters} settings the settings of the module
|
|
53
|
+
* @returns {string} the string of the separator
|
|
54
|
+
*/
|
|
55
|
+
function getTitleSeparator(settings) {
|
|
56
|
+
let newLine = "";
|
|
57
|
+
if (settings.datasetTitleNewLine) {
|
|
58
|
+
newLine = "\n";
|
|
59
|
+
}
|
|
60
|
+
else if (!isEmpty(settings.datasetTitleSeparator)) {
|
|
61
|
+
newLine = settings.datasetTitleSeparator;
|
|
62
|
+
}
|
|
63
|
+
return newLine;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Gets the separators of each filter. It would be
|
|
67
|
+
* - New Line
|
|
68
|
+
* - The operator
|
|
69
|
+
* - An string from argument
|
|
70
|
+
* @param {IFFGetVerboseFilters} settings the settings of the module
|
|
71
|
+
* @returns {string} the string of the separator
|
|
72
|
+
*/
|
|
73
|
+
function getSeparator(settings, lastValue = false) {
|
|
74
|
+
let newLine = "";
|
|
75
|
+
if (lastValue)
|
|
76
|
+
return newLine;
|
|
77
|
+
if (settings.datasetNewLine) {
|
|
78
|
+
newLine = "\n";
|
|
79
|
+
}
|
|
80
|
+
else if (settings.datasetOperatorDisplayed) {
|
|
81
|
+
newLine = isEmpty(settings.translate)
|
|
82
|
+
? I18N_FILTER_OPERATOR.and
|
|
83
|
+
: settings.translate(`filter.operators.${FILTER_OPERATOR.AND.toLowerCase()}`);
|
|
84
|
+
newLine = ` ${newLine} `;
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
newLine = settings.datasetSeparator;
|
|
88
|
+
}
|
|
89
|
+
return newLine;
|
|
90
|
+
}
|
|
@@ -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,93 @@
|
|
|
1
|
+
import { isEmpty } from "../../../general/mix/isEmpty";
|
|
2
|
+
import { isObject } from "../../../general/object/isObject";
|
|
3
|
+
import { I18N_FILTER_OPERATOR } from "../../../globalization/labels/filters/I18N_FILTER_OPERATOR";
|
|
4
|
+
import { getVerboseFilterValues } from "./getVerboseFilterValues";
|
|
5
|
+
import { getVerboseFiltersSettings } from "./getVerboseFilters";
|
|
6
|
+
/**
|
|
7
|
+
* Gets an string that describes the filter filters content
|
|
8
|
+
* @param {IFUFilter[]} filters The filter filters to verbose
|
|
9
|
+
* @param {IFFGetVerboseFilters} settings the settings to the function
|
|
10
|
+
* @returns the description of the filters array
|
|
11
|
+
*/
|
|
12
|
+
export function getVerboseFilterFilters(filters, settings) {
|
|
13
|
+
if (isEmpty(filters) || !Array.isArray(filters))
|
|
14
|
+
return "";
|
|
15
|
+
const defaultSettings = getVerboseFiltersSettings(settings);
|
|
16
|
+
const filteredFilters = getFilters(filters, defaultSettings);
|
|
17
|
+
return filteredFilters.reduce((verbose, filter, currentIndex, array) => {
|
|
18
|
+
let newVerbose = "";
|
|
19
|
+
const title = getTitle(filter, defaultSettings);
|
|
20
|
+
const titleSeparator = getTitleSeparator(defaultSettings);
|
|
21
|
+
const valuesVerbose = getVerboseFilterValues(filter, defaultSettings);
|
|
22
|
+
const newSeparator = getSeparator(filter, defaultSettings, currentIndex >= array.length - 1);
|
|
23
|
+
newVerbose += `${isEmpty(title) ? "" : `${title}${titleSeparator}`}${valuesVerbose}${newSeparator}`;
|
|
24
|
+
return `${verbose}${newVerbose}`;
|
|
25
|
+
}, "");
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Gets the filters by some conditions
|
|
29
|
+
* @param {IFUFilter[]} filters The filtered filters to verbose
|
|
30
|
+
* @param {IFFGetVerboseFilters} settings the settings to the function
|
|
31
|
+
* @returns {IFUFilter[]} the collection of the filters
|
|
32
|
+
*/
|
|
33
|
+
function getFilters(filters, settings) {
|
|
34
|
+
return filters.filter((filter) => isObject(filter) &&
|
|
35
|
+
(settings.filterDisplayDisplayed || filter.displayed) &&
|
|
36
|
+
(settings.filterEnableDisplayed || filter.enabled));
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Gets the title of the filter
|
|
40
|
+
* @param {IFUFilter} filter the filter object
|
|
41
|
+
* @param {IFFGetVerboseFilters} settings the settings to the function
|
|
42
|
+
* @returns {string} the title of the filter
|
|
43
|
+
*/
|
|
44
|
+
function getTitle(filter, settings) {
|
|
45
|
+
return settings.filterTitleDisplayed
|
|
46
|
+
? filter.extras.filterLabel || filter.column.label || ""
|
|
47
|
+
: "";
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Gets the separators of each filter. It would be
|
|
51
|
+
* - New Line
|
|
52
|
+
* - The operator
|
|
53
|
+
* - An string from argument
|
|
54
|
+
* @param {number} currentIndex the iteration index of the value
|
|
55
|
+
* @param {IFUFilter} filter the filter object
|
|
56
|
+
* @param {IFFGetVerboseFilters} settings the settings of the module
|
|
57
|
+
* @returns {string} the string of the separator
|
|
58
|
+
*/
|
|
59
|
+
function getSeparator(filter, settings, lastValue = false) {
|
|
60
|
+
let newLine = "";
|
|
61
|
+
if (lastValue)
|
|
62
|
+
return newLine;
|
|
63
|
+
if (settings.filterNewLine) {
|
|
64
|
+
newLine = "\n";
|
|
65
|
+
}
|
|
66
|
+
else if (settings.filterOperatorDisplayed) {
|
|
67
|
+
newLine = isEmpty(settings.translate)
|
|
68
|
+
? I18N_FILTER_OPERATOR[filter.operator.toLowerCase()]
|
|
69
|
+
: settings.translate(`filter.operators.${filter.operator.toLowerCase()}`);
|
|
70
|
+
newLine = ` ${newLine} `;
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
newLine = settings.filterSeparator;
|
|
74
|
+
}
|
|
75
|
+
return newLine;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Gets the separators for the title. It would be
|
|
79
|
+
* - New Line
|
|
80
|
+
* - An string from argument
|
|
81
|
+
* @param {IFFGetVerboseFilters} settings the settings of the module
|
|
82
|
+
* @returns {string} the string of the separator
|
|
83
|
+
*/
|
|
84
|
+
function getTitleSeparator(settings) {
|
|
85
|
+
let newLine = "";
|
|
86
|
+
if (settings.filterTitleNewLine) {
|
|
87
|
+
newLine = "\n";
|
|
88
|
+
}
|
|
89
|
+
else if (!isEmpty(settings.filterTitleSeparator)) {
|
|
90
|
+
newLine = settings.filterTitleSeparator;
|
|
91
|
+
}
|
|
92
|
+
return newLine;
|
|
93
|
+
}
|
|
@@ -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;
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { isEmpty } from "../../../general/mix/isEmpty";
|
|
2
|
+
import { isObject } from "../../../general/object/isObject";
|
|
3
|
+
import { I18N_FILTER_OPERATOR } from "../../../globalization/labels/filters/I18N_FILTER_OPERATOR";
|
|
4
|
+
import { I18N_FILTER_SCOPE } from "../../../globalization/labels/filters/I18N_FILTER_SCOPE";
|
|
5
|
+
import { FILTER_OPERATOR } from "../../constants/common/FILTER_OPERATOR";
|
|
6
|
+
import { getVerboseFilterDatasets } from "./getVerboseFilterDatasets";
|
|
7
|
+
import { getVerboseFiltersSettings } from "./getVerboseFilters";
|
|
8
|
+
/**
|
|
9
|
+
* Gets an string that describes the filter scopes content
|
|
10
|
+
* @param {IFUScope[]} filters The filters scopes to verbose
|
|
11
|
+
* @param {IFFGetVerboseFilters} settings the settings to the function
|
|
12
|
+
* @returns A string
|
|
13
|
+
*/
|
|
14
|
+
export function getVerboseFilterScopes(scopes, settings) {
|
|
15
|
+
if (isEmpty(scopes) || !Array.isArray(scopes))
|
|
16
|
+
return "";
|
|
17
|
+
const defaultSettings = getVerboseFiltersSettings(settings);
|
|
18
|
+
const filteredScopes = getScopes(scopes, defaultSettings);
|
|
19
|
+
return filteredScopes.reduce((verbose, scope, currentIndex, array) => {
|
|
20
|
+
let newVerbose = "";
|
|
21
|
+
const title = getTitle(scope, defaultSettings);
|
|
22
|
+
const titleSeparator = getTitleSeparator(defaultSettings);
|
|
23
|
+
const datasetsVerbose = getVerboseFilterDatasets(scope.datasets, defaultSettings);
|
|
24
|
+
const newSeparator = getSeparator(defaultSettings, currentIndex >= array.length - 1);
|
|
25
|
+
newVerbose += `${isEmpty(title) ? "" : `${title}${titleSeparator}`}${datasetsVerbose}${newSeparator}`;
|
|
26
|
+
return `${verbose}${newVerbose}`;
|
|
27
|
+
}, "");
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Gets the scopes by some conditions
|
|
31
|
+
* @param {IFUScope[]} filters The filtered scopes to verbose
|
|
32
|
+
* @param {IFFGetVerboseFilters} settings the settings to the function
|
|
33
|
+
* @returns {IFUScope[]} the collection of the scopes
|
|
34
|
+
*/
|
|
35
|
+
function getScopes(scopes, settings) {
|
|
36
|
+
return scopes.filter((scope) => isObject(scope) &&
|
|
37
|
+
(settings.scopeDisplayDisplayed || scope.displayed) &&
|
|
38
|
+
(settings.scopeEnableDisplayed || scope.enabled));
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Gets the title of the filter scope
|
|
42
|
+
* @param {IFUScope} scope the filter scope info
|
|
43
|
+
* @param {IFFGetVerboseFilters} settings the settings of the function
|
|
44
|
+
* @returns {string} the title of the filter scope
|
|
45
|
+
*/
|
|
46
|
+
function getTitle(scope, settings) {
|
|
47
|
+
if (settings.scopeTitleDisplayed) {
|
|
48
|
+
return isEmpty(settings.translate)
|
|
49
|
+
? scope.label || I18N_FILTER_SCOPE[scope.scope.toLowerCase()] || ""
|
|
50
|
+
: settings.translate(`filter.scope_title.${scope.scope.toLowerCase()}`);
|
|
51
|
+
}
|
|
52
|
+
return "";
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Gets the separators for the title. It would be
|
|
56
|
+
* - New Line
|
|
57
|
+
* - An string from argument
|
|
58
|
+
* @param {IFFGetVerboseFilters} settings the settings of the module
|
|
59
|
+
* @returns {string} the string of the title separator
|
|
60
|
+
*/
|
|
61
|
+
function getTitleSeparator(settings) {
|
|
62
|
+
let newLine = "";
|
|
63
|
+
if (settings.scopeTitleNewLine) {
|
|
64
|
+
newLine = "\n";
|
|
65
|
+
}
|
|
66
|
+
else if (!isEmpty(settings.scopeTitleSeparator)) {
|
|
67
|
+
newLine = settings.scopeTitleSeparator;
|
|
68
|
+
}
|
|
69
|
+
return newLine;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Gets the separators of each filter. It would be
|
|
73
|
+
* - New Line
|
|
74
|
+
* - The operator
|
|
75
|
+
* - An string from argument
|
|
76
|
+
* @param {IFFGetVerboseFilters} settings the settings of the module
|
|
77
|
+
* @returns {string} the string of the separator
|
|
78
|
+
*/
|
|
79
|
+
function getSeparator(settings, lastValue = false) {
|
|
80
|
+
let newLine = "";
|
|
81
|
+
if (lastValue)
|
|
82
|
+
return newLine;
|
|
83
|
+
if (settings.scopeNewLine) {
|
|
84
|
+
newLine = "\n";
|
|
85
|
+
}
|
|
86
|
+
else if (settings.scopeOperatorDisplayed) {
|
|
87
|
+
newLine = isEmpty(settings.translate)
|
|
88
|
+
? I18N_FILTER_OPERATOR.and
|
|
89
|
+
: settings.translate(`filter.operators.${FILTER_OPERATOR.AND.toLowerCase()}`);
|
|
90
|
+
newLine = ` ${newLine} `;
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
newLine = settings.scopeSeparator;
|
|
94
|
+
}
|
|
95
|
+
return newLine;
|
|
96
|
+
}
|
|
@@ -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 values content
|
|
5
|
+
* @param {IFValue[]} filters The filter values to verbose
|
|
6
|
+
* @param {IFFGetVerboseFilters} settings the settings to the function
|
|
7
|
+
* @returns the description of the filter values
|
|
8
|
+
*/
|
|
9
|
+
export declare function getVerboseFilterValues(filter: IFUFilter, settings?: IFFGetVerboseFilters): string;
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { COLUMN } from "../../../columns/constants/COLUMN";
|
|
2
|
+
import { isEmpty } from "../../../general/mix/isEmpty";
|
|
3
|
+
import { isObject } from "../../../general/object/isObject";
|
|
4
|
+
import { I18N_FILTER_OPERATOR } from "../../../globalization/labels/filters/I18N_FILTER_OPERATOR";
|
|
5
|
+
import { I18N_FILTER_PANEL } from "../../../globalization/labels/filters/I18N_FILTER_PANEL";
|
|
6
|
+
import { FILTER_OPERATOR } from "../../constants/common/FILTER_OPERATOR";
|
|
7
|
+
import { getUIValues } from "../ui/getUIValues";
|
|
8
|
+
import { getVerboseFiltersSettings } from "./getVerboseFilters";
|
|
9
|
+
/**
|
|
10
|
+
* Gets an string that describes the filter values content
|
|
11
|
+
* @param {IFValue[]} filters The filter values to verbose
|
|
12
|
+
* @param {IFFGetVerboseFilters} settings the settings to the function
|
|
13
|
+
* @returns the description of the filter values
|
|
14
|
+
*/
|
|
15
|
+
export function getVerboseFilterValues(filter, settings) {
|
|
16
|
+
if (isEmpty(filter) ||
|
|
17
|
+
!isObject(filter) ||
|
|
18
|
+
(!filter.selectAll && isEmpty(filter.values)))
|
|
19
|
+
return "";
|
|
20
|
+
const defaultSettings = getVerboseFiltersSettings(settings);
|
|
21
|
+
const values = getValues(filter, defaultSettings);
|
|
22
|
+
const newSeparator = getSeparator(defaultSettings);
|
|
23
|
+
const stringValues = values.join(newSeparator);
|
|
24
|
+
if (filter.selectAll) {
|
|
25
|
+
if (isEmpty(values)) {
|
|
26
|
+
return isEmpty(defaultSettings.translate)
|
|
27
|
+
? I18N_FILTER_PANEL.card_all_selected
|
|
28
|
+
: defaultSettings.translate("filter_panel.card_all_selected");
|
|
29
|
+
}
|
|
30
|
+
return `${isEmpty(defaultSettings.translate)
|
|
31
|
+
? I18N_FILTER_PANEL.card_all_except
|
|
32
|
+
: defaultSettings.translate("filter_panel.card_all_except")} ${stringValues}`;
|
|
33
|
+
}
|
|
34
|
+
else if (isEmpty(values)) {
|
|
35
|
+
return isEmpty(defaultSettings.translate)
|
|
36
|
+
? I18N_FILTER_PANEL.card_none_selected
|
|
37
|
+
: defaultSettings.translate("filter_panel.card_none_selected");
|
|
38
|
+
}
|
|
39
|
+
return stringValues;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Gets the value collection of the filter by some conditions
|
|
43
|
+
* @param {IFValue} filter The filter to get the values
|
|
44
|
+
* @param {IFFGetVerboseFilters} settings the settings to the function
|
|
45
|
+
* @returns {string[]} the collection of the filter values
|
|
46
|
+
*/
|
|
47
|
+
function getValues(filter, settings) {
|
|
48
|
+
const uiValues = getUIValues(filter, Object.assign(Object.assign({}, settings), { addEnableds: true }));
|
|
49
|
+
return uiValues
|
|
50
|
+
.map((uiValue) => {
|
|
51
|
+
if ((settings.valueDisplayDisplayed || uiValue.displayed) &&
|
|
52
|
+
(settings.valueEnableDisplayed || uiValue.enabled))
|
|
53
|
+
return getValue(filter, uiValue);
|
|
54
|
+
})
|
|
55
|
+
.filter(Boolean);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Gets the separators of each values. It would be
|
|
59
|
+
* - New Line
|
|
60
|
+
* - The operator
|
|
61
|
+
* - An string from argument
|
|
62
|
+
* @param {number} currentIndex the iteration index of the value
|
|
63
|
+
* @param {IFUValue[]} values the collection of values
|
|
64
|
+
* @param {IFFGetVerboseFilters} settings the settings of the module
|
|
65
|
+
* @returns {string} the string of the separator
|
|
66
|
+
*/
|
|
67
|
+
function getSeparator(settings) {
|
|
68
|
+
let newLine = "";
|
|
69
|
+
if (settings.valueNewLine) {
|
|
70
|
+
newLine = "\n";
|
|
71
|
+
}
|
|
72
|
+
else if (settings.valueOperatorDisplayed) {
|
|
73
|
+
newLine = isEmpty(settings.translate)
|
|
74
|
+
? I18N_FILTER_OPERATOR.or
|
|
75
|
+
: settings.translate(`filter.operators.${FILTER_OPERATOR.OR.toLowerCase()}`);
|
|
76
|
+
newLine = ` ${newLine} `;
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
newLine = settings.valueSeparator;
|
|
80
|
+
}
|
|
81
|
+
return newLine;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Gets the value according to the filter info
|
|
85
|
+
* - When the filter column type is image the URL should be returned in case value is undefined.
|
|
86
|
+
* @param {IFUFilter} filter the filter object
|
|
87
|
+
* @param {IFUValue} value the value item
|
|
88
|
+
* @returns {string} the resulting value
|
|
89
|
+
*/
|
|
90
|
+
function getValue(filter, value) {
|
|
91
|
+
let newValue = value.value || "";
|
|
92
|
+
if (filter.column.type === COLUMN.IMAGE) {
|
|
93
|
+
newValue = value.value || value.imageUrl || "";
|
|
94
|
+
}
|
|
95
|
+
return newValue;
|
|
96
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IFFGetVerboseFilters } from "../../interfaces/functions/IFFGetVerboseFilters";
|
|
2
|
+
import { IFUData } from "../../interfaces/ui/IFUData";
|
|
3
|
+
/**
|
|
4
|
+
* Gets an string that describes the filter data content
|
|
5
|
+
* @param {IFUData} filters The filters object to verbose
|
|
6
|
+
* @param {IFFGetVerboseFilters} settings the settings for the function
|
|
7
|
+
* @returns A string
|
|
8
|
+
*/
|
|
9
|
+
export declare function getVerboseFilters(filterData: IFUData, settings?: IFFGetVerboseFilters): string;
|
|
10
|
+
export declare function getVerboseFiltersSettings(settings?: IFFGetVerboseFilters): IFFGetVerboseFilters;
|