Add DatasetService to read and manage `config.json`.

The DatasetService is intended to load and manage any number of
configured data sources as specified in `config.json`. It also
enforces use of Angular's built-in content caching to improve
loading times of already-accessed datasets.

Change-Id: Ibb161a171d6375bf024bf8c0ab051c3f1a97f760
This commit is contained in:
Tim Buckley 2015-10-05 14:45:01 -06:00
parent 8be1f587d7
commit affe069b0f
1 changed files with 56 additions and 0 deletions

View File

@ -0,0 +1,56 @@
'use strict';
var servicesModule = require('./_index.js');
/**
* @ngInject
*/
function DatasetService($q, $http) {
var service = {};
service.list = function() {
return $http({
cache: true,
url: 'data/config.json',
method: 'GET'
});
};
service.raw = function(dataset) {
return $http({
cache: true,
url: dataset.raw,
method: 'GET'
});
};
service.details = function(dataset) {
return $http({
cache: true,
url: dataset.details,
method: 'GET'
});
};
service.tree = function(dataset) {
return $http({
cache: true,
url: dataset.tree,
method: 'GET'
});
};
service.dstat = function(dataset) {
return $http({
cache: true,
url: dataset.dstat,
method: 'GET'
});
};
return service;
}
servicesModule.service('datasetService', DatasetService);