import { __extends } from "tslib";
import { IgrStyle } from "igniteui-react-core";
import { IgrShapeSeriesBase } from "./igr-shape-series-base";
import { ScatterPolylineSeries } from "./ScatterPolylineSeries";
/**
 * Series class used for displaying multiple polylines for datasources which contain multiple lists of points.
*/
var IgrScatterPolylineSeries = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(IgrScatterPolylineSeries, _super);
    function IgrScatterPolylineSeries(props) {
        return _super.call(this, props) || this;
    }
    IgrScatterPolylineSeries.prototype.createImplementation = function () {
        return new ScatterPolylineSeries();
    };
    Object.defineProperty(IgrScatterPolylineSeries.prototype, "i", {
        /**
                                     * @hidden
                                     */
        get: function () {
            return this._implementation;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrScatterPolylineSeries.prototype, "isPolyline", {
        /**
         * Gets whether the current series shows a polyline shape.
        */
        get: function () {
            return this.i.e5;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrScatterPolylineSeries.prototype, "shapeStyle", {
        /**
         * The default style to apply to all Shapes in the series.
        */
        get: function () {
            var r = this.i.w0;
            if (r == null) {
                return null;
            }
            if (!r.externalObject) {
                var e = new IgrStyle();
                if (r.$type) {
                    e._implementation = r;
                }
                else {
                    if (e.i.setNativeElement) {
                        e.i.setNativeElement(r);
                    }
                }
                r.externalObject = e;
            }
            return r.externalObject;
        },
        set: function (v) {
            v == null ? this.i.w0 = null : this.i.w0 = v.i;
        },
        enumerable: false,
        configurable: true
    });
    IgrScatterPolylineSeries.prototype.findByName = function (name) {
        var baseResult = _super.prototype.findByName.call(this, name);
        if (baseResult) {
            return baseResult;
        }
        if (this.shapeStyle && this.shapeStyle.name && this.shapeStyle.name == name) {
            return this.shapeStyle;
        }
        return null;
    };
    return IgrScatterPolylineSeries;
}(IgrShapeSeriesBase));
export { IgrScatterPolylineSeries };
