//\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
// AFXUI auxiliary module for Blazor-application (WASM) | Author: Sergei Y.Kitáev
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
using System;
using System.Runtime.CompilerServices;
using System.Threading.Tasks;

using CommonHelpers.WASM;

namespace AFXUI {

//**************************************************************************************************
partial class UComponentBase {
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

public Task<int> DoBlocking_A( Func<Task> bodyA,
                               [CallerMemberName] string? methodNameOrSignature=null ) =>
   UCircuit.DoBlocking_A( this, false, bodyA, methodNameOrSignature );
public Task<int> DoBlocking_A( Func<bool>? preliminary, Func<Task> bodyA,
                               [CallerMemberName] string? methodNameOrSignature=null ) =>
   UCircuit.DoBlocking_A( this, false, preliminary, bodyA, methodNameOrSignature );

//--------------------------------------------------------------------------------------------------

public Task<int> DoBlocking_A( bool useWaitingCursor, Func<Task> bodyA,
                               [CallerMemberName] string? methodNameOrSignature=null ) =>
   UCircuit.DoBlocking_A( this, useWaitingCursor, bodyA, methodNameOrSignature );
public Task<int> DoBlocking_A( bool useWaitingCursor, Func<bool>? preliminary, Func<Task> bodyA,
                               [CallerMemberName] string? methodNameOrSignature=null ) =>
   UCircuit.DoBlocking_A( this, useWaitingCursor, preliminary, bodyA, methodNameOrSignature );

//==================================================================================================

public Task<int> DoBlocking_A( UCircuitExtraParams extraParams, Func<Task> bodyA,
                               [CallerMemberName] string? methodNameOrSignature=null ) =>
   UCircuit.DoBlocking_A( this, false, extraParams, bodyA, methodNameOrSignature );
public Task<int> DoBlocking_A( UCircuitExtraParams extraParams,
                               Func<bool>? preliminary, Func<Task> bodyA,
                               [CallerMemberName] string? methodNameOrSignature=null ) =>
   UCircuit.DoBlocking_A( this, false, extraParams, preliminary, bodyA, methodNameOrSignature );

//--------------------------------------------------------------------------------------------------

public Task<int> DoBlocking_A( bool useWaitingCursor,
                               UCircuitExtraParams extraParams, Func<Task> bodyA,
                               [CallerMemberName] string? methodNameOrSignature=null ) =>
   UCircuit.DoBlocking_A( this, useWaitingCursor, extraParams, bodyA, methodNameOrSignature );
public Task<int> DoBlocking_A( bool useWaitingCursor, UCircuitExtraParams extraParams,
                               Func<bool>? preliminary, Func<Task> bodyA,
                               [CallerMemberName] string? methodNameOrSignature=null ) =>
   UCircuit.DoBlocking_A( this, useWaitingCursor, extraParams, preliminary, bodyA,
                                methodNameOrSignature );

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
} // UComponentBase
//**************************************************************************************************

} // AFXUI
