/*
THIS INFRAGISTICS ULTIMATE SOFTWARE LICENSE  AGREEMENT ("AGREEMENT") LOCATED HERE:
https://www.infragistics.com/legal/license/igultimate-la
https://www.infragistics.com/legal/license/igultimate-eula
GOVERNS THE LICENSING, INSTALLATION AND USE OF INFRAGISTICS SOFTWARE. BY DOWNLOADING AND/OR INSTALLING AND USING INFRAGISTICS SOFTWARE:  you are indicating that you have read and understand this Agreement, and agree to be legally bound by it on behalf of the yourself and your company.
*/
import * as tslib_1 from "tslib";
import { Base, markType } from "igniteui-react-core/ES5/type";
import { StringBuilder } from "igniteui-react-core/ES5/StringBuilder";
import { isNaN_ } from "igniteui-react-core/ES5/number";
/**
 * @hidden
 */
var RingSeriesVisualData = /** @class */ (function (_super) {
    tslib_1.__extends(RingSeriesVisualData, _super);
    function RingSeriesVisualData() {
        var _this = _super !== null && _super.apply(this, arguments) || this;
        _this._name = null;
        _this._labelExtent = 0;
        _this._labelsPosition = null;
        _this._leaderLineType = null;
        _this._leaderLineVisibility = false;
        _this._leaderLineMargin = 0;
        _this._rings = null;
        return _this;
    }
    Object.defineProperty(RingSeriesVisualData.prototype, "name", {
        get: function () {
            return this._name;
        },
        set: function (a) {
            this._name = a;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(RingSeriesVisualData.prototype, "labelExtent", {
        get: function () {
            return this._labelExtent;
        },
        set: function (a) {
            this._labelExtent = a;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(RingSeriesVisualData.prototype, "labelsPosition", {
        get: function () {
            return this._labelsPosition;
        },
        set: function (a) {
            this._labelsPosition = a;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(RingSeriesVisualData.prototype, "leaderLineType", {
        get: function () {
            return this._leaderLineType;
        },
        set: function (a) {
            this._leaderLineType = a;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(RingSeriesVisualData.prototype, "leaderLineVisibility", {
        get: function () {
            return this._leaderLineVisibility;
        },
        set: function (a) {
            this._leaderLineVisibility = a;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(RingSeriesVisualData.prototype, "leaderLineMargin", {
        get: function () {
            return this._leaderLineMargin;
        },
        set: function (a) {
            this._leaderLineMargin = a;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(RingSeriesVisualData.prototype, "rings", {
        get: function () {
            return this._rings;
        },
        set: function (a) {
            this._rings = a;
        },
        enumerable: true,
        configurable: true
    });
    RingSeriesVisualData.prototype.serialize = function () {
        var a = new StringBuilder(0);
        var b = true;
        a.u("{");
        if (this.name != null) {
            if (b) {
                b = false;
            }
            else {
                a.l(", ");
            }
            a.l("name: ");
            a.u("'" + this.name + "'");
        }
        if (!isNaN_(this.labelExtent)) {
            if (b) {
                b = false;
            }
            else {
                a.l(", ");
            }
            a.l("labelExtent: ");
            a.u(this.labelExtent.toString());
        }
        if (this.labelsPosition != null) {
            if (b) {
                b = false;
            }
            else {
                a.l(", ");
            }
            a.l("labelsPosition: ");
            a.u("'" + this.labelsPosition + "'");
        }
        if (this.leaderLineType != null) {
            if (b) {
                b = false;
            }
            else {
                a.l(", ");
            }
            a.l("leaderLineType: ");
            a.u("'" + this.leaderLineType + "'");
        }
        a.l(", leaderLineVisibility: ");
        a.u(this.leaderLineVisibility ? "true" : "false");
        if (!isNaN_(this.leaderLineMargin)) {
            if (b) {
                b = false;
            }
            else {
                a.l(", ");
            }
            a.l("leaderLineMargin: ");
            a.u(this.leaderLineMargin.toString());
        }
        a.u(", rings: [");
        for (var c = 0; c < this.rings.count; c++) {
            if (c != 0) {
                a.l(", ");
            }
            a.l(this.rings._inner[c].serialize());
        }
        a.u("]}");
        return a.toString();
    };
    RingSeriesVisualData.$t = markType(RingSeriesVisualData, 'RingSeriesVisualData');
    return RingSeriesVisualData;
}(Base));
export { RingSeriesVisualData };
