angular2-collapsible
Version:
Angular collapsible component styled with Materialize CSS.
94 lines (93 loc) • 6.67 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: lib/collapsible-table-row-detail/collapsible-table-row-detail.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, Input, ViewChildren } from '@angular/core';
import { CollapsibleBodyComponent } from '../collapsible-body/collapsible-body.component';
import { CollapsibleService } from '../services/collapsible.service';
import { Subject } from 'rxjs';
export class CollapsibleTableRowDetailComponent {
/**
* @param {?} collapsibleService
*/
constructor(collapsibleService) {
this.collapsibleService = collapsibleService;
this.subject = new Subject();
}
/**
* @return {?}
*/
ngOnInit() {
this.subject.asObservable().subscribe((/**
* @return {?}
*/
() => {
this.viewListBodies.forEach((/**
* @param {?} item
* @return {?}
*/
(item) => {
item.toggleCollapsibleItem();
}));
}));
}
/**
* @return {?}
*/
ngAfterViewInit() {
// store list bodies in 'CollapsibleService'
this.viewListBodies.forEach((/**
* @param {?} item
* @return {?}
*/
(item) => {
this.collapsibleService.addListBody(item);
}));
}
}
CollapsibleTableRowDetailComponent.decorators = [
{ type: Component, args: [{
selector: 'collapsible-table-row-detail',
template: `
<td colspan="100%">
<collapsible-list-item>
<collapsible-body>
<ng-content></ng-content>
</collapsible-body>
</collapsible-list-item>
</td>
`,
styles: [`
:host {
display: table-row;
}
:host collapsible-body,
:host td {
padding: 0;
}
`]
}] }
];
/** @nocollapse */
CollapsibleTableRowDetailComponent.ctorParameters = () => [
{ type: CollapsibleService }
];
CollapsibleTableRowDetailComponent.propDecorators = {
expanded: [{ type: Input }],
viewListBodies: [{ type: ViewChildren, args: [CollapsibleBodyComponent,] }]
};
if (false) {
/** @type {?} */
CollapsibleTableRowDetailComponent.prototype.subject;
/** @type {?} */
CollapsibleTableRowDetailComponent.prototype.expanded;
/** @type {?} */
CollapsibleTableRowDetailComponent.prototype.viewListBodies;
/**
* @type {?}
* @private
*/
CollapsibleTableRowDetailComponent.prototype.collapsibleService;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2libGUtdGFibGUtcm93LWRldGFpbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyMi1jb2xsYXBzaWJsZS8iLCJzb3VyY2VzIjpbImxpYi9jb2xsYXBzaWJsZS10YWJsZS1yb3ctZGV0YWlsL2NvbGxhcHNpYmxlLXRhYmxlLXJvdy1kZXRhaWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUNILFNBQVMsRUFFVCxLQUFLLEVBQ0wsWUFBWSxFQUNmLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBRTFGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXJFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUF3Qi9CLE1BQU0sT0FBTyxrQ0FBa0M7Ozs7SUFPM0MsWUFBb0Isa0JBQXNDO1FBQXRDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFOMUQsWUFBTyxHQUFpQixJQUFJLE9BQU8sRUFBTyxDQUFDO0lBTW1CLENBQUM7Ozs7SUFFL0QsUUFBUTtRQUNKLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUMsU0FBUzs7O1FBQUMsR0FBRyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTzs7OztZQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ2pDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQ2pDLENBQUMsRUFBQyxDQUFDO1FBQ1AsQ0FBQyxFQUFDLENBQUM7SUFDUCxDQUFDOzs7O0lBRUQsZUFBZTtRQUNYLDRDQUE0QztRQUM1QyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU87Ozs7UUFBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUMsQ0FBQyxFQUFDLENBQUM7SUFDUCxDQUFDOzs7WUE1Q0osU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSw4QkFBOEI7Z0JBQ3hDLFFBQVEsRUFBRTs7Ozs7Ozs7S0FRVDt5QkFDUTs7Ozs7Ozs7O0tBU1I7YUFDSjs7OztZQXpCUSxrQkFBa0I7Ozt1QkE2QnRCLEtBQUs7NkJBRUwsWUFBWSxTQUFDLHdCQUF3Qjs7OztJQUp0QyxxREFBMkM7O0lBRTNDLHNEQUEyQjs7SUFFM0IsNERBQXdGOzs7OztJQUU1RSxnRUFBOEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgT25Jbml0LCBBZnRlclZpZXdJbml0LFxyXG4gICAgSW5wdXQsXHJcbiAgICBWaWV3Q2hpbGRyZW5cclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IENvbGxhcHNpYmxlQm9keUNvbXBvbmVudCB9IGZyb20gJy4uL2NvbGxhcHNpYmxlLWJvZHkvY29sbGFwc2libGUtYm9keS5jb21wb25lbnQnO1xyXG5cclxuaW1wb3J0IHsgQ29sbGFwc2libGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29sbGFwc2libGUuc2VydmljZSc7XHJcblxyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnY29sbGFwc2libGUtdGFibGUtcm93LWRldGFpbCcsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDx0ZCBjb2xzcGFuPVwiMTAwJVwiPlxyXG4gICAgICAgICAgICA8Y29sbGFwc2libGUtbGlzdC1pdGVtPlxyXG4gICAgICAgICAgICAgICAgPGNvbGxhcHNpYmxlLWJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgPC9jb2xsYXBzaWJsZS1ib2R5PlxyXG4gICAgICAgICAgICA8L2NvbGxhcHNpYmxlLWxpc3QtaXRlbT5cclxuICAgICAgICA8L3RkPlxyXG4gICAgYCxcclxuICAgIHN0eWxlczogW2BcclxuICAgICAgICA6aG9zdCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIDpob3N0IGNvbGxhcHNpYmxlLWJvZHksXHJcbiAgICAgICAgOmhvc3QgdGQge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgIGBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb2xsYXBzaWJsZVRhYmxlUm93RGV0YWlsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuICAgIHN1YmplY3Q6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0PGFueT4oKTtcclxuXHJcbiAgICBASW5wdXQoKSBleHBhbmRlZDogYm9vbGVhbjtcclxuXHJcbiAgICBAVmlld0NoaWxkcmVuKENvbGxhcHNpYmxlQm9keUNvbXBvbmVudCkgdmlld0xpc3RCb2RpZXM6IEFycmF5PENvbGxhcHNpYmxlQm9keUNvbXBvbmVudD47XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjb2xsYXBzaWJsZVNlcnZpY2U6IENvbGxhcHNpYmxlU2VydmljZSkgeyB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5zdWJqZWN0LmFzT2JzZXJ2YWJsZSgpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudmlld0xpc3RCb2RpZXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaXRlbS50b2dnbGVDb2xsYXBzaWJsZUl0ZW0oKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgICAgIC8vIHN0b3JlIGxpc3QgYm9kaWVzIGluICdDb2xsYXBzaWJsZVNlcnZpY2UnXHJcbiAgICAgICAgdGhpcy52aWV3TGlzdEJvZGllcy5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY29sbGFwc2libGVTZXJ2aWNlLmFkZExpc3RCb2R5KGl0ZW0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==