r799 - in trunk: tests/visual ui
Author: paul.bakaus
Date: Wed Oct 15 04:03:49 2008
New Revision: 799
Added:
trunk/tests/visual/dep_loader.html
Modified:
trunk/ui/ui.core.js
Log:
core: implemented experimental async dependency loading
Added: trunk/tests/visual/dep_loader.html
==============================================================================
--- (empty file)
+++ trunk/tests/visual/dep_loader.html Wed Oct 15 04:03:49 2008
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html>
+ <head>
+ <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
+ <title>Dependency loading</title>
+ <script type="text/javascript" src="../../jquery-1.2.6.js"></script>
+ <script type="text/javascript" src="../../ui/ui.core.js"></script>
+
+ <script type="text/javascript">
+
+ $(document).ready(function() {
+
+ $("div").draggable();
+
+ });
+
+ </script>
+
+ </head>
+ <body>
+
+ <div style="width: 100px; height: 100px; background: green;"></div>
+
+ </body>
+</html>
\ No newline at end of file
Modified: trunk/ui/ui.core.js
==============================================================================
--- trunk/ui/ui.core.js (original)
+++ trunk/ui/ui.core.js Wed Oct 15 04:03:49 2008
@@ -9,6 +9,31 @@
*/
;(function($) {
+
+/** Lazy loading stub functions **/
+var uiPath;
+$("script").each(function() {
+ if((/ui/i).test(this.src)) {
+ var splitted = this.src.split('/'); splitted.pop();
+ uiPath = splitted.join('/') + ( splitted.join('/') == '' ? '' : '/' );
+ }
+});
+
+$.each(
("accordion,colorpicker,datepicker,dialog,draggable,droppable,magnifier,progressbar,"
+
+ "resizable,selectable,slider,sortable,spinner,tabs").split(","),
function(i, name){
+
+ // Handle event binding
+ $.fn[name] = function(){
+
+ var selector = this, args = arguments;
+ $.getScript(uiPath+'ui.'+name+'.js', function() {
+ selector[name].apply(selector, args);
+ });
+
+ };
+});
+
+
/** jQuery core modifications and additions **/
var _remove = $.fn.remove;