start day with pre-selected players
This commit is contained in:
parent
93e867eb6b
commit
dee21d8c08
|
|
@ -1,10 +1,12 @@
|
|||
@using KoogleApp.Components.Dialogs
|
||||
@using KoogleApp.Store.DayFeature
|
||||
@using KoogleApp.Store.Game.ThrowPanel
|
||||
@using KoogleApp.Store.Player
|
||||
@inherits FluxorComponent
|
||||
|
||||
@inject IDispatcher Dispatcher
|
||||
@inject IState<DayState> DayState
|
||||
@inject IState<PlayersState> PlayersState
|
||||
@inject IDialogService DialogService
|
||||
|
||||
@if (DayState.Value.Status != DayStatus.Started)
|
||||
|
|
@ -22,6 +24,7 @@
|
|||
|
||||
private async Task StartClick(MouseEventArgs obj)
|
||||
{
|
||||
Dispatcher.Dispatch(new InitNewDayModelAction(PlayersState.Value.Players));
|
||||
var parameters = new DialogParameters<StartDayDialog>{ };
|
||||
// parameters.Add<TimeRecordDto>(x => x.Record, Record);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,18 +1,20 @@
|
|||
@using KoogleApp.Data
|
||||
@using KoogleApp.Model
|
||||
@using KoogleApp.Store.Player
|
||||
|
||||
@inject SharedDataService SharedDataService
|
||||
@inject IState<PlayersState> PlayersState
|
||||
|
||||
@if (_players != null)
|
||||
@if (PlayersState != null)
|
||||
{
|
||||
<MudSelect T="Player" Label="Teilnehmer" HelperText="teilnehmende Spiel auswählen"
|
||||
<MudSelect T="PlayerState" Label="Teilnehmer" HelperText="teilnehmende Spiel auswählen"
|
||||
MultiSelectionTextFunc="@(new Func<List<string>,string>(GetMultiSelectionText))"
|
||||
MultiSelection="true"
|
||||
Converter="@converter"
|
||||
Converter="converter"
|
||||
@bind-SelectedValues="SelectedValues">
|
||||
@foreach (var player in _players)
|
||||
@foreach (var player in PlayersState.Value.Players)
|
||||
{
|
||||
<MudSelectItem T="Player" Value="@player">@player.Name</MudSelectItem>
|
||||
<MudSelectItem T="PlayerState" Value="@player">@player.Name</MudSelectItem>
|
||||
}
|
||||
</MudSelect>
|
||||
}
|
||||
|
|
@ -20,19 +22,19 @@
|
|||
|
||||
@code {
|
||||
|
||||
private IEnumerable<Player?>? _players;
|
||||
// private IEnumerable<PlayerState?>? _players;
|
||||
|
||||
protected override async Task OnAfterRenderAsync(bool firstRender)
|
||||
{
|
||||
if (firstRender)
|
||||
{
|
||||
var data = await SharedDataService.GetAllPlayersAsync();
|
||||
_players = data.OrderBy(p => p.Name).ToList();
|
||||
StateHasChanged();
|
||||
}
|
||||
}
|
||||
// protected override async Task OnAfterRenderAsync(bool firstRender)
|
||||
// {
|
||||
// if (firstRender)
|
||||
// {
|
||||
// var data = await SharedDataService.GetAllPlayersAsync();
|
||||
// _players = data.OrderBy(p => p.Name).ToList();
|
||||
// StateHasChanged();
|
||||
// }
|
||||
// }
|
||||
|
||||
Converter<Player> converter = new Converter<Player>
|
||||
Converter<PlayerState> converter = new Converter<PlayerState>
|
||||
{
|
||||
SetFunc = value => value.Name,
|
||||
GetFunc = text => null,
|
||||
|
|
@ -50,10 +52,10 @@
|
|||
|
||||
|
||||
|
||||
private IEnumerable<Player?>? _value;
|
||||
private IEnumerable<PlayerState?>? _value;
|
||||
|
||||
[Parameter]
|
||||
public IEnumerable<Player?>? SelectedValues
|
||||
public IEnumerable<PlayerState?>? SelectedValues
|
||||
{
|
||||
get => _value;
|
||||
set
|
||||
|
|
@ -65,5 +67,5 @@
|
|||
}
|
||||
|
||||
[Parameter]
|
||||
public EventCallback<IEnumerable<Player?>?> SelectedValuesChanged { get; set; }
|
||||
public EventCallback<IEnumerable<PlayerState?>?> SelectedValuesChanged { get; set; }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
using System.ComponentModel.DataAnnotations;
|
||||
using KoogleApp.Store.Player;
|
||||
|
||||
namespace KoogleApp.Model
|
||||
{
|
||||
|
|
@ -9,6 +10,6 @@ namespace KoogleApp.Model
|
|||
[Display(Name = "Datum")]
|
||||
public DateTime? PostDate { get; set; } = DateTime.Today;
|
||||
|
||||
public IEnumerable<Player?>? Players { get; set; }
|
||||
public IEnumerable<PlayerState?>? Players { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
using KoogleApp.Model;
|
||||
using KoogleApp.Store.Player;
|
||||
|
||||
namespace KoogleApp.Store.DayFeature
|
||||
{
|
||||
|
|
@ -30,4 +31,6 @@ namespace KoogleApp.Store.DayFeature
|
|||
{
|
||||
public DayModel DayModel { get; } = dayModel;
|
||||
}
|
||||
|
||||
public record InitNewDayModelAction(List<PlayerState> Players);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -146,5 +146,24 @@ namespace KoogleApp.Store.DayFeature
|
|||
ErrorMessage = action.ErrorMessage
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
[ReducerMethod]
|
||||
public static DayModelState OnInitNewDayModelAction(DayModelState state, InitNewDayModelAction action)
|
||||
{
|
||||
return state with
|
||||
{
|
||||
Submitting = false,
|
||||
ErrorMessage = "",
|
||||
Submitted = false,
|
||||
Model = new DayModel()
|
||||
{
|
||||
Players = action.Players.Where(p => p.PlayerStatus == PlayerStatus.Member).ToList(),
|
||||
PostDate = DateTime.Today
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue