mirror of
https://github.com/discourse/discourse.git
synced 2025-05-31 13:37:16 +08:00
REFACTOR: Support bundling our admin
section as an ember addon
This commit is contained in:
@ -0,0 +1,44 @@
|
||||
import discourseComputed from "discourse-common/utils/decorators";
|
||||
import { debounce } from "@ember/runloop";
|
||||
import Controller from "@ember/controller";
|
||||
import { INPUT_DELAY } from "discourse-common/config/environment";
|
||||
|
||||
const { get } = Ember;
|
||||
|
||||
export default Controller.extend({
|
||||
filter: null,
|
||||
|
||||
@discourseComputed(
|
||||
"model.[]",
|
||||
"filter",
|
||||
"siteSettings.dashboard_hidden_reports"
|
||||
)
|
||||
filterReports(reports, filter) {
|
||||
if (filter) {
|
||||
filter = filter.toLowerCase();
|
||||
reports = reports.filter((report) => {
|
||||
return (
|
||||
(get(report, "title") || "").toLowerCase().indexOf(filter) > -1 ||
|
||||
(get(report, "description") || "").toLowerCase().indexOf(filter) > -1
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
const hiddenReports = (this.siteSettings.dashboard_hidden_reports || "")
|
||||
.split("|")
|
||||
.filter(Boolean);
|
||||
reports = reports.filter((report) => !hiddenReports.includes(report.type));
|
||||
|
||||
return reports;
|
||||
},
|
||||
|
||||
actions: {
|
||||
filterReports(filter) {
|
||||
debounce(this, this._performFiltering, filter, INPUT_DELAY);
|
||||
},
|
||||
},
|
||||
|
||||
_performFiltering(filter) {
|
||||
this.set("filter", filter);
|
||||
},
|
||||
});
|
Reference in New Issue
Block a user