diff --git a/src/main/mesh.js b/src/main/mesh.js index d9cf33de..cd6aed82 100644 --- a/src/main/mesh.js +++ b/src/main/mesh.js @@ -55,7 +55,7 @@ function init() { space.useDefaultKeys(true); // trigger space event binding - broker.publish('space.init', { space, platform }); + broker.send.space_init({ space, platform }); // start worker moto.client.start(`/code/mesh_work?${gapp.version}`); @@ -79,7 +79,7 @@ broker.subscribe('space.init', data => { platform.setColor(platcolor); load.File.load(evt.dataTransfer.files[0]) .then(data => { - broker.publish('space.load', data); + broker.send.space_load(data); }) .catch(error => { dbug.error(error); diff --git a/src/moto/broker.js b/src/moto/broker.js index 52831f33..044f0e60 100644 --- a/src/moto/broker.js +++ b/src/moto/broker.js @@ -10,6 +10,7 @@ class Broker { constructor() { this.topics = {}; this.used = {}; + this.send = {}; } topics() { @@ -29,6 +30,9 @@ class Broker { channel = topics[topic] = []; } if (channel.indexOf(listener) < 0) { + let send = this.send; + let name = topic.replace(/\./g, '_'); + send[name] = send[name] = this.bind(topic); channel.push(listener); this.publish(".topic.add", topic); }