mirror of
https://github.com/status-im/consul.git
synced 2025-01-10 05:45:46 +00:00
2b0b1e61d2
The WithEventSource mixin was responsible for catching EventSource errors and cleaning up events sources then the user left a Controller. As we are trying to avoid mixin usage, we moved this all to an `EventSource` component, which can clean up when the component is removed from the page, and also fires an onerror event. Moving to a component firing an onerror event means we can also remove all of our custom computed property work that we were using previously to catch errors (thrown when a service etc. is removed)
30 lines
828 B
JavaScript
30 lines
828 B
JavaScript
import Controller from '@ember/controller';
|
|
import { get } from '@ember/object';
|
|
import { inject as service } from '@ember/service';
|
|
export default Controller.extend({
|
|
dom: service('dom'),
|
|
notify: service('flashMessages'),
|
|
actions: {
|
|
error: function(e) {
|
|
if (e.target.readyState === 1) {
|
|
// OPEN
|
|
if (get(e, 'error.errors.firstObject.status') === '404') {
|
|
this.notify.add({
|
|
destroyOnClick: false,
|
|
sticky: true,
|
|
type: 'warning',
|
|
action: 'update',
|
|
});
|
|
}
|
|
[e.target, this.intentions, this.chain, this.proxies, this.gatewayServices].forEach(
|
|
function(item) {
|
|
if (item && typeof item.close === 'function') {
|
|
item.close();
|
|
}
|
|
}
|
|
);
|
|
}
|
|
},
|
|
},
|
|
});
|