import createNumberMask from 'text-mask-addons/dist/createNumberMask' import { conformToMask } from 'vue-text-mask' import FormMixin from '../../mixins/form' import textinput from '../text_input' import optionsinput from '../options_input' import uploadinput from '../upload_input' export default { name: 'funding', mixins: [FormMixin], components: { textinput, optionsinput, uploadinput, }, props: { initialData: { type: Object, default: () => ({}), }, uploadErrors: { type: Array, default: () => [], }, }, data: function() { const { clin_01 = 0, clin_02 = 0, clin_03 = 0, clin_04 = 0, } = this.initialData return { clin_01, clin_02, clin_03, clin_04, } }, computed: { totalBudget: function() { return [this.clin_01, this.clin_02, this.clin_03, this.clin_04].reduce( function(acc, curr) { curr = !curr ? 0 : parseFloat(curr) return acc + curr }, 0 ) }, totalBudgetStr: function() { return this.totalBudget.toLocaleString('us-US', { style: 'currency', currency: 'USD', }) }, }, methods: { updateBudget: function() { document.querySelector('#to-target').innerText = this.totalBudgetStr }, }, watch: { clin_01: 'updateBudget', clin_02: 'updateBudget', clin_03: 'updateBudget', clin_04: 'updateBudget', }, mounted: function() { this.updateBudget() }, }