-
Type:
New Feature
-
Resolution: Done
-
Priority:
Normal
-
Affects Version/s: None
-
Component/s: None
-
Security Level: Jimmy
-
None
User Story
As a ZK MVVM user, I want to know how to solve the upgrade issue when I use ZK 10 client MVVM
Case1: @WireVariable is MVC
zephyr-master/zephyr-test/src/main/webapp/mvvm/book/advance/wirevariables/WireFromImplicitObject.zul
Case2: drag not work (Shall find another way to do the drag)
zephyr-master/zephyr-test/src/main/webapp/mvvm/book/basic/component-switch.zul
Case3: @ContextParam(ContextType.COMPONENT), it is not supported
zephyr-master/zephyr-test/src/main/webapp/mvvm/book/basic/contextparam.zul
@ContextParam(ContextType.BINDER) BinderImpl binder
test2/B95-ZK-4722.zul
Case4: Move component
B80-ZK-2917.zul
B80-ZK-3211.zul
B96-ZK-4778.zul
F85-ZK-1148.zul
Case5: use BindingParam to control component
B80-ZK-2983.zul
B85-ZK-3898.zul
B86-ZK-4166.zul
B86-ZK-4255.zul
Case6: @SelectorParam
Note: should support if the selector can locate to server side component.
B95-ZK-4722.zul (Should work, div is a ViewModel owner)
B80-ZK-2919.zul (Should work, combobox is a Server side component.
Case7: @Listen
F80-ZK-2582.zul
Case8: @Wire
F80-ZK-2708.zul
B01887DetachAttach.zul
B02022ComponentRemoval.zul
F00638.zul
F01231AfterComposeVM.zul
Case9: Call API in binder
B60-ZK-1139.zul
B01139LoadInit.zul
Case10: Create Component
B85-ZK-3831.zul
B01547NPEWhenCreateNonPage.zul
B01640CommandSend2WrongViewModel.zul
Case11: Type issue
B01059DifferentType.zul
(misleading ZUL description, the B01059DifferentTypeTest said that it should throw exception)
Case12: ListModel case doesn't support EL ${model} with ZScript variable for @load() binding to bind value at client.
B01060DirectModel.zul
B90-ZK-4227.zul
Case13: old mvvm (AnnotateDataBinderInit)
B02055Loop.zul
Case14: template outside view model
B90-ZK-4376.zul
B90-ZK-4556-outer-template.zul
Case15: not support for client mvvm for binding paginal
B80-ZK-3208-grid.zul (not support for client mvvm for binding paginal)
B80-ZK-3208-list.zul (not support for client mvvm for binding paginal)
B80-ZK-3208-tree.zul (not support for client mvvm for binding paginal)
B85-ZK-3749.zul (not support for client mvvm for binding paginal)
Case16: set Component property
zktest/bind/issue/B00604.zul
Case17: converter to case Object type issue
zephyr-test/mvvm/issue/F00743_1.zul
public Object coerceToUi(Object val, Component component, BindContext ctx) { return sort((Set)val); <-- no way to detect the Set type here, we can only support Set in method parameter type, but still Set<Item> cannot support as well. }
Case18: itemRenderer="@load(vm.itemRenderer)" (suggested to use <template>)
test2/B85-ZK-3733.zul
test2/B80-ZK-1987-1.zul
F86-ZK-3963.zul
case19: Cannot access selectedItems from Event (onXXX="..." should be @command)
onSelect="Clients.log(event.selectedItems.iterator().next().value)"
test2/B96-ZK-4921.zul
mvvm/issue/B00762Listbox1.zul
case20: sorting feature - https://tracker.zkoss.org/browse/ZK-5318
Unable to support sorting function at Server side, so we decide not to support this at Client MVVM.
test2/F96-ZK-4595.zul
case21: ProxyTargetHandler - https://tracker.zkoss.org/browse/ZK-5322
Unable to support ProxyTargetHandler for Client MVVM
case22: Unable to support getSaveFormFieldNames() from a binder passed through @ContextParam(ContextType.BINDER)
-> binder.getSaveFormFieldNames(myform);
in B95_ZK_4685VM.java
case 23: ZK-3952
public void scrollToIndex(int index) {ListModel<Object> model = getModel();
B00762Combobox1.zul, try to access model in component
F00743_1.zul
F00743_2.zul
getModel shouldn't be called in ClientMVVM.
case 24: access component API
B70-ZK-2636.zul
B86-ZK-4295.zul
B85-ZK-3932.zul
case 25: render client object in include component
ZK-5405
case 26: cannot support FormLegacy in ViewModel.
test2/F95-ZK-4501.zul
case 27: setSelectionControl on ListModel - ZK-5407
case 28: getter method should be pure getter
ex. https://github.com/zkoss/zk/blob/6db8ccad0efc7345594a5a96d9c0f0cb9054e352/zephyr-test/src/main/java/org/zkoss/zktest/test2/B65_ZK_2409VM.java#L27-L33
case 29: Custom Binder by using AnnotateBinder
mvvm/issue/B00632.zul
case 30: Cannot support viewModel="@id('vm') @init(module)" from outside this page scope. (see ZK-5405)
zephyr-test/mvvm/book/basic/modulize.zul with modulize-moudle1.zul
case 31: Not support Fragment component for Client MVVM (see ZK-5340)
Acceptance Criteria
System log when server startup and the check should be pluggable