0
0
Fork 1
Spiegel von https://github.com/paviliondev/discourse-custom-wizard.git synchronisiert 2024-11-24 10:20:28 +01:00
discourse-custom-wizard/assets/javascripts/wizard/routes/step.js.es6

52 Zeilen
1,1 KiB
Text

import WizardI18n from "../lib/wizard-i18n";
2022-03-16 12:33:34 +01:00
import { getCachedWizard } from "../models/wizard";
import Route from "@ember/routing/route";
2020-05-14 05:42:11 +02:00
2022-03-16 12:33:34 +01:00
export default Route.extend({
beforeModel() {
this.set("wizard", getCachedWizard());
},
2017-10-13 15:02:34 +02:00
model(params) {
const wizard = this.wizard;
if (wizard && wizard.steps) {
const step = wizard.steps.findBy("id", params.step_id);
return step ? step : wizard.steps[0];
} else {
return wizard;
}
2017-10-13 15:02:34 +02:00
},
afterModel(model) {
if (model.completed) {
2022-03-16 12:33:34 +01:00
return this.transitionTo("wizard.index");
}
return model.set("wizardId", this.wizard.id);
2017-10-13 15:02:34 +02:00
},
2022-03-16 12:33:34 +01:00
renderTemplate() {
2022-06-15 08:59:09 +02:00
this.render("wizard/templates/step");
2022-03-16 12:33:34 +01:00
},
setupController(controller, model) {
let props = {
step: model,
wizard: this.wizard,
};
if (!model.permitted) {
props["stepMessage"] = {
state: "not-permitted",
text:
model.permitted_message || WizardI18n("wizard.step_not_permitted"),
};
2019-07-27 09:01:29 +02:00
if (model.index > 0) {
props["showReset"] = true;
2019-07-27 09:01:29 +02:00
}
}
controller.setProperties(props);
},
2017-10-13 15:02:34 +02:00
});