Don't pass full game to action editor
This commit is contained in:
parent
503c77f9fe
commit
86f5479a11
2 changed files with 26 additions and 15 deletions
|
@ -54,17 +54,21 @@
|
||||||
</Space>
|
</Space>
|
||||||
|
|
||||||
@code {
|
@code {
|
||||||
[Parameter] public Game Game { get; set; }
|
[Parameter] public ICollection<Data.Models.Action> Value { get; set; }
|
||||||
|
[Parameter] public EventCallback<ICollection<Data.Models.Action>> ValueChanged { get; set; }
|
||||||
|
|
||||||
|
[Parameter] public Guid ArchiveId { get; set; }
|
||||||
|
|
||||||
private List<Data.Models.Action> OrderedActions { get; set; }
|
private List<Data.Models.Action> OrderedActions { get; set; }
|
||||||
|
|
||||||
protected override async Task OnInitializedAsync()
|
protected override async Task OnInitializedAsync()
|
||||||
{
|
{
|
||||||
if (Game.Actions == null)
|
if (Value == null)
|
||||||
Game.Actions = new List<Data.Models.Action>();
|
Value = new List<Data.Models.Action>();
|
||||||
|
|
||||||
OrderedActions = Game.Actions.OrderBy(a => a.SortOrder).ToList();
|
OrderedActions = Value.OrderBy(a => a.SortOrder).ToList();
|
||||||
FixSortOrder();
|
|
||||||
|
await FixSortOrder();
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task AddAction()
|
private async Task AddAction()
|
||||||
|
@ -77,11 +81,15 @@
|
||||||
PrimaryAction = OrderedActions.Count == 0,
|
PrimaryAction = OrderedActions.Count == 0,
|
||||||
SortOrder = OrderedActions.Count
|
SortOrder = OrderedActions.Count
|
||||||
});
|
});
|
||||||
|
|
||||||
|
await FixSortOrder();
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task RemoveAction(Data.Models.Action action)
|
private async Task RemoveAction(Data.Models.Action action)
|
||||||
{
|
{
|
||||||
OrderedActions.Remove(action);
|
OrderedActions.Remove(action);
|
||||||
|
|
||||||
|
await FixSortOrder();
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task MoveUp(Data.Models.Action action)
|
private async Task MoveUp(Data.Models.Action action)
|
||||||
|
@ -89,7 +97,7 @@
|
||||||
if (action.SortOrder > 0)
|
if (action.SortOrder > 0)
|
||||||
OrderedActions.Move(action, action.SortOrder - 1);
|
OrderedActions.Move(action, action.SortOrder - 1);
|
||||||
|
|
||||||
FixSortOrder();
|
await FixSortOrder();
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task MoveDown(Data.Models.Action action)
|
private async Task MoveDown(Data.Models.Action action)
|
||||||
|
@ -97,7 +105,7 @@
|
||||||
if (action.SortOrder < OrderedActions.Count + 1)
|
if (action.SortOrder < OrderedActions.Count + 1)
|
||||||
OrderedActions.Move(action, action.SortOrder + 1);
|
OrderedActions.Move(action, action.SortOrder + 1);
|
||||||
|
|
||||||
FixSortOrder();
|
await FixSortOrder();
|
||||||
}
|
}
|
||||||
|
|
||||||
private async void BrowseForActionPath(Data.Models.Action action)
|
private async void BrowseForActionPath(Data.Models.Action action)
|
||||||
|
@ -112,11 +120,11 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
var browserOptions = new ArchiveBrowserOptions()
|
var browserOptions = new ArchiveBrowserOptions()
|
||||||
{
|
{
|
||||||
ArchiveId = Game.Archives.FirstOrDefault().Id,
|
ArchiveId = ArchiveId,
|
||||||
Select = true,
|
Select = true,
|
||||||
Multiple = false
|
Multiple = false
|
||||||
};
|
};
|
||||||
|
|
||||||
var modalRef = await ModalService.CreateModalAsync<ArchiveBrowserDialog, ArchiveBrowserOptions, IEnumerable<ZipArchiveEntry>>(modalOptions, browserOptions);
|
var modalRef = await ModalService.CreateModalAsync<ArchiveBrowserDialog, ArchiveBrowserOptions, IEnumerable<ZipArchiveEntry>>(modalOptions, browserOptions);
|
||||||
|
|
||||||
|
@ -137,7 +145,7 @@
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
private void FixSortOrder()
|
private async Task FixSortOrder()
|
||||||
{
|
{
|
||||||
int i = 0;
|
int i = 0;
|
||||||
|
|
||||||
|
@ -148,6 +156,9 @@
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
|
|
||||||
Game.Actions = OrderedActions;
|
Value = OrderedActions;
|
||||||
|
|
||||||
|
if (ValueChanged.HasDelegate)
|
||||||
|
await ValueChanged.InvokeAsync();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -80,7 +80,7 @@
|
||||||
<SpaceItem>
|
<SpaceItem>
|
||||||
<Card Title="Actions">
|
<Card Title="Actions">
|
||||||
<Body>
|
<Body>
|
||||||
<ActionEditor Game="Game" />
|
<ActionEditor @bind-Value="Game.Actions" ArchiveId="Game.Archives.OrderByDescending(a => a.CreatedOn).FirstOrDefault().Id" />
|
||||||
</Body>
|
</Body>
|
||||||
</Card>
|
</Card>
|
||||||
</SpaceItem>
|
</SpaceItem>
|
||||||
|
|
Loading…
Add table
Reference in a new issue