import { IgrSeries } from "./igr-series";
/**
 * Represents event arguments for chart's SeriesAdded and SeriesRemoved events
*
* The `DomainChartSeriesPointerEventArgs` class provide events for chart's SeriesAdded and SeriesRemoved.
*
* `SeriesPointerDown` get fired when the pointer is press down over a Series.
*
* ```ts
*  <IgrFinancialChart
*     yAxisInterval={200}
*     yAxisMinorInterval={50}
*     yAxisMajorStroke="Black"
*     yAxisMinorStroke="Gray" >
*  </IgrFinancialChart>
* ```
*
* ```ts
* this.chart.seriesPointerDown = this.chart_seriesPointerDown();
* ```
*
* ```ts
* <IgrFinancialChart
*     width="100%"
*     height="400px"
*     chartType="Candle"
*     zoomSliderType="Candle"
*     volumeType="Column"
*     indicatorTypes="ForceIndex"
*     overlayTypes ="PriceChannel"
*     dataSource={this.data}
*     seriesPointerDown = {this.onseriesPointerDown} />
* ```
*
* ```ts
* public void onseriesPointerDown =(s: IgrDomainChart <IIgrDomainChartProps>, e: DomainChartSeriesPointerEventArgs)=>
* {
*
* }
* ```
*/
export class IgrDomainChartSeriesPointerEventArgs {
    /**
     * @hidden
     */
    get i() {
        return this._implementation;
    }
    onImplementationCreated() {
    }
    constructor() {
    }
    _provideImplementation(i) {
        this._implementation = i;
        this._implementation.externalObject = this;
        this.onImplementationCreated();
        if (this._initializeAdapters) {
            this._initializeAdapters();
        }
    }
    /**
     * Gets the series hit by the pointer.
    *
    * Use the `Series` property to get the series.
    *
    * ```ts
    *  var series= args.series;
    * ```
    */
    get series() {
        const r = this.i.series;
        if (r == null) {
            return null;
        }
        if (!r.externalObject) {
            let e = IgrSeries._createFromInternal(r);
            if (e) {
                e._implementation = r;
            }
            r.externalObject = e;
        }
        return r.externalObject;
    }
    set series(v) {
        v == null ? this.i.series = null : this.i.series = v.i;
    }
    /**
     * Gets the item hit by the pointer.
    *
    * Use the `Item` property to get the items.
    *
    * <https://www.infragistics.com/help/wpf/infragisticswpf.controls.charts.xamdatachart~infragistics.controls.charts.domainchartseriespointereventargs~item>
    *
    * ```ts
    * var Chartitem = args.item;
    * ```
    */
    get item() {
        return this.i.item;
    }
    set item(v) {
        this.i.item = v;
    }
}
