ucsc-xena-client
Version:
UCSC Xena Client. Functional genomics visualizations.
29 lines (25 loc) • 867 B
JavaScript
var Rx = require('./rx');
var addEventListenerObs = Rx.Observable.bindCallback(window.addEventListener);
module.exports = {
hasInlineState: function hasInlineState() {
return location.search.match(/^\?inline/) && window.opener;
},
resetInlineStateLocation: function resetInlineStateLocation() {
return history.replaceState({}, 'UCSC Xena', location.pathname + location.search.replace(/\?inline/, ''));
},
parseInlineState: function parseInlineState(message) {
return JSON.parse(message);
},
fetchInlineState: function fetchInlineState() {
var obs = addEventListenerObs('message')
// .filter(({origin}) =>
// origin.match(/^https?:\/\/(xena|genome-cancer)\.ucsc\.edu/))
.map(function (_ref) {
var data = _ref.data;
return data;
});
window.opener.postMessage({ type: 'xenaRequestState' }, '*');
return obs;
}
};
;