discourse/app/assets/javascripts/admin/controllers/admin-site-text-index.js

44 lines
973 B
JavaScript

import { debounce } from "@ember/runloop";
import Controller from "@ember/controller";
let lastSearch;
export default Controller.extend({
searching: false,
siteTexts: null,
preferred: false,
queryParams: ["q", "overridden"],
q: null,
overridden: false,
_performSearch() {
this.store
.find("site-text", this.getProperties("q", "overridden"))
.then(results => {
this.set("siteTexts", results);
})
.finally(() => this.set("searching", false));
},
actions: {
edit(siteText) {
this.transitionToRoute("adminSiteText.edit", siteText.get("id"));
},
toggleOverridden() {
this.toggleProperty("overridden");
this.set("searching", true);
debounce(this, this._performSearch, 400);
},
search() {
const q = this.q;
if (q !== lastSearch) {
this.set("searching", true);
debounce(this, this._performSearch, 400);
lastSearch = q;
}
}
}
});