@qrvey/utils 1.2.9-36 → 1.2.9-39

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 CHANGED
@@ -1,4 +1,4 @@
1
- # [@qrvey/utils](https://bitbucket.org/qrvey/qrvey_utils/wiki/Home) *1.2.9-36*
1
+ # [@qrvey/utils](https://bitbucket.org/qrvey/qrvey_utils/wiki/Home) *1.2.9-38*
2
2
 
3
3
  > Helper, Utils for all Qrvey Projects
4
4
 
@@ -4398,9 +4398,9 @@ Filters and gets a UI Flatten Filters by the given scopes
4398
4398
  ### dist/filters/helpers/ui/getUIValues.js
4399
4399
 
4400
4400
 
4401
- #### getUIValues(filter, addEnableds, rankingGroupIndex)
4402
-
4401
+ #### getUIValues(filter, settings)
4403
4402
 
4403
+ Gets the UI Values from the filter object
4404
4404
 
4405
4405
 
4406
4406
 
@@ -4409,9 +4409,8 @@ Filters and gets a UI Flatten Filters by the given scopes
4409
4409
 
4410
4410
  | Name | Type | Description | |
4411
4411
  | ---- | ---- | ----------- | -------- |
4412
- | filter | | |   |
4413
- | addEnableds | | |   |
4414
- | rankingGroupIndex | | |   |
4412
+ | filter | | The filter object |   |
4413
+ | settings | | configuration for this function |   |
4415
4414
 
4416
4415
 
4417
4416
 
@@ -4419,7 +4418,7 @@ Filters and gets a UI Flatten Filters by the given scopes
4419
4418
  ##### Returns
4420
4419
 
4421
4420
 
4422
- -
4421
+ - an array of values
4423
4422
 
4424
4423
 
4425
4424
 
