53 lines
980 B
JavaScript
53 lines
980 B
JavaScript
import textinput from '../text_input'
|
|
import DateSelector from '../date_selector'
|
|
import uploadinput from '../upload_input'
|
|
import inputValidations from '../../lib/input_validations'
|
|
import FormMixin from '../../mixins/form'
|
|
|
|
const createLOA = number => ({ number })
|
|
|
|
export default {
|
|
name: 'ko-review',
|
|
|
|
mixins: [FormMixin],
|
|
|
|
components: {
|
|
textinput,
|
|
DateSelector,
|
|
uploadinput,
|
|
},
|
|
|
|
props: {
|
|
initialData: {
|
|
type: Object,
|
|
default: () => ({}),
|
|
},
|
|
modalName: String,
|
|
},
|
|
|
|
data: function() {
|
|
const loa_list = this.initialData['loas']
|
|
const loas = (loa_list.length > 0 ? loa_list : ['']).map(createLOA)
|
|
|
|
return {
|
|
loas,
|
|
}
|
|
},
|
|
|
|
mounted: function() {
|
|
this.$root.$on('onLOAAdded', this.addLOA)
|
|
},
|
|
|
|
methods: {
|
|
addLOA: function(event) {
|
|
this.loas.push(createLOA(''))
|
|
},
|
|
|
|
removeLOA: function(index) {
|
|
if (this.loas.length > 1) {
|
|
this.loas.splice(index, 1)
|
|
}
|
|
},
|
|
},
|
|
}
|