. 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
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;
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",
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",
* 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();
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']
--- /dev/null
+// 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
+++ /dev/null
-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;
-}
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