Commit 2b65b828b416b8217e934bad85e1c71d28e32b40
1 parent
ca817ac6
base datalet fix
Showing
1 changed file
with
13 additions
and
103 deletions
datalets/base-datalet/base-datalet.html
| ... | ... | @@ -130,20 +130,6 @@ Example : |
| 130 | 130 | BaseDatalet = Polymer({ |
| 131 | 131 | is: 'base-datalet', |
| 132 | 132 | |
| 133 | - objectDatalet: { | |
| 134 | - /** | |
| 135 | - * It contains the json data from async xhr call returned from core-ajax core component | |
| 136 | - * | |
| 137 | - * @attribute json_resultDatalet | |
| 138 | - * @type object | |
| 139 | - * @default 'null'. | |
| 140 | - */ | |
| 141 | - json_resultDatalet: { | |
| 142 | - type: Object, | |
| 143 | - value: {} | |
| 144 | - } | |
| 145 | - }, | |
| 146 | - | |
| 147 | 133 | hideFooter: function() { |
| 148 | 134 | this.$.base_datalet_container.innerHTML = ""; |
| 149 | 135 | this.$.base_datalet_container.style.border = 0; |
| ... | ... | @@ -167,12 +153,8 @@ Example : |
| 167 | 153 | }, |
| 168 | 154 | |
| 169 | 155 | ready: function(){ |
| 170 | - | |
| 171 | 156 | if(this.dataUrl != undefined) { |
| 172 | 157 | |
| 173 | - //cKan organized with or not catalog | |
| 174 | - var queryInitial = this.dataUrl.substring(0, this.dataUrl.indexOf("api")); //SOURCE | |
| 175 | - | |
| 176 | 158 | var urlSource = this.dataUrl.split("/")[0] + "//" + this.dataUrl.split("/")[2]; |
| 177 | 159 | this.$.base_datalet_source.innerHTML = urlSource; |
| 178 | 160 | this.$.base_datalet_source.setAttribute("href", urlSource); |
| ... | ... | @@ -181,101 +163,29 @@ Example : |
| 181 | 163 | //OpenDataSoft check |
| 182 | 164 | if(this.dataUrl.indexOf("/records/") > -1 ) |
| 183 | 165 | { |
| 184 | - //Resourceid of a datalet | |
| 185 | - var query = this.dataUrl.substring(this.dataUrl.indexOf("?"), this.dataUrl.length); | |
| 186 | - var params = this.decomponeQueryString(query); | |
| 187 | - var resultIssyIdDatalet = params["dataset"]; | |
| 188 | - var resultIssyAPI = "explore/dataset/"; | |
| 189 | - var urlPageDatasetIssy = queryInitial + resultIssyAPI + resultIssyIdDatalet + "/"; | |
| 190 | - | |
| 191 | - this.$.base_datalet_link.setAttribute("href", urlPageDatasetIssy); | |
| 166 | + this.$.base_datalet_link.setAttribute("href", urlSource + "/explore/dataset/" + this.dataUrl.substring(this.dataUrl.indexOf("=")+1,this.dataUrl.indexOf("&"))); | |
| 192 | 167 | } |
| 193 | - else | |
| 168 | + // CKAN | |
| 169 | + else if(this.dataUrl.indexOf("datastore_search?resource_id") > -1 ) | |
| 194 | 170 | { |
| 195 | - //CKAN portal | |
| 196 | - var urlDatalet; | |
| 197 | - | |
| 198 | - var apiIdResource = "resource_show?id="; | |
| 199 | - | |
| 200 | - //Resourceid of a datalet | |
| 201 | - var query = this.dataUrl.substring(this.dataUrl.indexOf("?"), this.dataUrl.length); | |
| 202 | - var params = this.decomponeQueryString(query); | |
| 203 | - //CKAN | |
| 204 | - var resultIdDatalet = params["resource_id"]; | |
| 205 | - | |
| 206 | - //cKan organized with or not catalog | |
| 207 | - var queryFinal = this.dataUrl.substring(this.dataUrl.indexOf("api"), this.dataUrl.indexOf("datastore_search")); | |
| 208 | - | |
| 209 | - urlDatalet = queryInitial + queryFinal + apiIdResource + resultIdDatalet; | |
| 210 | - this.requestDataletData(urlDatalet); | |
| 171 | + var comp = this; | |
| 172 | + $.ajax({ | |
| 173 | + url: this.dataUrl.replace("datastore_search?resource_id", "resource_show?id"), | |
| 174 | + dataType: "json", | |
| 175 | + success: function(e){ | |
| 176 | + comp.$.base_datalet_link.setAttribute("href", urlSource + "/dataset/" + e.result.package_id + "/resource/" + e.result.id); | |
| 177 | + } | |
| 178 | + }); | |
| 211 | 179 | } |
| 212 | 180 | } |
| 213 | - | |
| 214 | 181 | }, |
| 182 | + | |
| 215 | 183 | /** |
| 216 | 184 | * Set the domain url to show in the footer |
| 217 | 185 | */ |
| 218 | 186 | setDomain: function(url){ |
| 219 | 187 | this.$.domain.textContent = url; |
| 220 | 188 | }, |
| 221 | - /** | |
| 222 | - * Get the (key, value) query string parameters | |
| 223 | - **/ | |
| 224 | - decomponeQueryString: function (querystring) { | |
| 225 | - // remove any preceding url and split | |
| 226 | - querystring = querystring.substring(querystring.indexOf('?')+1).split('&'); | |
| 227 | - var params = {}, pair, d = decodeURIComponent; | |
| 228 | - // march and parse | |
| 229 | - for (var i = querystring.length - 1; i >= 0; i--) { | |
| 230 | - pair = querystring[i].split('='); | |
| 231 | - params[d(pair[0])] = d(pair[1]); | |
| 232 | - } | |
| 233 | - return params; | |
| 234 | - }, | |
| 235 | - /** | |
| 236 | - * Make an AJAX call to the dataset URL to retrieve package_id | |
| 237 | - * | |
| 238 | - * @method urlDatalet | |
| 239 | - */ | |
| 240 | - requestDataletData: function(urlDatalet){ | |
| 241 | - var comp = this; | |
| 242 | - $.ajax({ | |
| 243 | - url: urlDatalet, //url con package | |
| 244 | - dataType: "json", | |
| 245 | - success: function(e){ | |
| 246 | - comp.handleDataletResponse(e); | |
| 247 | - } | |
| 248 | - }); | |
| 249 | - }, | |
| 250 | - /** | |
| 251 | - * Called when core-ajax component receive the json data from called url. | |
| 252 | - * | |
| 253 | - * @method handleResponse | |
| 254 | - */ | |
| 255 | - handleDataletResponse: function(e) { | |
| 256 | - this.objectDatalet.json_resultDatalet.value = e; | |
| 257 | - //packageId of a give datalet | |
| 258 | - packageIdDatalet = this.objectDatalet.json_resultDatalet.value.result.package_id; | |
| 259 | - resourceId = this.objectDatalet.json_resultDatalet.value.result.id; | |
| 260 | - | |
| 261 | - //url complete of download | |
| 262 | - urlDatasetDownload = this.objectDatalet.json_resultDatalet.value.result.url; | |
| 263 | - | |
| 264 | - if(this.dataUrl != undefined){ | |
| 265 | - //static url | |
| 266 | - lastStringResourceId = this.dataUrl.split("/")[5]; | |
| 267 | - resourceId = lastStringResourceId.split('=')[1]; | |
| 268 | - var urlDatalet = this.dataUrl.split("/")[0]+ "//" + this.dataUrl.split("/")[2] + "/dataset/" + packageIdDatalet +"/resource/" +resourceId; | |
| 269 | - | |
| 270 | - urlDatalet = urlDatasetDownload.replace(/\/download\/.*/, ''); | |
| 271 | - urlSource = this.dataUrl.split("/")[0] + "//" + this.dataUrl.split("/")[2]; | |
| 272 | - | |
| 273 | - this.$.base_datalet_link.setAttribute("href", urlDatalet); | |
| 274 | - } | |
| 275 | - }, | |
| 276 | - | |
| 277 | - | |
| 278 | - | |
| 279 | - }); | |
| 189 | + }); | |
| 280 | 190 | </script> |
| 281 | 191 | </dom-module> |
| 282 | 192 | \ No newline at end of file | ... | ... |