diff --git a/docs/CodeBeam.MudBlazor.Extensions.Docs.Wasm/wwwroot/CodeBeam.MudBlazor.Extensions.xml b/docs/CodeBeam.MudBlazor.Extensions.Docs.Wasm/wwwroot/CodeBeam.MudBlazor.Extensions.xml index d00d32ec..bef67a18 100644 --- a/docs/CodeBeam.MudBlazor.Extensions.Docs.Wasm/wwwroot/CodeBeam.MudBlazor.Extensions.xml +++ b/docs/CodeBeam.MudBlazor.Extensions.Docs.Wasm/wwwroot/CodeBeam.MudBlazor.Extensions.xml @@ -5985,8 +5985,13 @@ - + + + + + + The timezone of the watch. If null, DateTime.Now will be used. diff --git a/src/CodeBeam.MudBlazor.Extensions/Components/ComboBox/MudComboBox.razor b/src/CodeBeam.MudBlazor.Extensions/Components/ComboBox/MudComboBox.razor index 0825d44e..70c8cf81 100644 --- a/src/CodeBeam.MudBlazor.Extensions/Components/ComboBox/MudComboBox.razor +++ b/src/CodeBeam.MudBlazor.Extensions/Components/ComboBox/MudComboBox.razor @@ -7,7 +7,7 @@ @inject IKeyInterceptorService KeyInterceptorService @inject IScrollManagerExtended ScrollManagerExtended - +
diff --git a/src/CodeBeam.MudBlazor.Extensions/Components/ComboBox/MudComboBox.razor.cs b/src/CodeBeam.MudBlazor.Extensions/Components/ComboBox/MudComboBox.razor.cs index 472e86b2..1d5c8a0e 100644 --- a/src/CodeBeam.MudBlazor.Extensions/Components/ComboBox/MudComboBox.razor.cs +++ b/src/CodeBeam.MudBlazor.Extensions/Components/ComboBox/MudComboBox.razor.cs @@ -379,6 +379,13 @@ protected internal void SetSearchString(T value) //[Category(CategoryTypes.List.Behavior)] //public bool Virtualize { get; set; } + /// + /// If true, clear button forced to show even on readonly or disabled ComboBox. + /// + [Parameter] + [Category(CategoryTypes.List.Behavior)] + public bool ForceClearable { get; set; } + /// /// If true, chips has close button and remove from SelectedValues when pressed the close button. /// @@ -757,6 +764,7 @@ protected override void OnInitialized() bool _oldShowCheckbox = true; bool _oldBordered; Dense _oldDense = Dense.Standard; + bool _oldReadonly; /// /// /// @@ -765,7 +773,8 @@ protected override void OnParametersSet() base.OnParametersSet(); if (_oldShowCheckbox != ShowCheckbox || _oldBordered != Bordered || - _oldDense != Dense) + _oldDense != Dense || + _oldReadonly != ReadOnly) { ForceRenderItems(); } @@ -773,6 +782,7 @@ protected override void OnParametersSet() _oldBordered = Bordered; _oldDense = Dense; _allSelected = GetAllSelectedState(); + _oldReadonly = ReadOnly; } bool _firstRendered = false; diff --git a/src/CodeBeam.MudBlazor.Extensions/Components/InputExtended/MudInputExtended.razor.cs b/src/CodeBeam.MudBlazor.Extensions/Components/InputExtended/MudInputExtended.razor.cs index 55480029..76cf09b8 100644 --- a/src/CodeBeam.MudBlazor.Extensions/Components/InputExtended/MudInputExtended.razor.cs +++ b/src/CodeBeam.MudBlazor.Extensions/Components/InputExtended/MudInputExtended.razor.cs @@ -316,8 +316,6 @@ public override ValueTask SelectRangeAsync(int pos1, int pos2) private Size GetButtonSize() => Margin == Margin.Dense ? Size.Small : Size.Medium; - //private bool _showClearable; - private void UpdateClearable(object? value) { var showClearable = HasValue((T?)value); @@ -325,8 +323,6 @@ private void UpdateClearable(object? value) Clearable = showClearable; } - //private bool GetClearable() => Clearable && ((ReadValue is string stringValue && !string.IsNullOrWhiteSpace(stringValue)) || (ReadValue is not string && ReadValue is not null)); - private bool ShowClearButton() { if (GetDisabledState()) @@ -334,17 +330,15 @@ private bool ShowClearButton() return false; } - if (!Clearable) + if (SubscribeToParentForm && GetReadOnlyState()) { return false; } - // TODO: Add SubscribeToParentForm and GetReadOnlyState from MudBaseInput when Mud 9 released, it's currently internal - // Select extended is currently hardcoded readonly true, do not uncomment - //if (ReadOnly) - //{ - // return false; - //} + if (!Clearable) + { + return false; + } return HasValue(ReadValue); } diff --git a/src/CodeBeam.MudBlazor.Extensions/Components/SelectExtended/MudSelectExtended.razor b/src/CodeBeam.MudBlazor.Extensions/Components/SelectExtended/MudSelectExtended.razor index fd7a13bc..8424574e 100644 --- a/src/CodeBeam.MudBlazor.Extensions/Components/SelectExtended/MudSelectExtended.razor +++ b/src/CodeBeam.MudBlazor.Extensions/Components/SelectExtended/MudSelectExtended.razor @@ -2,7 +2,7 @@ @typeparam T @inherits MudBaseInputExtended - +
diff --git a/src/CodeBeam.MudBlazor.Extensions/Components/TextFieldExtended/MudTextFieldExtended.razor b/src/CodeBeam.MudBlazor.Extensions/Components/TextFieldExtended/MudTextFieldExtended.razor index 0b4c8c9e..851ce38b 100644 --- a/src/CodeBeam.MudBlazor.Extensions/Components/TextFieldExtended/MudTextFieldExtended.razor +++ b/src/CodeBeam.MudBlazor.Extensions/Components/TextFieldExtended/MudTextFieldExtended.razor @@ -53,7 +53,7 @@ KeyDownPreventDefault="KeyDownPreventDefault" KeyUpPreventDefault="KeyUpPreventDefault" HideSpinButtons="true" - Clearable="@Clearable" + Clearable="@ShowClearButton()" OnClearButtonClick="@OnClearButtonClick" Pattern="@Pattern" AutoSize="AutoSize" diff --git a/src/CodeBeam.MudBlazor.Extensions/Components/TextFieldExtended/MudTextFieldExtended.razor.cs b/src/CodeBeam.MudBlazor.Extensions/Components/TextFieldExtended/MudTextFieldExtended.razor.cs index f2207b7e..1f66c7fa 100644 --- a/src/CodeBeam.MudBlazor.Extensions/Components/TextFieldExtended/MudTextFieldExtended.razor.cs +++ b/src/CodeBeam.MudBlazor.Extensions/Components/TextFieldExtended/MudTextFieldExtended.razor.cs @@ -217,6 +217,12 @@ public IMask? Mask // return base.SetTextAsync(text, updateValue); //} + private bool ShowClearButton() + { + if (SubscribeToParentForm) + return Clearable && !GetReadOnlyState() && !GetDisabledState(); + return Clearable && !GetDisabledState(); + } private async Task OnMaskedValueChanged(string s) { await SetTextAndUpdateValueAsync(s, false);