carbon-components-angular
Version:
Next generation components
74 lines • 6.72 kB
JavaScript
import { Component, HostBinding, Input } from "@angular/core";
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
export class TableExpandedRow {
constructor() {
this.skeleton = false;
this.expandableRowClass = true;
this.dataChildRow = true;
this.expanded = false;
}
get displayStyle() {
return this.expanded ? null : "none";
}
firstExpandedTemplateInRow(row) {
const found = row.find(d => d.expandedTemplate);
if (found) {
return found.expandedTemplate;
}
return found;
}
firstExpandedDataInRow(row) {
const found = row.find(d => d.expandedData);
if (found) {
return found.expandedData;
}
return found;
}
}
TableExpandedRow.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TableExpandedRow, deps: [], target: i0.ɵɵFactoryTarget.Component });
TableExpandedRow.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TableExpandedRow, selector: "[cdsTableExpandedRow], [ibmTableExpandedRow]", inputs: { row: "row", skeleton: "skeleton", expanded: "expanded" }, host: { properties: { "class.cds--expandable-row": "this.expandableRowClass", "attr.data-child-row": "this.dataChildRow", "style.display": "this.displayStyle" } }, ngImport: i0, template: `
<td [attr.colspan]="row.length + 2">
<ng-container *ngIf="!firstExpandedTemplateInRow(row)">
{{firstExpandedDataInRow(row)}}
</ng-container>
<ng-template
[ngTemplateOutlet]="firstExpandedTemplateInRow(row)"
[ngTemplateOutletContext]="{data: firstExpandedDataInRow(row)}">
</ng-template>
</td>
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TableExpandedRow, decorators: [{
type: Component,
args: [{
// tslint:disable-next-line: component-selector
selector: "[cdsTableExpandedRow], [ibmTableExpandedRow]",
template: `
<td [attr.colspan]="row.length + 2">
<ng-container *ngIf="!firstExpandedTemplateInRow(row)">
{{firstExpandedDataInRow(row)}}
</ng-container>
<ng-template
[ngTemplateOutlet]="firstExpandedTemplateInRow(row)"
[ngTemplateOutletContext]="{data: firstExpandedDataInRow(row)}">
</ng-template>
</td>
`
}]
}], propDecorators: { row: [{
type: Input
}], skeleton: [{
type: Input
}], expandableRowClass: [{
type: HostBinding,
args: ["class.cds--expandable-row"]
}], dataChildRow: [{
type: HostBinding,
args: ["attr.data-child-row"]
}], expanded: [{
type: Input
}], displayStyle: [{
type: HostBinding,
args: ["style.display"]
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZXhwYW5kZWQtcm93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90YWJsZS9ib2R5L3RhYmxlLWV4cGFuZGVkLXJvdy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxFQUNMLE1BQU0sZUFBZSxDQUFDOzs7QUFpQnZCLE1BQU0sT0FBTyxnQkFBZ0I7SUFmN0I7UUFrQlUsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVnQix1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUFFaEMsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFFL0MsYUFBUSxHQUFHLEtBQUssQ0FBQztLQXFCMUI7SUFuQkEsSUFBa0MsWUFBWTtRQUM3QyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3RDLENBQUM7SUFFRCwwQkFBMEIsQ0FBQyxHQUFHO1FBQzdCLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNoRCxJQUFJLEtBQUssRUFBRTtZQUNWLE9BQU8sS0FBSyxDQUFDLGdCQUFnQixDQUFDO1NBQzlCO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZCxDQUFDO0lBRUQsc0JBQXNCLENBQUMsR0FBRztRQUN6QixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzVDLElBQUksS0FBSyxFQUFFO1lBQ1YsT0FBTyxLQUFLLENBQUMsWUFBWSxDQUFDO1NBQzFCO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZCxDQUFDOzs2R0E3QlcsZ0JBQWdCO2lHQUFoQixnQkFBZ0IsNFRBWmxCOzs7Ozs7Ozs7O0VBVVQ7MkZBRVcsZ0JBQWdCO2tCQWY1QixTQUFTO21CQUFDO29CQUNWLCtDQUErQztvQkFDL0MsUUFBUSxFQUFFLDhDQUE4QztvQkFDeEQsUUFBUSxFQUFFOzs7Ozs7Ozs7O0VBVVQ7aUJBQ0Q7OEJBRVMsR0FBRztzQkFBWCxLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRW9DLGtCQUFrQjtzQkFBM0QsV0FBVzt1QkFBQywyQkFBMkI7Z0JBRUosWUFBWTtzQkFBL0MsV0FBVzt1QkFBQyxxQkFBcUI7Z0JBRXpCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRTRCLFlBQVk7c0JBQTdDLFdBQVc7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdENvbXBvbmVudCxcblx0SG9zdEJpbmRpbmcsXG5cdElucHV0XG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbkBDb21wb25lbnQoe1xuXHQvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IGNvbXBvbmVudC1zZWxlY3RvclxuXHRzZWxlY3RvcjogXCJbY2RzVGFibGVFeHBhbmRlZFJvd10sIFtpYm1UYWJsZUV4cGFuZGVkUm93XVwiLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDx0ZCBbYXR0ci5jb2xzcGFuXT1cInJvdy5sZW5ndGggKyAyXCI+XG5cdFx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwiIWZpcnN0RXhwYW5kZWRUZW1wbGF0ZUluUm93KHJvdylcIj5cblx0XHRcdFx0e3tmaXJzdEV4cGFuZGVkRGF0YUluUm93KHJvdyl9fVxuXHRcdFx0PC9uZy1jb250YWluZXI+XG5cdFx0XHQ8bmctdGVtcGxhdGVcblx0XHRcdFx0W25nVGVtcGxhdGVPdXRsZXRdPVwiZmlyc3RFeHBhbmRlZFRlbXBsYXRlSW5Sb3cocm93KVwiXG5cdFx0XHRcdFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ZGF0YTogZmlyc3RFeHBhbmRlZERhdGFJblJvdyhyb3cpfVwiPlxuXHRcdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHQ8L3RkPlxuXHRgXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlRXhwYW5kZWRSb3cge1xuXHRASW5wdXQoKSByb3c6IGFueVtdO1xuXG5cdEBJbnB1dCgpIHNrZWxldG9uID0gZmFsc2U7XG5cblx0QEhvc3RCaW5kaW5nKFwiY2xhc3MuY2RzLS1leHBhbmRhYmxlLXJvd1wiKSBleHBhbmRhYmxlUm93Q2xhc3MgPSB0cnVlO1xuXG5cdEBIb3N0QmluZGluZyhcImF0dHIuZGF0YS1jaGlsZC1yb3dcIikgZGF0YUNoaWxkUm93ID0gdHJ1ZTtcblxuXHRASW5wdXQoKSBleHBhbmRlZCA9IGZhbHNlO1xuXG5cdEBIb3N0QmluZGluZyhcInN0eWxlLmRpc3BsYXlcIikgZ2V0IGRpc3BsYXlTdHlsZSgpIHtcblx0XHRyZXR1cm4gdGhpcy5leHBhbmRlZCA/IG51bGwgOiBcIm5vbmVcIjtcblx0fVxuXG5cdGZpcnN0RXhwYW5kZWRUZW1wbGF0ZUluUm93KHJvdykge1xuXHRcdGNvbnN0IGZvdW5kID0gcm93LmZpbmQoZCA9PiBkLmV4cGFuZGVkVGVtcGxhdGUpO1xuXHRcdGlmIChmb3VuZCkge1xuXHRcdFx0cmV0dXJuIGZvdW5kLmV4cGFuZGVkVGVtcGxhdGU7XG5cdFx0fVxuXHRcdHJldHVybiBmb3VuZDtcblx0fVxuXG5cdGZpcnN0RXhwYW5kZWREYXRhSW5Sb3cocm93KSB7XG5cdFx0Y29uc3QgZm91bmQgPSByb3cuZmluZChkID0+IGQuZXhwYW5kZWREYXRhKTtcblx0XHRpZiAoZm91bmQpIHtcblx0XHRcdHJldHVybiBmb3VuZC5leHBhbmRlZERhdGE7XG5cdFx0fVxuXHRcdHJldHVybiBmb3VuZDtcblx0fVxufVxuIl19