@sankhyalabs/core 5.20.0-dev.8 → 5.20.0-dev.80
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/Base64Utils.md +39 -0
- package/.docs/classes/Change.md +11 -11
- package/.docs/classes/ColumnFilterManager.md +145 -0
- package/.docs/classes/DataUnit.md +429 -139
- package/.docs/classes/DataUnitInMemoryLoader.md +303 -0
- package/.docs/classes/DataUnitLoaderUtils.md +151 -0
- package/.docs/classes/DateUtils.md +8 -8
- package/.docs/classes/FieldComparator.md +2 -2
- package/.docs/classes/IDBRepository.md +22 -0
- package/.docs/classes/KeyboardManager.md +99 -9
- package/.docs/classes/LockManager.md +249 -0
- package/.docs/classes/MaskFormatter.md +66 -14
- package/.docs/classes/ObjectUtils.md +189 -0
- package/.docs/classes/OverflowWatcher.md +533 -0
- package/.docs/classes/SelectionInfo.md +25 -11
- package/.docs/classes/ServiceCanceledException.md +193 -0
- package/.docs/classes/ServiceUtils.md +67 -0
- package/.docs/classes/SilentException.md +193 -0
- package/.docs/classes/StringUtils.md +33 -9
- package/.docs/classes/UserAgentUtils.md +15 -1
- package/.docs/enumerations/Action.md +41 -21
- package/.docs/enumerations/ChangeOperation.md +4 -4
- package/.docs/enumerations/LockManagerOperation.md +33 -0
- package/.docs/enumerations/OverflowDirection.md +29 -0
- package/.docs/enumerations/RECORD_DATE_FORMAT.md +27 -0
- package/.docs/enumerations/SelectionMode.md +2 -2
- package/.docs/enumerations/StorageType.md +37 -0
- package/.docs/enumerations/UserInterface.md +15 -5
- package/.docs/globals.md +25 -0
- package/.docs/interfaces/DUActionInterceptor.md +1 -1
- package/.docs/interfaces/DataUnitInMemoryLoaderConfig.md +37 -0
- package/.docs/interfaces/IRepository.md +18 -0
- package/.docs/interfaces/LoadDataRequest.md +1 -1
- package/.docs/interfaces/OverFlowWatcherParams.md +67 -0
- package/.docs/interfaces/PageRequest.md +3 -3
- package/.docs/interfaces/PaginationInfo.md +25 -0
- package/.docs/interfaces/PaginationInfoBuilderParams.md +37 -0
- package/.docs/interfaces/QuickFilter.md +3 -3
- package/.docs/interfaces/Record.md +4 -4
- package/.docs/interfaces/SavedRecord.md +5 -5
- package/.docs/interfaces/WaitingChange.md +3 -3
- package/.docs/namespaces/MaskFormatter/type-aliases/MaskCharacter.md +1 -1
- package/.docs/namespaces/MaskFormatter/variables/MaskCharacter.md +1 -1
- package/.docs/type-aliases/DataUnitEventOptions.md +17 -0
- package/.docs/type-aliases/OnOverflowCallBack.md +25 -0
- package/.docs/variables/OVERFLOWED_CLASS_NAME.md +13 -0
- package/.releaserc +1 -0
- package/bun.lockb +0 -0
- package/dist/dataunit/DataUnit.d.ts +92 -13
- package/dist/dataunit/DataUnit.js +227 -71
- package/dist/dataunit/DataUnit.js.map +1 -1
- package/dist/dataunit/DataUnitHelper.js +6 -5
- package/dist/dataunit/DataUnitHelper.js.map +1 -1
- package/dist/dataunit/formatting/PrettyFormatter.js +17 -6
- package/dist/dataunit/formatting/PrettyFormatter.js.map +1 -1
- package/dist/dataunit/loader/DataUnitInMemoryLoaderConfig.d.ts +9 -0
- package/dist/dataunit/loader/DataUnitInMemoryLoaderConfig.js +6 -0
- package/dist/dataunit/loader/DataUnitInMemoryLoaderConfig.js.map +1 -0
- package/dist/dataunit/loader/dataUnitInMemoryLoader.d.ts +25 -0
- package/dist/dataunit/loader/dataUnitInMemoryLoader.js +131 -0
- package/dist/dataunit/loader/dataUnitInMemoryLoader.js.map +1 -0
- package/dist/dataunit/loader/utils/dataUnitLoaderUtils.d.ts +20 -0
- package/dist/dataunit/loader/utils/dataUnitLoaderUtils.js +62 -0
- package/dist/dataunit/loader/utils/dataUnitLoaderUtils.js.map +1 -0
- package/dist/dataunit/loading/LoadDataRequest.d.ts +1 -1
- package/dist/dataunit/loading/PaginationInfo.d.ts +8 -0
- package/dist/dataunit/metadata/DataType.js +7 -1
- package/dist/dataunit/metadata/DataType.js.map +1 -1
- package/dist/dataunit/metadata/UnitMetadata.d.ts +1 -0
- package/dist/dataunit/metadata/UnitMetadata.js +1 -0
- package/dist/dataunit/metadata/UnitMetadata.js.map +1 -1
- package/dist/dataunit/sorting/FieldComparator.d.ts +2 -2
- package/dist/dataunit/sorting/FieldComparator.js +4 -9
- package/dist/dataunit/sorting/FieldComparator.js.map +1 -1
- package/dist/dataunit/state/action/DataUnitAction.d.ts +2 -0
- package/dist/dataunit/state/action/DataUnitAction.js +2 -0
- package/dist/dataunit/state/action/DataUnitAction.js.map +1 -1
- package/dist/dataunit/state/slice/LoadingControlSlice.js +16 -0
- package/dist/dataunit/state/slice/LoadingControlSlice.js.map +1 -1
- package/dist/dataunit/state/slice/RecordsSlice.js +1 -1
- package/dist/dataunit/state/slice/RecordsSlice.js.map +1 -1
- package/dist/dataunit/state/slice/SelectionSlice.js +4 -4
- package/dist/dataunit/state/slice/SelectionSlice.js.map +1 -1
- package/dist/exceptions/ServiceCanceledException.d.ts +14 -0
- package/dist/exceptions/ServiceCanceledException.js +13 -0
- package/dist/exceptions/ServiceCanceledException.js.map +1 -0
- package/dist/exceptions/SilentException.d.ts +14 -0
- package/dist/exceptions/SilentException.js +13 -0
- package/dist/exceptions/SilentException.js.map +1 -0
- package/dist/index.d.ts +13 -2
- package/dist/index.js +12 -1
- package/dist/index.js.map +1 -1
- package/dist/repository/IRepository.d.ts +6 -0
- package/dist/repository/indexeddb/IDBRepository.d.ts +1 -0
- package/dist/repository/indexeddb/IDBRepository.js +3 -0
- package/dist/repository/indexeddb/IDBRepository.js.map +1 -1
- package/dist/utils/Base64Utils.d.ts +7 -0
- package/dist/utils/Base64Utils.js +13 -0
- package/dist/utils/Base64Utils.js.map +1 -0
- package/dist/utils/CacheManager/index.d.ts +52 -0
- package/dist/utils/CacheManager/index.js +101 -0
- package/dist/utils/CacheManager/index.js.map +1 -0
- package/dist/utils/CacheManager/interfaces/index.d.ts +5 -0
- package/dist/utils/CacheManager/interfaces/index.js +7 -0
- package/dist/utils/CacheManager/interfaces/index.js.map +1 -0
- package/dist/utils/ColumnFilterManager.d.ts +19 -0
- package/dist/utils/ColumnFilterManager.js +73 -0
- package/dist/utils/ColumnFilterManager.js.map +1 -0
- package/dist/utils/DateUtils.js +3 -0
- package/dist/utils/DateUtils.js.map +1 -1
- package/dist/utils/ElementUtils.d.ts +2 -0
- package/dist/utils/ElementUtils.js +9 -0
- package/dist/utils/ElementUtils.js.map +1 -0
- package/dist/utils/KeyboardManager/index.d.ts +9 -0
- package/dist/utils/KeyboardManager/index.js +45 -1
- package/dist/utils/KeyboardManager/index.js.map +1 -1
- package/dist/utils/KeyboardManager/interface.d.ts +1 -0
- package/dist/utils/LockManager.d.ts +58 -0
- package/dist/utils/LockManager.js +188 -0
- package/dist/utils/LockManager.js.map +1 -0
- package/dist/utils/MaskFormatter.d.ts +16 -1
- package/dist/utils/MaskFormatter.js +82 -2
- package/dist/utils/MaskFormatter.js.map +1 -1
- package/dist/utils/ObjectUtils.d.ts +52 -0
- package/dist/utils/ObjectUtils.js +71 -0
- package/dist/utils/ObjectUtils.js.map +1 -1
- package/dist/utils/OnboardingUtils.js +1 -1
- package/dist/utils/OnboardingUtils.js.map +1 -1
- package/dist/utils/OverflowWatcher/index.d.ts +59 -0
- package/dist/utils/OverflowWatcher/index.js +188 -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/ServiceUtils.d.ts +24 -0
- package/dist/utils/ServiceUtils.js +40 -0
- package/dist/utils/ServiceUtils.js.map +1 -0
- package/dist/utils/SortingUtils.d.ts +9 -0
- package/dist/utils/SortingUtils.js +24 -0
- package/dist/utils/SortingUtils.js.map +1 -0
- package/dist/utils/StringUtils.d.ts +6 -0
- package/dist/utils/StringUtils.js +23 -6
- package/dist/utils/StringUtils.js.map +1 -1
- package/dist/utils/UserAgentUtils/index.d.ts +1 -0
- package/dist/utils/UserAgentUtils/index.js +5 -0
- package/dist/utils/UserAgentUtils/index.js.map +1 -1
- package/jest.config.ts +2 -0
- package/package.json +2 -1
- package/reports/test-report.xml +760 -0
- package/setupTests.js +7 -0
- package/sonar-project.properties +6 -3
- package/src/dataunit/DataUnit.ts +278 -86
- package/src/dataunit/DataUnitHelper.ts +6 -5
- package/src/dataunit/formatting/PrettyFormatter.ts +19 -6
- package/src/dataunit/loader/DataUnitInMemoryLoaderConfig.ts +10 -0
- package/src/dataunit/loader/dataUnitInMemoryLoader.ts +176 -0
- package/src/dataunit/loader/utils/dataUnitLoaderUtils.ts +86 -0
- package/src/dataunit/loading/LoadDataRequest.ts +1 -1
- package/src/dataunit/loading/PaginationInfo.ts +10 -0
- package/src/dataunit/metadata/DataType.ts +8 -1
- package/src/dataunit/metadata/UnitMetadata.ts +1 -0
- package/src/dataunit/sorting/FieldComparator.ts +18 -32
- package/src/dataunit/state/action/DataUnitAction.ts +2 -0
- package/src/dataunit/state/slice/LoadingControlSlice.ts +42 -0
- package/src/dataunit/state/slice/RecordsSlice.ts +1 -1
- package/src/dataunit/state/slice/SelectionSlice.ts +4 -4
- package/src/dataunit/state/slice/test/RecordsSlice.spec.ts +45 -0
- package/src/dataunit/test/DataUnit.spec.ts +44 -0
- package/src/exceptions/ServiceCanceledException.ts +25 -0
- package/src/exceptions/SilentException.ts +25 -0
- package/src/index.ts +32 -1
- package/src/repository/IRepository.ts +7 -0
- package/src/repository/indexeddb/IDBRepository.ts +4 -0
- package/src/utils/Base64Utils.ts +13 -0
- package/src/utils/CacheManager/index.ts +103 -0
- package/src/utils/CacheManager/interfaces/index.ts +5 -0
- package/src/utils/ColumnFilterManager.ts +104 -0
- package/src/utils/DateUtils.ts +3 -0
- package/src/utils/ElementUtils.ts +10 -0
- package/src/utils/KeyboardManager/index.ts +57 -0
- package/src/utils/KeyboardManager/interface.ts +1 -0
- package/src/utils/LockManager.ts +207 -0
- package/src/utils/MaskFormatter.ts +93 -2
- package/src/utils/ObjectUtils.ts +77 -0
- package/src/utils/OnboardingUtils.ts +1 -1
- package/src/utils/OverflowWatcher/index.ts +243 -0
- package/src/utils/OverflowWatcher/types/overflow-callback.ts +6 -0
- package/src/utils/OverflowWatcher/types/overflow-direction.ts +7 -0
- package/src/utils/ServiceUtils.ts +36 -0
- package/src/utils/SortingUtils.ts +30 -0
- package/src/utils/StringUtils.ts +23 -6
- package/src/utils/UserAgentUtils/index.ts +6 -1
- package/test/dataunit/formatting/PrettyFormatter.spec.ts +177 -0
- package/test/dataunit/loader/dataUnitInMemoryLoader.spec.ts +221 -0
- package/test/dataunit/loader/utils/dataUnitLoaderUtils.spec.ts +158 -0
- package/test/testCases/NumberUtilsTestCases.ts +190 -0
- package/test/testCases/StringUtilsTestCases.ts +435 -0
- package/test/testCases/TimeFormatterTestUtils.ts +43 -0
- package/test/util/ColumnFilterManager.spec.ts +133 -0
- package/test/util/ElementUtils.spec.ts +34 -0
- package/test/util/NumberUtils.spec.ts +72 -150
- package/test/util/ObjectUtils.spec.ts +572 -0
- package/test/util/OverflowWatcher.spec.ts +152 -0
- package/test/util/StringUtils.spec.ts +260 -36
- package/test/util/TimeFormatter.spec.ts +65 -18
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { StringUtils } from "./StringUtils.js";
|
|
11
|
+
/**
|
|
12
|
+
* Define os tipos de operação que o locker pode controlar
|
|
13
|
+
*/
|
|
14
|
+
export var LockManagerOperation;
|
|
15
|
+
(function (LockManagerOperation) {
|
|
16
|
+
/**
|
|
17
|
+
Operação de lock utilizada para controlar cliques nos botoes da taskbar.
|
|
18
|
+
*/
|
|
19
|
+
LockManagerOperation["TASKBAR_CLICK"] = "taskbar_click";
|
|
20
|
+
/**
|
|
21
|
+
Operação de lock utilizada para controlar carregamento da aplicação.
|
|
22
|
+
*/
|
|
23
|
+
LockManagerOperation["APP_LOADING"] = "app_loading";
|
|
24
|
+
})(LockManagerOperation || (LockManagerOperation = {}));
|
|
25
|
+
export class LockManager {
|
|
26
|
+
static buildContextID() {
|
|
27
|
+
return StringUtils.generateUUID();
|
|
28
|
+
}
|
|
29
|
+
static buildLockerID(ctxId, operation) {
|
|
30
|
+
if (ctxId == undefined)
|
|
31
|
+
return undefined;
|
|
32
|
+
let resolvedID = ctxId;
|
|
33
|
+
if (resolvedID instanceof HTMLElement) {
|
|
34
|
+
resolvedID = ctxId.getAttribute(LockManager.ATTRIBUTE_NAME);
|
|
35
|
+
if (!resolvedID)
|
|
36
|
+
return undefined;
|
|
37
|
+
}
|
|
38
|
+
return `${resolvedID}_${operation}`;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Cria um contexto de locker, caso nao exista, para todos elementos pais iniciados com ez- ou snk-.
|
|
42
|
+
*
|
|
43
|
+
* @param startElement - Elemento de de onde o lock deve começar.
|
|
44
|
+
*
|
|
45
|
+
* @returns - O id do locker, que pode ser usado para iniciar ou aguardar um lock do contexto.
|
|
46
|
+
*/
|
|
47
|
+
static addLockManagerCtxId(startElement) {
|
|
48
|
+
var _a;
|
|
49
|
+
try {
|
|
50
|
+
if (!startElement) {
|
|
51
|
+
console.error("Elemento inicial não fornecido.");
|
|
52
|
+
return "";
|
|
53
|
+
}
|
|
54
|
+
const ctxId = (_a = LockManager.findExistingCtxId(startElement)) !== null && _a !== void 0 ? _a : LockManager.buildContextID();
|
|
55
|
+
let currentElement = startElement;
|
|
56
|
+
LockManager.traverseAndAddAttr(currentElement, ctxId);
|
|
57
|
+
return ctxId;
|
|
58
|
+
}
|
|
59
|
+
catch (err) {
|
|
60
|
+
console.warn(`Erro ao registrar locks para o elemento: ${startElement === null || startElement === void 0 ? void 0 : startElement.tagName}`, err);
|
|
61
|
+
return "";
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Reseta todos os locks existentes para um determinado contexto e operação de forma assíncrona
|
|
66
|
+
* @param id - ID do contexto ou elemento HTML contendo contexto
|
|
67
|
+
* @param operation - Operação específica para resetar os locks
|
|
68
|
+
* @returns Promise que será resolvida quando todos os locks forem resetados
|
|
69
|
+
*/
|
|
70
|
+
static resetLocks(id, operation) {
|
|
71
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
72
|
+
const lockerId = this.buildLockerID(id, operation);
|
|
73
|
+
if (!lockerId)
|
|
74
|
+
return;
|
|
75
|
+
const currentLocks = this._locks.get(lockerId);
|
|
76
|
+
if (currentLocks === null || currentLocks === void 0 ? void 0 : currentLocks.length) {
|
|
77
|
+
yield Promise.all(currentLocks.map(lock => {
|
|
78
|
+
var _a;
|
|
79
|
+
lock.done = true;
|
|
80
|
+
(_a = lock.resolve) === null || _a === void 0 ? void 0 : _a.call(lock);
|
|
81
|
+
return lock.promise;
|
|
82
|
+
}));
|
|
83
|
+
this._locks.delete(lockerId);
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Inicia um locker baseado em um contexto e uma operação.
|
|
89
|
+
*
|
|
90
|
+
* @param id - Pode ser um ID do contexto de locker, ou, o elemento contendo um contexto de locker.
|
|
91
|
+
* @param operation - Operação do contexto que o lock deve ser feito.
|
|
92
|
+
*
|
|
93
|
+
* @returns - Uma função que fara a liberação do lock.
|
|
94
|
+
*/
|
|
95
|
+
static lock(id, operation) {
|
|
96
|
+
var _a;
|
|
97
|
+
const lockerId = LockManager.buildLockerID(id, operation);
|
|
98
|
+
if (!lockerId)
|
|
99
|
+
return () => { };
|
|
100
|
+
const lock = { done: false };
|
|
101
|
+
const promise = new Promise(resolve => lock.resolve = resolve);
|
|
102
|
+
lock.promise = promise;
|
|
103
|
+
const currentLocks = (_a = LockManager._locks.get(lockerId)) !== null && _a !== void 0 ? _a : [];
|
|
104
|
+
currentLocks.push(lock);
|
|
105
|
+
LockManager._locks.set(lockerId, currentLocks);
|
|
106
|
+
return () => {
|
|
107
|
+
var _a;
|
|
108
|
+
lock.done = true;
|
|
109
|
+
(_a = lock.resolve) === null || _a === void 0 ? void 0 : _a.call(lock);
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Aguarda todos os lockers de um contexto e operação serem resolvidos.
|
|
114
|
+
*
|
|
115
|
+
* @param id - Pode ser um ID do contexto de locker, ou, o elemento contendo um contexto de locker.
|
|
116
|
+
* @param operation - Operação do contexto que devera aguardar.
|
|
117
|
+
*
|
|
118
|
+
* @returns - Promise que será resolvida quando todos lockers forem finalizados.
|
|
119
|
+
*/
|
|
120
|
+
static whenResolve(id, operation, debounce, timeOut) {
|
|
121
|
+
var _a, _b;
|
|
122
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
123
|
+
const lockerId = LockManager.buildLockerID(id, operation);
|
|
124
|
+
if (!lockerId)
|
|
125
|
+
return;
|
|
126
|
+
if (debounce)
|
|
127
|
+
yield new Promise(resolve => setTimeout(resolve, debounce));
|
|
128
|
+
const startTime = Date.now();
|
|
129
|
+
while ((_a = LockManager._locks.get(lockerId)) === null || _a === void 0 ? void 0 : _a.length) {
|
|
130
|
+
if (timeOut && Date.now() - startTime >= timeOut) {
|
|
131
|
+
yield this.resetLocks(id, operation);
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
const locks = (_b = LockManager._locks.get(lockerId)) !== null && _b !== void 0 ? _b : [];
|
|
135
|
+
yield Promise.all(locks.map(lock => lock.promise));
|
|
136
|
+
//Aguarda listeners da tela reagirem as mudancas de estado do dataunit
|
|
137
|
+
yield new Promise(resolve => setTimeout(resolve, debounce || 200));
|
|
138
|
+
LockManager._locks.set(lockerId, locks.filter(lock => !lock.done));
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
static whenHasLock(id, operation, timeOut) {
|
|
143
|
+
var _a;
|
|
144
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
145
|
+
const lockerId = LockManager.buildLockerID(id, operation);
|
|
146
|
+
if (!lockerId)
|
|
147
|
+
return;
|
|
148
|
+
const startTime = Date.now();
|
|
149
|
+
while (!((_a = LockManager._locks.get(lockerId)) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
150
|
+
if (timeOut && Date.now() - startTime >= timeOut) {
|
|
151
|
+
yield this.resetLocks(id, operation);
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
yield new Promise(resolve => setTimeout(resolve, 200));
|
|
155
|
+
}
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
LockManager._locks = new Map();
|
|
160
|
+
/**
|
|
161
|
+
* Nome do atributo que será utilizado para controlar contexto de locks nos elementos da DOM.
|
|
162
|
+
*/
|
|
163
|
+
LockManager.ATTRIBUTE_NAME = "data-locker-manger-context-id";
|
|
164
|
+
LockManager.findExistingCtxId = (element) => {
|
|
165
|
+
let currentElement = element;
|
|
166
|
+
while (currentElement) {
|
|
167
|
+
if (currentElement.hasAttribute(LockManager.ATTRIBUTE_NAME)) {
|
|
168
|
+
return currentElement.getAttribute(LockManager.ATTRIBUTE_NAME);
|
|
169
|
+
}
|
|
170
|
+
const childWithCtxId = Array.from(currentElement.children).find(child => (child instanceof HTMLElement) && child.hasAttribute(LockManager.ATTRIBUTE_NAME));
|
|
171
|
+
if (childWithCtxId) {
|
|
172
|
+
return childWithCtxId.getAttribute(LockManager.ATTRIBUTE_NAME);
|
|
173
|
+
}
|
|
174
|
+
currentElement = currentElement.parentElement;
|
|
175
|
+
}
|
|
176
|
+
return null;
|
|
177
|
+
};
|
|
178
|
+
LockManager.traverseAndAddAttr = (element, ctxId) => {
|
|
179
|
+
if (element.tagName.startsWith('EZ-') || element.tagName.startsWith('SNK-')) {
|
|
180
|
+
element.setAttribute(LockManager.ATTRIBUTE_NAME, ctxId);
|
|
181
|
+
}
|
|
182
|
+
Array.from(element.children).forEach((child) => {
|
|
183
|
+
if (child instanceof HTMLElement) {
|
|
184
|
+
LockManager.traverseAndAddAttr(child, ctxId);
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
};
|
|
188
|
+
//# sourceMappingURL=LockManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LockManager.js","sourceRoot":"","sources":["../../src/utils/LockManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -71,13 +71,28 @@ export declare class MaskFormatter {
|
|
|
71
71
|
*/
|
|
72
72
|
get mask(): string;
|
|
73
73
|
constructor(mask: string);
|
|
74
|
+
/**
|
|
75
|
+
* Aplica a máscara quando o input é alterado
|
|
76
|
+
*
|
|
77
|
+
* @param value Valor a ser aplicado com a máscara.
|
|
78
|
+
* @return O valor processado de acordo com o padrão.
|
|
79
|
+
*/
|
|
80
|
+
applyMask(value: string): string;
|
|
81
|
+
/**
|
|
82
|
+
* Remove a máscara formatando a string retornando sem máscara
|
|
83
|
+
*
|
|
84
|
+
* @param value Valor a ser formatado com máscara.
|
|
85
|
+
* @return O valor processado de acordo com o padrão.
|
|
86
|
+
*/
|
|
87
|
+
removeMask(value: string): string;
|
|
74
88
|
/**
|
|
75
89
|
* Formata a string passada baseada na máscara definda pelo atributo mask.
|
|
76
90
|
*
|
|
77
91
|
* @param value Valor a ser formatado.
|
|
92
|
+
* @param trimBefore Executa um trim para remover espaços em branco.
|
|
78
93
|
* @return O valor processado de acordo com o padrão.
|
|
79
94
|
*/
|
|
80
|
-
format(value: string): string;
|
|
95
|
+
format(value: string, trimBefore?: boolean): string;
|
|
81
96
|
/**
|
|
82
97
|
* Prepara a formatação internamente de acordo com o padrão.
|
|
83
98
|
*/
|
|
@@ -70,13 +70,92 @@ export class MaskFormatter {
|
|
|
70
70
|
this.placeholder = ' ';
|
|
71
71
|
this.mask = mask;
|
|
72
72
|
}
|
|
73
|
+
/**
|
|
74
|
+
* Aplica a máscara quando o input é alterado
|
|
75
|
+
*
|
|
76
|
+
* @param value Valor a ser aplicado com a máscara.
|
|
77
|
+
* @return O valor processado de acordo com o padrão.
|
|
78
|
+
*/
|
|
79
|
+
applyMask(value) {
|
|
80
|
+
if (this.mask === MaskFormatter.DEFAULT_MASKS.cor_rgb) {
|
|
81
|
+
value = value.replace("#", "");
|
|
82
|
+
const expectedFormattedValue = this.format(value.replace(/\s/g, ""));
|
|
83
|
+
if (value === expectedFormattedValue) {
|
|
84
|
+
return value;
|
|
85
|
+
}
|
|
86
|
+
if (value.length >= 6) {
|
|
87
|
+
const formattedValue = this.format(value);
|
|
88
|
+
return formattedValue;
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
return value;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
const expectedFormattedValue = this.format(value.replace(/\s/g, ""));
|
|
95
|
+
if (value === expectedFormattedValue) {
|
|
96
|
+
return value;
|
|
97
|
+
}
|
|
98
|
+
const maskPlaceholders = this.mask.match(/[UAL#?*']/g) || [];
|
|
99
|
+
const placeholderCount = maskPlaceholders.length;
|
|
100
|
+
const validValue = value.split('').filter((char, index) => {
|
|
101
|
+
const placeholder = maskPlaceholders[index];
|
|
102
|
+
if (!placeholder)
|
|
103
|
+
return false;
|
|
104
|
+
switch (placeholder) {
|
|
105
|
+
case MaskFormatter.DIGIT_KEY:
|
|
106
|
+
return /\d/.test(char);
|
|
107
|
+
case MaskFormatter.UPPERCASE_KEY:
|
|
108
|
+
return /[a-zA-Z]/.test(char);
|
|
109
|
+
case MaskFormatter.LOWERCASE_KEY:
|
|
110
|
+
return /[a-zA-Z]/.test(char);
|
|
111
|
+
case MaskFormatter.ALPHA_NUMERIC_KEY:
|
|
112
|
+
return /[a-zA-Z0-9]/.test(char);
|
|
113
|
+
case MaskFormatter.CHARACTER_KEY:
|
|
114
|
+
return /[a-zA-Z]/.test(char);
|
|
115
|
+
case MaskFormatter.ANYTHING_KEY:
|
|
116
|
+
return true;
|
|
117
|
+
case MaskFormatter.LITERAL_KEY:
|
|
118
|
+
const literalChar = this.mask.charAt(index);
|
|
119
|
+
return char === literalChar;
|
|
120
|
+
default:
|
|
121
|
+
return false;
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
if (validValue.length >= placeholderCount) {
|
|
125
|
+
const formattedValue = this.format(validValue.join(''));
|
|
126
|
+
return formattedValue;
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
const partialValue = validValue.join('');
|
|
130
|
+
return partialValue;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Remove a máscara formatando a string retornando sem máscara
|
|
135
|
+
*
|
|
136
|
+
* @param value Valor a ser formatado com máscara.
|
|
137
|
+
* @return O valor processado de acordo com o padrão.
|
|
138
|
+
*/
|
|
139
|
+
removeMask(value) {
|
|
140
|
+
const maskString = this.mask.replace("#", "");
|
|
141
|
+
const maskElements = maskString.split("");
|
|
142
|
+
let valueMapped = value;
|
|
143
|
+
maskElements.forEach(maskChar => {
|
|
144
|
+
valueMapped = valueMapped.replace(maskChar, "");
|
|
145
|
+
});
|
|
146
|
+
return valueMapped;
|
|
147
|
+
}
|
|
73
148
|
/**
|
|
74
149
|
* Formata a string passada baseada na máscara definda pelo atributo mask.
|
|
75
150
|
*
|
|
76
151
|
* @param value Valor a ser formatado.
|
|
152
|
+
* @param trimBefore Executa um trim para remover espaços em branco.
|
|
77
153
|
* @return O valor processado de acordo com o padrão.
|
|
78
154
|
*/
|
|
79
|
-
format(value) {
|
|
155
|
+
format(value, trimBefore = false) {
|
|
156
|
+
if (trimBefore) {
|
|
157
|
+
value = value.trim();
|
|
158
|
+
}
|
|
80
159
|
let result = '';
|
|
81
160
|
const index = [0];
|
|
82
161
|
let counter = 0;
|
|
@@ -142,7 +221,8 @@ MaskFormatter.DEFAULT_MASKS = {
|
|
|
142
221
|
"cnpj": "##.###.###/####-##",
|
|
143
222
|
"cpf": "###.###.###-##",
|
|
144
223
|
"phone": "(##) ####-####",
|
|
145
|
-
"cep": "##.###-###"
|
|
224
|
+
"cep": "##.###-###",
|
|
225
|
+
"cor_rgb": "'#AAAAAA"
|
|
146
226
|
};
|
|
147
227
|
//
|
|
148
228
|
// Classes internas usadas para representar a máscara.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaskFormatter.js","sourceRoot":"","sources":["../../src/utils/MaskFormatter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,MAAM,OAAO,aAAa;
|
|
1
|
+
{"version":3,"file":"MaskFormatter.js","sourceRoot":"","sources":["../../src/utils/MaskFormatter.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,4 +52,56 @@ export default class ObjectUtils {
|
|
|
52
52
|
* @returns - Se o objeto 1 é igual ao objeto 2.
|
|
53
53
|
*/
|
|
54
54
|
static equals(obj1: any, obj2: any): any;
|
|
55
|
+
/**
|
|
56
|
+
* Compara se o valor de dois items são equivalentes.
|
|
57
|
+
* Comparando tanto o valor do item em si, quanto sua propriedade "value"
|
|
58
|
+
*
|
|
59
|
+
* @param obj1 - Objeto a ser comparado.
|
|
60
|
+
* @param obj2 - Objeto a ser comparado.
|
|
61
|
+
* @param propToCompare - propriedade que deve ser comparada.
|
|
62
|
+
* @returns - Se o objeto 1 é equivalente ao objeto 2.
|
|
63
|
+
*
|
|
64
|
+
* * @example
|
|
65
|
+
* hasEquivalentProps('123', {value: '123', label: teste}, 'value') | Retorna: true
|
|
66
|
+
* @example
|
|
67
|
+
* hasEquivalentProps('xpto', {value: '123', label: teste}, 'propName') | Retorna: false
|
|
68
|
+
*/
|
|
69
|
+
static hasEquivalentProps(obj1: any, obj2: any, propToCompare?: string): boolean;
|
|
70
|
+
private static getComparableProp;
|
|
71
|
+
/**
|
|
72
|
+
* Verifica se o objeto está vazio (sem atributos).
|
|
73
|
+
*
|
|
74
|
+
* @param obj - Objeto a ser verificado.
|
|
75
|
+
* @returns - True caso o objeto esteja vazio.
|
|
76
|
+
*/
|
|
77
|
+
static isEmpty(obj: object): boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Verifica se o objeto está vazio (sem atributos) e retorna true caso seja undefined ou null.
|
|
80
|
+
*
|
|
81
|
+
* @param obj - Objeto a ser verificado.
|
|
82
|
+
* @returns - True caso o objeto esteja vazio.
|
|
83
|
+
*/
|
|
84
|
+
static isEmptySafetyCheck(obj: object): boolean;
|
|
85
|
+
/**
|
|
86
|
+
* Verifica se o objeto NÃO está vazio (sem atributos).
|
|
87
|
+
*
|
|
88
|
+
* @param obj - Objeto a ser verificado.
|
|
89
|
+
* @returns - True caso o objeto NÃO esteja vazio
|
|
90
|
+
*/
|
|
91
|
+
static isNotEmpty(obj: object): boolean;
|
|
92
|
+
/**
|
|
93
|
+
* Verifica se o objeto NÃO está vazio (sem atributos) e retorna false caso objeto seja null ou undefined.
|
|
94
|
+
*
|
|
95
|
+
* @param obj - Objeto a ser verificado.
|
|
96
|
+
* @returns - True caso o objeto NÃO esteja vazio
|
|
97
|
+
*/
|
|
98
|
+
static isNotEmptySafetyCheck(obj: object): boolean;
|
|
99
|
+
/**
|
|
100
|
+
* Busca a propriedade de um objeto baseado em seu caminho.
|
|
101
|
+
*
|
|
102
|
+
* @param obj - Objeto a ser verificado.
|
|
103
|
+
* @param keyPath - Caminho da propriedade a ser buscada.
|
|
104
|
+
* @returns - O valor da propriedade caso ela exista.
|
|
105
|
+
*/
|
|
106
|
+
static getProp(obj: Record<string, any>, keyPath: string): Record<string, any> | undefined;
|
|
55
107
|
}
|
|
@@ -74,5 +74,76 @@ export default class ObjectUtils {
|
|
|
74
74
|
static equals(obj1, obj2) {
|
|
75
75
|
return ObjectUtils.objectToString(obj1) === ObjectUtils.objectToString(obj2);
|
|
76
76
|
}
|
|
77
|
+
/**
|
|
78
|
+
* Compara se o valor de dois items são equivalentes.
|
|
79
|
+
* Comparando tanto o valor do item em si, quanto sua propriedade "value"
|
|
80
|
+
*
|
|
81
|
+
* @param obj1 - Objeto a ser comparado.
|
|
82
|
+
* @param obj2 - Objeto a ser comparado.
|
|
83
|
+
* @param propToCompare - propriedade que deve ser comparada.
|
|
84
|
+
* @returns - Se o objeto 1 é equivalente ao objeto 2.
|
|
85
|
+
*
|
|
86
|
+
* * @example
|
|
87
|
+
* hasEquivalentProps('123', {value: '123', label: teste}, 'value') | Retorna: true
|
|
88
|
+
* @example
|
|
89
|
+
* hasEquivalentProps('xpto', {value: '123', label: teste}, 'propName') | Retorna: false
|
|
90
|
+
*/
|
|
91
|
+
static hasEquivalentProps(obj1, obj2, propToCompare = "value") {
|
|
92
|
+
return this.getComparableProp(obj1, propToCompare) == this.getComparableProp(obj2, propToCompare);
|
|
93
|
+
}
|
|
94
|
+
static getComparableProp(value, propToCompare = "value") {
|
|
95
|
+
if (typeof value === 'object' && value !== null && propToCompare in value) {
|
|
96
|
+
return value[propToCompare];
|
|
97
|
+
}
|
|
98
|
+
return value;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Verifica se o objeto está vazio (sem atributos).
|
|
102
|
+
*
|
|
103
|
+
* @param obj - Objeto a ser verificado.
|
|
104
|
+
* @returns - True caso o objeto esteja vazio.
|
|
105
|
+
*/
|
|
106
|
+
static isEmpty(obj) {
|
|
107
|
+
return Object.keys(obj).length === 0 && obj.constructor === Object;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Verifica se o objeto está vazio (sem atributos) e retorna true caso seja undefined ou null.
|
|
111
|
+
*
|
|
112
|
+
* @param obj - Objeto a ser verificado.
|
|
113
|
+
* @returns - True caso o objeto esteja vazio.
|
|
114
|
+
*/
|
|
115
|
+
static isEmptySafetyCheck(obj) {
|
|
116
|
+
if (obj === null || obj === undefined)
|
|
117
|
+
return true;
|
|
118
|
+
return Object.keys(obj).length === 0 && obj.constructor === Object;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Verifica se o objeto NÃO está vazio (sem atributos).
|
|
122
|
+
*
|
|
123
|
+
* @param obj - Objeto a ser verificado.
|
|
124
|
+
* @returns - True caso o objeto NÃO esteja vazio
|
|
125
|
+
*/
|
|
126
|
+
static isNotEmpty(obj) {
|
|
127
|
+
return !this.isEmpty(obj);
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Verifica se o objeto NÃO está vazio (sem atributos) e retorna false caso objeto seja null ou undefined.
|
|
131
|
+
*
|
|
132
|
+
* @param obj - Objeto a ser verificado.
|
|
133
|
+
* @returns - True caso o objeto NÃO esteja vazio
|
|
134
|
+
*/
|
|
135
|
+
static isNotEmptySafetyCheck(obj) {
|
|
136
|
+
return !this.isEmptySafetyCheck(obj);
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Busca a propriedade de um objeto baseado em seu caminho.
|
|
140
|
+
*
|
|
141
|
+
* @param obj - Objeto a ser verificado.
|
|
142
|
+
* @param keyPath - Caminho da propriedade a ser buscada.
|
|
143
|
+
* @returns - O valor da propriedade caso ela exista.
|
|
144
|
+
*/
|
|
145
|
+
static getProp(obj, keyPath) {
|
|
146
|
+
return keyPath.split('.').reduce((previous, current) => previous === null || previous === void 0 ? void 0 : previous[current], obj);
|
|
147
|
+
}
|
|
77
148
|
}
|
|
78
149
|
//# sourceMappingURL=ObjectUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectUtils.js","sourceRoot":"","sources":["../../src/utils/ObjectUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,WAAW;IAG5B;;;;;OAKG;IACI,MAAM,CAAC,IAAI,CAAI,IAA2B;QAC7C,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAM,CAAC;IAC/D,CAAC;IAED;;;;;;;;OAQG;IACI,MAAM,CAAC,cAAc,CAAC,IAA2B;QACpD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED;;;;;;;;OAQG;IACI,MAAM,CAAC,cAAc,CAAC,IAAW;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,cAAc,CAAC,IAAS,EAAE,QAAgB;QACpD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;aACrB,IAAI,CAAC,UAAS,IAAY,EAAE,IAAY;YACvC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC/B,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAQ,EAAE,GAAW,EAAE,EAAE;YAClC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;YACrB,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;IACb,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,iBAAiB,CAAC,GAAW;QACzC,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;aAChB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC;aAC5B,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAChF,CAAC;IAEJ,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,MAAM,CAAC,IAAS,EAAE,IAAS;QACvC,OAAO,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAC/E,CAAC;CACJ"}
|
|
1
|
+
{"version":3,"file":"ObjectUtils.js","sourceRoot":"","sources":["../../src/utils/ObjectUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,7 @@ export class OnboardingUtils {
|
|
|
24
24
|
window.document.head.appendChild(scriptEl);
|
|
25
25
|
}
|
|
26
26
|
register(ctx) {
|
|
27
|
-
window.userGuiding.identify(`${ctx.userID}-${ctx.userName}-${ctx.clientGaId}`, ctx);
|
|
27
|
+
window.userGuiding.identify(`${encodeURIComponent(ctx.userID)}-${encodeURIComponent(ctx.userName)}-${encodeURIComponent(ctx.clientGaId)}`, ctx);
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
OnboardingUtils.USER_GUIDE_TAG_ID = "userGuideSnippet";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnboardingUtils.js","sourceRoot":"","sources":["../../src/utils/OnboardingUtils.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,eAAe;IAIxB,gBAAsB,CAAC;IAEhB,MAAM,CAAC,WAAW;QACrB,IAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAC;YACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;SACzC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAEM,IAAI,CAAC,MAAc,EAAE,GAAuB;QAC/C,IAAG,CAAC,MAAM,EAAC;YACP,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;SAC5B;QACD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACnB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEO,YAAY,CAAC,MAAc;QAC/B,IAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,eAAe,CAAC,iBAAiB,EAAE,CAAC,EAAC;YACjF,OAAO;SACV;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAClD,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,eAAe,CAAC,iBAAiB,CAAC,CAAC;QAC/D,QAAQ,CAAC,SAAS,GAAG,ygBAAygB,MAAM,KAAK,CAAC;QAC1iB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAEO,QAAQ,CAAC,GAAuB;QACnC,MAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,UAAU,EAAE,EAAE,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"OnboardingUtils.js","sourceRoot":"","sources":["../../src/utils/OnboardingUtils.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,eAAe;IAIxB,gBAAsB,CAAC;IAEhB,MAAM,CAAC,WAAW;QACrB,IAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAC;YACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;SACzC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAEM,IAAI,CAAC,MAAc,EAAE,GAAuB;QAC/C,IAAG,CAAC,MAAM,EAAC;YACP,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;SAC5B;QACD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACnB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEO,YAAY,CAAC,MAAc;QAC/B,IAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,eAAe,CAAC,iBAAiB,EAAE,CAAC,EAAC;YACjF,OAAO;SACV;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAClD,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,eAAe,CAAC,iBAAiB,CAAC,CAAC;QAC/D,QAAQ,CAAC,SAAS,GAAG,ygBAAygB,MAAM,KAAK,CAAC;QAC1iB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAEO,QAAQ,CAAC,GAAuB;QACnC,MAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC7J,CAAC;;AAlCuB,iCAAiB,GAAG,kBAAkB,CAAC;AAqCnE,MAAM,OAAO,kBAAkB;IAA/B;QACK,WAAM,GAAW,EAAE,CAAC;QACpB,aAAQ,GAAW,EAAE,CAAC;QACtB,gBAAW,GAAW,EAAE,CAAC;QACzB,eAAU,GAAW,EAAE,CAAC;QACxB,gBAAW,GAAW,EAAE,CAAC;QACzB,eAAU,GAAW,EAAE,CAAC;IAC7B,CAAC;CAAA"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { OverflowDirection } from "./types/overflow-direction.js";
|
|
2
|
+
import { OnOverflowCallBack } from "./types/overflow-callback.js";
|
|
3
|
+
export * from "./types/overflow-direction.js";
|
|
4
|
+
export * from "./types/overflow-callback.js";
|
|
5
|
+
export declare const OVERFLOWED_CLASS_NAME = "overflowed";
|
|
6
|
+
export default class OverflowWatcher {
|
|
7
|
+
private _onResize;
|
|
8
|
+
private _resizeObserver;
|
|
9
|
+
private _lastContainerSize;
|
|
10
|
+
private _lastContainerInstance;
|
|
11
|
+
private _scrollDirection;
|
|
12
|
+
private _propSize;
|
|
13
|
+
private _hiddenItemsProps;
|
|
14
|
+
private _notOverFlowPros;
|
|
15
|
+
private _deltaSize;
|
|
16
|
+
private _notOverFlow;
|
|
17
|
+
readonly DATA_ELEMENT_ID = "data-element-id";
|
|
18
|
+
/**
|
|
19
|
+
* Cria uma instancia do OverflowWatcher
|
|
20
|
+
*
|
|
21
|
+
* @param element - Elemento HTML que o overflow será observado.
|
|
22
|
+
* @param callback - Função que sera chamada quando ocorrer overflow no elemento.
|
|
23
|
+
* @param overFlowDirection - Indica direção que o overflow será monitorado.
|
|
24
|
+
* @param deltaSize - Variação de tamanho que será considerada como overflow.
|
|
25
|
+
* @param debounce - Tempo até execução do callback em milissegundos.
|
|
26
|
+
* @param notOverFlow - Lista de ids ou data-element-ids dos elementos que não devem sofrer overFlow.
|
|
27
|
+
*/
|
|
28
|
+
constructor({ element, callback, overFlowDirection, debounce, deltaSize, notOverFlow }: OverFlowWatcherParams);
|
|
29
|
+
addNotOverFlowElement(elementId: string): void;
|
|
30
|
+
destroy(): void;
|
|
31
|
+
forceUpdate(): void;
|
|
32
|
+
private handleResize;
|
|
33
|
+
private updateOverFlowedItems;
|
|
34
|
+
private registerNotOverflowProps;
|
|
35
|
+
private canNotRegisterNotOverFlow;
|
|
36
|
+
private hasChangedSize;
|
|
37
|
+
private proccessElements;
|
|
38
|
+
private clearOverFlow;
|
|
39
|
+
private proccessElementsOverFlow;
|
|
40
|
+
private isElementOverFlowing;
|
|
41
|
+
private canOverFlowElement;
|
|
42
|
+
private getDataElementId;
|
|
43
|
+
private exceedsAvaliableSize;
|
|
44
|
+
private calculateVariation;
|
|
45
|
+
private canNotOverFlowNotIncludedIds;
|
|
46
|
+
private registerElementSize;
|
|
47
|
+
private getElementSizeProps;
|
|
48
|
+
private calcChildrenSize;
|
|
49
|
+
private calcElementSize;
|
|
50
|
+
private isOverFlowed;
|
|
51
|
+
}
|
|
52
|
+
export interface OverFlowWatcherParams {
|
|
53
|
+
element: HTMLElement;
|
|
54
|
+
callback: OnOverflowCallBack;
|
|
55
|
+
overFlowDirection?: OverflowDirection;
|
|
56
|
+
deltaSize?: number;
|
|
57
|
+
debounce?: number;
|
|
58
|
+
notOverFlow?: string[];
|
|
59
|
+
}
|