// usar describe para definir o tipo de campo para render do componente /** Cria a estrutura de campos para insersão de dados */ export const z_tabela = { visao: "z_tabela", rotulo: "Tabela", tabela: ({ tabela }) => tabela, descricao: ({ tabela, descricao_pelo_usuario, filtros }) => { if (String(descricao_pelo_usuario || "").trim()) return String(descricao_pelo_usuario || "").trim(); return `Consulta na ${tabela} ${!filtros?.length ? "" : `, quando ${filtros .map(({ coluna, operador, valor }) => `${coluna} ${operador} ${valor}`) .join(", ")}`}.`; }, campos: { tabela: { rotulo: "Tabela", tipo_campo: "tabela", order: 1 }, colunas: { rotulo: "Colunas", tipo_campo: "lista_colunas", order: 2 }, descricao_pelo_usuario: { rotulo: "Descrição (opcional)", tipo_campo: "texto", order: 3, }, coluna_ordem: { rotulo: "Coluna de Ordem", tipo_campo: "coluna", order: 4, }, direcao_ordem: { rotulo: "Direção de Ordem", tipo_campo: "ordem", order: 5, }, filtros: { rotulo: "Filtros", tipo_campo: "lista_filtros", order: 6 }, }, };