mirror of
https://github.com/flarum/core.git
synced 2025-08-18 14:22:02 +02:00
update: common/utils/patchMithril (remove unnecessary hacks)
Removed m.prop AND m.withAttr, no alternatives yet (m.prop is mithril/stream import)
This commit is contained in:
committed by
Franz Liedke
parent
4435ff193a
commit
5bf5bd36ee
@@ -4,24 +4,17 @@ export default function patchMithril(global) {
|
|||||||
const mo = global.m;
|
const mo = global.m;
|
||||||
|
|
||||||
const m = function (comp, ...args) {
|
const m = function (comp, ...args) {
|
||||||
if (comp.prototype && comp.prototype instanceof Component) {
|
|
||||||
let children = args.slice(1);
|
|
||||||
if (children.length === 1 && Array.isArray(children[0])) {
|
|
||||||
children = children[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
return comp.component(args[0], children);
|
|
||||||
}
|
|
||||||
|
|
||||||
const node = mo.apply(this, arguments);
|
const node = mo.apply(this, arguments);
|
||||||
|
|
||||||
|
if (!node.attrs) node.attrs = {};
|
||||||
|
|
||||||
if (node.attrs.bidi) {
|
if (node.attrs.bidi) {
|
||||||
m.bidi(node, node.attrs.bidi);
|
m.bidi(node, node.attrs.bidi);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (node.attrs.route) {
|
if (node.attrs.route) {
|
||||||
node.attrs.href = node.attrs.route;
|
node.attrs.href = node.attrs.route;
|
||||||
node.attrs.config = m.route;
|
node.attrs.tag = m.route.Link;
|
||||||
|
|
||||||
delete node.attrs.route;
|
delete node.attrs.route;
|
||||||
}
|
}
|
||||||
@@ -31,15 +24,5 @@ export default function patchMithril(global) {
|
|||||||
|
|
||||||
Object.keys(mo).forEach((key) => (m[key] = mo[key]));
|
Object.keys(mo).forEach((key) => (m[key] = mo[key]));
|
||||||
|
|
||||||
/**
|
|
||||||
* Redraw only if not in the middle of a computation (e.g. a route change).
|
|
||||||
*
|
|
||||||
* @return {void}
|
|
||||||
*/
|
|
||||||
m.lazyRedraw = function () {
|
|
||||||
m.startComputation();
|
|
||||||
m.endComputation();
|
|
||||||
};
|
|
||||||
|
|
||||||
global.m = m;
|
global.m = m;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user