BJ
Gerar gráfico Chart.js no template
Olá!
Instalei o Chart.js via composer.
Segue o composer.json:
Este é o html obtido : app/resources/bar_chart.html
Abaixo a classe que renderiza:
Inclui a classe no engine.php para poder rodar apenas logando
/** * Return default programs for logged users */ public static function getDefaultPermissions() { return ['Adianti\Base\TStandardSeek' => TRUE, 'LoginForm' => TRUE, 'AdiantiMultiSearchService' => TRUE, 'AdiantiUploaderService' => TRUE, 'AdiantiAutocompleteService' => TRUE, 'SystemDocumentUploaderService' => TRUE, 'EmptyPage' => TRUE, 'MessageList' => TRUE, 'NotificationList' => TRUE, 'SearchBox' => TRUE, 'BarChartView' => TRUE, 'SearchInputBox' => TRUE]; } ?>
Ao carregar a classe nada, só uma janela em branco.
Alguém pode me dizer o que estou fazendo de errado?
Grato.
Instalei o Chart.js via composer.
Segue o composer.json:
{
"repositories": [
{ "type": "vcs", "url": "https://github.com/pablodalloglio/ole" },
{ "type": "vcs", "url": "https://github.com/pablodalloglio/spreadsheet_excel_writer" }
],
"require": {
"phpmailer/phpmailer": "^6.0",
"tburry/pquery": "^1.1",
"picqer/php-barcode-generator": "^0.2.2",
"dompdf/dompdf": "^0.8.1",
"bacon/bacon-qr-code": "^1.0",
"phprtflite/phprtflite": "^1.3",
"firebase/php-jwt": "^5.0",
"pablodalloglio/ole": "dev-master",
"pablodalloglio/spreadsheet_excel_writer": "dev-master",
"linfo/linfo": "^4.0",
"fzaninotto/faker": "^1.9",
"nnnick/chartjs": "^2.9"
}
}
Este é o html obtido : app/resources/bar_chart.html
<!--[main]-->
<canvas id="pie-chart" width="800" height="450"></canvas>
<script>
new Chart(document.getElementById("pie-chart"), {
type: 'pie',
data: {
labels: ["Africa", "Asia", "Europe", "Latin America", "North America"],
datasets: [{
label: "Population (millions)",
backgroundColor: ["#3e95cd", "#8e5ea2","#3cba9f","#e8c3b9","#c45850"],
data: [2478,5267,734,784,433]
}]
},
options: {
title: {
display: true,
text: 'Predicted world population (millions) in 2050'
}
}
});
</script>
<!--[/main]-->
Abaixo a classe que renderiza:
- <?php
- class BarChartView extends TPage
- {
- public function __construct()
- {
- parent::__construct();
- // create the HTML Renderer
- $this->html = new THtmlRenderer('app/resources/bar_chart.html');
- // replace the main section variables
- $this->html->enableSection('main');
- parent::add($this->html);
- }
- }
- ?>
Inclui a classe no engine.php para poder rodar apenas logando
- <?php>
Ao carregar a classe nada, só uma janela em branco.
Alguém pode me dizer o que estou fazendo de errado?
Grato.
Boa tarde,
Debuga pelo navegador pra ver se retorna algum erro no console!
Em qual lugar está fazendo a chamada da biblioteca?
Boa noite Hélquisson,
Pensei que bastava instalar via Composer e o Adianti carregava todas as dependências, sendo assim com a sua dica fiz a seguinte referência no libraries.html:
<script src="vendor/nnnick/chartjs/dist/Chart.min.js"></script>
E funcionou beleza.
Grato pela assistência.
Abraços