Here goes my code(xhtml)
Code: Select all
<p:fieldset id="workflowtabs" style="border: none">
<p:fieldset legend="Drop here" rendered="#{workflowStep2Bean.childCount gt 0}">
<p:outputPanel id="dropArea">
<p:treeTable id="testtable" value="#{workflowStep2Bean.root}" rendered="#{not empty workflowStep2Bean.root}" var="selected">
<p:column rendered="#{selected.type eq 'Folder'}">
<p:commandButton icon="ui-icon ui-icon-folder-open" disabled="true"/>
</p:column>
<p:column rendered="#{selected.type eq 'Folder'}" >
<h:inputText value="#{selected.name}" />
</p:column>
</p:treeTable>
</p:outputPanel>
</p:fieldset>
</p:fieldset>
<p:fieldset id="fieldstest" style="border:none">
<p:fieldset legend="#{msg.tests}" rendered="#{workflowStep2Bean.childCount gt 0}">
<p:dataTable id="tests" value="#{workflowStep2Bean.tests}" var="testsList" rendered="#{workflowStep2Bean.childCount gt 0}">
<p:column style="width:24px" headerText="Drag">
<h:outputText id="dragIcon"
styleClass="ui-icon ui-icon-arrow-4" />
<p:draggable for="dragIcon" revert="true" stack=".ui-panel"/>
</p:column>
<p:column headerText="Name">
<div id="listname"><h:outputText value="#{testsList.name}" /></div>
</p:column>
</p:dataTable>
<p:droppable for="workflowtabs" tolerance="touch" activeStyleClass="ui-state-highlight" datasource="teststable" onDrop="handleDrop" >
[size=150] <p:ajax listener="#{workflowStep2Bean.onTestDrop}" update="dropArea teststable" /> [/size]
</p:droppable>
</p:fieldset>
</p:fieldset>
Code: Select all
@SessionScoped
@ManagedBean
public class WorkflowStep2Bean implements Serializable {
................
public void onTestDrop(DragDropEvent ddEvent) {
if (getTabs().size() > 0) {
TreeNode tab = getTabs().get(getTabs().size() - 1);
Test t = (Test) ddEvent.getData();
tests.remove(t);
((Tab) tab.getData()).getTests().add(t);
TreeNode tabC = new DefaultTreeNode(t, tab);
}
}
.....
}
Thanks in advance