discourse/app/assets/javascripts/admin/controllers/admin-users-list-show.js.es6

45 lines
1.1 KiB
JavaScript

import debounce from "discourse/lib/debounce";
import { i18n } from "discourse/lib/computed";
import AdminUser from "admin/models/admin-user";
import CanCheckEmails from "discourse/mixins/can-check-emails";
export default Ember.Controller.extend(CanCheckEmails, {
model: null,
query: null,
order: null,
ascending: null,
showEmails: false,
refreshing: false,
listFilter: null,
selectAll: false,
searchHint: i18n("search_hint"),
title: function() {
return I18n.t("admin.users.titles." + this.get("query"));
}.property("query"),
_filterUsers: debounce(function() {
this._refreshUsers();
}, 250).observes("listFilter"),
_refreshUsers() {
this.set("refreshing", true);
AdminUser.findAll(this.get("query"), {
filter: this.get("listFilter"),
show_emails: this.get("showEmails"),
order: this.get("order"),
ascending: this.get("ascending")
})
.then(result => this.set("model", result))
.finally(() => this.set("refreshing", false));
},
actions: {
toggleEmailVisibility() {
this.toggleProperty("showEmails");
this._refreshUsers();
}
}
});