UNPKG

@netgrif/components

Version:

Netgrif Application Engine frontend Angular components

47 lines 11.1 kB
import { Component, EventEmitter, Output } from '@angular/core'; import { AbstractCustomCardComponent, DashboardSingleData } from '@netgrif/components-core'; import * as i0 from "@angular/core"; import * as i1 from "@netgrif/components-core"; import * as i2 from "@ngx-translate/core"; import * as i3 from "@ngbracket/ngx-layout"; import * as i4 from "@angular/material/card"; import * as i5 from "@swimlane/ngx-charts"; export class PieChartCardComponent extends AbstractCustomCardComponent { _injector; resourceService; translateService; loggerService; isDoughnut = false; legendPosition = 'right'; selectEvent; constructor(_injector, resourceService, translateService, loggerService) { super(_injector, resourceService, translateService, loggerService); this._injector = _injector; this.resourceService = resourceService; this.translateService = translateService; this.loggerService = loggerService; this.selectEvent = new EventEmitter(); } ngOnInit() { super.ngOnInit(); } onSelect(data) { this.loggerService.info('Pie chart selected.'); this.selectEvent.emit(data); } convertData(json) { json.aggregations.result.buckets.forEach(bucket => { this.single.push(new DashboardSingleData(bucket.key, bucket.doc_count)); }); this.single = [...this.single]; } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PieChartCardComponent, deps: [{ token: i0.Injector }, { token: i1.DashboardResourceService }, { token: i2.TranslateService }, { token: i1.LoggerService }], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PieChartCardComponent, selector: "nc-pie-chart-card", outputs: { selectEvent: "selectEvent" }, usesInheritance: true, ngImport: i0, template: "<mat-card class=\"dashboard-card custom-mat-card\" fxLayout=\"row\" fxLayoutAlign=\"start start\">\n <ngx-charts-pie-chart class=\"custom-chart dashboard-pie-chart\"\n [scheme]=\"colorScheme\"\n [results]=\"single\"\n [gradient]=\"gradient\"\n [legend]=\"showLegend\"\n [legendPosition]=\"legendPosition\"\n [labels]=\"showLabels\"\n [doughnut]=\"isDoughnut\"\n [legendTitle]=\"card.title\"\n (select)=\"onSelect($event)\">\n </ngx-charts-pie-chart>\n</mat-card>\n", styles: [".custom-mat-card{padding-left:0;padding-top:0}.dashboard-card{width:calc(100% - 16px);height:calc(100% - 16px);margin:8px}.full-size{width:100%;height:100%;margin:0;padding:0}.custom-chart{width:90%;height:90%}\n"], dependencies: [{ kind: "directive", type: i3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: i5.PieChartComponent, selector: "ngx-charts-pie-chart", inputs: ["labels", "legend", "legendTitle", "legendPosition", "explodeSlices", "doughnut", "arcWidth", "gradient", "activeEntries", "tooltipDisabled", "labelFormatting", "trimLabels", "maxLabelLength", "tooltipText", "margins"], outputs: ["dblclick", "select", "activate", "deactivate"] }] }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PieChartCardComponent, decorators: [{ type: Component, args: [{ selector: 'nc-pie-chart-card', template: "<mat-card class=\"dashboard-card custom-mat-card\" fxLayout=\"row\" fxLayoutAlign=\"start start\">\n <ngx-charts-pie-chart class=\"custom-chart dashboard-pie-chart\"\n [scheme]=\"colorScheme\"\n [results]=\"single\"\n [gradient]=\"gradient\"\n [legend]=\"showLegend\"\n [legendPosition]=\"legendPosition\"\n [labels]=\"showLabels\"\n [doughnut]=\"isDoughnut\"\n [legendTitle]=\"card.title\"\n (select)=\"onSelect($event)\">\n </ngx-charts-pie-chart>\n</mat-card>\n", styles: [".custom-mat-card{padding-left:0;padding-top:0}.dashboard-card{width:calc(100% - 16px);height:calc(100% - 16px);margin:8px}.full-size{width:100%;height:100%;margin:0;padding:0}.custom-chart{width:90%;height:90%}\n"] }] }], ctorParameters: () => [{ type: i0.Injector }, { type: i1.DashboardResourceService }, { type: i2.TranslateService }, { type: i1.LoggerService }], propDecorators: { selectEvent: [{ type: Output }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGllLWNoYXJ0LWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvZGFzaGJvYXJkL2NhcmRzL3BpZWNoYXJ0LWNhcmQvcGllLWNoYXJ0LWNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvZGFzaGJvYXJkL2NhcmRzL3BpZWNoYXJ0LWNhcmQvcGllLWNoYXJ0LWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQW9CLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUMsMkJBQTJCLEVBQW1ELG1CQUFtQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7QUFTM0ksTUFBTSxPQUFPLHFCQUFzQixTQUFRLDJCQUEyQjtJQU01QztJQUNBO0lBQ0E7SUFDQTtJQVB0QixVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQ25CLGNBQWMsR0FBRyxPQUFPLENBQUM7SUFDZixXQUFXLENBQXNDO0lBRTNELFlBQXNCLFNBQW1CLEVBQ25CLGVBQXlDLEVBQ3pDLGdCQUFrQyxFQUNsQyxhQUE0QjtRQUM5QyxLQUFLLENBQUMsU0FBUyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUpqRCxjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQ25CLG9CQUFlLEdBQWYsZUFBZSxDQUEwQjtRQUN6QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBRTlDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsUUFBUSxDQUFDLElBQTJCO1FBQ2hDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUF1QjtRQUMvQixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzlDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksbUJBQW1CLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUM1RSxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuQyxDQUFDO3dHQTVCUSxxQkFBcUI7NEZBQXJCLHFCQUFxQix5SENWbEMseXJCQWFBOzs0RkRIYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0ksbUJBQW1COytLQVFuQixXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0b3IsIE9uSW5pdCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWJzdHJhY3RDdXN0b21DYXJkQ29tcG9uZW50LCBEYXNoYm9hcmRFdmVudENvbnRlbnQsIERhc2hib2FyZFJlc291cmNlU2VydmljZSwgRGFzaGJvYXJkU2luZ2xlRGF0YX0gZnJvbSAnQG5ldGdyaWYvY29tcG9uZW50cy1jb3JlJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0FnZ3JlZ2F0aW9uUmVzdWx0LCBMb2dnZXJTZXJ2aWNlfSBmcm9tICdAbmV0Z3JpZi9jb21wb25lbnRzLWNvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25jLXBpZS1jaGFydC1jYXJkJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcGllLWNoYXJ0LWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3BpZS1jaGFydC1jYXJkLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUGllQ2hhcnRDYXJkQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RDdXN0b21DYXJkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgIGlzRG91Z2hudXQgPSBmYWxzZTtcbiAgICBsZWdlbmRQb3NpdGlvbiA9ICdyaWdodCc7XG4gICAgQE91dHB1dCgpIHNlbGVjdEV2ZW50OiBFdmVudEVtaXR0ZXI8RGFzaGJvYXJkRXZlbnRDb250ZW50PjtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCByZXNvdXJjZVNlcnZpY2U6IERhc2hib2FyZFJlc291cmNlU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgbG9nZ2VyU2VydmljZTogTG9nZ2VyU2VydmljZSkge1xuICAgICAgICBzdXBlcihfaW5qZWN0b3IsIHJlc291cmNlU2VydmljZSwgdHJhbnNsYXRlU2VydmljZSwgbG9nZ2VyU2VydmljZSk7XG4gICAgICAgIHRoaXMuc2VsZWN0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgfVxuXG4gICAgb25TZWxlY3QoZGF0YTogRGFzaGJvYXJkRXZlbnRDb250ZW50KSB7XG4gICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5pbmZvKCdQaWUgY2hhcnQgc2VsZWN0ZWQuJyk7XG4gICAgICAgIHRoaXMuc2VsZWN0RXZlbnQuZW1pdChkYXRhKTtcbiAgICB9XG5cbiAgICBjb252ZXJ0RGF0YShqc29uOiBBZ2dyZWdhdGlvblJlc3VsdCkge1xuICAgICAgICBqc29uLmFnZ3JlZ2F0aW9ucy5yZXN1bHQuYnVja2V0cy5mb3JFYWNoKGJ1Y2tldCA9PiB7XG4gICAgICAgICAgICB0aGlzLnNpbmdsZS5wdXNoKG5ldyBEYXNoYm9hcmRTaW5nbGVEYXRhKGJ1Y2tldC5rZXksIGJ1Y2tldC5kb2NfY291bnQpKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuc2luZ2xlID0gWy4uLnRoaXMuc2luZ2xlXTtcbiAgICB9XG59XG4iLCI8bWF0LWNhcmQgY2xhc3M9XCJkYXNoYm9hcmQtY2FyZCBjdXN0b20tbWF0LWNhcmRcIiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBzdGFydFwiPlxuICAgIDxuZ3gtY2hhcnRzLXBpZS1jaGFydCBjbGFzcz1cImN1c3RvbS1jaGFydCBkYXNoYm9hcmQtcGllLWNoYXJ0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjaGVtZV09XCJjb2xvclNjaGVtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXN1bHRzXT1cInNpbmdsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtncmFkaWVudF09XCJncmFkaWVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtsZWdlbmRdPVwic2hvd0xlZ2VuZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtsZWdlbmRQb3NpdGlvbl09XCJsZWdlbmRQb3NpdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbHNdPVwic2hvd0xhYmVsc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtkb3VnaG51dF09XCJpc0RvdWdobnV0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2xlZ2VuZFRpdGxlXT1cImNhcmQudGl0bGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAoc2VsZWN0KT1cIm9uU2VsZWN0KCRldmVudClcIj5cbiAgICA8L25neC1jaGFydHMtcGllLWNoYXJ0PlxuPC9tYXQtY2FyZD5cbiJdfQ==