@sankhyalabs/core 2.4.1 → 2.5.0

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.
@@ -2,7 +2,8 @@
2
2
 
3
3
  # Class: ElementIDUtils
4
4
 
5
- `ElementIDUtils`: O ElementIDUtils é um utilitário responsável por criar e adicionar identificadores únicos aos componentes através do atributo data-element-id. A finalidade dele é otimizar a automação dos testes e melhorar a eficiência na manipulação dos componentes do Design System, garantindo seleções precisas e seguras.
5
+ `ElementIDUtils`: O ElementIDUtils é um utilitário responsável por criar e adicionar identificadores únicos aos componentes através do atributo data-element-id.
6
+ A finalidade dele é otimizar a automação dos testes e melhorar a eficiência na manipulação dos componentes do Design System, garantindo seleções precisas e seguras.
6
7
 
7
8
  ## Table of contents
8
9
 
@@ -14,6 +15,7 @@
14
15
 
15
16
  - [DATA\_ELEMENT\_ID\_ATTRIBUTE\_NAME](ElementIDUtils.md#data_element_id_attribute_name)
16
17
  - [INTERNAL\_INPUT\_NAME](ElementIDUtils.md#internal_input_name)
18
+ - [REGEX\_DATAUNIT\_NAME](ElementIDUtils.md#regex_dataunit_name)
17
19
 
18
20
  ### Methods
19
21
 
@@ -26,6 +28,7 @@
26
28
  - [getDataElementID](ElementIDUtils.md#getdataelementid)
27
29
  - [getDataElementIDAttribute](ElementIDUtils.md#getdataelementidattribute)
28
30
  - [getInternalIDInfo](ElementIDUtils.md#getinternalidinfo)
31
+ - [parseDataUnitName](ElementIDUtils.md#parsedataunitname)
29
32
 
30
33
  ## Constructors
31
34
 
@@ -41,17 +44,27 @@
41
44
 
42
45
  #### Defined in
43
46
 
44
- src/utils/ElementIDUtils.ts:13
47
+ src/utils/ElementIDUtils.ts:14
45
48
 
46
49
  ___
47
50
 
48
51
  ### INTERNAL\_INPUT\_NAME
49
52
 
50
- ▪ `Static` **INTERNAL\_INPUT\_NAME**: `string` = `"internal"`
53
+ ▪ `Static` **INTERNAL\_INPUT\_NAME**: `string` = `"embedded"`
51
54
 
52
55
  #### Defined in
53
56
 
54
- src/utils/ElementIDUtils.ts:14
57
+ src/utils/ElementIDUtils.ts:15
58
+
59
+ ___
60
+
61
+ ### REGEX\_DATAUNIT\_NAME
62
+
63
+ ▪ `Static` `Private` **REGEX\_DATAUNIT\_NAME**: `RegExp`
64
+
65
+ #### Defined in
66
+
67
+ src/utils/ElementIDUtils.ts:16
55
68
 
56
69
  ## Methods
57
70
 
@@ -77,7 +90,7 @@ Cria e adiciona a propriedade `data-element-id` em um elemento.
77
90
 
78
91
  #### Defined in
79
92
 
80
- src/utils/ElementIDUtils.ts:24
93
+ src/utils/ElementIDUtils.ts:26
81
94
 
82
95
  ___
83
96
 
@@ -99,7 +112,7 @@ ___
99
112
 
100
113
  #### Defined in
101
114
 
102
- src/utils/ElementIDUtils.ts:33
115
+ src/utils/ElementIDUtils.ts:39
103
116
 
104
117
  ___
105
118
 
@@ -124,7 +137,7 @@ Adiciona a propriedade name do DataUnit como prefixo do data-element-id do eleme
124
137
 
125
138
  #### Defined in
126
139
 
127
- src/utils/ElementIDUtils.ts:136
140
+ src/utils/ElementIDUtils.ts:147
128
141
 
129
142
  ___
130
143
 
@@ -137,8 +150,8 @@ Adiciona sufixo ao atributo `data-element-id` de um elemento, utilizado para mon
137
150
  **`Example`**
138
151
 
139
152
  ```ts
140
- Um ez-combo-box tem data-element-id = codparc_input_internal_combo.
141
- Dentro desse ez-combo-box existe um ez-text-input. O data-element-id teria como sufixo o id 'codparc_input_internal_combo' referente ao seu pai.
153
+ Um ez-combo-box tem data-element-id = codparc_input_embedded_combo.
154
+ Dentro desse ez-combo-box existe um ez-text-input. O data-element-id teria como sufixo o id 'codparc_input_embedded_combo' referente ao seu pai.
142
155
  ```
143
156
 
144
157
  #### Parameters
@@ -157,7 +170,7 @@ Dentro desse ez-combo-box existe um ez-text-input. O data-element-id teria como
157
170
 
158
171
  #### Defined in
159
172
 
160
- src/utils/ElementIDUtils.ts:119
173
+ src/utils/ElementIDUtils.ts:130
161
174
 
162
175
  ___
163
176
 
@@ -181,7 +194,7 @@ Remove caracteres especiais.
181
194
 
182
195
  #### Defined in
183
196
 
184
- src/utils/ElementIDUtils.ts:150
197
+ src/utils/ElementIDUtils.ts:162
185
198
 
186
199
  ___
187
200
 
@@ -206,7 +219,7 @@ Obtém ID válido para o elemento.
206
219
 
207
220
  #### Defined in
208
221
 
209
- src/utils/ElementIDUtils.ts:79
222
+ src/utils/ElementIDUtils.ts:90
210
223
 
211
224
  ___
212
225
 
@@ -232,7 +245,7 @@ Obtém o `data-element-id` do elemento com adição do sufixo e ID.
232
245
 
233
246
  #### Defined in
234
247
 
235
- src/utils/ElementIDUtils.ts:55
248
+ src/utils/ElementIDUtils.ts:66
236
249
 
237
250
  ___
238
251
 
@@ -252,19 +265,18 @@ ___
252
265
 
253
266
  #### Defined in
254
267
 
255
- src/utils/ElementIDUtils.ts:155
268
+ src/utils/ElementIDUtils.ts:168
256
269
 
257
270
  ___
258
271
 
259
272
  ### getInternalIDInfo
260
273
 
261
- ▸ `Static` **getInternalIDInfo**(`originalID`, `sufix`): `string`
274
+ ▸ `Static` **getInternalIDInfo**(`sufix`): `string`
262
275
 
263
276
  #### Parameters
264
277
 
265
278
  | Name | Type |
266
279
  | :------ | :------ |
267
- | `originalID` | `string` |
268
280
  | `sufix` | `string` |
269
281
 
270
282
  #### Returns
@@ -273,4 +285,24 @@ ___
273
285
 
274
286
  #### Defined in
275
287
 
276
- src/utils/ElementIDUtils.ts:43
288
+ src/utils/ElementIDUtils.ts:54
289
+
290
+ ___
291
+
292
+ ### parseDataUnitName
293
+
294
+ ▸ `Static` `Private` **parseDataUnitName**(`uri`): `string`
295
+
296
+ #### Parameters
297
+
298
+ | Name | Type |
299
+ | :------ | :------ |
300
+ | `uri` | `string` |
301
+
302
+ #### Returns
303
+
304
+ `string`
305
+
306
+ #### Defined in
307
+
308
+ src/utils/ElementIDUtils.ts:175
@@ -0,0 +1,46 @@
1
+ [@sankhyalabs/core](../README.md) / [Exports](../modules.md) / JSUtils
2
+
3
+ # Class: JSUtils
4
+
5
+ Classe com utiliários comuns para funções genéricas em JavaScript.
6
+
7
+ ## Table of contents
8
+
9
+ ### Constructors
10
+
11
+ - [constructor](JSUtils.md#constructor)
12
+
13
+ ### Methods
14
+
15
+ - [debounce](JSUtils.md#debounce)
16
+
17
+ ## Constructors
18
+
19
+ ### constructor
20
+
21
+ • **new JSUtils**()
22
+
23
+ ## Methods
24
+
25
+ ### debounce
26
+
27
+ ▸ `Static` **debounce**(`callback`, `timeout?`): `any`
28
+
29
+ Método responsável em criar um timer para processar uma determinada função.
30
+
31
+ #### Parameters
32
+
33
+ | Name | Type | Default value | Description |
34
+ | :------ | :------ | :------ | :------ |
35
+ | `callback` | `any` | `undefined` | Função de callback para processar após o timer. |
36
+ | `timeout` | `number` | `300` | Valor dos milissegundos desejados para processar a função (o padrão é 300). |
37
+
38
+ #### Returns
39
+
40
+ `any`
41
+
42
+ - Retorna um método com controle de timer para processar a função de callback.
43
+
44
+ #### Defined in
45
+
46
+ src/utils/JSUtils.ts:14
@@ -23,6 +23,7 @@
23
23
  - [replaceAccentuatedCharsKeepSymbols](StringUtils.md#replaceaccentuatedcharskeepsymbols)
24
24
  - [replaceAccentuatedCharsLower](StringUtils.md#replaceaccentuatedcharslower)
25
25
  - [replaceAccentuatedCharsUpper](StringUtils.md#replaceaccentuatedcharsupper)
26
+ - [replaceBlankCharacters](StringUtils.md#replaceblankcharacters)
26
27
  - [toCamelCase](StringUtils.md#tocamelcase)
27
28
  - [toKebabCase](StringUtils.md#tokebabcase)
28
29
  - [toPascalCase](StringUtils.md#topascalcase)
@@ -364,6 +365,30 @@ src/utils/StringUtils.ts:36
364
365
 
365
366
  ___
366
367
 
368
+ ### replaceBlankCharacters
369
+
370
+ ▸ `Static` **replaceBlankCharacters**(`value`): `string`
371
+
372
+ Utilitário para remover caracteres em branco da string.
373
+
374
+ #### Parameters
375
+
376
+ | Name | Type | Description |
377
+ | :------ | :------ | :------ |
378
+ | `value` | `string` | String a ser removido os espaços. |
379
+
380
+ #### Returns
381
+
382
+ `string`
383
+
384
+ String sem espaços em branco.
385
+
386
+ #### Defined in
387
+
388
+ src/utils/StringUtils.ts:293
389
+
390
+ ___
391
+
367
392
  ### toCamelCase
368
393
 
369
394
  ▸ `Static` **toCamelCase**(`value`): `string`
package/.docs/modules.md CHANGED
@@ -31,6 +31,7 @@
31
31
  - [ErrorTracking](classes/ErrorTracking.md)
32
32
  - [FloatingManager](classes/FloatingManager.md)
33
33
  - [HttpProvider](classes/HttpProvider.md)
34
+ - [JSUtils](classes/JSUtils.md)
34
35
  - [MaskFormatter](classes/MaskFormatter-1.md)
35
36
  - [NumberUtils](classes/NumberUtils.md)
36
37
  - [ObjectUtils](classes/ObjectUtils.md)
package/dist/index.d.ts CHANGED
@@ -25,4 +25,5 @@ import { LoadDataRequest } from "./dataunit/loading/LoadDataRequest.js";
25
25
  import { LoadDataResponse } from "./dataunit/loading/LoadDataResponse.js";
26
26
  import { ElementIDUtils, IElementIDInfo } from "./utils/ElementIDUtils.js";
27
27
  import { UserAgentUtils } from "./utils/UserAgentUtils/index.js";
28
- export { StringUtils, MaskFormatter, NumberUtils, FloatingManager, DateUtils, ArrayUtils, TimeFormatter, SkwHttpProvider, HttpProvider, RequestMetadata, AuthorizedServiceCaller, DataUnit, Record, SavedRecord, DataType, UnitMetadata, FieldDescriptor, UserInterface, DependencyType, DataUnitAction, Action, Change, Sort, Filter, ChangeOperation, DUActionInterceptor, ApplicationContext, WaitingChange, PageRequest, QuickFilter, ReadyUtil, ObjectUtils, WarningException, WaitingChangeException, ErrorException, ErrorTracking, ExecutionContext, PaginationInfo, SortingProvider, SortMode, LoadDataRequest, LoadDataResponse, ElementIDUtils, IElementIDInfo, UserAgentUtils };
28
+ import { JSUtils } from "./utils/JSUtils.js";
29
+ export { StringUtils, MaskFormatter, NumberUtils, FloatingManager, DateUtils, ArrayUtils, TimeFormatter, SkwHttpProvider, HttpProvider, RequestMetadata, AuthorizedServiceCaller, DataUnit, Record, SavedRecord, DataType, UnitMetadata, FieldDescriptor, UserInterface, DependencyType, DataUnitAction, Action, Change, Sort, Filter, ChangeOperation, DUActionInterceptor, ApplicationContext, WaitingChange, PageRequest, QuickFilter, ReadyUtil, ObjectUtils, WarningException, WaitingChangeException, ErrorException, ErrorTracking, ExecutionContext, PaginationInfo, SortingProvider, SortMode, LoadDataRequest, LoadDataResponse, ElementIDUtils, IElementIDInfo, UserAgentUtils, JSUtils };
package/dist/index.js CHANGED
@@ -22,6 +22,7 @@ import ErrorException from "./exceptions/ErrorException.js";
22
22
  import { ErrorTracking } from "./traking/ErrorTraking.js";
23
23
  import { ElementIDUtils } from "./utils/ElementIDUtils.js";
24
24
  import { UserAgentUtils } from "./utils/UserAgentUtils/index.js";
25
+ import { JSUtils } from "./utils/JSUtils.js";
25
26
  /*Classes públicas no pacote*/
26
- export { StringUtils, MaskFormatter, NumberUtils, FloatingManager, DateUtils, ArrayUtils, TimeFormatter, SkwHttpProvider, HttpProvider, RequestMetadata, AuthorizedServiceCaller, DataUnit, DataType, UserInterface, DependencyType, DataUnitAction, Action, Change, ChangeOperation, ApplicationContext, ReadyUtil, ObjectUtils, WarningException, WaitingChangeException, ErrorException, ErrorTracking, SortMode, ElementIDUtils, UserAgentUtils };
27
+ export { StringUtils, MaskFormatter, NumberUtils, FloatingManager, DateUtils, ArrayUtils, TimeFormatter, SkwHttpProvider, HttpProvider, RequestMetadata, AuthorizedServiceCaller, DataUnit, DataType, UserInterface, DependencyType, DataUnitAction, Action, Change, ChangeOperation, ApplicationContext, ReadyUtil, ObjectUtils, WarningException, WaitingChangeException, ErrorException, ErrorTracking, SortMode, ElementIDUtils, UserAgentUtils, JSUtils };
27
28
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,eAAe,MAAM,yBAAyB,CAAC;AACtD,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,QAAQ,EAAE,EAAsB,MAAM,EAAE,eAAe,EAA+D,MAAM,wBAAwB,CAAC;AAC5J,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAiC,aAAa,EAAQ,QAAQ,EAA2B,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAC5J,OAAO,EAAE,cAAc,EAAE,MAAM,EAAoB,MAAM,2CAA2C,CAAC;AACrG,OAAO,kBAAkB,MAAM,+BAA+B,CAAC;AAC/D,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,WAAW,MAAM,wBAAwB,CAAC;AACjD,OAAO,gBAAgB,MAAM,kCAAkC,CAAC;AAChE,OAAO,sBAAsB,MAAM,wCAAwC,CAAC;AAC5E,OAAO,cAAc,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAI1D,OAAO,EAAE,cAAc,EAAkB,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,8BAA8B;AAC9B,OAAO,EACH,WAAW,EACX,aAAa,EACb,WAAW,EACX,eAAe,EACf,SAAS,EACT,UAAU,EACV,aAAa,EACb,eAAe,EACf,YAAY,EACZ,eAAe,EACf,uBAAuB,EACvB,QAAQ,EAGR,QAAQ,EAGR,aAAa,EACb,cAAc,EACd,cAAc,EACd,MAAM,EACN,MAAM,EAGN,eAAe,EAEf,kBAAkB,EAIlB,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,EACd,aAAa,EAIb,QAAQ,EAGR,cAAc,EAEd,cAAc,EACjB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,eAAe,MAAM,yBAAyB,CAAC;AACtD,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,QAAQ,EAAE,EAAsB,MAAM,EAAE,eAAe,EAA+D,MAAM,wBAAwB,CAAC;AAC5J,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAiC,aAAa,EAAQ,QAAQ,EAA2B,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAC5J,OAAO,EAAE,cAAc,EAAE,MAAM,EAAoB,MAAM,2CAA2C,CAAC;AACrG,OAAO,kBAAkB,MAAM,+BAA+B,CAAC;AAC/D,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,WAAW,MAAM,wBAAwB,CAAC;AACjD,OAAO,gBAAgB,MAAM,kCAAkC,CAAC;AAChE,OAAO,sBAAsB,MAAM,wCAAwC,CAAC;AAC5E,OAAO,cAAc,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAI1D,OAAO,EAAE,cAAc,EAAkB,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,8BAA8B;AAC9B,OAAO,EACH,WAAW,EACX,aAAa,EACb,WAAW,EACX,eAAe,EACf,SAAS,EACT,UAAU,EACV,aAAa,EACb,eAAe,EACf,YAAY,EACZ,eAAe,EACf,uBAAuB,EACvB,QAAQ,EAGR,QAAQ,EAGR,aAAa,EACb,cAAc,EACd,cAAc,EACd,MAAM,EACN,MAAM,EAGN,eAAe,EAEf,kBAAkB,EAIlB,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,EACd,aAAa,EAIb,QAAQ,EAGR,cAAc,EAEd,cAAc,EACd,OAAO,EACV,CAAC"}
@@ -4,11 +4,13 @@ export interface IElementIDInfo {
4
4
  dataUnit?: DataUnit;
5
5
  }
6
6
  /**
7
- * `ElementIDUtils`: O ElementIDUtils é um utilitário responsável por criar e adicionar identificadores únicos aos componentes através do atributo data-element-id. A finalidade dele é otimizar a automação dos testes e melhorar a eficiência na manipulação dos componentes do Design System, garantindo seleções precisas e seguras.
7
+ * `ElementIDUtils`: O ElementIDUtils é um utilitário responsável por criar e adicionar identificadores únicos aos componentes através do atributo data-element-id.
8
+ * A finalidade dele é otimizar a automação dos testes e melhorar a eficiência na manipulação dos componentes do Design System, garantindo seleções precisas e seguras.
8
9
  */
9
10
  export declare class ElementIDUtils {
10
11
  static DATA_ELEMENT_ID_ATTRIBUTE_NAME: string;
11
12
  static INTERNAL_INPUT_NAME: string;
13
+ private static REGEX_DATAUNIT_NAME;
12
14
  /**
13
15
  * Cria e adiciona a propriedade `data-element-id` em um elemento.
14
16
  *
@@ -19,7 +21,7 @@ export declare class ElementIDUtils {
19
21
  */
20
22
  static addIDInfo(element: HTMLElement, suffix?: string, iDInfo?: IElementIDInfo): string;
21
23
  static addIDInfoIfNotExists(element: HTMLElement, suffix?: string, iDInfo?: IElementIDInfo): string;
22
- static getInternalIDInfo(originalID: string, sufix: string): string;
24
+ static getInternalIDInfo(sufix: string): string;
23
25
  /**
24
26
  * Obtém o `data-element-id` do elemento com adição do sufixo e ID.
25
27
  *
@@ -46,8 +48,8 @@ export declare class ElementIDUtils {
46
48
  * @returns - `data-element-id` com sufixo.
47
49
  *
48
50
  * @example
49
- * Um ez-combo-box tem data-element-id = codparc_input_internal_combo.
50
- * Dentro desse ez-combo-box existe um ez-text-input. O data-element-id teria como sufixo o id 'codparc_input_internal_combo' referente ao seu pai.
51
+ * Um ez-combo-box tem data-element-id = codparc_input_embedded_combo.
52
+ * Dentro desse ez-combo-box existe um ez-text-input. O data-element-id teria como sufixo o id 'codparc_input_embedded_combo' referente ao seu pai.
51
53
  */
52
54
  private static addSuffix;
53
55
  /**
@@ -66,4 +68,5 @@ export declare class ElementIDUtils {
66
68
  */
67
69
  private static formatDescription;
68
70
  private static getDataElementIDAttribute;
71
+ private static parseDataUnitName;
69
72
  }
@@ -1,6 +1,7 @@
1
1
  import { StringUtils } from "./StringUtils.js";
2
2
  /**
3
- * `ElementIDUtils`: O ElementIDUtils é um utilitário responsável por criar e adicionar identificadores únicos aos componentes através do atributo data-element-id. A finalidade dele é otimizar a automação dos testes e melhorar a eficiência na manipulação dos componentes do Design System, garantindo seleções precisas e seguras.
3
+ * `ElementIDUtils`: O ElementIDUtils é um utilitário responsável por criar e adicionar identificadores únicos aos componentes através do atributo data-element-id.
4
+ * A finalidade dele é otimizar a automação dos testes e melhorar a eficiência na manipulação dos componentes do Design System, garantindo seleções precisas e seguras.
4
5
  */
5
6
  export class ElementIDUtils {
6
7
  /**
@@ -12,21 +13,33 @@ export class ElementIDUtils {
12
13
  * @returns - O data-element-id gerado.
13
14
  */
14
15
  static addIDInfo(element, suffix, iDInfo) {
15
- let dataElementID = this.getDataElementID(element, suffix, iDInfo);
16
- dataElementID = StringUtils.replaceAccentuatedChars(dataElementID, false);
17
- dataElementID = this.addPrefix(iDInfo, dataElementID);
18
- element.setAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME, dataElementID);
19
- return dataElementID;
16
+ try {
17
+ let dataElementID = this.getDataElementID(element, suffix, iDInfo);
18
+ dataElementID = StringUtils.replaceAccentuatedChars(dataElementID, false);
19
+ dataElementID = this.addPrefix(iDInfo, dataElementID);
20
+ element.setAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME, dataElementID);
21
+ return dataElementID;
22
+ }
23
+ catch (e) {
24
+ console.warn(`Erro ao gerar data-element-id: ${element.tagName}`, e);
25
+ }
26
+ return "";
20
27
  }
21
28
  static addIDInfoIfNotExists(element, suffix, iDInfo) {
22
- let dataElementID = element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME);
23
- if (dataElementID == undefined) {
24
- dataElementID = ElementIDUtils.addIDInfo(element, suffix, iDInfo);
29
+ try {
30
+ let dataElementID = element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME);
31
+ if (dataElementID == undefined) {
32
+ dataElementID = ElementIDUtils.addIDInfo(element, suffix, iDInfo);
33
+ }
34
+ return dataElementID;
25
35
  }
26
- return dataElementID;
36
+ catch (e) {
37
+ console.warn(`Erro ao gerar data-element-id: ${element.tagName}`, e);
38
+ }
39
+ return "";
27
40
  }
28
- static getInternalIDInfo(originalID, sufix) {
29
- return `${originalID}_${ElementIDUtils.INTERNAL_INPUT_NAME}_${sufix}`;
41
+ static getInternalIDInfo(sufix) {
42
+ return `${ElementIDUtils.INTERNAL_INPUT_NAME}_${sufix}`;
30
43
  }
31
44
  /**
32
45
  * Obtém o `data-element-id` do elemento com adição do sufixo e ID.
@@ -59,7 +72,7 @@ export class ElementIDUtils {
59
72
  */
60
73
  static getAttributeValid(element, iDInfo) {
61
74
  if (iDInfo === null || iDInfo === void 0 ? void 0 : iDInfo.id) {
62
- return StringUtils.toCamelCase(iDInfo === null || iDInfo === void 0 ? void 0 : iDInfo.id);
75
+ return this.formatDescription(iDInfo === null || iDInfo === void 0 ? void 0 : iDInfo.id);
63
76
  }
64
77
  if (element.hasAttribute("data-field-name")) {
65
78
  return StringUtils.toCamelCase(element.getAttribute("data-field-name"));
@@ -87,8 +100,8 @@ export class ElementIDUtils {
87
100
  * @returns - `data-element-id` com sufixo.
88
101
  *
89
102
  * @example
90
- * Um ez-combo-box tem data-element-id = codparc_input_internal_combo.
91
- * Dentro desse ez-combo-box existe um ez-text-input. O data-element-id teria como sufixo o id 'codparc_input_internal_combo' referente ao seu pai.
103
+ * Um ez-combo-box tem data-element-id = codparc_input_embedded_combo.
104
+ * Dentro desse ez-combo-box existe um ez-text-input. O data-element-id teria como sufixo o id 'codparc_input_embedded_combo' referente ao seu pai.
92
105
  */
93
106
  static addSuffix(dataElementID, suffix, element) {
94
107
  if (suffix) {
@@ -108,7 +121,8 @@ export class ElementIDUtils {
108
121
  */
109
122
  static addPrefix(iDInfo, dataElementID) {
110
123
  var _a;
111
- const dataUnitName = ((_a = iDInfo === null || iDInfo === void 0 ? void 0 : iDInfo.dataUnit) === null || _a === void 0 ? void 0 : _a.name) || "";
124
+ let dataUnitName = ((_a = iDInfo === null || iDInfo === void 0 ? void 0 : iDInfo.dataUnit) === null || _a === void 0 ? void 0 : _a.name) || "";
125
+ dataUnitName = this.parseDataUnitName(dataUnitName);
112
126
  if ((iDInfo === null || iDInfo === void 0 ? void 0 : iDInfo.dataUnit) && !(dataElementID === null || dataElementID === void 0 ? void 0 : dataElementID.startsWith(dataUnitName))) {
113
127
  dataElementID = `${StringUtils.toCamelCase(dataUnitName)}_${dataElementID}`;
114
128
  }
@@ -123,6 +137,7 @@ export class ElementIDUtils {
123
137
  static formatDescription(value) {
124
138
  if (!value)
125
139
  return "";
140
+ value = StringUtils.replaceAccentuatedChars(value, false);
126
141
  return StringUtils.toCamelCase((value.replace(/[^\w\sÀ-ÖØ-öø-ÿ]/gi, " ")).replace(/\s+/g, ' ').trim());
127
142
  }
128
143
  static getDataElementIDAttribute(element) {
@@ -131,7 +146,16 @@ export class ElementIDUtils {
131
146
  }
132
147
  return null;
133
148
  }
149
+ static parseDataUnitName(uri) {
150
+ var _a;
151
+ if (StringUtils.isEmpty(uri)) {
152
+ return uri;
153
+ }
154
+ const matcher = this.REGEX_DATAUNIT_NAME.exec(uri);
155
+ return (_a = matcher === null || matcher === void 0 ? void 0 : matcher[1]) !== null && _a !== void 0 ? _a : uri;
156
+ }
134
157
  }
135
158
  ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME = "data-element-id";
136
- ElementIDUtils.INTERNAL_INPUT_NAME = "internal";
159
+ ElementIDUtils.INTERNAL_INPUT_NAME = "embedded";
160
+ ElementIDUtils.REGEX_DATAUNIT_NAME = /dd:\/\/(.+?)\//;
137
161
  //# sourceMappingURL=ElementIDUtils.js.map
@@ -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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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Classe com utiliários comuns para funções genéricas em JavaScript.
3
+ */
4
+ export declare class JSUtils {
5
+ /**
6
+ * Método responsável em criar um timer para processar uma determinada função.
7
+ *
8
+ * @param callback - Função de callback para processar após o timer.
9
+ * @param timeout - Valor dos milissegundos desejados para processar a função (o padrão é 300).
10
+ *
11
+ * @returns - Retorna um método com controle de timer para processar a função de callback.
12
+ */
13
+ static debounce(callback: any, timeout?: number): any;
14
+ }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Classe com utiliários comuns para funções genéricas em JavaScript.
3
+ */
4
+ export class JSUtils {
5
+ /**
6
+ * Método responsável em criar um timer para processar uma determinada função.
7
+ *
8
+ * @param callback - Função de callback para processar após o timer.
9
+ * @param timeout - Valor dos milissegundos desejados para processar a função (o padrão é 300).
10
+ *
11
+ * @returns - Retorna um método com controle de timer para processar a função de callback.
12
+ */
13
+ static debounce(callback, timeout = 300) {
14
+ let timer;
15
+ return (...args) => {
16
+ clearTimeout(timer);
17
+ timer = setTimeout(() => { callback.apply(this, args); }, timeout);
18
+ };
19
+ }
20
+ }
21
+ //# sourceMappingURL=JSUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JSUtils.js","sourceRoot":"","sources":["../../src/utils/JSUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,OAAO;IAElB;;;;;;;OAOG;IACI,MAAM,CAAC,QAAQ,CAAC,QAAa,EAAE,UAAkB,GAAG;QACvD,IAAI,KAAU,CAAC;QACf,OAAO,CAAC,GAAG,IAAS,EAAE,EAAE;YACtB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACrE,CAAC,CAAC;IACN,CAAC;CACF"}
@@ -139,4 +139,10 @@ export declare class StringUtils {
139
139
  * @returns String convertida em KebabCase.
140
140
  */
141
141
  static toKebabCase(value: string): string;
142
+ /**
143
+ * Utilitário para remover caracteres em branco da string.
144
+ * @param value String a ser removido os espaços.
145
+ * @returns String sem espaços em branco.
146
+ */
147
+ static replaceBlankCharacters(value: string): string;
142
148
  }
@@ -261,5 +261,13 @@ export class StringUtils {
261
261
  static toKebabCase(value) {
262
262
  return value.replace(/([a-z])([A-Z])/g, '$1-$2').replace(/[\s_]+/g, '-').toLowerCase();
263
263
  }
264
+ /**
265
+ * Utilitário para remover caracteres em branco da string.
266
+ * @param value String a ser removido os espaços.
267
+ * @returns String sem espaços em branco.
268
+ */
269
+ static replaceBlankCharacters(value) {
270
+ return (value || "").replace(/ /g, "");
271
+ }
264
272
  }
265
273
  //# 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": "2.4.1",
3
+ "version": "2.5.0",
4
4
  "description": "Modulo core JavaScript da Sankhya.",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
package/src/index.ts CHANGED
@@ -25,6 +25,7 @@ import { LoadDataRequest } from "./dataunit/loading/LoadDataRequest.js";
25
25
  import { LoadDataResponse } from "./dataunit/loading/LoadDataResponse.js";
26
26
  import { ElementIDUtils, IElementIDInfo } from "./utils/ElementIDUtils.js";
27
27
  import { UserAgentUtils } from "./utils/UserAgentUtils/index.js";
28
+ import { JSUtils } from "./utils/JSUtils.js";
28
29
 
29
30
  /*Classes públicas no pacote*/
30
31
  export {
@@ -72,5 +73,6 @@ export {
72
73
  LoadDataResponse,
73
74
  ElementIDUtils,
74
75
  IElementIDInfo,
75
- UserAgentUtils
76
+ UserAgentUtils,
77
+ JSUtils
76
78
  };
@@ -7,11 +7,13 @@ export interface IElementIDInfo {
7
7
  dataUnit?: DataUnit
8
8
  }
9
9
  /**
10
- * `ElementIDUtils`: O ElementIDUtils é um utilitário responsável por criar e adicionar identificadores únicos aos componentes através do atributo data-element-id. A finalidade dele é otimizar a automação dos testes e melhorar a eficiência na manipulação dos componentes do Design System, garantindo seleções precisas e seguras.
10
+ * `ElementIDUtils`: O ElementIDUtils é um utilitário responsável por criar e adicionar identificadores únicos aos componentes através do atributo data-element-id.
11
+ * A finalidade dele é otimizar a automação dos testes e melhorar a eficiência na manipulação dos componentes do Design System, garantindo seleções precisas e seguras.
11
12
  */
12
13
  export class ElementIDUtils {
13
14
  public static DATA_ELEMENT_ID_ATTRIBUTE_NAME: string = "data-element-id";
14
- public static INTERNAL_INPUT_NAME: string = "internal";
15
+ public static INTERNAL_INPUT_NAME: string = "embedded";
16
+ private static REGEX_DATAUNIT_NAME = /dd:\/\/(.+?)\//;
15
17
 
16
18
  /**
17
19
  * Cria e adiciona a propriedade `data-element-id` em um elemento.
@@ -22,26 +24,35 @@ export class ElementIDUtils {
22
24
  * @returns - O data-element-id gerado.
23
25
  */
24
26
  public static addIDInfo(element: HTMLElement, suffix?: string, iDInfo?: IElementIDInfo): string {
25
- let dataElementID = this.getDataElementID(element, suffix, iDInfo);
26
- dataElementID = StringUtils.replaceAccentuatedChars(dataElementID, false);
27
- dataElementID = this.addPrefix(iDInfo, dataElementID);
28
- element.setAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME, dataElementID);
29
-
30
- return dataElementID;
27
+ try{
28
+ let dataElementID = this.getDataElementID(element, suffix, iDInfo);
29
+ dataElementID = StringUtils.replaceAccentuatedChars(dataElementID, false);
30
+ dataElementID = this.addPrefix(iDInfo, dataElementID);
31
+ element.setAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME, dataElementID);
32
+ return dataElementID;
33
+ }catch(e){
34
+ console.warn(`Erro ao gerar data-element-id: ${element.tagName}`, e);
35
+ }
36
+ return "";
31
37
  }
32
38
 
33
39
  public static addIDInfoIfNotExists(element: HTMLElement, suffix?: string, iDInfo?: IElementIDInfo): string {
34
- let dataElementID = element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME);
40
+ try{
41
+ let dataElementID = element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME);
35
42
 
36
- if(dataElementID == undefined){
37
- dataElementID = ElementIDUtils.addIDInfo(element, suffix, iDInfo)
38
- }
43
+ if(dataElementID == undefined){
44
+ dataElementID = ElementIDUtils.addIDInfo(element, suffix, iDInfo)
45
+ }
39
46
 
40
- return dataElementID;
47
+ return dataElementID;
48
+ }catch(e){
49
+ console.warn(`Erro ao gerar data-element-id: ${element.tagName}`, e);
50
+ }
51
+ return "";
41
52
  }
42
53
 
43
- public static getInternalIDInfo(originalID: string, sufix: string){
44
- return `${originalID}_${ElementIDUtils.INTERNAL_INPUT_NAME}_${sufix}`;
54
+ public static getInternalIDInfo(sufix: string){
55
+ return `${ElementIDUtils.INTERNAL_INPUT_NAME}_${sufix}`;
45
56
  }
46
57
 
47
58
  /**
@@ -78,7 +89,7 @@ export class ElementIDUtils {
78
89
  */
79
90
  private static getAttributeValid(element: HTMLElement, iDInfo?: IElementIDInfo): string | null{
80
91
  if(iDInfo?.id){
81
- return StringUtils.toCamelCase(iDInfo?.id);
92
+ return this.formatDescription(iDInfo?.id);
82
93
  }
83
94
 
84
95
  if(element.hasAttribute("data-field-name")){
@@ -113,8 +124,8 @@ export class ElementIDUtils {
113
124
  * @returns - `data-element-id` com sufixo.
114
125
  *
115
126
  * @example
116
- * Um ez-combo-box tem data-element-id = codparc_input_internal_combo.
117
- * Dentro desse ez-combo-box existe um ez-text-input. O data-element-id teria como sufixo o id 'codparc_input_internal_combo' referente ao seu pai.
127
+ * Um ez-combo-box tem data-element-id = codparc_input_embedded_combo.
128
+ * Dentro desse ez-combo-box existe um ez-text-input. O data-element-id teria como sufixo o id 'codparc_input_embedded_combo' referente ao seu pai.
118
129
  */
119
130
  private static addSuffix(dataElementID: string | null, suffix: string | undefined, element: HTMLElement): string{
120
131
  if(suffix){
@@ -134,7 +145,8 @@ export class ElementIDUtils {
134
145
  * @returns - String contendo informação para ser usada no `data-element-id` do elemento.
135
146
  */
136
147
  private static addPrefix(iDInfo: IElementIDInfo | undefined, dataElementID: string): string {
137
- const dataUnitName: string = iDInfo?.dataUnit?.name || "";
148
+ let dataUnitName: string = iDInfo?.dataUnit?.name || "";
149
+ dataUnitName = this.parseDataUnitName(dataUnitName);
138
150
  if (iDInfo?.dataUnit && !dataElementID?.startsWith(dataUnitName)) {
139
151
  dataElementID = `${StringUtils.toCamelCase(dataUnitName)}_${dataElementID}`
140
152
  }
@@ -149,6 +161,7 @@ export class ElementIDUtils {
149
161
  */
150
162
  private static formatDescription(value: string | null): string{
151
163
  if(!value) return "";
164
+ value = StringUtils.replaceAccentuatedChars(value, false);
152
165
  return StringUtils.toCamelCase((value.replace(/[^\w\sÀ-ÖØ-öø-ÿ]/gi, " ")).replace(/\s+/g, ' ').trim());
153
166
  }
154
167
 
@@ -159,4 +172,13 @@ export class ElementIDUtils {
159
172
  return null;
160
173
  }
161
174
 
175
+ private static parseDataUnitName(uri:string):string{
176
+ if(StringUtils.isEmpty(uri)){
177
+ return uri;
178
+ }
179
+
180
+ const matcher:RegExpExecArray|null = this.REGEX_DATAUNIT_NAME.exec(uri);
181
+ return matcher?.[1] ?? uri;
182
+ }
183
+
162
184
  }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Classe com utiliários comuns para funções genéricas em JavaScript.
3
+ */
4
+ export class JSUtils{
5
+
6
+ /**
7
+ * Método responsável em criar um timer para processar uma determinada função.
8
+ *
9
+ * @param callback - Função de callback para processar após o timer.
10
+ * @param timeout - Valor dos milissegundos desejados para processar a função (o padrão é 300).
11
+ *
12
+ * @returns - Retorna um método com controle de timer para processar a função de callback.
13
+ */
14
+ public static debounce(callback: any, timeout: number = 300): any {
15
+ let timer: any;
16
+ return (...args: any) => {
17
+ clearTimeout(timer);
18
+ timer = setTimeout(() => { callback.apply(this, args); }, timeout);
19
+ };
20
+ }
21
+ }
@@ -284,6 +284,13 @@ export class StringUtils {
284
284
  static toKebabCase(value: string): string{
285
285
  return value.replace(/([a-z])([A-Z])/g, '$1-$2').replace(/[\s_]+/g, '-').toLowerCase();
286
286
  }
287
-
288
-
287
+
288
+ /**
289
+ * Utilitário para remover caracteres em branco da string.
290
+ * @param value String a ser removido os espaços.
291
+ * @returns String sem espaços em branco.
292
+ */
293
+ static replaceBlankCharacters(value: string): string{
294
+ return (value || "").replace(/ /g, "");
295
+ }
289
296
  }
@@ -36,12 +36,12 @@ describe('addIDInfo', () => {
36
36
  expect(element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME)).toBe("movFinanceira_snkApplication");
37
37
  });
38
38
 
39
- test('2 - should add data-element-id with valid id "br.com.sankhya.fin.cad.movimentacaoFinanceira_snkApplication"', () => {
39
+ test('2 - should add data-element-id with valid id "brComSankhyaFinCadMovimentacaofinanceira_snkApplication"', () => {
40
40
  const iDInfo: IElementIDInfo = { id: "br.com.sankhya.fin.cad.movimentacaoFinanceira" };
41
41
 
42
42
  const result = ElementIDUtils.addIDInfo(element, undefined, iDInfo);
43
- expect(result).toBe("br.com.sankhya.fin.cad.movimentacaoFinanceira_snkApplication");
44
- expect(element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME)).toBe("br.com.sankhya.fin.cad.movimentacaoFinanceira_snkApplication");
43
+ expect(result).toBe("brComSankhyaFinCadMovimentacaofinanceira_snkApplication");
44
+ expect(element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME)).toBe("brComSankhyaFinCadMovimentacaofinanceira_snkApplication");
45
45
  });
46
46
 
47
47
  test('3 - should add data-element-id with valid id "movFinanceira_br.com.sankhya.fin.cad.movimentacaoFinanceira"', () => {