protected override void OnParametersSet() { if (createItemFormViewModel is null) { createItemFormViewModel = new CreateItemFormViewModel <TModel>(CreateItemContext.CreateItemOptions); createItemFormViewModel.SaveAction = async model => { if (string.IsNullOrEmpty(CreateItemContext.CreateItemOptions.CreateUri)) { CreateItemContext.NotifyItemCreated(model); } else { var dto = await CreateItemHandle.CreateItem(model, CreateItemContext.CreateItemOptions, CancellationToken.None); CreateItemContext.NotifyItemCreated(dto); } createItemFormViewModel.ClearModel(); if (CreateItemContext.CreateItemOptions.CloseAfterSuccessfullySaved) { await FlexGridInterop.HideModal(CreateItemOptions.CreateItemModalName); } StateHasChanged(); }; } }
private void BuildCreateItemButtonRendererTree(GridRendererContext rendererContext, PermissionContext permissionContext) { rendererContext.OpenElement(HtmlTagNames.TableHeadCell, rendererContext.CssClasses.TableHeaderCell); rendererContext.OpenElement(HtmlTagNames.Div, "create-button-wrapper"); rendererContext.OpenElement(HtmlTagNames.Button, "action-button"); rendererContext.AddOnClickEvent(() => BindMethods.GetEventHandlerValue((UIMouseEventArgs e) => FlexGridInterop.ShowModal(CreateItemOptions.CreateItemModalName)) ); rendererContext.OpenElement(HtmlTagNames.Span, "action-button-span"); rendererContext.OpenElement(HtmlTagNames.I, "fas fa-plus"); rendererContext.CloseElement(); rendererContext.CloseElement(); rendererContext.CloseElement(); rendererContext.CloseElement(); rendererContext.CloseElement(); }
protected override void BuildRendererTreeInternal(GridRendererContext rendererContext, PermissionContext permissionContext) { if (!permissionContext.HasCreateItemPermission) { return; } rendererContext.OpenElement(HtmlTagNames.Div, "modal"); rendererContext.AddAttribute(HtmlAttributes.Id, CreateItemOptions.CreateItemModalName); rendererContext.AddAttribute("role", "dialog"); rendererContext.OpenElement(HtmlTagNames.Div, "modal-dialog modal-lg modal-dialog-centered"); rendererContext.OpenElement(HtmlTagNames.Div, "modal-content"); rendererContext.OpenElement(HtmlTagNames.Div, "modal-header"); rendererContext.OpenElement(HtmlTagNames.H4, "modal-title"); rendererContext.AddContent("Create Item"); rendererContext.CloseElement(); rendererContext.OpenElement(HtmlTagNames.Button, "close"); rendererContext.AddOnClickEvent(() => BindMethods.GetEventHandlerValue((UIMouseEventArgs e) => FlexGridInterop.HideModal(CreateItemOptions.CreateItemModalName))); rendererContext.AddAttribute(HtmlAttributes.Type, "button"); rendererContext.AddAttribute("data-dismiss", "modal"); rendererContext.AddAttribute("aria-label", "Close"); rendererContext.OpenElement(HtmlTagNames.Span); rendererContext.AddAttribute(HtmlAttributes.AriaHidden, "true"); rendererContext.AddContent("×"); rendererContext.CloseElement(); rendererContext.CloseElement(); rendererContext.CloseElement(); rendererContext.OpenElement(HtmlTagNames.Div, "modal-body"); rendererContext.AddCreateItemComponent(); rendererContext.CloseElement(); rendererContext.CloseElement(); rendererContext.CloseElement(); rendererContext.CloseElement(); }
public GridHeaderRenderer(FlexGridInterop flexGridInterop) { this.flexGridInterop = flexGridInterop ?? throw new ArgumentNullException(nameof(flexGridInterop)); }
public DeleteModalRenderer(FlexGridInterop flexGridInterop) { this.flexGridInterop = flexGridInterop ?? throw new ArgumentNullException(nameof(flexGridInterop)); }