kivi.js: Funktion zum Auffinden von Funktionen über ihren Namen
authorMoritz Bunkus <m.bunkus@linet-services.de>
Wed, 31 Jul 2013 10:25:08 +0000 (12:25 +0200)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Wed, 31 Jul 2013 10:41:11 +0000 (12:41 +0200)
Funktioniert sowohl mit globalen Funktionen als auch mit solchen in
Namensräumen (Objekten):

var func = kivi.get_function_by_name("kivi.t8");

js/kivi.js

index ea892f5..5901c89 100644 (file)
@@ -37,6 +37,17 @@ namespace("kivi", function(ns) {
         kivi.PartPicker($(elt));
       });
   };
+
+  // Return a function object by its name (a string). Works both with
+  // global functions (e.g. "check_right_date_format") and those in
+  // namespaces (e.g. "kivi.t8").
+  // Returns null if the object is not found.
+  ns.get_function_by_name = function(name) {
+    var parts = name.match("(.+)\\.([^\\.]+)$");
+    if (!parts)
+      return window[name];
+    return namespace(parts[1])[ parts[2] ];
+  };
 });
 
 kivi = namespace('kivi');