@sankhyalabs/core 2.3.0 → 2.3.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 (64) hide show
  1. package/.releaserc +6 -3
  2. package/.reusable-default-scripts.yml +24 -0
  3. package/build.env +2 -1
  4. package/dist/utils/ElementIDUtils.d.ts +1 -0
  5. package/dist/utils/ElementIDUtils.js +14 -3
  6. package/dist/utils/ElementIDUtils.js.map +1 -1
  7. package/dist/utils/StringUtils.d.ts +21 -3
  8. package/dist/utils/StringUtils.js +45 -27
  9. package/dist/utils/StringUtils.js.map +1 -1
  10. package/package.json +1 -1
  11. package/publish-docs.sh +13 -0
  12. package/src/utils/ElementIDUtils.ts +19 -8
  13. package/src/utils/StringUtils.ts +48 -27
  14. package/test/util/ElementIDUtils.spec.ts +3 -3
  15. package/test/util/StringUtils.spec.ts +11 -4
  16. package/.docs/.nojekyll +0 -1
  17. package/.docs/README.md +0 -57
  18. package/.docs/classes/ApplicationContext.md +0 -76
  19. package/.docs/classes/ArrayUtils.md +0 -89
  20. package/.docs/classes/AuthorizedServiceCaller.md +0 -76
  21. package/.docs/classes/Change.md +0 -168
  22. package/.docs/classes/DataUnit.md +0 -1394
  23. package/.docs/classes/DataUnitAction.md +0 -96
  24. package/.docs/classes/DateUtils.md +0 -190
  25. package/.docs/classes/ElementIDUtils.md +0 -222
  26. package/.docs/classes/ErrorException.md +0 -204
  27. package/.docs/classes/ErrorTracking.md +0 -54
  28. package/.docs/classes/FloatingManager.md +0 -384
  29. package/.docs/classes/HttpProvider.md +0 -96
  30. package/.docs/classes/MaskFormatter-1.md +0 -336
  31. package/.docs/classes/NumberUtils.md +0 -188
  32. package/.docs/classes/ObjectUtils.md +0 -81
  33. package/.docs/classes/ReadyUtil.md +0 -103
  34. package/.docs/classes/RequestMetadata.md +0 -84
  35. package/.docs/classes/SkwHttpProvider.md +0 -109
  36. package/.docs/classes/StringUtils.md +0 -315
  37. package/.docs/classes/TimeFormatter.md +0 -98
  38. package/.docs/classes/UserAgentUtils.md +0 -48
  39. package/.docs/classes/WaitingChangeException.md +0 -192
  40. package/.docs/classes/WarningException.md +0 -204
  41. package/.docs/enums/Action.md +0 -250
  42. package/.docs/enums/ChangeOperation.md +0 -52
  43. package/.docs/enums/DataType.md +0 -63
  44. package/.docs/enums/DependencyType.md +0 -41
  45. package/.docs/enums/SortMode.md +0 -30
  46. package/.docs/enums/UserInterface.md +0 -195
  47. package/.docs/interfaces/DUActionInterceptor.md +0 -29
  48. package/.docs/interfaces/ExecutionContext.md +0 -58
  49. package/.docs/interfaces/FieldDescriptor.md +0 -129
  50. package/.docs/interfaces/Filter.md +0 -41
  51. package/.docs/interfaces/IElementIDInfo.md +0 -30
  52. package/.docs/interfaces/LoadDataRequest.md +0 -63
  53. package/.docs/interfaces/LoadDataResponse.md +0 -30
  54. package/.docs/interfaces/PageRequest.md +0 -41
  55. package/.docs/interfaces/PaginationInfo.md +0 -63
  56. package/.docs/interfaces/QuickFilter.md +0 -30
  57. package/.docs/interfaces/Record.md +0 -40
  58. package/.docs/interfaces/SavedRecord.md +0 -55
  59. package/.docs/interfaces/Sort.md +0 -41
  60. package/.docs/interfaces/SortingProvider.md +0 -29
  61. package/.docs/interfaces/UnitMetadata.md +0 -41
  62. package/.docs/interfaces/WaitingChange.md +0 -41
  63. package/.docs/modules/MaskFormatter.md +0 -37
  64. package/.docs/modules.md +0 -63
package/.releaserc CHANGED
@@ -27,9 +27,12 @@
27
27
  "gitlabApiPathPrefix": "/api/v4"
