1
0
Fork 0
discourse-custom-wizard-unl.../assets/javascripts/discourse/routes/admin-wizards-api.js.es6

48 Zeilen
1,2 KiB
Text

2020-03-21 18:30:11 +01:00
import DiscourseRoute from "discourse/routes/discourse";
import CustomWizardApi from "../models/custom-wizard-api";
2023-09-14 15:47:52 +02:00
import { inject as service } from "@ember/service";
2020-03-21 18:30:11 +01:00
export default DiscourseRoute.extend({
2023-09-14 15:42:12 +02:00
router: service(),
2020-04-22 15:03:18 +02:00
model() {
return CustomWizardApi.list();
},
2020-04-22 15:03:18 +02:00
setupController(controller, model) {
const showParams = this.paramsFor("adminWizardsApiShow");
2021-04-12 07:44:47 +02:00
const apiName = showParams.name === "create" ? null : showParams.name;
const apiList = (model || []).map((api) => {
2020-04-22 15:03:18 +02:00
return {
id: api.name,
name: api.title,
};
2020-04-22 15:03:18 +02:00
});
2020-04-22 15:03:18 +02:00
controller.setProperties({
apiName,
apiList,
});
2020-04-22 15:03:18 +02:00
},
2020-04-22 15:03:18 +02:00
actions: {
changeApi(apiName) {
this.controllerFor("adminWizardsApi").set("apiName", apiName);
2023-09-14 15:42:12 +02:00
this.router.transitionTo("adminWizardsApiShow", apiName);
2020-04-22 15:03:18 +02:00
},
2020-04-22 15:03:18 +02:00
afterDestroy() {
2023-09-14 15:42:12 +02:00
this.router.transitionTo("adminWizardsApi").then(() => this.refresh());
2020-04-22 15:03:18 +02:00
},
2020-04-22 15:03:18 +02:00
afterSave(apiName) {
this.refresh().then(() => this.send("changeApi", apiName));
2020-04-22 15:03:18 +02:00
},
2020-04-22 15:03:18 +02:00
createApi() {
this.controllerFor("adminWizardsApi").set("apiName", "create");
2023-09-14 15:42:12 +02:00
this.router.transitionTo("adminWizardsApiShow", "create");
},
},
});