UNPKG

igniteui-angular-charts

Version:

Ignite UI Angular charting components for building rich data visualizations for modern web apps.

221 lines (216 loc) 8.56 kB
import { EventEmitter, Output, Component, Input, ChangeDetectionStrategy } from '@angular/core'; import { delegateCombine } from "igniteui-angular-core"; import { IgxPropertyUpdatedEventArgs } from "igniteui-angular-core"; import { BrushScale } from "./BrushScale"; import { TypeRegistrar } from "igniteui-angular-core"; import { NamePatcher, toBrushCollection, fromBrushCollection, toSpinal, initializePropertiesFromCss, brushToString } from "igniteui-angular-core"; import * as i0 from "@angular/core"; /** * Represents a base class for brush scales. */ export let IgxBrushScaleComponent = /*@__PURE__*/ (() => { class IgxBrushScaleComponent { constructor() { this.__p = null; this._hasUserValues = new Set(); this._stylingContainer = null; this._stylingParent = null; this._inStyling = false; this._propertyUpdated = null; this._zoneRunner = null; if (this._styling) { NamePatcher.ensureStylablePatched(Object.getPrototypeOf(this)); } this._implementation = this.createImplementation(); this._implementation.externalObject = this; this.onImplementationCreated(); if (this._initializeAdapters) { this._initializeAdapters(); } } createImplementation() { return new BrushScale(); } ngOnInit() { } /** * @hidden */ get i() { return this._implementation; } /** * @hidden */ static _createFromInternal(internal) { if (!internal) { return null; } if (!internal.$type) { return null; } let name = internal.$type.name; let externalName = "Igx" + name + "Component"; if (!TypeRegistrar.isRegistered(externalName)) { return null; } return TypeRegistrar.create(externalName); } onImplementationCreated() { } /** * Gets the brushes collection used by this scale. */ get brushes() { return fromBrushCollection(this.i.brushes); } set brushes(v) { this.i.brushes = toBrushCollection(v); } /** * Gets the status of the scale */ get isReady() { return this.i.isReady; } /** * Checks if this item is a BrushScale */ get isBrushScale() { return this.i.isBrushScale; } findByName(name) { if (this.findEphemera) { if (name && name.indexOf("@@e:") == 0) { return this.findEphemera(name); } } return null; } get hasUserValues() { return this._hasUserValues; } __m(propertyName) { if (!this._inStyling) { this._hasUserValues.add(propertyName); } } _styling(container, component, parent) { if (this._inStyling) { return; } this._inStyling = true; this._stylingContainer = container; this._stylingParent = component; let genericPrefix = ""; let typeName = this.i.$type.name; if (typeName.indexOf("Xam") === 0) { typeName = typeName.substring(3); } genericPrefix = toSpinal("BrushScaleComponent"); let additionalPrefixes = []; let prefix = toSpinal(typeName); additionalPrefixes.push(prefix + "-"); let b = this.i.$type.baseType; while (b && b.name != "Object" && b.name != "Base" && b.name != "Control" && b.Name != "DependencyObject" && b.Name != "FrameworkElement") { typeName = b.name; if (typeName.indexOf("Xam") === 0) { typeName = typeName.substring(3); } let basePrefix = toSpinal(typeName); additionalPrefixes.push(basePrefix + "-"); b = b.baseType; } if (parent) { let parentTypeName = parent.i.$type.name; if (parentTypeName.indexOf("Xam") === 0) { parentTypeName = parentTypeName.substring(3); } let parentPrefix = toSpinal(parentTypeName); additionalPrefixes.push(parentPrefix + "-" + genericPrefix + "-"); additionalPrefixes.push(parentPrefix + "-" + prefix + "-"); } initializePropertiesFromCss(container, this, genericPrefix + "-", this.hasUserValues, false, additionalPrefixes); if (this._otherStyling) { this._otherStyling(container, component, parent); } this._inStyling = false; } /** * Registers a series with the scale. Under normal circumstances you should not need to call this manually. * @param series * The series to register with the scale. */ registerSeries(series) { this.i.registerSeries((series == null ? null : series.i)); } /** * Unregisters a series with the scale. Under normal circumstances you should not need to call this manually. * @param series * The series to unregister from the scale. */ unregisterSeries(series) { this.i.unregisterSeries((series == null ? null : series.i)); } /** * Gets a brush from the brushes collection by index. */ getBrush(index) { let iv = this.i.getBrush(index); return brushToString(iv); } /** * Notify attached series about changes to this scale */ notifySeries() { this.i.notifySeries(); } /** * Event raised when a property (including "effective" and non-dependency property) value changes. */ get propertyUpdated() { if (this._propertyUpdated == null) { this._propertyUpdated = new EventEmitter(); this.i.propertyUpdated = delegateCombine(this.i.propertyUpdated, (o, e) => { this._runInZone(() => { let outerArgs = new IgxPropertyUpdatedEventArgs(); outerArgs._provideImplementation(e); if (this.beforePropertyUpdated) { this.beforePropertyUpdated(this, outerArgs); } this._propertyUpdated.emit({ sender: this, args: outerArgs }); }); }); } return this._propertyUpdated; } _runInZone(act) { if (this._zoneRunner != null) { this._zoneRunner(act); } else { act(); } } } IgxBrushScaleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxBrushScaleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); IgxBrushScaleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: IgxBrushScaleComponent, selector: "igx-brush-scale", inputs: { brushes: "brushes" }, outputs: { propertyUpdated: "propertyUpdated" }, providers: [], ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); return IgxBrushScaleComponent; })(); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxBrushScaleComponent, decorators: [{ type: Component, args: [{ selector: 'igx-brush-scale', template: ``, providers: [], changeDetection: ChangeDetectionStrategy.OnPush }] }], ctorParameters: function () { return []; }, propDecorators: { brushes: [{ type: Input }], propertyUpdated: [{ type: Output }] } });