示例#1
0
        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();
        }
示例#3
0
        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("&times;");
            rendererContext.CloseElement();
            rendererContext.CloseElement();
            rendererContext.CloseElement();

            rendererContext.OpenElement(HtmlTagNames.Div, "modal-body");
            rendererContext.AddCreateItemComponent();

            rendererContext.CloseElement();
            rendererContext.CloseElement();
            rendererContext.CloseElement();
            rendererContext.CloseElement();
        }
示例#4
0
 public GridHeaderRenderer(FlexGridInterop flexGridInterop)
 {
     this.flexGridInterop = flexGridInterop ?? throw new ArgumentNullException(nameof(flexGridInterop));
 }
 public DeleteModalRenderer(FlexGridInterop flexGridInterop)
 {
     this.flexGridInterop = flexGridInterop ?? throw new ArgumentNullException(nameof(flexGridInterop));
 }