@znap/components-vue2 1.0.7 → 1.0.8
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/README.md +22 -9
- package/dist/index.common.js +2 -2
- package/dist/index.common.js.map +1 -1
- package/dist/index.umd.js +2 -2
- package/dist/index.umd.js.map +1 -1
- package/dist/index.umd.min.js +1 -1
- package/dist/index.umd.min.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -64,7 +64,7 @@ import * as ZnapComponents from '@znap/components-vue2';
|
|
|
64
64
|
@update:row="updateRow"
|
|
65
65
|
>
|
|
66
66
|
<template v-slot:footer-prepend>
|
|
67
|
-
|
|
67
|
+
Slot para adicionar elementos do lado esquerdo dos componentes de paginaçao.
|
|
68
68
|
</template>
|
|
69
69
|
</ZnapBaseCrudView>
|
|
70
70
|
</template>
|
|
@@ -190,8 +190,8 @@ export default {
|
|
|
190
190
|
// Modelo inicial do formulario
|
|
191
191
|
});
|
|
192
192
|
|
|
193
|
-
this.viewSettings = crudViewConfigs.viewConfigs;
|
|
194
|
-
this.viewMethods = crudViewConfigs.viewMethods;
|
|
193
|
+
this.viewSettings = crudViewConfigs.viewConfigs; // Retorna o objeto de configuraçoes da classe (Se tornara o state do componente)
|
|
194
|
+
this.viewMethods = crudViewConfigs.viewMethods; // Retorna os metodos pre prontos disponiveis da classe.
|
|
195
195
|
|
|
196
196
|
|
|
197
197
|
// Pode usar os metodos das classe CrudViewConfigs ou entao criar os proprios de acordo com a necessidade.
|
|
@@ -211,10 +211,10 @@ export default {
|
|
|
211
211
|
},
|
|
212
212
|
methods: {
|
|
213
213
|
updateRowsChanged() {
|
|
214
|
-
this.viewSettings.rowsChanged = new Set(this.viewSettings.rowsChanged);
|
|
214
|
+
this.viewSettings.rowsChanged = new Set(this.viewSettings.rowsChanged); // Importante para o Vue detectar que o rowsChanged alterou e exibir o elemento em destaque na tabela.
|
|
215
215
|
}
|
|
216
216
|
updateRow() {
|
|
217
|
-
this.$set(this.viewSettings.apiData, rowIndex, data);
|
|
217
|
+
this.$set(this.viewSettings.apiData, rowIndex, data); // Importante para o vue detectar que teve alteraçao no elemento da tabela.
|
|
218
218
|
}
|
|
219
219
|
async onReload() {
|
|
220
220
|
// Logica de como sera tratado o evento de reload.
|
|
@@ -222,15 +222,21 @@ export default {
|
|
|
222
222
|
async onExportFile() {
|
|
223
223
|
// Logica de como sera tratado o evento de exportaçao de arquivo.
|
|
224
224
|
}
|
|
225
|
-
async onImportFile(
|
|
225
|
+
async onImportFile(
|
|
226
|
+
event // evento contendo o elemento do input de arquivo
|
|
227
|
+
) {
|
|
226
228
|
// Logica de como sera tratado o evento de importaçao de arquivo.
|
|
227
229
|
}
|
|
228
|
-
async onSave(
|
|
230
|
+
async onSave({
|
|
231
|
+
reload = true, // variavel retornada do comoponente para verificar se deve ou nao realizar o reload (Fica a cargo do desenvolvedor)
|
|
232
|
+
itemData = null // Se for um item proveniente da modal (Criaçao/Ediçao) os dados virão aqui
|
|
233
|
+
}) {
|
|
229
234
|
// Logica de como sera tratado o evento de salvamento de registro(s)
|
|
230
235
|
}
|
|
231
|
-
async onDelete(
|
|
236
|
+
async onDelete(
|
|
237
|
+
rows // Array com as linhas que devem ser excluidas
|
|
238
|
+
) {
|
|
232
239
|
// Logica de como sera tratado o evento de exclusao de registro(s)
|
|
233
|
-
|
|
234
240
|
}
|
|
235
241
|
async fetchData() {
|
|
236
242
|
// Logica de busca de dados principais
|
|
@@ -242,3 +248,10 @@ export default {
|
|
|
242
248
|
```
|
|
243
249
|
|
|
244
250
|
|
|
251
|
+
### Utilizaçao da Classe Auxiliar **CrudViewConfigs**
|
|
252
|
+
|
|
253
|
+
O intuito dessa classe é fornecer ao desenvolvedor uma interface padronizada de criaçao de telas, tornando o processo padronizado e de facil aprendizado.
|
|
254
|
+
|
|
255
|
+
A classe retorna metodos e um objeto padrao de estado para ser utilizado para manipular o componente **ZnapBaseCrudView** por meio dos getters **viewConfigs** e **viewMethods**, alem disso, pussui diversos metodos/interfaces para o desenvolvedor adicionar elementos na tela de maneira padronizada evitando refazer a roda toda vez que for construir uma nova tela.
|
|
256
|
+
|
|
257
|
+
|
package/dist/index.common.js
CHANGED
|
@@ -49214,13 +49214,13 @@ class CrudViewConfigs {
|
|
|
49214
49214
|
const primaryFiltersPromises = filters?.primary.flatMap(async (filter, index) => {
|
|
49215
49215
|
if (!filter.endpoint?.length || !filter.endpoint[0]) return [index, null];
|
|
49216
49216
|
filter.props.loading = true;
|
|
49217
|
-
const response = await httpFetcher.post(
|
|
49217
|
+
const response = await httpFetcher.post(filter.endpoint[0], filter.endpoint[1] ?? {});
|
|
49218
49218
|
return [index, response?.data];
|
|
49219
49219
|
}) ?? [];
|
|
49220
49220
|
const secondaryFiltersPromises = filters?.secondary?.flatMap(async (filter, index) => {
|
|
49221
49221
|
if (!filter.endpoint?.length || !filter.endpoint[0]) return [index, null];
|
|
49222
49222
|
filter.props.loading = true;
|
|
49223
|
-
const response = await httpFetcher.post(
|
|
49223
|
+
const response = await httpFetcher.post(filter.endpoint[0], filter.endpoint[1] ?? {});
|
|
49224
49224
|
return [index, response?.data];
|
|
49225
49225
|
}) ?? [];
|
|
49226
49226
|
const [primaryFiltersData, secondaryFiltersData] = await Promise.all([Promise.all(primaryFiltersPromises), Promise.all(secondaryFiltersPromises)]);
|