using System.Threading.Tasks;
using TelegramBotBase.Sessions;
namespace TelegramBotBase.Base;
///
/// Base class for controls
///
public class ControlBase
{
public DeviceSession Device { get; set; }
public int Id { get; set; }
public string ControlId => "#c" + Id;
///
/// Defines if the control should be rendered and invoked with actions
///
public bool Enabled { get; set; } = true;
///
/// Get invoked when control will be added to a form and invoked.
///
///
public virtual void Init()
{
}
public virtual Task Load(MessageResult result)
{
return Task.CompletedTask;
}
public virtual Task Action(MessageResult result, string value = null)
{
return Task.CompletedTask;
}
public virtual Task Render(MessageResult result)
{
return Task.CompletedTask;
}
public virtual Task Hidden(bool formClose)
{
return Task.CompletedTask;
}
///
/// Will be called on a cleanup.
///
///
public virtual Task Cleanup()
{
return Task.CompletedTask;
}
}