28
28
  }
29
29
  ],
30
- ["@semantic-release/exec", {
31
- "prepareCmd": "echo 'PUBLISHED_CORE_VERSION=${nextRelease.version}'>>./build.env"
32
- }]
30
+ [
31
+ "@semantic-release/exec",
32
+ {
33
+ "prepareCmd": "echo 'PUBLISHED_NEXT_VERSION=v${nextRelease.version}\nPUBLISHED_CURRENT_VERSION='`git ls-remote --tags --refs --sort='v:refname' origin | tail -n1 | sed 's/.*\\///'`>>./build.env"
34
+ }
35
+ ]
33
36
  ],
34
37
  "branches": [
35
38
  {"name": "master"},
@@ -0,0 +1,24 @@
1
+ .reusable-default-scripts:
2
+ .artifacts_eslint: {
3
+ paths: [ "node_modules/", ".docs/" ],
4
+ expire_in: 5 minutes
5
+ }
6
+
7
+ .artifacts_test: {
8
+ paths: [ "node_modules/" ],
9
+ expire_in: 5 minutes
10
+ }
11
+
12
+ .deploy_config: {
13
+ refs: [ "master", "beta", "/([0-9]+).x/" ]
14
+ }
15
+
16
+ .artifacts_env: {
17
+ reports: {
18
+ dotenv: build.env
19
+ }
20
+ }
21
+
22
+ .try_publish: {
23
+ TRY_PUBLISH: "true"
24
+ }
package/build.env CHANGED
@@ -1 +1,2 @@
1
- PUBLISHED_CORE_VERSION=2.3.0
1
+ PUBLISHED_NEXT_VERSION=v2.3.2
2
+ PUBLISHED_CURRENT_VERSION=v2.3.1-SKA-61927.13
@@ -14,4 +14,5 @@ export declare class ElementIDUtils {
14
14
  private static addSuffix;
15
15
  private static addPrefix;
16
16
  private static formatDescription;
17
+ private static getDataElementIDAttribute;
17
18
  }
@@ -2,6 +2,7 @@ import { StringUtils } from "./StringUtils.js";
2
2
  export class ElementIDUtils {
3
3
  static addIDInfo(element, suffix, iDInfo) {
4
4
  let dataElementID = this.getDataElementID(element, suffix, iDInfo);
5
+ dataElementID = StringUtils.replaceAccentuatedChars(dataElementID, false);
5
6
  dataElementID = this.addPrefix(iDInfo, dataElementID);
6
7
  element.setAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME, dataElementID);
7
8
  return dataElementID;
@@ -17,15 +18,16 @@ export class ElementIDUtils {
17
18
  return `${originalID}_${ElementIDUtils.INTERNAL_INPUT_NAME}_${sufix}`;
18
19
  }
19
20
  static getDataElementID(element, suffix, iDInfo) {
20
- if (element.hasAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME)) {
21
- return this.addSuffix(StringUtils.toCamelCase(element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME)), suffix, element);
21
+ let dataElementID = ElementIDUtils.getDataElementIDAttribute(element);
22
+ if (dataElementID != null) {
23
+ return this.addSuffix(StringUtils.toCamelCase(dataElementID), suffix, element);
22
24
  }
23
25
  const validAttribute = this.getAttributeValid(element, iDInfo);
24
26
  if (validAttribute)
25
27
  return this.addSuffix(validAttribute, suffix, element);
26
28
  if (suffix)
27
29
  return String(suffix);
28
- const tagName = StringUtils.toCamelCase(element.tagName);
30
+ let tagName = StringUtils.toCamelCase(element.tagName);
29
31
  element.setAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME, tagName);
30
32
  return tagName;
31
33
  }
@@ -45,6 +47,9 @@ export class ElementIDUtils {
45
47
  if (element.hasAttribute("label")) {
46
48
  return this.formatDescription(element.getAttribute("label"));
47
49
  }
50
+ if (element.hasAttribute("title")) {
51
+ return this.formatDescription(element.getAttribute("title"));
52
+ }
48
53
  return null;
49
54
  }
50
55
  static addSuffix(dataElementID, suffix, element) {
@@ -69,6 +74,12 @@ export class ElementIDUtils {
69
74
  return "";
70
75
  return StringUtils.toCamelCase((value.replace(/[^\w\sÀ-ÖØ-öø-ÿ]/gi, " ")).replace(/\s+/g, ' ').trim());
71
76
  }
77
+ static getDataElementIDAttribute(element) {
78
+ if (element[ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME] || element.hasAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME)) {
79
+ return element[ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME] || element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME);
80
+ }
81
+ return null;
82
+ }
72
83
  }
