Spiegel von
https://github.com/paviliondev/discourse-custom-wizard.git
synchronisiert 2024-11-14 13:52:54 +01:00
ceef3f4bc9
* Re structure builder logic to allow for step conditionality Concerns - Performance. Look at whether the additional build in the steps controller can be reduced - Does not work if applied to the last step. - Certain conditions will not work with the first step(?) - How should this be scoped to known functionality? * Add indexes and conditions to steps and fields * Complete and add spec * Complete backend * Complete step conditionality and field indexing * Fix failing spec * Update coverage * Apply rubocop * Apply prettier * Apply prettier to wizard js * Fix schema issues created in merge * Remove setting label for force_final * Improve client wizard cache naming * Improve steps controller and spec conditionality * Improve final step attribute naming * Fix failing spec * Linting * Add one more final step test * Linting * Fix eslint issues * Apply prettier * Linting, syntax, merge and copy cleanups * Update wizard-admin.scss * Fix template linting * Rubocop fixes
46 Zeilen
1.018 B
JavaScript
46 Zeilen
1.018 B
JavaScript
import WizardI18n from "../lib/wizard-i18n";
|
|
import { getCachedWizard } from "../models/custom";
|
|
|
|
export default Ember.Route.extend({
|
|
beforeModel() {
|
|
this.set("wizard", getCachedWizard());
|
|
},
|
|
|
|
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;
|
|
}
|
|
},
|
|
|
|
afterModel(model) {
|
|
if (model.completed) {
|
|
return this.transitionTo("index");
|
|
}
|
|
return model.set("wizardId", this.wizard.id);
|
|
},
|
|
|
|
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"),
|
|
};
|
|
if (model.index > 0) {
|
|
props["showReset"] = true;
|
|
}
|
|
}
|
|
|
|
controller.setProperties(props);
|
|
},
|
|
});
|