Ghost/ghost/admin/app/routes/setup/one.js

51 lines
1.2 KiB
JavaScript
Raw Normal View History

import Ember from 'ember';
import {request as ajax} from 'ic-ajax';
var DownloadCountPoller = Ember.Object.extend({
url: null,
count: 'many, many',
runId: null,
init: function () {
this.downloadCounter();
this.poll();
},
poll: function () {
var interval = 3000,
runId;
runId = Ember.run.later(this, function () {
this.downloadCounter();
this.poll();
}, interval);
this.set('runId', runId);
},
downloadCounter: function () {
var self = this;
ajax(this.get('url')).then(function (data) {
self.set('count', data.count.toLocaleString());
}).catch(function () {
self.set('count', 'many, many');
});
}
});
export default Ember.Route.extend({
ghostPaths: Ember.inject.service('ghost-paths'),
model: function () {
return DownloadCountPoller.create({url: this.get('ghostPaths.count')});
},
resetController: function (controller, isExiting) {
if (isExiting) {
Ember.run.cancel(controller.get('model.runId'));
controller.set('model', null);
}
}
});