Commit 0d080e7df80534415bc43b750f1aad3675d7a7be

Authored by lucvic
1 parent 53621764

CKAN and OPENDATASOFT supportĀ£

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;