UNPKG

5.62 kBSource Map (JSON)View Raw
1{"version":3,"sources":["ng://primeng/chart/chart.ts"],"names":["UIChart","el","this","options","plugins","responsive","onDataSelect","EventEmitter","Object","defineProperty","prototype","_data","val","reinit","ngAfterViewInit","initChart","initialized","onCanvasClick","event","chart","element","getElementAtEvent","dataset","getDatasetAtEvent","emit","originalEvent","opts","height","width","maintainAspectRatio","Chart","nativeElement","children","type","data","getCanvas","getBase64Image","toBase64Image","generateLegend","refresh","update","destroy","ngOnDestroy","ElementRef","__decorate","Input","Output","Component","selector","template","changeDetection","ChangeDetectionStrategy","Default","ChartModule","NgModule","imports","CommonModule","exports","declarations"],"mappings":"+uBAAAA,EAAA,WAmCI,SAAAA,EAAmBC,GAAAC,KAAAD,GAAAA,EAlBVC,KAAAC,QAAe,GAEfD,KAAAE,QAAiB,GAMjBF,KAAAG,YAAsB,EAErBH,KAAAI,aAAkC,IAAIC,EAAAA,aAqFpD,OA3EaC,OAAAC,eAAIT,EAAAU,UAAA,OAAI,KAAR,WACL,OAAOR,KAAKS,WAGhB,SAASC,GACLV,KAAKS,MAAQC,EACbV,KAAKW,0CAGTb,EAAAU,UAAAI,gBAAA,WACIZ,KAAKa,YACLb,KAAKc,aAAc,GAGvBhB,EAAAU,UAAAO,cAAA,SAAcC,GACV,GAAIhB,KAAKiB,MAAO,CACZ,IAAIC,EAAUlB,KAAKiB,MAAME,kBAAkBH,GACvCI,EAAUpB,KAAKiB,MAAMI,kBAAkBL,GACvCE,GAASA,EAAQ,IAAIE,GACrBpB,KAAKI,aAAakB,KAAK,CAACC,cAAeP,EAAOE,QAASA,EAAQ,GAAIE,QAASA,MAKxFtB,EAAAU,UAAAK,UAAA,WACI,IAAIW,EAAOxB,KAAKC,SAAS,GACzBuB,EAAKrB,WAAaH,KAAKG,WAGnBqB,EAAKrB,aAAaH,KAAKyB,QAAQzB,KAAK0B,SACpCF,EAAKG,qBAAsB,GAG/B3B,KAAKiB,MAAQ,IAAIW,EAAM5B,KAAKD,GAAG8B,cAAcC,SAAS,GAAGA,SAAS,GAAI,CAClEC,KAAM/B,KAAK+B,KACXC,KAAMhC,KAAKgC,KACX/B,QAASD,KAAKC,QACdC,QAASF,KAAKE,WAItBJ,EAAAU,UAAAyB,UAAA,WACI,OAAOjC,KAAKD,GAAG8B,cAAcC,SAAS,GAAGA,SAAS,IAGtDhC,EAAAU,UAAA0B,eAAA,WACI,OAAOlC,KAAKiB,MAAMkB,iBAGtBrC,EAAAU,UAAA4B,eAAA,WACI,GAAIpC,KAAKiB,MACL,OAAOjB,KAAKiB,MAAMmB,kBAI1BtC,EAAAU,UAAA6B,QAAA,WACQrC,KAAKiB,OACLjB,KAAKiB,MAAMqB,UAInBxC,EAAAU,UAAAG,OAAA,WACQX,KAAKiB,QACLjB,KAAKiB,MAAMsB,UACXvC,KAAKa,cAIbf,EAAAU,UAAAgC,YAAA,WACQxC,KAAKiB,QACLjB,KAAKiB,MAAMsB,UACXvC,KAAKc,aAAc,EACnBd,KAAKiB,MAAQ,gDA1EEwB,EAAAA,cApBdC,EAAA,CAARC,EAAAA,oCAEQD,EAAA,CAARC,EAAAA,uCAEQD,EAAA,CAARC,EAAAA,uCAEQD,EAAA,CAARC,EAAAA,qCAEQD,EAAA,CAARC,EAAAA,sCAEQD,EAAA,CAARC,EAAAA,0CAESD,EAAA,CAATE,EAAAA,6CAUQF,EAAA,CAARC,EAAAA,kCAxBQ7C,EAAO4C,EAAA,CATnBG,EAAAA,UAAU,CACPC,SAAU,UACVC,SAAU,qVAKVC,gBAAiBC,EAAAA,wBAAwBC,WAEhCpD,GAbb,gBAuHA,SAAAqD,KAA2B,OAAdA,EAAWT,EAAA,CALvBU,EAAAA,SAAS,CACNC,QAAS,CAACC,EAAAA,cACVC,QAAS,CAACzD,GACV0D,aAAc,CAAC1D,MAENqD","sourcesContent":["import {NgModule,Component,ElementRef,AfterViewInit,OnDestroy,Input,Output,EventEmitter,ChangeDetectionStrategy} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport * as Chart from 'chart.js';\n\n@Component({\n selector: 'p-chart',\n template: `\n <div style=\"position:relative\" [style.width]=\"responsive && !width ? null : width\" [style.height]=\"responsive && !height ? null : height\">\n <canvas [attr.width]=\"responsive && !width ? null : width\" [attr.height]=\"responsive && !height ? null : height\" (click)=\"onCanvasClick($event)\"></canvas>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.Default\n})\nexport class UIChart implements AfterViewInit, OnDestroy {\n\n @Input() type: string;\n\n @Input() options: any = {};\n\n @Input() plugins: any[] = [];\n \n @Input() width: string;\n \n @Input() height: string;\n\n @Input() responsive: boolean = true;\n \n @Output() onDataSelect: EventEmitter<any> = new EventEmitter();\n\n initialized: boolean;\n \n _data: any;\n\n chart: any;\n\n constructor(public el: ElementRef) {}\n \n @Input() get data(): any {\n return this._data;\n }\n\n set data(val:any) {\n this._data = val;\n this.reinit();\n }\n\n ngAfterViewInit() {\n this.initChart();\n this.initialized = true;\n }\n\n onCanvasClick(event) {\n if (this.chart) {\n let element = this.chart.getElementAtEvent(event);\n let dataset = this.chart.getDatasetAtEvent(event);\n if (element&&element[0]&&dataset) {\n this.onDataSelect.emit({originalEvent: event, element: element[0], dataset: dataset});\n }\n }\n }\n\n initChart() {\n let opts = this.options||{};\n opts.responsive = this.responsive;\n\n // allows chart to resize in responsive mode\n if (opts.responsive&&(this.height||this.width)) {\n opts.maintainAspectRatio = false;\n }\n\n this.chart = new Chart(this.el.nativeElement.children[0].children[0], {\n type: this.type,\n data: this.data,\n options: this.options,\n plugins: this.plugins\n });\n }\n \n getCanvas() {\n return this.el.nativeElement.children[0].children[0];\n }\n \n getBase64Image() {\n return this.chart.toBase64Image();\n }\n \n generateLegend() {\n if (this.chart) {\n return this.chart.generateLegend();\n }\n }\n \n refresh() {\n if (this.chart) {\n this.chart.update();\n }\n }\n \n reinit() {\n if (this.chart) {\n this.chart.destroy();\n this.initChart();\n }\n }\n \n ngOnDestroy() {\n if (this.chart) {\n this.chart.destroy();\n this.initialized = false;\n this.chart = null;\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [UIChart],\n declarations: [UIChart]\n})\nexport class ChartModule { }\n"]}
\No newline at end of file