UNPKG

xenos

Version:

Xenos is a data grid built upon angular2 and bootstrap.

35 lines (28 loc) 1.1 kB
import { DataGridColumn } from "./data-grid-column"; import { ItemsChangedArgs } from "./items-changed.args"; import { Subject } from "rxjs/Subject"; export class ObservableArray<T> extends Array<T> { constructor() { super(); this.itemsChanged = new Subject<ItemsChangedArgs<T>>(); } public itemsChanged: Subject<ItemsChangedArgs<T>>; public splice(start: number, deleteCount?: number, ...items: T[]): T[] { if (deleteCount == null) { deleteCount = this.length; } var elements = super.splice(start, deleteCount, ...items); this.itemsChanged.next(new ItemsChangedArgs([], elements)); return elements; } public push(...items: T[]): number { items.forEach(x => super.push(x)); this.itemsChanged.next(new ItemsChangedArgs(items, [])); return this.length; } public add(...items: T[]): number { items.forEach(x => super.push(x)); this.itemsChanged.next(new ItemsChangedArgs(items, [])); return this.length; } }