New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(module:datepicker): fix multiple CultureInfo properties #1492
fix(module:datepicker): fix multiple CultureInfo properties #1492
Conversation
Codecov Report
@@ Coverage Diff @@
## master #1492 +/- ##
======================================
Coverage 0.00% 0.00%
======================================
Files 453 453
Lines 28499 28501 +2
======================================
- Misses 28499 28501 +2
Continue to review full report at Codecov.
|
@@ -94,7 +94,7 @@ public virtual TValue Value | |||
public string Size { get; set; } = AntSizeLDSType.Default; | |||
|
|||
[Parameter] | |||
public CultureInfo CultureInfo { get; set; } = CultureInfo.CurrentCulture; | |||
public virtual CultureInfo CultureInfo { get; set; } = CultureInfo.CurrentCulture; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think I made a mistake here and we should actually use LocaleProvider.CurrentLocale.CurrentCulture
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My view is just the opposite. LocaleProvider.CurrentLocale.CurrentCulture
is wrong. LocaleProvider.CurrentLocale.CurrentCulture
returns the cultureInfo wrote in the json file. If the user set a culture("xx-xx") which has no corresponding json file, then _locale.CurrentCulture
will fall back to en
, but CultureInfo
property is xx-xx
.
I mean, actually CultureInfo
property may be different from Locale.CurrentCulture
. If LocaleProvider.CurrentLocale.CurrentCulture
is right, then we should also do somethink like:
public override CultureInfo CultureInfo
{
get
{
return base.CultureInfo;
}
set
{
_locale = LocaleProvider.GetLocale(value.Name).DatePicker;
base.CultureInfo = _locale.CurrentCulture;
}
}
which is unreasonable.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the problem we have here is that Locale
is trying to do the same thing as CultureInfo
plus some AntDesign
specific stuff. I agree it is still needed, but possibly could be hidden behind CultureInfo
and not really exposed to the user. Maybe as an option, through DI, for advanced scenarios. This way CultureInfo
could be used as the only definition of culture/locale. Appropriate json would be retrieved based on CultureInfo
to cover the AntDesign
specific requirements. This way we could skip the double-data entry. Or allow json to "override" CultureInfo
if necessary. I think there was an idea to "redo" the whole localization logic, but no one decided to tackle this problem, and this is indeed a problem as it will affect the whole library. @ElderJames what do you think?
set | ||
{ | ||
if (!_isLocaleSetOutside && base.CultureInfo != value && base.CultureInfo.Name != value.Name) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am worried about this a bit. What if a consumer decides to use the same CultureInfo
as the default but only changes some minor part, like CurrencySymbol
? If I understand this correctly, new CultureInfo
will not be picked up...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't quite understand. To change some minor parts, the user can assign a new Locale
instance to the Locale
property, which will override the CultrueInfo
settings. And, I think this is for DatePicker
only, so why do you use CurrencySymbol
as the example? And, if the user don't want to override the language of only a single component instance, he want to apply a global configuration, I think this should be done at the application startup stage, not at runtime.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Clearly my example was not a perfect one, as obviously you are right - currency has nothing to do with date. And because DatePicker
anyway will currently use Locale
then whatever user chooses will not have any effect.
As I wrote in my previous comment, I think this separation into Locale
& CultureInfo
may not be the best choice. But I am not the one to decide here. I do think though a consumer of the lib should have ability to set a different locale for each component. But this could be also achieved by scoping services to a component if we are going to do this through DI.
* fix(module: select): enum default value protection (#1368) * fix(module: affix): can't affix while OffsetTop is zero (#1373) * fix(module: affix): can't affix while OffsetTop is zero * use affixed setter for rerendering * limit rerendering * fix(module: input): binding data when the Enter key is pressed (#1375) * fix(module: table): ellipsis can't work (#1376) * feat: add element component (#1378) * refactor: rename `HtmlElement` property case * rename the directory name for overlay * add element component * fix(module: table): Unify FieldName, add DisplayAttribute for DiplayName, fix Filter for DataIndex (#1372) * fix(module: table): Unify FieldName value * fix(module: table): Get column name from DisplayAttribute * fix(module: table): Filter for DataIndex * docs(module: table): Intuitive sorterCompare for Filter demo * fix(module: table): fix header title doesn't display when Sortable is false Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(dialog): add Dispose lifecycle function to Dialog (#1379) Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: input): preserve focus and caret position for input password when visibility is toggled (#1377) * set focus when the password button is clicked * add methods for selection * set selectionStart after Focus * fix typescript * set selectionEnd as well * fix a stupid if-condition-bug * remove checks for element * add selectionStart to getDomInfo * get selectionStart from Element * delete unneeded js method Co-authored-by: mihails.kuzmins <mihails.kuzmins@daytongroup.lv> Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: table): can not use DataIndex nullable mode with not nullable property (#1382) * fix(module: table): column header sorter not refresh after ClearSorter is called (#1385) * fix(module:table): column header sorter not refresh after ClearSorter is called * add judgment condition for calling StateHasChanged in IFieldColumn.ClearSorter() * fix(module: form): validation message unique (#1391) * fix(module: tag): closable typo and delete mode (#1393) * fix(module: tag): closable typo and delete mode * return early * test(module: divider): divider tests (#1397) Co-authored-by: James Yeung <shunjiey@hotmail.com> * feat(module: modal): support define modal's style in ModalOptions (#1400) * fix(module: checkbox & switch): Checked parameter binding (#1394) * fix(module:checkbox): allow binding to Checked parameter * fix(module:switch): allow binding to Checked parameter * fix(modules): checkbox & switch get AntInputBoolComponentBase class * test(module:switch): add tests * test(module:checkbox): add tests * test(module:divider): simplify by using id:ignore * docs(module:checkbox): bind example * docs(module:switch): bind example * fix(module:switch): add Control + docs + tests * feat(module:checkboxgroup): add layout and mixed mode * fix: review comments + tests * fix(module:checkboxgroup): parameter name should be MixedMode added more tests * fix demo * fix(module:checkboxgroup): allow toggling between modes Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: select): OnDataSourceChange called when expected (#1419) * fix(module:select): OnDataSourceChange called when expected * test(module:select): add missing scenario * fix(module: table): DataIndex filter pop up (#1421) * fix(module:overlayTrigger): TrigerRefernece points to OverlayTrigger.Ref. * fix(module:overlay): Show waits for competing code to finish * Update OverlayTrigger.razor.cs * clean code Co-authored-by: James Yeung <shunjiey@hotmail.com> * feat: use ResizeObserver Api instead of window.resize (#1392) * feat: use ResizeObserver Api instead of window.resize * fix(module:select): fall back to window.resize in IE11. * fix(module:domEventService): switch from IsIE11 to IsResizeObserverSupported * fix: Console.WriteLine removed Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: table): check null in set sorter method (#1423) * fix(module: datepicker): validate manually entered date against format (#1389) * fix(module:datepicker): validate manually entered date against format * fix(module:datepicker): keep frozen the panel until valid date entered * fix(module:datepicker): switch to current culture format * fix(module:datepicker): build fix * fix(module:datepicker): use InvariantCulture when calling ToString on date * fix(module:datepicker): FormatAnalyzer handles also year, week, month & quarter picker * fix(module:datepicker): FormatAnalyzer broken tests * fix: FormatAnalyzer handles prefixes in format. Suffix is handled for picker type = "year" Tests include validation of not changing state * fix: all modes go through format analyzing (inluding week&quarter) * fix(module:datepickerbase): InternalFormat initalized properly for all modes * fix(module:rangepicker): reset opposing date when in conflict with current * fix(module:rangePicker): handle null in second part of range * fix(module:datepicker): switch from BindConverter to partials * tests(module:datepicker): FormatAnalyzer new tests to cover switch from BindConverter * tests(module:datepicker): missed change in tests * fix: focus, key events, reset value to original if not confirmed * fix: bug fix on range & clean-up * Update DatePicker.razor Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: overlay): issues in boundaryAdjustMode (#1420) Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: cascader): incorrect size (#1432) * fix(module: cascader): incorrect size * add test for cascader size * fix(module: table): fix wrong spell for TableFilterCompareOperator.EndsWith (#1434) * fix(module: table): remove an redundant whitespace * fix(module: table): fix wrong spell * fix(module: table): fix wrong spell Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: cascader): add SelectedNodesChanged and invoke it after clear selected (#1437) * fix(module: table): fix spell mistake for TableFilterType.FieldType (#1442) * style(module:table): fix spell mistake for TableFilterType.FieldType * style(module:table): fix spell mistake for TableFilterType.FieldType * fix(module: select): fix error for nullable TItem (#1451) * fix(module: checkbox): remove Value initialization blocking (#1459) * fix(module:checkbox): remove Value initialization blocking * Update CheckboxTests.razor Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: select): support IEnumerable in form (#1460) Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: select): fix dropdown width for IE (#1469) * fix(module:select): fix dropdown width for IE * fix(module:select): add a comment to explain the change * revert 'merge local branch' * revert 'merge local branch' * revert 'merge local branch' Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: dialog): modify delay time to DOM_ MIN_ TIMEOUT_ VALUE (#1445) Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: datepicker): Date picker panel click closing + some issues from #1431 (#1452) * fix(module:datetime) keep open when click on panel fix: tab key behavior blur/show optimization * fix(module:rangepicker): tab key behavior improvements blur/focus optimizations * fix(module:overlay): overlay visible before positioning fix: flickering * fix(module:datepicker): handle escape key * fix(module:datepicker): mark properly current date on panel * fix(module:datepicker): week mode calculates weeks properly * fix(module: table): exception is thrown when the DataIndex ends with the get_Item method. (#1485) * fix(module: table): set DisplayName to null if MemberExpression is not found in the DataIndex expression tree (#1488) * feat(module: cascader): support showSearch (#1484) * feat(module: cascader): support showSearch * add empty dropdown * fix clear icon * fix(module: InputNumber): input number self changing (#1490) Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: inputNumber): allow culture info to format input (#1480) * fix(module:inputnumber): allow culture info to format input * docs(module:inputnumber): demo & docs * fix translation Co-authored-by: ElderJames <shunjiey@hotmail.com> * docs: update docs for modal dragging (#1497) * fix(module: table): fix built-in filter select option width (#1500) * fix(module: datepicker): fix multiple CultureInfo properties (#1492) * fix(module:datepicker): fix multiple CultureInfo properties * fix(module:datepicker): fix multiple CultureInfo properties * fix(module: input): fix Input component for Guid type (#1510) * fix(module:input): fix Input component for Guid type * docs(module:input): add Guid generic sample code * fix(module:input): add a comment to explain the change * fix(module: input): guid optimization (#1515) * fix:(module: overlay): positioning should take scroll into account (#1511) Co-authored-by: Ocoka <somewhere@network> Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix: js function getDom return null bug (#1417) * fix: js function getDom return null bug (#1374) * fix: add IF precompiled instruction for observer attribute Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix: missing using is causing build failure (#1518) * change log 0.8.1 (#1522) * change log 0.8.1 * fix order Co-authored-by: Andrzej Bakun <andrzej@neelyc.com.cy> Co-authored-by: Zonciu Liang <zonciu@zonciu.com> Co-authored-by: zxyao <zxyao145@gmail.com> Co-authored-by: MihailsKuzmins <47413092+MihailsKuzmins@users.noreply.github.com> Co-authored-by: mihails.kuzmins <mihails.kuzmins@daytongroup.lv> Co-authored-by: anranruye <54608128+anranruye@users.noreply.github.com> Co-authored-by: 笨木头 <musicvs@163.com> Co-authored-by: Maksim <maksalmak@gmail.com> Co-authored-by: Ivan Ocoka <ocokanet@gmail.com> Co-authored-by: Ocoka <somewhere@network>
* fix(module:datepicker): fix multiple CultureInfo properties * fix(module:datepicker): fix multiple CultureInfo properties
* fix(module: select): enum default value protection (#1368) * fix(module: affix): can't affix while OffsetTop is zero (#1373) * fix(module: affix): can't affix while OffsetTop is zero * use affixed setter for rerendering * limit rerendering * fix(module: input): binding data when the Enter key is pressed (#1375) * fix(module: table): ellipsis can't work (#1376) * feat: add element component (#1378) * refactor: rename `HtmlElement` property case * rename the directory name for overlay * add element component * fix(module: table): Unify FieldName, add DisplayAttribute for DiplayName, fix Filter for DataIndex (#1372) * fix(module: table): Unify FieldName value * fix(module: table): Get column name from DisplayAttribute * fix(module: table): Filter for DataIndex * docs(module: table): Intuitive sorterCompare for Filter demo * fix(module: table): fix header title doesn't display when Sortable is false Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(dialog): add Dispose lifecycle function to Dialog (#1379) Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: input): preserve focus and caret position for input password when visibility is toggled (#1377) * set focus when the password button is clicked * add methods for selection * set selectionStart after Focus * fix typescript * set selectionEnd as well * fix a stupid if-condition-bug * remove checks for element * add selectionStart to getDomInfo * get selectionStart from Element * delete unneeded js method Co-authored-by: mihails.kuzmins <mihails.kuzmins@daytongroup.lv> Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: table): can not use DataIndex nullable mode with not nullable property (#1382) * fix(module: table): column header sorter not refresh after ClearSorter is called (#1385) * fix(module:table): column header sorter not refresh after ClearSorter is called * add judgment condition for calling StateHasChanged in IFieldColumn.ClearSorter() * fix(module: form): validation message unique (#1391) * fix(module: tag): closable typo and delete mode (#1393) * fix(module: tag): closable typo and delete mode * return early * test(module: divider): divider tests (#1397) Co-authored-by: James Yeung <shunjiey@hotmail.com> * feat(module: modal): support define modal's style in ModalOptions (#1400) * fix(module: checkbox & switch): Checked parameter binding (#1394) * fix(module:checkbox): allow binding to Checked parameter * fix(module:switch): allow binding to Checked parameter * fix(modules): checkbox & switch get AntInputBoolComponentBase class * test(module:switch): add tests * test(module:checkbox): add tests * test(module:divider): simplify by using id:ignore * docs(module:checkbox): bind example * docs(module:switch): bind example * fix(module:switch): add Control + docs + tests * feat(module:checkboxgroup): add layout and mixed mode * fix: review comments + tests * fix(module:checkboxgroup): parameter name should be MixedMode added more tests * fix demo * fix(module:checkboxgroup): allow toggling between modes Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: select): OnDataSourceChange called when expected (#1419) * fix(module:select): OnDataSourceChange called when expected * test(module:select): add missing scenario * fix(module: table): DataIndex filter pop up (#1421) * fix(module:overlayTrigger): TrigerRefernece points to OverlayTrigger.Ref. * fix(module:overlay): Show waits for competing code to finish * Update OverlayTrigger.razor.cs * clean code Co-authored-by: James Yeung <shunjiey@hotmail.com> * feat: use ResizeObserver Api instead of window.resize (#1392) * feat: use ResizeObserver Api instead of window.resize * fix(module:select): fall back to window.resize in IE11. * fix(module:domEventService): switch from IsIE11 to IsResizeObserverSupported * fix: Console.WriteLine removed Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: table): check null in set sorter method (#1423) * fix(module: datepicker): validate manually entered date against format (#1389) * fix(module:datepicker): validate manually entered date against format * fix(module:datepicker): keep frozen the panel until valid date entered * fix(module:datepicker): switch to current culture format * fix(module:datepicker): build fix * fix(module:datepicker): use InvariantCulture when calling ToString on date * fix(module:datepicker): FormatAnalyzer handles also year, week, month & quarter picker * fix(module:datepicker): FormatAnalyzer broken tests * fix: FormatAnalyzer handles prefixes in format. Suffix is handled for picker type = "year" Tests include validation of not changing state * fix: all modes go through format analyzing (inluding week&quarter) * fix(module:datepickerbase): InternalFormat initalized properly for all modes * fix(module:rangepicker): reset opposing date when in conflict with current * fix(module:rangePicker): handle null in second part of range * fix(module:datepicker): switch from BindConverter to partials * tests(module:datepicker): FormatAnalyzer new tests to cover switch from BindConverter * tests(module:datepicker): missed change in tests * fix: focus, key events, reset value to original if not confirmed * fix: bug fix on range & clean-up * Update DatePicker.razor Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: overlay): issues in boundaryAdjustMode (#1420) Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: cascader): incorrect size (#1432) * fix(module: cascader): incorrect size * add test for cascader size * fix(module: table): fix wrong spell for TableFilterCompareOperator.EndsWith (#1434) * fix(module: table): remove an redundant whitespace * fix(module: table): fix wrong spell * fix(module: table): fix wrong spell Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: cascader): add SelectedNodesChanged and invoke it after clear selected (#1437) * fix(module: table): fix spell mistake for TableFilterType.FieldType (#1442) * style(module:table): fix spell mistake for TableFilterType.FieldType * style(module:table): fix spell mistake for TableFilterType.FieldType * fix(module: select): fix error for nullable TItem (#1451) * fix(module: checkbox): remove Value initialization blocking (#1459) * fix(module:checkbox): remove Value initialization blocking * Update CheckboxTests.razor Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: select): support IEnumerable in form (#1460) Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: select): fix dropdown width for IE (#1469) * fix(module:select): fix dropdown width for IE * fix(module:select): add a comment to explain the change * revert 'merge local branch' * revert 'merge local branch' * revert 'merge local branch' Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: dialog): modify delay time to DOM_ MIN_ TIMEOUT_ VALUE (#1445) Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: datepicker): Date picker panel click closing + some issues from #1431 (#1452) * fix(module:datetime) keep open when click on panel fix: tab key behavior blur/show optimization * fix(module:rangepicker): tab key behavior improvements blur/focus optimizations * fix(module:overlay): overlay visible before positioning fix: flickering * fix(module:datepicker): handle escape key * fix(module:datepicker): mark properly current date on panel * fix(module:datepicker): week mode calculates weeks properly * fix(module: table): exception is thrown when the DataIndex ends with the get_Item method. (#1485) * fix(module: table): set DisplayName to null if MemberExpression is not found in the DataIndex expression tree (#1488) * feat(module: cascader): support showSearch (#1484) * feat(module: cascader): support showSearch * add empty dropdown * fix clear icon * fix(module: InputNumber): input number self changing (#1490) Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: inputNumber): allow culture info to format input (#1480) * fix(module:inputnumber): allow culture info to format input * docs(module:inputnumber): demo & docs * fix translation Co-authored-by: ElderJames <shunjiey@hotmail.com> * docs: update docs for modal dragging (#1497) * fix(module: table): fix built-in filter select option width (#1500) * fix(module: datepicker): fix multiple CultureInfo properties (#1492) * fix(module:datepicker): fix multiple CultureInfo properties * fix(module:datepicker): fix multiple CultureInfo properties * fix(module: input): fix Input component for Guid type (#1510) * fix(module:input): fix Input component for Guid type * docs(module:input): add Guid generic sample code * fix(module:input): add a comment to explain the change * fix(module: input): guid optimization (#1515) * fix:(module: overlay): positioning should take scroll into account (#1511) Co-authored-by: Ocoka <somewhere@network> Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix: js function getDom return null bug (#1417) * fix: js function getDom return null bug (#1374) * fix: add IF precompiled instruction for observer attribute Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix: missing using is causing build failure (#1518) * change log 0.8.1 (#1522) * change log 0.8.1 * fix order Co-authored-by: Andrzej Bakun <andrzej@neelyc.com.cy> Co-authored-by: Zonciu Liang <zonciu@zonciu.com> Co-authored-by: zxyao <zxyao145@gmail.com> Co-authored-by: MihailsKuzmins <47413092+MihailsKuzmins@users.noreply.github.com> Co-authored-by: mihails.kuzmins <mihails.kuzmins@daytongroup.lv> Co-authored-by: anranruye <54608128+anranruye@users.noreply.github.com> Co-authored-by: 笨木头 <musicvs@163.com> Co-authored-by: Maksim <maksalmak@gmail.com> Co-authored-by: Ivan Ocoka <ocokanet@gmail.com> Co-authored-by: Ocoka <somewhere@network>
* fix(module:datepicker): fix multiple CultureInfo properties * fix(module:datepicker): fix multiple CultureInfo properties
* fix(module: select): enum default value protection (#1368) * fix(module: affix): can't affix while OffsetTop is zero (#1373) * fix(module: affix): can't affix while OffsetTop is zero * use affixed setter for rerendering * limit rerendering * fix(module: input): binding data when the Enter key is pressed (#1375) * fix(module: table): ellipsis can't work (#1376) * feat: add element component (#1378) * refactor: rename `HtmlElement` property case * rename the directory name for overlay * add element component * fix(module: table): Unify FieldName, add DisplayAttribute for DiplayName, fix Filter for DataIndex (#1372) * fix(module: table): Unify FieldName value * fix(module: table): Get column name from DisplayAttribute * fix(module: table): Filter for DataIndex * docs(module: table): Intuitive sorterCompare for Filter demo * fix(module: table): fix header title doesn't display when Sortable is false Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(dialog): add Dispose lifecycle function to Dialog (#1379) Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: input): preserve focus and caret position for input password when visibility is toggled (#1377) * set focus when the password button is clicked * add methods for selection * set selectionStart after Focus * fix typescript * set selectionEnd as well * fix a stupid if-condition-bug * remove checks for element * add selectionStart to getDomInfo * get selectionStart from Element * delete unneeded js method Co-authored-by: mihails.kuzmins <mihails.kuzmins@daytongroup.lv> Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: table): can not use DataIndex nullable mode with not nullable property (#1382) * fix(module: table): column header sorter not refresh after ClearSorter is called (#1385) * fix(module:table): column header sorter not refresh after ClearSorter is called * add judgment condition for calling StateHasChanged in IFieldColumn.ClearSorter() * fix(module: form): validation message unique (#1391) * fix(module: tag): closable typo and delete mode (#1393) * fix(module: tag): closable typo and delete mode * return early * test(module: divider): divider tests (#1397) Co-authored-by: James Yeung <shunjiey@hotmail.com> * feat(module: modal): support define modal's style in ModalOptions (#1400) * fix(module: checkbox & switch): Checked parameter binding (#1394) * fix(module:checkbox): allow binding to Checked parameter * fix(module:switch): allow binding to Checked parameter * fix(modules): checkbox & switch get AntInputBoolComponentBase class * test(module:switch): add tests * test(module:checkbox): add tests * test(module:divider): simplify by using id:ignore * docs(module:checkbox): bind example * docs(module:switch): bind example * fix(module:switch): add Control + docs + tests * feat(module:checkboxgroup): add layout and mixed mode * fix: review comments + tests * fix(module:checkboxgroup): parameter name should be MixedMode added more tests * fix demo * fix(module:checkboxgroup): allow toggling between modes Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: select): OnDataSourceChange called when expected (#1419) * fix(module:select): OnDataSourceChange called when expected * test(module:select): add missing scenario * fix(module: table): DataIndex filter pop up (#1421) * fix(module:overlayTrigger): TrigerRefernece points to OverlayTrigger.Ref. * fix(module:overlay): Show waits for competing code to finish * Update OverlayTrigger.razor.cs * clean code Co-authored-by: James Yeung <shunjiey@hotmail.com> * feat: use ResizeObserver Api instead of window.resize (#1392) * feat: use ResizeObserver Api instead of window.resize * fix(module:select): fall back to window.resize in IE11. * fix(module:domEventService): switch from IsIE11 to IsResizeObserverSupported * fix: Console.WriteLine removed Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: table): check null in set sorter method (#1423) * fix(module: datepicker): validate manually entered date against format (#1389) * fix(module:datepicker): validate manually entered date against format * fix(module:datepicker): keep frozen the panel until valid date entered * fix(module:datepicker): switch to current culture format * fix(module:datepicker): build fix * fix(module:datepicker): use InvariantCulture when calling ToString on date * fix(module:datepicker): FormatAnalyzer handles also year, week, month & quarter picker * fix(module:datepicker): FormatAnalyzer broken tests * fix: FormatAnalyzer handles prefixes in format. Suffix is handled for picker type = "year" Tests include validation of not changing state * fix: all modes go through format analyzing (inluding week&quarter) * fix(module:datepickerbase): InternalFormat initalized properly for all modes * fix(module:rangepicker): reset opposing date when in conflict with current * fix(module:rangePicker): handle null in second part of range * fix(module:datepicker): switch from BindConverter to partials * tests(module:datepicker): FormatAnalyzer new tests to cover switch from BindConverter * tests(module:datepicker): missed change in tests * fix: focus, key events, reset value to original if not confirmed * fix: bug fix on range & clean-up * Update DatePicker.razor Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: overlay): issues in boundaryAdjustMode (#1420) Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: cascader): incorrect size (#1432) * fix(module: cascader): incorrect size * add test for cascader size * fix(module: table): fix wrong spell for TableFilterCompareOperator.EndsWith (#1434) * fix(module: table): remove an redundant whitespace * fix(module: table): fix wrong spell * fix(module: table): fix wrong spell Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: cascader): add SelectedNodesChanged and invoke it after clear selected (#1437) * fix(module: table): fix spell mistake for TableFilterType.FieldType (#1442) * style(module:table): fix spell mistake for TableFilterType.FieldType * style(module:table): fix spell mistake for TableFilterType.FieldType * fix(module: select): fix error for nullable TItem (#1451) * fix(module: checkbox): remove Value initialization blocking (#1459) * fix(module:checkbox): remove Value initialization blocking * Update CheckboxTests.razor Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: select): support IEnumerable in form (#1460) Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: select): fix dropdown width for IE (#1469) * fix(module:select): fix dropdown width for IE * fix(module:select): add a comment to explain the change * revert 'merge local branch' * revert 'merge local branch' * revert 'merge local branch' Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: dialog): modify delay time to DOM_ MIN_ TIMEOUT_ VALUE (#1445) Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: datepicker): Date picker panel click closing + some issues from #1431 (#1452) * fix(module:datetime) keep open when click on panel fix: tab key behavior blur/show optimization * fix(module:rangepicker): tab key behavior improvements blur/focus optimizations * fix(module:overlay): overlay visible before positioning fix: flickering * fix(module:datepicker): handle escape key * fix(module:datepicker): mark properly current date on panel * fix(module:datepicker): week mode calculates weeks properly * fix(module: table): exception is thrown when the DataIndex ends with the get_Item method. (#1485) * fix(module: table): set DisplayName to null if MemberExpression is not found in the DataIndex expression tree (#1488) * feat(module: cascader): support showSearch (#1484) * feat(module: cascader): support showSearch * add empty dropdown * fix clear icon * fix(module: InputNumber): input number self changing (#1490) Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: inputNumber): allow culture info to format input (#1480) * fix(module:inputnumber): allow culture info to format input * docs(module:inputnumber): demo & docs * fix translation Co-authored-by: ElderJames <shunjiey@hotmail.com> * docs: update docs for modal dragging (#1497) * fix(module: table): fix built-in filter select option width (#1500) * fix(module: datepicker): fix multiple CultureInfo properties (#1492) * fix(module:datepicker): fix multiple CultureInfo properties * fix(module:datepicker): fix multiple CultureInfo properties * fix(module: input): fix Input component for Guid type (#1510) * fix(module:input): fix Input component for Guid type * docs(module:input): add Guid generic sample code * fix(module:input): add a comment to explain the change * fix(module: input): guid optimization (#1515) * fix:(module: overlay): positioning should take scroll into account (#1511) Co-authored-by: Ocoka <somewhere@network> Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix: js function getDom return null bug (#1417) * fix: js function getDom return null bug (#1374) * fix: add IF precompiled instruction for observer attribute Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix: missing using is causing build failure (#1518) * change log 0.8.1 (#1522) * change log 0.8.1 * fix order Co-authored-by: Andrzej Bakun <andrzej@neelyc.com.cy> Co-authored-by: Zonciu Liang <zonciu@zonciu.com> Co-authored-by: zxyao <zxyao145@gmail.com> Co-authored-by: MihailsKuzmins <47413092+MihailsKuzmins@users.noreply.github.com> Co-authored-by: mihails.kuzmins <mihails.kuzmins@daytongroup.lv> Co-authored-by: anranruye <54608128+anranruye@users.noreply.github.com> Co-authored-by: 笨木头 <musicvs@163.com> Co-authored-by: Maksim <maksalmak@gmail.com> Co-authored-by: Ivan Ocoka <ocokanet@gmail.com> Co-authored-by: Ocoka <somewhere@network>
🤔 This is a ...
🔗 Related issue link
fixes #1491
💡 Background and solution
#1480 add
CultureInfo
property to base input class, but there is already aCultureInfo
property for DatePicker.📝 Changelog
☑️ Self Check before Merge