2019-10-22 09:46:10 -04:00
|
|
|
import DiscourseRoute from "discourse/routes/discourse";
|
2019-10-29 15:23:50 -04:00
|
|
|
import EmberObject from "@ember/object";
|
2017-12-19 21:41:31 -05:00
|
|
|
import { ajax } from "discourse/lib/ajax";
|
2018-01-12 21:43:49 -05:00
|
|
|
import { fillMissingDates } from "discourse/lib/utilities";
|
2018-01-16 05:29:22 -05:00
|
|
|
import { translateResults } from "discourse/lib/search";
|
2017-12-19 21:41:31 -05:00
|
|
|
|
2023-03-15 09:17:51 -04:00
|
|
|
export default class AdminSearchLogsTermRoute extends DiscourseRoute {
|
|
|
|
queryParams = {
|
2019-03-28 22:39:44 -04:00
|
|
|
term: { refreshModel: true },
|
2017-12-19 21:41:31 -05:00
|
|
|
period: { refreshModel: true },
|
|
|
|
searchType: { refreshModel: true },
|
2023-03-15 09:17:51 -04:00
|
|
|
};
|
2017-12-19 21:41:31 -05:00
|
|
|
|
|
|
|
model(params) {
|
|
|
|
this._params = params;
|
|
|
|
|
2019-03-28 21:48:20 -04:00
|
|
|
return ajax(`/admin/logs/search_logs/term.json`, {
|
2017-12-19 21:41:31 -05:00
|
|
|
data: {
|
|
|
|
period: params.period,
|
2019-03-28 21:48:20 -04:00
|
|
|
search_type: params.searchType,
|
|
|
|
term: params.term,
|
2017-12-19 21:41:31 -05:00
|
|
|
},
|
2021-06-15 01:32:41 -04:00
|
|
|
}).then(async (json) => {
|
2018-01-12 21:43:49 -05:00
|
|
|
// Add zero values for missing dates
|
|
|
|
if (json.term.data.length > 0) {
|
|
|
|
const startDate =
|
|
|
|
json.term.period === "all"
|
|
|
|
? moment(json.term.data[0].x).format("YYYY-MM-DD")
|
|
|
|
: moment(json.term.start_date).format("YYYY-MM-DD");
|
|
|
|
const endDate = moment(json.term.end_date).format("YYYY-MM-DD");
|
|
|
|
json.term.data = fillMissingDates(json.term.data, startDate, endDate);
|
|
|
|
}
|
2018-01-16 05:29:22 -05:00
|
|
|
if (json.term.search_result) {
|
2021-06-15 01:32:41 -04:00
|
|
|
json.term.search_result = await translateResults(
|
|
|
|
json.term.search_result
|
|
|
|
);
|
2018-01-16 05:29:22 -05:00
|
|
|
}
|
2018-01-12 21:43:49 -05:00
|
|
|
|
2019-10-29 15:23:50 -04:00
|
|
|
const model = EmberObject.create({ type: "search_log_term" });
|
2017-12-19 21:41:31 -05:00
|
|
|
model.setProperties(json.term);
|
|
|
|
return model;
|
|
|
|
});
|
2023-03-15 09:17:51 -04:00
|
|
|
}
|
2017-12-19 21:41:31 -05:00
|
|
|
|
|
|
|
setupController(controller, model) {
|
|
|
|
const params = this._params;
|
|
|
|
controller.setProperties({
|
|
|
|
model,
|
|
|
|
term: params.term,
|
|
|
|
period: params.period,
|
|
|
|
searchType: params.searchType,
|
|
|
|
});
|
2023-03-15 09:17:51 -04:00
|
|
|
}
|
|
|
|
}
|