eXpandFramework / eXpand

DevExpress XAF (eXpressApp) extension framework. 𝗹𝗶𝗻𝗸𝗲𝗱𝗶𝗻.𝗲𝘅𝗽𝗮𝗻𝗱𝗳𝗿𝗮𝗺𝗲𝘄𝗼𝗿𝗸.𝗰𝗼𝗺, 𝘆𝗼𝘂𝘁𝘂𝗯𝗲.𝗲𝘅𝗽𝗮𝗻𝗱𝗳𝗿𝗮𝗺𝗲𝘄𝗼𝗿𝗸.𝗰𝗼𝗺 and 𝘁𝘄𝗶𝘁𝘁𝗲𝗿 @𝗲𝘅𝗽𝗮𝗻𝗱𝗳𝗿𝗮𝗺𝗲𝘄𝗼𝗿𝗸 and or simply 𝗦𝘁𝗮𝗿/𝘄𝗮𝘁𝗰𝗵 this repository and get notified from 𝗚𝗶𝘁𝗛𝘂𝗯
http://expand.expandframework.com
Microsoft Public License
222 stars 115 forks source link

Solution for web lookupcascade #695

Closed apobekiaris closed 4 years ago

apobekiaris commented 4 years ago

Althought the build in ASPxGridLookupPropertyEditor is good enough for most case, there is certainly a need for a solution that can cascade on the client without callbacks (ImmediatePostDataAttribute) therefore can be used where the network speeds are really low.

First I want to thank for the approval to published a refactored version of such module to the the Company that sponsored its original implementation.

Architectural outline

  1. Serialize ListView datasource to the client and store it in SessionStorage or LocalStorage
  2. A PropertyEditor will then query the required datastore from the storage and populate the items on the client in addition to filter/synchronize its paired PrropertyEditor
  3. The solution must be totally configurable from the model and must work for DetailView, ListView
apobekiaris commented 4 years ago

the module is now on the lab nuget server Xpand.XAF.Modules.LookupCascade and docs in the lab branch

https://github.com/eXpandFramework/DevExpress.XAF/tree/lab/src/Modules/LookupCascade

expand commented 4 years ago

The pre-release 2.201.2.2 in the DevExpress.XAF lab branch includes commits that relate to this task:

To minimize version conflicts we recommend that you use the Xpand.XAF.Core.All, Xpand.XAF.Win.All, Xpand.XAF.Web.All packages. Doing so, all packages will be at your disposal and .NET will add a dependecy only to those packages that you actually use and not to all.

Released packages: 1. [Xpand.XAF.Core.All v.2.201.26.5](https://github.com/eXpandFramework/DevExpress.XAF/tree/master/src/Modules) 1. [Xpand.XAF.Modules.AutoCommit v.2.201.13.8](https://github.com/eXpandFramework/DevExpress.XAF/tree/master/src/Modules/AutoCommit) 1. [Xpand.XAF.Modules.CloneMemberValue v.2.201.13.8](https://github.com/eXpandFramework/DevExpress.XAF/tree/master/src/Modules/CloneMemberValue) 1. [Xpand.XAF.Modules.CloneModelView v.2.201.13.5](https://github.com/eXpandFramework/DevExpress.XAF/tree/master/src/Modules/CloneModelView) 1. [Xpand.XAF.Modules.GridListEditor v.2.201.13.8](https://github.com/eXpandFramework/DevExpress.XAF/tree/master/src/Modules/GridListEditor) 1. [Xpand.XAF.Modules.HideToolBar v.2.201.13.8](https://github.com/eXpandFramework/DevExpress.XAF/tree/master/src/Modules/HideToolBar) 1. [Xpand.XAF.Modules.LookupCascade v.2.201.2.2](https://github.com/eXpandFramework/DevExpress.XAF/tree/master/src/Modules/LookupCascade) 1. [Xpand.XAF.Modules.MasterDetail v.2.201.13.8](https://github.com/eXpandFramework/DevExpress.XAF/tree/master/src/Modules/MasterDetail) 1. [Xpand.XAF.Modules.ModelMapper v.2.201.13.9](https://github.com/eXpandFramework/DevExpress.XAF/tree/master/src/Modules/ModelMapper) 1. [Xpand.XAF.Modules.ModelViewInheritance v.2.201.13.5](https://github.com/eXpandFramework/DevExpress.XAF/tree/master/src/Modules/ModelViewInheritance) 1. [Xpand.XAF.Modules.OneView v.2.201.13.8](https://github.com/eXpandFramework/DevExpress.XAF/tree/master/src/Modules/OneView) 1. [Xpand.XAF.Modules.ProgressBarViewItem v.2.201.13.8](https://github.com/eXpandFramework/DevExpress.XAF/tree/master/src/Modules/ProgressBarViewItem) 1. [Xpand.XAF.Modules.Reactive v.2.201.13.6](https://github.com/eXpandFramework/DevExpress.XAF/tree/master/src/Modules/Reactive) 1. [Xpand.XAF.Modules.Reactive.Logger v.2.201.13.8](https://github.com/eXpandFramework/DevExpress.XAF/tree/master/src/Modules/Reactive.Logger) 1. [Xpand.XAF.Modules.Reactive.Logger.Client.Win v.2.201.13.7](https://github.com/eXpandFramework/DevExpress.XAF/tree/master/src/Modules/Reactive.Logger.Client.Win) 1. [Xpand.XAF.Modules.Reactive.Logger.Hub v.2.201.13.8](https://github.com/eXpandFramework/DevExpress.XAF/tree/master/src/Modules/Reactive.Logger.Hub) 1. [Xpand.XAF.Modules.Reactive.Win v.2.201.13.7](https://github.com/eXpandFramework/DevExpress.XAF/tree/master/src/Modules/Reactive.Win) 1. [Xpand.XAF.Modules.RefreshView v.2.201.13.8](https://github.com/eXpandFramework/DevExpress.XAF/tree/master/src/Modules/RefreshView) 1. [Xpand.XAF.Modules.SuppressConfirmation v.2.201.13.8](https://github.com/eXpandFramework/DevExpress.XAF/tree/master/src/Modules/SuppressConfirmation) 1. [Xpand.XAF.Modules.ViewEditMode v.2.201.13.8](https://github.com/eXpandFramework/DevExpress.XAF/tree/master/src/Modules/ViewEditMode) 1. [Xpand.XAF.Web.All v.2.201.26.5](https://github.com/eXpandFramework/DevExpress.XAF/tree/master/src/Modules) 1. [Xpand.XAF.Win.All v.2.201.26.5](https://github.com/eXpandFramework/DevExpress.XAF/tree/master/src/Modules)

Please update the related Nuget packages and test if issues is addressed. These are nightly nuget packages available only from our NugetServer.

If you do not use these packages directly but through a module of the main eXpandFramework project, please wait for the bot to notify you again when integration is finished or update the related packages manually.

Thanks a lot for your contribution.

expand commented 4 years ago

eXpand.lab release 19.2.701.2 includes commit that relate to this task:

Please test if it addresses the problem. If you use nuget add our LAB NugetServer as a nuget package source in VS.

To minimize version conflicts we recommend that you switch to PackageReference format and use only the eXpandAgnostic, eXpandWin, eXpandWeb packages. Doing so, all packages will be at your disposal and .NET will add a dependecy only to those packages that you actually use and not to all.

Thanks a lot for your contribution.

expand commented 4 years ago

Closing issue for age. Feel free to reopen it at any time.

.Thank you for your contribution.