Load all components* through a central broker so we can overrride them with different ones
* only one place actually uses it currently
This commit is contained in:
parent
acaff68748
commit
c9a546b73b
|
@ -0,0 +1,40 @@
|
||||||
|
var components = {};
|
||||||
|
|
||||||
|
function load(name) {
|
||||||
|
var types = [
|
||||||
|
'atoms',
|
||||||
|
'molecules',
|
||||||
|
'organisms',
|
||||||
|
'templates',
|
||||||
|
'pages'
|
||||||
|
];
|
||||||
|
var ex = null;
|
||||||
|
for (var i = 0; i < types.length; ++i) {
|
||||||
|
try {
|
||||||
|
var module = require("./"+types[i]+"/"+name);
|
||||||
|
components[name] = module;
|
||||||
|
return module;
|
||||||
|
} catch (err) {
|
||||||
|
ex = err;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
throw ex;
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
get: function(name) {
|
||||||
|
if (components[name]) return components[name];
|
||||||
|
|
||||||
|
components[name] = load(name);
|
||||||
|
return components[name];
|
||||||
|
},
|
||||||
|
|
||||||
|
set: function(name, module) {
|
||||||
|
components[name] = module;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
require('./organisms/RoomList');
|
||||||
|
require('./organisms/RoomView');
|
||||||
|
require('./molecules/MatrixToolbar');
|
||||||
|
require('./templates/Login');
|
|
@ -1,11 +1,14 @@
|
||||||
var React = require('react');
|
var React = require('react');
|
||||||
|
var ComponentBroker = require('../ComponentBroker');
|
||||||
|
|
||||||
var RoomList = require('../organisms/RoomList');
|
var RoomList = ComponentBroker.get('RoomList');
|
||||||
var RoomView = require('../organisms/RoomView');
|
var RoomView = ComponentBroker.get('RoomView');
|
||||||
var MatrixToolbar = require('../molecules/MatrixToolbar');
|
var MatrixToolbar = ComponentBroker.get('MatrixToolbar');
|
||||||
|
var Login = ComponentBroker.get('Login');
|
||||||
|
|
||||||
|
// should be atomised
|
||||||
var Loader = require("react-loader");
|
var Loader = require("react-loader");
|
||||||
|
|
||||||
var Login = require('../templates/Login');
|
|
||||||
|
|
||||||
var mxCliPeg = require("../MatrixClientPeg");
|
var mxCliPeg = require("../MatrixClientPeg");
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue