diff --git a/Blazor.WebForm.Components.2.0.1.3.nupkg b/Blazor.WebForm.Components.2.0.1.3.nupkg deleted file mode 100644 index ae57ed2..0000000 Binary files a/Blazor.WebForm.Components.2.0.1.3.nupkg and /dev/null differ diff --git a/Blazor.WebForm.Components.2.0.1.4.nupkg b/Blazor.WebForm.Components.2.0.1.4.nupkg new file mode 100644 index 0000000..1038beb Binary files /dev/null and b/Blazor.WebForm.Components.2.0.1.4.nupkg differ diff --git a/Blazor.WebForm.Components/Blazor.WebForm.Components.csproj b/Blazor.WebForm.Components/Blazor.WebForm.Components.csproj index b7c3e3e..964172f 100644 --- a/Blazor.WebForm.Components/Blazor.WebForm.Components.csproj +++ b/Blazor.WebForm.Components/Blazor.WebForm.Components.csproj @@ -4,7 +4,7 @@ net6.0 true Blazor.WebForm.Components.pfx - 2.0.1.3 + 2.0.1.4 asp Jurio li Blazor.WebForm.Components @@ -17,8 +17,8 @@ - - + + diff --git a/Blazor.WebForm.Components/PluralHolder.razor b/Blazor.WebForm.Components/PluralHolder.razor index 666bee7..8ae7b05 100644 --- a/Blazor.WebForm.Components/PluralHolder.razor +++ b/Blazor.WebForm.Components/PluralHolder.razor @@ -78,10 +78,7 @@ { foreach (Extensions.Web.UI.WebControls.PluralHolder.PluralItem item in this.Control.Items) { - if (item.DataItem == null || item.DataItem == item.DataItem) - { - item.DataItem = this.DataItem; - } + item.DataItem = this.DataItem; } } } diff --git a/Blazor.WebForm.Components/RichTextBox.razor b/Blazor.WebForm.Components/RichTextBox.razor new file mode 100644 index 0000000..f7d3081 --- /dev/null +++ b/Blazor.WebForm.Components/RichTextBox.razor @@ -0,0 +1,115 @@ +@using Blazor.WebForm.UI +@using Blazor.WebForm.UI.ControlComponents +@using System.Web.UI +@using System.Web.UI.WebControls +@inherits WebControlComponent +@this.RenderWithInner(this.Control) +@code { + [Parameter] + public RenderFragment ChildContent { get; set; } + + [Parameter] + public string ValidationGroup + { + get + { + return this.Control.ValidationGroup; + } + set + { + this.Control.ValidationGroup = value; + } + } + + [Parameter] + public bool CausesValidation + { + get + { + return this.Control.CausesValidation; + } + set + { + this.Control.CausesValidation = value; + } + } + + [Parameter] + public bool AutoPostBack + { + get + { + return this.Control.AutoPostBack; + } + set + { + this.Control.AutoPostBack = value; + } + } + + [Parameter] + public string InnerHtml + { + get + { + return this.Control.InnerHtml; + } + set + { + this.Control.InnerHtml = value; + } + } + + [Parameter] + public HtmlTextWriterTag TextBoxTag + { + get + { + return this.Control.TextBoxTag; + } + set + { + this.Control.TextBoxTag = value; + } + } + + [Parameter] + public EventHandler OnTextChanged + { + get + { + return this.GetEventProperty(); + } + set + { + this.SetEventProperty(value, i => this.Control.TextChanged += i, i => this.Control.TextChanged -= i); + } + } + + protected override void OnInitialized() + { + base.OnInitialized(); + if (this.HasPropertyBindEvent(nameof(this.InnerHtml))) + { + this.Control.AutoPostBack = true; + this.Control.TextChanged += this.BindInnerHtmlChanged; + if (this.HasEventProperty(nameof(this.OnTextChanged))) + { + this.SetBindEventProperty(nameof(this.OnTextChanged), this.BindInnerHtmlChanged); + } + } + } + + private void BindInnerHtmlChanged(object sender, EventArgs e) + { + this.InvokePropertyBindEvent(nameof(this.InnerHtml), this.InnerHtml); + } + + protected override void SetInnerPropertyWithInner(IReadOnlyDictionary parameters) + { + if (parameters.ContainsKey(nameof(this.ChildContent)) && this.ChildContent != null) + { + this.InnerHtml = RenderUtility.GetContentString(this.ChildContent); + } + } +}