[Seaside] Following chapter 12.2 and encountering difficulties with
my interpretation of
intrader.intrader at gmail.com
Fri Apr 22 01:05:12 UTC 2011
chapter 11.5 handling of the Cancel button.
1. A first try at following 11.5 fails when a second click on the Cancel button
results in "Error: Object is not in the collection."; I am deleting aContact a
second time. The copy is indeed added to the collection but it does not
replace the collection entry corresponding to where aContact was obtained.
2. Further the editor subcomponent does not revert to its original state.
3. The list component is not updated when the contact name is changed.
It appears that the callback containing the editor reference should be updated.
A possible solution would be to deep copy the copy reference back into the
aContact reference and do not remove the aContact entry.
I need help in understanding how to properly handle Cancel when embedded
components are involved.
The code I have in the editContact method is
| copy |
copy := aContact copy.
(editor contact: aContact) onAnswer: [ :answer |
answer ifFalse: [
"aContact has changed contact regardless of whether
editor answers true or false;
copy has the original"
MyContact removeContact: aContact.
MyContact addContact: copy.
"the editor view still has changed value; the view
should be rerendered with original value (the copy)".
More information about the seaside