discourse/app/assets/javascripts/admin/components/admin-web-hook-status.js.es6

33 lines
1004 B
Plaintext
Raw Normal View History

2018-06-15 23:03:24 +08:00
import computed from "ember-addons/ember-computed-decorators";
import { iconHTML } from "discourse-common/lib/icon-library";
import { bufferedRender } from "discourse-common/lib/buffered-render";
2016-06-16 01:49:57 +08:00
2018-06-15 23:03:24 +08:00
export default Ember.Component.extend(
bufferedRender({
classes: ["text-muted", "text-danger", "text-successful"],
icons: ["circle-o", "times-circle", "circle"],
2016-06-16 01:49:57 +08:00
2018-06-15 23:03:24 +08:00
@computed("deliveryStatuses", "model.last_delivery_status")
status(deliveryStatuses, lastDeliveryStatus) {
return deliveryStatuses.find(s => s.id === lastDeliveryStatus);
},
2016-06-16 01:49:57 +08:00
2018-06-15 23:03:24 +08:00
@computed("status.id", "icons")
icon(statusId, icons) {
return icons[statusId - 1];
},
2016-06-16 01:49:57 +08:00
2018-06-15 23:03:24 +08:00
@computed("status.id", "classes")
class(statusId, classes) {
return classes[statusId - 1];
},
2016-06-16 01:49:57 +08:00
2018-06-15 23:03:24 +08:00
buildBuffer(buffer) {
buffer.push(iconHTML(this.get("icon"), { class: this.get("class") }));
buffer.push(
I18n.t(`admin.web_hooks.delivery_status.${this.get("status.name")}`)
);
}
})
);