diff options
-rw-r--r-- | tests/visual/dep_loader.html | 26 | ||||
-rw-r--r-- | ui/ui.core.js | 25 |
2 files changed, 51 insertions, 0 deletions
diff --git a/tests/visual/dep_loader.html b/tests/visual/dep_loader.html new file mode 100644 index 000000000..891188e30 --- /dev/null +++ b/tests/visual/dep_loader.html @@ -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 diff --git a/ui/ui.core.js b/ui/ui.core.js index 877b0d023..41486529f 100644 --- a/ui/ui.core.js +++ b/ui/ui.core.js @@ -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; |