UNPKG

igniteui-angular-charts

Version:

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

156 lines (155 loc) 6.89 kB
import { Component, forwardRef, Input, ChangeDetectionStrategy } from '@angular/core'; import { IgxStrategyBasedIndicatorComponent } from "./igx-strategy-based-indicator-component"; import { IgxFinancialIndicatorComponent } from "./igx-financial-indicator-component"; import { IgxFinancialSeriesComponent } from "./igx-financial-series-component"; import { IgxSeriesComponent } from "./igx-series-component"; import { PercentagePriceOscillatorIndicator } from "./PercentagePriceOscillatorIndicator"; import * as i0 from "@angular/core"; /** * Represents a IgxDataChartComponent percentage price oscillator series. * Default required members: High, Low, Volume * * You can use the `PercentagePriceOscillatorIndicator` to show the difference between two moving averages. * * ```html * <igx-data-chart * [dataSource]="data" > * <igx-category-x-axis * label="label" * #xAxis> * </igx-category-x-axis> * <igx-numeric-y-axis * #yAxis> * </igx-numeric-y-axis> * <igx-percentage-price-oscillator-indicator * [xAxis]="xAxis" * [yAxis]="yAxis" * openMemberPath="open" * highMemberPath="high" * lowMemberPath="low" * closeMemberPath="close"> * </igx-percentage-price-oscillator-indicator> * </igx-data-chart> * ``` * * ```ts * let series = new IgxPercentagePriceOscillatorIndicatorComponent(); * series.xAxis = this.xAxis; * series.yAxis = this.yAxis; * series.openMemberPath = "open"; * series.highMemberPath = "high"; * series.lowMemberPath = "low"; * series.closeMemberPath = "close"; * this.chart.series.add(series); * ``` */ export let IgxPercentagePriceOscillatorIndicatorComponent = /*@__PURE__*/ (() => { class IgxPercentagePriceOscillatorIndicatorComponent extends IgxStrategyBasedIndicatorComponent { constructor() { super(); } createImplementation() { return new PercentagePriceOscillatorIndicator(); } /** * @hidden */ get i() { return this._implementation; } /** * Gets or sets the short moving average period for the current PercentagePriceOscillatorIndicator object. * The typical, and initial, value for short PPO periods is 10. * * You can use the `ShortPeriod` to set the short moving average period. * * ```html * <igx-data-chart * [dataSource]="data" > * <igx-category-x-axis * label="label" * #xAxis> * </igx-category-x-axis> * <igx-numeric-y-axis * #yAxis> * </igx-numeric-y-axis> * <igx-percentage-price-oscillator-indicator * #series * [xAxis]="xAxis" * [yAxis]="yAxis" * openMemberPath="open" * highMemberPath="high" * lowMemberPath="low" * closeMemberPath="close" * shortPeriod="10"> * </igx-percentage-price-oscillator-indicator> * </igx-data-chart> * ``` * * ```ts * this.series.shortPeriod = 10; * ``` */ get shortPeriod() { return this.i.shortPeriod; } set shortPeriod(v) { this.i.shortPeriod = +v; } /** * Gets or sets the long moving average period for the current PercentagePriceOscillatorIndicator object. * The typical, and initial, value for long PVO periods is 30. * * You can use the `LongPeriod` to set the long moving average period. * * ```html * <igx-data-chart * [dataSource]="data" > * <igx-category-x-axis * label="label" * #xAxis> * </igx-category-x-axis> * <igx-numeric-y-axis * #yAxis> * </igx-numeric-y-axis> * <igx-percentage-price-oscillator-indicator * #series * [xAxis]="xAxis" * [yAxis]="yAxis" * openMemberPath="open" * highMemberPath="high" * lowMemberPath="low" * closeMemberPath="close" * longPeriod="30"> * </igx-percentage-price-oscillator-indicator> * </igx-data-chart> * ``` * * ```ts * this.series.longPeriod = 30; * ``` */ get longPeriod() { return this.i.longPeriod; } set longPeriod(v) { this.i.longPeriod = +v; } } IgxPercentagePriceOscillatorIndicatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxPercentagePriceOscillatorIndicatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); IgxPercentagePriceOscillatorIndicatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: IgxPercentagePriceOscillatorIndicatorComponent, selector: "igx-percentage-price-oscillator-indicator", inputs: { shortPeriod: "shortPeriod", longPeriod: "longPeriod" }, providers: [{ provide: IgxStrategyBasedIndicatorComponent, useExisting: forwardRef(() => IgxPercentagePriceOscillatorIndicatorComponent) }, { provide: IgxFinancialIndicatorComponent, useExisting: forwardRef(() => IgxPercentagePriceOscillatorIndicatorComponent) }, { provide: IgxFinancialSeriesComponent, useExisting: forwardRef(() => IgxPercentagePriceOscillatorIndicatorComponent) }, { provide: IgxSeriesComponent, useExisting: forwardRef(() => IgxPercentagePriceOscillatorIndicatorComponent) }], usesInheritance: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); return IgxPercentagePriceOscillatorIndicatorComponent; })(); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxPercentagePriceOscillatorIndicatorComponent, decorators: [{ type: Component, args: [{ selector: 'igx-percentage-price-oscillator-indicator', template: ``, providers: [{ provide: IgxStrategyBasedIndicatorComponent, useExisting: forwardRef(() => IgxPercentagePriceOscillatorIndicatorComponent) }, { provide: IgxFinancialIndicatorComponent, useExisting: forwardRef(() => IgxPercentagePriceOscillatorIndicatorComponent) }, { provide: IgxFinancialSeriesComponent, useExisting: forwardRef(() => IgxPercentagePriceOscillatorIndicatorComponent) }, { provide: IgxSeriesComponent, useExisting: forwardRef(() => IgxPercentagePriceOscillatorIndicatorComponent) }], changeDetection: ChangeDetectionStrategy.OnPush }] }], ctorParameters: function () { return []; }, propDecorators: { shortPeriod: [{ type: Input }], longPeriod: [{ type: Input }] } });