import { ChangeDetectionStrategy, Component, inject } from '@angular/core'; import { MatButtonModule } from '@angular/material/button'; import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog'; import { ListMessage, MessageConfiguration, MessageTypeEnum, ObjectMessage, ProtoMessage, } from '../../model/proto-message.model'; import { DefinitionEditorFieldComponent } from './definition-editor-field/definition-editor-field.component'; import { MatFormFieldModule } from '@angular/material/form-field'; import { FormsModule } from '@angular/forms'; import { MatInputModule } from '@angular/material/input'; @Component({ selector: 'app-definition-editor', imports: [ FormsModule, MatButtonModule, MatDialogModule, MatFormFieldModule, MatInputModule, DefinitionEditorFieldComponent, ], template: `

{{ protoMessage.name }}

@for (field of editableMessages; track $index) {

{{ field.name }}

Friendly Name }
`, styleUrl: './definition-editor.component.scss', changeDetection: ChangeDetectionStrategy.OnPush, }) export class DefinitionEditorComponent { protected protoMessage = inject(MAT_DIALOG_DATA); protected editableMessages = this.protoMessage.values; }