diff options
author | Adrian Lang <mail@adrianlang.de> | 2011-07-07 16:08:05 +0200 |
---|---|---|
committer | Adrian Lang <mail@adrianlang.de> | 2011-07-10 12:15:25 +0200 |
commit | d10c9a7424d1ef0aace2fd34e1008196d111a88c (patch) | |
tree | 93f439df14ef3b0712f0eb9b3d83e82b6a18d121 /lib/scripts/events.js | |
parent | 881f2ee268e95e0cdd02bf593d89ca9b42d03060 (diff) | |
download | dokuwiki-d10c9a7424d1ef0aace2fd34e1008196d111a88c.tar.gz dokuwiki-d10c9a7424d1ef0aace2fd34e1008196d111a88c.zip |
Rewrite mediamanager JavaScript
Make it faster, prettier, less wrong, add UI effects, use jQuery UI Dialog,
Abstract tree view stuff away into jQuery.dw_tree
Diffstat (limited to 'lib/scripts/events.js')
-rw-r--r-- | lib/scripts/events.js | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/lib/scripts/events.js b/lib/scripts/events.js index 95564be39..796d3cc4c 100644 --- a/lib/scripts/events.js +++ b/lib/scripts/events.js @@ -32,9 +32,19 @@ function addInitEvent(func) { * @param mixed - any arguments to be passed to the function * @returns functionref */ -function bind (fnc) { - var args = Array.prototype.slice.call(arguments, 1); - return function() { - return fnc.apply(this, args); +function bind(fnc/*, ... */) { + var Aps = Array.prototype.slice; + // Store passed arguments in this scope. + // Since arguments is no Array nor has an own slice method, + // we have to apply the slice method from the Array.prototype + var static_args = Aps.call(arguments, 1); + + // Return a function evaluating the passed function with the + // given args and optional arguments passed on invocation. + return function (/* ... */) { + // Same here, but we use Array.prototype.slice solely for + // converting arguments to an Array. + return fnc.apply(this, + static_args.concat(Aps.call(arguments, 0))); }; } |