UNPKG

igniteui-angular-inputs

Version:

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

207 lines (206 loc) 7.66 kB
import { EventEmitter, Output, Component, Input, ChangeDetectionStrategy } from '@angular/core'; import { delegateCombine } from "igniteui-angular-core"; import { MultiSliderThumbRangePosition, MultiSliderThumbRangePosition_$type } from "./MultiSliderThumbRangePosition"; import { IgxMultiSliderTrackThumbRange } from "./igx-multi-slider-track-thumb-range"; import { IgxPropertyUpdatedEventArgs } from "igniteui-angular-core"; import { MultiSliderThumb } from "./MultiSliderThumb"; import { TypeRegistrar } from "igniteui-angular-core"; import { NamePatcher, ensureEnum, toSpinal, initializePropertiesFromCss } from "igniteui-angular-core"; import * as i0 from "@angular/core"; export class IgxMultiSliderThumbComponent { createImplementation() { return new MultiSliderThumb(); } 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() { } 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(); } } get value() { return this.i.s; } set value(v) { this.i.s = +v; } get rangePosition() { return this.i.g; } set rangePosition(v) { this.i.g = ensureEnum(MultiSliderThumbRangePosition_$type, v); } get range() { const r = this.i.i; if (r == null) { return null; } if (!r.externalObject) { let e = new IgxMultiSliderTrackThumbRange(); if (r.$type) { e._implementation = r; } else { if (e.i.setNativeElement) { e.i.setNativeElement(r); } } Object.defineProperty(r, 'externalObject', { value: e, enumerable: false, configurable: true, writable: true }); } return r.externalObject; } set range(v) { v == null ? this.i.i = null : this.i.i = v.i; } findByName(name) { if (this.findEphemera) { if (name && name.indexOf("@@e:") == 0) { return this.findEphemera(name); } } if (this.range && this.range.name && this.range.name == name) { return this.range; } 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("MultiSliderThumbComponent"); 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; } push(amount) { let iv = this.i.r(amount); return (iv); } 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(); } } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0-rc.1", ngImport: i0, type: IgxMultiSliderThumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.0-rc.1", type: IgxMultiSliderThumbComponent, isStandalone: true, selector: "igx-multi-slider-thumb", inputs: { value: "value", rangePosition: "rangePosition", range: "range" }, outputs: { propertyUpdated: "propertyUpdated" }, providers: [], ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0-rc.1", ngImport: i0, type: IgxMultiSliderThumbComponent, decorators: [{ type: Component, args: [{ selector: 'igx-multi-slider-thumb', template: ``, providers: [], changeDetection: ChangeDetectionStrategy.OnPush }] }], ctorParameters: () => [], propDecorators: { value: [{ type: Input }], rangePosition: [{ type: Input }], range: [{ type: Input }], propertyUpdated: [{ type: Output }] } });