tapestry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Magnus Kvalheim (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (TAP5-2196) RequireJs custom path contribution - via Stacks or JavaScriptSupport
Date Tue, 15 Oct 2013 14:52:42 GMT

    [ https://issues.apache.org/jira/browse/TAP5-2196?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13795251#comment-13795251
] 

Magnus Kvalheim commented on TAP5-2196:
---------------------------------------

Have been updating our javascript libs recently and looks like requirejs seems is getting
some traction. A lot of jquery plugins bake AMD in.

Today I looking into updating Masonry
http://masonry.desandro.com/appendix.html#requirejs

And imagesloaded
https://github.com/desandro/imagesloaded

Both which ask to configure path's.

Currently I've disabled amd for these scripts (Find replace define.amd to define.amd &&
false). It's either that or modifying the scrips and it's deps (and dependencies of those)
to my structure.

> RequireJs custom path contribution - via Stacks or JavaScriptSupport
> --------------------------------------------------------------------
>
>                 Key: TAP5-2196
>                 URL: https://issues.apache.org/jira/browse/TAP5-2196
>             Project: Tapestry 5
>          Issue Type: Improvement
>          Components: tapestry-core
>    Affects Versions: 5.4
>            Reporter: Magnus Kvalheim
>              Labels: requirejs
>
> Currently I think there is no way to configure requirejs paths.
> Also - the requirejs config is 'global' and all entries included on every page.
> Would be good improvement if there were some more flexibility in config and more contributions
was possible.
> --
> As part of 5.4 migration process we have some components that make use of JQueryFileUpload,
https://github.com/blueimp/jQuery-File-Upload .
> This library uses the factory approach for defining the modules to work in both AMD and
non AMD environments.
> Internally it handles loading of required modules, but work with paths. (And does not
try to load from a fixed directory structure).
> So I think I need to specify things like 
> requirejs.config({
>     paths: {
>          'jquery.fileupload': '../library/jquery.fileupload/jquery.fileupload', //path
to file
>          'jquery.iframe-transport': '../library/jquery.fileupload/jquery.iframe-transport',
//path to file
>          'jquery.ui.widget': '../library/jquery.fileupload/vendor/jquery.ui.widget',
//path to file
>     }
> });
> Currently, only option is to configure shims through tapestry's modulemanager, but that's
for non-AMD scripts and is likely to cause problems.
> Also the shim config would be global (all pages) - which I'd like to avoid as well.
> In 5.3 I've used a JQueryFileUpload to define all the deps like so..
> public List<Asset> getJavaScriptLibraries() {
> 	List<Asset> ret = new ArrayList<Asset>();
> 	ret.add(assetSource.getContextAsset("jquery-file-upload/7.2.1/js/vendor/jquery.ui.widget.js",
null));
> 	ret.add(assetSource.getContextAsset("jquery-file-upload/extra/js/load-image.min.js",
null));
> 	ret.add(assetSource.getContextAsset("jquery-file-upload/extra/js/canvas-to-blob.min.js",
null));
> 	ret.add(assetSource.getContextAsset("jquery-file-upload/7.2.1/js/jquery.iframe-transport.js",
null));
> 	ret.add(assetSource.getContextAsset("jquery-file-upload/7.2.1/js/jquery.fileupload.js",
null));
> 	ret.add(assetSource.getContextAsset("jquery-file-upload/7.2.1/js/jquery.fileupload-fp.js",
null)); 
> It would be useful it was possible somehow to contribute to requirejs configuration through
stacks. 
> That way they could be added to the requirejs config if the stack was used.
> If it was a service (perhaps exposed through JavaScriptSupport) one could also contribute
on a page/component level..?
> I have no idea about the implications of this and if it's possible to accomplish, but
could potentially help solving some more advanced use cases.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Mime
View raw message