discourse/app/assets/javascripts/admin/routes/admin-backups-logs.js.es6

32 lines
1008 B
Plaintext
Raw Normal View History

import EmberObject from "@ember/object";
import Route from "@ember/routing/route";
2018-06-15 23:03:24 +08:00
import PreloadStore from "preload-store";
2016-07-05 02:15:51 +08:00
export default Route.extend({
2014-02-14 02:49:38 +08:00
// since the logs are pushed via the message bus
// we only want to preload them (hence the beforeModel hook)
beforeModel() {
2018-06-15 23:03:24 +08:00
const logs = this.controllerFor("adminBackupsLogs").get("logs");
2014-02-14 02:49:38 +08:00
// preload the logs if any
2018-06-15 23:03:24 +08:00
PreloadStore.getAndRemove("logs").then(function(preloadedLogs) {
2014-02-14 02:49:38 +08:00
if (preloadedLogs && preloadedLogs.length) {
// we need to filter out message like: "[SUCCESS]"
// and convert POJOs to Ember Objects
const newLogs = _.chain(preloadedLogs)
2018-06-15 23:03:24 +08:00
.reject(function(log) {
return log.message.length === 0 || log.message[0] === "[";
})
.map(function(log) {
return EmberObject.create(log);
2018-06-15 23:03:24 +08:00
})
.value();
logs.pushObjects(newLogs);
2014-02-14 02:49:38 +08:00
}
});
},
2018-06-15 23:03:24 +08:00
setupController() {
/* prevent default behavior */
}
2014-02-14 02:49:38 +08:00
});