igniteui-angular-core
Version:
Ignite UI Angular Core logic used in multiple UI components.
81 lines (80 loc) • 2.42 kB
JavaScript
import { IgxDataSourceSummaryDescription } from "./igx-data-source-summary-description";
import { DataSourceSummaryDescriptionCollection as DataSourceSummaryDescriptionCollection_internal } from "./DataSourceSummaryDescriptionCollection";
import { ensureBool } from "./componentUtil";
export class IgxDataSourceSummaryDescriptionCollection {
constructor() {
this._implementation = this.createImplementation();
this._implementation.externalObject = this;
this.onImplementationCreated();
if (this._initializeAdapters) {
this._initializeAdapters();
}
}
createImplementation() {
return new DataSourceSummaryDescriptionCollection_internal();
}
/**
* @hidden
*/
get i() {
return this._implementation;
}
onImplementationCreated() {
}
_provideImplementation(i) {
this._implementation = i;
this._implementation.externalObject = this;
this.onImplementationCreated();
}
/**
* Gets or sets whether this collection should detach the sync when the target collection changes.
*/
get shouldDetachOnTargetChange() {
return this.i.i;
}
set shouldDetachOnTargetChange(v) {
this.i.i = ensureBool(v);
}
findByName(name) {
if (this.findEphemera) {
if (name && name.indexOf("@@e:") == 0) {
return this.findEphemera(name);
}
}
return null;
}
add(item) {
let iv = this.i.g((item == null ? null : item.i));
return (iv);
}
insert(index, item) {
this.i.p(index, (item == null ? null : item.i));
}
clear() {
this.i.o();
}
indexOf(item) {
let iv = this.i.k((item == null ? null : item.i));
return (iv);
}
remove(item) {
let iv = this.i.h((item == null ? null : item.i));
return (iv);
}
removeAt(index) {
let iv = this.i.b(index);
let ret = null;
if (iv && iv.externalObject) {
ret = iv.externalObject;
}
else {
if (iv) {
let e = new IgxDataSourceSummaryDescription();
e._implementation = iv;
iv.externalObject = e;
ret = e;
}
}
return ret;
}
}