diff --git a/js/deepClient.js b/js/deepClient.js index 397c615..e56c8fc 100755 --- a/js/deepClient.js +++ b/js/deepClient.js @@ -14,19 +14,7 @@ var ComponentService = if(request.readyState == 4){ try { var resp = JSON.parse(request.response); - var link = ''; - //Build jsonPath query string - var query = ""; - for(var i=0;i < params.fields.length;i++){ - var query_elements = params.fields[i].split(','); - query += "$"; - for(var j=0; j < query_elements.length - 1;j++){ - query += "['" + query_elements[j] + "']"; - } - query += "[*]" + "['" + query_elements[query_elements.length - 1] + "']"; - query += "###"; - } - query = query.substring(0, query.length - 3); + var link = ''; //Build datalet injecting html code var datalet_code = link + '<' + params.component; @@ -34,7 +22,7 @@ var ComponentService = for(var i = 0; i < keys.length; i++){ datalet_code += ' ' + keys[i] + '="' + params.params[keys[i]] +'"'; } - datalet_code += ' query="' + query + '">'; + datalet_code += " fields='" + JSON.stringify(params.fields) + "'>"; (params.placeHolder.constructor == HTMLElement || params.placeHolder.constructor == HTMLDivElement) ? $(params.placeHolder).html(datalet_code) :/*Injection from Web Component*/ $("#" + params.placeHolder).html(datalet_code);/*Injection from a static web page*/ diff --git a/js/deepClient_old.js b/js/deepClient_old.js index d686ae5..e9e0038 100755 --- a/js/deepClient_old.js +++ b/js/deepClient_old.js @@ -4,28 +4,40 @@ var ComponentService = { - deep_url:"", - data:"", - query:"", - component:"", - link:"", + deep_url:"", + getComponent: function(params){//params = {component, data, fields, placeHolder} var request = this.getXMLHttpRequest(); - this.component = params.component; - this.data = params.data; + var component = params.component; request.onreadystatechange = function(){ if(request.readyState == 4){ try { var resp = JSON.parse(request.response); - this.link = ''; - this.query = ""; - for(i=0;i < params.fields.length;i++){ - this.query += "$.result.records.." + params.fields[i] + " "; + var link = ''; + //Build jsonPath query string + var query = ""; + for(var i=0;i < params.fields.length;i++){ + var query_elements = params.fields[i].split(','); + query += "$"; + for(var j=0; j < query_elements.length - 1;j++){ + query += "['" + query_elements[j] + "']"; + } + query += "[*]" + "['" + query_elements[query_elements.length - 1] + "']"; + query += "###"; + } + query = query.substring(0, query.length - 3); + + //Build datalet injecting html code + var datalet_code = link + '<' + params.component; + var keys = Object.keys(params.params); + for(var i = 0; i < keys.length; i++){ + datalet_code += ' ' + keys[i] + '="' + params.params[keys[i]] +'"'; } - this.query = this.query.substring(0, this.query.length - 1); + datalet_code += ' query="' + query + '">'; - $('#' + params.placeHolder).append(this.link + '<' + params.component + ' data-url="' + params.data +'" query="' + this.query +'">'); + (params.placeHolder.constructor == HTMLElement || params.placeHolder.constructor == HTMLDivElement) ? $(params.placeHolder).html(datalet_code) :/*Injection from Web Component*/ + $("#" + params.placeHolder).html(datalet_code);/*Injection from a static web page*/ } catch (e){ var resp = { @@ -35,7 +47,7 @@ var ComponentService = } }}; - request.open('GET', this.deep_url + this.component); + request.open('GET', this.deep_url + component); request.send(); }, diff --git a/js/jquery-2.1.0.min.js b/js/jquery-2.1.0.min.js old mode 100644 new mode 100755 index cbe6abe..cbe6abe --- a/js/jquery-2.1.0.min.js +++ b/js/jquery-2.1.0.min.js