2017-09-29 13:27:03 +02:00
|
|
|
import { default as computed } from 'ember-addons/ember-computed-decorators';
|
2017-09-25 16:47:40 +02:00
|
|
|
import WizardField from 'wizard/models/wizard-field';
|
|
|
|
import { ajax } from 'wizard/lib/ajax';
|
2017-09-29 13:27:03 +02:00
|
|
|
import Step from 'wizard/models/step';
|
2017-09-25 16:47:40 +02:00
|
|
|
|
|
|
|
const CustomWizard = Ember.Object.extend({
|
|
|
|
@computed('steps.length')
|
|
|
|
totalSteps: length => length
|
|
|
|
});
|
|
|
|
|
2017-09-29 13:27:03 +02:00
|
|
|
export function findCustomWizard(wizardId) {
|
2017-10-13 15:02:34 +02:00
|
|
|
return ajax({ url: `/w/${wizardId}` }).then(result => {
|
2017-09-29 13:27:03 +02:00
|
|
|
const wizard = result.wizard;
|
2017-10-13 15:02:34 +02:00
|
|
|
|
2017-10-22 05:37:58 +02:00
|
|
|
if (!wizard) return null;
|
|
|
|
|
2017-10-13 15:02:34 +02:00
|
|
|
if (!wizard.completed) {
|
|
|
|
wizard.steps = wizard.steps.map(step => {
|
|
|
|
const stepObj = Step.create(step);
|
|
|
|
stepObj.fields = stepObj.fields.map(f => WizardField.create(f));
|
|
|
|
return stepObj;
|
|
|
|
});
|
|
|
|
}
|
2017-09-25 16:47:40 +02:00
|
|
|
|
|
|
|
return CustomWizard.create(wizard);
|
|
|
|
});
|
2017-09-29 13:27:03 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
export default CustomWizard;
|