()
| 460 | } |
| 461 | |
| 462 | ngAfterContentInit() { |
| 463 | if (typeof ngDevMode === 'undefined' || ngDevMode) { |
| 464 | this._verifyNoOptionValueCollisions(); |
| 465 | this._verifyOptionValues(); |
| 466 | } |
| 467 | |
| 468 | this._initKeyManager(); |
| 469 | |
| 470 | // Update the internal value whenever the options or the model value changes. |
| 471 | merge(this.selectionModel.changed, this.options.changes) |
| 472 | .pipe(startWith(null), takeUntil(this.destroyed)) |
| 473 | .subscribe(() => this._updateInternalValue()); |
| 474 | |
| 475 | this._optionClicked |
| 476 | .pipe( |
| 477 | filter(({option}) => !option.disabled), |
| 478 | takeUntil(this.destroyed), |
| 479 | ) |
| 480 | .subscribe(({option, event}) => this._handleOptionClicked(option, event)); |
| 481 | } |
| 482 | |
| 483 | ngOnDestroy() { |
| 484 | this._cleanupWindowBlur?.(); |
nothing calls this directly
no test coverage detected