@@ -25,7 +25,7 @@ exports.DATE_REGULAR_EXPRESSION = {
25
25
  SECOND: `^${YEAR_MONTH_NUMBER}/${MONTH_DAY}/${YEAR} ${DAY_TIME}$`,
26
26
  MONTH_DAY: `^${MONTH_DAY}$`,
27
27
  YEAR_MONTH: `^${YEAR_MONTH}$`,
28
- YEAR_MONTH_NUMBER: `${YEAR_MONTH_NUMBER}`,
28
+ YEAR_MONTH_NUMBER: `^${YEAR_MONTH_NUMBER}$`,
29
29
  YEAR_QUARTER: `^${YEAR_QUARTER}$`,
30
30
  YEAR_WEEK: `^${YEAR_WEEK}$`,
31
31
  DAY_HOUR: `^${DAY_HOUR}$`,
@@ -8,7 +8,7 @@ const DATE_FORMAT_1 = require("../constants/DATE_FORMAT");
8
8
  * @returns a separator string
9
9
  */
10
10
  function getSeparatorByDateFormat(format = DATE_FORMAT_1.DATE_FORMAT.DAY) {
11
- return format === DATE_FORMAT_1.DATE_FORMAT.YEAR || format === DATE_FORMAT_1.DATE_FORMAT.DAY_TIME || format === DATE_FORMAT_1.DATE_FORMAT.MONTH_DAY || format === DATE_FORMAT_1.DATE_FORMAT.YEAR_MONTH || format === DATE_FORMAT_1.DATE_FORMAT.YEAR_QUARTER || format === DATE_FORMAT_1.DATE_FORMAT.YEAR_WEEK || format === DATE_FORMAT_1.DATE_FORMAT.DAY_HOUR || format === DATE_FORMAT_1.DATE_FORMAT.HOUR_MINUTE || format === DATE_FORMAT_1.DATE_FORMAT.MINUTE_SECOND ? '' :
11
+ return format === DATE_FORMAT_1.DATE_FORMAT.YEAR || format === DATE_FORMAT_1.DATE_FORMAT.DAY_TIME || format === DATE_FORMAT_1.DATE_FORMAT.MONTH_DAY || format === DATE_FORMAT_1.DATE_FORMAT.YEAR_MONTH || format === DATE_FORMAT_1.DATE_FORMAT.YEAR_QUARTER || format === DATE_FORMAT_1.DATE_FORMAT.YEAR_WEEK || format === DATE_FORMAT_1.DATE_FORMAT.DAY_HOUR || format === DATE_FORMAT_1.DATE_FORMAT.HOUR_MINUTE || format === DATE_FORMAT_1.DATE_FORMAT.MINUTE_SECOND ? ' ' :
12
12
  format === DATE_FORMAT_1.DATE_FORMAT.MONTH || format === DATE_FORMAT_1.DATE_FORMAT.QUARTER || format === DATE_FORMAT_1.DATE_FORMAT.WEEK || format === DATE_FORMAT_1.DATE_FORMAT.HOUR || format === DATE_FORMAT_1.DATE_FORMAT.MINUTE || format === DATE_FORMAT_1.DATE_FORMAT.SECOND ? ' ' :
13
13
  '/';
14
14
  }
@@ -2,10 +2,9 @@ import { IFSFilter } from "../../interfaces/common/IFSFilter";
2
2
  import { IFUValue } from "../../interfaces/ui/IFUValue";
3
3
  import { IFUUIValueSettings } from "../../interfaces/ui/IFUUIValueSettings";
4
4
  /**
5
- *
6
- * @param filter
7
- * @param addEnableds
8
- * @param rankingGroupIndex
9
- * @returns
5
+ * Gets the UI Values from the filter object
6
+ * @param filter The filter object
7
+ * @param settings configuration for this function
8
+ * @returns an array of values
10
9
  */
11
10
  export declare function getUIValues(filter: IFSFilter, settings?: IFUUIValueSettings): IFUValue[];
@@ -10,11 +10,10 @@ const flattenDeep_1 = require("../../../general/array/flattenDeep");
10
10
  const RELATIVE_CURSOR_INFO_1 = require("../../../dates/relative/constants/RELATIVE_CURSOR_INFO");
11
11
  const __1 = require("../../..");
12
12
  /**
13
- *
14
- * @param filter
15
- * @param addEnableds
16
- * @param rankingGroupIndex
17
- * @returns
13
+ * Gets the UI Values from the filter object
14
+ * @param filter The filter object
15
+ * @param settings configuration for this function
16
+ * @returns an array of values
18
17
  */
19
18
  function getUIValues(filter, settings) {
20
19
  var _a;
@@ -39,7 +38,7 @@ function getUIValues(filter, settings) {
39
38
  case FILTER_VALIDATOR_1.FILTER_VALIDATOR.BETWEEN_INCLUSIVE:
40
39
  case FILTER_VALIDATOR_1.FILTER_VALIDATOR.BETWEEN_EXCLUSIVE:
41
40
  return filter.values.map(value => ({
42
- value: `${getValueLabel(value.min, filter, settings)} - ${getValueLabel(value.max, filter, settings)}`,
41
+ value: `${getValueLabel(value.min, filter, settings)} ${getRangeSeparator(settings)} ${getValueLabel(value.max, filter, settings)}`,
43
42
  enabled: settings.addEnableds ? value.enabled != null ? value.enabled : true : undefined,
44
43
  }));
45
44
  case FILTER_VALIDATOR_1.FILTER_VALIDATOR.IS_NULL:
@@ -78,6 +77,8 @@ function getUiValuesSettings(settings) {
78
77
  var _a;
79
78
  return {
80
79
  addEnableds: (_a = settings === null || settings === void 0 ? void 0 : settings.addEnableds) !== null && _a !== void 0 ? _a : false,
80
+ rangeSeparator: (settings === null || settings === void 0 ? void 0 : settings.rangeSeparator) || '-',
81
+ rangeSeparatorPath: settings === null || settings === void 0 ? void 0 : settings.rangeSeparatorPath,
81
82
  rankingGroupIndex: settings === null || settings === void 0 ? void 0 : settings.rankingGroupIndex,
82
83
  translate: settings === null || settings === void 0 ? void 0 : settings.translate,
83
84
  };
@@ -95,3 +96,11 @@ function getRankingUIValues(values, addEnableds = false, rankingGroupIndex) {
95
96
  enabled: addEnableds ? rankingValue.enabled : undefined
96
97
  }));
97
98
  }
99
+ function getRangeSeparator(settings) {
100
+ if (!(0, isEmpty_1.isEmpty)(settings.translate) && !(0, isEmpty_1.isEmpty)(settings.rangeSeparatorPath)) {
101
+ return settings.translate(settings.rangeSeparatorPath);
102
+ }
103
+ else {
104
+ return settings.rangeSeparator;
105
+ }
106
+ }
@@ -2,5 +2,7 @@ import { II18nServiceTranslate } from "../../../globalization/interfaces/II18nSe
2
2
  export interface IFUUIValueSettings {
3
3
  addEnableds?: boolean;
4
4
  rankingGroupIndex?: number;
5
+ rangeSeparator?: string;
6
+ rangeSeparatorPath?: string;
5
7
  translate?: II18nServiceTranslate;
6
8
  }
@@ -22,7 +22,7 @@ export const DATE_REGULAR_EXPRESSION = {
22
22
  SECOND: `^${YEAR_MONTH_NUMBER}/${MONTH_DAY}/${YEAR} ${DAY_TIME}$`,
23
23
  MONTH_DAY: `^${MONTH_DAY}$`,
24
24
  YEAR_MONTH: `^${YEAR_MONTH}$`,
25
- YEAR_MONTH_NUMBER: `${YEAR_MONTH_NUMBER}`,
25
+ YEAR_MONTH_NUMBER: `^${YEAR_MONTH_NUMBER}$`,
26
26
  YEAR_QUARTER: `^${YEAR_QUARTER}$`,
27
27
  YEAR_WEEK: `^${YEAR_WEEK}$`,
28
28
  DAY_HOUR: `^${DAY_HOUR}$`,
@@ -5,7 +5,7 @@ import { DATE_FORMAT } from "../constants/DATE_FORMAT";
5
5
  * @returns a separator string
6
6
  */
7
7
  export function getSeparatorByDateFormat(format = DATE_FORMAT.DAY) {
8
- return format === DATE_FORMAT.YEAR || format === DATE_FORMAT.DAY_TIME || format === DATE_FORMAT.MONTH_DAY || format === DATE_FORMAT.YEAR_MONTH || format === DATE_FORMAT.YEAR_QUARTER || format === DATE_FORMAT.YEAR_WEEK || format === DATE_FORMAT.DAY_HOUR || format === DATE_FORMAT.HOUR_MINUTE || format === DATE_FORMAT.MINUTE_SECOND ? '' :
8
+ return format === DATE_FORMAT.YEAR || format === DATE_FORMAT.DAY_TIME || format === DATE_FORMAT.MONTH_DAY || format === DATE_FORMAT.YEAR_MONTH || format === DATE_FORMAT.YEAR_QUARTER || format === DATE_FORMAT.YEAR_WEEK || format === DATE_FORMAT.DAY_HOUR || format === DATE_FORMAT.HOUR_MINUTE || format === DATE_FORMAT.MINUTE_SECOND ? ' ' :
9
9
  format === DATE_FORMAT.MONTH || format === DATE_FORMAT.QUARTER || format === DATE_FORMAT.WEEK || format === DATE_FORMAT.HOUR || format === DATE_FORMAT.MINUTE || format === DATE_FORMAT.SECOND ? ' ' :
10
10
  '/';
11
11
  }
@@ -2,10 +2,9 @@ import { IFSFilter } from "../../interfaces/common/IFSFilter";
2
2
  import { IFUValue } from "../../interfaces/ui/IFUValue";
3
3
  import { IFUUIValueSettings } from "../../interfaces/ui/IFUUIValueSettings";
4
4
  /**
5
- *
6
- * @param filter
7
- * @param addEnableds
8
- * @param rankingGroupIndex
9
- * @returns
5
+ * Gets the UI Values from the filter object
6
+ * @param filter The filter object
7
+ * @param settings configuration for this function
8
+ * @returns an array of values
10
9
  */
11
10
  export declare function getUIValues(filter: IFSFilter, settings?: IFUUIValueSettings): IFUValue[];
@@ -7,11 +7,10 @@ import { flattenDeep } from "../../../general/array/flattenDeep";
7
7
  import { RELATIVE_CURSOR_INFO } from "../../../dates/relative/constants/RELATIVE_CURSOR_INFO";
8
8
  import { getI18nDateGroupLabel } from "../../..";
9
9
  /**
10
- *
11
- * @param filter
12
- * @param addEnableds
13
- * @param rankingGroupIndex
14
- * @returns
10
+ * Gets the UI Values from the filter object
11
+ * @param filter The filter object
12
+ * @param settings configuration for this function
13
+ * @returns an array of values
15
14
  */
16
15
  export function getUIValues(filter, settings) {
17
16
  var _a;
@@ -36,7 +35,7 @@ export function getUIValues(filter, settings) {
36
35
  case FILTER_VALIDATOR.BETWEEN_INCLUSIVE:
37
36
  case FILTER_VALIDATOR.BETWEEN_EXCLUSIVE:
38
37
  return filter.values.map(value => ({
39
- value: `${getValueLabel(value.min, filter, settings)} - ${getValueLabel(value.max, filter, settings)}`,
38
+ value: `${getValueLabel(value.min, filter, settings)} ${getRangeSeparator(settings)} ${getValueLabel(value.max, filter, settings)}`,
40
39
  enabled: settings.addEnableds ? value.enabled != null ? value.enabled : true : undefined,
41
40
  }));
42
41
  case FILTER_VALIDATOR.IS_NULL:
@@ -74,6 +73,8 @@ function getUiValuesSettings(settings) {
74
73
  var _a;
75
74
  return {
76
75
  addEnableds: (_a = settings === null || settings === void 0 ? void 0 : settings.addEnableds) !== null && _a !== void 0 ? _a : false,
76
+ rangeSeparator: (settings === null || settings === void 0 ? void 0 : settings.rangeSeparator) || '-',
77
+ rangeSeparatorPath: settings === null || settings === void 0 ? void 0 : settings.rangeSeparatorPath,
77
78
  rankingGroupIndex: settings === null || settings === void 0 ? void 0 : settings.rankingGroupIndex,
78
79
  translate: settings === null || settings === void 0 ? void 0 : settings.translate,
79
80
  };
@@ -91,3 +92,11 @@ function getRankingUIValues(values, addEnableds = false, rankingGroupIndex) {
91
92
  enabled: addEnableds ? rankingValue.enabled : undefined
92
93
  }));
93
94
  }
95
+ function getRangeSeparator(settings) {
96
+ if (!isEmpty(settings.translate) && !isEmpty(settings.rangeSeparatorPath)) {
97
+ return settings.translate(settings.rangeSeparatorPath);
98
+ }
99
+ else {
100
+ return settings.rangeSeparator;
101
+ }
102
+ }
@@ -2,5 +2,7 @@ import { II18nServiceTranslate } from "../../../globalization/interfaces/II18nSe
2
2
  export interface IFUUIValueSettings {
3
3
  addEnableds?: boolean;
4
4
  rankingGroupIndex?: number;
5
+ rangeSeparator?: string;
6
+ rangeSeparatorPath?: string;
5
7
  translate?: II18nServiceTranslate;
6
8
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qrvey/utils",
3
- "version": "1.2.9-36",
3
+ "version": "1.2.9-39",
4
4
  "description": "Helper, Utils for all Qrvey Projects",
5
5
  "homepage": "https://bitbucket.org/qrvey/qrvey_utils/wiki/Home",
6
6
  "main": "dist/index.js",
@@ -11,9 +11,10 @@
11
11
  "doxs": "doxdox './dist/**/*.js' --ignore './dist/cjs/**/*.js' --output README.md --layout markdown --package ./package.json",
12
12
  "lint": "eslint src --quiet --exit-on-fatal-error --ext .ts,.js",
13
13
  "lint-dev": "eslint src --debug --ext .ts,.tsx",
14
- "publishing": "node ./scripts/prepare-publish && np",
15
- "publishing-prerelease": "node ./scripts/prepare-publish && np --any-branch --tag=$npm_config_tag",
16
- "publishing-v2": "node ./scripts/publishing --np-new-version=$npm_config_np_new_version --np-any-branch=$npm_config_np_any_branch --np-tag=$npm_config_np_tag",
14
+ "publishing-old": "node ./scripts/prepare-publish && np",
15
+ "publishing-prerelease-old": "node ./scripts/prepare-publish && np --any-branch --tag=$npm_config_tag",
16
+ "publishing-beta-1": "node ./scripts/publishing --np-new-version=$npm_config_np_new_version --np-any-branch=$npm_config_np_any_branch --np-tag=$npm_config_np_tag",
17
+ "publishing-beta-2": "node ./scripts/clean-build && node ./scripts/generating-docs && np --any-branch",
17
18
  "test": "jest test",
18
19
  "test:watch": "jest --watch test"
19
20
  },
@@ -0,0 +1,133 @@
1
+ /**
2
+ * Script for cleaning the project from temporary files and building a new bundle
3
+ * 1- Deleting some directories and files
4
+ * 2- Installing dependencies
5
+ * 3- Build a new bundle
6
+ */
7
+
8
+ const fs = require('fs');
9
+ const util = require('util');
10
+ const childProcess = require('child_process');
11
+ const exec = util.promisify(childProcess.exec);
12
+ const proc = require('process');
13
+ const readline = require("readline");
14
+ const rl = readline.createInterface({
15
+ input: proc.stdin,
16
+ output: proc.stdout
17
+ });
18
+ const question = util.promisify(rl.question).bind(rl);
19
+ const { exit } = require('process');
20
+
21
+ async function execute(command) {
22
+ console.log(command);
23
+ const response = await exec(command);
24
+ if (response.error != null) {
25
+ throw new Error(response.error);
26
+ }
27
+ if (response.stderr != null && response.stderr !== '') {
28
+ console.error(response.stderr);
29
+ }
30
+ if (response.stdout != null && response.stdout !== '') {
31
+ console.log(response.stdout);
32
+ }
33
+ return response;
34
+ }
35
+
36
+ async function getPackageJson(settings) {
37
+ console.log('==>>> Opening package.json file...');
38
+ const packageJson = await fs.readFileSync(settings.packagePath, 'utf8');
39
+ const packageObject = JSON.parse(packageJson);
40
+ if (packageObject != null) {
41
+ console.log(`**** The current version is ${packageObject.version}`);
42
+ return packageObject.version;
43
+ }
44
+ return '';
45
+ }
46
+
47
+ async function getNewVersion() {
48
+ console.log('==>>> Checking the new version provided...');
49
+ let newVersion;
50
+ const versionIndex = proc.argv.findIndex(function (argv) { return argv.includes('--np-new-version='); });
51
+ if (versionIndex > -1) {
52
+ const versionArg = proc.argv[versionIndex].split('--np-new-version=');
53
+ newVersion = versionArg[1] == null || versionArg[1] === '' ? undefined : versionArg[1];
54
+ }
55
+ if (newVersion == null) {
56
+ newVersion = await question('No version provided. Type the new version: ');
57
+ }
58
+ console.log('**** Version to publish: ' + newVersion);
59
+ return newVersion;
60
+ }
61
+
62
+ async function startGeneratingDocs(settings) {
63
+ console.log('==>>> Starting the Docs generation');
64
+
65
+ await generatingDocument(settings);
66
+ await changingVersion(settings);
67
+ await pushingChanges(settings);
68
+ }
69
+
70
+ async function generatingDocument(settings) {
71
+ console.log('==>>> Generating Document...');
72
+ await execute(`doxdox './dist/**/*.js' --output ${settings.docsFileName} --ignore './dist/cjs/**/*.js' --package ${settings.packagePath} --layout markdown`);
73
+ }
74
+
75
+ async function changingVersion(settings) {
76
+ console.log('==>>> Replacing the old version in the document');
77
+ const doc = await fs.readFileSync(settings.docsPath, 'utf8');
78
+ const replacedDoc = doc.replace(settings.currentVersion, settings.newVersion);
79
+ await fs.writeFileSync(settings.docsPath, replacedDoc, 'utf8');
80
+ }
81
+
82
+ async function pushingChanges(settings) {
83
+ console.log('==>>> Commiting and Pushing Docs changes...');
84
+
85
+ const gitStatus = await execute('git status -s');
86
+ console.log('gitStatus', gitStatus);
87
+ if (gitStatus.stdout !== '') {
88
+ const gitStdout = await execute('git rev-parse --abbrev-ref HEAD');
89
+ console.log('gitStdout', gitStdout);
90
+ await execute(`git add ${settings.docsPath}`);
91
+ await execute(`git commit -m "📝 docs: Updated docs${settings.newVersion != null || settings.newVersion !== '' ? ' for ' + settings.newVersion : ''}"`);
92
+ await execute(`git push -u origin ${gitStdout.stdout}`);
93
+ } else {
94
+ console.log('Nothing to Push');
95
+ }
96
+ }
97
+
98
+ async function revertChanges(settings) {
99
+ console.log('>>> Checking for modifications...');
100
+ console.warn(`>>> Unstaging posible changes from ${settings.docsFileName} and ${settings.packageFileName} file`);
101
+ await execute(`git restore --staged ${settings.docsPath} ${settings.packagePath}`);
102
+ console.warn(`>>> Discarting posible changes of ${settings.docsFileName} and ${settings.packageFileName} file`);
103
+ await execute(`git checkout -- ${settings.docsPath} ${settings.packagePath}`);
104
+ }
105
+
106
+ async function init() {
107
+ console.log('Generating Docs execution.');
108
+ let settings = {
109
+ currentVersion: '',
110
+ docsPath: './README.md',
111
+ docsFileName: 'README.md',
112
+ newVersion: undefined,
113
+ packageFileName: 'package.json',
114
+ packagePath: './package.json',
115
+ };
116
+
117
+ try {
118
+ settings["currentVersion"] = await getPackageJson(settings);
119
+ settings["newVersion"] = await getNewVersion();
120
+
121
+ await startGeneratingDocs(settings);
122
+ console.info('Docs were generated.');
123
+ } catch (err) {
124
+ console.error('Error: ', err);
125
+ await revertChanges(settings);
126
+ } finally {
127
+ console.log('Execution finished');
128
+ exit();
129
+ }
130
+ }
131
+
132
+ init();
133
+
@@ -153,11 +153,17 @@ async function changingVersion(settings) {
153
153
  async function pushingChanges(settings) {
154
154
  console.log('==>>> Commiting and Pushing Docs changes...');
155
155
 
156
- const gitStdout = await execute('git rev-parse --abbrev-ref HEAD');
157
- console.log('gitStdout', gitStdout);
158
- await execute(`git add ${settings.docsPath}`);
159
- await execute(`git commit -m "📝 docs: Updated docs${settings.newVersion != null || settings.newVersion !== '' ? ' for ' + settings.newVersion : ''}"`);
160
- await execute(`git push -u origin ${gitStdout.stdout}`);
156
+ const gitStatus = await execute('git status -s');
157
+ console.log('gitStatus', gitStatus);
158
+ if (gitStatus.stdout !== '') {
159
+ const gitStdout = await execute('git rev-parse --abbrev-ref HEAD');
160
+ console.log('gitStdout', gitStdout);
161
+ await execute(`git add ${settings.docsPath}`);
162
+ await execute(`git commit -m "📝 docs: Updated docs${settings.newVersion != null || settings.newVersion !== '' ? ' for ' + settings.newVersion : ''}"`);
163
+ await execute(`git push -u origin ${gitStdout.stdout}`);
164
+ } else {
165
+ console.log('Nothing to Push');
166
+ }
161
167
  }
162
168
 
163
169
  async function revertChanges(settings) {
@@ -179,7 +185,6 @@ async function init() {
179
185
  packageFileName: 'package.json',
180
186
  packageLockPath: './package-lock.json',
181
187
  packagePath: './package.json',
182
-
183
188
  };
184
189
 
185
190
  console.log('Welcome. The publishing operationg will begin.');
@@ -25,7 +25,7 @@ export const DATE_REGULAR_EXPRESSION = {
25
25
  SECOND: `^${YEAR_MONTH_NUMBER}/${MONTH_DAY}/${YEAR} ${DAY_TIME}$`,
26
26
  MONTH_DAY: `^${MONTH_DAY}$`,
27
27
  YEAR_MONTH: `^${YEAR_MONTH}$`,
28
- YEAR_MONTH_NUMBER: `${YEAR_MONTH_NUMBER}`,
28
+ YEAR_MONTH_NUMBER: `^${YEAR_MONTH_NUMBER}$`,
29
29
  YEAR_QUARTER: `^${YEAR_QUARTER}$`,
30
30
  YEAR_WEEK: `^${YEAR_WEEK}$`,
31
31
  DAY_HOUR: `^${DAY_HOUR}$`,
@@ -7,7 +7,7 @@ import { IDateFormat } from "../interfaces/IDateFormat";
7
7
  * @returns a separator string
8
8
  */
9
9
  export function getSeparatorByDateFormat(format: IDateFormat = DATE_FORMAT.DAY): string {
10
- return format === DATE_FORMAT.YEAR || format === DATE_FORMAT.DAY_TIME || format === DATE_FORMAT.MONTH_DAY || format === DATE_FORMAT.YEAR_MONTH || format === DATE_FORMAT.YEAR_QUARTER || format === DATE_FORMAT.YEAR_WEEK || format === DATE_FORMAT.DAY_HOUR|| format === DATE_FORMAT.HOUR_MINUTE || format === DATE_FORMAT.MINUTE_SECOND ? '' :
10
+ return format === DATE_FORMAT.YEAR || format === DATE_FORMAT.DAY_TIME || format === DATE_FORMAT.MONTH_DAY || format === DATE_FORMAT.YEAR_MONTH || format === DATE_FORMAT.YEAR_QUARTER || format === DATE_FORMAT.YEAR_WEEK || format === DATE_FORMAT.DAY_HOUR|| format === DATE_FORMAT.HOUR_MINUTE || format === DATE_FORMAT.MINUTE_SECOND ? ' ' :
11
11
  format === DATE_FORMAT.MONTH || format === DATE_FORMAT.QUARTER || format === DATE_FORMAT.WEEK || format === DATE_FORMAT.HOUR || format === DATE_FORMAT.MINUTE || format === DATE_FORMAT.SECOND ? ' ' :
12
12
  '/';
13
13
  }
@@ -14,7 +14,7 @@ import { validateDateByDateFormat } from "./validateDateByDateFormat";
14
14
  * @param format String of the format to validate
15
15
  * @returns True if it is valid or not. Undefined if date is undefined
16
16
  */
17
- export function validateDate(date: string, format: IDateFormat = DATE_FORMAT.DAY): boolean {
17
+ export function validateDate(date: string, format: IDateFormat = DATE_FORMAT.DAY): boolean {
18
18
  if (isEmpty(date)) return false;
19
19
  if (isTokenLabel(date)) return true;
20
20
 
@@ -15,7 +15,7 @@ export function validateDateByDateFormat(date: string, dateFormat: IDateFormat =
15
15
  const separator = getSeparatorByDateFormat(dateFormat);
16
16
  const separatedDate = date.split(separator);
17
17
  const regularExpression = getDateFormatRegularExpressionInArray(dateFormat);
18
-
18
+
19
19
  if (regularExpression.length !== separatedDate.length) return false;
20
20
 
21
21
  for (let i = 0; i < separatedDate.length; i++) {
@@ -15,11 +15,10 @@ import { IFUUIValueSettings } from "../../interfaces/ui/IFUUIValueSettings";
15
15
  import { getI18nDateGroupLabel, IDateColumnPropertyType } from "../../..";
16
16
 
17
17
  /**
18
- *
19
- * @param filter
20
- * @param addEnableds
21
- * @param rankingGroupIndex
22
- * @returns
18
+ * Gets the UI Values from the filter object
19
+ * @param filter The filter object
20
+ * @param settings configuration for this function
21
+ * @returns an array of values
23
22
  */
24
23
  export function getUIValues(filter: IFSFilter, settings?: IFUUIValueSettings): IFUValue[] {
25
24
  settings = getUiValuesSettings(settings);
@@ -43,7 +42,7 @@ export function getUIValues(filter: IFSFilter, settings?: IFUUIValueSettings): I
43
42
  case FILTER_VALIDATOR.BETWEEN_INCLUSIVE:
44
43
  case FILTER_VALIDATOR.BETWEEN_EXCLUSIVE:
45
44
  return (filter.values as IFSValueRange[]).map(value => ({
46
- value: `${getValueLabel(value.min, filter, settings)} - ${getValueLabel(value.max, filter, settings)}`,
45
+ value: `${getValueLabel(value.min, filter, settings)} ${getRangeSeparator(settings)} ${getValueLabel(value.max, filter, settings)}`,
47
46
  enabled: settings.addEnableds ? value.enabled != null ? value.enabled : true : undefined,
48
47
  }));
49
48
  case FILTER_VALIDATOR.IS_NULL:
@@ -83,6 +82,8 @@ function getValueLabel(value, filter, settings: IFUUIValueSettings): string {
83
82
  function getUiValuesSettings(settings: IFUUIValueSettings): IFUUIValueSettings {
84
83
  return {
85
84
  addEnableds: settings?.addEnableds ?? false,
85
+ rangeSeparator: settings?.rangeSeparator || '-',
86
+ rangeSeparatorPath: settings?.rangeSeparatorPath,
86
87
  rankingGroupIndex: settings?.rankingGroupIndex,
87
88
  translate: settings?.translate,
88
89
  };
@@ -102,3 +103,11 @@ function getRankingUIValues(values: IFSValueRanking[][], addEnableds = false, ra
102
103
  enabled: addEnableds ? rankingValue.enabled : undefined
103
104
  }));
104
105
  }
106
+
107
+ function getRangeSeparator(settings: IFUUIValueSettings): string {
108
+ if (!isEmpty(settings.translate) && !isEmpty(settings.rangeSeparatorPath)) {
109
+ return settings.translate(settings.rangeSeparatorPath);
110
+ } else {
111
+ return settings.rangeSeparator;
112
+ }
113
+ }
@@ -3,5 +3,7 @@ import { II18nServiceTranslate } from "../../../globalization/interfaces/II18nSe
3
3
  export interface IFUUIValueSettings {
4
4
  addEnableds?: boolean;
5
5
  rankingGroupIndex?: number;
6
+ rangeSeparator?: string; // The string to separate the min and max values from range validator
7
+ rangeSeparatorPath?: string; // Prioriteze over rangeSeparator. Path for translate the range separator
6
8
  translate?: II18nServiceTranslate;
7
9
  }