2019-10-24 00:30:52 +08:00
|
|
|
import Component from "@ember/component";
|
2020-05-14 04:23:41 +08:00
|
|
|
import I18n from "I18n";
|
2019-11-08 05:38:28 +08:00
|
|
|
import discourseComputed from "discourse-common/utils/decorators";
|
2017-07-27 00:13:49 +08:00
|
|
|
import { iconHTML } from "discourse-common/lib/icon-library";
|
2022-05-14 03:58:26 +08:00
|
|
|
import { htmlSafe } from "@ember/template";
|
2016-06-16 01:49:57 +08:00
|
|
|
|
2019-12-04 08:19:52 +08:00
|
|
|
export default Component.extend({
|
|
|
|
classes: ["text-muted", "text-danger", "text-successful", "text-muted"],
|
|
|
|
icons: ["far-circle", "times-circle", "circle", "circle"],
|
|
|
|
circleIcon: null,
|
|
|
|
deliveryStatus: null,
|
2016-06-16 01:49:57 +08:00
|
|
|
|
2019-12-04 08:19:52 +08:00
|
|
|
@discourseComputed("deliveryStatuses", "model.last_delivery_status")
|
|
|
|
status(deliveryStatuses, lastDeliveryStatus) {
|
|
|
|
return deliveryStatuses.find((s) => s.id === lastDeliveryStatus);
|
|
|
|
},
|
2016-06-16 01:49:57 +08:00
|
|
|
|
2019-12-04 08:19:52 +08:00
|
|
|
@discourseComputed("status.id", "icons")
|
|
|
|
icon(statusId, icons) {
|
|
|
|
return icons[statusId - 1];
|
|
|
|
},
|
2016-06-16 01:49:57 +08:00
|
|
|
|
2019-12-04 08:19:52 +08:00
|
|
|
@discourseComputed("status.id", "classes")
|
|
|
|
class(statusId, classes) {
|
|
|
|
return classes[statusId - 1];
|
|
|
|
},
|
2016-06-16 01:49:57 +08:00
|
|
|
|
2019-12-04 08:19:52 +08:00
|
|
|
didReceiveAttrs() {
|
|
|
|
this._super(...arguments);
|
2019-12-04 08:39:39 +08:00
|
|
|
this.set(
|
|
|
|
"circleIcon",
|
2022-05-14 03:58:26 +08:00
|
|
|
htmlSafe(iconHTML(this.icon, { class: this.class }))
|
2019-12-04 08:39:39 +08:00
|
|
|
);
|
|
|
|
this.set(
|
|
|
|
"deliveryStatus",
|
|
|
|
I18n.t(`admin.web_hooks.delivery_status.${this.get("status.name")}`)
|
|
|
|
);
|
2019-12-04 08:19:52 +08:00
|
|
|
},
|
|
|
|
});
|