SwDatableAjax
O plugin SwDatableAjax permite carregar e atualizar dados JSON em tabelas HTML via JavaScript, oferecendo funcionalidades avançadas como busca, paginação, ordenação e atualização dinâmica.
Funcionalidades Principais
- Carregamento de dados JSON via AJAX a partir de uma URL configurável.
- Busca integrada para filtrar os dados exibidos na tabela.
- Paginação com botões para navegar entre páginas de dados.
- Ordenação clicando nos cabeçalhos das colunas, com indicadores visuais.
- Atualização dinâmica dos dados com método
refreshData()
.
- Registro estático das instâncias para controle externo.
- CSS não incluso.
Nova funcionalidade: Atualização Externa
Agora o plugin possui um método estático SwDatableAjax.refresh(selector)
que permite atualizar os dados da tabela externamente, facilitando a integração com outros scripts.
Uso
// Atualiza a tabela pelo seletor CSS
SwDatableAjax.refresh('#idDaTabela');
// Ou atualiza passando o elemento da tabela diretamente
const tabela = document.querySelector('#idDaTabela');
SwDatableAjax.refresh(tabela);
Exemplo de Inicialização
import SwDatableAjax from './SwDatableAjax.js';
// Inicializa todas as tabelas com o atributo SwDatableAjax
SwDatableAjax.initAll();
// Ou inicializa uma tabela específica
const tabela = document.querySelector('#idDaTabela');
const instancia = new SwDatableAjax(tabela, {
dataUrl: '/api/dados',
rowsPerPage: 10,
columns: [
{ key: 'nome', html: false },
{ key: 'idade', html: false },
{ key: 'acoes', html: true }
]
});
Sobre a opção html nas colunas
A propriedade html
indica se o conteúdo da célula deve ser interpretado como HTML (true
) ou como texto simples (false
).
Quando html: true
, o conteúdo é inserido usando innerHTML
, permitindo incluir elementos HTML, botões, ícones, etc.
Quando html: false
, o conteúdo é inserido como texto puro usando textContent
, evitando a interpretação de tags HTML.
Benefícios
- Permite controle externo da atualização dos dados da tabela.
- Facilita a integração com outros scripts e sistemas.
- Mantém a interface do componente limpa e organizada.
- Melhora a experiência do usuário com dados sempre atualizados.