jsegd-fluig-types
v1.0.20
Published
Definições de tipos TypeScript para desenvolvimento na plataforma Fluig - Inclui APIs, SDK, datasets, workflows e webservices
Downloads
50
Maintainers
Readme
jsegd-fluig-types
Pacote de tipos TypeScript para desenvolvimento com a plataforma Fluig. Este pacote fornece tipagens completas para APIs do Fluig, facilitando o desenvolvimento tanto no frontend quanto no backend, incluindo suporte para webservices e implementações duais de DatasetFactory.
📦 Instalação
npm install jsegd-fluig-types🚀 Uso
Importação Global
// Importa todos os tipos disponíveis
import "jsegd-fluig-types";Uso em Projetos Fluig
Frontend (Widget/Portal)
// Os tipos estarão disponíveis globalmente
// Exemplo: usando tipos de formulário
const mode: FormMod = FormMod.ADD;
// Exemplo: usando DatasetFactory no frontend (retorna DatasetWcmResult)
DatasetFactory.getDataset(
"colleague",
["colleagueId", "colleagueName"],
constraints,
["colleagueName"]
).then(result => {
// result é do tipo DatasetWcmResult
console.log(result.columns); // string[]
console.log(result.values); // unknown[]
});
// Exemplo: usando componentes de autocomplete
const autocompleteConfig: AutocompleteOptions = {
type: AutocompleteTypes.tag,
// ... outras configurações
};Backend (Dataset/Evento de Workflow)
// Tipos para datasets (retorna DefaultDataset com tipos Java)
function createDataset(fields: string[], constraints: SearchConstraint[]): DefaultDataset {
const dataset = DatasetFactory.getDataset("myDataset", fields, constraints, []);
// dataset é do tipo DefaultDataset com métodos Java tipados
return dataset;
}
// Criando constraints com tipos específicos para backend
const constraint = DatasetFactory.createConstraint(
"status",
"active",
"active",
ConstraintType.MUST
); // Retorna SearchConstraint para backend
// Tipos para eventos de workflow
function beforeTaskSave(colleagueId: string, nextSequenceId: number, userTaskVO: UserTaskVO): void {
// Implementação do evento
}Webservices
// Exemplo: usando ECMWorkflowEngineService
const serviceManager = new ServiceManager();
const workflowService = serviceManager.instantiate("ECMWorkflowEngineService");
// ou alternativamente:
const workflowService2 = serviceManager.instantiate("WorkflowEngineService");
// Acesso ao service port com tipagem completa
const port = serviceManager.getWorkflowEngineServicePort();
const processes = port.listMyRequestProcesses("usuario123", 0, 10);SDK do Fluig
// Acesso às APIs do Fluig com tipagem completa
const fluigAPI = new com.fluig.sdk.api.FluigAPI();
const documentService = fluigAPI.getDocumentService();
const userService = fluigAPI.getUserService();📁 Estrutura do Pacote
| Arquivo | Descrição |
|---------|-----------|
| fluig.sdk.d.ts | Tipos para SDK do Fluig - APIs Java disponíveis no servidor |
| java.d.ts | Tipos para classes Java básicas (List, ArrayList, HashMap, etc.) |
| fluig.frontend.d.ts | Tipos para desenvolvimento frontend (widgets, portais, DatasetFactory frontend) |
| fluig.backend.d.ts | Tipos para desenvolvimento backend (datasets, eventos, ClassNameMap, ServiceManager) |
| fluig.webservice.d.ts | Tipos para webservices (ECMWorkflowEngineService, WorkflowEngineService) |
| fluig.dataset.d.ts | Tipos compartilhados para datasets (enums, interfaces, classes base) |
| index.d.ts | Arquivo principal que exporta todos os tipos |
🎯 Funcionalidades
✅ Frontend
- Tipos para componentes de formulário
- Enums para modos de formulário (
FormMod) - Tipos para autocomplete e widgets
- Interfaces para eventos frontend
- DatasetFactory com retorno otimizado para JavaScript (
DatasetWcmResult)
✅ Backend
- Tipos para datasets e constrangimentos
- Interfaces para eventos de workflow
- Tipos para respostas de APIs
- Enums para status e tipos de dados
- ClassNameMap para tipagem inteligente do método
instantiate() - ServiceManager com suporte a webservices
- DatasetFactory com retorno de tipos Java (
DefaultDataset)
✅ Webservices
- ECMWorkflowEngineService com tipagem completa baseada em WSDL
- Mais de 40 métodos tipados para workflow engine
- Interface WorkflowEngineService para operações de workflow
- Suporte a mapeamento duplo de nomes de classe
✅ SDK
- Tipagem completa para todas as APIs do Fluig
- Serviços de documentos, usuários, workflow, etc.
- Classes e interfaces para integração Java
💡 Exemplos Práticos
DatasetFactory - Implementação Dual
No Backend (Tipos Java)
// Retorna DefaultDataset com métodos Java tipados
const dataset = DatasetFactory.getDataset(
"colleague",
["colleagueId", "colleagueName"],
constraints,
["colleagueName"]
);
// Métodos Java disponíveis
const rowCount = dataset.getRowsCount(); // number
const value = dataset.getValue(0, "colleagueId"); // java.lang.Object
const resultSet = dataset.toResultSet(); // java.sql.ResultSetNo Frontend (Tipos JavaScript)
// Retorna DatasetWcmResult otimizado para frontend
const result = DatasetFactory.getDataset(
"colleague",
["colleagueId", "colleagueName"],
constraints,
["colleagueName"]
);
// Estrutura JavaScript simples
console.log(result.columns); // string[]
console.log(result.values); // unknown[]ServiceManager e ClassNameMap
const serviceManager = new ServiceManager();
// Tipagem inteligente - ambas as formas funcionam
const service1 = serviceManager.instantiate("ECMWorkflowEngineService");
const service2 = serviceManager.instantiate("WorkflowEngineService");
// IntelliSense completo para métodos do webservice
const processes = service1.listMyRequestProcesses("usuario", 0, 10);Criando Constraints Específicas por Contexto
// Backend - retorna SearchConstraint
const backendConstraint = DatasetFactory.createConstraint(
"field",
"value1",
"value2",
ConstraintType.MUST
);
// Frontend - retorna Constraint
const frontendConstraint = DatasetFactory.createConstraint(
"field",
"value1",
"value2",
ConstraintType.MUST
);Evento de Workflow
function beforeTaskSave(
colleagueId: string,
nextSequenceId: number,
userTaskVO: UserTaskVO
): void {
// Lógica do evento com tipos seguros
if (userTaskVO.getColleagueId() === colleagueId) {
// Processar tarefa
}
}📋 Requisitos
- TypeScript 3.0+
- Ambiente Fluig (para execução)
📄 Licença
Este projeto está licenciado sob CC-BY-NC-ND-4.0.
Termos de Uso:
- ✅ Uso permitido para fins não comerciais
- ✅ Atribuição obrigatória ao autor
- ❌ Modificações não permitidas
- ❌ Uso comercial não permitido
👨💻 Autor
Elemar Deckmann
EGD Tecnologia
🤝 Contribuições
Este projeto segue a licença CC-BY-NC-ND-4.0, que não permite modificações. Para sugestões ou melhorias, entre em contato através do site da EGD Tecnologia.
EGD Tecnologia - Especialistas em Fluig
