Awesome example, Arve! Thanks for sharing!
On Sat, 18 Oct 2014 13:32:08 -0300, Arve Klev <arvek...@gmail.com> wrote:
This could be done in a much simpler way today, I think.
I'm using Tapestry 5.4-beta-22 and only the libraries shipped by
Tapestry (Bootstrap, etc.) - love it.
To use Bootstraps popover.js, a component we must initialize ourself, I
only need to do this:
In my Layout component (include the modules as needed):
@Import(module={"bootstrap/collapse", "bootstrap/dropdown",
"bootstrap/popover"}) //<— added "bootstrap/popover" - could have
added "my-js-popover"
here also, and not in the page class
public class Layout
{
. . .
}
In my page class:
public class ListSomething
{
@Inject
private JavaScriptSupport javaScriptSupport;
public void afterRender()
{
javaScriptSupport.require("my-js-popover"); //<— import my js-file from
"src/main/resources/META-INF/modules"
{
. . .
}
In my page ListSomething.tml:
<html t:type="Layout" t:title="literal:List Something"
xmlns:t="http://tapestry.apache.org/schema/tapestry_5_4.xsd"
xmlns:p="tapestry:parameter">
. . .
<button type="button" class="btn btn-lg btn-danger" data-toggle="popover"
id="myPop"
title="Popover title" data-content="And here's some amazing
content.">Click
</button>
. . .
</html>
In my "src/main/resources/META-INF/modules/my-js-popover.js":
define(["jquery", "bootstrap/popover"], function($, popover) {
var $pop = $("#myPop");
$pop.popover({placement : 'top'});
});
No changes in the default AppModule.
This is great!
---
Arve Kev
2014-05-27 22:54 GMT+02:00 Basile Chandesris <ba...@free.fr>:
Since 5.4-alpha-15 , tapestry use Bootstrap 3.x.
https://git-wip-us.apache.org/repos/asf?p=tapestry-5.git;a=tree;h=
f43e87abf9b77f08b99e90aa22b6d54f20ce7bd1;hb=bb23cdc21f68a655f8f2c24bb8c2c2
ce5369ca12
http://getbootstrap.com/
http://getbootstrap.com/2.3.2/
5.4-beta-6:
Bootstrap 3.0.3
https://git-wip-us.apache.org/repos/asf?p=tapestry-5.git;a=commit;h=
234ec514afc376252c5c526e4b2bd3cab6c83a5e
jQuery 1.11.1 / 1.9.1
RequireJS 2.1.11
https://git-wip-us.apache.org/repos/asf?p=tapestry-5.git;a=commit;h=
5b12cea9f97e12b1433cf960b83e7bcc45bee63d
Moment.js 2.6.0
https://git-wip-us.apache.org/repos/asf?p=tapestry-5.git;a=commit;h=
36375f07cb45f6da87434f4c2ba2b010397d0e05
Underscore 1.5.2
https://git-wip-us.apache.org/repos/asf?p=tapestry-5.git;a=commit;h=
d27925498a3589c8d53fb25b0cdf79e43482f2b0
Typeahead 0.9.3
CoffeeScript 1.7.1
https://git-wip-us.apache.org/repos/asf?p=tapestry-5.git;a=commit;h=
218d4c722f15e0f142fa5c05e59b766cad714d0d
https://git-wip-us.apache.org/repos/asf?p=tapestry-5.git;a=
blob;f=tapestry-core/src/main/java/org/apache/tapestry5/
modules/JavaScriptModule.java;h=5bf078217acb821cb8628d34bc59cd
5c4acd6e23;hb=5bf078217acb821cb8628d34bc59cd5c4acd6e23
Le 26/05/14 18:59, Ilya Obshadko a écrit :
Turns out I've got "Uncaught TypeError: undefined is not a function" in
dom.js, line 134. Don't have any idea where it might come from.
On Mon, May 26, 2014 at 8:26 PM, Ilya Obshadko
<ilya.obsha...@gmail.com>
wrote:
I've just started migrating from 5.3 to 5.4-beta3. My application
already
heavily relies on Bootstrap and jQuery. Previously I was using
Bootstrap
version 2.3.2, so that's a good time to upgrade Bootstrap as well.
Could someone clarify this for me: Tapestry 5.4 distribution already
contains everything needed to work out of the box? Or do I have to
import
Bootstrap libraries manually? Because all Bootstrap controls just
stopped
working, there are no event handlers installed and it seems to me that
bootstrap.js file bundled with Tapestry is very minimal one.
--
Ilya Obshadko
--
Thiago H. de Paula Figueiredo
Tapestry, Java and Hibernate consultant and developer
http://machina.com.br
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org