ucsc-xena-client
Version:
UCSC Xena Client. Functional genomics visualizations.
110 lines (74 loc) • 3.89 kB
JavaScript
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
//var Application = require('./containers/ApplicationContainer');
//import tiesController from './controllers/ties';
require('./base');
var _underscore_ext = require('./underscore_ext');
var _underscore_ext2 = _interopRequireDefault(_underscore_ext);
require('./plotDenseMatrix');
require('./plotMutationVector');
require('./plotSegmented');
require('./plotSamples');
require('./refGeneExons');
require('./ChromPosition');
require('./models/denseMatrix');
require('./models/mutationVector');
require('./models/segmented');
require('bootstrap/dist/css/bootstrap.css');
var _ui = require('./controllers/ui');
var _ui2 = _interopRequireDefault(_ui);
var _server = require('./controllers/server');
var _server2 = _interopRequireDefault(_server);
var _hub = require('./controllers/hub');
var _hub2 = _interopRequireDefault(_hub);
var _transcripts = require('./controllers/transcripts');
var _transcripts2 = _interopRequireDefault(_transcripts);
var _PageContainer = require('./containers/PageContainer');
var _PageContainer2 = _interopRequireDefault(_PageContainer);
var _appSelector = require('./appSelector');
var _appSelector2 = _interopRequireDefault(_appSelector);
var _utils = require('./controllers/utils');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var connector = require('./connector');
var createStore = require('./store');
// Hot load controllers. Note that hot loading won't work if one of the methods
// is captured in a closure or variable which we can't access. References to
// the controller methods should only happen by dereferencing the module. That's
// currently true of the controllers/compose method, so we are able to hot
// load by overwritting the methods, here. However it's not true of devtools.
// If we had a single controller (i.e. no call to compose), passing a single
// controller to devtools would defeat the hot loading. Sol'n would be to
// update devtools to always dereference the controller, rather than keeping
// methods in closures.
// Rx streams in components are also a problem.
if (module.hot) {
module.hot.accept('./controllers/ui', function () {
var newModule = require('./controllers/ui');
_underscore_ext2.default.extend(_ui2.default, newModule);
});
module.hot.accept('./controllers/server', function () {
var newModule = require('./controllers/server');
_underscore_ext2.default.extend(_server2.default, newModule);
});
module.hot.accept('./controllers/hub', function () {
var newModule = require('./controllers/hub');
_underscore_ext2.default.extend(_hub2.default, newModule);
});
module.hot.accept('./controllers/transcripts', function () {
var newModule = require('./controllers/transcripts');
_underscore_ext2.default.extend(_transcripts2.default /*, tiesController*/, newModule);
});
// module.hot.accept('./controllers/ties', () => {
// let newModule = require('./controllers/ties');
// _.extend(tiesController, newModule);
// });
// XXX Note that hot-loading these won't cause a re-render.
module.hot.accept('./models/mutationVector', function () {});
module.hot.accept('./models/denseMatrix', function () {});
module.hot.accept('./models/segmented', function () {});
}
var store = createStore();
var main = window.document.getElementById('main');
// XXX reducer
var controller = (0, _utils.compose)(_server2.default, _ui2.default, _hub2.default, _transcripts2.default);
connector(_extends({}, store, { controller: controller, main: main, selector: _appSelector2.default, Page: _PageContainer2.default, persist: true, history: false }));
;