Here is the JSF code:
Code: Select all
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui"
xmlns:ez="http://java.sun.com/jsf/composite/ezcomp">
<h:head>
<title>Facelet Title</title>
</h:head>
<h:body>
<h:form id="myForm">
<ez:custom id="compositec" listOptions="#{myBean.sourceList}"/>
</h:form>
<h:form>
<br/>
<p:panel id="destContainer">
<p:dataTable id="destList" value="#{myBean.destList}" var="item">
<p:column>
<h:outputText value="#{item}"/>
</p:column>
</p:dataTable>
<p:droppable tolerance="touch" activeStyleClass="ui-state-highlight"
datasource=":myForm:compositec:myTab:srcList" >
<p:ajax listener="#{myBean.onCarDrop}" update=":myForm:compositec:myTab:srcList destList" />
</p:droppable>
</p:panel>
</h:form>
</h:body>
</html>
Code: Select all
<!-- INTERFACE -->
<cc:interface>
<cc:attribute name="listOptions" />
</cc:interface>
<!-- IMPLEMENTATION -->
<cc:implementation>
<p:tabView id="myTab">
<p:tab title="Tom">
<p:dataTable id="srcList" value="#{cc.attrs.listOptions}" var="item">
<p:column>
<h:outputText id="dragIcon" styleClass="ui-icon ui-icon-arrow-4"/>
<p:draggable for="dragIcon" revert="true"/>
</p:column>
<p:column>
<h:outputText value="#{item}"/>
</p:column>
</p:dataTable>
</p:tab>
</p:tabView>
</cc:implementation>
Code: Select all
@ManagedBean
@ViewScoped
public class MyBean implements Serializable {
private List<String> sourceList;
private List<String> destList;
public MyBean() {
}
@PostConstruct
public void init(){
sourceList = new ArrayList<String>();
destList = new ArrayList<String>();
sourceList.add("Pasta");
sourceList.add("Egg Roll");
sourceList.add("Soup");
sourceList.add("Beef Stew");
sourceList.add("Fried Rice");
}
public void onCarDrop(DragDropEvent ddEvent) {
String food = (String) ddEvent.getData();
destList.add(food);
sourceList.remove(food);
}
public List<String> getDestList() {
return destList;
}
public void setDestList(List<String> destList) {
this.destList = destList;
}
public List<String> getSourceList() {
return sourceList;
}
public void setSourceList(List<String> sourceList) {
this.sourceList = sourceList;
}
}
Code: Select all
<p:dataTable id="srcList" value="#{myBean.sourceList}" var="item">
Code: Select all
<p:dataTable id="srcList" value="#{cc.attrs.listOptions}" var="item">