[Seaside] registerObjectForBacktracking, submit and execute block
Avi Bryant
avi at beta4.com
Mon Aug 30 10:46:32 CEST 2004
On Aug 29, 2004, at 2:43 PM, Andreas Nilsson wrote:
> Ok, that makes sense, didn't know that it used an array internally.
> Any ideas of how to make backtracking work for adding / removing items
> from a collection?
> Somebody must have tried before ;)
It's a little ugly, and should be encapsulated, but you can use a
StateHolder holding an Array and use functional operations instead of
desctructive ones:
initialize
stateHolder := WAStateHolder new contents: #()
objects
^ stateHolder contents
add: anObject
stateHolder contents: (self objects copyWith: anObject)
remove: anObject
stateHolder contents: (self objects copyWithout: anObject)
Cheers,
Avi
More information about the Seaside
mailing list