master
Mathilde JEAN 2 years ago
commit 6c8166cf3c

@ -37,11 +37,14 @@
</div> </div>
<div class="col-6"> <div class="col-6">
</div>
<div>Available items:</div> <div>Available items:</div>
<div> <div>
<DataGrid TItem="InventoryItem" <DataGrid TItem="Item"
Data="@InvItems" Data="@Items"
ReadData="@OnReadData" ReadData="@OnReadData"
TotalItems="@totalItem" TotalItems="@totalItem"
PageSize="10" PageSize="10"
@ -49,25 +52,26 @@
Sortable="true"> Sortable="true">
<button type="submit" @onclick="() => SortByName()"></button> <button type="submit" @onclick="() => SortByName()"></button>
<DataGridColumn TItem="InventoryItem" Field="@nameof(InventoryItem.Item.Id)"> <DataGridColumn TItem="Item" Field="@nameof(Item.Id)">
<DisplayTemplate> <DisplayTemplate>
@if (!string.IsNullOrWhiteSpace(context.Item.ImageBase64)) @if (!string.IsNullOrWhiteSpace(context.ImageBase64))
{ {
<img src="data:image/png;base64, @(context.Item.ImageBase64)" class="img-thumbnail" title="@context.Item.DisplayName" alt="@context.Item.DisplayName" style="min-width: 50px; max-width: 50px" /> <img src="data:image/png;base64, @(context.ImageBase64)" class="img-thumbnail" title="@context.DisplayName" alt="@context.DisplayName" style="min-width: 50px; max-width: 50px" />
} }
else else
{ {
<img src="images/default.png" class="img-thumbnail" title="@context.Item.DisplayName" alt="@context.Item.DisplayName" style="max-width: 150px" /> <img src="images/default.png" class="img-thumbnail" title="@context.DisplayName" alt="@context.DisplayName" style="max-width: 150px" />
} }
</DisplayTemplate> </DisplayTemplate>
</DataGridColumn> </DataGridColumn>
<DataGridColumn TItem="InventoryItem" Field="@nameof(InventoryItem.Item.DisplayName)" /> <DataGridColumn TItem="Item" Field="@nameof(Item.DisplayName)" />
</DataGrid> </DataGrid>
</div> </div>
</div> </div>
</div>
</div> </div>
</CascadingValue> </CascadingValue>

@ -61,5 +61,10 @@ namespace BlazorApp.Components
Items = await DataService.SortedList(); Items = await DataService.SortedList();
} }
void refresh()
{
StateHasChanged();
}
} }
} }

@ -4,7 +4,8 @@
@ondragstart="@OnDragStart" @ondragstart="@OnDragStart"
@ondrop="@OnDrop" @ondrop="@OnDrop"
@ondragenter="@OnDragEnter" @ondragenter="@OnDragEnter"
@ondragleave="@OnDragLeave"> @ondragleave="@OnDragLeave"
@ondragend="@OnDragEnd" >
@if (Item != null) @if (Item != null)
{ {

@ -44,15 +44,50 @@ namespace BlazorApp.Components
return; return;
} }
Parent.InventoryItems[Parent.CurrentDragIndex] = this.Item; if (Parent.CurrentDragItem != null)
{
Item tmp = this.Item;
this.Item = Parent.CurrentDragItem; this.Item = Parent.CurrentDragItem;
Parent.InventoryItems[this.Index] = this.Item; Parent.InventoryItems[this.Index] = this.Item;
Parent.CurrentDragItem = tmp;
Parent.CurrentDragIndex = this.Index;
}
} }
private void OnDragStart() private void OnDragStart()
{ {
Parent.CurrentDragIndex = this.Index;
Parent.CurrentDragItem = this.Item; Parent.CurrentDragItem = this.Item;
if (this.Item != null)
{
if (!NoDrop)
{
Parent.CurrentDragIndex = this.Index;
this.Item = null;
Parent.InventoryItems[Index] = null;
}
else
{
Parent.CurrentDragIndex = -1;
}
}
}
internal void OnDragEnd()
{
if (NoDrop || Parent.CurrentDragItem==null)
{
return;
}
if (Parent.CurrentDragIndex != -1 && Parent.CurrentDragIndex!=this.Index)
{
Parent.InventoryItems[this.Index] = this.Item;
this.Item = Parent.CurrentDragItem;
}
Parent.CurrentDragIndex = -1;
Parent.CurrentDragItem = null;
} }
} }
} }

Loading…
Cancel
Save