renamed plugin.js into metadata.js, rewritten
authorThierry Parmentelat <thierry.parmentelat@inria.fr>
Tue, 19 Mar 2013 15:41:01 +0000 (16:41 +0100)
committerThierry Parmentelat <thierry.parmentelat@inria.fr>
Tue, 19 Mar 2013 15:41:01 +0000 (16:41 +0100)
README
manifold/js/manifold-query.js
plugins/lists/simplelist.py
plugins/querycode/querycode.py
plugins/quickfilter/quickfilter.js
plugins/quickfilter/quickfilter.py
unfold/js/metadata.js [new file with mode: 0644]
unfold/js/plugin.js [deleted file]
unfold/page.py

diff --git a/README b/README
index 724fa20..a5d09f1 100644 (file)
--- a/README
+++ b/README
@@ -104,7 +104,7 @@ I've tried to keep track of the version I picked and to have an easy upgrade pat
   . urls.py
 
 * manifold:
-  the code for dealing with queries, sending them to the backend, and offering the /manifold/api/ proxy URL
+  the code for dealing with queries, sending them to the backend, and offering the /manifold/proxy/ URL
 
 * unfold:
   the code for building / rendering plugins 
index 09ba089..4e146ad 100644 (file)
@@ -1,32 +1,22 @@
 function ManifoldQuery(action, method, timestamp, filters, params, fields, unique, query_uuid, aq, sq) {  
-
     // get, update, delete, create
     var action;
-    
-    // slice, user, network... : Metadata
+    // slice, user, network... 
     var method; 
-    
     // timestamp, now, latest(cache) : date of the results queried    
     var timestamp;
-    
     // key(field),op(=<>),value
     var filters;
-
     // todo
     var params;
-    
-    // hostname, ip,... : Metadata
+    // hostname, ip,... 
     var fields;
-    
     // 0,1 : list of element of an object or single object  
     var unique;
-    
     // query_uuid : unique identifier of a query
     var query_uuid;
-    
     // Query : root query (no sub-Query)
     var analyzed_query;
-    
     // {} : Assoc Table of sub-queries ["resources"->subQ1, "users"->subQ2]
     var subqueries;
 
index 75c3596..b5a4faf 100644 (file)
@@ -21,7 +21,7 @@ class SimpleList (Plugin) :
 
     def requirements (self):
         reqs = {
-            'js_files' : [ "js/simplelist.js", "js/plugin.js",
+            'js_files' : [ "js/simplelist.js", 
                            "js/manifold.js", "js/manifold-query.js", 
                            "js/spin.presets.js", "js/spin.min.js", "js/jquery.spin.js", 
                            "js/myslice.js",
index 4a6e6b2..eaa231d 100644 (file)
@@ -13,7 +13,7 @@ class QueryCode (Plugin):
 
     def requirements (self):
         return { 
-            'js_files' : [ "js/querycode.js", "js/plugin.js", 
+            'js_files' : [ "js/querycode.js", 
                            "js/manifold.js", "js/manifold-query.js",
                            "js/spin.presets.js", "js/spin.min.js", "js/jquery.spin.js", 
                            
index f32c0c9..686b13c 100644 (file)
@@ -6,7 +6,7 @@
  * Copyright (c) 2012 UPMC Sorbonne Universite - INRIA
  * License: GPLv3
  */
-
+// global metadata from js/metadata.js
 ( function($){
 
     var debug=false;
                 var removed_filters = tmp.removed;
                 $.each(removed_filters, function(i,filter){
                     console.log(filter[0]);
-                    allowedValues=getMetadata_property('resource', filter[0], 'allowed_values');
+                    allowedValues=metadata.property('resource', filter[0], 'allowed_values');
                     if (allowedValues!='' && allowedValues!="N/A") {
                        //if(MANIFOLD_METADATA[filter[0]]['allowed_values']!=''){
                         $('#QuickFilter_select_field').val("#");
                     });            
                 }
             }else{
-                headers=getMetadata_fields('resource');
+                headers=metadata.fields('resource');
                 $.each (headers, function (key, value) {
                     $('#QuickFilter_select_field').append("<option>"+value['column']+"</option>");
                 });
             }else{
                 $('#QuickFilter_select_value_container').show();
                 $.publish('debug','field selected = '+field);
-                valType=getMetadata_property('resource', field, 'value_type');
+                valType=metadata.property('resource', field, 'value_type');
                 if (valType == 'string' || valType=="N/A") {
                     // If this key has predefined values, build a select with each allowed values as options
-                    allowedValues=getMetadata_property('resource', field, 'allowed_values');
+                    allowedValues=metadata.property('resource', field, 'allowed_values');
                     if (allowedValues!='' && allowedValues!="N/A") {
                         $('#QuickFilter_string_value_div').hide();
                         $('#QuickFilter_int_value_div').hide();
index cd6ff6e..9ac95ae 100644 (file)
@@ -10,9 +10,11 @@ class QuickFilter (Plugin) :
     def template_file (self): return "quickfilter.html"
 
     def requirements (self):
-        return { 'js_files' : "js/quickfilter.js",
-                 'css_files': "css/quickfilter.css",
-                 }
+        return { 
+            'js_files' : [ "js/quickfilter.js", "js/metadata.js",
+                           ],
+            'css_files': "css/quickfilter.css",
+            }
 
     def json_settings_list (self):
         return ['criterias','plugin_uuid']
diff --git a/unfold/js/metadata.js b/unfold/js/metadata.js
new file mode 100644 (file)
index 0000000..57940b1
--- /dev/null
@@ -0,0 +1,53 @@
+// MANIFOLD_METADATA was formerly known as all_headers
+var metadata = {
+    get : function () {
+       return MANIFOLD_METADATA;
+    },
+    // returns all fields of a given method
+    fields : function (method) {
+       var result=new Array();
+       jQuery.each(MANIFOLD_METADATA, function(m,obj){
+            if(m==method){
+               jQuery.each(obj['column'], function(i,f){
+                    result.push(f);
+               });
+               return false;
+            }
+       });
+       result.sort(sort_by('column', false, function(a){return a.toUpperCase()}));
+       //result=jQuery(result).sort("column", "asc");
+       return result;
+    },
+    // returns all properties of a given field
+    field : function (method, field) {
+       var result=new Array();
+       jQuery.each(MANIFOLD_METADATA, function(m,obj){
+            if(m==method){
+               jQuery.each(obj['column'], function(i,f){
+                    if(f['column']==field){
+                       result.push(f);
+                       return false;
+                    }
+               });
+               return false;
+            }
+       });
+       return result[0];
+    },
+    // returns the value of a property from a field within a method (type of object : resource,node,lease,slice...)
+    property : function (method, field, property) {
+       var result=null;
+       jQuery.each(MANIFOLD_METADATA, function(m,obj){
+            if(m==method){
+               jQuery.each(obj['column'], function(i,f){
+                    if(f['column']==field){
+                       result=f[property];
+                       return false;
+                    }
+               });
+               return false;
+            }
+       });
+       return result;
+    },
+} // metadata object
diff --git a/unfold/js/plugin.js b/unfold/js/plugin.js
deleted file mode 100644 (file)
index 76683d1..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-function getMetadata(){
-    return MANIFOLD_METADATA;
-}
-// returns all fields of a given method
-function getMetadata_fields(method){
-    var result=new Array();
-    jQuery.each(MANIFOLD_METADATA, function(m,obj){
-        if(m==method){
-            jQuery.each(obj['column'], function(i,f){
-                result.push(f);
-            });
-            return false;
-        }
-    });
-    result.sort(sort_by('column', false, function(a){return a.toUpperCase()}));
-    //result=jQuery(result).sort("column", "asc");
-    return result;
-}
-// returns all properties of a given field
-function getMetadata_field(method, field){
-    var result=new Array();
-    jQuery.each(MANIFOLD_METADATA, function(m,obj){
-        if(m==method){
-            jQuery.each(obj['column'], function(i,f){
-                if(f['column']==field){
-                    result.push(f);
-                    return false;
-                }
-            });
-            return false;
-        }
-    });
-    return result[0];
-}
-// returns the value of a property from a field within a method (type of object : resource,node,lease,slice...)
-function getMetadata_property(method, field, property){
-    var result=null;
-    jQuery.each(MANIFOLD_METADATA, function(m,obj){
-        if(m==method){
-            jQuery.each(obj['column'], function(i,f){
-                if(f['column']==field){
-                    result=f[property];
-                    return false;
-                }
-            });
-            return false;
-        }
-    });
-    return result;
-}
index 157e004..9c1c412 100644 (file)
@@ -98,14 +98,14 @@ class Page:
 
             request.session['metadata'] = self._metadata
 
-#        javascript = "all_headers=" + json.dumps(self._metadata) + ";"
-#        self.add_js_chunks(javascript)
+        javascript = "var MANIFOLD_METADATA =" + json.dumps(self._metadata) + ";"
+        self.add_js_chunks(javascript)
 
     def metadata_get_fields(self, method):
         return self._metadata[method]['column'].sort()
         
     def expose_js_manifold_config (self):
-        self.add_js_chunks(Config.manifold_js_export()+"\n")
+        self.add_js_chunks(Config.manifold_js_export())
 
     #################### requirements/prelude management
     # just forward to self.prelude - see decorator above