angular-wrapper-kendo-ui-app
Version:
A sample application to use and test the TreeList component defined in the *angular-wrapper-kendo-ui* library.
128 lines (100 loc) • 3.19 kB
text/typescript
import {
Component,
ViewEncapsulation,
NgZone,
ElementRef,
ViewChild,
OnInit,
OnDestroy,
AfterViewInit,
ChangeDetectionStrategy,
Input
} from '@angular/core';
declare var kendo: any;
export class TreeListComponent implements OnInit, AfterViewInit, OnDestroy {
public options: kendo.ui.TreeListOptions;
treelistEl: ElementRef;
private _treelist: any;
constructor(private zone: NgZone, private elementRef: ElementRef) { }
ngOnInit() { }
ngAfterViewInit() {
const treeList = kendo.jQuery(this.treelistEl.nativeElement);
this.zone.runOutsideAngular(() => {
this._treelist = treeList
.kendoTreeList(this.options)
.data('kendoTreeList');
});
}
ngOnDestroy(): void {
kendo.destroy(this.elementRef.nativeElement);
}
get dataSource(): any {
return this._treelist && this._treelist.dataSource;
}
get content(): JQuery {
return this._treelist && this._treelist.content;
}
get thead(): JQuery {
return this._treelist && this._treelist.thead;
}
get tbody(): JQuery {
return this._treelist && this._treelist.tbody;
}
public addRow(parentRow: string | Element | JQuery = ''): void {
return this._treelist && this._treelist.addRow(parentRow);
}
public editRow(row: string | JQuery): void {
if (!row) {
return;
}
const internalRow = row instanceof jQuery ? row : kendo.jQuery(row);
return this._treelist && this._treelist.editRow(internalRow);
}
public removeRow(row: string | Element | JQuery): void {
if (!row) {
return;
}
const internalRow = row instanceof jQuery ? row : kendo.jQuery(row);
return this._treelist && this._treelist.removeRow(internalRow);
}
public expand(row: string | Element | JQuery): void {
if (!row) {
return;
}
const internalRow = row instanceof jQuery ? row : kendo.jQuery(row);
return this._treelist && this._treelist.expand(internalRow);
}
public select(row: string | Element | JQuery): JQuery {
if (!row) {
return;
}
const internalRow = row instanceof jQuery ? row : kendo.jQuery(row);
return this._treelist && this._treelist.select(internalRow);
}
public itemFor(model: kendo.data.TreeListModel | Object): JQuery {
if (!model) {
return;
}
return this._treelist && this._treelist.itemFor(model);
}
public dataItem(row: string | Element | JQuery): kendo.data.TreeListModel {
if (!row) {
return;
}
const internalRow = row instanceof jQuery ? row : kendo.jQuery(row);
return this._treelist && this._treelist.dataItem(internalRow);
}
public clearSelection(): void {
return this._treelist && this._treelist.clearSelection();
}
}