UNPKG

formulatejs

Version:
172 lines (128 loc) 6.17 kB
FormulateJS =========== Framework simples para aplicações Full-Stack em Node.js. O objetivo do FormulateJS é acelerar o desenvolvimento de CRUDs, relatórios, API's e interfaces dinâmicas a partir da estrutura do banco de dados. 🚀 Instalação ------------- ``` npm install formulatejs npx create-formulatejs ``` Esse comando `npx create-formulatejs` prepara a estrutura inicial da aplicação com pastas e arquivos padrões. 📦 Funcionalidades ------------------ | Nome | Descrição | |-----------------------|---------------------------------------------------------------------------------------------| | `MailSender` | Envia e-mails utilizando `nodemailer` com configuração personalizada. | | `DateFormatter` | Utilitários para formatação de datas e horas. | | `Report` | Cria botões e estruturas de relatório dinâmico. | | `DocumentFormatter` | Formata documentos como CPF, CNPJ, RG, CNH, telefone e celular. | | `CurrencyFormatter` | Formata valores monetários (R\$, \$, €) com casas decimais e separadores. | | `ActionButtons` | Cria botões de ação (editar, excluir, visualizar) com estilização. | | `LoadReport` | Carrega relatórios dinamicamente via URL e parâmetros. | | `TableActions` | Gera ações interativas sobre tabelas HTML (clicks, botões, etc.). | | `FormGenerator` | Gera formulários HTML com base em metadados do banco de dados (genérico). | | `FormGeneratorMySQL` | Gera formulários a partir da estrutura de tabelas do MySQL. | | `FormGeneratorMSSQL` | Gera formulários a partir da estrutura de tabelas MSSQL. | | `FormGeneratorSQLite` | Gera formulários a partir da estrutura de tabelas SQLite. | | `MakeaFormsDB` | Cria arquivos de configuração com campos e botões para cada tabela do banco. | | `makeFormView` | Gera HTML de visualização de formulário. | | `saveHTMLView` | Salva o HTML gerado do formulário no sistema de arquivos. | | `MakeaTableDB` | Cria arquivos de configuração para tabelas. | | `makeTableView` | Gera HTML de visualização de tabela. | | `saveHTMLTableView` | Salva a visualização HTML de uma tabela. | 📁 Exemplos de uso ------------------ ### `MailSender` ``` const { MailSender } = require('formulatejs'); const mailer = new MailSender({ host: 'smtp.exemplo.com', port: 587, secure: false, auth: { user: 'user', pass: 'pass' } }); await mailer.sendMail({ to: 'alguem@exemplo.com', subject: 'Assunto', text: 'Mensagem' }); ``` ### `DateFormatter` ``` const { DateFormatter } = require('formulatejs'); console.log(DateFormatter.format('2024-12-25')); // 25/12/2024 ``` ### `Report` ``` const { Report } = require('formulatejs'); const html = Report.createButton('Exportar', '/export'); ``` ### `DocumentFormatter` ``` const { DocumentFormatter } = require('formulatejs'); console.log(DocumentFormatter.formatCPF('12345678901')); ``` ### `CurrencyFormatter` ``` const { CurrencyFormatter } = require('formulatejs'); console.log(CurrencyFormatter.format(1234.56)); // R$ 1.234,56 ``` ### `ActionButtons` ``` const { ActionButtons } = require('formulatejs'); const html = ActionButtons.generate('editar', 1); ``` ### `LoadReport` ``` const { LoadReport } = require('formulatejs'); LoadReport('/api/relatorio', { filtro: 'ativo' }); ``` ### `TableActions` ``` const { TableActions } = require('formulatejs'); TableActions.attachListeners('minhaTabela'); ``` ### `FormGenerator` ``` const { FormGenerator } = require('formulatejs'); FormGenerator.generateFromMetadata({ table: 'usuarios', fields: ['nome', 'email'] }); ``` ### `FormGeneratorMySQL` ``` const { FormGeneratorMySQL } = require('formulatejs'); const formGen = new FormGeneratorMySQL({ host: 'localhost', user: 'root', database: 'app' }); formGen.generateForm('clientes').then(console.log); ``` ### `FormGeneratorMSSQL` ``` const { FormGeneratorMSSQL } = require('formulatejs'); const formGen = new FormGeneratorMSSQL({ user: 'sa', password: 'pass', server: 'localhost', database: 'app' }); formGen.generateForm('produtos').then(console.log); ``` ### `FormGeneratorSQLite` ``` const { FormGeneratorSQLite } = require('formulatejs'); const formGen = new FormGeneratorSQLite('./app.db'); formGen.generateForm('usuarios').then(console.log); ``` ### `MakeaFormsDB` ``` const { MakeaFormsDB } = require('formulatejs'); const maker = new MakeaFormsDB(); maker.create('clientes', ['nome', 'email']); ``` ### `makeFormView` e `saveHTMLView` ``` const { makeFormView, saveHTMLView } = require('formulatejs'); const html = makeFormView({ nome: 'Nome' }); saveHTMLView('form-clientes.html', html); ``` ### `MakeaTableDB` ``` const { MakeaTableDB } = require('formulatejs'); const tableMaker = new MakeaTableDB(); tableMaker.create('clientes', ['nome', 'email']); ``` ### `makeTableView` e `saveHTMLTableView` ``` const { makeTableView, saveHTMLTableView } = require('formulatejs'); const html = makeTableView([{ nome: 'João' }, { nome: 'Maria' }]); saveHTMLTableView('clientes.html', html); ``` 🤝 Contribuições ---------------- Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou pull requests. 📄 Licença ---------- Este projeto está licenciado sob a Licença MIT.