Commit 0d080e7df80534415bc43b750f1aad3675d7a7be
1 parent
53621764
CKAN and OPENDATASOFT support£
Showing
1 changed file
with
22 additions
and
2 deletions
datalets/datasetexplorer-datalet/js/buildtreemap.js
| @@ -177,9 +177,29 @@ function build(root, place_holder, select_listener) { | @@ -177,9 +177,29 @@ function build(root, place_holder, select_listener) { | ||
| 177 | } | 177 | } |
| 178 | 178 | ||
| 179 | if (!d._children[0]._children) { | 179 | if (!d._children[0]._children) { |
| 180 | - //grandparent.dispatchEvent(new CustomEvent('select', { detail: d._children[0].name })); | ||
| 181 | if (select_listener) { | 180 | if (select_listener) { |
| 182 | - select_listener(d._children[0].name); | 181 | + var url = d._children[0].name; |
| 182 | + | ||
| 183 | + // Check if CKAN | ||
| 184 | + var strDatasetPos = url.indexOf('/dataset/'); | ||
| 185 | + var strResourcePos = (strDatasetPos >= 0) ? url.indexOf('/resource/') : -1; | ||
| 186 | + if (strDatasetPos >= 0 && strResourcePos > strDatasetPos) { | ||
| 187 | + var urlSegment1 = url.substring(0, strDatasetPos); | ||
| 188 | + var urlResourceEnd = url.indexOf('/', strResourcePos + 10); | ||
| 189 | + var resourceId = url.substring(strResourcePos + 10, urlResourceEnd); | ||
| 190 | + url = urlSegment1 + "/api/action/datastore_search?resourceid=" + resourceId; | ||
| 191 | + } | ||
| 192 | + | ||
| 193 | + // Check if OPENDATASOFT | ||
| 194 | + var strExploreDatasetPos = url.indexOf('/explore/dataset/'); | ||
| 195 | + if (strExploreDatasetPos >= 0) { | ||
| 196 | + var urlSegment1 = url.substring(0, strExploreDatasetPos); | ||
| 197 | + var datasetEnd = url.indexOf(strExploreDatasetPos + 17, '/'); | ||
| 198 | + var datasetId = url.substring(strExploreDatasetPos + 17, datasetEnd >= 0 ? datasetEnd : url.length); | ||
| 199 | + url = urlSegment1 + '/api/records/1.0/search?dataset=' + datasetId; | ||
| 200 | + } | ||
| 201 | + | ||
| 202 | + select_listener(url); | ||
| 183 | } | 203 | } |
| 184 | 204 | ||
| 185 | var dataurl = d._children[0].name; | 205 | var dataurl = d._children[0].name; |