36 lines
822 B
JavaScript
36 lines
822 B
JavaScript
import Ember from 'ember';
|
|
import { colorForState } from 'travis/utils/helpers';
|
|
import FaviconManager from 'travis/utils/favicon-manager';
|
|
import getFaviconUri from 'travis/utils/favicon-data-uris';
|
|
|
|
export default Ember.Mixin.create({
|
|
actions: {
|
|
faviconStateDidChange(state) {
|
|
if (state) {
|
|
return this.setFaviconForState(state);
|
|
} else {
|
|
return this.setDefault();
|
|
}
|
|
}
|
|
},
|
|
|
|
init() {
|
|
this.faviconManager = new FaviconManager();
|
|
return this._super.apply(this, arguments);
|
|
},
|
|
|
|
setFaviconForState(state) {
|
|
var color;
|
|
color = colorForState(state);
|
|
return this.setFavicon(getFaviconUri(color));
|
|
},
|
|
|
|
setDefault() {
|
|
return this.setFavicon(getFaviconUri('default'));
|
|
},
|
|
|
|
setFavicon(href) {
|
|
return this.faviconManager.setFavicon(href);
|
|
}
|
|
});
|