@universal-material/angular
Version:
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 16.1.0.
47 lines • 6.32 kB
JavaScript
import { Component, ContentChildren, Input } from '@angular/core';
import { ExpansionPanelComponent } from '../expansion-panel.component';
import * as i0 from "@angular/core";
export class ExpansionPanelContainerComponent {
constructor() {
this.multi = false;
this._childrenOpenSubscriptions = [];
this._toggle = (panel) => {
if (!panel.expanded || this.multi) {
return;
}
for (const p of this._panels.toArray()) {
if (p === panel) {
continue;
}
p.expanded = false;
}
};
}
ngAfterContentInit() {
this._updatePanels(this._panels);
this._panels.changes.subscribe(panels => {
this._updatePanels(panels);
});
}
_updatePanels(panels) {
for (const subscription of this._childrenOpenSubscriptions) {
subscription.unsubscribe();
}
this._childrenOpenSubscriptions.length = 0;
for (const panel of panels.toArray()) {
this._childrenOpenSubscriptions.push(panel._toggleChange.subscribe(this._toggle));
}
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExpansionPanelContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ExpansionPanelContainerComponent, selector: "u-expansion-panel-container", inputs: { multi: "multi" }, queries: [{ propertyName: "_panels", predicate: ExpansionPanelComponent }], ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{display:block}\n"] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExpansionPanelContainerComponent, decorators: [{
type: Component,
args: [{ selector: 'u-expansion-panel-container', template: "<ng-content></ng-content>\n", styles: [":host{display:block}\n"] }]
}], propDecorators: { multi: [{
type: Input
}], _panels: [{
type: ContentChildren,
args: [ExpansionPanelComponent]
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5zaW9uLXBhbmVsLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvZXhwYW5zaW9uLXBhbmVsL2V4cGFuc2lvbi1wYW5lbC1jb250YWluZXIvZXhwYW5zaW9uLXBhbmVsLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvZXhwYW5zaW9uLXBhbmVsL2V4cGFuc2lvbi1wYW5lbC1jb250YWluZXIvZXhwYW5zaW9uLXBhbmVsLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLFNBQVMsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRy9GLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQU92RSxNQUFNLE9BQU8sZ0NBQWdDO0lBTDdDO1FBT1csVUFBSyxHQUFHLEtBQUssQ0FBQztRQUdmLCtCQUEwQixHQUFtQixFQUFFLENBQUM7UUFTeEQsWUFBTyxHQUFHLENBQUMsS0FBOEIsRUFBRSxFQUFFO1lBQzNDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ2pDLE9BQU87YUFDUjtZQUVELEtBQUssTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDdEMsSUFBSSxDQUFDLEtBQUssS0FBSyxFQUFFO29CQUNmLFNBQVM7aUJBQ1Y7Z0JBRUQsQ0FBQyxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7YUFDcEI7UUFDSCxDQUFDLENBQUE7S0FZRjtJQS9CQyxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBZ0JPLGFBQWEsQ0FBQyxNQUEwQztRQUM5RCxLQUFLLE1BQU0sWUFBWSxJQUFJLElBQUksQ0FBQywwQkFBMEIsRUFBRTtZQUMxRCxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDNUI7UUFFRCxJQUFJLENBQUMsMEJBQTBCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUMzQyxLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNwQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1NBQ25GO0lBQ0gsQ0FBQzsrR0FyQ1UsZ0NBQWdDO21HQUFoQyxnQ0FBZ0MsdUhBRzFCLHVCQUF1Qiw2QkNiMUMsNkJBQ0E7OzRGRFNhLGdDQUFnQztrQkFMNUMsU0FBUzsrQkFDRSw2QkFBNkI7OEJBTTlCLEtBQUs7c0JBQWIsS0FBSztnQkFDb0MsT0FBTztzQkFBaEQsZUFBZTt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgSW5wdXQsIFF1ZXJ5TGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEV4cGFuc2lvblBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vZXhwYW5zaW9uLXBhbmVsLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3UtZXhwYW5zaW9uLXBhbmVsLWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9leHBhbnNpb24tcGFuZWwtY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZXhwYW5zaW9uLXBhbmVsLWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEV4cGFuc2lvblBhbmVsQ29udGFpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG5cbiAgQElucHV0KCkgbXVsdGkgPSBmYWxzZTtcbiAgQENvbnRlbnRDaGlsZHJlbihFeHBhbnNpb25QYW5lbENvbXBvbmVudCkgX3BhbmVscyE6IFF1ZXJ5TGlzdDxFeHBhbnNpb25QYW5lbENvbXBvbmVudD47XG5cbiAgcHJpdmF0ZSBfY2hpbGRyZW5PcGVuU3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fdXBkYXRlUGFuZWxzKHRoaXMuX3BhbmVscyk7XG4gICAgdGhpcy5fcGFuZWxzLmNoYW5nZXMuc3Vic2NyaWJlKHBhbmVscyA9PiB7XG4gICAgICB0aGlzLl91cGRhdGVQYW5lbHMocGFuZWxzKTtcbiAgICB9KTtcbiAgfVxuXG4gIF90b2dnbGUgPSAocGFuZWw6IEV4cGFuc2lvblBhbmVsQ29tcG9uZW50KSA9PiB7XG4gICAgaWYgKCFwYW5lbC5leHBhbmRlZCB8fCB0aGlzLm11bHRpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBwIG9mIHRoaXMuX3BhbmVscy50b0FycmF5KCkpIHtcbiAgICAgIGlmIChwID09PSBwYW5lbCkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgcC5leHBhbmRlZCA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZVBhbmVscyhwYW5lbHM6IFF1ZXJ5TGlzdDxFeHBhbnNpb25QYW5lbENvbXBvbmVudD4pIHtcbiAgICBmb3IgKGNvbnN0IHN1YnNjcmlwdGlvbiBvZiB0aGlzLl9jaGlsZHJlbk9wZW5TdWJzY3JpcHRpb25zKSB7XG4gICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICB0aGlzLl9jaGlsZHJlbk9wZW5TdWJzY3JpcHRpb25zLmxlbmd0aCA9IDA7XG4gICAgZm9yIChjb25zdCBwYW5lbCBvZiBwYW5lbHMudG9BcnJheSgpKSB7XG4gICAgICB0aGlzLl9jaGlsZHJlbk9wZW5TdWJzY3JpcHRpb25zLnB1c2gocGFuZWwuX3RvZ2dsZUNoYW5nZS5zdWJzY3JpYmUodGhpcy5fdG9nZ2xlKSk7XG4gICAgfVxuICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=