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,20 +130,6 @@ Example : | ||
130 | BaseDatalet = Polymer({ | 130 | BaseDatalet = Polymer({ |
131 | is: 'base-datalet', | 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 | hideFooter: function() { | 133 | hideFooter: function() { |
148 | this.$.base_datalet_container.innerHTML = ""; | 134 | this.$.base_datalet_container.innerHTML = ""; |
149 | this.$.base_datalet_container.style.border = 0; | 135 | this.$.base_datalet_container.style.border = 0; |
@@ -167,12 +153,8 @@ Example : | @@ -167,12 +153,8 @@ Example : | ||
167 | }, | 153 | }, |
168 | 154 | ||
169 | ready: function(){ | 155 | ready: function(){ |
170 | - | ||
171 | if(this.dataUrl != undefined) { | 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 | var urlSource = this.dataUrl.split("/")[0] + "//" + this.dataUrl.split("/")[2]; | 158 | var urlSource = this.dataUrl.split("/")[0] + "//" + this.dataUrl.split("/")[2]; |
177 | this.$.base_datalet_source.innerHTML = urlSource; | 159 | this.$.base_datalet_source.innerHTML = urlSource; |
178 | this.$.base_datalet_source.setAttribute("href", urlSource); | 160 | this.$.base_datalet_source.setAttribute("href", urlSource); |
@@ -181,101 +163,29 @@ Example : | @@ -181,101 +163,29 @@ Example : | ||
181 | //OpenDataSoft check | 163 | //OpenDataSoft check |
182 | if(this.dataUrl.indexOf("/records/") > -1 ) | 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 | * Set the domain url to show in the footer | 184 | * Set the domain url to show in the footer |
217 | */ | 185 | */ |
218 | setDomain: function(url){ | 186 | setDomain: function(url){ |
219 | this.$.domain.textContent = url; | 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 | </script> | 190 | </script> |
281 | </dom-module> | 191 | </dom-module> |
282 | \ No newline at end of file | 192 | \ No newline at end of file |