]> source.dussan.org Git - nextcloud-server.git/commitdiff
add OC.get and OC.set to get/set variables by name in javascript
authorRobin Appelman <icewind@owncloud.com>
Wed, 29 Aug 2012 19:52:42 +0000 (21:52 +0200)
committerRobin Appelman <icewind@owncloud.com>
Thu, 30 Aug 2012 01:02:29 +0000 (03:02 +0200)
core/js/js.js

index c38eebbff29fa92dac1112395b19f614e5db1d28..0a7c84f61dab6222870f35b3cb055a44d844c515 100644 (file)
@@ -587,3 +587,40 @@ function formatDate(date){
        t('files','July'), t('files','August'), t('files','September'), t('files','October'), t('files','November'), t('files','December') ];
        return monthNames[date.getMonth()]+' '+date.getDate()+', '+date.getFullYear()+', '+((date.getHours()<10)?'0':'')+date.getHours()+':'+((date.getMinutes()<10)?'0':'')+date.getMinutes();
 }
+
+/**
+ * get a variable by name
+ * @param string name
+ */
+OC.get=function(name) {
+       var namespaces = name.split(".");
+       var tail = namespaces.pop();
+       var context=window;
+       
+       for(var i = 0; i < namespaces.length; i++) {
+               context = context[namespaces[i]];
+               if(!context){
+                       return false;
+               }
+       }
+       return context[tail];
+}
+
+/**
+ * set a variable by name
+ * @param string name
+ * @param mixed value
+ */
+OC.set=function(name, value) {
+       var namespaces = name.split(".");
+       var tail = namespaces.pop();
+       var context=window;
+       
+       for(var i = 0; i < namespaces.length; i++) {
+               if(!context[namespaces[i]]){
+                       context[namespaces[i]]={};
+               }
+               context = context[namespaces[i]];
+       }
+       context[tail]=value;
+}