Revert "Merge pull request #2348 from matrix-org/bwindels/roomgridview-experimental"

This reverts commit ece5cb1fcc, reversing
changes made to 64a3d2521c.
This commit is contained in:
Bruno Windels 2019-01-17 10:29:37 +01:00
parent 859f2a8646
commit 8c30d05eb8
31 changed files with 187 additions and 846 deletions

View file

@ -17,10 +17,42 @@ limitations under the License.
'use strict';
import MatrixDispatcher from "./matrix-dispatcher";
const flux = require("flux");
class MatrixDispatcher extends flux.Dispatcher {
/**
* @param {Object|function} payload Required. The payload to dispatch.
* If an Object, must contain at least an 'action' key.
* If a function, must have the signature (dispatch) => {...}.
* @param {boolean=} sync Optional. Pass true to dispatch
* synchronously. This is useful for anything triggering
* an operation that the browser requires user interaction
* for.
*/
dispatch(payload, sync) {
// Allow for asynchronous dispatching by accepting payloads that have the
// type `function (dispatch) {...}`
if (typeof payload === 'function') {
payload((action) => {
this.dispatch(action, sync);
});
return;
}
if (sync) {
super.dispatch(payload);
} else {
// Unless the caller explicitly asked for us to dispatch synchronously,
// we always set a timeout to do this: The flux dispatcher complains
// if you dispatch from within a dispatch, so rather than action
// handlers having to worry about not calling anything that might
// then dispatch, we just do dispatches asynchronously.
setTimeout(super.dispatch.bind(this, payload), 0);
}
}
}
if (global.mxDispatcher === undefined) {
global.mxDispatcher = new MatrixDispatcher();
}
module.exports = global.mxDispatcher;