igniteui-angular-charts
Version:
Ignite UI Angular charting components for building rich data visualizations for modern web apps.
151 lines (150 loc) • 6.74 kB
JavaScript
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 { ChaikinOscillatorIndicator } from "./ChaikinOscillatorIndicator";
import * as i0 from "@angular/core";
/**
* Represents the IgxDataChartComponent Chaikin Oscillator indicator series.
* Default required members: Close, Low, High, Volume
*
* `ChaikinOscillatorIndicator` class specify the series as Chaikin Oscillator Indicator series.
*
* ```html
* <igx-data-chart [dataSource]="data">
* <igx-category-x-axis #xAxis
* label="time">
* </igx-category-x-axis>
* <igx-numeric-y-axis #yAxis>
* </igx-numeric-y-axis>
* <igx-chaikin-oscillator-indicator
* [xAxis]="xAxis"
* [yAxis]="yAxis"
* openMemberPath="open"
* highMemberPath="high"
* lowMemberPath="low"
* closeMemberPath="close"
* volumeMemberPath="volume"
* longPeriod="30">
* </igx-chaikin-oscillator-indicator>
* </igx-data-chart>
* ```
*
* ```ts
* let series = new IgxChaikinOscillatorIndicatorComponent();
* 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 IgxChaikinOscillatorIndicatorComponent = /*@__PURE__*/ (() => {
class IgxChaikinOscillatorIndicatorComponent extends IgxStrategyBasedIndicatorComponent {
constructor() {
super();
}
createImplementation() {
return new ChaikinOscillatorIndicator();
}
/**
* @hidden
*/
get i() {
return this._implementation;
}
/**
* Gets or sets the short moving average period for the current ChaikinOscillatorIndicator object.
* The typical, and initial, value for short CHO periods is 3.
*
* Set the `ShortPeriod` property if you wish to change the short moving average period for the indicator.
*
* ```html
* <igx-data-chart [dataSource]="data">
* <igx-category-x-axis #xAxis
* label="time">
* </igx-category-x-axis>
* <igx-numeric-y-axis #yAxis>
* </igx-numeric-y-axis>
*
* <igx-chaikin-oscillator-indicator
* [xAxis]="xAxis"
* [yAxis]="yAxis"
* openMemberPath="open"
* highMemberPath="high"
* lowMemberPath="low"
* closeMemberPath="close"
* volumeMemberPath="volume"
* shortPeriod="5">
* </igx-chaikin-oscillator-indicator>
* </igx-data-chart>
* ```
*
* ```ts
* this.series.shortPeriod = 30;
* ```
*/
get shortPeriod() {
return this.i.shortPeriod;
}
set shortPeriod(v) {
this.i.shortPeriod = +v;
}
/**
* Gets or sets the long moving average period for the current ChaikinOscillatorIndicator object.
* The typical, and initial, value for long CHO periods is 10.
*
* Set the `LongPeriod` property if you wish to change the long moving average period for the indicator.
*
* ```html
* <igx-data-chart [dataSource]="data">
* <igx-category-x-axis #xAxis
* label="time">
* </igx-category-x-axis>
* <igx-numeric-y-axis #yAxis>
* </igx-numeric-y-axis>
*
* <igx-chaikin-oscillator-indicator
* [xAxis]="xAxis"
* [yAxis]="yAxis"
* openMemberPath="open"
* highMemberPath="high"
* lowMemberPath="low"
* closeMemberPath="close"
* volumeMemberPath="volume"
* longPeriod="30" >
* </igx-chaikin-oscillator-indicator>
* </igx-data-chart>
* ```
*
* ```ts
* this.series.longPeriod = 30;
* ```
*/
get longPeriod() {
return this.i.longPeriod;
}
set longPeriod(v) {
this.i.longPeriod = +v;
}
}
IgxChaikinOscillatorIndicatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxChaikinOscillatorIndicatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
IgxChaikinOscillatorIndicatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: IgxChaikinOscillatorIndicatorComponent, selector: "igx-chaikin-oscillator-indicator", inputs: { shortPeriod: "shortPeriod", longPeriod: "longPeriod" }, providers: [{ provide: IgxStrategyBasedIndicatorComponent, useExisting: forwardRef(() => IgxChaikinOscillatorIndicatorComponent) }, { provide: IgxFinancialIndicatorComponent, useExisting: forwardRef(() => IgxChaikinOscillatorIndicatorComponent) }, { provide: IgxFinancialSeriesComponent, useExisting: forwardRef(() => IgxChaikinOscillatorIndicatorComponent) }, { provide: IgxSeriesComponent, useExisting: forwardRef(() => IgxChaikinOscillatorIndicatorComponent) }], usesInheritance: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
return IgxChaikinOscillatorIndicatorComponent;
})();
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxChaikinOscillatorIndicatorComponent, decorators: [{
type: Component,
args: [{
selector: 'igx-chaikin-oscillator-indicator',
template: ``,
providers: [{ provide: IgxStrategyBasedIndicatorComponent, useExisting: forwardRef(() => IgxChaikinOscillatorIndicatorComponent) }, { provide: IgxFinancialIndicatorComponent, useExisting: forwardRef(() => IgxChaikinOscillatorIndicatorComponent) }, { provide: IgxFinancialSeriesComponent, useExisting: forwardRef(() => IgxChaikinOscillatorIndicatorComponent) }, { provide: IgxSeriesComponent, useExisting: forwardRef(() => IgxChaikinOscillatorIndicatorComponent) }],
changeDetection: ChangeDetectionStrategy.OnPush
}]
}], ctorParameters: function () { return []; }, propDecorators: { shortPeriod: [{
type: Input
}], longPeriod: [{
type: Input
}] } });