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.Components.Dialogs
|
||||||
@using KoogleApp.Store.DayFeature
|
@using KoogleApp.Store.DayFeature
|
||||||
@using KoogleApp.Store.Game.ThrowPanel
|
@using KoogleApp.Store.Game.ThrowPanel
|
||||||
|
@using KoogleApp.Store.Player
|
||||||
@inherits FluxorComponent
|
@inherits FluxorComponent
|
||||||
|
|
||||||
@inject IDispatcher Dispatcher
|
@inject IDispatcher Dispatcher
|
||||||
@inject IState<DayState> DayState
|
@inject IState<DayState> DayState
|
||||||
|
@inject IState<PlayersState> PlayersState
|
||||||
@inject IDialogService DialogService
|
@inject IDialogService DialogService
|
||||||
|
|
||||||
@if (DayState.Value.Status != DayStatus.Started)
|
@if (DayState.Value.Status != DayStatus.Started)
|
||||||
|
|
@ -22,6 +24,7 @@
|
||||||
|
|
||||||
private async Task StartClick(MouseEventArgs obj)
|
private async Task StartClick(MouseEventArgs obj)
|
||||||
{
|
{
|
||||||
|
Dispatcher.Dispatch(new InitNewDayModelAction(PlayersState.Value.Players));
|
||||||
var parameters = new DialogParameters<StartDayDialog>{ };
|
var parameters = new DialogParameters<StartDayDialog>{ };
|
||||||
// parameters.Add<TimeRecordDto>(x => x.Record, Record);
|
// parameters.Add<TimeRecordDto>(x => x.Record, Record);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,20 @@
|
||||||
@using KoogleApp.Data
|
@using KoogleApp.Data
|
||||||
@using KoogleApp.Model
|
@using KoogleApp.Model
|
||||||
|
@using KoogleApp.Store.Player
|
||||||
|
|
||||||
@inject SharedDataService SharedDataService
|
@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))"
|
MultiSelectionTextFunc="@(new Func<List<string>,string>(GetMultiSelectionText))"
|
||||||
MultiSelection="true"
|
MultiSelection="true"
|
||||||
Converter="@converter"
|
Converter="converter"
|
||||||
@bind-SelectedValues="SelectedValues">
|
@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>
|
</MudSelect>
|
||||||
}
|
}
|
||||||
|
|
@ -20,19 +22,19 @@
|
||||||
|
|
||||||
@code {
|
@code {
|
||||||
|
|
||||||
private IEnumerable<Player?>? _players;
|
// private IEnumerable<PlayerState?>? _players;
|
||||||
|
|
||||||
protected override async Task OnAfterRenderAsync(bool firstRender)
|
// protected override async Task OnAfterRenderAsync(bool firstRender)
|
||||||
{
|
// {
|
||||||
if (firstRender)
|
// if (firstRender)
|
||||||
{
|
// {
|
||||||
var data = await SharedDataService.GetAllPlayersAsync();
|
// var data = await SharedDataService.GetAllPlayersAsync();
|
||||||
_players = data.OrderBy(p => p.Name).ToList();
|
// _players = data.OrderBy(p => p.Name).ToList();
|
||||||
StateHasChanged();
|
// StateHasChanged();
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
Converter<Player> converter = new Converter<Player>
|
Converter<PlayerState> converter = new Converter<PlayerState>
|
||||||
{
|
{
|
||||||
SetFunc = value => value.Name,
|
SetFunc = value => value.Name,
|
||||||
GetFunc = text => null,
|
GetFunc = text => null,
|
||||||
|
|
@ -50,10 +52,10 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private IEnumerable<Player?>? _value;
|
private IEnumerable<PlayerState?>? _value;
|
||||||
|
|
||||||
[Parameter]
|
[Parameter]
|
||||||
public IEnumerable<Player?>? SelectedValues
|
public IEnumerable<PlayerState?>? SelectedValues
|
||||||
{
|
{
|
||||||
get => _value;
|
get => _value;
|
||||||
set
|
set
|
||||||
|
|
@ -65,5 +67,5 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
[Parameter]
|
[Parameter]
|
||||||
public EventCallback<IEnumerable<Player?>?> SelectedValuesChanged { get; set; }
|
public EventCallback<IEnumerable<PlayerState?>?> SelectedValuesChanged { get; set; }
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using KoogleApp.Store.Player;
|
||||||
|
|
||||||
namespace KoogleApp.Model
|
namespace KoogleApp.Model
|
||||||
{
|
{
|
||||||
|
|
@ -9,6 +10,6 @@ namespace KoogleApp.Model
|
||||||
[Display(Name = "Datum")]
|
[Display(Name = "Datum")]
|
||||||
public DateTime? PostDate { get; set; } = DateTime.Today;
|
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.Model;
|
||||||
|
using KoogleApp.Store.Player;
|
||||||
|
|
||||||
namespace KoogleApp.Store.DayFeature
|
namespace KoogleApp.Store.DayFeature
|
||||||
{
|
{
|
||||||
|
|
@ -30,4 +31,6 @@ namespace KoogleApp.Store.DayFeature
|
||||||
{
|
{
|
||||||
public DayModel DayModel { get; } = dayModel;
|
public DayModel DayModel { get; } = dayModel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public record InitNewDayModelAction(List<PlayerState> Players);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -146,5 +146,24 @@ namespace KoogleApp.Store.DayFeature
|
||||||
ErrorMessage = action.ErrorMessage
|
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