@sankhyalabs/core 5.15.0 → 5.20.0-dev.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/.docs/classes/ArrayUtils.md +133 -3
  2. package/.docs/classes/Change.md +11 -11
  3. package/.docs/classes/DataUnit.md +96 -96
  4. package/.docs/classes/JSUtils.md +25 -0
  5. package/.docs/classes/ObjectUtils.md +26 -0
  6. package/.docs/classes/SearchUtils.md +43 -0
  7. package/.docs/classes/SelectionInfo.md +11 -11
  8. package/.docs/classes/StringUtils.md +177 -23
  9. package/.docs/enums/ChangeOperation.md +4 -4
  10. package/.docs/enums/SelectionMode.md +2 -2
  11. package/.docs/interfaces/DUActionInterceptor.md +1 -1
  12. package/.docs/interfaces/PageRequest.md +3 -3
  13. package/.docs/interfaces/QuickFilter.md +3 -3
  14. package/.docs/interfaces/Record.md +4 -4
  15. package/.docs/interfaces/SavedRecord.md +5 -5
  16. package/.docs/interfaces/WaitingChange.md +3 -3
  17. package/.docs/modules.md +1 -0
  18. package/dist/dataunit/DataUnit.js +1 -1
  19. package/dist/dataunit/DataUnit.js.map +1 -1
  20. package/dist/index.d.ts +2 -1
  21. package/dist/index.js +2 -1
  22. package/dist/index.js.map +1 -1
  23. package/dist/utils/ArrayUtils.d.ts +39 -0
  24. package/dist/utils/ArrayUtils.js +69 -0
  25. package/dist/utils/ArrayUtils.js.map +1 -1
  26. package/dist/utils/JSUtils.d.ts +7 -0
  27. package/dist/utils/JSUtils.js +16 -0
  28. package/dist/utils/JSUtils.js.map +1 -1
  29. package/dist/utils/ObjectUtils.d.ts +8 -0
  30. package/dist/utils/ObjectUtils.js +10 -0
  31. package/dist/utils/ObjectUtils.js.map +1 -1
  32. package/dist/utils/SearchUtils.d.ts +6 -0
  33. package/dist/utils/SearchUtils.js +17 -0
  34. package/dist/utils/SearchUtils.js.map +1 -0
  35. package/dist/utils/StringUtils.d.ts +7 -0
  36. package/dist/utils/StringUtils.js +97 -0
  37. package/dist/utils/StringUtils.js.map +1 -1
  38. package/package.json +1 -1
  39. package/src/dataunit/DataUnit.ts +5 -1
  40. package/src/index.ts +2 -0
  41. package/src/utils/ArrayUtils.ts +73 -0
  42. package/src/utils/JSUtils.ts +18 -0
  43. package/src/utils/ObjectUtils.ts +11 -0
  44. package/src/utils/SearchUtils.ts +18 -0
  45. package/src/utils/StringUtils.ts +124 -0
@@ -1,4 +1,6 @@
1
1
  import { v4 as uuid } from "uuid";
2
+ import ArrayUtils from "./ArrayUtils.js";
3
+ import { JSUtils } from "./JSUtils.js";
2
4
  /**
3
5
  * `StringUtils`: Utilizado para manipulação de Strings.
4
6
  */
