Estoy empezando un proyecto Con GWT, el equipo de diseñadores creó un prototipo utilizando HTML y JQuery. Actualmente estoy usando UIBinder para 'reconstruir' la UI. Mi problema es que la aplicación tiene un menú desplegable que usa JQuery ... y no funcionaLlamar a la función JQuery desde GWT
Lo que intenté hasta ahora es utilizar un HTMLPanel en UIBinder XML e insertar el menú, guardé el archivo .js y la referencia en el archivo HTML con la esperanza de que las acciones se recogerán ... pero sin suerte.
Ésta es menu.ui.xml, se visualiza el menú, pero sin ratón sobre
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" xmlns:g="urn:import:com.google.gwt.user.client.ui">
<g:HTMLPanel>
<!-- menu -->
<ul id="menu">
<li class="home"><a href="#"><span>Accueil</span></a></li>
<li class="configuration">
<g:Anchor ui:field="configurationButton" href="#">
<span>Configuration</span></g:Anchor>
<div class="submenu">
<div class="group">
<ul>
<li>
<a href="#">Fiches de configuration</a>
<ul>
<li><a href="#">Organisme</a></li>
<li><a href="#">Groupe opérationnel</a></li>
<li><a href="#">Unité opérationnelle</a></li>
<li><a href="#">Immeuble</a></li>
</ul>
</li>
</ul>
</div>
</div>
</li>
<li class="audit"><a href="#"><span>Audit</span></a></li>
<li class="result"><a href="#"><span>Résultats</span></a></li>
<li class="scenario"><a href="#"><span>Scénarios</span></a></li>
<li class="document"><a href="#"><span>Documents</span></a></li>
</ul>
<!-- menu.end -->
</g:HTMLPanel>
el código jQuery que está en un archivo separado common.js
$('#menu').find('submenu').each(function(){
alert("inside");
var totalWidth = 0;
$(this).children().each(function(){
totalWidth += $(this).outerWidth();
}).end().css({
'display' : 'none',
'width' : totalWidth
});
}).end().css({
'overflow' : 'visible'
});
EntryPoint
public class M3T implements EntryPoint {
public void onModuleLoad() {
Menu menu = new Menu();
RootPanel.get("menuwrapper").add(menu);
}
}
En el HTML Tengo un div donde se inserta el menú
<script src="js/jquery-1.6.1.min.js" type="text/javascript"></script>
<script src="js/jquery.lib.min.js" type="text/javascript"></script>
<script src="js/common.js" type="text/javascript"></script> ...
<div id="menuwrapper"> </div>
¿Hay alguna manera de hacer que funcione sin necesidad de utilizar GQuery o JSNI
Gracias