UNPKG

@progress/kendo-angular-charts

Version:

Kendo UI Charts for Angular - A comprehensive package for creating beautiful and interactive data visualization. Every chart type, stock charts, and sparklines are included.

177 lines (174 loc) 8.82 kB
/**----------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the project root for more information *-------------------------------------------------------------------------------------------*/ import { Input, Component, NgZone, ElementRef, ChangeDetectorRef, ChangeDetectionStrategy, Renderer2, Output, EventEmitter } from '@angular/core'; import { ConfigurationService } from './common/configuration.service'; import { TooltipTemplateService } from './common/tooltip-template.service'; import { InstanceEventService } from './events/instance-event.service'; import { ChartComponent } from './chart.component'; import { ThemeService } from './common/theme.service'; import { IntlService } from '@progress/kendo-angular-intl'; import { Sparkline } from '@progress/kendo-charts'; import { LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n'; import { validatePackage } from '@progress/kendo-licensing'; import { ResizeSensorComponent, WatermarkOverlayComponent, shouldShowValidationUI } from '@progress/kendo-angular-common'; import { packageMetadata } from './package-metadata'; import { NgIf } from '@angular/common'; import { TooltipPopupComponent } from './chart/tooltip/tooltip-popup.component'; import { CrosshairTooltipsContainerComponent } from './chart/tooltip/crosshair-tooltips-container.component'; import * as i0 from "@angular/core"; import * as i1 from "./common/configuration.service"; import * as i2 from "./common/theme.service"; import * as i3 from "@progress/kendo-angular-intl"; import * as i4 from "@progress/kendo-angular-l10n"; import * as i5 from "./events/instance-event.service"; /** * The root Chart component. * * @example * ```html * <kendo-sparkline [data]="[936, 968, 1025, 999]" type="column"> * </kendo-sparkline> * ``` */ export class SparklineComponent extends ChartComponent { configurationService; themeService; element; intl; localizationService; ngZone; instanceEventService; changeDetector; renderer; /** * The default series type. */ type; /** * The data for the default Sparkline series. * Discarded if series are supplied. */ data; /** * @hidden */ drilldown = new EventEmitter(); /** * @hidden */ drilldownLevelChange = new EventEmitter(); /** * @hidden */ noData = false; /** * @hidden */ get drilldownLevel() { return this.drilldownState.length; } /** * @hidden */ tooltipWrapperClass = 'k-sparkline-tooltip-wrapper'; /** * @hidden */ tooltipContentClasses = { 'k-sparkline-tooltip': true }; /** * @hidden */ showLicenseWatermark = false; hostClasses = ['k-sparkline', 'k-widget']; constructor(configurationService, themeService, element, intl, localizationService, ngZone, instanceEventService, changeDetector, renderer) { super(configurationService, themeService, element, intl, localizationService, ngZone, instanceEventService, changeDetector, renderer); this.configurationService = configurationService; this.themeService = themeService; this.element = element; this.intl = intl; this.localizationService = localizationService; this.ngZone = ngZone; this.instanceEventService = instanceEventService; this.changeDetector = changeDetector; this.renderer = renderer; const isValid = validatePackage(packageMetadata); this.showLicenseWatermark = shouldShowValidationUI(isValid); } createInstance(element, observer) { this.instance = new Sparkline(element, Sparkline.normalizeOptions(this.options), this.theme, { intlService: this.intl, observer: observer, rtl: this.rtl, sender: this }); } updateOptions() { this.instance.setOptions(Sparkline.normalizeOptions(this.options)); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SparklineComponent, deps: [{ token: i1.ConfigurationService }, { token: i2.ThemeService }, { token: i0.ElementRef }, { token: i3.IntlService }, { token: i4.LocalizationService }, { token: i0.NgZone }, { token: i5.InstanceEventService }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SparklineComponent, isStandalone: true, selector: "kendo-sparkline", inputs: { type: "type", data: "data", noData: "noData", drilldownLevel: "drilldownLevel" }, outputs: { drilldown: "drilldown", drilldownLevelChange: "drilldownLevelChange" }, providers: [ ConfigurationService, TooltipTemplateService, InstanceEventService, LocalizationService, { provide: L10N_PREFIX, useValue: 'kendo.chart' } ], exportAs: ["kendoSparkline"], usesInheritance: true, ngImport: i0, template: ` <span #surface class="k-chart-surface"></span> <kendo-chart-crosshair-tooltips-container [popupSettings]="popupSettings"> </kendo-chart-crosshair-tooltips-container> <kendo-chart-tooltip-popup [animate]="false" [wrapperClass]="tooltipWrapperClass" [classNames]="tooltipContentClasses" (leave)="tooltipMouseleave($event)" [popupSettings]="popupSettings"> </kendo-chart-tooltip-popup> <kendo-resize-sensor (resize)="onResize()"></kendo-resize-sensor> <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div> `, isInline: true, dependencies: [{ kind: "component", type: CrosshairTooltipsContainerComponent, selector: "kendo-chart-crosshair-tooltips-container", inputs: ["popupSettings"] }, { kind: "component", type: TooltipPopupComponent, selector: "kendo-chart-tooltip-popup", inputs: ["animate", "classNames", "wrapperClass"], outputs: ["leave"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SparklineComponent, decorators: [{ type: Component, args: [{ changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'kendoSparkline', providers: [ ConfigurationService, TooltipTemplateService, InstanceEventService, LocalizationService, { provide: L10N_PREFIX, useValue: 'kendo.chart' } ], selector: 'kendo-sparkline', template: ` <span #surface class="k-chart-surface"></span> <kendo-chart-crosshair-tooltips-container [popupSettings]="popupSettings"> </kendo-chart-crosshair-tooltips-container> <kendo-chart-tooltip-popup [animate]="false" [wrapperClass]="tooltipWrapperClass" [classNames]="tooltipContentClasses" (leave)="tooltipMouseleave($event)" [popupSettings]="popupSettings"> </kendo-chart-tooltip-popup> <kendo-resize-sensor (resize)="onResize()"></kendo-resize-sensor> <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div> `, standalone: true, imports: [CrosshairTooltipsContainerComponent, TooltipPopupComponent, ResizeSensorComponent, NgIf, WatermarkOverlayComponent] }] }], ctorParameters: function () { return [{ type: i1.ConfigurationService }, { type: i2.ThemeService }, { type: i0.ElementRef }, { type: i3.IntlService }, { type: i4.LocalizationService }, { type: i0.NgZone }, { type: i5.InstanceEventService }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }]; }, propDecorators: { type: [{ type: Input }], data: [{ type: Input }], drilldown: [{ type: Output }], drilldownLevelChange: [{ type: Output }], noData: [{ type: Input }], drilldownLevel: [{ type: Input }] } });