-
-
Notifications
You must be signed in to change notification settings - Fork 999
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
feat(module: select): support simple data source #1541
feat(module: select): support simple data source #1541
Conversation
Codecov Report
@@ Coverage Diff @@
## feature #1541 +/- ##
==========================================
- Coverage 6.36% 0.00% -6.37%
==========================================
Files 439 473 +34
Lines 25154 29242 +4088
==========================================
- Hits 1600 0 -1600
- Misses 23554 29242 +5688
Continue to review full report at Codecov.
|
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.
Sorry for my delay. I am away now and cannot really spend much time. These here are my first thoughts after looking at you code.
components/select/Select.razor.cs
Outdated
@@ -490,6 +490,13 @@ internal bool IsGroupingEnabled | |||
|
|||
#endregion Properties | |||
|
|||
private static readonly bool _isItemAndValueSameType; | |||
|
|||
static Select() |
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.
Why is this static?
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.
Of course this can be static. All instances of Select<T1, T1>
will share the same _isItemAndValueSameType
. But instances of Select<T2, T2>
will use another _isItemAndValueSameType
. And for generic class static fields, the runtime will distribute memory when first time use the specific generic class .
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.
Now I want to just remove this judgement for !_isItemAndValueSameType && string.IsNullOrWhiteSpace(ValueName)
. As you said, it is possible to use expression tree to build the delegate. So null
or string.Empty
or whitespace should be valid value for ValueName
.
@@ -637,7 +643,7 @@ private void CreateDeleteSelectOptions() | |||
|
|||
foreach (var item in _datasource) | |||
{ | |||
TItemValue value = _getValue(item); | |||
TItemValue value = _getValue == null ? THelper.ChangeType<TItemValue>(item) : _getValue(item); |
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.
@Zonciu Could you look at this? Could this be incorporated somehow into expression tree idea? Maybe it is not worth it, or too complex to actually invest time in it.
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 also thought about this. I think it's nice to get TItem x => (TItemValue)x
for PathHelper.GetDelegate<TItem, TItemValue>(string.Empty)
. But maybe it's better to return null or throw an exception for PathHelper.GetDelegate<TItem, TItemValue>(null)
. Eventually, this should be decided by @Zonciu .
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.
LGTM
The semantics of My suggestion: Wrap get/set value/label into four private methods, then check |
* refactor: replace PropertyAccessHelper to PathHelper (#1386) * feat(module: core): add member path helper * refactor(module: table): replace PropertyAccessHelper to PathHelper * docs: replace path-based-property-access to member-path-helper * refactor(module: select): replace SelectItemPropertyHelper to PathHelper * feat(module: table): add pagination template (#1409) * feat(module: table): add Hidden for columns (#1410) * feat(module: form): expose EditContext (#1464) * feat(module:form): allow access to validation messages * feat(module:form): expose EditContext as readonly property * feat(module: table): add built-in filter for enum types, support null value for List filter type (#1439) * feat(module:table): add built-in filter for not composable enum types, support null value for List filter type * feat(module:table): throw an exception for composable enum types when use built-in filter * Revert "feat(module:table): throw an exception for composable enum types when use built-in filter" This reverts commit 0e04ed9. * feat(module:table): add support for null value localization * docs(module: table): update for enum build-in filter * feat(module:table): add built-in filter for composable enum types * docs(module: table): update for enum built-in filter * feat(module: table): add enum built-in filter * feat: add static constructor to EnumHelper Co-authored-by: 令远 孔 <lingyuan.kong@outlook.com> * fix(module: form): expose LabelStyle property (#1503) * feat:(module: form): edit context dynamic change (#1504) * tests: project up to standards * fix(module:form): allow EditContext change * feat(module: notification): add NotificationRef support (#1498) * feat: add NotificationRef support * docs: update docs Co-authored-by: James Yeung <shunjiey@hotmail.com> * feat(module: tag): Add custom colors and Enum of Preset Colors (#1514) * merge * feat(tag): add custom colors and enum presets * Update package.json fix: remove vscode rubbish * feat: add global PresetColor, and new PresetColor param * feat: add preset color to Badge * feat: tag style calcuated on setter * fix: user style is appended to stringbuilder * empty commit Co-authored-by: Patryk Grzelak <pgrzelak@mutate.app> * chore: sync ant-design v4.16.0 (#1569) * feat(i18n): Add French short week days (#1521) * feat(module: form): support set validation rules on FormItem (#1516) * feat(module: form): support set validation rules on FormItem(not complete yet) * refactor(module: form): optimized code * feat(module: form): support Whitespace rule * feat(module: form): support [message、pattern、transform、validator、whitespace] rules * feat(module: form): support type rule * feat(module: form): support [defaultField、oneOf、fields、type] rules * feat(module: form): support custome validate messages(without test) * test(module: form): complete RuleValidate_ValidateMessages test * feat(module: form): complete DynamicRule demo, refactor code, fix bugs * feat(module: form): support ValidateMessages param * doc(module: form): add "Rules" and "ValidateMessages" docs * fix: Rule.Max's errorMessage is wrong * refactor: rename Rule to FormValidationRule * test: rename Rule to FormValidationRule * chore: refactor code and rename classes * Update ValidateMode.razor * Update FormValidateErrorMessages.cs * Update FormValidateHelper.cs Co-authored-by: James Yeung <shunjiey@hotmail.com> * feat(module: table): filter enhancement (#1563) * feat(module: table): allow access to filter operator and condition * feat(module: table): allow access to filter operator and condition * feat(module:table): allow remove the first filter * Update Column.razor * feat(module:table): modify closing button position * feat(module:table): match new style * feat(module:table): add header column divider * fix(module:table): apply filter when close the filter panel by clicking the filter icon * Update Column.razor * style(module:table): trim Column.razor * Update Column.razor * Update Column.razor * Update Column.razor * Update Column.razor * fix(module:overlaytrigger): fix overlay not close after overlay size changes * unify muiltiple filter popup containers to one * refactor(module: table): optimize render fragments (#1597) * refactor(module: table): restore Table.Filters to IEnumerable<TableFilter<TData>> type (#1608) * feat(module: select): support simple data source (#1541) * feat(module: select): support simple data source * remove judgement for type of item and value * Update Select.razor.cs * fix(module: table): add RemoteDataSource (#1558) * feat(module:table): add PaginationMode parameter * fix(module:table): fix pagination * docs(module:table): add doc for PaginationMode attribute * add a demo file * docs(module:table): add demo for pagination mode * feat(module:table): add RemoteDataSource property * delete the demo for PaginationMode * Update Table.razor.cs * add `ajax` demo * Update ajax.md * Update Ajax.razor * fix demo * clear demo * fotmat demo * delete StateHasChanged Co-authored-by: ElderJames <shunjiey@hotmail.com> * add Visible back to Tag.razor.cs * Update SearchLoading.razor and idnex.en-US.md * Update index.zh-CN.md * feat(module: DatePicker): support disable one of range-picker inputs (#1648) * feat(module: rangepicker): support disable one of inputs * doc: update doc * feat(module: dropdown): each button customization (#1659) * feat(module:dropdownbutton): each button customization * fix: Tag tests * feat(module: tabs): add OnClose event and TabTemplate (#1698) * feat(module: tab): add onclose event and tabtemplate * add tests * feat(module: tabs): add reuse tabs routeview (#1704) * fix(module: tabs): Exception caused by cascade assignment to TabTemplate (#1708) * feat(module: tree): support check all from code (#1722) Co-authored-by: Łukasz Błażewicz <lukasz.blazewicz@homebook.pl> * refactor(module: tree): add draggable, fix default value binding (#1517) * delete demo docs * fix tree default value and dnd * fix tree line and keys * fix switcher icon and line * fix line demo * fix switcher * add DirectoryTree demo * fix draggable demo * clean code * clean code * clean up the classmapper call * update docs * fix the docs * fix comment Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: dialog): click dialog cause the mask click event triggered (#1727) * docs: update recommend (#1755) * docs: update recommend * fix test * refactor(module: table): remove the breaking change for pagination mode (#1754) * docs: fix encoding error (#1760) * fixed. Fix network error when requesting contributor list in local development environment * fixed. Fix Chinese garbled code * Update Dynamic.razor Co-authored-by: Gmij <chenb@teleware.cn> Co-authored-by: James Yeung <shunjiey@hotmail.com> * feat(module: upload): support drag (#1765) * feat(module: upload): support drag * fix button text * add tests * delete useless field * feat(module: select): add EnumSelect for select componet with enum (#1759) * feat(module: select): add EnumSelect for select componet with enum * refactor: extract EnumLabelValue to the core directory * feat: add enum select demo * refactor: extracts the GetLabelValueList method to EnumHelper * refactor: refactor EnumSelect with simple data source * feat: add enum DisplayName support * fix: modify the reflection of the enum get attribute with field * add test Co-authored-by: wangjun <wangjun@chemical.ai> Co-authored-by: James Yeung <shunjiey@hotmail.com> * feat(module: button): add colors (#1774) * add color property for button * separate the color * fix tests * fix typo Co-authored-by: James Yeung <shunjiey@hotmail.com> * feat(module: table): add guid built-in filter (#1756) Co-authored-by: James Yeung <shunjiey@hotmail.com> Co-authored-by: Zonciu Liang <zonciu@zonciu.com> Co-authored-by: ldsenow <ldsenow@gmail.com> Co-authored-by: Andrzej Bakun <andrzej@neelyc.com.cy> Co-authored-by: anranruye <54608128+anranruye@users.noreply.github.com> Co-authored-by: 令远 孔 <lingyuan.kong@outlook.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: 笨木头 <musicvs@163.com> Co-authored-by: Maksim <maksalmak@gmail.com> Co-authored-by: Ivan Ocoka <ocokanet@gmail.com> Co-authored-by: Ocoka <somewhere@network> Co-authored-by: Patrick <42546986+MutatePat@users.noreply.github.com> Co-authored-by: Patryk Grzelak <pgrzelak@mutate.app> Co-authored-by: Romain J <dust63@hotmail.fr> Co-authored-by: anranruye <hehewewe@hotmail.com> Co-authored-by: Magehernan <magehernan@gmail.com> Co-authored-by: black-snake <black-snake@users.noreply.github.com> Co-authored-by: Gregory Loones <40325447+gregloones@users.noreply.github.com> Co-authored-by: Razvan Predescu <rzvdaniel@gmail.com> Co-authored-by: lukblazewicz <39852149+lukblazewicz@users.noreply.github.com> Co-authored-by: Łukasz Błażewicz <lukasz.blazewicz@homebook.pl> Co-authored-by: 琢磨先生 <308360781@qq.com> Co-authored-by: gmij <gmij@qq.com> Co-authored-by: Gmij <chenb@teleware.cn> Co-authored-by: 王俊 <wang_j90@hotmail.com> Co-authored-by: wangjun <wangjun@chemical.ai> Co-authored-by: boukenka <mbogais@free.fr>
* feat(module: select): support simple data source * remove judgement for type of item and value * Update Select.razor.cs
* refactor: replace PropertyAccessHelper to PathHelper (#1386) * feat(module: core): add member path helper * refactor(module: table): replace PropertyAccessHelper to PathHelper * docs: replace path-based-property-access to member-path-helper * refactor(module: select): replace SelectItemPropertyHelper to PathHelper * feat(module: table): add pagination template (#1409) * feat(module: table): add Hidden for columns (#1410) * feat(module: form): expose EditContext (#1464) * feat(module:form): allow access to validation messages * feat(module:form): expose EditContext as readonly property * feat(module: table): add built-in filter for enum types, support null value for List filter type (#1439) * feat(module:table): add built-in filter for not composable enum types, support null value for List filter type * feat(module:table): throw an exception for composable enum types when use built-in filter * Revert "feat(module:table): throw an exception for composable enum types when use built-in filter" This reverts commit 0e04ed9. * feat(module:table): add support for null value localization * docs(module: table): update for enum build-in filter * feat(module:table): add built-in filter for composable enum types * docs(module: table): update for enum built-in filter * feat(module: table): add enum built-in filter * feat: add static constructor to EnumHelper Co-authored-by: 令远 孔 <lingyuan.kong@outlook.com> * fix(module: form): expose LabelStyle property (#1503) * feat:(module: form): edit context dynamic change (#1504) * tests: project up to standards * fix(module:form): allow EditContext change * feat(module: notification): add NotificationRef support (#1498) * feat: add NotificationRef support * docs: update docs Co-authored-by: James Yeung <shunjiey@hotmail.com> * feat(module: tag): Add custom colors and Enum of Preset Colors (#1514) * merge * feat(tag): add custom colors and enum presets * Update package.json fix: remove vscode rubbish * feat: add global PresetColor, and new PresetColor param * feat: add preset color to Badge * feat: tag style calcuated on setter * fix: user style is appended to stringbuilder * empty commit Co-authored-by: Patryk Grzelak <pgrzelak@mutate.app> * chore: sync ant-design v4.16.0 (#1569) * feat(i18n): Add French short week days (#1521) * feat(module: form): support set validation rules on FormItem (#1516) * feat(module: form): support set validation rules on FormItem(not complete yet) * refactor(module: form): optimized code * feat(module: form): support Whitespace rule * feat(module: form): support [message、pattern、transform、validator、whitespace] rules * feat(module: form): support type rule * feat(module: form): support [defaultField、oneOf、fields、type] rules * feat(module: form): support custome validate messages(without test) * test(module: form): complete RuleValidate_ValidateMessages test * feat(module: form): complete DynamicRule demo, refactor code, fix bugs * feat(module: form): support ValidateMessages param * doc(module: form): add "Rules" and "ValidateMessages" docs * fix: Rule.Max's errorMessage is wrong * refactor: rename Rule to FormValidationRule * test: rename Rule to FormValidationRule * chore: refactor code and rename classes * Update ValidateMode.razor * Update FormValidateErrorMessages.cs * Update FormValidateHelper.cs Co-authored-by: James Yeung <shunjiey@hotmail.com> * feat(module: table): filter enhancement (#1563) * feat(module: table): allow access to filter operator and condition * feat(module: table): allow access to filter operator and condition * feat(module:table): allow remove the first filter * Update Column.razor * feat(module:table): modify closing button position * feat(module:table): match new style * feat(module:table): add header column divider * fix(module:table): apply filter when close the filter panel by clicking the filter icon * Update Column.razor * style(module:table): trim Column.razor * Update Column.razor * Update Column.razor * Update Column.razor * Update Column.razor * fix(module:overlaytrigger): fix overlay not close after overlay size changes * unify muiltiple filter popup containers to one * refactor(module: table): optimize render fragments (#1597) * refactor(module: table): restore Table.Filters to IEnumerable<TableFilter<TData>> type (#1608) * feat(module: select): support simple data source (#1541) * feat(module: select): support simple data source * remove judgement for type of item and value * Update Select.razor.cs * fix(module: table): add RemoteDataSource (#1558) * feat(module:table): add PaginationMode parameter * fix(module:table): fix pagination * docs(module:table): add doc for PaginationMode attribute * add a demo file * docs(module:table): add demo for pagination mode * feat(module:table): add RemoteDataSource property * delete the demo for PaginationMode * Update Table.razor.cs * add `ajax` demo * Update ajax.md * Update Ajax.razor * fix demo * clear demo * fotmat demo * delete StateHasChanged Co-authored-by: ElderJames <shunjiey@hotmail.com> * add Visible back to Tag.razor.cs * Update SearchLoading.razor and idnex.en-US.md * Update index.zh-CN.md * feat(module: DatePicker): support disable one of range-picker inputs (#1648) * feat(module: rangepicker): support disable one of inputs * doc: update doc * feat(module: dropdown): each button customization (#1659) * feat(module:dropdownbutton): each button customization * fix: Tag tests * feat(module: tabs): add OnClose event and TabTemplate (#1698) * feat(module: tab): add onclose event and tabtemplate * add tests * feat(module: tabs): add reuse tabs routeview (#1704) * fix(module: tabs): Exception caused by cascade assignment to TabTemplate (#1708) * feat(module: tree): support check all from code (#1722) Co-authored-by: Łukasz Błażewicz <lukasz.blazewicz@homebook.pl> * refactor(module: tree): add draggable, fix default value binding (#1517) * delete demo docs * fix tree default value and dnd * fix tree line and keys * fix switcher icon and line * fix line demo * fix switcher * add DirectoryTree demo * fix draggable demo * clean code * clean code * clean up the classmapper call * update docs * fix the docs * fix comment Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: dialog): click dialog cause the mask click event triggered (#1727) * docs: update recommend (#1755) * docs: update recommend * fix test * refactor(module: table): remove the breaking change for pagination mode (#1754) * docs: fix encoding error (#1760) * fixed. Fix network error when requesting contributor list in local development environment * fixed. Fix Chinese garbled code * Update Dynamic.razor Co-authored-by: Gmij <chenb@teleware.cn> Co-authored-by: James Yeung <shunjiey@hotmail.com> * feat(module: upload): support drag (#1765) * feat(module: upload): support drag * fix button text * add tests * delete useless field * feat(module: select): add EnumSelect for select componet with enum (#1759) * feat(module: select): add EnumSelect for select componet with enum * refactor: extract EnumLabelValue to the core directory * feat: add enum select demo * refactor: extracts the GetLabelValueList method to EnumHelper * refactor: refactor EnumSelect with simple data source * feat: add enum DisplayName support * fix: modify the reflection of the enum get attribute with field * add test Co-authored-by: wangjun <wangjun@chemical.ai> Co-authored-by: James Yeung <shunjiey@hotmail.com> * feat(module: button): add colors (#1774) * add color property for button * separate the color * fix tests * fix typo Co-authored-by: James Yeung <shunjiey@hotmail.com> * feat(module: table): add guid built-in filter (#1756) Co-authored-by: James Yeung <shunjiey@hotmail.com> Co-authored-by: Zonciu Liang <zonciu@zonciu.com> Co-authored-by: ldsenow <ldsenow@gmail.com> Co-authored-by: Andrzej Bakun <andrzej@neelyc.com.cy> Co-authored-by: anranruye <54608128+anranruye@users.noreply.github.com> Co-authored-by: 令远 孔 <lingyuan.kong@outlook.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: 笨木头 <musicvs@163.com> Co-authored-by: Maksim <maksalmak@gmail.com> Co-authored-by: Ivan Ocoka <ocokanet@gmail.com> Co-authored-by: Ocoka <somewhere@network> Co-authored-by: Patrick <42546986+MutatePat@users.noreply.github.com> Co-authored-by: Patryk Grzelak <pgrzelak@mutate.app> Co-authored-by: Romain J <dust63@hotmail.fr> Co-authored-by: anranruye <hehewewe@hotmail.com> Co-authored-by: Magehernan <magehernan@gmail.com> Co-authored-by: black-snake <black-snake@users.noreply.github.com> Co-authored-by: Gregory Loones <40325447+gregloones@users.noreply.github.com> Co-authored-by: Razvan Predescu <rzvdaniel@gmail.com> Co-authored-by: lukblazewicz <39852149+lukblazewicz@users.noreply.github.com> Co-authored-by: Łukasz Błażewicz <lukasz.blazewicz@homebook.pl> Co-authored-by: 琢磨先生 <308360781@qq.com> Co-authored-by: gmij <gmij@qq.com> Co-authored-by: Gmij <chenb@teleware.cn> Co-authored-by: 王俊 <wang_j90@hotmail.com> Co-authored-by: wangjun <wangjun@chemical.ai> Co-authored-by: boukenka <mbogais@free.fr>
* feat(module: select): support simple data source * remove judgement for type of item and value * Update Select.razor.cs
* refactor: replace PropertyAccessHelper to PathHelper (#1386) * feat(module: core): add member path helper * refactor(module: table): replace PropertyAccessHelper to PathHelper * docs: replace path-based-property-access to member-path-helper * refactor(module: select): replace SelectItemPropertyHelper to PathHelper * feat(module: table): add pagination template (#1409) * feat(module: table): add Hidden for columns (#1410) * feat(module: form): expose EditContext (#1464) * feat(module:form): allow access to validation messages * feat(module:form): expose EditContext as readonly property * feat(module: table): add built-in filter for enum types, support null value for List filter type (#1439) * feat(module:table): add built-in filter for not composable enum types, support null value for List filter type * feat(module:table): throw an exception for composable enum types when use built-in filter * Revert "feat(module:table): throw an exception for composable enum types when use built-in filter" This reverts commit 0e04ed9. * feat(module:table): add support for null value localization * docs(module: table): update for enum build-in filter * feat(module:table): add built-in filter for composable enum types * docs(module: table): update for enum built-in filter * feat(module: table): add enum built-in filter * feat: add static constructor to EnumHelper Co-authored-by: 令远 孔 <lingyuan.kong@outlook.com> * fix(module: form): expose LabelStyle property (#1503) * feat:(module: form): edit context dynamic change (#1504) * tests: project up to standards * fix(module:form): allow EditContext change * feat(module: notification): add NotificationRef support (#1498) * feat: add NotificationRef support * docs: update docs Co-authored-by: James Yeung <shunjiey@hotmail.com> * feat(module: tag): Add custom colors and Enum of Preset Colors (#1514) * merge * feat(tag): add custom colors and enum presets * Update package.json fix: remove vscode rubbish * feat: add global PresetColor, and new PresetColor param * feat: add preset color to Badge * feat: tag style calcuated on setter * fix: user style is appended to stringbuilder * empty commit Co-authored-by: Patryk Grzelak <pgrzelak@mutate.app> * chore: sync ant-design v4.16.0 (#1569) * feat(i18n): Add French short week days (#1521) * feat(module: form): support set validation rules on FormItem (#1516) * feat(module: form): support set validation rules on FormItem(not complete yet) * refactor(module: form): optimized code * feat(module: form): support Whitespace rule * feat(module: form): support [message、pattern、transform、validator、whitespace] rules * feat(module: form): support type rule * feat(module: form): support [defaultField、oneOf、fields、type] rules * feat(module: form): support custome validate messages(without test) * test(module: form): complete RuleValidate_ValidateMessages test * feat(module: form): complete DynamicRule demo, refactor code, fix bugs * feat(module: form): support ValidateMessages param * doc(module: form): add "Rules" and "ValidateMessages" docs * fix: Rule.Max's errorMessage is wrong * refactor: rename Rule to FormValidationRule * test: rename Rule to FormValidationRule * chore: refactor code and rename classes * Update ValidateMode.razor * Update FormValidateErrorMessages.cs * Update FormValidateHelper.cs Co-authored-by: James Yeung <shunjiey@hotmail.com> * feat(module: table): filter enhancement (#1563) * feat(module: table): allow access to filter operator and condition * feat(module: table): allow access to filter operator and condition * feat(module:table): allow remove the first filter * Update Column.razor * feat(module:table): modify closing button position * feat(module:table): match new style * feat(module:table): add header column divider * fix(module:table): apply filter when close the filter panel by clicking the filter icon * Update Column.razor * style(module:table): trim Column.razor * Update Column.razor * Update Column.razor * Update Column.razor * Update Column.razor * fix(module:overlaytrigger): fix overlay not close after overlay size changes * unify muiltiple filter popup containers to one * refactor(module: table): optimize render fragments (#1597) * refactor(module: table): restore Table.Filters to IEnumerable<TableFilter<TData>> type (#1608) * feat(module: select): support simple data source (#1541) * feat(module: select): support simple data source * remove judgement for type of item and value * Update Select.razor.cs * fix(module: table): add RemoteDataSource (#1558) * feat(module:table): add PaginationMode parameter * fix(module:table): fix pagination * docs(module:table): add doc for PaginationMode attribute * add a demo file * docs(module:table): add demo for pagination mode * feat(module:table): add RemoteDataSource property * delete the demo for PaginationMode * Update Table.razor.cs * add `ajax` demo * Update ajax.md * Update Ajax.razor * fix demo * clear demo * fotmat demo * delete StateHasChanged Co-authored-by: ElderJames <shunjiey@hotmail.com> * add Visible back to Tag.razor.cs * Update SearchLoading.razor and idnex.en-US.md * Update index.zh-CN.md * feat(module: DatePicker): support disable one of range-picker inputs (#1648) * feat(module: rangepicker): support disable one of inputs * doc: update doc * feat(module: dropdown): each button customization (#1659) * feat(module:dropdownbutton): each button customization * fix: Tag tests * feat(module: tabs): add OnClose event and TabTemplate (#1698) * feat(module: tab): add onclose event and tabtemplate * add tests * feat(module: tabs): add reuse tabs routeview (#1704) * fix(module: tabs): Exception caused by cascade assignment to TabTemplate (#1708) * feat(module: tree): support check all from code (#1722) Co-authored-by: Łukasz Błażewicz <lukasz.blazewicz@homebook.pl> * refactor(module: tree): add draggable, fix default value binding (#1517) * delete demo docs * fix tree default value and dnd * fix tree line and keys * fix switcher icon and line * fix line demo * fix switcher * add DirectoryTree demo * fix draggable demo * clean code * clean code * clean up the classmapper call * update docs * fix the docs * fix comment Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: dialog): click dialog cause the mask click event triggered (#1727) * docs: update recommend (#1755) * docs: update recommend * fix test * refactor(module: table): remove the breaking change for pagination mode (#1754) * docs: fix encoding error (#1760) * fixed. Fix network error when requesting contributor list in local development environment * fixed. Fix Chinese garbled code * Update Dynamic.razor Co-authored-by: Gmij <chenb@teleware.cn> Co-authored-by: James Yeung <shunjiey@hotmail.com> * feat(module: upload): support drag (#1765) * feat(module: upload): support drag * fix button text * add tests * delete useless field * feat(module: select): add EnumSelect for select componet with enum (#1759) * feat(module: select): add EnumSelect for select componet with enum * refactor: extract EnumLabelValue to the core directory * feat: add enum select demo * refactor: extracts the GetLabelValueList method to EnumHelper * refactor: refactor EnumSelect with simple data source * feat: add enum DisplayName support * fix: modify the reflection of the enum get attribute with field * add test Co-authored-by: wangjun <wangjun@chemical.ai> Co-authored-by: James Yeung <shunjiey@hotmail.com> * feat(module: button): add colors (#1774) * add color property for button * separate the color * fix tests * fix typo Co-authored-by: James Yeung <shunjiey@hotmail.com> * feat(module: table): add guid built-in filter (#1756) Co-authored-by: James Yeung <shunjiey@hotmail.com> Co-authored-by: Zonciu Liang <zonciu@zonciu.com> Co-authored-by: ldsenow <ldsenow@gmail.com> Co-authored-by: Andrzej Bakun <andrzej@neelyc.com.cy> Co-authored-by: anranruye <54608128+anranruye@users.noreply.github.com> Co-authored-by: 令远 孔 <lingyuan.kong@outlook.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: 笨木头 <musicvs@163.com> Co-authored-by: Maksim <maksalmak@gmail.com> Co-authored-by: Ivan Ocoka <ocokanet@gmail.com> Co-authored-by: Ocoka <somewhere@network> Co-authored-by: Patrick <42546986+MutatePat@users.noreply.github.com> Co-authored-by: Patryk Grzelak <pgrzelak@mutate.app> Co-authored-by: Romain J <dust63@hotmail.fr> Co-authored-by: anranruye <hehewewe@hotmail.com> Co-authored-by: Magehernan <magehernan@gmail.com> Co-authored-by: black-snake <black-snake@users.noreply.github.com> Co-authored-by: Gregory Loones <40325447+gregloones@users.noreply.github.com> Co-authored-by: Razvan Predescu <rzvdaniel@gmail.com> Co-authored-by: lukblazewicz <39852149+lukblazewicz@users.noreply.github.com> Co-authored-by: Łukasz Błażewicz <lukasz.blazewicz@homebook.pl> Co-authored-by: 琢磨先生 <308360781@qq.com> Co-authored-by: gmij <gmij@qq.com> Co-authored-by: Gmij <chenb@teleware.cn> Co-authored-by: 王俊 <wang_j90@hotmail.com> Co-authored-by: wangjun <wangjun@chemical.ai> Co-authored-by: boukenka <mbogais@free.fr>
* refactor: replace PropertyAccessHelper to PathHelper (#1386) * feat(module: core): add member path helper * refactor(module: table): replace PropertyAccessHelper to PathHelper * docs: replace path-based-property-access to member-path-helper * refactor(module: select): replace SelectItemPropertyHelper to PathHelper * feat(module: table): add pagination template (#1409) * feat(module: table): add Hidden for columns (#1410) * feat(module: form): expose EditContext (#1464) * feat(module:form): allow access to validation messages * feat(module:form): expose EditContext as readonly property * feat(module: table): add built-in filter for enum types, support null value for List filter type (#1439) * feat(module:table): add built-in filter for not composable enum types, support null value for List filter type * feat(module:table): throw an exception for composable enum types when use built-in filter * Revert "feat(module:table): throw an exception for composable enum types when use built-in filter" This reverts commit 0e04ed9. * feat(module:table): add support for null value localization * docs(module: table): update for enum build-in filter * feat(module:table): add built-in filter for composable enum types * docs(module: table): update for enum built-in filter * feat(module: table): add enum built-in filter * feat: add static constructor to EnumHelper Co-authored-by: 令远 孔 <lingyuan.kong@outlook.com> * fix(module: form): expose LabelStyle property (#1503) * feat:(module: form): edit context dynamic change (#1504) * tests: project up to standards * fix(module:form): allow EditContext change * feat(module: notification): add NotificationRef support (#1498) * feat: add NotificationRef support * docs: update docs Co-authored-by: James Yeung <shunjiey@hotmail.com> * feat(module: tag): Add custom colors and Enum of Preset Colors (#1514) * merge * feat(tag): add custom colors and enum presets * Update package.json fix: remove vscode rubbish * feat: add global PresetColor, and new PresetColor param * feat: add preset color to Badge * feat: tag style calcuated on setter * fix: user style is appended to stringbuilder * empty commit Co-authored-by: Patryk Grzelak <pgrzelak@mutate.app> * chore: sync ant-design v4.16.0 (#1569) * feat(i18n): Add French short week days (#1521) * feat(module: form): support set validation rules on FormItem (#1516) * feat(module: form): support set validation rules on FormItem(not complete yet) * refactor(module: form): optimized code * feat(module: form): support Whitespace rule * feat(module: form): support [message、pattern、transform、validator、whitespace] rules * feat(module: form): support type rule * feat(module: form): support [defaultField、oneOf、fields、type] rules * feat(module: form): support custome validate messages(without test) * test(module: form): complete RuleValidate_ValidateMessages test * feat(module: form): complete DynamicRule demo, refactor code, fix bugs * feat(module: form): support ValidateMessages param * doc(module: form): add "Rules" and "ValidateMessages" docs * fix: Rule.Max's errorMessage is wrong * refactor: rename Rule to FormValidationRule * test: rename Rule to FormValidationRule * chore: refactor code and rename classes * Update ValidateMode.razor * Update FormValidateErrorMessages.cs * Update FormValidateHelper.cs Co-authored-by: James Yeung <shunjiey@hotmail.com> * feat(module: table): filter enhancement (#1563) * feat(module: table): allow access to filter operator and condition * feat(module: table): allow access to filter operator and condition * feat(module:table): allow remove the first filter * Update Column.razor * feat(module:table): modify closing button position * feat(module:table): match new style * feat(module:table): add header column divider * fix(module:table): apply filter when close the filter panel by clicking the filter icon * Update Column.razor * style(module:table): trim Column.razor * Update Column.razor * Update Column.razor * Update Column.razor * Update Column.razor * fix(module:overlaytrigger): fix overlay not close after overlay size changes * unify muiltiple filter popup containers to one * refactor(module: table): optimize render fragments (#1597) * refactor(module: table): restore Table.Filters to IEnumerable<TableFilter<TData>> type (#1608) * feat(module: select): support simple data source (#1541) * feat(module: select): support simple data source * remove judgement for type of item and value * Update Select.razor.cs * fix(module: table): add RemoteDataSource (#1558) * feat(module:table): add PaginationMode parameter * fix(module:table): fix pagination * docs(module:table): add doc for PaginationMode attribute * add a demo file * docs(module:table): add demo for pagination mode * feat(module:table): add RemoteDataSource property * delete the demo for PaginationMode * Update Table.razor.cs * add `ajax` demo * Update ajax.md * Update Ajax.razor * fix demo * clear demo * fotmat demo * delete StateHasChanged Co-authored-by: ElderJames <shunjiey@hotmail.com> * add Visible back to Tag.razor.cs * Update SearchLoading.razor and idnex.en-US.md * Update index.zh-CN.md * feat(module: DatePicker): support disable one of range-picker inputs (#1648) * feat(module: rangepicker): support disable one of inputs * doc: update doc * feat(module: dropdown): each button customization (#1659) * feat(module:dropdownbutton): each button customization * fix: Tag tests * feat(module: tabs): add OnClose event and TabTemplate (#1698) * feat(module: tab): add onclose event and tabtemplate * add tests * feat(module: tabs): add reuse tabs routeview (#1704) * fix(module: tabs): Exception caused by cascade assignment to TabTemplate (#1708) * feat(module: tree): support check all from code (#1722) Co-authored-by: Łukasz Błażewicz <lukasz.blazewicz@homebook.pl> * refactor(module: tree): add draggable, fix default value binding (#1517) * delete demo docs * fix tree default value and dnd * fix tree line and keys * fix switcher icon and line * fix line demo * fix switcher * add DirectoryTree demo * fix draggable demo * clean code * clean code * clean up the classmapper call * update docs * fix the docs * fix comment Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: dialog): click dialog cause the mask click event triggered (#1727) * docs: update recommend (#1755) * docs: update recommend * fix test * refactor(module: table): remove the breaking change for pagination mode (#1754) * docs: fix encoding error (#1760) * fixed. Fix network error when requesting contributor list in local development environment * fixed. Fix Chinese garbled code * Update Dynamic.razor Co-authored-by: Gmij <chenb@teleware.cn> Co-authored-by: James Yeung <shunjiey@hotmail.com> * feat(module: upload): support drag (#1765) * feat(module: upload): support drag * fix button text * add tests * delete useless field * feat(module: select): add EnumSelect for select componet with enum (#1759) * feat(module: select): add EnumSelect for select componet with enum * refactor: extract EnumLabelValue to the core directory * feat: add enum select demo * refactor: extracts the GetLabelValueList method to EnumHelper * refactor: refactor EnumSelect with simple data source * feat: add enum DisplayName support * fix: modify the reflection of the enum get attribute with field * add test Co-authored-by: wangjun <wangjun@chemical.ai> Co-authored-by: James Yeung <shunjiey@hotmail.com> * feat(module: button): add colors (#1774) * add color property for button * separate the color * fix tests * fix typo Co-authored-by: James Yeung <shunjiey@hotmail.com> * feat(module: table): add guid built-in filter (#1756) Co-authored-by: James Yeung <shunjiey@hotmail.com> Co-authored-by: Zonciu Liang <zonciu@zonciu.com> Co-authored-by: ldsenow <ldsenow@gmail.com> Co-authored-by: Andrzej Bakun <andrzej@neelyc.com.cy> Co-authored-by: anranruye <54608128+anranruye@users.noreply.github.com> Co-authored-by: 令远 孔 <lingyuan.kong@outlook.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: 笨木头 <musicvs@163.com> Co-authored-by: Maksim <maksalmak@gmail.com> Co-authored-by: Ivan Ocoka <ocokanet@gmail.com> Co-authored-by: Ocoka <somewhere@network> Co-authored-by: Patrick <42546986+MutatePat@users.noreply.github.com> Co-authored-by: Patryk Grzelak <pgrzelak@mutate.app> Co-authored-by: Romain J <dust63@hotmail.fr> Co-authored-by: anranruye <hehewewe@hotmail.com> Co-authored-by: Magehernan <magehernan@gmail.com> Co-authored-by: black-snake <black-snake@users.noreply.github.com> Co-authored-by: Gregory Loones <40325447+gregloones@users.noreply.github.com> Co-authored-by: Razvan Predescu <rzvdaniel@gmail.com> Co-authored-by: lukblazewicz <39852149+lukblazewicz@users.noreply.github.com> Co-authored-by: Łukasz Błażewicz <lukasz.blazewicz@homebook.pl> Co-authored-by: 琢磨先生 <308360781@qq.com> Co-authored-by: gmij <gmij@qq.com> Co-authored-by: Gmij <chenb@teleware.cn> Co-authored-by: 王俊 <wang_j90@hotmail.com> Co-authored-by: wangjun <wangjun@chemical.ai> Co-authored-by: boukenka <mbogais@free.fr>
🤔 This is a ...
🔗 Related issue link
fixes #1454
💡 Background and solution
📝 Changelog
☑️ Self Check before Merge