@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 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(event) {
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
+
@@ -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(`${filter.endpoint[0]}`, filter.conditions);
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(`${filter.endpoint[0]}`, filter.conditions);
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)]);