2018-06-15 23:03:24 +08:00
|
|
|
import PreloadStore from "preload-store";
|
2016-07-05 02:15:51 +08:00
|
|
|
|
2015-08-07 00:14:59 +08:00
|
|
|
export default Ember.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)
|
2015-08-07 00:14:59 +08:00
|
|
|
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
|
2018-06-21 00:34:49 +08:00
|
|
|
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 Em.Object.create(log);
|
|
|
|
})
|
|
|
|
.value();
|
2016-10-21 01:26:41 +08:00
|
|
|
logs.pushObjects(newLogs);
|
2014-02-14 02:49:38 +08:00
|
|
|
}
|
|
|
|
});
|
2014-04-23 17:20:22 +08:00
|
|
|
},
|
|
|
|
|
2018-06-15 23:03:24 +08:00
|
|
|
setupController() {
|
|
|
|
/* prevent default behavior */
|
|
|
|
}
|
2014-02-14 02:49:38 +08:00
|
|
|
});
|