/
creartum
/
mdata-test
Обзор
Документация
Войти
/
creartum
/
mdata-test
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/app/data/data.ts
59 строк
2 KB
Sergei
fixes
12 июл 2025, 15:47
12 июл 2025, 15:47
132c26e
Код
Авторство
О чём код?
import { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core'; import { MatTableModule } from '@angular/material/table'; import { MyDataService } from './data.service'; import { FormControl, ReactiveFormsModule } from '@angular/forms'; import { MatProgressSpinnerModule } from '@angular/material/progress-spinner'; import { HighlightSearchPipe } from './hl.pipe'; import { ScrollingModule } from '@angular/cdk/scrolling'; import { MatDialog, MatDialogModule } from '@angular/material/dialog'; import { Card } from '../card/card'; @Component({ selector: 'app-data', imports: [ MatTableModule, ReactiveFormsModule, MatProgressSpinnerModule, HighlightSearchPipe, ScrollingModule, MatDialogModule ], templateUrl: './data.html', styleUrl: './data.scss', changeDetection: ChangeDetectionStrategy.OnPush }) export class Data { #myDataService = inject(MyDataService); #dialog = inject(MatDialog); private _data = this.#myDataService.data; inputSearch = new FormControl<string>(''); data = computed(() => { const d = this._data(); return d || []; }); status = this.#myDataService.getDataStatus(); filterSearch = this.#myDataService.getFilter(); displayedColumns: string[] = ['global_id', 'FullName', 'ObjectAddress']; constructor() { this.#myDataService.setFilter(''); } search(){ this.#myDataService.setFilter(this.inputSearch.value || ''); } openCard(id: number) { this.#myDataService.loadCard(id); const dialogRef = this.#dialog.open(Card); dialogRef.afterClosed().subscribe(() => console.log('Отписываться не надо')); } }