ucsc-xena-client
Version:
UCSC Xena Client. Functional genomics visualizations.
69 lines (55 loc) • 1.71 kB
JavaScript
var _require = require('./underscore_ext'),
merge = _require.merge,
pick = _require.pick,
mapObject = _require.mapObject;
var _require2 = require('./bookmark'),
hasBookmark = _require2.hasBookmark,
resetBookmarkLocation = _require2.resetBookmarkLocation,
getBookmark = _require2.getBookmark;
var _require3 = require('./inlineState'),
hasInlineState = _require3.hasInlineState,
resetInlineStateLocation = _require3.resetInlineStateLocation;
var _require4 = require('./hubParams'),
getHubParams = _require4.hubParams;
var _require5 = require('./util'),
allParameters = _require5.allParameters;
// This is all really wonky & needs refactor.
function bookmarkParam() {
var ret = {};
if (hasBookmark()) {
ret = { 'bookmark': getBookmark() };
resetBookmarkLocation();
}
return ret;
}
function inlineStateParam() {
var ret = {};
if (hasInlineState()) {
ret = { 'inlineState': true };
resetInlineStateLocation();
}
return ret;
}
// XXX Deprecating these, in favor of hubParams2.
function hubParams() {
var hubs = getHubParams();
return hubs.length ? { hubs: hubs } : {};
}
var hubParams2 = pick(allParameters(), 'addHub', 'removeHub');
function datasetParams() {
// only take the first of these
return mapObject(pick(allParameters(), 'cohort', 'dataset', 'host', 'allIdentifiers', 'markdown'), function (l) {
return l[0];
});
}
function manifest() {
// only take the first of these
return mapObject(pick(allParameters(), 'manifest'), function (l) {
return l[0];
});
}
function getParams() {
return merge(hubParams2, bookmarkParam(), inlineStateParam(), hubParams(), datasetParams(), manifest());
}
module.exports = getParams;
;