@duoduo-oba/ng-devui
Version:
DevUI components based on Angular
110 lines • 12.1 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: data-table-body.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, Input, TemplateRef } from '@angular/core';
import { DataTableComponent } from './data-table.component';
export class DataTableBodyComponent {
/**
* @param {?} dt
*/
constructor(dt) {
this.dt = dt;
this.dataSource = [];
this.nestedIndex = '-1';
}
/**
* @param {?} changes
* @return {?}
*/
ngOnChanges(changes) {
if (changes && changes.columns) {
/** @type {?} */
let columnSpan = this.columns.length;
if (this.showExpandToggle) {
columnSpan += 1;
}
if (this.checkable) {
columnSpan += 1;
}
this.childTdColspan = columnSpan;
}
}
/**
* @param {?} index
* @param {?} item
* @return {?}
*/
trackByFn(index, item) {
return index;
}
}
DataTableBodyComponent.decorators = [
{ type: Component, args: [{
selector: 'd-data-table-body, [dDataTableBody]',
template: "<ng-container *ngIf=\"!virtualScroll; else scrollViewTpl\">\r\n <ng-container *ngFor=\"let rowItem of dataSource; trackBy: trackByFn; let rowIndex = index\">\r\n <ng-template [ngTemplateOutlet]=\"trTable\" [ngTemplateOutletContext]=\"{ rowItem: rowItem, rowIndex: rowIndex }\"> </ng-template>\r\n </ng-container>\r\n</ng-container>\r\n\r\n<ng-template #scrollViewTpl>\r\n <ng-container *cdkVirtualFor=\"let rowItem of dataSource; trackBy: trackByFn; let rowIndex = index\">\r\n <ng-template [ngTemplateOutlet]=\"trTable\" [ngTemplateOutletContext]=\"{ rowItem: rowItem, rowIndex: rowIndex }\"> </ng-template>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #trTable let-rowIndex=\"rowIndex\" let-rowItem=\"rowItem\">\r\n <tr\r\n *ngIf=\"!rowItem['$draggable']\"\r\n dDataTableRow\r\n [resizeable]=\"resizeable\"\r\n [checkable]=\"checkable\"\r\n [rowIndex]=\"rowIndex\"\r\n [rowItem]=\"rowItem\"\r\n [columns]=\"columns\"\r\n [editRowItem]=\"editRowItem\"\r\n [editModel]=\"editModel\"\r\n [allChecked]=\"allChecked\"\r\n [showExpandToggle]=\"showExpandToggle\"\r\n [timeout]=\"timeout\"\r\n [tableLevel]=\"tableLevel\"\r\n [nestedIndex]=\"nestedIndex\"\r\n class=\"{{ rowItem.$rowClass ? rowItem.$rowClass : '' }}\"\r\n [ngClass]=\"{ 'table-row-selected': rowItem.$checked }\"\r\n ></tr>\r\n <tr\r\n *ngIf=\"rowItem['$draggable']\"\r\n dDataTableRow\r\n dDraggable\r\n [resizeable]=\"resizeable\"\r\n [checkable]=\"checkable\"\r\n [rowIndex]=\"rowIndex\"\r\n [rowItem]=\"rowItem\"\r\n [columns]=\"columns\"\r\n [editRowItem]=\"editRowItem\"\r\n [editModel]=\"editModel\"\r\n [allChecked]=\"allChecked\"\r\n [showExpandToggle]=\"showExpandToggle\"\r\n [timeout]=\"timeout\"\r\n [tableLevel]=\"tableLevel\"\r\n [nestedIndex]=\"nestedIndex\"\r\n class=\"{{ rowItem.$rowClass ? rowItem.$rowClass : '' }}\"\r\n [ngClass]=\"{ 'table-row-selected': rowItem.$checked }\"\r\n [dragData]=\"{ data: rowItem }\"\r\n [dragScope]=\"rowItem['$draggable']['scope']\"\r\n [dragOverClass]=\"rowItem['$draggable']['class']\"\r\n ></tr>\r\n <tr *ngIf=\"rowItem['$isDetailOpen'] && rowItem.detail\">\r\n <td [attr.colspan]=\"checkable ? 2 : 1\"></td>\r\n <td [attr.colspan]=\"columns.length\" class=\"detail-content\" [style.padding]=\"'13px'\">\r\n <ng-template\r\n [ngTemplateOutlet]=\"detailTemplateRef || default\"\r\n [ngTemplateOutletContext]=\"{$implicit: this, detail:rowItem.detail, rowIndex:rowIndex, rowItem:rowItem}\"\r\n >\r\n </ng-template>\r\n <ng-template #default let-detail=\"detail\" let-rowIndex=\"rowIndex\" let-rowItem=\"rowItem\">\r\n <div>{{ detail }}</div>\r\n </ng-template>\r\n </td>\r\n </tr>\r\n <tr class=\"expand-row\" *ngIf=\"rowItem.$expandConfig?.expand\">\r\n <td *ngIf=\"checkable\"></td>\r\n <td *ngIf=\"showExpandToggle\"></td>\r\n <td [attr.colspan]=\"columns.length\">\r\n <ng-template\r\n [ngTemplateOutlet]=\"rowItem.$expandConfig?.expandTemplateRef || default\"\r\n [ngTemplateOutletContext]=\"{$implicit: this, columns: columns, rowIndex:rowIndex, rowItem:rowItem}\"\r\n >\r\n </ng-template>\r\n <ng-template #default>\r\n <div>{{ rowItem.$expandConfig?.description }}</div>\r\n </ng-template>\r\n </td>\r\n </tr>\r\n <tr class=\"child-table\" *ngIf=\"rowItem['$isChildTableOpen'] && rowItem['children']\">\r\n <td [attr.colspan]=\"childTdColspan\">\r\n <table class=\"devui-table {{ type ? 'table-' + type : '' }} {{ hover ? 'table-hover' : '' }}\" [style.table-layout]=\"'fixed'\">\r\n <thead></thead>\r\n <tbody\r\n dDataTableBody\r\n [dataSource]=\"rowItem['children']\"\r\n [resizeable]=\"resizeable\"\r\n [columns]=\"columns\"\r\n [checkable]=\"checkable\"\r\n [allChecked]=\"allChecked\"\r\n [selectable]=\"selectable\"\r\n [editModel]=\"editModel\"\r\n [editRowItem]=\"editRowItem\"\r\n [showExpandToggle]=\"showExpandToggle\"\r\n [detailTemplateRef]=\"detailTemplateRef\"\r\n [timeout]=\"timeout\"\r\n [type]=\"type\"\r\n [hover]=\"hover\"\r\n [tableLevel]=\"tableLevel + 1\"\r\n [nestedIndex]=\"nestedIndex + ',' + rowIndex\"\r\n ></tbody>\r\n </table>\r\n </td>\r\n </tr>\r\n</ng-template>\r\n",
styles: [".detail-content{color:#252b3a;font-size:12px;font-weight:400;background-color:#f8f8f8}.child-table:hover{background:0 0!important}.child-table .devui-table{background:0 0;margin-bottom:0}.child-table>td{padding:0;border:0}.expand-row:hover{background:inherit!important}"]
}] }
];
/** @nocollapse */
DataTableBodyComponent.ctorParameters = () => [
{ type: DataTableComponent }
];
DataTableBodyComponent.propDecorators = {
checkable: [{ type: Input }],
showExpandToggle: [{ type: Input }],
allChecked: [{ type: Input }],
selectable: [{ type: Input }],
editModel: [{ type: Input }],
editRowItem: [{ type: Input }],
dataSource: [{ type: Input }],
resizeable: [{ type: Input }],
columns: [{ type: Input }],
detailTemplateRef: [{ type: Input }],
timeout: [{ type: Input }],
type: [{ type: Input }],
hover: [{ type: Input }],
tableLevel: [{ type: Input }],
nestedIndex: [{ type: Input }],
virtualScroll: [{ type: Input }]
};
if (false) {
/** @type {?} */
DataTableBodyComponent.prototype.checkable;
/** @type {?} */
DataTableBodyComponent.prototype.showExpandToggle;
/** @type {?} */
DataTableBodyComponent.prototype.allChecked;
/** @type {?} */
DataTableBodyComponent.prototype.selectable;
/** @type {?} */
DataTableBodyComponent.prototype.editModel;
/** @type {?} */
DataTableBodyComponent.prototype.editRowItem;
/** @type {?} */
DataTableBodyComponent.prototype.dataSource;
/** @type {?} */
DataTableBodyComponent.prototype.resizeable;
/** @type {?} */
DataTableBodyComponent.prototype.columns;
/** @type {?} */
DataTableBodyComponent.prototype.detailTemplateRef;
/** @type {?} */
DataTableBodyComponent.prototype.timeout;
/** @type {?} */
DataTableBodyComponent.prototype.type;
/** @type {?} */
DataTableBodyComponent.prototype.hover;
/** @type {?} */
DataTableBodyComponent.prototype.tableLevel;
/** @type {?} */
DataTableBodyComponent.prototype.nestedIndex;
/** @type {?} */
DataTableBodyComponent.prototype.virtualScroll;
/** @type {?} */
DataTableBodyComponent.prototype.childTdColspan;
/** @type {?} */
DataTableBodyComponent.prototype.dt;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS1ib2R5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWRldnVpL2RhdGEtdGFibGUvIiwic291cmNlcyI6WyJkYXRhLXRhYmxlLWJvZHkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQTRCLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQVM1RCxNQUFNLE9BQU8sc0JBQXNCOzs7O0lBa0JqQyxZQUFtQixFQUFzQjtRQUF0QixPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQVhoQyxlQUFVLEdBQVUsRUFBRSxDQUFDO1FBUXZCLGdCQUFXLEdBQUcsSUFBSSxDQUFDO0lBSzVCLENBQUM7Ozs7O0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUU7O2dCQUMxQixVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNO1lBQ3BDLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO2dCQUN6QixVQUFVLElBQUksQ0FBQyxDQUFDO2FBQ2pCO1lBQ0QsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO2dCQUNsQixVQUFVLElBQUksQ0FBQyxDQUFDO2FBQ2pCO1lBQ0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxVQUFVLENBQUM7U0FDbEM7SUFDSCxDQUFDOzs7Ozs7SUFFRCxTQUFTLENBQUMsS0FBSyxFQUFFLElBQUk7UUFDbkIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzs7WUEzQ0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxxQ0FBcUM7Z0JBQy9DLHczSUFBK0M7O2FBR2hEOzs7O1lBUlEsa0JBQWtCOzs7d0JBVXhCLEtBQUs7K0JBQ0wsS0FBSzt5QkFDTCxLQUFLO3lCQUNMLEtBQUs7d0JBQ0wsS0FBSzswQkFDTCxLQUFLO3lCQUNMLEtBQUs7eUJBQ0wsS0FBSztzQkFDTCxLQUFLO2dDQUNMLEtBQUs7c0JBQ0wsS0FBSzttQkFDTCxLQUFLO29CQUNMLEtBQUs7eUJBQ0wsS0FBSzswQkFDTCxLQUFLOzRCQUNMLEtBQUs7Ozs7SUFmTiwyQ0FBNEI7O0lBQzVCLGtEQUFtQzs7SUFDbkMsNENBQTZCOztJQUM3Qiw0Q0FBNkI7O0lBQzdCLDJDQUEyQjs7SUFDM0IsNkNBQTBCOztJQUMxQiw0Q0FBZ0M7O0lBQ2hDLDRDQUE2Qjs7SUFDN0IseUNBQWlEOztJQUNqRCxtREFBNkM7O0lBQzdDLHlDQUF5Qjs7SUFDekIsc0NBQXNCOztJQUN0Qix1Q0FBd0I7O0lBQ3hCLDRDQUE0Qjs7SUFDNUIsNkNBQTRCOztJQUM1QiwrQ0FBdUI7O0lBQ3ZCLGdEQUF1Qjs7SUFDWCxvQ0FBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERhdGFUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vZGF0YS10YWJsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEYXRhVGFibGVDb2x1bW5UbXBsQ29tcG9uZW50IH0gZnJvbSAnLi90bXBsL2RhdGEtdGFibGUtY29sdW1uLXRtcGwuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZC1kYXRhLXRhYmxlLWJvZHksIFtkRGF0YVRhYmxlQm9keV0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLXRhYmxlLWJvZHkuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RhdGEtdGFibGUtYm9keS5jb21wb25lbnQuc2NzcyddLFxyXG4gIC8vIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEYXRhVGFibGVCb2R5Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSBjaGVja2FibGU6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgc2hvd0V4cGFuZFRvZ2dsZTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBhbGxDaGVja2VkOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIHNlbGVjdGFibGU6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgZWRpdE1vZGVsOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZWRpdFJvd0l0ZW06IGFueTtcclxuICBASW5wdXQoKSBkYXRhU291cmNlOiBhbnlbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIHJlc2l6ZWFibGU6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgY29sdW1uczogRGF0YVRhYmxlQ29sdW1uVG1wbENvbXBvbmVudFtdO1xyXG4gIEBJbnB1dCgpIGRldGFpbFRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBJbnB1dCgpIHRpbWVvdXQ6IG51bWJlcjtcclxuICBASW5wdXQoKSB0eXBlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaG92ZXI6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgdGFibGVMZXZlbDogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIG5lc3RlZEluZGV4ID0gJy0xJztcclxuICBASW5wdXQoKSB2aXJ0dWFsU2Nyb2xsO1xyXG4gIGNoaWxkVGRDb2xzcGFuOiBudW1iZXI7XHJcbiAgY29uc3RydWN0b3IocHVibGljIGR0OiBEYXRhVGFibGVDb21wb25lbnQpIHtcclxuXHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlcyAmJiBjaGFuZ2VzLmNvbHVtbnMpIHtcclxuICAgICAgbGV0IGNvbHVtblNwYW4gPSB0aGlzLmNvbHVtbnMubGVuZ3RoO1xyXG4gICAgICBpZiAodGhpcy5zaG93RXhwYW5kVG9nZ2xlKSB7XHJcbiAgICAgICAgY29sdW1uU3BhbiArPSAxO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmNoZWNrYWJsZSkge1xyXG4gICAgICAgIGNvbHVtblNwYW4gKz0gMTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmNoaWxkVGRDb2xzcGFuID0gY29sdW1uU3BhbjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRyYWNrQnlGbihpbmRleCwgaXRlbSkge1xyXG4gICAgcmV0dXJuIGluZGV4O1xyXG4gIH1cclxufVxyXG4iXX0=