@sankhyalabs/core 0.0.0-bugfix-dev-KB-6165.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/.nojekyll +1 -0
- package/.docs/README.md +63 -0
- package/.docs/classes/ApplicationContext.md +90 -0
- package/.docs/classes/ArrayUtils.md +99 -0
- package/.docs/classes/AuthorizedServiceCaller.md +76 -0
- package/.docs/classes/Change.md +190 -0
- package/.docs/classes/DataUnit.md +2453 -0
- package/.docs/classes/DataUnitAction.md +96 -0
- package/.docs/classes/DataUnitStorage.md +116 -0
- package/.docs/classes/DateUtils.md +327 -0
- package/.docs/classes/ElementIDUtils.md +308 -0
- package/.docs/classes/ErrorException.md +214 -0
- package/.docs/classes/ErrorTracking.md +62 -0
- package/.docs/classes/FloatingManager.md +530 -0
- package/.docs/classes/HTMLBuilder.md +45 -0
- package/.docs/classes/HttpProvider.md +96 -0
- package/.docs/classes/JSUtils.md +115 -0
- package/.docs/classes/MaskFormatter-1.md +347 -0
- package/.docs/classes/NumberUtils.md +335 -0
- package/.docs/classes/ObjectUtils.md +160 -0
- package/.docs/classes/OnboardingUtils.md +126 -0
- package/.docs/classes/PromiseSync.md +91 -0
- package/.docs/classes/ReadyUtil.md +115 -0
- package/.docs/classes/RequestMetadata.md +84 -0
- package/.docs/classes/SelectionInfo.md +168 -0
- package/.docs/classes/SkwHttpProvider.md +109 -0
- package/.docs/classes/StringUtils.md +562 -0
- package/.docs/classes/TimeFormatter.md +98 -0
- package/.docs/classes/UserAgentUtils.md +58 -0
- package/.docs/classes/VersionUtils.md +42 -0
- package/.docs/classes/WaitingChangeException.md +200 -0
- package/.docs/classes/WarningException.md +214 -0
- package/.docs/enums/Action.md +294 -0
- package/.docs/enums/ChangeOperation.md +52 -0
- package/.docs/enums/DataType.md +63 -0
- package/.docs/enums/DependencyType.md +41 -0
- package/.docs/enums/SelectionMode.md +30 -0
- package/.docs/enums/SortMode.md +30 -0
- package/.docs/enums/UserInterface.md +195 -0
- package/.docs/interfaces/ChildDescriptor.md +41 -0
- package/.docs/interfaces/ChildLink.md +30 -0
- package/.docs/interfaces/DUActionInterceptor.md +29 -0
- package/.docs/interfaces/ExecutionContext.md +58 -0
- package/.docs/interfaces/FieldDescriptor.md +140 -0
- package/.docs/interfaces/Filter.md +41 -0
- package/.docs/interfaces/IElementIDInfo.md +30 -0
- package/.docs/interfaces/LoadDataRequest.md +101 -0
- package/.docs/interfaces/LoadDataResponse.md +36 -0
- package/.docs/interfaces/PageRequest.md +41 -0
- package/.docs/interfaces/PaginationInfo.md +75 -0
- package/.docs/interfaces/PromiseSyncCallback.md +39 -0
- package/.docs/interfaces/QuickFilter.md +41 -0
- package/.docs/interfaces/Record.md +62 -0
- package/.docs/interfaces/SavedRecord.md +85 -0
- package/.docs/interfaces/Sort.md +41 -0
- package/.docs/interfaces/SortingProvider.md +29 -0
- package/.docs/interfaces/UnitMetadata.md +52 -0
- package/.docs/interfaces/WaitingChange.md +41 -0
- package/.docs/modules/MaskFormatter.md +37 -0
- package/.docs/modules.md +74 -0
- package/.docs/package.json +15 -0
- package/.eslintignore +2 -0
- package/.eslintrc.cjs +35 -0
- package/.husky/commit-msg +4 -0
- package/.releaserc +58 -0
- package/README.md +62 -0
- package/commitlint.config.cjs +14 -0
- package/dist/async/PromiseSync.d.ts +29 -0
- package/dist/async/PromiseSync.js +31 -0
- package/dist/async/PromiseSync.js.map +1 -0
- package/dist/dataunit/DataUnit.d.ts +924 -0
- package/dist/dataunit/DataUnit.js +1621 -0
- package/dist/dataunit/DataUnit.js.map +1 -0
- package/dist/dataunit/DataUnitStorage.d.ts +24 -0
- package/dist/dataunit/DataUnitStorage.js +39 -0
- package/dist/dataunit/DataUnitStorage.js.map +1 -0
- package/dist/dataunit/formatting/PrettyFormatter.d.ts +2 -0
- package/dist/dataunit/formatting/PrettyFormatter.js +94 -0
- package/dist/dataunit/formatting/PrettyFormatter.js.map +1 -0
- package/dist/dataunit/loading/LoadDataRequest.d.ts +19 -0
- package/dist/dataunit/loading/LoadDataRequest.js +2 -0
- package/dist/dataunit/loading/LoadDataRequest.js.map +1 -0
- package/dist/dataunit/loading/LoadDataResponse.d.ts +9 -0
- package/dist/dataunit/loading/LoadDataResponse.js +2 -0
- package/dist/dataunit/loading/LoadDataResponse.js.map +1 -0
- package/dist/dataunit/loading/PaginationInfo.d.ts +13 -0
- package/dist/dataunit/loading/PaginationInfo.js +2 -0
- package/dist/dataunit/loading/PaginationInfo.js.map +1 -0
- package/dist/dataunit/metadata/DataType.d.ts +54 -0
- package/dist/dataunit/metadata/DataType.js +124 -0
- package/dist/dataunit/metadata/DataType.js.map +1 -0
- package/dist/dataunit/metadata/UnitMetadata.d.ts +88 -0
- package/dist/dataunit/metadata/UnitMetadata.js +36 -0
- package/dist/dataunit/metadata/UnitMetadata.js.map +1 -0
- package/dist/dataunit/state/HistReducer.d.ts +10 -0
- package/dist/dataunit/state/HistReducer.js +28 -0
- package/dist/dataunit/state/HistReducer.js.map +1 -0
- package/dist/dataunit/state/StateManager.d.ts +57 -0
- package/dist/dataunit/state/StateManager.js +97 -0
- package/dist/dataunit/state/StateManager.js.map +1 -0
- package/dist/dataunit/state/action/DataUnitAction.d.ts +40 -0
- package/dist/dataunit/state/action/DataUnitAction.js +42 -0
- package/dist/dataunit/state/action/DataUnitAction.js.map +1 -0
- package/dist/dataunit/state/slice/AddedRecordsSlice.d.ts +12 -0
- package/dist/dataunit/state/slice/AddedRecordsSlice.js +30 -0
- package/dist/dataunit/state/slice/AddedRecordsSlice.js.map +1 -0
- package/dist/dataunit/state/slice/ChangesSlice.d.ts +13 -0
- package/dist/dataunit/state/slice/ChangesSlice.js +105 -0
- package/dist/dataunit/state/slice/ChangesSlice.js.map +1 -0
- package/dist/dataunit/state/slice/InvalidFieldsSlice.d.ts +10 -0
- package/dist/dataunit/state/slice/InvalidFieldsSlice.js +66 -0
- package/dist/dataunit/state/slice/InvalidFieldsSlice.js.map +1 -0
- package/dist/dataunit/state/slice/LoadingControlSlice.d.ts +19 -0
- package/dist/dataunit/state/slice/LoadingControlSlice.js +45 -0
- package/dist/dataunit/state/slice/LoadingControlSlice.js.map +1 -0
- package/dist/dataunit/state/slice/RecordsSlice.d.ts +11 -0
- package/dist/dataunit/state/slice/RecordsSlice.js +62 -0
- package/dist/dataunit/state/slice/RecordsSlice.js.map +1 -0
- package/dist/dataunit/state/slice/RemovedRecordsSlice.d.ts +9 -0
- package/dist/dataunit/state/slice/RemovedRecordsSlice.js +25 -0
- package/dist/dataunit/state/slice/RemovedRecordsSlice.js.map +1 -0
- package/dist/dataunit/state/slice/SelectionSlice.d.ts +19 -0
- package/dist/dataunit/state/slice/SelectionSlice.js +155 -0
- package/dist/dataunit/state/slice/SelectionSlice.js.map +1 -0
- package/dist/dataunit/state/slice/SnapshotSlice.d.ts +19 -0
- package/dist/dataunit/state/slice/SnapshotSlice.js +106 -0
- package/dist/dataunit/state/slice/SnapshotSlice.js.map +1 -0
- package/dist/dataunit/state/slice/UnitMetadataSlice.d.ts +11 -0
- package/dist/dataunit/state/slice/UnitMetadataSlice.js +21 -0
- package/dist/dataunit/state/slice/UnitMetadataSlice.js.map +1 -0
- package/dist/dataunit/state/slice/WaitingChangesSlice.d.ts +12 -0
- package/dist/dataunit/state/slice/WaitingChangesSlice.js +56 -0
- package/dist/dataunit/state/slice/WaitingChangesSlice.js.map +1 -0
- package/dist/exceptions/ErrorException.d.ts +14 -0
- package/dist/exceptions/ErrorException.js +13 -0
- package/dist/exceptions/ErrorException.js.map +1 -0
- package/dist/exceptions/WaitingChangeException.d.ts +12 -0
- package/dist/exceptions/WaitingChangeException.js +12 -0
- package/dist/exceptions/WaitingChangeException.js.map +1 -0
- package/dist/exceptions/WarningException.d.ts +14 -0
- package/dist/exceptions/WarningException.js +13 -0
- package/dist/exceptions/WarningException.js.map +1 -0
- package/dist/html/HTMLBuilder.d.ts +3 -0
- package/dist/html/HTMLBuilder.js +9 -0
- package/dist/html/HTMLBuilder.js.map +1 -0
- package/dist/http/AuthorizedServiceCaller.d.ts +11 -0
- package/dist/http/AuthorizedServiceCaller.js +54 -0
- package/dist/http/AuthorizedServiceCaller.js.map +1 -0
- package/dist/http/HttpProvider.d.ts +25 -0
- package/dist/http/HttpProvider.js +74 -0
- package/dist/http/HttpProvider.js.map +1 -0
- package/dist/http/RequestMetadata.d.ts +30 -0
- package/dist/http/RequestMetadata.js +25 -0
- package/dist/http/RequestMetadata.js.map +1 -0
- package/dist/http/SkwHttpProvider.d.ts +9 -0
- package/dist/http/SkwHttpProvider.js +67 -0
- package/dist/http/SkwHttpProvider.js.map +1 -0
- package/dist/index.d.ts +34 -0
- package/dist/index.js +33 -0
- package/dist/index.js.map +1 -0
- package/dist/traking/ErrorTraking.d.ts +19 -0
- package/dist/traking/ErrorTraking.js +34 -0
- package/dist/traking/ErrorTraking.js.map +1 -0
- package/dist/ui/FloatingManager.d.ts +164 -0
- package/dist/ui/FloatingManager.js +358 -0
- package/dist/ui/FloatingManager.js.map +1 -0
- package/dist/utils/ApplicationContext.d.ts +26 -0
- package/dist/utils/ApplicationContext.js +38 -0
- package/dist/utils/ApplicationContext.js.map +1 -0
- package/dist/utils/ArrayUtils.d.ts +29 -0
- package/dist/utils/ArrayUtils.js +57 -0
- package/dist/utils/ArrayUtils.js.map +1 -0
- package/dist/utils/CriteriaModel.d.ts +107 -0
- package/dist/utils/CriteriaModel.js +172 -0
- package/dist/utils/CriteriaModel.js.map +1 -0
- package/dist/utils/CriteriaParameter.d.ts +69 -0
- package/dist/utils/CriteriaParameter.js +83 -0
- package/dist/utils/CriteriaParameter.js.map +1 -0
- package/dist/utils/DateUtils.d.ts +97 -0
- package/dist/utils/DateUtils.js +171 -0
- package/dist/utils/DateUtils.js.map +1 -0
- package/dist/utils/ElementIDUtils.d.ts +72 -0
- package/dist/utils/ElementIDUtils.js +161 -0
- package/dist/utils/ElementIDUtils.js.map +1 -0
- package/dist/utils/JSUtils.d.ts +36 -0
- package/dist/utils/JSUtils.js +66 -0
- package/dist/utils/JSUtils.js.map +1 -0
- package/dist/utils/MaskFormatter.d.ts +148 -0
- package/dist/utils/MaskFormatter.js +356 -0
- package/dist/utils/MaskFormatter.js.map +1 -0
- package/dist/utils/NumberUtils.d.ts +127 -0
- package/dist/utils/NumberUtils.js +245 -0
- package/dist/utils/NumberUtils.js.map +1 -0
- package/dist/utils/ObjectUtils.d.ts +47 -0
- package/dist/utils/ObjectUtils.js +68 -0
- package/dist/utils/ObjectUtils.js.map +1 -0
- package/dist/utils/OnboardingUtils.d.ts +17 -0
- package/dist/utils/OnboardingUtils.js +41 -0
- package/dist/utils/OnboardingUtils.js.map +1 -0
- package/dist/utils/ReadyUtil.d.ts +24 -0
- package/dist/utils/ReadyUtil.js +41 -0
- package/dist/utils/ReadyUtil.js.map +1 -0
- package/dist/utils/StringUtils.d.ts +167 -0
- package/dist/utils/StringUtils.js +328 -0
- package/dist/utils/StringUtils.js.map +1 -0
- package/dist/utils/TimeFormatter.d.ts +33 -0
- package/dist/utils/TimeFormatter.js +98 -0
- package/dist/utils/TimeFormatter.js.map +1 -0
- package/dist/utils/UserAgentUtils/index.d.ts +15 -0
- package/dist/utils/UserAgentUtils/index.js +48 -0
- package/dist/utils/UserAgentUtils/index.js.map +1 -0
- package/dist/utils/UserAgentUtils/navigatorAgentList.d.ts +17 -0
- package/dist/utils/UserAgentUtils/navigatorAgentList.js +40 -0
- package/dist/utils/UserAgentUtils/navigatorAgentList.js.map +1 -0
- package/dist/utils/VersionUtils.d.ts +7 -0
- package/dist/utils/VersionUtils.js +31 -0
- package/dist/utils/VersionUtils.js.map +1 -0
- package/jest.config.ts +17 -0
- package/mock/http/XMLHttpRequest-mock.js +26 -0
- package/package.json +52 -0
- package/scripts/runlink.bat +1 -0
- package/scripts/runlink.sh +1 -0
- package/src/async/PromiseSync.ts +49 -0
- package/src/dataunit/DataUnit.ts +1835 -0
- package/src/dataunit/DataUnitStorage.ts +43 -0
- package/src/dataunit/formatting/PrettyFormatter.ts +113 -0
- package/src/dataunit/loading/LoadDataRequest.ts +26 -0
- package/src/dataunit/loading/LoadDataResponse.ts +11 -0
- package/src/dataunit/loading/PaginationInfo.ts +18 -0
- package/src/dataunit/metadata/DataType.ts +127 -0
- package/src/dataunit/metadata/UnitMetadata.ts +102 -0
- package/src/dataunit/state/HistReducer.ts +34 -0
- package/src/dataunit/state/StateManager.ts +142 -0
- package/src/dataunit/state/action/DataUnitAction.ts +67 -0
- package/src/dataunit/state/slice/AddedRecordsSlice.ts +48 -0
- package/src/dataunit/state/slice/ChangesSlice.ts +125 -0
- package/src/dataunit/state/slice/InvalidFieldsSlice.ts +85 -0
- package/src/dataunit/state/slice/LoadingControlSlice.ts +60 -0
- package/src/dataunit/state/slice/RecordsSlice.ts +74 -0
- package/src/dataunit/state/slice/RemovedRecordsSlice.ts +30 -0
- package/src/dataunit/state/slice/SelectionSlice.ts +193 -0
- package/src/dataunit/state/slice/SnapshotSlice.ts +139 -0
- package/src/dataunit/state/slice/UnitMetadataSlice.ts +30 -0
- package/src/dataunit/state/slice/WaitingChangesSlice.ts +74 -0
- package/src/exceptions/ErrorException.ts +25 -0
- package/src/exceptions/WaitingChangeException.ts +21 -0
- package/src/exceptions/WarningException.ts +26 -0
- package/src/html/HTMLBuilder.ts +8 -0
- package/src/http/AuthorizedServiceCaller.ts +58 -0
- package/src/http/HttpProvider.ts +94 -0
- package/src/http/RequestMetadata.ts +42 -0
- package/src/http/SkwHttpProvider.ts +78 -0
- package/src/index.ts +93 -0
- package/src/traking/ErrorTraking.ts +37 -0
- package/src/ui/FloatingManager.ts +417 -0
- package/src/utils/ApplicationContext.ts +42 -0
- package/src/utils/ArrayUtils.ts +61 -0
- package/src/utils/CriteriaModel.ts +205 -0
- package/src/utils/CriteriaParameter.ts +108 -0
- package/src/utils/DateUtils.ts +195 -0
- package/src/utils/ElementIDUtils.ts +184 -0
- package/src/utils/JSUtils.ts +69 -0
- package/src/utils/MaskFormatter.ts +407 -0
- package/src/utils/NumberUtils.ts +283 -0
- package/src/utils/ObjectUtils.ts +76 -0
- package/src/utils/OnboardingUtils.ts +46 -0
- package/src/utils/ReadyUtil.ts +45 -0
- package/src/utils/StringUtils.ts +359 -0
- package/src/utils/TimeFormatter.ts +98 -0
- package/src/utils/UserAgentUtils/index.ts +62 -0
- package/src/utils/UserAgentUtils/navigatorAgentList.ts +39 -0
- package/src/utils/VersionUtils.ts +37 -0
- package/test/http/HttpProvider.spec.ts +35 -0
- package/test/http/SkwHttpProvider.ts.spec.ts +34 -0
- package/test/util/CriteriaModel.spec.ts +232 -0
- package/test/util/CriteriaParameter.spec.ts +52 -0
- package/test/util/DataUnitStorage.spec.ts +63 -0
- package/test/util/ElementIDUtils.spec.ts +272 -0
- package/test/util/MaskFormatter.spec.ts +138 -0
- package/test/util/NumberUtils.spec.ts +182 -0
- package/test/util/StringUtils.spec.ts +51 -0
- package/test/util/TimeFormatter.spec.ts +26 -0
- package/tsconfig.json +16 -0
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
interface FloatingOptions {
|
|
2
|
+
autoClose: boolean;
|
|
3
|
+
top?: string;
|
|
4
|
+
left?: string;
|
|
5
|
+
right?: string;
|
|
6
|
+
bottom?: string;
|
|
7
|
+
innerClickTest?: Function;
|
|
8
|
+
backClickListener?: Function;
|
|
9
|
+
isFixed?: boolean;
|
|
10
|
+
useOverlay?: boolean;
|
|
11
|
+
overlayClassName?: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* `FloatingManager`: Gerenciador de elementos flutuantes na tela.
|
|
15
|
+
*/
|
|
16
|
+
export default class FloatingManager {
|
|
17
|
+
static MODAL_DEFAULT_CLASSNAME: string;
|
|
18
|
+
static MODAL_ELEMENT_ID: string;
|
|
19
|
+
static STYLE_ELEMENT_ID: string;
|
|
20
|
+
static DATA_OLD_ZINDEX_ATTRIBUTE_NAME: string;
|
|
21
|
+
private static initialized;
|
|
22
|
+
private static entries;
|
|
23
|
+
private static overlayElements;
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* Inicializa a classe FloatingManager.
|
|
27
|
+
*
|
|
28
|
+
*/
|
|
29
|
+
private static init;
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
* Retorna se o elemento clicado possui elementos internos.
|
|
33
|
+
*
|
|
34
|
+
*/
|
|
35
|
+
private static innerClick;
|
|
36
|
+
/**
|
|
37
|
+
*
|
|
38
|
+
* Fecha uma entrada flutuante (FloatingManager).
|
|
39
|
+
*
|
|
40
|
+
* @param id - Código da entrada que se deseja encerrar.
|
|
41
|
+
* @param entry - FloatingManager.
|
|
42
|
+
* @param target - Elemento HTML referente.
|
|
43
|
+
* @param event - Evento específico que será verificado, como clique do mouse.
|
|
44
|
+
*
|
|
45
|
+
*/
|
|
46
|
+
private static doClose;
|
|
47
|
+
/**
|
|
48
|
+
*
|
|
49
|
+
* Fecha todas as FloatingManagers abertas.
|
|
50
|
+
*
|
|
51
|
+
* @param event - Evento ocorrido, como clique do mouse, por exemplo.
|
|
52
|
+
*
|
|
53
|
+
*/
|
|
54
|
+
private static handleDocumentEvent;
|
|
55
|
+
/**
|
|
56
|
+
*
|
|
57
|
+
* Captura eventos de teclado para manipular os elementos flutuantes via eventos da tecla pressionada.
|
|
58
|
+
*
|
|
59
|
+
* @param event - Evento de teclado.
|
|
60
|
+
*
|
|
61
|
+
*/
|
|
62
|
+
private static handleKeyboardEvent;
|
|
63
|
+
/**
|
|
64
|
+
*
|
|
65
|
+
* Adiciona uma propriedade CSS em um elemento HTML.
|
|
66
|
+
*
|
|
67
|
+
* @param element - Elemento HTML que será modificado.
|
|
68
|
+
* @param propertyName - Nome da propriedade CSS que será adicionada.
|
|
69
|
+
* @param value - Valor da propriedade adicionada.
|
|
70
|
+
*
|
|
71
|
+
*
|
|
72
|
+
*/
|
|
73
|
+
private static applyStyle;
|
|
74
|
+
/**
|
|
75
|
+
*
|
|
76
|
+
* Obtém o índice do FloatingManager do Elemento HMTL desejado.
|
|
77
|
+
*
|
|
78
|
+
* @param content - Elemento a ser buscado.
|
|
79
|
+
* @param parent - Elemento pai do content a ser buscado.
|
|
80
|
+
* @returns - Índice do elemento informado.
|
|
81
|
+
*/
|
|
82
|
+
private static getFloatIndex;
|
|
83
|
+
/**
|
|
84
|
+
*
|
|
85
|
+
* Retorna se uma entrada flutuante existe.
|
|
86
|
+
*
|
|
87
|
+
* @param id - Índice para ser verificado no FloatingManager.
|
|
88
|
+
*
|
|
89
|
+
* @returns - Verdadeiro se existir.
|
|
90
|
+
*
|
|
91
|
+
*/
|
|
92
|
+
static isFloating(id: number): boolean;
|
|
93
|
+
/**
|
|
94
|
+
*
|
|
95
|
+
* Cria e exibe um novo item no FloatingManager.
|
|
96
|
+
*
|
|
97
|
+
* @param content - Elemento HTML que será criado.
|
|
98
|
+
* @param parent - Elemento HTML que será o pai do item a ser criado.
|
|
99
|
+
* @param options - Opções de configuração a serem adicionadas.
|
|
100
|
+
*
|
|
101
|
+
* @returns - ID do novo item criado.
|
|
102
|
+
*/
|
|
103
|
+
static float(content: HTMLElement, parent: HTMLElement, options?: FloatingOptions): number;
|
|
104
|
+
/**
|
|
105
|
+
*
|
|
106
|
+
* Aplica o desfoque na página se o elemento possuir essa option ativada.
|
|
107
|
+
*
|
|
108
|
+
* @param options - Configurações que serão utilizadas no elemento.
|
|
109
|
+
*
|
|
110
|
+
*/
|
|
111
|
+
private static showOverlay;
|
|
112
|
+
/**
|
|
113
|
+
*
|
|
114
|
+
* Desfaz o desfoque/overlay dos elementos na tela.
|
|
115
|
+
*
|
|
116
|
+
*
|
|
117
|
+
*/
|
|
118
|
+
private static hideOverlay;
|
|
119
|
+
/**
|
|
120
|
+
*
|
|
121
|
+
* Cria ou atualiza o elemento de sobreposição.
|
|
122
|
+
*
|
|
123
|
+
* @param className - Classe CSS que será adicionada ao modal.
|
|
124
|
+
* @returns - O elemento atualizado.
|
|
125
|
+
*/
|
|
126
|
+
private static createOrUpdatOverlay;
|
|
127
|
+
/**
|
|
128
|
+
*
|
|
129
|
+
* Cria elemento de estilo.
|
|
130
|
+
* Elemento que define o estilo padrão do elemento de sobreposição.
|
|
131
|
+
*/
|
|
132
|
+
private static createStyleElement;
|
|
133
|
+
/**
|
|
134
|
+
*
|
|
135
|
+
* Atualiza posição de um elemento que já está em tela.
|
|
136
|
+
*
|
|
137
|
+
* @param content - Elemento HTML que será atualizado.
|
|
138
|
+
* @param parent - Elemento pai do content passado.
|
|
139
|
+
* @param options - Novas opções desejadas.
|
|
140
|
+
*/
|
|
141
|
+
static updateFloatPosition(content: HTMLElement, parent: HTMLElement, options?: FloatingOptions): void;
|
|
142
|
+
/**
|
|
143
|
+
*
|
|
144
|
+
* Fecha elemento flutuante da tela.
|
|
145
|
+
*
|
|
146
|
+
* @param id - Índice do elemento desejado.
|
|
147
|
+
*
|
|
148
|
+
*/
|
|
149
|
+
static close(id: number): void;
|
|
150
|
+
/**
|
|
151
|
+
* Controle a sobreposição do elemento
|
|
152
|
+
* @param item - Elemento HTML que será manipulado
|
|
153
|
+
* @returns - O ID do elemento na lista de controle
|
|
154
|
+
*/
|
|
155
|
+
static subscribeOverlayControl(item: HTMLElement): number | undefined;
|
|
156
|
+
/**
|
|
157
|
+
*
|
|
158
|
+
* @param identifier - Elemento HTML ou ID do item que será removido do controle de sobreposição
|
|
159
|
+
*/
|
|
160
|
+
static unsubscribeOverlayControl(identifier: HTMLElement | number): void;
|
|
161
|
+
private static getCSSPropertyValue;
|
|
162
|
+
private static getHighestZIndex;
|
|
163
|
+
}
|
|
164
|
+
export {};
|
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
class FloatingEntry {
|
|
2
|
+
constructor(parent, content, opts) {
|
|
3
|
+
try {
|
|
4
|
+
this.weakRefParent = new WeakRef(parent);
|
|
5
|
+
this.weakRefContent = new WeakRef(content);
|
|
6
|
+
}
|
|
7
|
+
catch (error) {
|
|
8
|
+
this.strongRefParent = parent;
|
|
9
|
+
this.strongRefContent = content;
|
|
10
|
+
}
|
|
11
|
+
this.options = opts;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
*
|
|
15
|
+
* Obtém o elemento HTML pai associado ao objeto.
|
|
16
|
+
*
|
|
17
|
+
* @returns - Elemento HTML pai.
|
|
18
|
+
*
|
|
19
|
+
*/
|
|
20
|
+
get parent() {
|
|
21
|
+
if (this.weakRefParent) {
|
|
22
|
+
return this.weakRefParent.deref();
|
|
23
|
+
}
|
|
24
|
+
return this.strongRefParent;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
*
|
|
28
|
+
* Obtém o elemento HTML de conteúdo associado ao objeto.
|
|
29
|
+
*
|
|
30
|
+
* @returns - Elemento HTML de conteúdo associado.
|
|
31
|
+
*
|
|
32
|
+
*/
|
|
33
|
+
get content() {
|
|
34
|
+
if (this.weakRefContent) {
|
|
35
|
+
return this.weakRefContent.deref();
|
|
36
|
+
}
|
|
37
|
+
return this.strongRefContent;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* `FloatingManager`: Gerenciador de elementos flutuantes na tela.
|
|
42
|
+
*/
|
|
43
|
+
export default class FloatingManager {
|
|
44
|
+
/**
|
|
45
|
+
*
|
|
46
|
+
* Inicializa a classe FloatingManager.
|
|
47
|
+
*
|
|
48
|
+
*/
|
|
49
|
+
static init() {
|
|
50
|
+
FloatingManager.entries = [];
|
|
51
|
+
document.addEventListener('mousedown', FloatingManager.handleDocumentEvent);
|
|
52
|
+
document.addEventListener('keydown', FloatingManager.handleKeyboardEvent);
|
|
53
|
+
FloatingManager.initialized = true;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
*
|
|
57
|
+
* Retorna se o elemento clicado possui elementos internos.
|
|
58
|
+
*
|
|
59
|
+
*/
|
|
60
|
+
static innerClick(container, node) {
|
|
61
|
+
if (container.contains(node)) {
|
|
62
|
+
return true;
|
|
63
|
+
}
|
|
64
|
+
if (container.shadowRoot && container.shadowRoot.contains(node)) {
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
*
|
|
71
|
+
* Fecha uma entrada flutuante (FloatingManager).
|
|
72
|
+
*
|
|
73
|
+
* @param id - Código da entrada que se deseja encerrar.
|
|
74
|
+
* @param entry - FloatingManager.
|
|
75
|
+
* @param target - Elemento HTML referente.
|
|
76
|
+
* @param event - Evento específico que será verificado, como clique do mouse.
|
|
77
|
+
*
|
|
78
|
+
*/
|
|
79
|
+
static doClose(id, entry, target, event) {
|
|
80
|
+
if (!target || entry.options.autoClose) {
|
|
81
|
+
const parent = entry.parent;
|
|
82
|
+
const content = entry.content;
|
|
83
|
+
if (parent && content) {
|
|
84
|
+
const innerClickFunction = entry.options.innerClickTest ? entry.options.innerClickTest : FloatingManager.innerClick;
|
|
85
|
+
const backClickFunction = entry.options.backClickListener ? entry.options.backClickListener : () => { };
|
|
86
|
+
if (!target || !innerClickFunction(content, target, event)) {
|
|
87
|
+
content.remove();
|
|
88
|
+
delete FloatingManager.entries[id];
|
|
89
|
+
backClickFunction();
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
delete FloatingManager.entries[id];
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
FloatingManager.hideOverlay();
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
*
|
|
100
|
+
* Fecha todas as FloatingManagers abertas.
|
|
101
|
+
*
|
|
102
|
+
* @param event - Evento ocorrido, como clique do mouse, por exemplo.
|
|
103
|
+
*
|
|
104
|
+
*/
|
|
105
|
+
static handleDocumentEvent(event) {
|
|
106
|
+
FloatingManager.entries.forEach((entry, index) => {
|
|
107
|
+
FloatingManager.doClose(index, entry, event.composedPath()[0], event);
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
*
|
|
112
|
+
* Captura eventos de teclado para manipular os elementos flutuantes via eventos da tecla pressionada.
|
|
113
|
+
*
|
|
114
|
+
* @param event - Evento de teclado.
|
|
115
|
+
*
|
|
116
|
+
*/
|
|
117
|
+
static handleKeyboardEvent(event) {
|
|
118
|
+
if (event.key === 'Escape') {
|
|
119
|
+
for (let index = FloatingManager.entries.length; index >= 0; index--) {
|
|
120
|
+
const entry = FloatingManager.entries[index];
|
|
121
|
+
if (entry) {
|
|
122
|
+
FloatingManager.close(index);
|
|
123
|
+
break;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
*
|
|
130
|
+
* Adiciona uma propriedade CSS em um elemento HTML.
|
|
131
|
+
*
|
|
132
|
+
* @param element - Elemento HTML que será modificado.
|
|
133
|
+
* @param propertyName - Nome da propriedade CSS que será adicionada.
|
|
134
|
+
* @param value - Valor da propriedade adicionada.
|
|
135
|
+
*
|
|
136
|
+
*
|
|
137
|
+
*/
|
|
138
|
+
static applyStyle(element, propertyName, value) {
|
|
139
|
+
if (value) {
|
|
140
|
+
element.style.setProperty(propertyName, value);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
*
|
|
145
|
+
* Obtém o índice do FloatingManager do Elemento HMTL desejado.
|
|
146
|
+
*
|
|
147
|
+
* @param content - Elemento a ser buscado.
|
|
148
|
+
* @param parent - Elemento pai do content a ser buscado.
|
|
149
|
+
* @returns - Índice do elemento informado.
|
|
150
|
+
*/
|
|
151
|
+
static getFloatIndex(content, parent) {
|
|
152
|
+
for (let index = 0; index < FloatingManager.entries.length; index++) {
|
|
153
|
+
const entry = FloatingManager.entries[index];
|
|
154
|
+
if (entry && content === entry.content && parent === entry.parent) {
|
|
155
|
+
return index;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
return -1;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
*
|
|
162
|
+
* Retorna se uma entrada flutuante existe.
|
|
163
|
+
*
|
|
164
|
+
* @param id - Índice para ser verificado no FloatingManager.
|
|
165
|
+
*
|
|
166
|
+
* @returns - Verdadeiro se existir.
|
|
167
|
+
*
|
|
168
|
+
*/
|
|
169
|
+
static isFloating(id) {
|
|
170
|
+
return FloatingManager.entries[id] !== undefined;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
*
|
|
174
|
+
* Cria e exibe um novo item no FloatingManager.
|
|
175
|
+
*
|
|
176
|
+
* @param content - Elemento HTML que será criado.
|
|
177
|
+
* @param parent - Elemento HTML que será o pai do item a ser criado.
|
|
178
|
+
* @param options - Opções de configuração a serem adicionadas.
|
|
179
|
+
*
|
|
180
|
+
* @returns - ID do novo item criado.
|
|
181
|
+
*/
|
|
182
|
+
static float(content, parent, options = { autoClose: true }) {
|
|
183
|
+
if (!FloatingManager.initialized) {
|
|
184
|
+
FloatingManager.init();
|
|
185
|
+
}
|
|
186
|
+
const alreadyFloatingIndex = FloatingManager.getFloatIndex(content, parent);
|
|
187
|
+
if (alreadyFloatingIndex > -1) {
|
|
188
|
+
return alreadyFloatingIndex;
|
|
189
|
+
}
|
|
190
|
+
content.style.position = options.isFixed ? 'fixed' : 'absolute';
|
|
191
|
+
requestAnimationFrame(() => {
|
|
192
|
+
FloatingManager.applyStyle(content, "top", options.top);
|
|
193
|
+
FloatingManager.applyStyle(content, "left", options.left);
|
|
194
|
+
FloatingManager.applyStyle(content, "right", options.right);
|
|
195
|
+
FloatingManager.applyStyle(content, "bottom", options.bottom);
|
|
196
|
+
});
|
|
197
|
+
FloatingManager.showOverlay(options);
|
|
198
|
+
parent.appendChild(content);
|
|
199
|
+
FloatingManager.entries.push(new FloatingEntry(parent, content, options));
|
|
200
|
+
return FloatingManager.entries.length - 1;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
*
|
|
204
|
+
* Aplica o desfoque na página se o elemento possuir essa option ativada.
|
|
205
|
+
*
|
|
206
|
+
* @param options - Configurações que serão utilizadas no elemento.
|
|
207
|
+
*
|
|
208
|
+
*/
|
|
209
|
+
static showOverlay(options) {
|
|
210
|
+
if (options.useOverlay) {
|
|
211
|
+
this.createOrUpdatOverlay(options.overlayClassName).style.display = "block";
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
*
|
|
216
|
+
* Desfaz o desfoque/overlay dos elementos na tela.
|
|
217
|
+
*
|
|
218
|
+
*
|
|
219
|
+
*/
|
|
220
|
+
static hideOverlay() {
|
|
221
|
+
if (FloatingManager.entries.filter(entry => entry.options.useOverlay).length > 0) {
|
|
222
|
+
return;
|
|
223
|
+
}
|
|
224
|
+
const overlayElement = document.querySelector(`div#${FloatingManager.MODAL_ELEMENT_ID}`);
|
|
225
|
+
if (overlayElement != undefined) {
|
|
226
|
+
overlayElement.style.display = "none";
|
|
227
|
+
}
|
|
228
|
+
const body = document.querySelector("body");
|
|
229
|
+
if (body) {
|
|
230
|
+
body.style.overflow = "";
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
*
|
|
235
|
+
* Cria ou atualiza o elemento de sobreposição.
|
|
236
|
+
*
|
|
237
|
+
* @param className - Classe CSS que será adicionada ao modal.
|
|
238
|
+
* @returns - O elemento atualizado.
|
|
239
|
+
*/
|
|
240
|
+
static createOrUpdatOverlay(className = FloatingManager.MODAL_DEFAULT_CLASSNAME) {
|
|
241
|
+
let overlayElement = document.querySelector(`div#${FloatingManager.MODAL_ELEMENT_ID}`);
|
|
242
|
+
const body = document.querySelector("body");
|
|
243
|
+
if (!overlayElement) {
|
|
244
|
+
overlayElement = document.createElement("div");
|
|
245
|
+
overlayElement.id = FloatingManager.MODAL_ELEMENT_ID;
|
|
246
|
+
if (body) {
|
|
247
|
+
body.appendChild(overlayElement);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
if (className === FloatingManager.MODAL_DEFAULT_CLASSNAME) {
|
|
251
|
+
FloatingManager.createStyleElement();
|
|
252
|
+
}
|
|
253
|
+
else {
|
|
254
|
+
overlayElement.classList.remove(FloatingManager.MODAL_DEFAULT_CLASSNAME);
|
|
255
|
+
}
|
|
256
|
+
if (body) {
|
|
257
|
+
body.style.overflow = "hidden";
|
|
258
|
+
}
|
|
259
|
+
overlayElement.className = className;
|
|
260
|
+
return overlayElement;
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
*
|
|
264
|
+
* Cria elemento de estilo.
|
|
265
|
+
* Elemento que define o estilo padrão do elemento de sobreposição.
|
|
266
|
+
*/
|
|
267
|
+
static createStyleElement() {
|
|
268
|
+
let styleElement = document.querySelector(`style#${FloatingManager.STYLE_ELEMENT_ID}`);
|
|
269
|
+
if (styleElement == undefined) {
|
|
270
|
+
styleElement = document.createElement("style");
|
|
271
|
+
styleElement.id = FloatingManager.STYLE_ELEMENT_ID;
|
|
272
|
+
styleElement.appendChild(document.createTextNode(`
|
|
273
|
+
.${FloatingManager.MODAL_DEFAULT_CLASSNAME} {
|
|
274
|
+
position: fixed;
|
|
275
|
+
z-index: 2;
|
|
276
|
+
padding: 0;
|
|
277
|
+
top: 0px;
|
|
278
|
+
left: 0px;
|
|
279
|
+
width: 100%;
|
|
280
|
+
height: 100vh;
|
|
281
|
+
box-sizing: border-box;
|
|
282
|
+
background: rgba(0, 0, 0, 0.1);
|
|
283
|
+
}`));
|
|
284
|
+
const header = document.querySelector("head");
|
|
285
|
+
if (header) {
|
|
286
|
+
header.appendChild(styleElement);
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
*
|
|
292
|
+
* Atualiza posição de um elemento que já está em tela.
|
|
293
|
+
*
|
|
294
|
+
* @param content - Elemento HTML que será atualizado.
|
|
295
|
+
* @param parent - Elemento pai do content passado.
|
|
296
|
+
* @param options - Novas opções desejadas.
|
|
297
|
+
*/
|
|
298
|
+
static updateFloatPosition(content, parent, options = { autoClose: true }) {
|
|
299
|
+
const alreadyFloatingIndex = FloatingManager.getFloatIndex(content, parent);
|
|
300
|
+
if (alreadyFloatingIndex > -1) {
|
|
301
|
+
FloatingManager.applyStyle(content, "top", options.top);
|
|
302
|
+
FloatingManager.applyStyle(content, "left", options.left);
|
|
303
|
+
FloatingManager.applyStyle(content, "right", options.right);
|
|
304
|
+
FloatingManager.applyStyle(content, "bottom", options.bottom);
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
/**
|
|
308
|
+
*
|
|
309
|
+
* Fecha elemento flutuante da tela.
|
|
310
|
+
*
|
|
311
|
+
* @param id - Índice do elemento desejado.
|
|
312
|
+
*
|
|
313
|
+
*/
|
|
314
|
+
static close(id) {
|
|
315
|
+
if (FloatingManager.entries[id]) {
|
|
316
|
+
FloatingManager.doClose(id, FloatingManager.entries[id], undefined);
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
/**
|
|
320
|
+
* Controle a sobreposição do elemento
|
|
321
|
+
* @param item - Elemento HTML que será manipulado
|
|
322
|
+
* @returns - O ID do elemento na lista de controle
|
|
323
|
+
*/
|
|
324
|
+
static subscribeOverlayControl(item) {
|
|
325
|
+
if (!item)
|
|
326
|
+
return;
|
|
327
|
+
const currentZIndex = this.getCSSPropertyValue(item, 'z-index') || '';
|
|
328
|
+
const parsedCurrZIndex = isNaN(+currentZIndex) ? 0 : +currentZIndex;
|
|
329
|
+
item.setAttribute(FloatingManager.DATA_OLD_ZINDEX_ATTRIBUTE_NAME, String(parsedCurrZIndex));
|
|
330
|
+
const highestZIndex = this.getHighestZIndex();
|
|
331
|
+
item.style.zIndex = String(highestZIndex ? highestZIndex + 1 : +parsedCurrZIndex);
|
|
332
|
+
return this.overlayElements.push(item);
|
|
333
|
+
}
|
|
334
|
+
/**
|
|
335
|
+
*
|
|
336
|
+
* @param identifier - Elemento HTML ou ID do item que será removido do controle de sobreposição
|
|
337
|
+
*/
|
|
338
|
+
static unsubscribeOverlayControl(identifier) {
|
|
339
|
+
if (!identifier)
|
|
340
|
+
return;
|
|
341
|
+
let item = identifier instanceof HTMLElement ? identifier : this.overlayElements[identifier - 1];
|
|
342
|
+
const oldZIndex = item.getAttribute(FloatingManager.DATA_OLD_ZINDEX_ATTRIBUTE_NAME) || '';
|
|
343
|
+
item.setAttribute(FloatingManager.DATA_OLD_ZINDEX_ATTRIBUTE_NAME, oldZIndex);
|
|
344
|
+
this.overlayElements = this.overlayElements.filter(element => element !== item);
|
|
345
|
+
}
|
|
346
|
+
static getCSSPropertyValue(element, property) {
|
|
347
|
+
return window.getComputedStyle(element).getPropertyValue(property);
|
|
348
|
+
}
|
|
349
|
+
static getHighestZIndex() {
|
|
350
|
+
return this.overlayElements.reduce((acc, curr) => acc + Number(this.getCSSPropertyValue(curr, 'z-index') || ''), 0);
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
FloatingManager.MODAL_DEFAULT_CLASSNAME = "FloatingManager__modal";
|
|
354
|
+
FloatingManager.MODAL_ELEMENT_ID = "FloatingManager__overlay";
|
|
355
|
+
FloatingManager.STYLE_ELEMENT_ID = "FloatingManager__style";
|
|
356
|
+
FloatingManager.DATA_OLD_ZINDEX_ATTRIBUTE_NAME = "data-old-zindex";
|
|
357
|
+
FloatingManager.overlayElements = [];
|
|
358
|
+
//# sourceMappingURL=FloatingManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FloatingManager.js","sourceRoot":"","sources":["../../src/ui/FloatingManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/***
|
|
2
|
+
* `ApplicationContext`: Utilizado para manipulação do contexto.
|
|
3
|
+
* - Evitar uso da classe sem alinhamento com a arquitetura devido ao uso de variáveis globais.
|
|
4
|
+
*/
|
|
5
|
+
export default class ApplicationContext {
|
|
6
|
+
/**
|
|
7
|
+
* Obtém informação específica do contexto.
|
|
8
|
+
*
|
|
9
|
+
* @param key - Chave do contexto desejada.
|
|
10
|
+
* @returns - Informação do contexto desejado.
|
|
11
|
+
*/
|
|
12
|
+
static getContextValue(key: string): any;
|
|
13
|
+
/**
|
|
14
|
+
* Aplica informação no contexto.
|
|
15
|
+
*
|
|
16
|
+
* @param key - Identificador do contexto.
|
|
17
|
+
* @param value - Informação a ser inserida no contexto.
|
|
18
|
+
*/
|
|
19
|
+
static setContextValue(key: string, value: any): any;
|
|
20
|
+
/**
|
|
21
|
+
* Obtém o contexto global da aplicação sankhyacore.
|
|
22
|
+
* - Esse contexto pode ser entendido como um ponto de coesão para atores que não se conhecem poderem trocar informação. Assim, o código x busca por um possível valor no contexto. Se essa informação estiver lá, ele reage de certa forma. O código Y, sabe dessa necessidade mas não consegue passar essa informação diretamente, então atribui o valor ao contexto.
|
|
23
|
+
* @returns - Objeto com as propriedades da variável global ___snkcore___ctx___.
|
|
24
|
+
*/
|
|
25
|
+
private static getCtx;
|
|
26
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/***
|
|
2
|
+
* `ApplicationContext`: Utilizado para manipulação do contexto.
|
|
3
|
+
* - Evitar uso da classe sem alinhamento com a arquitetura devido ao uso de variáveis globais.
|
|
4
|
+
*/
|
|
5
|
+
export default class ApplicationContext {
|
|
6
|
+
/**
|
|
7
|
+
* Obtém informação específica do contexto.
|
|
8
|
+
*
|
|
9
|
+
* @param key - Chave do contexto desejada.
|
|
10
|
+
* @returns - Informação do contexto desejado.
|
|
11
|
+
*/
|
|
12
|
+
static getContextValue(key) {
|
|
13
|
+
return ApplicationContext.getCtx()[key];
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Aplica informação no contexto.
|
|
17
|
+
*
|
|
18
|
+
* @param key - Identificador do contexto.
|
|
19
|
+
* @param value - Informação a ser inserida no contexto.
|
|
20
|
+
*/
|
|
21
|
+
static setContextValue(key, value) {
|
|
22
|
+
ApplicationContext.getCtx()[key] = value;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Obtém o contexto global da aplicação sankhyacore.
|
|
26
|
+
* - Esse contexto pode ser entendido como um ponto de coesão para atores que não se conhecem poderem trocar informação. Assim, o código x busca por um possível valor no contexto. Se essa informação estiver lá, ele reage de certa forma. O código Y, sabe dessa necessidade mas não consegue passar essa informação diretamente, então atribui o valor ao contexto.
|
|
27
|
+
* @returns - Objeto com as propriedades da variável global ___snkcore___ctx___.
|
|
28
|
+
*/
|
|
29
|
+
static getCtx() {
|
|
30
|
+
let ctx = window.___snkcore___ctx___;
|
|
31
|
+
if (!ctx) {
|
|
32
|
+
ctx = {};
|
|
33
|
+
window.___snkcore___ctx___ = ctx;
|
|
34
|
+
}
|
|
35
|
+
return ctx;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=ApplicationContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApplicationContext.js","sourceRoot":"","sources":["../../src/utils/ApplicationContext.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,kBAAkB;IAEnC;;;;;OAKG;IACI,MAAM,CAAC,eAAe,CAAC,GAAW;QACrC,OAAO,kBAAkB,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC;IAEA;;;;;MAKE;IACI,MAAM,CAAC,eAAe,CAAC,GAAW,EAAE,KAAU;QACjD,kBAAkB,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC7C,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,MAAM;QACjB,IAAI,GAAG,GAAI,MAAc,CAAC,mBAAmB,CAAC;QAC9C,IAAG,CAAC,GAAG,EAAC;YACJ,GAAG,GAAG,EAAE,CAAC;YACR,MAAc,CAAC,mBAAmB,GAAG,GAAG,CAAC;SAC7C;QACD,OAAO,GAAG,CAAC;IACf,CAAC;CACJ"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `ArrayUtils`: Utilitário com a responsabilidade de manipular Arrays.
|
|
3
|
+
*/
|
|
4
|
+
export default class ArrayUtils {
|
|
5
|
+
/**
|
|
6
|
+
* Filtra um array a partir de um critério textual.
|
|
7
|
+
*
|
|
8
|
+
* @param argument - Texto a ser usado no filtro.
|
|
9
|
+
* @param originalArray - Array no formato original.
|
|
10
|
+
* @param alphabeticalSorting - Determina se o resultado deve ser ordenado ou mantido na ordem original. Por padrão ordena.
|
|
11
|
+
* @param fieldName - Caso o objeto deva ser filtrado por um campo diferente de "label", pode-se usar esse parâmetro.
|
|
12
|
+
* @returns - Um array filtrado e ordenado conforme necessidade..
|
|
13
|
+
*/
|
|
14
|
+
static applyStringFilter(argument: string, originalArray: Array<any>, alphabeticalSorting?: boolean, fieldName?: string): Array<any>;
|
|
15
|
+
/**
|
|
16
|
+
* Converte texto para caixa alta e substitui caracteres acentuados.
|
|
17
|
+
*
|
|
18
|
+
* @param original - Texto a ser convertido.
|
|
19
|
+
* @returns - Texto com as letras acentuadas sem os acentos e em caixa alta.
|
|
20
|
+
*/
|
|
21
|
+
private static normalizeSearchString;
|
|
22
|
+
/**
|
|
23
|
+
* Ordena valores de um array alfabeticamente.
|
|
24
|
+
*
|
|
25
|
+
* @param originalArray - Array a ser ordenado.
|
|
26
|
+
* @returns - Array ordenado alfabeticamente..
|
|
27
|
+
*/
|
|
28
|
+
static sortAlphabetically(originalArray: Array<any>, fieldName?: string): Array<any>;
|
|
29
|
+
}
|