2023-10-10 14:38:59 -04:00
|
|
|
import { observes } from "@ember-decorators/object";
|
2020-03-11 10:28:16 -04:00
|
|
|
import { INPUT_DELAY } from "discourse-common/config/environment";
|
2020-12-18 08:18:52 -05:00
|
|
|
import discourseDebounce from "discourse-common/lib/debounce";
|
2023-10-10 14:38:59 -04:00
|
|
|
import AdminEmailLogsController from "admin/controllers/admin-email-logs";
|
2014-07-22 23:20:45 -04:00
|
|
|
|
2023-03-15 05:42:12 -04:00
|
|
|
export default class AdminEmailSentController extends AdminEmailLogsController {
|
2024-01-02 20:27:25 -05:00
|
|
|
ccAddressDisplayThreshold = 2;
|
|
|
|
sortWithAddressFilter = (addresses) => {
|
|
|
|
if (!Array.isArray(addresses) || addresses.length === 0) {
|
|
|
|
return [];
|
|
|
|
}
|
|
|
|
const targetEmail = this.filter.address;
|
|
|
|
|
|
|
|
if (!targetEmail) {
|
|
|
|
return addresses;
|
|
|
|
}
|
|
|
|
|
|
|
|
return addresses.sort((a, b) => {
|
|
|
|
if (a.includes(targetEmail) && !b.includes(targetEmail)) {
|
|
|
|
return -1;
|
|
|
|
}
|
|
|
|
if (!a.includes(targetEmail) && b.includes(targetEmail)) {
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
});
|
|
|
|
};
|
|
|
|
|
2020-01-16 12:56:53 -05:00
|
|
|
@observes("filter.{status,user,address,type,reply_key}")
|
2020-12-18 08:18:52 -05:00
|
|
|
filterEmailLogs() {
|
|
|
|
discourseDebounce(this, this.loadLogs, INPUT_DELAY);
|
2023-03-15 05:42:12 -04:00
|
|
|
}
|
|
|
|
}
|