UNPKG

ucsc-xena-client

Version:

UCSC Xena Client. Functional genomics visualizations.

69 lines (55 loc) 1.71 kB
'use strict'; 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;