@@ -372,5 +374,100 @@ export class StringUtils {
372
374
  static getOppositeCase(original) {
373
375
  return this.isLowerCase(original) ? original.toUpperCase() : original.toLowerCase();
374
376
  }
377
+ static replaceToSpace(source, replaceList = []) {
378
+ if (source == undefined) {
379
+ return source;
380
+ }
381
+ replaceList.forEach((word) => {
382
+ const wordAux = new RegExp(word, 'g');
383
+ let whiteSpace = '';
384
+ for (let i = 0; i < word.length; i++) {
385
+ whiteSpace += ' ';
386
+ }
387
+ source = String(source).replace(wordAux, whiteSpace);
388
+ });
389
+ return source;
390
+ }
391
+ static replaceAccentuatedCharsHtmlEntities(source) {
392
+ const charsWithoutAccentuation = "AEIOU_AO_AEIOU_AEIOU_U_C_aeiou_ao_aeiou_aeiou_u_c";
393
+ if (source == undefined) {
394
+ return source;
395
+ }
396
+ const replaceList = ['&amp;', '&lt;', '&gt;', '&quot;'];
397
+ const sourceAux = StringUtils.replaceToSpace(source, replaceList);
398
+ return sourceAux.replace(/[^\w ]/g, (char) => {
399
+ let index = charsWithoutAccentuation.indexOf(char);
400
+ if (index > -1) {
401
+ char = charsWithoutAccentuation.charAt(index);
402
+ }
403
+ return char || '';
404
+ });
405
+ }
406
+ static getSpecialCharacters(str) {
407
+ const specialCharsRegex = /[[.\-\$\+\*,_\&\(\)%\/\\#@!:\|\=\'\"]/gmi;
408
+ let match;
409
+ let charList = [];
410
+ while ((match = specialCharsRegex.exec(str))) {
411
+ charList.push(str[match.index]);
412
+ }
413
+ return charList;
414
+ }
415
+ static replaceAll(str, strFrom, strTo) {
416
+ let pos = (str != undefined ? str : '').indexOf(strFrom);
417
+ while (pos > -1) {
418
+ str = str.replace(strFrom, strTo);
419
+ pos = str.indexOf(strFrom);
420
+ }
421
+ return (str);
422
+ }
423
+ static removeSpecialCharacters(str) {
424
+ let specialChars = StringUtils.getSpecialCharacters(str);
425
+ specialChars.forEach((ch) => {
426
+ str = StringUtils.replaceAll(str, ch, '');
427
+ });
428
+ return str;
429
+ }
430
+ static getArgumentNumber(argument) {
431
+ return Number(argument || undefined);
432
+ }
433
+ static highlightValue(argument, matchFields, value, fieldMD, forceMatch) {
434
+ const startHighlightTag = "<span class='card-item__highlight'>";
435
+ const endHighlightTag = "</span>";
436
+ let valueAux = JSUtils.replaceHtmlEntities(value);
437
+ if (argument && (forceMatch || ArrayUtils.isIn(matchFields, fieldMD.fieldName))) {
438
+ const argumentNumber = StringUtils.getArgumentNumber(argument);
439
+ let replacements = (isNaN(argumentNumber) ? argument : argumentNumber.toString()).split(/%|,|\s+/);
440
+ let lastMatchIndex = 0;
441
+ let cleanText = StringUtils.replaceAccentuatedCharsHtmlEntities(valueAux);
442
+ replacements.forEach((r) => {
443
+ if (r) {
444
+ r = StringUtils.replaceAccentuatedCharsHtmlEntities(r);
445
+ let specialChars = StringUtils.getSpecialCharacters(r);
446
+ if (specialChars != undefined && specialChars.length > 0) {
447
+ r = StringUtils.removeSpecialCharacters(r);
448
+ }
449
+ if (fieldMD.mask || fieldMD.uiType === 'CGC_CPF' || fieldMD.uiType === 'Phone') {
450
+ //Fazemos isso para descondirerar os caracteres especiais de formatação da string
451
+ r = r.split('').join('\\.?\\-?\\/?\\(?\\)?');
452
+ }
453
+ let regex = new RegExp(r, "ig");
454
+ regex.lastIndex = lastMatchIndex;
455
+ let match = regex.exec(cleanText);
456
+ if (match && match.length > 0) {
457
+ lastMatchIndex = match.index;
458
+ let sizeMatch = match[0].length;
459
+ let txtToColor = valueAux.substring(lastMatchIndex, lastMatchIndex + sizeMatch);
460
+ let txtColored = (txtToColor === null || txtToColor === void 0 ? void 0 : txtToColor.trim()) ? startHighlightTag + txtToColor + endHighlightTag : '';
461
+ let start = valueAux.substring(0, lastMatchIndex);
462
+ let end = valueAux.substring(lastMatchIndex + sizeMatch);
463
+ valueAux = start + txtColored + end;
464
+ lastMatchIndex = lastMatchIndex + txtColored.length;
465
+ cleanText = StringUtils.replaceAccentuatedCharsHtmlEntities(valueAux);
466
+ }
467
+ }
468
+ });
469
+ }
470
+ return valueAux;
471
+ }
375
472
  }
376
473
  //# sourceMappingURL=StringUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StringUtils.js","sourceRoot":"","sources":["../../src/utils/StringUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StringUtils.js","sourceRoot":"","sources":["../../src/utils/StringUtils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sankhyalabs/core",
3
- "version": "5.15.0",
3
+ "version": "5.20.0-dev.2",
4
4
  "description": "Modulo core JavaScript da Sankhya.",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -216,7 +216,11 @@ export default class DataUnit {
216
216
  if (this.dataLoader) {
217
217
  this.dataLoader(this, request).then(
218
218
  response => {
219
- this.dispatchAction(Action.DATA_LOADED, {...response, keepSelection: request.keepSelection}, executionCtx);
219
+ this.dispatchAction(
220
+ Action.DATA_LOADED,
221
+ {...response, keepSelection: request.keepSelection, filters: request.filters},
222
+ executionCtx
223
+ );
220
224
 
221
225
  if(selectFirstRecord){
222
226
  this.requestSelectFirst(executionCtx);
package/src/index.ts CHANGED
@@ -38,6 +38,7 @@ import { ILoadResult } from "./repository/ILoadResult.js";
38
38
  import { IRepositoryIndex } from "./repository/indexeddb/IRepositoryIndex.js"
39
39
  import { FieldComparator } from "./dataunit/sorting/FieldComparator.js";
40
40
  import { KeyboardManager } from "./utils/KeyboardManager/index.js";
41
+ import { SearchUtils } from "./utils/SearchUtils.js";
41
42
 
42
43
  /*Classes públicas no pacote*/
43
44
  export {
@@ -104,4 +105,5 @@ export {
104
105
  FieldComparator,
105
106
  defaultDataLoader,
106
107
  KeyboardManager,
108
+ SearchUtils,
107
109
  };
@@ -1,5 +1,6 @@
1
1
  import { StringUtils } from "./StringUtils.js";
2
2
  import { NumberUtils } from './NumberUtils.js';
3
+ import ObjectUtils from "./ObjectUtils.js";
3
4
 
4
5
  /**
5
6
  * `ArrayUtils`: Utilitário com a responsabilidade de manipular Arrays.
@@ -58,4 +59,76 @@ export default class ArrayUtils {
58
59
  }
59
60
  });
60
61
  }
62
+
63
+ /**
64
+ * Ordena valores de um array alfabeticamente.
65
+ *
66
+ * @param arr - Array a ser ordenado.
67
+ * @returns - Array ordenado alfabeticamente..
68
+ */
69
+ public static find(arr: any, checkerFn: any) {
70
+ if (arr) {
71
+ for (let i = 0, length = arr.length; i < length; i++) {
72
+ if (checkerFn(arr[i], i, arr)) {
73
+ return arr[i];
74
+ }
75
+ }
76
+ } else {
77
+ return undefined;
78
+ }
79
+ }
80
+
81
+ /**
82
+ * Retorna o objeto se for encontrado no array, ou -1 se não for encontrado.
83
+ *
84
+ * @param arr - Array onde está o objeto.
85
+ * @param obj - Objeto a ser procurado.
86
+ * @returns - Array ordenado alfabeticamente..
87
+ */
88
+ public static indexOf(arr: any, obj: any) {
89
+ let index = -1;
90
+ if (Array.isArray(arr)) {
91
+ ArrayUtils.find(arr, (item: any, i: number) => {
92
+ index = i;
93
+ return ObjectUtils.equals(obj, item);
94
+ });
95
+ }
96
+ return index;
97
+ }
98
+
99
+ /**
100
+ * Remove um item de array de acordo com o index.
101
+ *
102
+ * @param array - Array onde está o item.
103
+ * @param index - Index do item a ser removido.
104
+ * @returns - Array sem o item do index informado.
105
+ */
106
+ public static removeAtIndex(array: any, index: number) {
107
+ if (index >= 0 && index < array.length) {
108
+ return array.splice(index, 1)[0];
109
+ }
110
+ }
111
+
112
+ /**
113
+ * Remove um objeto do array.
114
+ *
115
+ * @param array - Array onde está o objeto.
116
+ * @param obj - Objeto a ser removido.
117
+ * @returns - Array sem o Objeto informado.
118
+ */
119
+ public static removeReference(array: any, obj: any) {
120
+ let index = ArrayUtils.indexOf(array, obj);
121
+ return ArrayUtils.removeAtIndex(array, index);
122
+ }
123
+
124
+ /**
125
+ * Remove um objeto do array.
126
+ *
127
+ * @param array - Array onde está o objeto.
128
+ * @param obj - Objeto a ser removido.
129
+ * @returns - Array sem o Objeto informado.
130
+ */
131
+ public static isIn(arr: any, obj: any) {
132
+ return ArrayUtils.indexOf(arr, obj) > -1;
133
+ }
61
134
  }
@@ -95,4 +95,22 @@ export class JSUtils{
95
95
  public static generateUUID(): string {
96
96
  return uuid();
97
97
  }
98
+
99
+ /**
100
+ * Substitui caracteres para suas entidades HTML.
101
+ *
102
+ * @param source - String a ter os caracteres substituidos.
103
+ * @returns - Retorna um UUID.
104
+ */
105
+ public static replaceHtmlEntities(source: string) {
106
+ if (source == undefined) {
107
+ return source;
108
+ }
109
+
110
+ return String(source)
111
+ .replace(/&/g, '&amp;')
112
+ .replace(/</g, '&lt;')
113
+ .replace(/>/g, '&gt;')
114
+ .replace(/"/g, '&quot;');
115
+ }
98
116
  }
@@ -73,4 +73,15 @@ export default class ObjectUtils{
73
73
  );
74
74
 
75
75
  }
76
+
77
+ /**
78
+ * Compara se um objeto é igual a outro objeto.
79
+ *
80
+ * @param obj1 - Objeto a ser comparado.
81
+ * @param obj2 - Objeto a ser comparado.
82
+ * @returns - Se o objeto 1 é igual ao objeto 2.
83
+ */
84
+ public static equals(obj1: any, obj2: any): any {
85
+ return ObjectUtils.objectToString(obj1) === ObjectUtils.objectToString(obj2);
86
+ }
76
87
  }
@@ -0,0 +1,18 @@
1
+ import { StringUtils } from "./StringUtils.js";
2
+
3
+ /**
4
+ * `Search`: Utilizado para manipulação de do objeto de pesquisa.
5
+ */
6
+ export class SearchUtils {
7
+
8
+ public static buildDetails(argument: String, fields: any, item: any) {
9
+ let details:any = {};
10
+ for (let index = 0; (index < fields.length); index++) {
11
+ const field = fields[index];
12
+ const itemValue = item[field.fieldName];
13
+ const optionValue = field.options ? field.options[itemValue] || itemValue : itemValue;
14
+ details[field.description] = StringUtils.highlightValue(argument, item['__matchFields'], optionValue, fields, true);
15
+ }
16
+ return details;
17
+ }
18
+ }
@@ -1,4 +1,6 @@
1
1
  import { v4 as uuid } from "uuid";
2
+ import ArrayUtils from "./ArrayUtils.js";
3
+ import { JSUtils } from "./JSUtils.js";
2
4
 
3
5
  /**
4
6
  * `StringUtils`: Utilizado para manipulação de Strings.
@@ -414,4 +416,126 @@ export class StringUtils {
414
416
  static getOppositeCase(original: string): string {
415
417
  return this.isLowerCase(original) ? original.toUpperCase() : original.toLowerCase()
416
418
  }
419
+
420
+ public static replaceToSpace(source: string, replaceList: string[] = []) {
421
+ if (source == undefined) {
422
+ return source;
423
+ }
424
+
425
+ replaceList.forEach((word: string) => {
426
+ const wordAux = new RegExp(word, 'g');
427
+ let whiteSpace = '';
428
+ for (let i = 0; i < word.length; i++) {
429
+ whiteSpace += ' ';
430
+ }
431
+ source = String(source).replace(wordAux, whiteSpace);
432
+ });
433
+
434
+ return source;
435
+ }
436
+
437
+ public static replaceAccentuatedCharsHtmlEntities(source: string) {
438
+ const charsWithoutAccentuation = "AEIOU_AO_AEIOU_AEIOU_U_C_aeiou_ao_aeiou_aeiou_u_c";
439
+ if (source == undefined) {
440
+ return source;
441
+ }
442
+
443
+ const replaceList = ['&amp;', '&lt;', '&gt;', '&quot;'];
444
+ const sourceAux = StringUtils.replaceToSpace(source, replaceList);
445
+
446
+ return sourceAux.replace(/[^\w ]/g, (char: string) => {
447
+ let index = charsWithoutAccentuation.indexOf(char);
448
+
449
+ if (index > -1) {
450
+ char = charsWithoutAccentuation.charAt(index);
451
+ }
452
+
453
+ return char || '';
454
+ });
455
+ }
456
+
457
+ public static getSpecialCharacters(str: string) {
458
+ const specialCharsRegex = /[[.\-\$\+\*,_\&\(\)%\/\\#@!:\|\=\'\"]/gmi;
459
+ let match: any;
460
+ let charList = [];
461
+ while ((match = specialCharsRegex.exec(str))) {
462
+ charList.push(str[match.index]);
463
+ }
464
+ return charList;
465
+ }
466
+
467
+ public static replaceAll(str: string, strFrom: string, strTo: string) {
468
+ let pos = (str != undefined ? str : '').indexOf(strFrom);
469
+ while (pos > -1) {
470
+ str = str.replace(strFrom, strTo);
471
+ pos = str.indexOf(strFrom);
472
+ }
473
+ return (str);
474
+ }
475
+
476
+ public static removeSpecialCharacters(str: string) {
477
+ let specialChars = StringUtils.getSpecialCharacters(str);
478
+ specialChars.forEach((ch: string) => {
479
+ str = StringUtils.replaceAll(str, ch, '');
480
+ });
481
+
482
+ return str;
483
+ }
484
+
485
+ public static getArgumentNumber(argument: String) {
486
+ return Number(argument || undefined);
487
+ }
488
+
489
+ public static highlightValue(argument: String, matchFields: any, value: string, fieldMD: any, forceMatch: boolean) {
490
+ const startHighlightTag = "<span class='card-item__highlight'>";
491
+ const endHighlightTag = "</span>";
492
+ let valueAux = JSUtils.replaceHtmlEntities(value);
493
+
494
+ if (argument && (forceMatch || ArrayUtils.isIn(matchFields, fieldMD.fieldName))) {
495
+ const argumentNumber = StringUtils.getArgumentNumber(argument);
496
+
497
+ let replacements = (isNaN(argumentNumber) ? argument : argumentNumber.toString()).split(/%|,|\s+/);
498
+ let lastMatchIndex = 0;
499
+ let cleanText = StringUtils.replaceAccentuatedCharsHtmlEntities(valueAux);
500
+
501
+ replacements.forEach((r: string) => {
502
+ if (r) {
503
+ r = StringUtils.replaceAccentuatedCharsHtmlEntities(r);
504
+
505
+ let specialChars = StringUtils.getSpecialCharacters(r);
506
+
507
+ if (specialChars != undefined && specialChars.length > 0) {
508
+ r = StringUtils.removeSpecialCharacters(r);
509
+ }
510
+
511
+ if (fieldMD.mask || fieldMD.uiType === 'CGC_CPF' || fieldMD.uiType === 'Phone') {
512
+ //Fazemos isso para descondirerar os caracteres especiais de formatação da string
513
+ r = r.split('').join('\\.?\\-?\\/?\\(?\\)?');
514
+ }
515
+
516
+ let regex = new RegExp(r, "ig");
517
+ regex.lastIndex = lastMatchIndex;
518
+ let match = regex.exec(cleanText);
519
+
520
+ if (match && match.length > 0) {
521
+ lastMatchIndex = match.index;
522
+ let sizeMatch = match[0].length;
523
+
524
+ let txtToColor = valueAux.substring(lastMatchIndex, lastMatchIndex + sizeMatch);
525
+ let txtColored = txtToColor?.trim() ? startHighlightTag + txtToColor + endHighlightTag : '';
526
+
527
+ let start = valueAux.substring(0, lastMatchIndex);
528
+ let end = valueAux.substring(lastMatchIndex + sizeMatch);
529
+
530
+ valueAux = start + txtColored + end;
531
+ lastMatchIndex = lastMatchIndex + txtColored.length;
532
+
533
+ cleanText = StringUtils.replaceAccentuatedCharsHtmlEntities(valueAux);
534
+ }
535
+ }
536
+ });
537
+ }
538
+
539
+ return valueAux;
540
+ }
417
541
  }