igniteui-react-grids
Version:
Ignite UI React grid components.
72 lines (71 loc) • 2.41 kB
JavaScript
import { IgrGridColumnCollection } from "./igr-grid-column-collection";
import { GridColumnsChangedEventArgs as GridColumnsChangedEventArgs_internal } from "./GridColumnsChangedEventArgs";
import { GridColumnCollection as GridColumnCollection_internal } from "./GridColumnCollection";
import { DataGridColumn } from "./DataGridColumn";
import { SyncableObservableCollection$1 } from "igniteui-react-core";
/**
* Information about the generated columns.
*/
export class IgrGridColumnsChangedEventArgs {
createImplementation() {
return new GridColumnsChangedEventArgs_internal();
}
get nativeElement() {
return this._implementation.nativeElement;
}
/**
* @hidden
*/
get i() {
return this._implementation;
}
onImplementationCreated() {
}
constructor() {
this.mounted = false;
this._columns = null;
this._implementation = this.createImplementation();
this._implementation.externalObject = this;
this.onImplementationCreated();
if (this._initializeAdapters) {
this._initializeAdapters();
}
}
_provideImplementation(i) {
this._implementation = i;
this._implementation.externalObject = this;
this.onImplementationCreated();
if (this._initializeAdapters) {
this._initializeAdapters();
}
}
get columns() {
if (this._columns === null) {
let coll = new IgrGridColumnCollection();
let innerColl = this.i.columns;
if (!innerColl) {
innerColl = new GridColumnCollection_internal();
}
this._columns = coll._fromInner(innerColl);
this.i.columns = innerColl;
}
return this._columns;
}
set columns(v) {
if (this._columns !== null) {
this._columns._setSyncTarget(null);
this._columns = null;
}
let coll = new IgrGridColumnCollection();
this._columns = coll._fromOuter(v);
let syncColl = new SyncableObservableCollection$1(DataGridColumn.$type);
let innerColl = this.i.columns;
if (!innerColl) {
innerColl = new GridColumnCollection_internal();
}
syncColl._inner = innerColl;
syncColl.clear();
this._columns._setSyncTarget(syncColl);
this.i.columns = innerColl;
}
}