data-table-kit
Version:
A simple datatable/datagrid for Angular projects
70 lines • 7.08 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, Input, ViewChild, ViewContainerRef } from '@angular/core';
import { DataTableColumnDirective } from '../data-table-column.directive';
import { DataTableChildDirective } from '../data-table-child.directive';
import { CellDataContext } from '../cell-data-context';
export class DataTableCellComponent {
constructor() {
this.editing = false;
this.rowIndex = -1;
this.viewColumn = null;
}
/**
* @param {?} changes
* @return {?}
*/
ngOnChanges(changes) {
if (changes["data"] || changes["column"] || changes["child"]) {
if (this.data != null) {
if (this.column != null) {
this.viewColumn = this._cellContainerRef.createEmbeddedView(this.column.ColumnTemplate, new CellDataContext(this.data, this.editing, this.rowIndex));
}
if (this.child != null) {
/** @type {?} */
let viewChild = this._cellContainerRef.createEmbeddedView(this.child.ChildTemplate, new CellDataContext(this.data, false, this.rowIndex));
}
}
}
else if (changes["editing"] && this.viewColumn != null) {
this.viewColumn.context.update(this.editing);
}
}
}
DataTableCellComponent.decorators = [
{ type: Component, args: [{
selector: "data-table-cell",
template: "<div [ngClass]=\"fadein\">\n <ng-container #gridCell></ng-container>\n</div>\n",
styles: [""]
}] }
];
DataTableCellComponent.propDecorators = {
data: [{ type: Input }],
fadein: [{ type: Input }],
editing: [{ type: Input }],
rowIndex: [{ type: Input }],
column: [{ type: Input }],
child: [{ type: Input }],
_cellContainerRef: [{ type: ViewChild, args: ["gridCell", { read: ViewContainerRef, static: true },] }]
};
if (false) {
/** @type {?} */
DataTableCellComponent.prototype.data;
/** @type {?} */
DataTableCellComponent.prototype.fadein;
/** @type {?} */
DataTableCellComponent.prototype.editing;
/** @type {?} */
DataTableCellComponent.prototype.rowIndex;
/** @type {?} */
DataTableCellComponent.prototype.column;
/** @type {?} */
DataTableCellComponent.prototype.child;
/** @type {?} */
DataTableCellComponent.prototype._cellContainerRef;
/** @type {?} */
DataTableCellComponent.prototype.viewColumn;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS1jZWxsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2RhdGEtdGFibGUta2l0LyIsInNvdXJjZXMiOlsibGliL2RhdGEtdGFibGUtY2VsbC9kYXRhLXRhYmxlLWNlbGwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQWtDLE1BQU0sZUFBZSxDQUFDO0FBQzlHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQU92RCxNQUFNLE9BQU8sc0JBQXNCO0lBTG5DO1FBUVcsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUN6QixhQUFRLEdBQVcsQ0FBQyxDQUFDLENBQUM7UUFLL0IsZUFBVSxHQUF5QixJQUFJLENBQUM7SUF1QjFDLENBQUM7Ozs7O0lBckJDLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzVELElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLEVBQUU7Z0JBQ3JCLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLEVBQUU7b0JBQ3ZCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUN6RCxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFDMUIsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FDNUQsQ0FBQztpQkFDSDtnQkFDRCxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFOzt3QkFDbEIsU0FBUyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FDdkQsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQ3hCLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FDckQ7aUJBQ0Y7YUFDRjtTQUNGO2FBQ0ksSUFBRyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUUsSUFBSSxDQUFDLFVBQVUsSUFBRSxJQUFJLEVBQUM7WUFDaEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUM5QztJQUNILENBQUM7OztZQXBDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtnQkFDM0IsMkZBQStDOzthQUVoRDs7O21CQUVFLEtBQUs7cUJBQ0wsS0FBSztzQkFDTCxLQUFLO3VCQUNMLEtBQUs7cUJBQ0wsS0FBSztvQkFDTCxLQUFLO2dDQUNMLFNBQVMsU0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTs7OztJQU4vRCxzQ0FBbUI7O0lBQ25CLHdDQUF3Qjs7SUFDeEIseUNBQWtDOztJQUNsQywwQ0FBK0I7O0lBQy9CLHdDQUEwQzs7SUFDMUMsdUNBQXdDOztJQUN4QyxtREFBcUc7O0lBRXJHLDRDQUF3QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiwgU2ltcGxlQ2hhbmdlcywgRW1iZWRkZWRWaWV3UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRhVGFibGVDb2x1bW5EaXJlY3RpdmUgfSBmcm9tICcuLi9kYXRhLXRhYmxlLWNvbHVtbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRGF0YVRhYmxlQ2hpbGREaXJlY3RpdmUgfSBmcm9tICcuLi9kYXRhLXRhYmxlLWNoaWxkLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDZWxsRGF0YUNvbnRleHQgfSBmcm9tICcuLi9jZWxsLWRhdGEtY29udGV4dCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJkYXRhLXRhYmxlLWNlbGxcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9kYXRhLXRhYmxlLWNlbGwuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL2RhdGEtdGFibGUtY2VsbC5jb21wb25lbnQuY3NzXCJdXG59KVxuZXhwb3J0IGNsYXNzIERhdGFUYWJsZUNlbGxDb21wb25lbnQge1xuICBASW5wdXQoKSBkYXRhOiBhbnk7XG4gIEBJbnB1dCgpIGZhZGVpbjogc3RyaW5nO1xuICBASW5wdXQoKSBlZGl0aW5nOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHJvd0luZGV4OiBudW1iZXIgPSAtMTtcbiAgQElucHV0KCkgY29sdW1uOiBEYXRhVGFibGVDb2x1bW5EaXJlY3RpdmU7XG4gIEBJbnB1dCgpIGNoaWxkOiBEYXRhVGFibGVDaGlsZERpcmVjdGl2ZTtcbiAgQFZpZXdDaGlsZChcImdyaWRDZWxsXCIsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pIF9jZWxsQ29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmO1xuXG4gIHZpZXdDb2x1bW46IEVtYmVkZGVkVmlld1JlZjxhbnk+ID0gbnVsbDtcblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbXCJkYXRhXCJdIHx8IGNoYW5nZXNbXCJjb2x1bW5cIl0gfHwgY2hhbmdlc1tcImNoaWxkXCJdKSB7XG4gICAgICBpZiAodGhpcy5kYXRhICE9IG51bGwpIHtcbiAgICAgICAgaWYgKHRoaXMuY29sdW1uICE9IG51bGwpIHtcbiAgICAgICAgICB0aGlzLnZpZXdDb2x1bW4gPSB0aGlzLl9jZWxsQ29udGFpbmVyUmVmLmNyZWF0ZUVtYmVkZGVkVmlldyhcbiAgICAgICAgICAgIHRoaXMuY29sdW1uLkNvbHVtblRlbXBsYXRlLFxuICAgICAgICAgICAgbmV3IENlbGxEYXRhQ29udGV4dCh0aGlzLmRhdGEsIHRoaXMuZWRpdGluZywgdGhpcy5yb3dJbmRleClcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmNoaWxkICE9IG51bGwpIHtcbiAgICAgICAgICBsZXQgdmlld0NoaWxkID0gdGhpcy5fY2VsbENvbnRhaW5lclJlZi5jcmVhdGVFbWJlZGRlZFZpZXcoXG4gICAgICAgICAgICB0aGlzLmNoaWxkLkNoaWxkVGVtcGxhdGUsXG4gICAgICAgICAgICBuZXcgQ2VsbERhdGFDb250ZXh0KHRoaXMuZGF0YSwgZmFsc2UsIHRoaXMucm93SW5kZXgpXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmKGNoYW5nZXNbXCJlZGl0aW5nXCJdJiZ0aGlzLnZpZXdDb2x1bW4hPW51bGwpe1xuICAgICAgdGhpcy52aWV3Q29sdW1uLmNvbnRleHQudXBkYXRlKHRoaXMuZWRpdGluZyk7XG4gICAgfVxuICB9XG59XG4iXX0=