Sorry for the myriad of spelling mistakes. With jsimport() I meant, instead of adding script tags to the HTML skeleton you can do everything in Pyjs/Python using the jsimport() instruction, e.g.
from __pyjamas__ import jsimport jsimport("jquery-1.7.2.min.js") jsimport("select2.js") More details are in the "examplejs" example, as I said. https://github.com/pyjs/pyjs/blob/master/examples/jsimport/examplejs.py Peter 2012/7/3 Peter Bittner <peter.bitt...@gmx.net>: > Great Daniel, > > thanks for sharing! That's great! -- Just a side note: It should be > possible to include the jQuery library with > jsimport("jquery-1.7.2.min.js"). Check the "examplejs" Pyjs examle for > details. > > Can you do the project a favour? Please add your example use of > embedding external JavaScript libs to the FAQ article on GitHub: > https://github.com/pyjs/pyjs.org/wiki/FAQ -- If you think there is a > better place on the website (note: that wiki is the content of the > website) put it there, and update the Menu wiki article if needed. > > On the other hand, what do you think about added your example as an > example the the Pyjs examples? For example! ;-) > I think we had a wiki article, or an example that showed off including > 3rd-party JS libraries in Pyjs, but I can't find any traces of it > anymore. Strange. > > Cheers, Peter > > > 2012/7/3 Daniel Gonzalez <gonva...@gmail.com>: >> I got this to work and I wanted to share it in case it is helpful, or in >> case you have comments. First some explanation: >> >> loading jquery in the .html puts the jquery library in the top context, that >> is why it was not working out of the box for me >> pyjs is creating the components in the top document too >> so now we have jquery in the top context, and the created component in the >> top context. Since jQuery uses by the default the context in which it was >> loaded to look for components, we just need to use the top jQuery. To do >> that, we need the top. prefix. >> >> The resulting code looks like this: >> >> import pyjd # this is dummy in pyjs >> >> >> from pyjamas.ui.HTML import HTML >> from pyjamas.ui.RootPanel import RootPanel >> from __pyjamas__ import JS >> >> >> class jQueryTest: >> >> >> def onModuleLoad(self): >> html = HTML('<p><input type="hidden" id="aa10" style="width:300px" >> value="brown, red, green"/></p>') >> RootPanel().add(html) >> JS("""top.jQuery("#aa10").select2({tags:["red", "green", >> "blue"]});""") >> >> >> if __name__ == '__main__': >> pyjd.setup("./public/jQueryTest.html") >> app = jQueryTest() >> app.onModuleLoad() >> pyjd.run() >> >> And the related .html: >> >> <html> >> <head> >> <script src="jquery-1.7.2.min.js"></script> >> >> <link rel="stylesheet" href="select2.css" /> >> <script src="select2.js"></script> >> >> <meta name="pygwt:module" content="jQueryTest"> >> <title>Test jQuery!</title> >> </head> >> <body bgcolor="white"> >> <script language="javascript" src="bootstrap.js"></script> >> >> >> <iframe id='__pygwt_historyFrame' >> style='width:0;height:0;border:0'></iframe> >> </body> >> </html> >> >> This is working with pyjs as standalone application. Now I have pyjs >> embedded in a web2py container. Let's see if I get this to work. >> >> Regards, >> Daniel