From 86f5479a117cd31d8be1a3bb228c5b8e159ebdeb Mon Sep 17 00:00:00 2001 From: Pat Hartl Date: Mon, 20 Mar 2023 19:09:22 -0500 Subject: [PATCH] Don't pass full game to action editor --- LANCommander/Components/ActionEditor.razor | 39 ++++++++++++++-------- LANCommander/Pages/Games/Edit.razor | 2 +- 2 files changed, 26 insertions(+), 15 deletions(-) diff --git a/LANCommander/Components/ActionEditor.razor b/LANCommander/Components/ActionEditor.razor index 775ac64..91ca93b 100644 --- a/LANCommander/Components/ActionEditor.razor +++ b/LANCommander/Components/ActionEditor.razor @@ -54,17 +54,21 @@ @code { - [Parameter] public Game Game { get; set; } + [Parameter] public ICollection Value { get; set; } + [Parameter] public EventCallback> ValueChanged { get; set; } + + [Parameter] public Guid ArchiveId { get; set; } private List OrderedActions { get; set; } protected override async Task OnInitializedAsync() { - if (Game.Actions == null) - Game.Actions = new List(); + if (Value == null) + Value = new List(); - OrderedActions = Game.Actions.OrderBy(a => a.SortOrder).ToList(); - FixSortOrder(); + OrderedActions = Value.OrderBy(a => a.SortOrder).ToList(); + + await FixSortOrder(); } private async Task AddAction() @@ -77,11 +81,15 @@ PrimaryAction = OrderedActions.Count == 0, SortOrder = OrderedActions.Count }); + + await FixSortOrder(); } private async Task RemoveAction(Data.Models.Action action) { OrderedActions.Remove(action); + + await FixSortOrder(); } private async Task MoveUp(Data.Models.Action action) @@ -89,7 +97,7 @@ if (action.SortOrder > 0) OrderedActions.Move(action, action.SortOrder - 1); - FixSortOrder(); + await FixSortOrder(); } private async Task MoveDown(Data.Models.Action action) @@ -97,7 +105,7 @@ if (action.SortOrder < OrderedActions.Count + 1) OrderedActions.Move(action, action.SortOrder + 1); - FixSortOrder(); + await FixSortOrder(); } private async void BrowseForActionPath(Data.Models.Action action) @@ -112,11 +120,11 @@ }; var browserOptions = new ArchiveBrowserOptions() - { - ArchiveId = Game.Archives.FirstOrDefault().Id, - Select = true, - Multiple = false - }; + { + ArchiveId = ArchiveId, + Select = true, + Multiple = false + }; var modalRef = await ModalService.CreateModalAsync>(modalOptions, browserOptions); @@ -137,7 +145,7 @@ }; } - private void FixSortOrder() + private async Task FixSortOrder() { int i = 0; @@ -148,6 +156,9 @@ i++; } - Game.Actions = OrderedActions; + Value = OrderedActions; + + if (ValueChanged.HasDelegate) + await ValueChanged.InvokeAsync(); } } diff --git a/LANCommander/Pages/Games/Edit.razor b/LANCommander/Pages/Games/Edit.razor index f0879b5..062d9d6 100644 --- a/LANCommander/Pages/Games/Edit.razor +++ b/LANCommander/Pages/Games/Edit.razor @@ -80,7 +80,7 @@ - +