@sankhyalabs/core 2.4.0 → 2.4.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.
- package/.docs/classes/Change.md +9 -9
- package/.docs/classes/DataUnit.md +15 -15
- package/.docs/classes/ElementIDUtils.md +49 -17
- package/.docs/classes/StringUtils.md +25 -0
- package/dist/dataunit/DataUnit.d.ts +7 -7
- package/dist/dataunit/DataUnit.js +2 -2
- package/dist/utils/ElementIDUtils.d.ts +7 -4
- package/dist/utils/ElementIDUtils.js +41 -17
- package/dist/utils/ElementIDUtils.js.map +1 -1
- package/dist/utils/StringUtils.d.ts +6 -0
- package/dist/utils/StringUtils.js +8 -0
- package/dist/utils/StringUtils.js.map +1 -1
- package/package.json +1 -1
- package/scripts/runlink.sh +1 -0
- package/src/dataunit/DataUnit.ts +9 -9
- package/src/utils/ElementIDUtils.ts +41 -19
- package/src/utils/StringUtils.ts +9 -2
- package/test/util/ElementIDUtils.spec.ts +3 -3
package/.docs/classes/Change.md
CHANGED
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
|
|
13
13
|
### Properties
|
|
14
14
|
|
|
15
|
-
- [DataUnit](Change.md#dataunit)
|
|
16
15
|
- [\_operation](Change.md#_operation)
|
|
16
|
+
- [dataUnit](Change.md#dataunit)
|
|
17
17
|
- [record](Change.md#record)
|
|
18
18
|
- [sourceId](Change.md#sourceid)
|
|
19
19
|
- [updatingFields](Change.md#updatingfields)
|
|
@@ -33,13 +33,13 @@
|
|
|
33
33
|
|
|
34
34
|
### constructor
|
|
35
35
|
|
|
36
|
-
• **new Change**(`
|
|
36
|
+
• **new Change**(`dataUnit`, `record`, `updates`, `operation`, `sourceId?`)
|
|
37
37
|
|
|
38
38
|
#### Parameters
|
|
39
39
|
|
|
40
40
|
| Name | Type |
|
|
41
41
|
| :------ | :------ |
|
|
42
|
-
| `
|
|
42
|
+
| `dataUnit` | `string` |
|
|
43
43
|
| `record` | [`Record`](../interfaces/Record.md) |
|
|
44
44
|
| `updates` | `any` |
|
|
45
45
|
| `operation` | [`ChangeOperation`](../enums/ChangeOperation.md) |
|
|
@@ -51,23 +51,23 @@ src/dataunit/DataUnit.ts:1059
|
|
|
51
51
|
|
|
52
52
|
## Properties
|
|
53
53
|
|
|
54
|
-
###
|
|
54
|
+
### \_operation
|
|
55
55
|
|
|
56
|
-
•
|
|
56
|
+
• `Private` **\_operation**: [`ChangeOperation`](../enums/ChangeOperation.md)
|
|
57
57
|
|
|
58
58
|
#### Defined in
|
|
59
59
|
|
|
60
|
-
src/dataunit/DataUnit.ts:
|
|
60
|
+
src/dataunit/DataUnit.ts:1057
|
|
61
61
|
|
|
62
62
|
___
|
|
63
63
|
|
|
64
|
-
###
|
|
64
|
+
### dataUnit
|
|
65
65
|
|
|
66
|
-
•
|
|
66
|
+
• **dataUnit**: `string`
|
|
67
67
|
|
|
68
68
|
#### Defined in
|
|
69
69
|
|
|
70
|
-
src/dataunit/DataUnit.ts:
|
|
70
|
+
src/dataunit/DataUnit.ts:1052
|
|
71
71
|
|
|
72
72
|
___
|
|
73
73
|
|
|
@@ -178,17 +178,17 @@ ___
|
|
|
178
178
|
|
|
179
179
|
### dataLoader
|
|
180
180
|
|
|
181
|
-
• `Optional` **dataLoader**: (`
|
|
181
|
+
• `Optional` **dataLoader**: (`dataUnit`: [`DataUnit`](DataUnit.md), `request`: [`LoadDataRequest`](../interfaces/LoadDataRequest.md)) => `Promise`<[`LoadDataResponse`](../interfaces/LoadDataResponse.md)\>
|
|
182
182
|
|
|
183
183
|
#### Type declaration
|
|
184
184
|
|
|
185
|
-
▸ (`
|
|
185
|
+
▸ (`dataUnit`, `request`): `Promise`<[`LoadDataResponse`](../interfaces/LoadDataResponse.md)\>
|
|
186
186
|
|
|
187
187
|
##### Parameters
|
|
188
188
|
|
|
189
189
|
| Name | Type |
|
|
190
190
|
| :------ | :------ |
|
|
191
|
-
| `
|
|
191
|
+
| `dataUnit` | [`DataUnit`](DataUnit.md) |
|
|
192
192
|
| `request` | [`LoadDataRequest`](../interfaces/LoadDataRequest.md) |
|
|
193
193
|
|
|
194
194
|
##### Returns
|
|
@@ -203,17 +203,17 @@ ___
|
|
|
203
203
|
|
|
204
204
|
### metadataLoader
|
|
205
205
|
|
|
206
|
-
• `Optional` **metadataLoader**: (`
|
|
206
|
+
• `Optional` **metadataLoader**: (`dataUnit`: [`DataUnit`](DataUnit.md)) => `Promise`<[`UnitMetadata`](../interfaces/UnitMetadata.md)\>
|
|
207
207
|
|
|
208
208
|
#### Type declaration
|
|
209
209
|
|
|
210
|
-
▸ (`
|
|
210
|
+
▸ (`dataUnit`): `Promise`<[`UnitMetadata`](../interfaces/UnitMetadata.md)\>
|
|
211
211
|
|
|
212
212
|
##### Parameters
|
|
213
213
|
|
|
214
214
|
| Name | Type |
|
|
215
215
|
| :------ | :------ |
|
|
216
|
-
| `
|
|
216
|
+
| `dataUnit` | [`DataUnit`](DataUnit.md) |
|
|
217
217
|
|
|
218
218
|
##### Returns
|
|
219
219
|
|
|
@@ -227,17 +227,17 @@ ___
|
|
|
227
227
|
|
|
228
228
|
### recordLoader
|
|
229
229
|
|
|
230
|
-
• `Optional` **recordLoader**: (`
|
|
230
|
+
• `Optional` **recordLoader**: (`dataUnit`: [`DataUnit`](DataUnit.md), `recordIds`: `string`[]) => `Promise`<[`Record`](../interfaces/Record.md)[]\>
|
|
231
231
|
|
|
232
232
|
#### Type declaration
|
|
233
233
|
|
|
234
|
-
▸ (`
|
|
234
|
+
▸ (`dataUnit`, `recordIds`): `Promise`<[`Record`](../interfaces/Record.md)[]\>
|
|
235
235
|
|
|
236
236
|
##### Parameters
|
|
237
237
|
|
|
238
238
|
| Name | Type |
|
|
239
239
|
| :------ | :------ |
|
|
240
|
-
| `
|
|
240
|
+
| `dataUnit` | [`DataUnit`](DataUnit.md) |
|
|
241
241
|
| `recordIds` | `string`[] |
|
|
242
242
|
|
|
243
243
|
##### Returns
|
|
@@ -252,17 +252,17 @@ ___
|
|
|
252
252
|
|
|
253
253
|
### removeLoader
|
|
254
254
|
|
|
255
|
-
• `Optional` **removeLoader**: (`
|
|
255
|
+
• `Optional` **removeLoader**: (`dataUnit`: [`DataUnit`](DataUnit.md), `recordIds`: `string`[]) => `Promise`<`string`[]\>
|
|
256
256
|
|
|
257
257
|
#### Type declaration
|
|
258
258
|
|
|
259
|
-
▸ (`
|
|
259
|
+
▸ (`dataUnit`, `recordIds`): `Promise`<`string`[]\>
|
|
260
260
|
|
|
261
261
|
##### Parameters
|
|
262
262
|
|
|
263
263
|
| Name | Type |
|
|
264
264
|
| :------ | :------ |
|
|
265
|
-
| `
|
|
265
|
+
| `dataUnit` | [`DataUnit`](DataUnit.md) |
|
|
266
266
|
| `recordIds` | `string`[] |
|
|
267
267
|
|
|
268
268
|
##### Returns
|
|
@@ -277,17 +277,17 @@ ___
|
|
|
277
277
|
|
|
278
278
|
### saveLoader
|
|
279
279
|
|
|
280
|
-
• `Optional` **saveLoader**: (`
|
|
280
|
+
• `Optional` **saveLoader**: (`dataUnit`: [`DataUnit`](DataUnit.md), `changes`: [`Change`](Change.md)[]) => `Promise`<[`SavedRecord`](../interfaces/SavedRecord.md)[]\>
|
|
281
281
|
|
|
282
282
|
#### Type declaration
|
|
283
283
|
|
|
284
|
-
▸ (`
|
|
284
|
+
▸ (`dataUnit`, `changes`): `Promise`<[`SavedRecord`](../interfaces/SavedRecord.md)[]\>
|
|
285
285
|
|
|
286
286
|
##### Parameters
|
|
287
287
|
|
|
288
288
|
| Name | Type |
|
|
289
289
|
| :------ | :------ |
|
|
290
|
-
| `
|
|
290
|
+
| `dataUnit` | [`DataUnit`](DataUnit.md) |
|
|
291
291
|
| `changes` | [`Change`](Change.md)[] |
|
|
292
292
|
|
|
293
293
|
##### Returns
|
|
@@ -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.
|
|
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:
|
|
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` = `"
|
|
53
|
+
▪ `Static` **INTERNAL\_INPUT\_NAME**: `string` = `"embedded"`
|
|
51
54
|
|
|
52
55
|
#### Defined in
|
|
53
56
|
|
|
54
|
-
src/utils/ElementIDUtils.ts:
|
|
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:
|
|
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:
|
|
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:
|
|
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 =
|
|
141
|
-
Dentro desse ez-combo-box existe um ez-text-input. O data-element-id teria como sufixo o id '
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
268
|
+
src/utils/ElementIDUtils.ts:168
|
|
256
269
|
|
|
257
270
|
___
|
|
258
271
|
|
|
259
272
|
### getInternalIDInfo
|
|
260
273
|
|
|
261
|
-
▸ `Static` **getInternalIDInfo**(`
|
|
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:
|
|
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
|
|
@@ -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`
|
|
@@ -14,11 +14,11 @@ export default class DataUnit {
|
|
|
14
14
|
private _stateManager;
|
|
15
15
|
private _interceptors;
|
|
16
16
|
private _pageSize;
|
|
17
|
-
metadataLoader?: (
|
|
18
|
-
dataLoader?: (
|
|
19
|
-
saveLoader?: (
|
|
20
|
-
removeLoader?: (
|
|
21
|
-
recordLoader?: (
|
|
17
|
+
metadataLoader?: (dataUnit: DataUnit) => Promise<UnitMetadata>;
|
|
18
|
+
dataLoader?: (dataUnit: DataUnit, request: LoadDataRequest) => Promise<LoadDataResponse>;
|
|
19
|
+
saveLoader?: (dataUnit: DataUnit, changes: Array<Change>) => Promise<Array<SavedRecord>>;
|
|
20
|
+
removeLoader?: (dataUnit: DataUnit, recordIds: Array<string>) => Promise<Array<string>>;
|
|
21
|
+
recordLoader?: (dataUnit: DataUnit, recordIds: Array<string>) => Promise<Array<Record>>;
|
|
22
22
|
constructor(name: string);
|
|
23
23
|
/**
|
|
24
24
|
*
|
|
@@ -570,12 +570,12 @@ export declare enum ChangeOperation {
|
|
|
570
570
|
* `Change`: Dados que representam uma alteração.
|
|
571
571
|
*/
|
|
572
572
|
export declare class Change {
|
|
573
|
-
|
|
573
|
+
dataUnit: string;
|
|
574
574
|
record: Record;
|
|
575
575
|
sourceId: string | undefined;
|
|
576
576
|
updatingFields: any;
|
|
577
577
|
private _operation;
|
|
578
|
-
constructor(
|
|
578
|
+
constructor(dataUnit: string, record: Record, updates: any, operation: ChangeOperation, sourceId?: string);
|
|
579
579
|
/**
|
|
580
580
|
*
|
|
581
581
|
* Obtém o tipo de operação que está sendo realizada.
|
|
@@ -956,8 +956,8 @@ export var ChangeOperation;
|
|
|
956
956
|
* `Change`: Dados que representam uma alteração.
|
|
957
957
|
*/
|
|
958
958
|
export class Change {
|
|
959
|
-
constructor(
|
|
960
|
-
this.
|
|
959
|
+
constructor(dataUnit, record, updates, operation, sourceId) {
|
|
960
|
+
this.dataUnit = dataUnit;
|
|
961
961
|
this.record = record;
|
|
962
962
|
this.sourceId = sourceId;
|
|
963
963
|
this.updatingFields = updates;
|
|
@@ -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.
|
|
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(
|
|
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 =
|
|
50
|
-
* Dentro desse ez-combo-box existe um ez-text-input. O data-element-id teria como sufixo o id '
|
|
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.
|
|
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
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
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
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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
|
-
|
|
36
|
+
catch (e) {
|
|
37
|
+
console.warn(`Erro ao gerar data-element-id: ${element.tagName}`, e);
|
|
38
|
+
}
|
|
39
|
+
return "";
|
|
27
40
|
}
|
|
28
|
-
static getInternalIDInfo(
|
|
29
|
-
return `${
|
|
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
|
|
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 =
|
|
91
|
-
* Dentro desse ez-combo-box existe um ez-text-input. O data-element-id teria como sufixo o id '
|
|
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
|
-
|
|
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 = "
|
|
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":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAO/C
|
|
1
|
+
{"version":3,"file":"ElementIDUtils.js","sourceRoot":"","sources":["../../src/utils/ElementIDUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
npm link && npm run link-dev
|
package/src/dataunit/DataUnit.ts
CHANGED
|
@@ -34,11 +34,11 @@ export default class DataUnit {
|
|
|
34
34
|
private _interceptors: Array<DUActionInterceptor>;
|
|
35
35
|
private _pageSize: number;
|
|
36
36
|
|
|
37
|
-
public metadataLoader?: (
|
|
38
|
-
public dataLoader?: (
|
|
39
|
-
public saveLoader?: (
|
|
40
|
-
public removeLoader?: (
|
|
41
|
-
public recordLoader?: (
|
|
37
|
+
public metadataLoader?: (dataUnit: DataUnit) => Promise<UnitMetadata>;
|
|
38
|
+
public dataLoader?: (dataUnit: DataUnit, request: LoadDataRequest) => Promise<LoadDataResponse>;
|
|
39
|
+
public saveLoader?: (dataUnit: DataUnit, changes: Array<Change>) => Promise<Array<SavedRecord>>;
|
|
40
|
+
public removeLoader?: (dataUnit: DataUnit, recordIds: Array<string>) => Promise<Array<string>>;
|
|
41
|
+
public recordLoader?: (dataUnit: DataUnit, recordIds: Array<string>) => Promise<Array<Record>>;
|
|
42
42
|
|
|
43
43
|
constructor(name: string) {
|
|
44
44
|
this._name = name;
|
|
@@ -1049,15 +1049,15 @@ export enum ChangeOperation {
|
|
|
1049
1049
|
*/
|
|
1050
1050
|
export class Change {
|
|
1051
1051
|
|
|
1052
|
-
public
|
|
1052
|
+
public dataUnit: string;
|
|
1053
1053
|
public record: Record;
|
|
1054
1054
|
public sourceId: string | undefined;
|
|
1055
1055
|
public updatingFields: any;
|
|
1056
1056
|
|
|
1057
1057
|
private _operation: ChangeOperation;
|
|
1058
1058
|
|
|
1059
|
-
constructor(
|
|
1060
|
-
this.
|
|
1059
|
+
constructor(dataUnit: string, record: Record, updates: any, operation: ChangeOperation, sourceId?: string) {
|
|
1060
|
+
this.dataUnit = dataUnit;
|
|
1061
1061
|
this.record = record;
|
|
1062
1062
|
this.sourceId = sourceId;
|
|
1063
1063
|
this.updatingFields = updates;
|
|
@@ -1145,4 +1145,4 @@ export interface PageResponse {
|
|
|
1145
1145
|
total: number;
|
|
1146
1146
|
hasMore: boolean;
|
|
1147
1147
|
records: Array<Record>;
|
|
1148
|
-
}
|
|
1148
|
+
}
|
|
@@ -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.
|
|
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 = "
|
|
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
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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
|
-
|
|
40
|
+
try{
|
|
41
|
+
let dataElementID = element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME);
|
|
35
42
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
43
|
+
if(dataElementID == undefined){
|
|
44
|
+
dataElementID = ElementIDUtils.addIDInfo(element, suffix, iDInfo)
|
|
45
|
+
}
|
|
39
46
|
|
|
40
|
-
|
|
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(
|
|
44
|
-
return `${
|
|
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
|
|
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 =
|
|
117
|
-
* Dentro desse ez-combo-box existe um ez-text-input. O data-element-id teria como sufixo o id '
|
|
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
|
-
|
|
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
|
}
|
package/src/utils/StringUtils.ts
CHANGED
|
@@ -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 "
|
|
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("
|
|
44
|
-
expect(element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME)).toBe("
|
|
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"', () => {
|