73
84
  ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME = "data-element-id";
74
85
  ElementIDUtils.INTERNAL_INPUT_NAME = "internal";
@@ -1 +1 @@
1
- {"version":3,"file":"ElementIDUtils.js","sourceRoot":"","sources":["../../src/utils/ElementIDUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ElementIDUtils.js","sourceRoot":"","sources":["../../src/utils/ElementIDUtils.ts"],"names":[],"mappings":"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"}
@@ -10,11 +10,29 @@ export declare class StringUtils {
10
10
  */
11
11
  static isEmpty(value: any): Boolean;
12
12
  /**
13
- * Remove acentos de vogais, substitui Ç por c e retorna a string em caixa alta.
13
+ * Remove acentos de vogais maiúsculas
14
14
  *
15
- * @param value String para ser transformada.
15
+ * @param text String para ser transformada.
16
+ * @example entrada: "ÁÊÇÒ" // retorno: "AECO"
16
17
  */
17
- static replaceAccentuatedChars(text: string): string;
18
+ static replaceAccentuatedCharsUpper(text: string): string;
19
+ /**
20
+ * Remove acentos de vogais minúsculas.
21
+ *
22
+ * @param text String para ser transformada.
23
+ * @example entrada: "áêçò" // retorno: "aeco"
24
+ */
25
+ static replaceAccentuatedCharsLower(text: string): string;
26
+ /**
27
+ * Remove acentuação de vogais e de caracteres especiais que não sejam letras ou numeral.
28
+ *
29
+ * @param text String para ser transformada.
30
+ * @param removeSpecialChars Remove outros caracteres especiais que não sejam letras e números.
31
+ * @example
32
+ * entrada: "á@Êç#Ò", false // retorno: "a@Ec#O"
33
+ * entrada: "á@Êç#Ò", true // retorno: "aEcO"
34
+ */
35
+ static replaceAccentuatedChars(text: string, removeSpecialChars?: boolean): string;
18
36
  /**
19
37
  * Remove acentos de vogais, substitui Ç por c e retorna a string em caixa alta mantendo espaços e símbolos.
20
38
  * @param text String para ser transformada.
@@ -20,35 +20,53 @@ export class StringUtils {
20
20
  return false;
21
21
  }
22
22
  /**
23
- * Remove acentos de vogais, substitui Ç por c e retorna a string em caixa alta.
23
+ * Remove acentos de vogais maiúsculas
24
24
  *
25
- * @param value String para ser transformada.
25
+ * @param text String para ser transformada.
26
+ * @example entrada: "ÁÊÇÒ" // retorno: "AECO"
26
27
  */
27
- static replaceAccentuatedChars(text) {
28
- text = text.toUpperCase();
29
- text = text.replace(/[À]/, "A");
30
- text = text.replace(/[Á]/, "A");
31
- text = text.replace(/[Â]/, "A");
32
- text = text.replace(/[Ã]/, "A");
33
- text = text.replace(/[Ä]/, "A");
34
- text = text.replace(/[È]/, "E");
35
- text = text.replace(/[É]/, "E");
36
- text = text.replace(/[Ê]/, "E");
37
- text = text.replace(/[Ë]/, "E");
38
- text = text.replace(/[Ì]/, "I");
39
- text = text.replace(/[Í]/, "I");
40
- text = text.replace(/[Î]/, "I");
41
- text = text.replace(/[Ï]/, "I");
42
- text = text.replace(/[Ò]/, "O");
43
- text = text.replace(/[Ó]/, "O");
44
- text = text.replace(/[Ô]/, "O");
45
- text = text.replace(/[Ö]/, "O");
46
- text = text.replace(/[Ù]/, "U");
47
- text = text.replace(/[Ú]/, "U");
48
- text = text.replace(/[Û]/, "U");
49
- text = text.replace(/[Ü]/, "U");
50
- text = text.replace(/[Ç]/, "C");
51
- return text.replace(/[^a-z0-9]/gi, "");
28
+ static replaceAccentuatedCharsUpper(text) {
29
+ return text.replace(/[ÀÁÂÃÄÅÆ]/g, 'A')
30
+ .replace(/[ÈÉÊË]/g, 'E')
31
+ .replace(/[ÌÍÎÏ]/g, 'I')
32
+ .replace(/[ÒÓÔÕÖØ]/g, 'O')
33
+ .replace(/[ÙÚÛÜ]/g, 'U')
34
+ .replace(/[ÝŸ]/g, 'Y')
35
+ .replace(/[Ñ]/g, 'N')
36
+ .replace(/[Ç]/g, 'C');
37
+ }
38
+ /**
39
+ * Remove acentos de vogais minúsculas.
40
+ *
41
+ * @param text String para ser transformada.
42
+ * @example entrada: "áêçò" // retorno: "aeco"
43
+ */
44
+ static replaceAccentuatedCharsLower(text) {
45
+ return text.replace(/[àáâãäåæ]/g, 'a')
46
+ .replace(/[èéêë]/g, 'e')
47
+ .replace(/[ìíîï]/g, 'i')
48
+ .replace(/[òóôõöø]/g, 'o')
49
+ .replace(/[ùúûü]/g, 'u')
50
+ .replace(/[ýÿ]/g, 'y')
51
+ .replace(/[ñ]/g, 'n')
52
+ .replace(/[ç]/g, 'c');
53
+ }
54
+ /**
55
+ * Remove acentuação de vogais e de caracteres especiais que não sejam letras ou numeral.
56
+ *
57
+ * @param text String para ser transformada.
58
+ * @param removeSpecialChars Remove outros caracteres especiais que não sejam letras e números.
59
+ * @example
60
+ * entrada: "á@Êç#Ò", false // retorno: "a@Ec#O"
61
+ * entrada: "á@Êç#Ò", true // retorno: "aEcO"
62
+ */
63
+ static replaceAccentuatedChars(text, removeSpecialChars = true) {
64
+ text = StringUtils.replaceAccentuatedCharsLower(text);
65
+ text = StringUtils.replaceAccentuatedCharsUpper(text);
66
+ if (removeSpecialChars) {
67
+ text = text.replace(/[^a-z0-9]/gi, "");
68
+ }
69
+ return text;
52
70
  }
53
71
  /**
54
72
  * Remove acentos de vogais, substitui Ç por c e retorna a string em caixa alta mantendo espaços e símbolos.
@@ -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": "2.3.0",
3
+ "version": "2.3.2",
4
4
  "description": "Modulo core JavaScript da Sankhya.",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -0,0 +1,13 @@
1
+ #!/bin/bash
2
+
3
+ if [ "$SONAR_CHECK_ALL" != "true" ] && [ "$PUBLISHED_NEXT_VERSION" != "$PUBLISHED_CURRENT_VERSION" ]; then
4
+ cd ./.docs
5
+ npm config set //registry.npmjs.org/:_authToken $NPM_TOKEN
6
+ npm version $PUBLISHED_NEXT_VERSION
7
+ npm publish
8
+ else
9
+ echo "A publicação dos docs não foi executada."
10
+ echo "SONAR_CHECK_ALL=$SONAR_CHECK_ALL"
11
+ echo "PUBLISHED_NEXT_VERSION=$PUBLISHED_NEXT_VERSION"
12
+ echo "PUBLISHED_CURRENT_VERSION=$PUBLISHED_CURRENT_VERSION"
13
+ fi
@@ -13,8 +13,8 @@ export class ElementIDUtils {
13
13
  public static INTERNAL_INPUT_NAME: string = "internal";
14
14
 
15
15
  public static addIDInfo(element: HTMLElement, suffix?: string, iDInfo?: IElementIDInfo): string {
16
-
17
16
  let dataElementID = this.getDataElementID(element, suffix, iDInfo);
17
+ dataElementID = StringUtils.replaceAccentuatedChars(dataElementID, false);
18
18
  dataElementID = this.addPrefix(iDInfo, dataElementID);
19
19
  element.setAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME, dataElementID);
20
20
 
@@ -37,18 +37,19 @@ export class ElementIDUtils {
37
37
  }
38
38
 
39
39
  private static getDataElementID(element: HTMLElement, suffix?: string, iDInfo?: IElementIDInfo) {
40
- if(element.hasAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME)) {
41
- return this.addSuffix(StringUtils.toCamelCase((element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME) as string)), suffix, element);
42
- }
40
+ let dataElementID = ElementIDUtils.getDataElementIDAttribute(element);
41
+ if(dataElementID != null){
42
+ return this.addSuffix(StringUtils.toCamelCase((dataElementID as string)), suffix, element);
43
+ }
43
44
 
44
45
  const validAttribute = this.getAttributeValid(element, iDInfo);
45
46
 
46
47
  if(validAttribute) return this.addSuffix(validAttribute, suffix, element);
47
48
  if(suffix) return String(suffix);
48
49
 
49
- const tagName = StringUtils.toCamelCase(element.tagName);
50
+ let tagName = StringUtils.toCamelCase(element.tagName);
50
51
  element.setAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME, tagName);
51
-
52
+
52
53
  return tagName;
53
54
  }
54
55
 
@@ -72,6 +73,11 @@ export class ElementIDUtils {
72
73
  if(element.hasAttribute("label")){
73
74
  return this.formatDescription(element.getAttribute("label"));
74
75
  }
76
+
77
+ if(element.hasAttribute("title")){
78
+ return this.formatDescription(element.getAttribute("title"));
79
+ }
80
+
75
81
  return null;
76
82
  }
77
83
 
@@ -87,11 +93,9 @@ export class ElementIDUtils {
87
93
 
88
94
  private static addPrefix(iDInfo: IElementIDInfo | undefined, dataElementID: string): string {
89
95
  const dataUnitName: string = iDInfo?.dataUnit?.name || "";
90
-
91
96
  if (iDInfo?.dataUnit && !dataElementID?.startsWith(dataUnitName)) {
92
97
  dataElementID = `${StringUtils.toCamelCase(dataUnitName)}_${dataElementID}`
93
98
  }
94
-
95
99
  return dataElementID;
96
100
  }
97
101
 
@@ -100,4 +104,11 @@ export class ElementIDUtils {
100
104
  return StringUtils.toCamelCase((value.replace(/[^\w\sÀ-ÖØ-öø-ÿ]/gi, " ")).replace(/\s+/g, ' ').trim());
101
105
  }
102
106
 
107
+ private static getDataElementIDAttribute(element: HTMLElement): string | null {
108
+ if((element as any)[ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME] || element.hasAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME)) {
109
+ return (element as any)[ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME] || element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME);
110
+ }
111
+ return null;
112
+ }
113
+
103
114
  }
@@ -24,38 +24,59 @@ export class StringUtils {
24
24
 
25
25
  return false;
26
26
  }
27
+
28
+ /**
29
+ * Remove acentos de vogais maiúsculas
30
+ *
31
+ * @param text String para ser transformada.
32
+ * @example entrada: "ÁÊÇÒ" // retorno: "AECO"
33
+ */
34
+ static replaceAccentuatedCharsUpper(text: string): string {
35
+ return text.replace(/[ÀÁÂÃÄÅÆ]/g, 'A')
36
+ .replace(/[ÈÉÊË]/g, 'E')
37
+ .replace(/[ÌÍÎÏ]/g, 'I')
38
+ .replace(/[ÒÓÔÕÖØ]/g, 'O')
39
+ .replace(/[ÙÚÛÜ]/g, 'U')
40
+ .replace(/[ÝŸ]/g, 'Y')
41
+ .replace(/[Ñ]/g, 'N')
42
+ .replace(/[Ç]/g, 'C');
43
+ }
27
44
 
45
+ /**
46
+ * Remove acentos de vogais minúsculas.
47
+ *
48
+ * @param text String para ser transformada.
49
+ * @example entrada: "áêçò" // retorno: "aeco"
50
+ */
51
+ static replaceAccentuatedCharsLower(text: string): string {
52
+ return text.replace(/[àáâãäåæ]/g, 'a')
53
+ .replace(/[èéêë]/g, 'e')
54
+ .replace(/[ìíîï]/g, 'i')
55
+ .replace(/[òóôõöø]/g, 'o')
56
+ .replace(/[ùúûü]/g, 'u')
57
+ .replace(/[ýÿ]/g, 'y')
58
+ .replace(/[ñ]/g, 'n')
59
+ .replace(/[ç]/g, 'c');
60
+ }
28
61
 
29
62
  /**
30
- * Remove acentos de vogais, substitui Ç por c e retorna a string em caixa alta.
63
+ * Remove acentuação de vogais e de caracteres especiais que não sejam letras ou numeral.
31
64
  *
32
- * @param value String para ser transformada.
65
+ * @param text String para ser transformada.
66
+ * @param removeSpecialChars Remove outros caracteres especiais que não sejam letras e números.
67
+ * @example
68
+ * entrada: "á@Êç#Ò", false // retorno: "a@Ec#O"
69
+ * entrada: "á@Êç#Ò", true // retorno: "aEcO"
33
70
  */
34
- static replaceAccentuatedChars(text: string): string {
35
- text = text.toUpperCase();
36
- text = text.replace(/[À]/, "A");
37
- text = text.replace(/[Á]/, "A");
38
- text = text.replace(/[Â]/, "A");
39
- text = text.replace(/[Ã]/, "A");
40
- text = text.replace(/[Ä]/, "A");
41
- text = text.replace(/[È]/, "E");
42
- text = text.replace(/[É]/, "E");
43
- text = text.replace(/[Ê]/, "E");
44
- text = text.replace(/[Ë]/, "E");
45
- text = text.replace(/[Ì]/, "I");
46
- text = text.replace(/[Í]/, "I");
47
- text = text.replace(/[Î]/, "I");
48
- text = text.replace(/[Ï]/, "I");
49
- text = text.replace(/[Ò]/, "O");
50
- text = text.replace(/[Ó]/, "O");
51
- text = text.replace(/[Ô]/, "O");
52
- text = text.replace(/[Ö]/, "O");
53
- text = text.replace(/[Ù]/, "U");
54
- text = text.replace(/[Ú]/, "U");
55
- text = text.replace(/[Û]/, "U");
56
- text = text.replace(/[Ü]/, "U");
57
- text = text.replace(/[Ç]/, "C");
58
- return text.replace(/[^a-z0-9]/gi, "");
71
+ static replaceAccentuatedChars(text: string, removeSpecialChars: boolean = true): string {
72
+
73
+ text = StringUtils.replaceAccentuatedCharsLower(text);
74
+ text = StringUtils.replaceAccentuatedCharsUpper(text);
75
+
76
+ if(removeSpecialChars){
77
+ text = text.replace(/[^a-z0-9]/gi, "");
78
+ }
79
+ return text;
59
80
  }
60
81
 
61
82
  /**
@@ -218,13 +218,13 @@ describe('addIDInfo', () => {
218
218
  expect(element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME)).toBe("movFinanceira_movimentacaoFinanceira");
219
219
  });
220
220
 
221
- test('22 - should add data-element-id with valid id "bancoObrigatório_movimentacaoFinanceira"', () => {
221
+ test('22 - should add data-element-id with valid id "bancoObrigatorio_movimentacaoFinanceira"', () => {
222
222
  const sufix = "movimentacao-financeira";
223
223
  element.setAttribute("name", "Banco (obrigatório) *");
224
224
 
225
225
  const result = ElementIDUtils.addIDInfo(element, sufix);
226
- expect(result).toBe("bancoObrigatório_movimentacaoFinanceira");
227
- expect(element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME)).toBe("bancoObrigatório_movimentacaoFinanceira");
226
+ expect(result).toBe("bancoObrigatorio_movimentacaoFinanceira");
227
+ expect(element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME)).toBe("bancoObrigatorio_movimentacaoFinanceira");
228
228
  });
229
229
 
230
230
  });
@@ -32,13 +32,20 @@ describe('StringUtils', function () {
32
32
  expect(result).toBe(false);
33
33
  });
34
34
 
35
- it('substitui vogais com acento por sem acento', function () {
35
+ it('substitui vogais com acento por vogais sem acento', function () {
36
+
36
37
  let resultadoInputMaiusculo = StringUtils.replaceAccentuatedChars('ÁÀÂÃÄ');
37
38
  expect(resultadoInputMaiusculo).toBe('AAAAA');
39
+
38
40
  let resultInputMinusculo = StringUtils.replaceAccentuatedChars('áàâãä');
39
- expect(resultInputMinusculo).toBe('AAAAA');
40
- let resultInputCedilha = StringUtils.replaceAccentuatedChars('ç');
41
- expect(resultInputCedilha).toBe('C');
41
+ expect(resultInputMinusculo).toBe('aaaaa');
42
+
43
+ let resultInputCedilhaMaiusculo = StringUtils.replaceAccentuatedChars('Ç');
44
+ expect(resultInputCedilhaMaiusculo).toBe('C');
45
+
46
+ let resultInputCedilhaMinusculo = StringUtils.replaceAccentuatedChars('ç');
47
+ expect(resultInputCedilhaMinusculo).toBe('c');
48
+
42
49
  });
43
50
 
44
51
  });
package/.docs/.nojekyll DELETED
@@ -1 +0,0 @@
1
- TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false.
package/.docs/README.md DELETED
@@ -1,57 +0,0 @@
1
- @sankhyalabs/core / [Exports](modules.md)
2
-
3
- # @sankhyalabs/core
4
-
5
- ### Intro
6
- Esse projeto é responsavél por disponibilizar utilitários JavaScript comuns entre vários projetos.
7
-
8
- # Como usar
9
-
10
- ```sh
11
- $ npm install @sankhyalabs/core
12
- ```
13
-
14
- ```ts
15
- import { StringUtils } from '@sankhyalabs/core'
16
-
17
- function test(){
18
- alert(StringUtils.isEmpty(''));
19
- }
20
- ```
21
- # Executar testes
22
- ```sh
23
- $ npm t
24
- ```
25
- # Como contribuir
26
- - Criar uma branch com nome sugestivo para o problema/melhoria.
27
- - Dentro do projeto criar uma pasta chamada "change_proposal" dentro dessa pasta deverá existir um exemplo do caso de uso/problema que você está resolvendo.
28
- - Realizar as alterações.
29
- - Criar caso de teste para o problema que você está resolvendo.
30
- - Fazer commit na branch.
31
- - Abrir MR para master, na descrição do MR, colocar a seguinte documentação :arrow_down:
32
-
33
- ##### Tipo de problema:
34
- - [ ] Hotfix
35
- - [ ] Feature
36
- ##### Ambiente simulação:
37
- - [ ] Teste/Desenvolvimento
38
- - [ ] Produçãp
39
-
40
- ##### Nome do projeto de origem (core, flow, wms...):
41
-
42
- ##### Descrição do problema:
43
-
44
- ##### Num.OS de origem(caso exista):
45
-
46
- #
47
- #
48
- #
49
- #
50
-
51
- ### Build em ambiente de desenvolvimento
52
-
53
- ```sh
54
- $ npm run build --watch
55
- ```
56
-
57
- Veja mais informações em nossa [Wiki](https://git.sankhya.com.br/sankhyalabs/sankhyacore/-/wikis/Diretrizes-de-Codifica%C3%A7%C3%A3o)
@@ -1,76 +0,0 @@
1
- [@sankhyalabs/core](../README.md) / [Exports](../modules.md) / ApplicationContext
2
-
3
- # Class: ApplicationContext
4
-
5
- ## Table of contents
6
-
7
- ### Constructors
8
-
9
- - [constructor](ApplicationContext.md#constructor)
10
-
11
- ### Methods
12
-
13
- - [getContextValue](ApplicationContext.md#getcontextvalue)
14
- - [getCtx](ApplicationContext.md#getctx)
15
- - [setContextValue](ApplicationContext.md#setcontextvalue)
16
-
17
- ## Constructors
18
-
19
- ### constructor
20
-
21
- • **new ApplicationContext**()
22
-
23
- ## Methods
24
-
25
- ### getContextValue
26
-
27
- ▸ `Static` **getContextValue**(`key`): `any`
28
-
29
- #### Parameters
30
-
31
- | Name | Type |
32
- | :------ | :------ |
33
- | `key` | `string` |
34
-
35
- #### Returns
36
-
37
- `any`
38
-
39
- #### Defined in
40
-
41
- src/utils/ApplicationContext.ts:3
42
-
43
- ___
44
-
45
- ### getCtx
46
-
47
- ▸ `Static` `Private` **getCtx**(): `any`
48
-
49
- #### Returns
50
-
51
- `any`
52
-
53
- #### Defined in
54
-
55
- src/utils/ApplicationContext.ts:11
56
-
57
- ___
58
-
59
- ### setContextValue
60
-
61
- ▸ `Static` **setContextValue**(`key`, `value`): `any`
62
-
63
- #### Parameters
64
-
65
- | Name | Type |
66
- | :------ | :------ |
67
- | `key` | `string` |
68
- | `value` | `any` |
69
-
70
- #### Returns
71
-
72
- `any`
73
-
74
- #### Defined in
75
-
76
- src/utils/ApplicationContext.ts:7