mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
REFACTOR: extract MessageBus dependent initializers
This commit is contained in:
parent
30611c343c
commit
39aa87dedf
@ -0,0 +1,26 @@
|
|||||||
|
/**
|
||||||
|
Subscribe to "asset-version" change events via the Message Bus
|
||||||
|
**/
|
||||||
|
export default {
|
||||||
|
name: "asset-version",
|
||||||
|
after: "message-bus",
|
||||||
|
|
||||||
|
initialize: function () {
|
||||||
|
if (!Discourse.MessageBus) { return; }
|
||||||
|
|
||||||
|
Discourse.MessageBus.subscribe("/global/asset-version", function (version) {
|
||||||
|
Discourse.set("assetVersion", version);
|
||||||
|
|
||||||
|
if (Discourse.get("requiresRefresh")) {
|
||||||
|
// since we can do this transparently for people browsing the forum
|
||||||
|
// hold back the message a couple of hours
|
||||||
|
setTimeout(function () {
|
||||||
|
bootbox.confirm(I18n.lookup("assets_changed_confirm"), function (result) {
|
||||||
|
if (result) { document.location.reload(); }
|
||||||
|
});
|
||||||
|
}, 1000 * 60 * 120);
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
15
app/assets/javascripts/discourse/initializers/banner.js.es6
Normal file
15
app/assets/javascripts/discourse/initializers/banner.js.es6
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
export default {
|
||||||
|
name: "banner",
|
||||||
|
after: "message-bus",
|
||||||
|
|
||||||
|
initialize: function () {
|
||||||
|
var banner = Em.Object.create(PreloadStore.get("banner"));
|
||||||
|
Discourse.set("banner", banner);
|
||||||
|
|
||||||
|
if (!Discourse.MessageBus) { return; }
|
||||||
|
|
||||||
|
Discourse.MessageBus.subscribe("/site/banner", function (banner) {
|
||||||
|
Discourse.set("banner", Em.Object.create(banner));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
@ -3,6 +3,7 @@
|
|||||||
**/
|
**/
|
||||||
export default {
|
export default {
|
||||||
name: "message-bus",
|
name: "message-bus",
|
||||||
|
|
||||||
initialize: function() {
|
initialize: function() {
|
||||||
|
|
||||||
// We don't use the message bus in testing
|
// We don't use the message bus in testing
|
||||||
@ -10,30 +11,6 @@ export default {
|
|||||||
|
|
||||||
Discourse.MessageBus.alwaysLongPoll = Discourse.Environment === "development";
|
Discourse.MessageBus.alwaysLongPoll = Discourse.Environment === "development";
|
||||||
Discourse.MessageBus.start();
|
Discourse.MessageBus.start();
|
||||||
|
|
||||||
Discourse.MessageBus.subscribe("/global/asset-version", function(version){
|
|
||||||
Discourse.set("assetVersion", version);
|
|
||||||
|
|
||||||
if(Discourse.get("requiresRefresh")) {
|
|
||||||
// since we can do this transparently for people browsing the forum
|
|
||||||
// hold back the message a couple of hours
|
|
||||||
setTimeout(function() {
|
|
||||||
bootbox.confirm(I18n.lookup("assets_changed_confirm"), function(result){
|
|
||||||
if (result) {
|
|
||||||
document.location.reload();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}, 1000 * 60 * 120);
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
// initialize read-only mode and subscribe to updates via the message bus
|
|
||||||
Discourse.set("isReadOnly", Discourse.Site.currentProp("is_readonly"));
|
|
||||||
Discourse.MessageBus.subscribe("/site/read-only", function (enabled) {
|
|
||||||
Discourse.set("isReadOnly", enabled);
|
|
||||||
});
|
|
||||||
|
|
||||||
Discourse.KeyValueStore.init("discourse_", Discourse.MessageBus);
|
Discourse.KeyValueStore.init("discourse_", Discourse.MessageBus);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -0,0 +1,18 @@
|
|||||||
|
/**
|
||||||
|
Subscribe to "read-only" status change events via the Message Bus
|
||||||
|
**/
|
||||||
|
export default {
|
||||||
|
name: "read-only",
|
||||||
|
after: "message-bus",
|
||||||
|
|
||||||
|
initialize: function () {
|
||||||
|
// initialize read-only mode and subscribe to updates via the message bus
|
||||||
|
Discourse.set("isReadOnly", Discourse.Site.currentProp("is_readonly"));
|
||||||
|
|
||||||
|
if (!Discourse.MessageBus) { return; }
|
||||||
|
|
||||||
|
Discourse.MessageBus.subscribe("/site/read-only", function (enabled) {
|
||||||
|
Discourse.set("isReadOnly", enabled);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
Loading…
Reference in New Issue
Block a user