igniteui-webcomponents-charts
Version:
Ignite UI Web Components charting components for building rich data visualizations using TypeScript APIs.
221 lines (220 loc) • 8.72 kB
JavaScript
import { __extends } from "tslib";
import { IgcRing } from "./igc-ring";
import { IgcRingSeriesBaseComponent } from "./igc-ring-series-base-component";
import { RingSeries } from "./RingSeries";
import { IgcIndexCollection } from "./igc-index-collection";
import { IndexCollection as IndexCollection_internal } from "./IndexCollection";
import { Number_$type } from "igniteui-webcomponents-core";
import { SyncableObservableCollection$1 } from "igniteui-webcomponents-core";
import { getAllPropertyNames, toSpinal } from "igniteui-webcomponents-core";
import { RegisterElementHelper } from "igniteui-webcomponents-core";
/**
* Represents one ring in
* IgxDoughnutChartComponent series.
*/
var IgcRingSeriesComponent = /** @class */ /*@__PURE__*/ (function (_super) {
__extends(IgcRingSeriesComponent, _super);
function IgcRingSeriesComponent() {
var _this = _super.call(this) || this;
_this._explodedSlices = null;
_this._selectedSlices = null;
return _this;
}
IgcRingSeriesComponent.prototype.createImplementation = function () {
return new RingSeries();
};
Object.defineProperty(IgcRingSeriesComponent.prototype, "i", {
get: function () {
return this._implementation;
},
enumerable: false,
configurable: true
});
Object.defineProperty(IgcRingSeriesComponent.prototype, "explodedSlices", {
/**
* Gets or sets the collection of exploded slice indices.
*/
get: function () {
if (this._explodedSlices === null) {
var coll = new IgcIndexCollection();
var innerColl = void 0;
if (this.ring.i.ringControl.arcs.count == 0) {
innerColl = new IndexCollection_internal();
}
else {
innerColl = this.ring.i.ringControl.arcs.item(0).explodedSlices;
}
this._explodedSlices = coll._fromInner(innerColl);
}
return this._explodedSlices;
},
set: function (v) {
if (this._explodedSlices !== null) {
this._explodedSlices._setSyncTarget(null);
this._explodedSlices = null;
}
var coll = new IgcIndexCollection();
this._explodedSlices = coll._fromOuter(v);
var syncColl = new SyncableObservableCollection$1(Number_$type);
var innerColl;
if (this.ring.i.ringControl.arcs.count == 0) {
innerColl = new IndexCollection_internal();
}
else {
innerColl = this.ring.i.ringControl.arcs.item(0).explodedSlices;
}
syncColl._inner = innerColl;
syncColl.clear();
this._explodedSlices._setSyncTarget(syncColl);
},
enumerable: false,
configurable: true
});
Object.defineProperty(IgcRingSeriesComponent.prototype, "selectedSlices", {
/**
* Gets or sets the collection of selected slice indices.
*/
get: function () {
if (this._selectedSlices === null) {
var coll = new IgcIndexCollection();
var innerColl = void 0;
if (this.ring.i.ringControl.arcs.count == 0) {
innerColl = new IndexCollection_internal();
}
else {
innerColl = this.ring.i.ringControl.arcs.item(0).selectedSlices;
}
this._selectedSlices = coll._fromInner(innerColl);
}
return this._selectedSlices;
},
set: function (v) {
if (this._selectedSlices !== null) {
this._selectedSlices._setSyncTarget(null);
this._selectedSlices = null;
}
var coll = new IgcIndexCollection();
this._selectedSlices = coll._fromOuter(v);
var syncColl = new SyncableObservableCollection$1(Number_$type);
var innerColl;
if (this.ring.i.ringControl.arcs.count == 0) {
innerColl = new IndexCollection_internal();
}
else {
innerColl = this.ring.i.ringControl.arcs.item(0).selectedSlices;
}
syncColl._inner = innerColl;
syncColl.clear();
this._selectedSlices._setSyncTarget(syncColl);
},
enumerable: false,
configurable: true
});
IgcRingSeriesComponent.prototype.sychronizeCollections = function () {
if (this._explodedSlices) {
var inner = this._explodedSlices._inner;
if (inner && inner !== this.ring.i.ringControl.arcs.item(0).explodedSlices) {
this._explodedSlices._inner = this.ring.i.ringControl.arcs.item(0).explodedSlices;
for (var i = 0; i < inner.count; i++) {
this._explodedSlices.add(inner.item(i));
}
}
}
if (this._selectedSlices) {
var inner = this._selectedSlices._inner;
if (inner && inner !== this.ring.i.ringControl.arcs.item(0).selectedSlices) {
this._selectedSlices._inner = this.ring.i.ringControl.arcs.item(0).selectedSlices;
for (var i = 0; i < inner.count; i++) {
this._selectedSlices.add(inner.item(i));
}
}
}
};
IgcRingSeriesComponent.prototype.connectedCallback = function () {
if (_super.prototype["connectedCallback"]) {
_super.prototype["connectedCallback"].call(this);
}
if (this.i.connectedCallback) {
this.i.connectedCallback();
}
if (!this._attached) {
this._attached = true;
this._flushQueuedAttributes();
}
};
IgcRingSeriesComponent.prototype.disconnectedCallback = function () {
if (_super.prototype["disconnectedCallback"]) {
_super.prototype["disconnectedCallback"].call(this);
}
if (this.i.disconnectedCallback) {
this.i.disconnectedCallback();
}
if (this._attached) {
this._attached = false;
}
};
Object.defineProperty(IgcRingSeriesComponent, "observedAttributes", {
get: function () {
if (IgcRingSeriesComponent._observedAttributesIgcRingSeriesComponent == null) {
var names = getAllPropertyNames(IgcRingSeriesComponent);
for (var i = 0; i < names.length; i++) {
names[i] = toSpinal(names[i]);
}
IgcRingSeriesComponent._observedAttributesIgcRingSeriesComponent = names;
}
return IgcRingSeriesComponent._observedAttributesIgcRingSeriesComponent;
},
enumerable: false,
configurable: true
});
IgcRingSeriesComponent.register = function () {
if (!IgcRingSeriesComponent._isElementRegistered) {
IgcRingSeriesComponent._isElementRegistered = true;
RegisterElementHelper.registerElement(IgcRingSeriesComponent.htmlTagName, IgcRingSeriesComponent);
}
};
Object.defineProperty(IgcRingSeriesComponent.prototype, "ring", {
/**
* Gets reference to the ring data.
*/
get: function () {
var r = this.i.eo;
if (r == null) {
return null;
}
if (!r.externalObject) {
var e = new IgcRing();
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.eo = null : this.i.eo = v.i;
},
enumerable: false,
configurable: true
});
IgcRingSeriesComponent.prototype.findByName = function (name) {
var baseResult = _super.prototype.findByName.call(this, name);
if (baseResult) {
return baseResult;
}
if (this.ring && this.ring.name && this.ring.name == name) {
return this.ring;
}
return null;
};
IgcRingSeriesComponent._observedAttributesIgcRingSeriesComponent = null;
IgcRingSeriesComponent.htmlTagName = "igc-ring-series";
IgcRingSeriesComponent._isElementRegistered = false;
return IgcRingSeriesComponent;
}(IgcRingSeriesBaseComponent));
export { IgcRingSeriesComponent };