about summary refs log tree commit diff
path: root/MatrixRoomUtils.Web/Shared/SimpleComponents/StringListEditor.razor
blob: fe3a93858a1670209f430e05d5d384c250ffe4f3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
@for (int i = 0; i < Items.Count; i++)
{
    var self = i;
    <button @onclick="() => { Items.RemoveAt(self); ItemsChanged.InvokeAsync(); }">Remove</button>
    <FancyTextBox Value="@Items[self]" ValueChanged="@(obj => inputChanged(obj, self))"/>
    <br/>
}
<button @onclick="() => { Items.Add(string.Empty); ItemsChanged.InvokeAsync(); }">Add</button>

@code {

    [Parameter]
    public List<string> Items { get; set; } = new List<string>();

    [Parameter, EditorRequired]
    public EventCallback ItemsChanged { get; set; }

    protected override Task OnInitializedAsync()
    {
        Console.WriteLine($"StringListEditor initialized with {Items.Count} items: {string.Join(",", Items)}");
        return base.OnInitializedAsync();
    }

    private void inputChanged(string obj, int i)
    {
        Console.WriteLine($"StringListEditor inputChanged {i} {obj}");
        Items[i] = obj;
        ItemsChanged.InvokeAsync();
    }

}