DnD problem when <rich:dropSupport /> is inside a tabPanel
bouba331 Sep 22, 2008 8:14 AMHi,
I have to implement Drag & Drop from a rich:tree to a rich:simpleTogglePanel.
I first tried to do something very simple which worked well.
The Drag zone is configured from a treeNode:
<r:treeNode id="defaultAeComponentConfigurationTreeNode" type="AE_CONFIGURATION_DEFAULT" icon="/img/configurations/config_component_locked_24.png" iconLeaf="/img/configurations/config_component_locked_24.png" dragIndicator="aeComponentConfigurationDragIndicator" dragType="aeComponentConfiguration" dragValue="#{item.label}" > <a:support event="ondblclick" reRender="centralPanel" /> <a:support event="onselected" actionListener="#{componentTreeManager.setSelectedAeConfigurationNode}" /> <r:dndParam name="uimaComponentConfigurationName" value="#{item.label}" /> <r:dndParam name="uimaComponentId" value="#{item.parent.managedData.componentId}" /> <r:dndParam name="uimaComponentVersion" value="#{item.parent.managedData.componentVersion}" /> <h:outputText value="#{item.label}" /> </r:treeNode>
The Drop zone is configured with that:
<a:form id="aeComponentConfigurationsForm"> <r:simpleTogglePanel id="aeComponentConfigurationsTogglePanel" switchType="client" label="#{messages['workflowform.analysisEngine']}"> <r:dropSupport id="aeComponentConfigurationsDropSupport" acceptedTypes="aeComponentConfiguration" reRender="aeComponentConfigurationsDataTable" action="#{workflowManager.addAeComponentConfiguration}"/> <r:scrollableDataTable id="aeComponentConfigurationsDataTable" .... </r:scrollableDataTable> </r:simpleTogglePanel> </a:form>
Ok, with this piece of code I can Drag a node from my tree to the togglePanel. On drop my scrollableDatatable is reRendered with the new dropped element.
But now I need to put the togglePanel inside a rich:tab, my code is the following.
<r:tabPanel id="uimaWorkflowConfigurationTabPanel" width="100%" styleClass="tabPanel" switchType="client" selectedTab="workflowPreferencesTab" rendered="#{navigationManager.rightDiv == 'UIMA_WORKFLOW_CONFIGURATION_FORM'}"> <r:tab id="uimaWorkflowConfigurationSchedulingTab" name="workflowCompositionTab" label="#{messages['workflowform.scheduling']}" styleClass="tab"> <a:form id="aeComponentConfigurationsForm"> <r:simpleTogglePanel id="aeComponentConfigurationsTogglePanel" switchType="client" label="#{messages['workflowform.analysisEngine']}"> <r:dropSupport id="aeComponentConfigurationsDropSupport" acceptedTypes="aeComponentConfiguration" reRender="aeComponentConfigurationsDataTable" action="#{workflowManager.addAeComponentConfiguration}"/> <r:scrollableDataTable id="aeComponentConfigurationsDataTable" .... </r:scrollableDataTable> </r:simpleTogglePanel> </a:form> </r:tab> </r:tabPanel>
But now the Dnd does not work, I do not understand why.
The JSF action #{workflowManager.addAeComponentConfiguration} isn't called !
Do you know why this does not work inside a rich:tabPanel ?
Thanks,