decide.nolog.cz/app/components/create-options.js

51 lines
1.1 KiB
JavaScript
Raw Normal View History

2018-12-29 01:27:37 +01:00
import { inject as service } from '@ember/service';
import { action } from '@ember/object';
2018-12-29 01:27:37 +01:00
import Component from '@ember/component';
import {
validator, buildValidations
}
from 'ember-cp-validations';
let Validations = buildValidations({
options: [
validator('collection', true),
validator('length', {
dependentKeys: ['model.options.[]', 'model.intl.locale'],
2016-05-21 17:17:08 +02:00
min: 1,
2016-06-27 13:04:20 +02:00
// it's impossible to delete all text options so this case could be ignored
// for validation error message
descriptionKey: 'create.options.error.notEnoughDates'
}),
validator('valid-collection', {
dependentKeys: ['model.options.[]', 'model.options.@each.title']
})
]
});
export default class CreateOptionsComponent extends Component.extend(Validations) {
shouldShowErrors = false;
2016-05-21 17:17:08 +02:00
// consumed by validator
@service intl;
@action
previousPage() {
this.onPrevPage();
}
@action
submit() {
if (this.get('validations.isValid')) {
this.onNextPage();
} else {
this.set('shouldShowErrors', true);
}
}
init() {
super.init(...arguments);
this.intl.locale;
}
}