01. Dependências
- @angular
- @po-ui
- ng-components
- ng-templates
- subsink
02. Instalação
Caso já seja um projeto existente, basta instalar a dependência do protheus-lib-core
npm i @totvs/protheus-lib-core
Caso o CLI do Angular ainda não esteja instalado, é necessário instalar o mesmo:
Para iniciar um projeto Angular, de forma macro, os comandos são os seguintes
ng new my-protheus-app
cd my-protheus-app
ng add @po-ui/ng-components@15
ng add @po-ui/ng-templates@15
npm i subsink
npm i @totvs/protheus-lib-core@15
ng serve
03. Utilização
Para utilizar o protheus-lib-core, basta importar o módulo principal no projeto:
import { ProtheusLibCoreModule } from '@totvs/protheus-lib-core';
Também adicionar o módulo no imports:
imports: [
ProtheusLibCoreModule,
],
04. Exemplo
Importar um dos serviços do protheus-lib-core, como o ProAppConfigService que permite a comunicação do app com a camada ADVPL, permitindo por exemplo fechar a dialog a qual o app foi aberto:
import { ProAppConfigService } from '@totvs/protheus-lib-core';
Criar o constructor para utilizar o serviço importado:
constructor(private proAppConfigService: ProAppConfigService) {
}
Método para fechar o app no Protheus, podendo ser chamado no menu, em algum botão etc:
private closeApp() {
if (this.proAppConfigService.insideProtheus()) {
this.proAppConfigService.callAppClose();
} else {
alert('O App não está sendo executado dentro do Protheus.');
}
}
05. Geração do aplicativo
Gerar o app com o comando de build do Angular CLI:
Compactar a pasta do projeto gerada dentro da pasta dist
A compatação deve ser feita, mantendo o nome da pasta original, sendo uma compactação utilizando ZIP, porém com a extensão app.
Criar um fonte ADVPL contendo a chamada da função FWCallApp, esse fonte deve ser incluso no menu. O parâmetro da função FWCappApp deve ser o nome do app, nome do arquivo gerado .app, sem extensão.
Para maiores informações sobre abrir o aplicativo dentro do Protheus: FwCallApp - Abrindo aplicativos Web no Protheus