internal async Task OnInternalSelectAsync(SelectResultModel <TValue> item) { var args = new BChangeEventArgs <SelectResultModel <TValue> >(); args.NewValue = item; args.OldValue = SelectedOption; if (OnChanging.HasDelegate) { await OnChanging.InvokeAsync(args); if (args.DisallowChange) { return; } } await dropDownOption.Instance.CloseDropDownAsync(dropDownOption); SelectedOption = item; SetFieldValue(item.Key, true); Value = item.Key; if (dict != null) { dict.TryGetValue(Value, out var label); Label = label; } if (OnChange.HasDelegate) { await OnChange.InvokeAsync(args); } Console.WriteLine(Label); EnableClearButton = false; StateHasChanged(); }
public async Task OnClickAsync() { if (ParentMenu != null && TopMenu.Mode == MenuMode.Horizontal) { await ParentMenu.CloseAsync(); } TopMenu.ActivateItem(this); if (!string.IsNullOrEmpty(Route)) { if (OnRouteChanging.HasDelegate) { var arg = new BChangeEventArgs <string>(); arg.NewValue = Route; arg.OldValue = currentRoute; await OnRouteChanging.InvokeAsync(arg); if (arg.DisallowChange) { return; } } NavigationManager.NavigateTo(Route); NavigationManager.LocationChanged += NavigationManager_LocationChanged; } }
internal async Task <bool> TrySetValueAsync(TValue value, bool requireRefresh) { var arg = new BChangeEventArgs <TValue>() { NewValue = value, OldValue = SelectedValue }; if (SelectedValueChanging.HasDelegate) { await SelectedValueChanging.InvokeAsync(arg); if (arg.DisallowChange) { return(false); } } SelectedValue = value; SetFieldValue(SelectedValue, true); RequireRender = true; if (SelectedValueChanged.HasDelegate) { await SelectedValueChanged.InvokeAsync(value); } if (requireRefresh) { StateHasChanged(); } return(true); }
private async Task ShowMenuAsync(BChangeEventArgs <BTabPanel> eventArg) { eventArg.DisallowChange = true; var rect = await menuTabPanel.Element.Dom(JSRuntime).GetBoundingClientRectAsync(); var point = new System.Drawing.PointF(rect.X, rect.Height); await DialogService.ShowLayerAsync <DialogResult>(Menu, 0, new Dictionary <string, object>(), point); }
private async System.Threading.Tasks.Task PreventMenuSwitchAsync(BChangeEventArgs <BTabPanel> eventArg) { //if (eventArg.NewValue.Title == MenuText) //{ // await ShowMenuAsync(eventArg); //} //else if (string.IsNullOrWhiteSpace(MenuText) && eventArg.NewValue.Title == "开始") //{ // await ShowMenuAsync(eventArg); //} }
internal async Task <bool> SetActivateTabAsync(BTabPanel tab) { if (OnActiveTabChanging.HasDelegate) { var arg = new BChangeEventArgs <BTabPanel>(); arg.NewValue = tab; arg.OldValue = ActiveTab; await OnActiveTabChanging.InvokeAsync(arg); if (arg.DisallowChange) { return(false); } } if (DataSource == null) { foreach (var tabPanel in tabPanels) { if (tabPanel == tab) { tabPanel.Activate(); continue; } tabPanel.DeActivate(); } } else { foreach (var item in DataSource) { item.IsActive = item.Name == tab.Name; } } ActiveTab = tab; var eventArgs = new BChangeEventArgs <BTabPanel>(); eventArgs.OldValue = ActiveTab; eventArgs.NewValue = tab; RequireRender = true; if (OnActiveTabChanged.HasDelegate) { await OnActiveTabChanged.InvokeAsync(eventArgs); } else { StateHasChanged(); } return(true); }
protected void ChangeRadio(MouseEventArgs e) { if (IsDisabled) { return; } if (RadioGroup != null) { _ = RadioGroup.TrySetValueAsync(Value, !SelectedValueChanged.HasDelegate); return; } var newStatus = Status == RadioStatus.Selected ? RadioStatus.UnSelected : RadioStatus.Selected; if (StatusChanging.HasDelegate) { var arg = new BChangeEventArgs <RadioStatus>(); arg.OldValue = Status; arg.NewValue = newStatus; StatusChanging.InvokeAsync(arg).Wait(); if (arg.DisallowChange) { return; } } if (newStatus == RadioStatus.Selected && !TypeHelper.Equal(SelectedValue, Value)) { SelectedValue = Value; } if (RadioGroup == null) { SetFieldValue(SelectedValue, true); } if (StatusChanged.HasDelegate) { _ = StatusChanged.InvokeAsync(newStatus); } if (SelectedValueChanged.HasDelegate) { _ = SelectedValueChanged.InvokeAsync(SelectedValue); } }