public async Task CancelTransaction() { await _transaction.Cancel(); TransactionEnded?.Invoke(this, new MudDragAndDropTransactionFinishedEventArgs <T>(_transaction)); _transaction = null; }
public async Task CommitTransaction(string dropzoneIdentifier, bool reorderIsAllowed) { await _transaction.Commit(); var index = -1; if (reorderIsAllowed == true) { index = GetTransactionIndex() + 1; if (_transaction.SourceZoneIdentifier == _transaction.CurrentZone && IsItemMovedDownwards() == true) { index -= 1; } } await ItemDropped.InvokeAsync(new MudItemDropInfo <T>(_transaction.Item, dropzoneIdentifier, index)); TransactionEnded?.Invoke(this, new MudDragAndDropTransactionFinishedEventArgs <T>(dropzoneIdentifier, true, _transaction)); _transaction = null; }
public MudDragAndDropTransactionFinishedEventArgs(string destinationDropzoneIdentifier, bool success, MudDragAndDropItemTransaction <T> transaction) { Item = transaction.Item; Success = success; OriginatedDropzoneIdentifier = transaction.SourceZoneIdentifier; DestinationDropzoneIdentifier = destinationDropzoneIdentifier; OriginIndex = transaction.SourceIndex; DestinationIndex = transaction.Index; }
public void StartTransaction(T item, string identifier, int index, Func <Task> commitCallback, Func <Task> cancelCallback) { _transaction = new MudDragAndDropItemTransaction <T>(item, identifier, index, commitCallback, cancelCallback); TransactionStarted?.Invoke(this, _transaction); }
public MudDragAndDropTransactionFinishedEventArgs(MudDragAndDropItemTransaction <T> transaction) : this(string.Empty, false, transaction) { }