diff --git a/src/app/list-field/list-field.component.scss b/src/app/list-field/list-field.component.scss index 5d4e87f..636bf4e 100644 --- a/src/app/list-field/list-field.component.scss +++ b/src/app/list-field/list-field.component.scss @@ -1,3 +1,7 @@ :host { display: block; } + +.row-wrapper { + display: flex; +} diff --git a/src/app/list-field/list-field.component.ts b/src/app/list-field/list-field.component.ts index 427dc73..a9bb0bb 100644 --- a/src/app/list-field/list-field.component.ts +++ b/src/app/list-field/list-field.component.ts @@ -18,17 +18,34 @@ import { selector: 'app-list-field', standalone: true, imports: [CommonModule, MatButton, MatIconModule, ProtoFieldComponent], - template: ` @for(value of values(); track values()) { - + template: ` @for(value of values(); track $index) { +
+ + +
} - `, + `, styleUrl: './list-field.component.scss', changeDetection: ChangeDetectionStrategy.OnPush, }) export class ListFieldComponent { configuration = input.required(); values = model(); + + add() { + const newValues = this.values(); + newValues?.push(null); + this.values.set(newValues); + } + + remove(index: number) { + const newValues = this.values(); + newValues?.splice(index, 1); + this.values.set(newValues); + } }