decide.nolog.cz/app/routes/create.js
Jeldrik Hanschke c9482786c1
refactor to native ECMAScript classes (#344)
Replaces Ember's old object model by native ECMAScript classes. Mostly automated with ember-native-class-codemod.
2020-01-18 10:13:50 +01:00

47 lines
1.2 KiB
JavaScript

import classic from 'ember-classic-decorator';
import { inject as service } from '@ember/service';
import Route from '@ember/routing/route';
import config from 'croodle/config/environment';
import answersForAnswerType from 'croodle/utils/answers-for-answer-type';
/* global moment */
@classic
export default class CreateRoute extends Route {
beforeModel(transition) {
// enforce that wizzard is started at create.index
if (transition.targetName !== 'create.index') {
this.transitionTo('create.index');
}
// set encryption key
this.encryption.generateKey();
}
@service
encryption;
model() {
// create empty poll
return this.store.createRecord('poll', {
answerType: 'YesNo',
answers: answersForAnswerType('YesNo'),
creationDate: new Date(),
forceAnswer: true,
anonymousUser: false,
pollType: 'FindADate',
timezone: null,
expirationDate: moment().add(3, 'month').toISOString(),
version: config.APP.version,
});
}
activate() {
let controller = this.controllerFor(this.routeName);
controller.listenForStepChanges();
}
deactivate() {
let controller = this.controllerFor(this.routeName);
controller.clearListenerForStepChanges();
}
}