Skip to content

Commit

Permalink
Added the ViewModel bean to both spring application contexts
Browse files Browse the repository at this point in the history
Made sure that the text boxes were bound to the form bean
  • Loading branch information
Timothy Clare committed Jan 16, 2012
1 parent 9f0a200 commit 5ddfd99
Show file tree
Hide file tree
Showing 3 changed files with 56 additions and 41 deletions.
2 changes: 1 addition & 1 deletion src/main/resources/default.application-context.xml
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@
<bean id="toDoViewModel2" class="org.zkforge.zktodo2.ZkToDoViewModel"
p:reminderService-ref="reminderService" scope="desktop" />

<!-- ZK6 MVVM version. Note that the following bean has prototype scope. -->
<!-- ZK6 MVVM validation version. Note that the following bean has prototype scope. -->
<bean id="toDoViewModel3" class="org.zkforge.zktodo2.ZkToDoValidationViewModel"
p:reminderService-ref="reminderService" scope="desktop" />

Expand Down
4 changes: 4 additions & 0 deletions src/main/webapp/WEB-INF/spring/application-context.xml
Original file line number Diff line number Diff line change
Expand Up @@ -61,5 +61,9 @@
<!-- ZK6 MVVM version. Note that the following bean has prototype scope. -->
<bean id="toDoViewModel2" class="org.zkforge.zktodo2.ZkToDoViewModel"
p:reminderService-ref="reminderService" scope="desktop" />

<!-- ZK6 MVVM validation version. Note that the following bean has prototype scope. -->
<bean id="toDoViewModel3" class="org.zkforge.zktodo2.ZkToDoValidationViewModel"
p:reminderService-ref="reminderService" scope="desktop" />

</beans>
91 changes: 51 additions & 40 deletions src/main/webapp/zktodo_e.zul
Original file line number Diff line number Diff line change
Expand Up @@ -3,44 +3,55 @@
<?page title="ZkTodo2 - ZK Bind MVVM Example"?>
<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver" ?>
<zk xmlns="http://www.zkoss.org/2005/zul">
<window title="To Do List :: 'ZK Bind MVVM' Model-View-ViewModel" width="640px" border="normal" apply="org.zkoss.bind.BindComposer" viewModel="@id('vm') @init(toDoViewModel3)">
<listbox id="list" multiple="true" rows="6" model="@load(vm.reminders)" selectedItem="@bind(vm.selectedReminder)">
<listhead>
<listheader label="Item" />
<listheader label="Priority" width="80px" />
<listheader label="Date" width="90px" />
</listhead>
<template name="model" var="reminder">
<listitem>
<listcell label="@load(reminder.name)"/>
<listcell label="@load(reminder.priority)"/>
<listcell label="@load(reminder.date)"/>
</listitem>
</template>
</listbox>
<vlayout form="@id('event') @load(vm.selectedReminder) @save(vm.selectedReminder, before='save') @save(vm.newReminder, before='add') @validator('org.zkforge.zktodo2.ReminderValidator')">
<hlayout>
Item:<textbox cols="40" instant="true"
value="@bind(vm.selectedReminder.name)"
/>
Priority:<intbox cols="2" instant="true"
value="@bind(vm.selectedReminder.priority)"
/>
Date:<datebox cols="14" instant="true"
value="@bind(vm.selectedReminder.date)"
/>
</hlayout>
<hlayout>
<button id="add" label="Add" width="36px" height="24px" onClick="@command('add')"/>
<button id="delete" label="Delete" width="46px" height="24px" onClick="@command('delete')"/>
<button id="save" label="Save" width="46px" height="24px" onClick="@command('save')"/>
</hlayout>
<hlayout>
<label style="color:red" value="@load(vmsgs['name'])" />
<label style="color:red" value="@load(vmsgs['priority'])" />
<label style="color:red" value="@load(vmsgs['date'])" />
</hlayout>
</vlayout>
</window>
<button label="Reload Page" onClick='Clients.evalJavaScript("window.location = window.location;")' />
<window title="To Do List :: 'ZK Bind MVVM' Model-View-ViewModel"
width="640px" border="normal" apply="org.zkoss.bind.BindComposer"
viewModel="@id('vm') @init(toDoViewModel3)"
validationMessages="@id('vmsgs')">
<listbox id="list" multiple="true" rows="6"
model="@load(vm.reminders)"
selectedItem="@bind(vm.selectedReminder)">
<listhead>
<listheader label="Item" />
<listheader label="Priority" width="80px" />
<listheader label="Date" width="90px" />
</listhead>
<template name="model" var="reminder">
<listitem>
<listcell label="@load(reminder.name)" />
<listcell label="@load(reminder.priority)" />
<listcell label="@load(reminder.date)" />
</listitem>
</template>
</listbox>
<vlayout
form="@id('event') @load(vm.selectedReminder) @save(vm.selectedReminder, before='save') @save(vm.newReminder, before='add') @validator('org.zkforge.zktodo2.ReminderValidator')">
<hlayout>
Item:
<textbox cols="40" instant="true"
value="@bind(event.name)" />
Priority:
<intbox cols="2" instant="true"
value="@bind(event.priority)" />
Date:
<datebox cols="14" instant="true"
value="@bind(event.date)" />
</hlayout>
<hlayout>
<button id="add" label="Add" width="36px" height="24px"
onClick="@command('add')" />
<button id="delete" label="Delete" width="46px"
height="24px" onClick="@command('delete')" />
<button id="save" label="Save" width="46px"
height="24px" onClick="@command('save')" />
</hlayout>
<hlayout>
<label style="color:red" value="@load(vmsgs['name'])" />
<label style="color:red"
value="@load(vmsgs['priority'])" />
<label style="color:red" value="@load(vmsgs['date'])" />
</hlayout>
</vlayout>
</window>
<button label="Reload Page"
onClick='Clients.evalJavaScript("window.location = window.location;")' />
</zk>

0 comments on commit 5ddfd99

Please sign in to comment.