1.1.996 • Published 4 years ago

treports-dashboard v1.1.996

Weekly downloads
-
License
-
Repository
-
Last release
4 years ago

TReportsDashboard

Componente que disponibiliza a funcionalidade de dashboard do TReports em modo de visualizaão (viewer) de dashboards.

Passo a passo

Para utilizar o treports-dashboard criando uma nova aplicação angular, os seguintes comandos terão de ser executados por linha de comando:

1. Criação da nova aplicação angular

ng new test-app

>Would you like to add Angular routing? Y
>CSS

Obs: O projeto deve contar com um módulo de rotas (app-routing.module.ts),

2. Instalação das dependências

cd test-app
npm i treports-dashboard --registry https://npm.totvs.io/
npm i

3. Edição dos arquivos

Para que o componente tenha o comportamento esperado, alguns arquivos do projeto terão de ser alterados conforme explicitado abaixo.

  • app.component.html: O html que realiza a chamada do componente deverá referenciá-lo da seguinte forma:

    	```html
    	<div  style="height:600px">
    		<tr-treports-dashboard
    			[apiHost] = 'getApiHost()'
    			[idDashboard] = 'getIdDash()'
    			[accessTokenFn] = 'getAccessToken'
    			(notifyError) = 'notifyError($event)'>
    		</tr-treports-dashboard>
    	</div>
    	```
    
    	 *apiHost*: Endereço do backEnd do TReports.
    
    	*idDashboard*: Identificador do dashboard salvo no banco
    
    	*accessToken*: função para recuperar o token de acesso aos serviços do dashboard (gerado pelo Rac).
    
    	*notifyError*: Evento de manipulação de erros ocorridos na carga do dashboard.
  • app.component.ts: Os métodos que alimentam as diretivas do componente terão de ser implementados:

    	```typescript
    	import { Component, ViewEncapsulation } from '@angular/core';
    
    	@Component({
    		selector: 'app-root',
    		encapsulation: ViewEncapsulation.None,
    		templateUrl: './app.component.html',
    		styleUrls: ['./app.component.css']
    	})
    
    	export class AppComponent {
    
    		title = 'test-app';
    
    		public getApiHost() {
    			return 'http://localhost:7017';
    		}
    	
    		public getIdDash() {
    			return '1';
    		}
    
    		/*Esse método será chamado pelo componente TReports-Dashboard portanto se quiser
    		que o contexto de execução seja do próprio TReports-Dashboard chame da forma con
    		vencional utilizando o exemplo como abaixo:
    		*/
    		public getAccessToken() {
    			return '';
    		}
    
    		/*Caso o método chamado pelo componente TReports-Dashboard necessite do contexto
    		do componente pai, ou seja, do componente que instanciou e configurou o TReports-
    		Dashboard, utilize o exemplo abaixo:
    	
    		public getAccessToken = () => {
    			return '';
    		}
    		*/
    	
    		public notifyError(event) {
    			alert('Erro ao carregar dash'); // Levantamento do erro.
    		}
    
    	}
    
    	```
  • app.module.ts: O componente terá de ser referenciado no módulo da aplicação:

    	```typescript
    	import { BrowserModule } from '@angular/platform-browser';
    	import { NgModule } from '@angular/core';
    	import { TReportsDashboardModule } from 'treports-dashboard';
    	import { AppRoutingModule } from './app-routing.module';
    	import { AppComponent } from './app.component';
    
    	@NgModule({
    		declarations: [
    			AppComponent
    		],
    
    		imports: [
    			BrowserModule,
    			AppRoutingModule,
    			TReportsDashboardModule
    		],
    		providers: [],
    		bootstrap: [AppComponent]
    	})
    
    	export class AppModule { }
    	```
  • styles.css: Os do dashboard e do portinari devem ser importados pela aplicação, no arquivo styles.css, dentro da pasta src

    	```css dashboard
    	@import  url("../node_modules/treports-dashboard/styles/treports-dashboard.css");
    	```
    	```css Portinari
    	@import  url("../node_modules/@portinari/style/css/po-theme-core.min.css");
    	@import  url("../node_modules/@portinari/style/css/po-theme-default.min.css");
    	@import  url("../node_modules/@portinari/style/css/po-theme-default-variables.min.css");
    	```
  • Estilizando os itens do dashboard

    	Utilizar o arquivo **styles.css**, dentro da pasta **src**
    	```
    	COMPONENTE TCARD
    
    	Estilos do Portinari: 
    	- Container mais externo do cartão:
    		-- po-lg-12 
    		-- po-mt-12 
    		-- po-p-0
    	- Corpo do cartão: 
    		-- po-widget-xl
    		-- po-p-2 
    		-- po-widget-body
    	- Título do cartão:
    		-- po-widget-xl 
    		-- po-text-left 
    		-- po-info-label 
    	- Tooltip do cartão:
    		-- po-ml-1 
    		-- po-font-text-large 
    		-- po-icon 
    		-- po-icon-info 
    		-- po-field-icon
    	- Subtítulo do cartão:
    		-- po-mb-2 
    		-- po-font-text 
    		-- po-text-left
    	- Dado calculado do cartão:
    		-- po-mt-2 
    		-- po-text-left 
    		-- po-font-subtitle
    
    	Estilos próprios do cartão:
    	- Container mais externo do cartão:
    		-- tcard-outer-div 
    	- Título do cartão:
    		-- tcard-title
    	- Container do subtítulo do cartão:
    		-- tcard-subtitle-wrapper
    	- Subtítulo do cartão:
    		-- tcard-subtitle
    	```
    	```
    	COMPONENTE PIVOTGRID
    
    	Estilos do Portinari: 
    	- Container mais externo do PivotGrid
    		-- po-grid-wrapper
    	- Tabela do topo:
    		-- po-grid
    	- Cabeçalho da tabela do topo:
    		-- po-grid-header-group
    	- Linhas da tabela do topo:
    		-- po-grid-row
    	- Colunas da tabela do topo: 
    		-- po-grid-title 
    		-- po-grid-head-content
    
    	- Tabela da esquerda:
    		-- po-grid
    	- Cabeçalho da tabela da esquerda:
    		-- po-grid-header-group
    	- Linhas da tabela da esquerda:
    		-- po-grid-row
    	- Colunas da tabela da esquerda: 
    		-- po-grid-title 
    		-- po-grid-head-content
    		-- po-grid-head-right
    	- Container da tabela da esquerda:
    		-- po-grid-cell-freeze
    
    	- Tabela referente aos dados:
    		-- po-grid
    	- Linhas da tabela referente aos dados:
    		-- po-grid-row
    	- Colunas da tabela referente aos dados:
    		-- po-grid-cell 
    		-- po-grid-cell-content
    
    	- Célula de descrição
    		-- po-grid-cell-freeze
    
    	Estilos próprios do PivotGrid:
    	- Container da barra de rolagem:
    		-- tdashboard-pivot-scroll
    	- Trilho da barra de rolagem:
    		-- tdashboard-pivot-scroll-track
    	- Barra de rolagem
    		-- tdashboard-pivot-scroll-thumb
    	```
  • tsconfig.json:

    	Acesse o arquivo **tsconfig.json** na raiz de sua aplicação angular e adicione o mapeamento abaixo (dentro da tag **compilerOptions**) conforme exemplo abaixo:
      
    	```
    	"paths": {
    
    		"globalize": [
    			"node_modules/globalize/dist/globalize"
    		],
    	
    		"globalize/*": [
    			"node_modules/globalize/dist/globalize/*"
    		],
    
    		"cldr": [
    			"node_modules/cldrjs/dist/cldr"
    		],
    
    		"cldr/*": [
    			"node_modules/cldrjs/dist/cldr/*"
    		],
    
    		"jszip": [
    			"node_modules/jszip/dist/jszip.min.js"
    		]
    
    	}
    	```

4. Rodar a aplicação

ng serve
1.1.996

4 years ago

1.1.0

4 years ago

1.0.18

4 years ago

1.0.17

4 years ago

1.0.16

4 years ago

1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.11

4 years ago

1.0.10

4 years ago

1.0.15

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.3

4 years ago

1.0.0

4 years ago

0.0.92

4 years ago

0.0.91

4 years ago

0.0.90

4 years ago

0.0.87

4 years ago

0.0.86

4 years ago

0.0.85

4 years ago

0.0.84

4 years ago

0.0.81

4 years ago

0.0.82

4 years ago

0.0.83

4 years ago

0.0.80

4 years ago

0.0.75

4 years ago

0.0.76

4 years ago

0.0.73

4 years ago

0.0.70

4 years ago

0.0.71

4 years ago

0.0.72

4 years ago

0.0.30

4 years ago

0.0.50

4 years ago

0.0.20

4 years ago

0.0.11

4 years ago

0.0.10

4 years ago

0.0.6

4 years ago

0.0.5

4 years ago

0.0.4

4 years ago

0.0.1

4 years ago