UNPKG

@shikshalokam/sl-reports

Version:

Library to integrate questionnaire in SL Projects

94 lines 10.8 kB
import { __decorate } from "tslib"; import { Component, Input, ViewChild } from '@angular/core'; import * as pluginDataLabels from 'chartjs-plugin-datalabels'; let BarChartComponent = class BarChartComponent { constructor() { this.barChartOptions = { responsive: true, maintainAspectRatio: true, scales: { xAxes: [ { ticks: { min: 0, max: 100, }, scaleLabel: { display: true, labelString: 'Response in %', }, }, ], yAxes: [ { ticks: { callback: function (value, index, values) { // // return createSubstrArr(value, 5) || value; let strArr = value.split(' '); let tempString = ''; let result = []; for (let x = 0; x < strArr.length; x++) { tempString += ' ' + strArr[x]; if ((x % 4 === 0 && x !== 0) || x == strArr.length - 1) { tempString = tempString.slice(1); result.push(tempString); tempString = ''; } } return result || value; }, fontSize: 15, }, display: true, scaleLabel: { display: true, labelString: 'Response', }, }, ], }, }; this.barChartType = 'horizontalBar'; this.barChartLegend = false; this.barChartPlugins = [pluginDataLabels]; } ngOnInit() { this.barChartLabels = this.data.chart.data.labels; this.barChartData = [ { data: this.data.chart.data.datasets[0].data, label: 'Series A' }, ]; this.chartColors = [ { backgroundColor: this.data.chart.data.datasets[0].backgroundColor }, ]; // this.barChartPlugins = [ // { // beforeUpdate: function (c) { // var chartHeight = c.chart.height; // var size = (chartHeight * 5) / 100; // c.scales['y-axis-0'].options.ticks.minor.fontSize = size; // }, // }, // ]; } }; __decorate([ Input() ], BarChartComponent.prototype, "data", void 0); __decorate([ Input() ], BarChartComponent.prototype, "questionNumber", void 0); __decorate([ ViewChild('chartRootElement') ], BarChartComponent.prototype, "chartRootElement", void 0); __decorate([ ViewChild('chartCanvas') ], BarChartComponent.prototype, "chartCanvas", void 0); BarChartComponent = __decorate([ Component({ selector: 'sl-bar-chart', template: "<div *ngIf=\"barChartData\" class=\"graph-filters\" #chartRootElement>\n <div *ngIf=\"data?.chart?.data\" class=\"bar-chart-wrapper\">\n <canvas\n #chartCanvas \n baseChart \n [datasets]=\"barChartData\"\n [labels]=\"barChartLabels\"\n [options]=\"barChartOptions\"\n [chartType]=\"barChartType\"\n [legend]=\"barChartLegend\"\n [plugins]=\"barChartPlugins\"\n [colors]=\"chartColors\"\n ></canvas>\n </div>\n\n <div *ngIf=\"!data?.chart?.data\" class=\"errorMsg\">No data found</div>\n</div>\n", styles: [".heading{padding:15px 10px;text-align:center}.errorMsg{color:grey;text-align:center;padding:20px 0}.bar-chart-wrapper{display:block;max-width:900px;max-height:450px;margin:0 auto}"] }) ], BarChartComponent); export { BarChartComponent }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyLWNoYXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL3NsLXJlcG9ydHMtbGlicmFyeS8iLCJzb3VyY2VzIjpbImxpYi9iYXItY2hhcnQvYmFyLWNoYXJ0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3BFLE9BQU8sS0FBSyxnQkFBZ0IsTUFBTSwyQkFBMkIsQ0FBQztBQU85RCxJQUFhLGlCQUFpQixHQUE5QixNQUFhLGlCQUFpQjtJQTBENUI7UUFyRE8sb0JBQWUsR0FBaUI7WUFDckMsVUFBVSxFQUFFLElBQUk7WUFDaEIsbUJBQW1CLEVBQUUsSUFBSTtZQUN6QixNQUFNLEVBQUU7Z0JBQ04sS0FBSyxFQUFFO29CQUNMO3dCQUNFLEtBQUssRUFBRTs0QkFDTCxHQUFHLEVBQUUsQ0FBQzs0QkFDTixHQUFHLEVBQUUsR0FBRzt5QkFDVDt3QkFDRCxVQUFVLEVBQUU7NEJBQ1YsT0FBTyxFQUFFLElBQUk7NEJBQ2IsV0FBVyxFQUFFLGVBQWU7eUJBQzdCO3FCQUNGO2lCQUNGO2dCQUNELEtBQUssRUFBRTtvQkFDTDt3QkFDRSxLQUFLLEVBQUU7NEJBQ0wsUUFBUSxFQUFFLFVBQVUsS0FBVSxFQUFFLEtBQUssRUFBRSxNQUFNO2dDQUMzQyxnREFBZ0Q7Z0NBQ2hELElBQUksTUFBTSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7Z0NBQzlCLElBQUksVUFBVSxHQUFHLEVBQUUsQ0FBQztnQ0FDcEIsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO2dDQUNoQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtvQ0FDdEMsVUFBVSxJQUFJLEdBQUcsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7b0NBQzlCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO3dDQUN0RCxVQUFVLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQzt3Q0FDakMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzt3Q0FDeEIsVUFBVSxHQUFHLEVBQUUsQ0FBQztxQ0FDakI7aUNBQ0Y7Z0NBQ0QsT0FBTyxNQUFNLElBQUksS0FBSyxDQUFDOzRCQUN6QixDQUFDOzRCQUNELFFBQVEsRUFBRSxFQUFFO3lCQUNiO3dCQUNELE9BQU8sRUFBRSxJQUFJO3dCQUViLFVBQVUsRUFBRTs0QkFDVixPQUFPLEVBQUUsSUFBSTs0QkFDYixXQUFXLEVBQUUsVUFBVTt5QkFDeEI7cUJBQ0Y7aUJBQ0Y7YUFDRjtTQUNGLENBQUM7UUFFSyxpQkFBWSxHQUFjLGVBQWUsQ0FBQztRQUMxQyxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUl2QixvQkFBZSxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRWhCLFFBQVE7UUFDTixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDbEQsSUFBSSxDQUFDLFlBQVksR0FBRztZQUNsQixFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFO1NBQ25FLENBQUM7UUFDRixJQUFJLENBQUMsV0FBVyxHQUFHO1lBQ2pCLEVBQUUsZUFBZSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxFQUFFO1NBQ3RFLENBQUM7UUFDRiwyQkFBMkI7UUFDM0IsTUFBTTtRQUNOLG1DQUFtQztRQUNuQywwQ0FBMEM7UUFDMUMsNENBQTRDO1FBQzVDLGtFQUFrRTtRQUNsRSxTQUFTO1FBQ1QsT0FBTztRQUNQLEtBQUs7SUFDUCxDQUFDO0NBQ0YsQ0FBQTtBQTdFVTtJQUFSLEtBQUssRUFBRTsrQ0FBTTtBQUNMO0lBQVIsS0FBSyxFQUFFO3lEQUFnQjtBQUNPO0lBQTlCLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQzsyREFBa0I7QUFDdEI7SUFBekIsU0FBUyxDQUFDLGFBQWEsQ0FBQztzREFBYTtBQUozQixpQkFBaUI7SUFMN0IsU0FBUyxDQUFDO1FBQ1QsUUFBUSxFQUFFLGNBQWM7UUFDeEIsZ2pCQUF5Qzs7S0FFMUMsQ0FBQztHQUNXLGlCQUFpQixDQThFN0I7U0E5RVksaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENoYXJ0T3B0aW9ucywgQ2hhcnRUeXBlLCBDaGFydERhdGFTZXRzIH0gZnJvbSAnY2hhcnQuanMnO1xuaW1wb3J0IHsgTGFiZWwsIFNpbmdsZURhdGFTZXQgfSBmcm9tICduZzItY2hhcnRzJztcbmltcG9ydCAqIGFzIHBsdWdpbkRhdGFMYWJlbHMgZnJvbSAnY2hhcnRqcy1wbHVnaW4tZGF0YWxhYmVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NsLWJhci1jaGFydCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9iYXItY2hhcnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9iYXItY2hhcnQuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBCYXJDaGFydENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGRhdGE7XG4gIEBJbnB1dCgpIHF1ZXN0aW9uTnVtYmVyO1xuICBAVmlld0NoaWxkKCdjaGFydFJvb3RFbGVtZW50JykgY2hhcnRSb290RWxlbWVudDtcbiAgQFZpZXdDaGlsZCgnY2hhcnRDYW52YXMnKSBjaGFydENhbnZhcztcbiAgcHVibGljIGJhckNoYXJ0T3B0aW9uczogQ2hhcnRPcHRpb25zID0ge1xuICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogdHJ1ZSxcbiAgICBzY2FsZXM6IHtcbiAgICAgIHhBeGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0aWNrczoge1xuICAgICAgICAgICAgbWluOiAwLCAvLyBFZGl0IHRoZSB2YWx1ZSBhY2NvcmRpbmcgdG8gd2hhdCB5b3UgbmVlZCxcbiAgICAgICAgICAgIG1heDogMTAwLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgc2NhbGVMYWJlbDoge1xuICAgICAgICAgICAgZGlzcGxheTogdHJ1ZSxcbiAgICAgICAgICAgIGxhYmVsU3RyaW5nOiAnUmVzcG9uc2UgaW4gJScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICB5QXhlczogW1xuICAgICAgICB7XG4gICAgICAgICAgdGlja3M6IHtcbiAgICAgICAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbiAodmFsdWU6IGFueSwgaW5kZXgsIHZhbHVlcykge1xuICAgICAgICAgICAgICAvLyAvLyByZXR1cm4gY3JlYXRlU3Vic3RyQXJyKHZhbHVlLCA1KSB8fCB2YWx1ZTtcbiAgICAgICAgICAgICAgbGV0IHN0ckFyciA9IHZhbHVlLnNwbGl0KCcgJyk7XG4gICAgICAgICAgICAgIGxldCB0ZW1wU3RyaW5nID0gJyc7XG4gICAgICAgICAgICAgIGxldCByZXN1bHQgPSBbXTtcbiAgICAgICAgICAgICAgZm9yIChsZXQgeCA9IDA7IHggPCBzdHJBcnIubGVuZ3RoOyB4KyspIHtcbiAgICAgICAgICAgICAgICB0ZW1wU3RyaW5nICs9ICcgJyArIHN0ckFyclt4XTtcbiAgICAgICAgICAgICAgICBpZiAoKHggJSA0ID09PSAwICYmIHggIT09IDApIHx8IHggPT0gc3RyQXJyLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgICAgICAgIHRlbXBTdHJpbmcgPSB0ZW1wU3RyaW5nLnNsaWNlKDEpO1xuICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1c2godGVtcFN0cmluZyk7XG4gICAgICAgICAgICAgICAgICB0ZW1wU3RyaW5nID0gJyc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHJldHVybiByZXN1bHQgfHwgdmFsdWU7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZm9udFNpemU6IDE1LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgZGlzcGxheTogdHJ1ZSxcblxuICAgICAgICAgIHNjYWxlTGFiZWw6IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRydWUsXG4gICAgICAgICAgICBsYWJlbFN0cmluZzogJ1Jlc3BvbnNlJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICB9O1xuICBwdWJsaWMgYmFyQ2hhcnRMYWJlbHM6IExhYmVsW107XG4gIHB1YmxpYyBiYXJDaGFydFR5cGU6IENoYXJ0VHlwZSA9ICdob3Jpem9udGFsQmFyJztcbiAgcHVibGljIGJhckNoYXJ0TGVnZW5kID0gZmFsc2U7XG4gIHB1YmxpYyBjaGFydENvbG9yczogQXJyYXk8YW55PjtcblxuICBwdWJsaWMgYmFyQ2hhcnREYXRhOiBDaGFydERhdGFTZXRzW107XG4gIHB1YmxpYyBiYXJDaGFydFBsdWdpbnMgPSBbcGx1Z2luRGF0YUxhYmVsc107XG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmJhckNoYXJ0TGFiZWxzID0gdGhpcy5kYXRhLmNoYXJ0LmRhdGEubGFiZWxzO1xuICAgIHRoaXMuYmFyQ2hhcnREYXRhID0gW1xuICAgICAgeyBkYXRhOiB0aGlzLmRhdGEuY2hhcnQuZGF0YS5kYXRhc2V0c1swXS5kYXRhLCBsYWJlbDogJ1NlcmllcyBBJyB9LFxuICAgIF07XG4gICAgdGhpcy5jaGFydENvbG9ycyA9IFtcbiAgICAgIHsgYmFja2dyb3VuZENvbG9yOiB0aGlzLmRhdGEuY2hhcnQuZGF0YS5kYXRhc2V0c1swXS5iYWNrZ3JvdW5kQ29sb3IgfSxcbiAgICBdO1xuICAgIC8vIHRoaXMuYmFyQ2hhcnRQbHVnaW5zID0gW1xuICAgIC8vICAge1xuICAgIC8vICAgICBiZWZvcmVVcGRhdGU6IGZ1bmN0aW9uIChjKSB7XG4gICAgLy8gICAgICAgdmFyIGNoYXJ0SGVpZ2h0ID0gYy5jaGFydC5oZWlnaHQ7XG4gICAgLy8gICAgICAgdmFyIHNpemUgPSAoY2hhcnRIZWlnaHQgKiA1KSAvIDEwMDtcbiAgICAvLyAgICAgICBjLnNjYWxlc1sneS1heGlzLTAnXS5vcHRpb25zLnRpY2tzLm1pbm9yLmZvbnRTaXplID0gc2l6ZTtcbiAgICAvLyAgICAgfSxcbiAgICAvLyAgIH0sXG4gICAgLy8gXTtcbiAgfVxufVxuIl19