using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Components; using System.Net.Http; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Components.Authorization; using Microsoft.AspNetCore.Components.Forms; using Microsoft.AspNetCore.Components.Routing; using Microsoft.AspNetCore.Components.Web; using Microsoft.AspNetCore.Components.Web.Virtualization; using Microsoft.JSInterop; using MP.INVE; using MP.INVE.Shared; using MP.INVE.Components; using MP.INVE.Data; using StackExchange.Redis; namespace MP.INVE.Components { public partial class CodeScan { // FIXME TODO creare evento x riportare scansione [Parameter] public EventCallback lastRawScan { get; set; } /// /// Imposta il focus su input scansione /// protected void setFocus() { // all'apertura del componente --> focus su txtbox scan (e anche dopo input) } private ElementReference target; //protected string lastScan { get; set; } = ""; public SelectScanParams currParams = new SelectScanParams(); //protected string rawScan //{ // get => currParams.UDC; // set => currParams.UDC = value; //} protected string _lastScan = ""; protected string LastScan { get => _lastScan; set { _lastScan = value; saveSel(LastScan); } } protected override async Task OnAfterRenderAsync(bool firstRender) { if (firstRender) { await target.FocusAsync(); } } private void saveSel(string scanToSend) { //LastScan = scanToSend; Task.FromResult(lastRawScan.InvokeAsync(scanToSend)); } } }