UNPKG

ng-devui

Version:

DevUI components based on Angular

41 lines 14.6 kB
import { Component, ContentChild, Input, TemplateRef } from '@angular/core'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; import * as i2 from "@angular/cdk/scrolling"; export class TableTbodyComponent { constructor() { this.dataSource = []; this.nestedLayer = 0; this.nestedIndex = '-1'; } ngOnInit() { } trackByFn(index) { return index; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableTbodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TableTbodyComponent, selector: "[dTableBody]", inputs: { dataSource: "dataSource", rowTemplete: "rowTemplete", nestedLayer: "nestedLayer", nestedIndex: "nestedIndex", virtualScroll: "virtualScroll", tableWidthConfig: "tableWidthConfig", minHeight: "minHeight", minHeightStretchRow: "minHeightStretchRow" }, queries: [{ propertyName: "rowTempleteForSelect", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"!virtualScroll; else scrollViewTpl\">\n <ng-container *ngFor=\"let rowItem of dataSource; trackBy: trackByFn; let rowIndex = index\">\n <ng-template\n [ngTemplateOutlet]=\"trTable\"\n [ngTemplateOutletContext]=\"{ rowItem: rowItem, rowIndex: rowIndex, nestedLayer: nestedLayer, nestedIndex: nestedIndex }\"\n >\n </ng-template>\n </ng-container>\n</ng-container>\n\n<ng-template #scrollViewTpl>\n <ng-container *cdkVirtualFor=\"let rowItem of dataSource; trackBy: trackByFn; let rowIndex = index\">\n <ng-template\n [ngTemplateOutlet]=\"trTable\"\n [ngTemplateOutletContext]=\"{ rowItem: rowItem, rowIndex: rowIndex, nestedLayer: nestedLayer, nestedIndex: nestedIndex }\"\n >\n </ng-template>\n </ng-container>\n</ng-template>\n\n<ng-template #trTable let-rowIndex=\"rowIndex\" let-rowItem=\"rowItem\" let-nestedLayer=\"nestedLayer\" let-nestedIndex=\"nestedIndex\">\n <ng-template\n [ngTemplateOutlet]=\"rowTemplete\"\n [ngTemplateOutletContext]=\"{ rowItem: rowItem, rowIndex: rowIndex, nestedLayer: nestedLayer, nestedIndex: nestedIndex }\"\n ></ng-template>\n <tr class=\"child-table\" *ngIf=\"rowItem['children'] && rowItem['$isChildTableOpen']\" [style.height]=\"minHeight ? '40px' : null\">\n <td [attr.colspan]=\"tableWidthConfig.length\">\n <table class=\"devui-table\" style=\"table-layout: fixed\">\n <colgroup>\n <col [style.width]=\"config.width\" *ngFor=\"let config of tableWidthConfig\" />\n </colgroup>\n <tbody\n dTableBody\n [rowTemplete]=\"rowTemplete\"\n [dataSource]=\"rowItem['children']\"\n [tableWidthConfig]=\"tableWidthConfig\"\n [nestedLayer]=\"nestedLayer + 1\"\n [nestedIndex]=\"nestedIndex + ',' + rowIndex\"\n ></tbody>\n </table>\n </td>\n </tr>\n</ng-template>\n\n<ng-template [ngTemplateOutlet]=\"minHeightStretchRow\"></ng-template>\n", styles: [".devui-font-size-base{font-size:var(--devui-font-size, 12px)}.devui-font-base{font-size:var(--devui-font-size, 12px);font-weight:var(--devui-font-content-weight, normal);line-height:var(--devui-line-height-base, 1.5)}.devui-font-size-modal-title{font-size:var(--devui-font-size-modal-title, 18px)}.devui-font-modal-title{font-size:var(--devui-font-size-modal-title, 18px);font-weight:var(--devui-font-title-weight, bold);line-height:var(--devui-line-height-base, 1.5)}.devui-font-size-page-title{font-size:var(--devui-font-size-page-title, 16px)}.devui-font-page-title{font-size:var(--devui-font-size-page-title, 16px);font-weight:var(--devui-font-title-weight, bold);line-height:var(--devui-line-height-base, 1.5)}.devui-font-size-secondary-title{font-size:var(--devui-font-size-card-title, 14px)}.devui-font-secondary-title{font-size:var(--devui-font-size-card-title, 14px);font-weight:var(--devui-font-title-weight, bold);line-height:var(--devui-line-height-base, 1.5)}.detail-content{color:var(--devui-text, #191919);font-size:var(--devui-font-size, 12px);font-weight:400;background-color:var(--devui-area, #f3f3f3)}.child-table:hover{background:transparent!important}.child-table .devui-table{background:transparent;margin-bottom:0}.child-table>td{padding:0;border:0}::ng-deep .devui-table tbody>tr.expand-row{background:var(--devui-table-expand-area-bg, #f7f8fa)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: TableTbodyComponent, selector: "[dTableBody]", inputs: ["dataSource", "rowTemplete", "nestedLayer", "nestedIndex", "virtualScroll", "tableWidthConfig", "minHeight", "minHeightStretchRow"] }] }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableTbodyComponent, decorators: [{ type: Component, args: [{ selector: '[dTableBody]', template: "<ng-container *ngIf=\"!virtualScroll; else scrollViewTpl\">\n <ng-container *ngFor=\"let rowItem of dataSource; trackBy: trackByFn; let rowIndex = index\">\n <ng-template\n [ngTemplateOutlet]=\"trTable\"\n [ngTemplateOutletContext]=\"{ rowItem: rowItem, rowIndex: rowIndex, nestedLayer: nestedLayer, nestedIndex: nestedIndex }\"\n >\n </ng-template>\n </ng-container>\n</ng-container>\n\n<ng-template #scrollViewTpl>\n <ng-container *cdkVirtualFor=\"let rowItem of dataSource; trackBy: trackByFn; let rowIndex = index\">\n <ng-template\n [ngTemplateOutlet]=\"trTable\"\n [ngTemplateOutletContext]=\"{ rowItem: rowItem, rowIndex: rowIndex, nestedLayer: nestedLayer, nestedIndex: nestedIndex }\"\n >\n </ng-template>\n </ng-container>\n</ng-template>\n\n<ng-template #trTable let-rowIndex=\"rowIndex\" let-rowItem=\"rowItem\" let-nestedLayer=\"nestedLayer\" let-nestedIndex=\"nestedIndex\">\n <ng-template\n [ngTemplateOutlet]=\"rowTemplete\"\n [ngTemplateOutletContext]=\"{ rowItem: rowItem, rowIndex: rowIndex, nestedLayer: nestedLayer, nestedIndex: nestedIndex }\"\n ></ng-template>\n <tr class=\"child-table\" *ngIf=\"rowItem['children'] && rowItem['$isChildTableOpen']\" [style.height]=\"minHeight ? '40px' : null\">\n <td [attr.colspan]=\"tableWidthConfig.length\">\n <table class=\"devui-table\" style=\"table-layout: fixed\">\n <colgroup>\n <col [style.width]=\"config.width\" *ngFor=\"let config of tableWidthConfig\" />\n </colgroup>\n <tbody\n dTableBody\n [rowTemplete]=\"rowTemplete\"\n [dataSource]=\"rowItem['children']\"\n [tableWidthConfig]=\"tableWidthConfig\"\n [nestedLayer]=\"nestedLayer + 1\"\n [nestedIndex]=\"nestedIndex + ',' + rowIndex\"\n ></tbody>\n </table>\n </td>\n </tr>\n</ng-template>\n\n<ng-template [ngTemplateOutlet]=\"minHeightStretchRow\"></ng-template>\n", styles: [".devui-font-size-base{font-size:var(--devui-font-size, 12px)}.devui-font-base{font-size:var(--devui-font-size, 12px);font-weight:var(--devui-font-content-weight, normal);line-height:var(--devui-line-height-base, 1.5)}.devui-font-size-modal-title{font-size:var(--devui-font-size-modal-title, 18px)}.devui-font-modal-title{font-size:var(--devui-font-size-modal-title, 18px);font-weight:var(--devui-font-title-weight, bold);line-height:var(--devui-line-height-base, 1.5)}.devui-font-size-page-title{font-size:var(--devui-font-size-page-title, 16px)}.devui-font-page-title{font-size:var(--devui-font-size-page-title, 16px);font-weight:var(--devui-font-title-weight, bold);line-height:var(--devui-line-height-base, 1.5)}.devui-font-size-secondary-title{font-size:var(--devui-font-size-card-title, 14px)}.devui-font-secondary-title{font-size:var(--devui-font-size-card-title, 14px);font-weight:var(--devui-font-title-weight, bold);line-height:var(--devui-line-height-base, 1.5)}.detail-content{color:var(--devui-text, #191919);font-size:var(--devui-font-size, 12px);font-weight:400;background-color:var(--devui-area, #f3f3f3)}.child-table:hover{background:transparent!important}.child-table .devui-table{background:transparent;margin-bottom:0}.child-table>td{padding:0;border:0}::ng-deep .devui-table tbody>tr.expand-row{background:var(--devui-table-expand-area-bg, #f7f8fa)}\n"] }] }], ctorParameters: () => [], propDecorators: { dataSource: [{ type: Input }], rowTemplete: [{ type: Input }], nestedLayer: [{ type: Input }], nestedIndex: [{ type: Input }], virtualScroll: [{ type: Input }], tableWidthConfig: [{ type: Input }], minHeight: [{ type: Input }], minHeightStretchRow: [{ type: Input }], rowTempleteForSelect: [{ type: ContentChild, args: [TemplateRef] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGJvZHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vZGV2dWkvZGF0YS10YWJsZS90YWJsZS9ib2R5L3Rib2R5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2RldnVpL2RhdGEtdGFibGUvdGFibGUvYm9keS90Ym9keS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBVXBGLE1BQU0sT0FBTyxtQkFBbUI7SUFZOUI7UUFYUyxlQUFVLEdBQVUsRUFBRSxDQUFDO1FBRXZCLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLGdCQUFXLEdBQUcsSUFBSSxDQUFDO0lBUWIsQ0FBQztJQUVoQixRQUFRLEtBQUksQ0FBQztJQUViLFNBQVMsQ0FBQyxLQUFLO1FBQ2IsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOytHQWxCVSxtQkFBbUI7bUdBQW5CLG1CQUFtQiwwV0FVaEIsV0FBVyxnRENwQjNCLGk2REE2Q0EsNCtERG5DYSxtQkFBbUI7OzRGQUFuQixtQkFBbUI7a0JBTi9CLFNBQVM7K0JBRUUsY0FBYzt3REFLZixVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUVxQixvQkFBb0I7c0JBQTlDLFlBQVk7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBJbnB1dCwgT25Jbml0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGFibGVXaWR0aENvbmZpZyB9IGZyb20gJy4uLy4uL2RhdGEtdGFibGUubW9kZWwnO1xuaW1wb3J0IHsgVGFibGVUckNvbXBvbmVudCB9IGZyb20gJy4uL3Jvdy90ci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgLyogZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3IqL1xuICBzZWxlY3RvcjogJ1tkVGFibGVCb2R5XScsXG4gIHRlbXBsYXRlVXJsOiAnLi90Ym9keS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Rib2R5LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVGFibGVUYm9keUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGRhdGFTb3VyY2U6IGFueVtdID0gW107XG4gIEBJbnB1dCgpIHJvd1RlbXBsZXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBASW5wdXQoKSBuZXN0ZWRMYXllciA9IDA7XG4gIEBJbnB1dCgpIG5lc3RlZEluZGV4ID0gJy0xJztcbiAgQElucHV0KCkgdmlydHVhbFNjcm9sbDtcbiAgQElucHV0KCkgdGFibGVXaWR0aENvbmZpZzogVGFibGVXaWR0aENvbmZpZ1tdO1xuICBASW5wdXQoKSBtaW5IZWlnaHQ6IHN0cmluZztcbiAgQElucHV0KCkgbWluSGVpZ2h0U3RyZXRjaFJvdzogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAQ29udGVudENoaWxkKFRlbXBsYXRlUmVmKSByb3dUZW1wbGV0ZUZvclNlbGVjdDogVGVtcGxhdGVSZWY8VGFibGVUckNvbXBvbmVudD47XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCkge31cblxuICB0cmFja0J5Rm4oaW5kZXgpIHtcbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIhdmlydHVhbFNjcm9sbDsgZWxzZSBzY3JvbGxWaWV3VHBsXCI+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHJvd0l0ZW0gb2YgZGF0YVNvdXJjZTsgdHJhY2tCeTogdHJhY2tCeUZuOyBsZXQgcm93SW5kZXggPSBpbmRleFwiPlxuICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidHJUYWJsZVwiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyByb3dJdGVtOiByb3dJdGVtLCByb3dJbmRleDogcm93SW5kZXgsIG5lc3RlZExheWVyOiBuZXN0ZWRMYXllciwgbmVzdGVkSW5kZXg6IG5lc3RlZEluZGV4IH1cIlxuICAgID5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI3Njcm9sbFZpZXdUcGw+XG4gIDxuZy1jb250YWluZXIgKmNka1ZpcnR1YWxGb3I9XCJsZXQgcm93SXRlbSBvZiBkYXRhU291cmNlOyB0cmFja0J5OiB0cmFja0J5Rm47IGxldCByb3dJbmRleCA9IGluZGV4XCI+XG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0clRhYmxlXCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHJvd0l0ZW06IHJvd0l0ZW0sIHJvd0luZGV4OiByb3dJbmRleCwgbmVzdGVkTGF5ZXI6IG5lc3RlZExheWVyLCBuZXN0ZWRJbmRleDogbmVzdGVkSW5kZXggfVwiXG4gICAgPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICN0clRhYmxlIGxldC1yb3dJbmRleD1cInJvd0luZGV4XCIgbGV0LXJvd0l0ZW09XCJyb3dJdGVtXCIgbGV0LW5lc3RlZExheWVyPVwibmVzdGVkTGF5ZXJcIiBsZXQtbmVzdGVkSW5kZXg9XCJuZXN0ZWRJbmRleFwiPlxuICA8bmctdGVtcGxhdGVcbiAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJyb3dUZW1wbGV0ZVwiXG4gICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgcm93SXRlbTogcm93SXRlbSwgcm93SW5kZXg6IHJvd0luZGV4LCBuZXN0ZWRMYXllcjogbmVzdGVkTGF5ZXIsIG5lc3RlZEluZGV4OiBuZXN0ZWRJbmRleCB9XCJcbiAgPjwvbmctdGVtcGxhdGU+XG4gIDx0ciBjbGFzcz1cImNoaWxkLXRhYmxlXCIgKm5nSWY9XCJyb3dJdGVtWydjaGlsZHJlbiddICYmIHJvd0l0ZW1bJyRpc0NoaWxkVGFibGVPcGVuJ11cIiBbc3R5bGUuaGVpZ2h0XT1cIm1pbkhlaWdodCA/ICc0MHB4JyA6IG51bGxcIj5cbiAgICA8dGQgW2F0dHIuY29sc3Bhbl09XCJ0YWJsZVdpZHRoQ29uZmlnLmxlbmd0aFwiPlxuICAgICAgPHRhYmxlIGNsYXNzPVwiZGV2dWktdGFibGVcIiBzdHlsZT1cInRhYmxlLWxheW91dDogZml4ZWRcIj5cbiAgICAgICAgPGNvbGdyb3VwPlxuICAgICAgICAgIDxjb2wgW3N0eWxlLndpZHRoXT1cImNvbmZpZy53aWR0aFwiICpuZ0Zvcj1cImxldCBjb25maWcgb2YgdGFibGVXaWR0aENvbmZpZ1wiIC8+XG4gICAgICAgIDwvY29sZ3JvdXA+XG4gICAgICAgIDx0Ym9keVxuICAgICAgICAgIGRUYWJsZUJvZHlcbiAgICAgICAgICBbcm93VGVtcGxldGVdPVwicm93VGVtcGxldGVcIlxuICAgICAgICAgIFtkYXRhU291cmNlXT1cInJvd0l0ZW1bJ2NoaWxkcmVuJ11cIlxuICAgICAgICAgIFt0YWJsZVdpZHRoQ29uZmlnXT1cInRhYmxlV2lkdGhDb25maWdcIlxuICAgICAgICAgIFtuZXN0ZWRMYXllcl09XCJuZXN0ZWRMYXllciArIDFcIlxuICAgICAgICAgIFtuZXN0ZWRJbmRleF09XCJuZXN0ZWRJbmRleCArICcsJyArIHJvd0luZGV4XCJcbiAgICAgICAgPjwvdGJvZHk+XG4gICAgICA8L3RhYmxlPlxuICAgIDwvdGQ+XG4gIDwvdHI+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibWluSGVpZ2h0U3RyZXRjaFJvd1wiPjwvbmctdGVtcGxhdGU+XG4iXX0=