Skip to content
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

Merged

Conversation

anranruye
Copy link
Member

🤔 This is a ...

  • New feature
  • Bug fix
  • Site / documentation update
  • Demo update
  • Component style update
  • Bundle size optimization
  • Performance optimization
  • Refactoring
  • Code style optimization
  • Test Case
  • Branch merge
  • Other (about what?)

🔗 Related issue link

fixes #1454

💡 Background and solution

📝 Changelog

Language Changelog
🇺🇸 English When the item in the data source and the value property of select use the same type, it is not necessary to specify ValueName; When LabelName is not specified, the return value of the ToString() method of the item in the data source is used as the label
🇨🇳 Chinese 当数据源中的项和Select的Value属性使用相同类型时,无需指定ValueName;当不指定LabelName时,将使用数据源中的项的ToString()方法的返回值作为Label

☑️ Self Check before Merge

⚠️ Please check all items below before review. ⚠️

  • Doc is updated/provided or not needed
  • Demo is updated/provided or not needed
  • Changelog is provided or not needed

@github-actions
Copy link

github-actions bot commented May 16, 2021

Prepare preview

@codecov-commenter
Copy link

codecov-commenter commented May 16, 2021

Codecov Report

Merging #1541 (7598746) into feature (5b55447) will decrease coverage by 6.36%.
The diff coverage is 0.00%.

Impacted file tree graph

@@            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     
Impacted Files Coverage Δ
components/affix/Affix.razor 0.00% <ø> (ø)
components/affix/Affix.razor.cs 0.00% <0.00%> (ø)
components/alert/Alert.razor 0.00% <0.00%> (ø)
components/alert/Alert.razor.cs 0.00% <0.00%> (ø)
components/anchor/Anchor.razor 0.00% <ø> (ø)
components/anchor/Anchor.razor.cs 0.00% <0.00%> (ø)
components/auto-complete/AutoComplete.razor 0.00% <ø> (ø)
components/auto-complete/AutoComplete.razor.cs 0.00% <0.00%> (ø)
components/avatar/Avatar.razor 0.00% <0.00%> (ø)
components/avatar/Avatar.razor.cs 0.00% <0.00%> (ø)
... and 306 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 426b9bd...7598746. Read the comment docs.

@ElderJames ElderJames requested a review from anddrzejb May 16, 2021 16:37
Copy link
Member

@anddrzejb anddrzejb left a 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.

@@ -490,6 +490,13 @@ internal bool IsGroupingEnabled

#endregion Properties

private static readonly bool _isItemAndValueSameType;

static Select()
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this static?

Copy link
Member Author

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 .

Copy link
Member Author

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);
Copy link
Member

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.

Copy link
Member Author

@anranruye anranruye May 19, 2021

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 .

Copy link
Member

@anddrzejb anddrzejb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@Zonciu
Copy link
Member

Zonciu commented May 25, 2021

The semantics of delegate == null (like setValue == null) is unclear. There is a field _isPrimitive is similar to this PR, I think we can reuse it.

My suggestion: Wrap get/set value/label into four private methods, then check _isPrimitive to use delegate or use the item directly. When _isPrimitive is false, getValue, setValue, getLabel, setLabel must not be null, so we can check it in GetValue, SetValue, GetLabel, SetLabel method and throw our exceptions to remind users to set LabelName and ValueName, instead of unclear exception message: InvalidCastException: Object must implement IConvertible.

@anranruye anranruye marked this pull request as draft May 26, 2021 09:28
@anranruye anranruye marked this pull request as ready for review June 12, 2021 10:40
@ElderJames ElderJames merged commit b708a11 into ant-design-blazor:feature Jun 12, 2021
@anranruye anranruye deleted the SupportSimpleDataSource branch June 20, 2021 01:05
ElderJames added a commit that referenced this pull request Jul 26, 2021
* 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>
anddrzejb pushed a commit to anddrzejb/ant-design-blazor that referenced this pull request Jul 29, 2021
)

* feat(module: select): support simple data source

* remove judgement for type of item and value

* Update Select.razor.cs
ElderJames pushed a commit that referenced this pull request Apr 23, 2022
* feat(module: select): support simple data source

* remove judgement for type of item and value

* Update Select.razor.cs
ElderJames added a commit that referenced this pull request Apr 23, 2022
* 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>
ElderJames pushed a commit that referenced this pull request Apr 30, 2022
* feat(module: select): support simple data source

* remove judgement for type of item and value

* Update Select.razor.cs
ElderJames added a commit that referenced this pull request Apr 30, 2022
* 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>
ElderJames added a commit that referenced this pull request Sep 6, 2022
* 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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

(Feature) Select: Support for not using ValueName and LabelName with data source
5 participants