@sankhyalabs/core 5.15.5 → 5.16.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.
- package/.docs/README.md +3 -1
- package/.docs/classes/ApplicationContext.md +31 -32
- package/.docs/classes/ArrayUtils.md +183 -41
- package/.docs/classes/AuthorizedServiceCaller.md +25 -34
- package/.docs/classes/Change.md +59 -74
- package/.docs/classes/DataUnit.md +970 -1068
- package/.docs/classes/DataUnitAction.md +25 -42
- package/.docs/classes/DataUnitStorage.md +40 -43
- package/.docs/classes/DateUtils.md +133 -126
- package/.docs/classes/ElementIDUtils.md +123 -122
- package/.docs/classes/ErrorException.md +67 -88
- package/.docs/classes/ErrorTracking.md +20 -23
- package/.docs/classes/FieldComparator.md +35 -39
- package/.docs/classes/FloatingManager.md +195 -198
- package/.docs/classes/HTMLBuilder.md +14 -20
- package/.docs/classes/HttpProvider.md +45 -41
- package/.docs/classes/IDBRepository.md +179 -196
- package/.docs/classes/JSUtils.md +82 -58
- package/.docs/classes/KeyboardManager.md +95 -87
- package/.docs/classes/{MaskFormatter-1.md → MaskFormatter.md} +81 -120
- package/.docs/classes/NumberUtils.md +163 -152
- package/.docs/classes/ObjectUtils.md +82 -61
- package/.docs/classes/OnboardingUtils.md +36 -51
- package/.docs/classes/OverflowWatcher.md +269 -0
- package/.docs/classes/PromiseSync.md +25 -42
- package/.docs/classes/ReadyUtil.md +31 -41
- package/.docs/classes/RequestMetadata.md +29 -30
- package/.docs/classes/SearchUtils.md +41 -0
- package/.docs/classes/SelectionInfo.md +59 -74
- package/.docs/classes/SkwHttpProvider.md +33 -45
- package/.docs/classes/StringUtils.md +397 -268
- package/.docs/classes/TimeFormatter.md +43 -44
- package/.docs/classes/UserAgentUtils.md +17 -20
- package/.docs/classes/VersionUtils.md +15 -18
- package/.docs/classes/WaitingChangeException.md +63 -84
- package/.docs/classes/WarningException.md +67 -88
- package/.docs/enumerations/Action.md +297 -0
- package/.docs/enumerations/ChangeOperation.md +47 -0
- package/.docs/enumerations/DataType.md +57 -0
- package/.docs/enumerations/DependencyType.md +37 -0
- package/.docs/enumerations/OverflowDirection.md +29 -0
- package/.docs/enumerations/SelectionMode.md +27 -0
- package/.docs/enumerations/SortMode.md +27 -0
- package/.docs/enumerations/UserInterface.md +177 -0
- package/.docs/functions/defaultDataLoader.md +25 -0
- package/.docs/{modules.md → globals.md} +22 -37
- package/.docs/interfaces/ChildDescriptor.md +12 -16
- package/.docs/interfaces/ChildLink.md +9 -12
- package/.docs/interfaces/DUActionInterceptor.md +10 -14
- package/.docs/interfaces/ExecutionContext.md +17 -32
- package/.docs/interfaces/FieldDescriptor.md +52 -66
- package/.docs/interfaces/Filter.md +13 -17
- package/.docs/interfaces/IElementIDInfo.md +11 -14
- package/.docs/interfaces/ILoadResult.md +11 -16
- package/.docs/interfaces/IRepository.md +88 -93
- package/.docs/interfaces/IRepositoryIndex.md +23 -30
- package/.docs/interfaces/LoadDataRequest.md +36 -45
- package/.docs/interfaces/LoadDataResponse.md +11 -14
- package/.docs/interfaces/PageRequest.md +16 -20
- package/.docs/interfaces/PaginationInfo.md +24 -31
- package/.docs/interfaces/PromiseSyncCallback.md +13 -17
- package/.docs/interfaces/QuickFilter.md +17 -21
- package/.docs/interfaces/Record.md +26 -33
- package/.docs/interfaces/SavedRecord.md +33 -41
- package/.docs/interfaces/Sort.md +12 -16
- package/.docs/interfaces/SortingProvider.md +10 -13
- package/.docs/interfaces/UnitMetadata.md +16 -21
- package/.docs/interfaces/WaitingChange.md +16 -20
- package/.docs/namespaces/MaskFormatter/README.md +17 -0
- package/.docs/namespaces/MaskFormatter/type-aliases/MaskCharacter.md +13 -0
- package/.docs/namespaces/MaskFormatter/variables/MaskCharacter.md +13 -0
- package/.docs/type-aliases/OnOverflowCallBack.md +25 -0
- package/.releaserc +10 -10
- package/dist/dataunit/DataUnit.d.ts +7 -1
- package/dist/dataunit/DataUnit.js +13 -5
- package/dist/dataunit/DataUnit.js.map +1 -1
- package/dist/dataunit/state/slice/SelectionSlice.js +1 -1
- package/dist/dataunit/state/slice/SelectionSlice.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/utils/ArrayUtils.d.ts +39 -0
- package/dist/utils/ArrayUtils.js +69 -0
- package/dist/utils/ArrayUtils.js.map +1 -1
- package/dist/utils/JSUtils.d.ts +7 -0
- package/dist/utils/JSUtils.js +16 -0
- package/dist/utils/JSUtils.js.map +1 -1
- package/dist/utils/ObjectUtils.d.ts +8 -0
- package/dist/utils/ObjectUtils.js +10 -0
- package/dist/utils/ObjectUtils.js.map +1 -1
- package/dist/utils/OverflowWatcher/index.d.ts +31 -0
- package/dist/utils/OverflowWatcher/index.js +107 -0
- package/dist/utils/OverflowWatcher/index.js.map +1 -0
- package/dist/utils/OverflowWatcher/types/overflow-callback.d.ts +6 -0
- package/dist/utils/OverflowWatcher/types/overflow-callback.js +2 -0
- package/dist/utils/OverflowWatcher/types/overflow-callback.js.map +1 -0
- package/dist/utils/OverflowWatcher/types/overflow-direction.d.ts +7 -0
- package/dist/utils/OverflowWatcher/types/overflow-direction.js +9 -0
- package/dist/utils/OverflowWatcher/types/overflow-direction.js.map +1 -0
- package/dist/utils/SearchUtils.d.ts +6 -0
- package/dist/utils/SearchUtils.js +17 -0
- package/dist/utils/SearchUtils.js.map +1 -0
- package/dist/utils/StringUtils.d.ts +7 -0
- package/dist/utils/StringUtils.js +97 -0
- package/dist/utils/StringUtils.js.map +1 -1
- package/jest.config.ts +1 -1
- package/package.json +11 -4
- package/sonar-project.properties +7 -0
- package/src/dataunit/DataUnit.ts +18 -4
- package/src/dataunit/state/slice/SelectionSlice.ts +1 -1
- package/src/index.ts +6 -0
- package/src/utils/ArrayUtils.ts +73 -0
- package/src/utils/JSUtils.ts +18 -0
- package/src/utils/ObjectUtils.ts +11 -0
- package/src/utils/OverflowWatcher/index.ts +151 -0
- package/src/utils/OverflowWatcher/types/overflow-callback.ts +6 -0
- package/src/utils/OverflowWatcher/types/overflow-direction.ts +7 -0
- package/src/utils/SearchUtils.ts +18 -0
- package/src/utils/StringUtils.ts +124 -0
- package/test/util/OverflowWatcher.spec.ts +118 -0
- package/.docs/.nojekyll +0 -1
- package/.docs/enums/Action.md +0 -327
- package/.docs/enums/ChangeOperation.md +0 -52
- package/.docs/enums/DataType.md +0 -63
- package/.docs/enums/DependencyType.md +0 -41
- package/.docs/enums/SelectionMode.md +0 -30
- package/.docs/enums/SortMode.md +0 -30
- package/.docs/enums/UserInterface.md +0 -195
- package/.docs/modules/MaskFormatter.md +0 -37
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Define em qual direção o overflow será observado
|
|
3
|
+
*/
|
|
4
|
+
export var OverflowDirection;
|
|
5
|
+
(function (OverflowDirection) {
|
|
6
|
+
OverflowDirection[OverflowDirection["VERTICAL"] = 0] = "VERTICAL";
|
|
7
|
+
OverflowDirection[OverflowDirection["HORIZONTAL"] = 1] = "HORIZONTAL";
|
|
8
|
+
})(OverflowDirection || (OverflowDirection = {}));
|
|
9
|
+
//# sourceMappingURL=overflow-direction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overflow-direction.js","sourceRoot":"","sources":["../../../../src/utils/OverflowWatcher/types/overflow-direction.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAN,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IACzB,iEAAU,CAAA;IACV,qEAAY,CAAA;AAChB,CAAC,EAHW,iBAAiB,KAAjB,iBAAiB,QAG5B"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { StringUtils } from "./StringUtils.js";
|
|
2
|
+
/**
|
|
3
|
+
* `Search`: Utilizado para manipulação de do objeto de pesquisa.
|
|
4
|
+
*/
|
|
5
|
+
export class SearchUtils {
|
|
6
|
+
static buildDetails(argument, fields, item) {
|
|
7
|
+
let details = {};
|
|
8
|
+
for (let index = 0; (index < fields.length); index++) {
|
|
9
|
+
const field = fields[index];
|
|
10
|
+
const itemValue = item[field.fieldName];
|
|
11
|
+
const optionValue = field.options ? field.options[itemValue] || itemValue : itemValue;
|
|
12
|
+
details[field.description] = StringUtils.highlightValue(argument, item['__matchFields'], optionValue, fields, true);
|
|
13
|
+
}
|
|
14
|
+
return details;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=SearchUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchUtils.js","sourceRoot":"","sources":["../../src/utils/SearchUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;GAEG;AACH,MAAM,OAAO,WAAW;IAEb,MAAM,CAAC,YAAY,CAAC,QAAgB,EAAE,MAAW,EAAE,IAAS;QAC/D,IAAI,OAAO,GAAO,EAAE,CAAC;QACrB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE;YACpD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACxC,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YACtF,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;SACrH;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;CACJ"}
|
|
@@ -190,4 +190,11 @@ export declare class StringUtils {
|
|
|
190
190
|
* @return {string} A string invertida
|
|
191
191
|
*/
|
|
192
192
|
static getOppositeCase(original: string): string;
|
|
193
|
+
static replaceToSpace(source: string, replaceList?: string[]): string;
|
|
194
|
+
static replaceAccentuatedCharsHtmlEntities(source: string): string;
|
|
195
|
+
static getSpecialCharacters(str: string): string[];
|
|
196
|
+
static replaceAll(str: string, strFrom: string, strTo: string): string;
|
|
197
|
+
static removeSpecialCharacters(str: string): string;
|
|
198
|
+
static getArgumentNumber(argument: String): number;
|
|
199
|
+
static highlightValue(argument: String, matchFields: any, value: string, fieldMD: any, forceMatch: boolean): string;
|
|
193
200
|
}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { v4 as uuid } from "uuid";
|
|
2
|
+
import ArrayUtils from "./ArrayUtils.js";
|
|
3
|
+
import { JSUtils } from "./JSUtils.js";
|
|
2
4
|
/**
|
|
3
5
|
* `StringUtils`: Utilizado para manipulação de Strings.
|
|
4
6
|
*/
|
|
@@ -372,5 +374,100 @@ export class StringUtils {
|
|
|
372
374
|
static getOppositeCase(original) {
|
|
373
375
|
return this.isLowerCase(original) ? original.toUpperCase() : original.toLowerCase();
|
|
374
376
|
}
|
|
377
|
+
static replaceToSpace(source, replaceList = []) {
|
|
378
|
+
if (source == undefined) {
|
|
379
|
+
return source;
|
|
380
|
+
}
|
|
381
|
+
replaceList.forEach((word) => {
|
|
382
|
+
const wordAux = new RegExp(word, 'g');
|
|
383
|
+
let whiteSpace = '';
|
|
384
|
+
for (let i = 0; i < word.length; i++) {
|
|
385
|
+
whiteSpace += ' ';
|
|
386
|
+
}
|
|
387
|
+
source = String(source).replace(wordAux, whiteSpace);
|
|
388
|
+
});
|
|
389
|
+
return source;
|
|
390
|
+
}
|
|
391
|
+
static replaceAccentuatedCharsHtmlEntities(source) {
|
|
392
|
+
const charsWithoutAccentuation = "AEIOU_AO_AEIOU_AEIOU_U_C_aeiou_ao_aeiou_aeiou_u_c";
|
|
393
|
+
if (source == undefined) {
|
|
394
|
+
return source;
|
|
395
|
+
}
|
|
396
|
+
const replaceList = ['&', '<', '>', '"'];
|
|
397
|
+
const sourceAux = StringUtils.replaceToSpace(source, replaceList);
|
|
398
|
+
return sourceAux.replace(/[^\w ]/g, (char) => {
|
|
399
|
+
let index = charsWithoutAccentuation.indexOf(char);
|
|
400
|
+
if (index > -1) {
|
|
401
|
+
char = charsWithoutAccentuation.charAt(index);
|
|
402
|
+
}
|
|
403
|
+
return char || '';
|
|
404
|
+
});
|
|
405
|
+
}
|
|
406
|
+
static getSpecialCharacters(str) {
|
|
407
|
+
const specialCharsRegex = /[[.\-\$\+\*,_\&\(\)%\/\\#@!:\|\=\'\"]/gmi;
|
|
408
|
+
let match;
|
|
409
|
+
let charList = [];
|
|
410
|
+
while ((match = specialCharsRegex.exec(str))) {
|
|
411
|
+
charList.push(str[match.index]);
|
|
412
|
+
}
|
|
413
|
+
return charList;
|
|
414
|
+
}
|
|
415
|
+
static replaceAll(str, strFrom, strTo) {
|
|
416
|
+
let pos = (str != undefined ? str : '').indexOf(strFrom);
|
|
417
|
+
while (pos > -1) {
|
|
418
|
+
str = str.replace(strFrom, strTo);
|
|
419
|
+
pos = str.indexOf(strFrom);
|
|
420
|
+
}
|
|
421
|
+
return (str);
|
|
422
|
+
}
|
|
423
|
+
static removeSpecialCharacters(str) {
|
|
424
|
+
let specialChars = StringUtils.getSpecialCharacters(str);
|
|
425
|
+
specialChars.forEach((ch) => {
|
|
426
|
+
str = StringUtils.replaceAll(str, ch, '');
|
|
427
|
+
});
|
|
428
|
+
return str;
|
|
429
|
+
}
|
|
430
|
+
static getArgumentNumber(argument) {
|
|
431
|
+
return Number(argument || undefined);
|
|
432
|
+
}
|
|
433
|
+
static highlightValue(argument, matchFields, value, fieldMD, forceMatch) {
|
|
434
|
+
const startHighlightTag = "<span class='card-item__highlight'>";
|
|
435
|
+
const endHighlightTag = "</span>";
|
|
436
|
+
let valueAux = JSUtils.replaceHtmlEntities(value);
|
|
437
|
+
if (argument && (forceMatch || ArrayUtils.isIn(matchFields, fieldMD.fieldName))) {
|
|
438
|
+
const argumentNumber = StringUtils.getArgumentNumber(argument);
|
|
439
|
+
let replacements = (isNaN(argumentNumber) ? argument : argumentNumber.toString()).split(/%|,|\s+/);
|
|
440
|
+
let lastMatchIndex = 0;
|
|
441
|
+
let cleanText = StringUtils.replaceAccentuatedCharsHtmlEntities(valueAux);
|
|
442
|
+
replacements.forEach((r) => {
|
|
443
|
+
if (r) {
|
|
444
|
+
r = StringUtils.replaceAccentuatedCharsHtmlEntities(r);
|
|
445
|
+
let specialChars = StringUtils.getSpecialCharacters(r);
|
|
446
|
+
if (specialChars != undefined && specialChars.length > 0) {
|
|
447
|
+
r = StringUtils.removeSpecialCharacters(r);
|
|
448
|
+
}
|
|
449
|
+
if (fieldMD.mask || fieldMD.uiType === 'CGC_CPF' || fieldMD.uiType === 'Phone') {
|
|
450
|
+
//Fazemos isso para descondirerar os caracteres especiais de formatação da string
|
|
451
|
+
r = r.split('').join('\\.?\\-?\\/?\\(?\\)?');
|
|
452
|
+
}
|
|
453
|
+
let regex = new RegExp(r, "ig");
|
|
454
|
+
regex.lastIndex = lastMatchIndex;
|
|
455
|
+
let match = regex.exec(cleanText);
|
|
456
|
+
if (match && match.length > 0) {
|
|
457
|
+
lastMatchIndex = match.index;
|
|
458
|
+
let sizeMatch = match[0].length;
|
|
459
|
+
let txtToColor = valueAux.substring(lastMatchIndex, lastMatchIndex + sizeMatch);
|
|
460
|
+
let txtColored = (txtToColor === null || txtToColor === void 0 ? void 0 : txtToColor.trim()) ? startHighlightTag + txtToColor + endHighlightTag : '';
|
|
461
|
+
let start = valueAux.substring(0, lastMatchIndex);
|
|
462
|
+
let end = valueAux.substring(lastMatchIndex + sizeMatch);
|
|
463
|
+
valueAux = start + txtColored + end;
|
|
464
|
+
lastMatchIndex = lastMatchIndex + txtColored.length;
|
|
465
|
+
cleanText = StringUtils.replaceAccentuatedCharsHtmlEntities(valueAux);
|
|
466
|
+
}
|
|
467
|
+
}
|
|
468
|
+
});
|
|
469
|
+
}
|
|
470
|
+
return valueAux;
|
|
471
|
+
}
|
|
375
472
|
}
|
|
376
473
|
//# sourceMappingURL=StringUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StringUtils.js","sourceRoot":"","sources":["../../src/utils/StringUtils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"StringUtils.js","sourceRoot":"","sources":["../../src/utils/StringUtils.ts"],"names":[],"mappings":"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"}
|
package/jest.config.ts
CHANGED
|
@@ -2,7 +2,7 @@ module.exports = {
|
|
|
2
2
|
transform: {'^.+\\.ts?$': 'ts-jest'},
|
|
3
3
|
testEnvironment: 'jsdom',
|
|
4
4
|
testRegex: '\\.(test|spec)?\\.(ts|tsx)$',
|
|
5
|
-
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
|
|
5
|
+
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
|
|
6
6
|
coverageThreshold: {
|
|
7
7
|
"global": {
|
|
8
8
|
"branches": 10,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sankhyalabs/core",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.16.0",
|
|
4
4
|
"description": "Modulo core JavaScript da Sankhya.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"build": "tsc",
|
|
11
11
|
"build:watch": "tsc --watch",
|
|
12
12
|
"compile": "tsc",
|
|
13
|
-
"test": "jest",
|
|
13
|
+
"test": "jest --coverage --silent --testResultsProcessor jest-sonar-reporter",
|
|
14
14
|
"coverage": "jest --coverage",
|
|
15
15
|
"serve": "es-dev-server --node-resolve --watch",
|
|
16
16
|
"eslint": "eslint src/**",
|
|
@@ -43,11 +43,18 @@
|
|
|
43
43
|
"eslint-plugin-import": "^2.26.0",
|
|
44
44
|
"husky": "^8.0.3",
|
|
45
45
|
"jest": "^29.4.1",
|
|
46
|
+
"jest-sonar-reporter": "^2.0.0",
|
|
46
47
|
"jest-environment-jsdom": "^29.4.1",
|
|
47
48
|
"ts-jest": "^29.0.5",
|
|
48
49
|
"ts-node": "^10.9.1",
|
|
49
|
-
"typedoc": "^0.
|
|
50
|
-
"typedoc-plugin-markdown": "^
|
|
50
|
+
"typedoc": "^0.25.13",
|
|
51
|
+
"typedoc-plugin-markdown": "^4.0.1",
|
|
51
52
|
"typescript": "^4.9.5"
|
|
53
|
+
},
|
|
54
|
+
"jestSonar": {
|
|
55
|
+
"sonar56x": true,
|
|
56
|
+
"reportPath": "reports",
|
|
57
|
+
"reportFile": "test-report.xml",
|
|
58
|
+
"indent": 4
|
|
52
59
|
}
|
|
53
60
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
sonar.testExecutionReportPaths=./reports/test-report.xml
|
|
2
|
+
sonar.typescript.lcov.reportPaths=./coverage/lcov.info
|
|
3
|
+
sonar.test.inclusions="**/test/*.e2e.ts","**/test/*.spec.ts","**/test/*.spec.tsx","**/utils/*.spec.ts"
|
|
4
|
+
sonar.tests=.
|
|
5
|
+
sonar.c.file.suffixes=-
|
|
6
|
+
sonar.cpp.file.suffixes=-
|
|
7
|
+
sonar.objc.file.suffixes=-
|
package/src/dataunit/DataUnit.ts
CHANGED
|
@@ -238,9 +238,14 @@ export default class DataUnit {
|
|
|
238
238
|
if (await this.dispatchAction(Action.LOADING_DATA, request, executionCtx)) {
|
|
239
239
|
if (this.dataLoader) {
|
|
240
240
|
this.dataLoader(this, request).then(
|
|
241
|
-
response => {
|
|
242
|
-
this.dispatchAction(
|
|
243
|
-
|
|
241
|
+
async response => {
|
|
242
|
+
await this.dispatchAction(
|
|
243
|
+
Action.DATA_LOADED,
|
|
244
|
+
{...response, keepSelection: request.keepSelection, filters: request.filters},
|
|
245
|
+
executionCtx
|
|
246
|
+
);
|
|
247
|
+
|
|
248
|
+
await this.dispatchAction(Action.LOADING_PROPERTIES_CLEANED);
|
|
244
249
|
|
|
245
250
|
if(selectFirstRecord){
|
|
246
251
|
this.requestSelectFirst(executionCtx);
|
|
@@ -1727,12 +1732,21 @@ export default class DataUnit {
|
|
|
1727
1732
|
return selection?.recordIds || [];
|
|
1728
1733
|
}
|
|
1729
1734
|
|
|
1735
|
+
/**
|
|
1736
|
+
* Adiciona um campo stand-alone ao dataUnit.
|
|
1737
|
+
*
|
|
1738
|
+
* @deprecated - metodo depreciado, utilizar o metodo addField
|
|
1739
|
+
*/
|
|
1740
|
+
public addStandAloneField() : void {
|
|
1741
|
+
console.warn("metodo depreciado, para adicionar um campo standAlone, utilizar o metodo addField")
|
|
1742
|
+
}
|
|
1743
|
+
|
|
1730
1744
|
/**
|
|
1731
1745
|
* Adiciona um campo stand-alone ao dataUnit.
|
|
1732
1746
|
*
|
|
1733
1747
|
* @param field - Campo a ser adicionado.
|
|
1734
1748
|
*/
|
|
1735
|
-
public
|
|
1749
|
+
public addField(field: Omit<FieldDescriptor, 'standAlone'>) : void {
|
|
1736
1750
|
const standAloneField = {...field, standAlone: true};
|
|
1737
1751
|
this.metadata = {...this.metadata, fields: [...this.metadata.fields, standAloneField]};
|
|
1738
1752
|
}
|
package/src/index.ts
CHANGED
|
@@ -38,6 +38,8 @@ import { ILoadResult } from "./repository/ILoadResult.js";
|
|
|
38
38
|
import { IRepositoryIndex } from "./repository/indexeddb/IRepositoryIndex.js"
|
|
39
39
|
import { FieldComparator } from "./dataunit/sorting/FieldComparator.js";
|
|
40
40
|
import { KeyboardManager } from "./utils/KeyboardManager/index.js";
|
|
41
|
+
import { SearchUtils } from "./utils/SearchUtils.js";
|
|
42
|
+
import OverflowWatcher, { OnOverflowCallBack, OverflowDirection } from "./utils/OverflowWatcher/index.js";
|
|
41
43
|
|
|
42
44
|
/*Classes públicas no pacote*/
|
|
43
45
|
export {
|
|
@@ -104,4 +106,8 @@ export {
|
|
|
104
106
|
FieldComparator,
|
|
105
107
|
defaultDataLoader,
|
|
106
108
|
KeyboardManager,
|
|
109
|
+
SearchUtils,
|
|
110
|
+
OverflowWatcher,
|
|
111
|
+
OnOverflowCallBack,
|
|
112
|
+
OverflowDirection
|
|
107
113
|
};
|
package/src/utils/ArrayUtils.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { StringUtils } from "./StringUtils.js";
|
|
2
2
|
import { NumberUtils } from './NumberUtils.js';
|
|
3
|
+
import ObjectUtils from "./ObjectUtils.js";
|
|
3
4
|
|
|
4
5
|
/**
|
|
5
6
|
* `ArrayUtils`: Utilitário com a responsabilidade de manipular Arrays.
|
|
@@ -58,4 +59,76 @@ export default class ArrayUtils {
|
|
|
58
59
|
}
|
|
59
60
|
});
|
|
60
61
|
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Ordena valores de um array alfabeticamente.
|
|
65
|
+
*
|
|
66
|
+
* @param arr - Array a ser ordenado.
|
|
67
|
+
* @returns - Array ordenado alfabeticamente..
|
|
68
|
+
*/
|
|
69
|
+
public static find(arr: any, checkerFn: any) {
|
|
70
|
+
if (arr) {
|
|
71
|
+
for (let i = 0, length = arr.length; i < length; i++) {
|
|
72
|
+
if (checkerFn(arr[i], i, arr)) {
|
|
73
|
+
return arr[i];
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
} else {
|
|
77
|
+
return undefined;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Retorna o objeto se for encontrado no array, ou -1 se não for encontrado.
|
|
83
|
+
*
|
|
84
|
+
* @param arr - Array onde está o objeto.
|
|
85
|
+
* @param obj - Objeto a ser procurado.
|
|
86
|
+
* @returns - Array ordenado alfabeticamente..
|
|
87
|
+
*/
|
|
88
|
+
public static indexOf(arr: any, obj: any) {
|
|
89
|
+
let index = -1;
|
|
90
|
+
if (Array.isArray(arr)) {
|
|
91
|
+
ArrayUtils.find(arr, (item: any, i: number) => {
|
|
92
|
+
index = i;
|
|
93
|
+
return ObjectUtils.equals(obj, item);
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
return index;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Remove um item de array de acordo com o index.
|
|
101
|
+
*
|
|
102
|
+
* @param array - Array onde está o item.
|
|
103
|
+
* @param index - Index do item a ser removido.
|
|
104
|
+
* @returns - Array sem o item do index informado.
|
|
105
|
+
*/
|
|
106
|
+
public static removeAtIndex(array: any, index: number) {
|
|
107
|
+
if (index >= 0 && index < array.length) {
|
|
108
|
+
return array.splice(index, 1)[0];
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Remove um objeto do array.
|
|
114
|
+
*
|
|
115
|
+
* @param array - Array onde está o objeto.
|
|
116
|
+
* @param obj - Objeto a ser removido.
|
|
117
|
+
* @returns - Array sem o Objeto informado.
|
|
118
|
+
*/
|
|
119
|
+
public static removeReference(array: any, obj: any) {
|
|
120
|
+
let index = ArrayUtils.indexOf(array, obj);
|
|
121
|
+
return ArrayUtils.removeAtIndex(array, index);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Remove um objeto do array.
|
|
126
|
+
*
|
|
127
|
+
* @param array - Array onde está o objeto.
|
|
128
|
+
* @param obj - Objeto a ser removido.
|
|
129
|
+
* @returns - Array sem o Objeto informado.
|
|
130
|
+
*/
|
|
131
|
+
public static isIn(arr: any, obj: any) {
|
|
132
|
+
return ArrayUtils.indexOf(arr, obj) > -1;
|
|
133
|
+
}
|
|
61
134
|
}
|
package/src/utils/JSUtils.ts
CHANGED
|
@@ -95,4 +95,22 @@ export class JSUtils{
|
|
|
95
95
|
public static generateUUID(): string {
|
|
96
96
|
return uuid();
|
|
97
97
|
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Substitui caracteres para suas entidades HTML.
|
|
101
|
+
*
|
|
102
|
+
* @param source - String a ter os caracteres substituidos.
|
|
103
|
+
* @returns - Retorna um UUID.
|
|
104
|
+
*/
|
|
105
|
+
public static replaceHtmlEntities(source: string) {
|
|
106
|
+
if (source == undefined) {
|
|
107
|
+
return source;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
return String(source)
|
|
111
|
+
.replace(/&/g, '&')
|
|
112
|
+
.replace(/</g, '<')
|
|
113
|
+
.replace(/>/g, '>')
|
|
114
|
+
.replace(/"/g, '"');
|
|
115
|
+
}
|
|
98
116
|
}
|
package/src/utils/ObjectUtils.ts
CHANGED
|
@@ -73,4 +73,15 @@ export default class ObjectUtils{
|
|
|
73
73
|
);
|
|
74
74
|
|
|
75
75
|
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Compara se um objeto é igual a outro objeto.
|
|
79
|
+
*
|
|
80
|
+
* @param obj1 - Objeto a ser comparado.
|
|
81
|
+
* @param obj2 - Objeto a ser comparado.
|
|
82
|
+
* @returns - Se o objeto 1 é igual ao objeto 2.
|
|
83
|
+
*/
|
|
84
|
+
public static equals(obj1: any, obj2: any): any {
|
|
85
|
+
return ObjectUtils.objectToString(obj1) === ObjectUtils.objectToString(obj2);
|
|
86
|
+
}
|
|
76
87
|
}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { JSUtils } from "../JSUtils.js";
|
|
2
|
+
import { OverflowDirection } from "./types/overflow-direction.js"
|
|
3
|
+
import { OnOverflowCallBack } from "./types/overflow-callback.js"
|
|
4
|
+
|
|
5
|
+
export * from "./types/overflow-direction.js";
|
|
6
|
+
export * from "./types/overflow-callback.js";
|
|
7
|
+
|
|
8
|
+
export default class OverflowWatcher {
|
|
9
|
+
private _onResize:OnOverflowCallBack;
|
|
10
|
+
private _resizeObserver:ResizeObserver;
|
|
11
|
+
private _lastContentRect:DOMRectReadOnly|undefined = undefined;
|
|
12
|
+
private _scrollDirection = OverflowDirection.HORIZONTAL;
|
|
13
|
+
private _propSize:string;
|
|
14
|
+
private _hiddenItems:Element[] = [];
|
|
15
|
+
private _deltaSize:number;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Cria uma instancia do OverflowWatcher
|
|
19
|
+
*
|
|
20
|
+
* @param element - Elemento HTML que o overflow será observado.
|
|
21
|
+
* @param callback - Função que sera chamada quando ocorrer overflow no elemento.
|
|
22
|
+
* @param overFlowDirection - Indica direção que o overflow será monitorado.
|
|
23
|
+
* @param deltaSize - Variação de tamanho que será considerada como overflow.
|
|
24
|
+
*/
|
|
25
|
+
constructor(element:HTMLElement,
|
|
26
|
+
callback:OnOverflowCallBack,
|
|
27
|
+
overFlowDirection:OverflowDirection = OverflowDirection.HORIZONTAL,
|
|
28
|
+
deltaSize:number = 10){
|
|
29
|
+
this._onResize = callback;
|
|
30
|
+
this._scrollDirection = overFlowDirection;
|
|
31
|
+
this._resizeObserver = new ResizeObserver(JSUtils.debounce((entries: ResizeObserverEntry[]) => this.handleResize(entries), 200));
|
|
32
|
+
this._resizeObserver.observe(element);
|
|
33
|
+
this._propSize = this.getPropSizeByDirection();
|
|
34
|
+
this._deltaSize = deltaSize;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
public destroy(){
|
|
38
|
+
this._resizeObserver.disconnect();
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
private handleResize(entries: ResizeObserverEntry[]){
|
|
42
|
+
|
|
43
|
+
if(!entries || entries.length === 0){
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
const resizeItem = entries[0];
|
|
48
|
+
const contentRect:any = resizeItem.contentRect;
|
|
49
|
+
|
|
50
|
+
if(this.isChangedSize(contentRect)){
|
|
51
|
+
const children:Element[] = Array.from(resizeItem.target.children);
|
|
52
|
+
this.proccessElements(contentRect[this._propSize], children);
|
|
53
|
+
this._lastContentRect = contentRect;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
private isChangedSize(newContentRect:DOMRectReadOnly):boolean{
|
|
58
|
+
if(this._lastContentRect == undefined){
|
|
59
|
+
return true;
|
|
60
|
+
}
|
|
61
|
+
return Math.abs((newContentRect as any)[this._propSize] - (this._lastContentRect as any)[this._propSize]) >= this._deltaSize;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
private getPropSizeByDirection():string{
|
|
66
|
+
if(OverflowDirection.HORIZONTAL === this._scrollDirection){
|
|
67
|
+
return "width"
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
return "height";
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
private proccessElements(elementSize:number, children:Element[]){
|
|
74
|
+
|
|
75
|
+
if(children.length === 0){
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
const childrenSize = this.calcChildrenSize(children);
|
|
80
|
+
|
|
81
|
+
let diff = Number((elementSize - childrenSize).toFixed(4));
|
|
82
|
+
|
|
83
|
+
if(diff > 0){
|
|
84
|
+
this.proccessElementsWithoutOverFlow(diff);
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
this.proccessElementsOverFlow(children, diff);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
private proccessElementsWithoutOverFlow(diff:number){
|
|
92
|
+
this._hiddenItems.forEach((item:any) => {
|
|
93
|
+
|
|
94
|
+
if(item.getBoundingClientRect().width < diff){
|
|
95
|
+
this._hiddenItems.pop();
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
this._onResize(this._hiddenItems);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
private proccessElementsOverFlow(children:Element[], diff:number){
|
|
104
|
+
const elementsOverflow = [];
|
|
105
|
+
let sumRemovedItems = 0;
|
|
106
|
+
|
|
107
|
+
while(elementsOverflow.length < children.length && sumRemovedItems < (diff * -1) ) {
|
|
108
|
+
const itemToRemove = children.pop();
|
|
109
|
+
|
|
110
|
+
if(itemToRemove != undefined && (itemToRemove as any).style.display === 'none'){
|
|
111
|
+
continue;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
if(itemToRemove != undefined){
|
|
115
|
+
elementsOverflow.push(itemToRemove);
|
|
116
|
+
sumRemovedItems += (itemToRemove.getBoundingClientRect() as any)[this._propSize];
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
this._hiddenItems = elementsOverflow;
|
|
122
|
+
this._onResize(elementsOverflow);
|
|
123
|
+
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
private calcChildrenSize(children:Element[]):number{
|
|
127
|
+
let sumChildren = 0;
|
|
128
|
+
|
|
129
|
+
Array.from(children).forEach(el => {
|
|
130
|
+
sumChildren += (el.getBoundingClientRect() as any)[this._propSize];
|
|
131
|
+
sumChildren += this.calcMarginSize(el);
|
|
132
|
+
});
|
|
133
|
+
|
|
134
|
+
if(sumChildren > 0){
|
|
135
|
+
sumChildren += this._deltaSize;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
return sumChildren;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
private calcMarginSize(el:Element){
|
|
142
|
+
const computedStyle = getComputedStyle(el);
|
|
143
|
+
|
|
144
|
+
if(OverflowDirection.HORIZONTAL === this._scrollDirection){
|
|
145
|
+
return (parseInt(computedStyle.marginLeft || '0') + parseInt(computedStyle.marginRight || '0'));
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
return (parseInt(computedStyle.marginTop || '0') + parseInt(computedStyle.marginBottom || '0'));
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Callback que será chamado quando o overflow de um elemento for alterado.
|
|
3
|
+
*
|
|
4
|
+
* @param elementsOverFlow - Conjunto de elementos filhos que estão causando overflow no elemento pai.
|
|
5
|
+
*/
|
|
6
|
+
export type OnOverflowCallBack = (elementsOverFlow:Array<Element>) => void;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { StringUtils } from "./StringUtils.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* `Search`: Utilizado para manipulação de do objeto de pesquisa.
|
|
5
|
+
*/
|
|
6
|
+
export class SearchUtils {
|
|
7
|
+
|
|
8
|
+
public static buildDetails(argument: String, fields: any, item: any) {
|
|
9
|
+
let details:any = {};
|
|
10
|
+
for (let index = 0; (index < fields.length); index++) {
|
|
11
|
+
const field = fields[index];
|
|
12
|
+
const itemValue = item[field.fieldName];
|
|
13
|
+
const optionValue = field.options ? field.options[itemValue] || itemValue : itemValue;
|
|
14
|
+
details[field.description] = StringUtils.highlightValue(argument, item['__matchFields'], optionValue, fields, true);
|
|
15
|
+
}
|
|
16
|
+
return details;
|
|
17
|
+
}
|
|
18
|
+
}
|