@shikshalokam/sl-reports
Version:
Library to integrate questionnaire in SL Projects
94 lines • 10.8 kB
JavaScript
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