/
tisit
/
FUXA_SCADA
Обзор
Документация
Войти
/
tisit
/
FUXA_SCADA
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
client/src/app/editor/client-script-access/client-script-access.component.ts
57 строк
2 KB
Umberto Nocelli
Upgrade Angular from v16 to v17 (#2113)
08 янв 2026, 21:56
Не верифицирован
08 янв 2026, 21:56
905235d
Код
Авторство
О чём код?
import { Component, OnInit } from '@angular/core'; import { MatDialogRef as MatDialogRef } from '@angular/material/dialog'; import { ScriptMode, SystemFunctions } from '../../_models/script'; import { ProjectService } from '../../_services/project.service'; import { ClientAccess } from '../../_models/client-access'; @Component({ selector: 'app-client-script-access', templateUrl: './client-script-access.component.html', styleUrls: ['./client-script-access.component.scss'] }) export class ClientScriptAccessComponent implements OnInit { scriptFunctions: ScriptFunctionAccess[] = []; constructor( private dialogRef: MatDialogRef<ClientScriptAccessComponent>, private projectService: ProjectService ) { } ngOnInit() { const systemFunctions = new SystemFunctions(ScriptMode.CLIENT); const accessConfig: ClientAccess = this.projectService.getClientAccess(); this.scriptFunctions = systemFunctions.functions.map(fnc => ({ name: fnc.name, label: fnc.text, tooltip: fnc.tooltip, enabled: accessConfig?.scriptSystemFunctions?.includes(fnc.name) ?? false })); } getClientAccess(): ClientAccess { return { scriptSystemFunctions: this.scriptFunctions .filter(f => f.enabled) .map(f => f.name) }; } onNoClick(): void { this.dialogRef.close(); } onOkClick(): void { this.dialogRef.close(); const updatedAccess = this.getClientAccess(); this.projectService.setClientAccess(updatedAccess); } } interface ScriptFunctionAccess { name: string; label: string; tooltip?: string; enabled: boolean; }