Pessoal estou com um problema no drag and drop do primefaces, quando eu arrasto o componente para cima de outro ele não reconhece e nem dispara o evento, alguém pode me ajudar a resolver o problema?
Abaixo vou listar a página e o código?
Página
<h:form prependId="false">
<p:growl id="growl" showDetail="true" />
<h:panelGrid columns="2" columnClasses="lineup,squad">
<p:panel header="Estados">
<p:dataGrid id="availableStates" value="#{stateBean.states}"
var="state" columns="4">
<p:column>
<p:graphicImage id="state"
value="images/states/#{state.nameOfPicture}"
url="images/states/#{state.nameOfPicture}" />
<p:draggable for="state" revert="true" scope="#{state.owner}" />
</p:column>
</p:dataGrid>
</p:panel>
<h:panelGrid columns="2">
<p:outputPanel id="LCM"
style="background:#333333;
width:900px;
height:1100px;
display:block;">
<p:droppable dropListener="#{stateBean.onDrop}" tolerance="touch"
onDropUpdate="selectedStates growl" scope="AC" onDrop="handleDrop"
datasource="availableStates" />
</p:outputPanel>
</h:panelGrid>
</h:panelGrid>
Código
@ManagedBean
@SessionScoped
public class StateBean {
private List<State> states;
private List<State> selectedStates;
public StateBean() {
states = new ArrayList<State>();
states.add(new State("Acre", "Acre.png", "", "AC"));
states.add(new State("Alagoas", "Alagoas.png", "", "AL"));
}
public List<State> getStates() {
return states;
}
public List<State> getSelectedStates() {
return selectedStates;
}
public void onDrop(DragDropEvent event) {
State state = (State) event.getData();
selectedStates.add(state);
FacesContext.getCurrentInstance().addMessage(
null,
new FacesMessage(state.getName() + " added", "Position:"
+ event.getDropId()));
}
}
Caso queiram mais alguma informação postem ai.
Obrigado.