/
githubmirror
/
components
Обзор
Документация
Войти
/
githubmirror
/
components
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/dev-app/input-modality/input-modality-detector-demo.ts
53 строки
2 KB
Kristiyan Kostadinov
build: remove explicit OnPush from dev app
18 май 2026, 10:44
18 май 2026, 10:44
40d7c5a
Код
Авторство
О чём код?
/** * @license * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.dev/license */ import {A11yModule, InputModality, InputModalityDetector} from '@angular/cdk/a11y'; import {ChangeDetectorRef, Component, NgZone, OnDestroy, inject} from '@angular/core'; import {MatButtonModule} from '@angular/material/button'; import {MatFormFieldModule} from '@angular/material/form-field'; import {MatInputModule} from '@angular/material/input'; import {MatRadioModule} from '@angular/material/radio'; import {MatSelectModule} from '@angular/material/select'; import {Subject} from 'rxjs'; import {takeUntil} from 'rxjs/operators'; @Component({ selector: 'input-modality-detector-demo', templateUrl: 'input-modality-detector-demo.html', imports: [ A11yModule, MatButtonModule, MatFormFieldModule, MatInputModule, MatRadioModule, MatSelectModule, ], }) export class InputModalityDetectorDemo implements OnDestroy { _modality: InputModality = null; _destroyed = new Subject<void>(); readonly cdr = inject(ChangeDetectorRef); constructor() { const inputModalityDetector = inject(InputModalityDetector); const ngZone = inject(NgZone); inputModalityDetector.modalityChanged.pipe(takeUntil(this._destroyed)).subscribe(modality => ngZone.run(() => { this._modality = modality; this.cdr.markForCheck(); }), ); } ngOnDestroy() { this._destroyed.next(); this._destroyed.complete(); } }