ucsc-xena-client
Version:
UCSC Xena Client. Functional genomics visualizations.
65 lines (46 loc) • 1.9 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _ApplicationContainer = require('./ApplicationContainer');
var _ApplicationContainer2 = _interopRequireDefault(_ApplicationContainer);
var _hubPage = require('../hubPage');
var _hubPage2 = _interopRequireDefault(_hubPage);
var _Datapages = require('../Datapages');
var _Datapages2 = _interopRequireDefault(_Datapages);
var _TranscriptPage = require('../transcript_views/TranscriptPage');
var _TranscriptPage2 = _interopRequireDefault(_TranscriptPage);
var _reactHotLoader = require('react-hot-loader');
var _reactToolbox = require('react-toolbox');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// react hot loader messes up class checks in react-toolbox. Override
// the class checker in dev.
function defaultChecker(classType, reactElement) {
if (process.env.NODE_ENV !== 'production') {
// https://github.com/gaearon/react-hot-loader/blob/v3.0.0-beta.7/docs/Known%20Limitations.md#checking-element-types
classType = _react2.default.createElement(classType).type; // eslint-disable-line no-param-reassign
}
return reactElement && reactElement.type === classType;
}
(0, _reactToolbox.overrideComponentTypeChecker)(defaultChecker);
var pages = {
'hub': _hubPage2.default,
'heatmap': _ApplicationContainer2.default,
'datapages': _Datapages2.default,
'transcripts': _TranscriptPage2.default
};
var notFound = function notFound() {
return _react2.default.createElement(
'p',
null,
'Oops... can\'t find this page'
);
};
var PageContainer = function PageContainer(props) {
var page = props.state.page;
var Page = pages[page] || notFound;
return _react2.default.createElement(Page, props);
};
exports.default = (0, _reactHotLoader.hot)(module)(PageContainer);
;