32 lines
1.3 KiB
TypeScript
32 lines
1.3 KiB
TypeScript
import type { Component } from "vue"
|
|
import EliEntradaConfirmacao from "./EliEntradaConfirmacao.vue"
|
|
import EliEntradaCoordenadas from "./EliEntradaCoordenadas.vue"
|
|
import EliEntradaDataHora from "./EliEntradaDataHora/index.vue"
|
|
import EliEntradaNumero from "./EliEntradaNumero.vue"
|
|
import EliEntradaParagrafo from "./EliEntradaParagrafo.vue"
|
|
import EliEntradaSelecao from "./EliEntradaSelecao.vue"
|
|
import EliEntradaSelecaoMultipla from "./EliEntradaSelecaoMultipla.vue"
|
|
import EliEntradaTexto from "./EliEntradaTexto.vue"
|
|
|
|
import type { TipoEntrada } from "./tiposEntradas"
|
|
|
|
/**
|
|
* Mapa (dispatch table) que associa cada `TipoEntrada` ao seu componente Vue correspondente.
|
|
* Usado pelo sistema de filtro avançado para renderizar dinamicamente o campo correto
|
|
* a partir da configuração declarada em `tipoEliTabelaConsulta.filtroAvancado[].entrada`.
|
|
*
|
|
* Adicionar um novo tipo de entrada requer:
|
|
* 1. Criar o componente Vue
|
|
* 2. Adicionar a chave em `TipoEntrada` (tiposEntradas.ts)
|
|
* 3. Registrar aqui no mapa
|
|
*/
|
|
export const registryTabelaCelulas: Record<TipoEntrada, Component> = {
|
|
texto: EliEntradaTexto,
|
|
coordenadas: EliEntradaCoordenadas,
|
|
numero: EliEntradaNumero,
|
|
dataHora: EliEntradaDataHora,
|
|
paragrafo: EliEntradaParagrafo,
|
|
selecao: EliEntradaSelecao,
|
|
selecaoMultipla: EliEntradaSelecaoMultipla,
|
|
confirmacao: EliEntradaConfirmacao,
|
|
}
|