[
http://issues.apache.org/jira/browse/COCOON-1794?page=comments#action_12369430
]
Max Pfingsthorn commented on COCOON-1794:
-----------------------------------------
Actually, I meant to implement this in the repeater binding.
You are right though, positioning is important and makes sense. However, I
would rather do it somehow like this:
previousContext = nil
for each row in repeater do
context = getRowContext(row)
if(context==null)
insertAfterBinding.saveFormToModel(row,previousContext)
context = getRowContext(row)
if(row.isUpdated() || row.isCreated())
rowBinding.saveFormToModel(row,context)
else
deleteRowBinding.saveFormToModel(row,context)
Insert after binding would work for both xml and beans. In the beans case, we
could add a new object (like the InsertBeanJXPathBinding) and shift the ones
below the one to insert after down.
> [PATCH] Propagation of namespaces to a repeaters child bindings and
> implementation of a move-node binding
> ---------------------------------------------------------------------------------------------------------
>
> Key: COCOON-1794
> URL: http://issues.apache.org/jira/browse/COCOON-1794
> Project: Cocoon
> Type: Bug
> Components: Blocks: Forms
> Versions: 2.1.8, 2.1.9-dev (current SVN)
> Reporter: Suzan Foster
> Attachments: repeater-binding-patch.txt
>
> This patch corrects the following issues:
> - Namespaced back-end XML model not correctly binding to the repeaters child
> widgets.
> - Nodes bound to row widgets not being reordered according to row position on
> save.
> Files affected:
> - JXPathBindingBase:
> - member applyLeniency changed from private to protected.
> - member applyNSDeclarations changed from private to protected.
> - RepeaterJXPathBinding:
> - constructor changed for passing a binding for moveRow.
> - applyLeniency and applyNSDeclarations applied to created relative
> contexts.
> - member moveRowBinding added.
> - method getMoveRowBinding added.
> - doSave changed to incorporate the use of moveRowBinding.
> - RepeaterJXPathBindingBuilder:
> - buildBinding changed to incorporate the construction of moveRowBinding.
> Files added:
> - MoveNodeJXPathBinding.
> - MoveNodeJXPathBindingBuilder.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira