Commit b9c8df012e34b42771d3d4902b2cf933f1809111
1 parent
349fcb7c
client refactoring
Showing
3 changed files
with
28 additions
and
28 deletions
js/deepClient.js
| @@ -14,19 +14,7 @@ var ComponentService = | @@ -14,19 +14,7 @@ var ComponentService = | ||
| 14 | if(request.readyState == 4){ | 14 | if(request.readyState == 4){ |
| 15 | try { | 15 | try { |
| 16 | var resp = JSON.parse(request.response); | 16 | var resp = JSON.parse(request.response); |
| 17 | - var link = '<link rel="import" href="' + resp.bridge_link + resp.component_link + '">'; | ||
| 18 | - //Build jsonPath query string | ||
| 19 | - var query = ""; | ||
| 20 | - for(var i=0;i < params.fields.length;i++){ | ||
| 21 | - var query_elements = params.fields[i].split(','); | ||
| 22 | - query += "$"; | ||
| 23 | - for(var j=0; j < query_elements.length - 1;j++){ | ||
| 24 | - query += "['" + query_elements[j] + "']"; | ||
| 25 | - } | ||
| 26 | - query += "[*]" + "['" + query_elements[query_elements.length - 1] + "']"; | ||
| 27 | - query += "###"; | ||
| 28 | - } | ||
| 29 | - query = query.substring(0, query.length - 3); | 17 | + var link = '<link rel="import" href="' + resp.bridge_link + resp.component_link +'">'; |
| 30 | 18 | ||
| 31 | //Build datalet injecting html code | 19 | //Build datalet injecting html code |
| 32 | var datalet_code = link + '<' + params.component; | 20 | var datalet_code = link + '<' + params.component; |
| @@ -34,7 +22,7 @@ var ComponentService = | @@ -34,7 +22,7 @@ var ComponentService = | ||
| 34 | for(var i = 0; i < keys.length; i++){ | 22 | for(var i = 0; i < keys.length; i++){ |
| 35 | datalet_code += ' ' + keys[i] + '="' + params.params[keys[i]] +'"'; | 23 | datalet_code += ' ' + keys[i] + '="' + params.params[keys[i]] +'"'; |
| 36 | } | 24 | } |
| 37 | - datalet_code += ' query="' + query + '"></' + params.component + '>'; | 25 | + datalet_code += " fields='" + JSON.stringify(params.fields) + "'></" + params.component + ">"; |
| 38 | 26 | ||
| 39 | (params.placeHolder.constructor == HTMLElement || params.placeHolder.constructor == HTMLDivElement) ? $(params.placeHolder).html(datalet_code) :/*Injection from Web Component*/ | 27 | (params.placeHolder.constructor == HTMLElement || params.placeHolder.constructor == HTMLDivElement) ? $(params.placeHolder).html(datalet_code) :/*Injection from Web Component*/ |
| 40 | $("#" + params.placeHolder).html(datalet_code);/*Injection from a static web page*/ | 28 | $("#" + params.placeHolder).html(datalet_code);/*Injection from a static web page*/ |
js/deepClient_old.js
| @@ -4,28 +4,40 @@ | @@ -4,28 +4,40 @@ | ||
| 4 | 4 | ||
| 5 | var ComponentService = | 5 | var ComponentService = |
| 6 | { | 6 | { |
| 7 | - deep_url:"", | ||
| 8 | - data:"", | ||
| 9 | - query:"", | ||
| 10 | - component:"", | ||
| 11 | - link:"", | 7 | + deep_url:"", |
| 8 | + | ||
| 12 | getComponent: function(params){//params = {component, data, fields, placeHolder} | 9 | getComponent: function(params){//params = {component, data, fields, placeHolder} |
| 13 | var request = this.getXMLHttpRequest(); | 10 | var request = this.getXMLHttpRequest(); |
| 14 | - this.component = params.component; | ||
| 15 | - this.data = params.data; | 11 | + var component = params.component; |
| 16 | 12 | ||
| 17 | request.onreadystatechange = function(){ | 13 | request.onreadystatechange = function(){ |
| 18 | if(request.readyState == 4){ | 14 | if(request.readyState == 4){ |
| 19 | try { | 15 | try { |
| 20 | var resp = JSON.parse(request.response); | 16 | var resp = JSON.parse(request.response); |
| 21 | - this.link = '<link rel="import" href="' + resp.bridge_link + resp.component_link + '">'; | ||
| 22 | - this.query = ""; | ||
| 23 | - for(i=0;i < params.fields.length;i++){ | ||
| 24 | - this.query += "$.result.records.." + params.fields[i] + " "; | 17 | + var link = '<link rel="import" href="' + resp.bridge_link + resp.component_link +'">'; |
| 18 | + //Build jsonPath query string | ||
| 19 | + var query = ""; | ||
| 20 | + for(var i=0;i < params.fields.length;i++){ | ||
| 21 | + var query_elements = params.fields[i].split(','); | ||
| 22 | + query += "$"; | ||
| 23 | + for(var j=0; j < query_elements.length - 1;j++){ | ||
| 24 | + query += "['" + query_elements[j] + "']"; | ||
| 25 | + } | ||
| 26 | + query += "[*]" + "['" + query_elements[query_elements.length - 1] + "']"; | ||
| 27 | + query += "###"; | ||
| 28 | + } | ||
| 29 | + query = query.substring(0, query.length - 3); | ||
| 30 | + | ||
| 31 | + //Build datalet injecting html code | ||
| 32 | + var datalet_code = link + '<' + params.component; | ||
| 33 | + var keys = Object.keys(params.params); | ||
| 34 | + for(var i = 0; i < keys.length; i++){ | ||
| 35 | + datalet_code += ' ' + keys[i] + '="' + params.params[keys[i]] +'"'; | ||
| 25 | } | 36 | } |
| 26 | - this.query = this.query.substring(0, this.query.length - 1); | 37 | + datalet_code += ' query="' + query + '"></' + params.component + '>'; |
| 27 | 38 | ||
| 28 | - $('#' + params.placeHolder).append(this.link + '<' + params.component + ' data-url="' + params.data +'" query="' + this.query +'"></' + params.component + '>'); | 39 | + (params.placeHolder.constructor == HTMLElement || params.placeHolder.constructor == HTMLDivElement) ? $(params.placeHolder).html(datalet_code) :/*Injection from Web Component*/ |
| 40 | + $("#" + params.placeHolder).html(datalet_code);/*Injection from a static web page*/ | ||
| 29 | 41 | ||
| 30 | } catch (e){ | 42 | } catch (e){ |
| 31 | var resp = { | 43 | var resp = { |
| @@ -35,7 +47,7 @@ var ComponentService = | @@ -35,7 +47,7 @@ var ComponentService = | ||
| 35 | } | 47 | } |
| 36 | }}; | 48 | }}; |
| 37 | 49 | ||
| 38 | - request.open('GET', this.deep_url + this.component); | 50 | + request.open('GET', this.deep_url + component); |
| 39 | request.send(); | 51 | request.send(); |
| 40 | }, | 52 | }, |
| 41 | 53 |
js/jquery-2.1.0.min.js
100644 → 100755