{"version":3,"sources":["webpack:///./src/components/Proposals/ModalSendProposal.vue","webpack:///src/components/Proposals/ModalSendProposal.vue","webpack:///./src/components/Proposals/ModalSendProposal.vue?a84a","webpack:///./src/components/Proposals/ModalSendProposal.vue?1d05"],"names":["render","_vm","this","_c","_self","attrs","$t","isSaving","isSavingSuccess","isSavingError","validEmailSettings","onClickCancel","sendMail","showModal","on","scopedSlots","_u","key","fn","staticClass","_v","_s","ref","model","value","mail","FromEmail","callback","$$v","$set","expression","mailAddresses","setMailInputEmpty","addMailAddress","deleteMailAddress","directives","name","rawName","selectedMailType","$event","$$selectedVal","Array","prototype","filter","call","target","options","o","selected","map","val","_value","multiple","updateMail","_l","mailTexts","mailText","index","domProps","MailType","replace","Name","Subject","Id","class","cke_chrome","hasBodyWarning","Body","proxy","slot","staticRenderFns","MailInput","components","props","type","Boolean","default","Function","required","request","Object","proposalKey","String","mailType","data","ToEmail","proposalSettings","computed","_objectSpread","mapGetters","profile","mapState","hasFromEmailWarning","length","hasToEmailWarning","hasSubjectWarning","result","created","getProposalMailTexts","getRejectProposalMail","methods","self","hasLoadedTexts","mailProvider","then","response","status","push","MailTexts","finally","_this","getRejectProposalMailText","selectedMailText","JSON","parse","stringify","addressWarning","hasToAddressWarning","emailError","address","unshift","addressIndex","findIndex","t","splice","find","mt","sendProposalMail","sendRequestMail","join","$emit","EventBus","message","catch","e","component"],"mappings":"mMAAIA,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,qBAAqB,CAACE,MAAM,CAAC,WAAaJ,EAAIK,GAAG,mDAAmD,UAAY,QAAQ,SAAWL,EAAIM,SAAS,gBAAkBN,EAAIO,gBAAgB,cAAgBP,EAAIQ,cAAc,mBAAqBR,EAAIK,GAAG,yBAAyB,mBAAqBL,EAAIK,GAAG,oDAAoD,kBAAoBL,EAAIM,WAAaN,EAAIS,mBAAmB,kBAAoBT,EAAIQ,eAAiBR,EAAIO,gBAAgB,cAAgBP,EAAIU,cAAc,YAAcV,EAAIW,SAAS,UAAYX,EAAIY,WAAWC,GAAG,CAAC,WAAab,EAAIU,eAAeI,YAAYd,EAAIe,GAAG,CAAC,CAACC,IAAI,UAAUC,GAAG,WAAW,MAAO,CAACf,EAAG,QAAQ,CAACgB,YAAY,sBAAsB,CAAChB,EAAG,QAAQ,CAACA,EAAG,KAAK,CAACA,EAAG,KAAK,CAACF,EAAImB,GAAGnB,EAAIoB,GAAGpB,EAAIK,GAAG,uDAAuDH,EAAG,KAAK,CAACA,EAAG,sBAAsB,CAACmB,IAAI,mBAAmBjB,MAAM,CAAC,UAAY,OAAO,WAAY,EAAM,YAAc,mBAAmBkB,MAAM,CAACC,MAAOvB,EAAIwB,KAAKC,UAAWC,SAAS,SAAUC,GAAM3B,EAAI4B,KAAK5B,EAAIwB,KAAM,YAAaG,IAAME,WAAW,qBAAqB,KAAK3B,EAAG,KAAK,CAACA,EAAG,KAAK,CAACF,EAAImB,GAAGnB,EAAIoB,GAAGpB,EAAIK,GAAG,qDAAqDH,EAAG,KAAK,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,cAAgBJ,EAAI8B,eAAejB,GAAG,CAAC,iBAAmBb,EAAI+B,kBAAkB,iBAAmB/B,EAAIgC,eAAe,mBAAqBhC,EAAIiC,sBAAsB,KAAK/B,EAAG,KAAK,CAACA,EAAG,KAAK,CAACF,EAAImB,GAAG,IAAInB,EAAIoB,GAAGpB,EAAIK,GAAG,wDAAwD,OAAOH,EAAG,KAAK,CAACA,EAAG,MAAM,CAACgB,YAAY,UAAU,CAAChB,EAAG,SAAS,CAACgC,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAUb,MAAOvB,EAAIqC,iBAAkBR,WAAW,qBAAqBhB,GAAG,CAAC,OAAS,CAAC,SAASyB,GAAQ,IAAIC,EAAgBC,MAAMC,UAAUC,OAAOC,KAAKL,EAAOM,OAAOC,SAAQ,SAASC,GAAG,OAAOA,EAAEC,YAAWC,KAAI,SAASF,GAAG,IAAIG,EAAM,WAAYH,EAAIA,EAAEI,OAASJ,EAAEvB,MAAM,OAAO0B,KAAOjD,EAAIqC,iBAAiBC,EAAOM,OAAOO,SAAWZ,EAAgBA,EAAc,IAAIvC,EAAIoD,cAAcpD,EAAIqD,GAAIrD,EAAIsD,WAAW,SAASC,EAASC,GAAO,OAAOtD,EAAG,SAAS,CAACc,IAAIwC,EAAMC,SAAS,CAAC,MAAQF,EAASG,SAAS,SAAW1D,EAAIqC,mBAAqBkB,EAASG,WAAW,CAAC1D,EAAImB,GAAG,IAAInB,EAAIoB,GAAGmC,EAASG,SAASC,QAAQ,mBAAoB,IAAM,IAAMJ,EAASK,MAAM,UAAS,SAAS1D,EAAG,KAAK,CAACA,EAAG,KAAK,CAACF,EAAImB,GAAG,IAAInB,EAAIoB,GAAGpB,EAAIK,GAAG,uDAAuD,OAAOH,EAAG,KAAK,CAACA,EAAG,MAAM,CAACgB,YAAY,WAAW,CAAChB,EAAG,sBAAsB,CAACE,MAAM,CAAC,WAAY,EAAM,UAAY,OAAO,YAAc,WAAWkB,MAAM,CAACC,MAAOvB,EAAIwB,KAAKqC,QAASnC,SAAS,SAAUC,GAAM3B,EAAI4B,KAAK5B,EAAIwB,KAAM,UAAWG,IAAME,WAAW,mBAAmB,OAAO3B,EAAG,KAAK,CAACA,EAAG,KAAK,CAACF,EAAImB,GAAGnB,EAAIoB,GAAGpB,EAAIK,GAAG,uDAAuDH,EAAG,KAAK,CAACA,EAAG,MAAM,CAACgB,YAAY,WAAW,CAAChB,EAAG,iBAAiB,CAACc,IAAI,SAAWhB,EAAIwB,KAAKsC,GAAGC,MAAM,CAAEC,WAAYhE,EAAIiE,gBAAiB3C,MAAM,CAACC,MAAOvB,EAAIwB,KAAK0C,KAAMxC,SAAS,SAAUC,GAAM3B,EAAI4B,KAAK5B,EAAIwB,KAAM,OAAQG,IAAME,WAAW,gBAAgB,aAAasC,OAAM,MAAS,CAACjE,EAAG,WAAW,CAACkE,KAAK,gBAAgB,IAEv/FC,EAAkB,G,sJCyGtBC,EAAA,mEAEe,GACfC,WAAA,CACAD,aAGAE,MAAA,CACA5D,UAAA,CACA6D,KAAAC,QACAC,SAAA,GAGAjE,cAAA,CACA+D,KAAAG,SACAC,UAAA,GAGAC,QAAA,CACAL,KAAAM,OACAJ,QAAA,MAGAK,YAAA,CACAP,KAAAQ,OACAN,QAAA,IAGAO,SAAA,CACAT,KAAAQ,OACAN,QAAA,KAIAQ,KAAA,WACA,OACA7E,UAAA,EACAC,iBAAA,EACAC,eAAA,EACAgB,KAAA,CACAsC,GAAA,EACArC,UAAA,GACA2D,QAAA,GAEAvB,QAAA,GACAK,KAAA,IAEApC,cAAA,GACAwB,UAAA,GACAjB,iBAAA,sBACAgD,iBAAA,OAIAC,SAAAC,6CAAA,GACAC,eAAA,CAAAC,QAAA,6BACAC,eAAA,wCAEAC,oBAAA,WACA,gBAAAnE,KAAAC,UAAAmE,QAGAC,kBAAA,WACA,gBAAA/D,cAAA8D,QAGAE,kBAAA,WACA,gBAAAtE,KAAAqC,QAAA+B,QAGA3B,eAAA,WACA,gBAAAzC,KAAA0C,KAAA0B,QAGAnF,mBAAA,WACA,IAAAsF,GAAA,EAUA,OAPA,KAAAJ,qBACA,KAAAE,mBACA,KAAAC,mBACA,KAAA7B,kBAEA8B,GAAA,GAEAA,KAIAC,QAAA,WACA,KAAAd,SAAAU,OAAA,IACA,KAAAvD,iBAAA,KAAA6C,UAGA,KAAAF,YAAAY,OAAA,EACA,KAAAK,uBAEA,KAAAC,yBAIAC,QAAA,CACAF,qBAAA,WACA,IAAAG,EAAA,KACAA,EAAAC,gBAAA,EAEAC,OAAAH,QACAF,qBAAAG,EAAApB,aACAuB,MAAA,SAAAC,GACA,MAAAA,EAAAC,SACAL,EAAA5E,KAAAC,UAAA+E,EAAArB,KAAA1D,UACA+E,EAAArB,KAAAC,QAAAQ,QAAAQ,EAAAtE,cAAA4E,KAAAF,EAAArB,KAAAC,SAEAgB,EAAA9C,UAAAkD,EAAArB,KAAAwB,UAEAP,EAAAhD,iBAGAwD,SAAA,WACAR,EAAAC,gBAAA,MAIAH,sBAAA,eAAAW,EAAA,KACAT,EAAA,KACAA,EAAAC,gBAAA,EAEAC,OAAAH,QACAW,0BAAAV,EAAAtB,QAAAhB,IACAyC,MAAA,SAAAC,GACA,MAAAA,EAAAC,SACAL,EAAA5E,KAAAC,UAAA+E,EAAArB,KAAA1D,UACA+E,EAAArB,KAAAC,QAAAQ,QAAAQ,EAAAtE,cAAA4E,KAAAF,EAAArB,KAAAC,SAEAgB,EAAA9C,UAAAkD,EAAArB,KAAAwB,UAEAE,EAAAxE,iBAAAwE,EAAA3B,SAEAkB,EAAAW,iBAAAC,KAAAC,MACAD,KAAAE,UAAAd,EAAA9C,UAAA,KAGA8C,EAAAhD,iBAGAwD,SAAA,WACAR,EAAAC,gBAAA,MAIAtE,kBAAA,SAAAR,GACAA,IACA,KAAA4F,gBAAA,IAIAC,oBAAA,SAAAC,GACAA,EAAAzB,OAAA,EACA,KAAAuB,gBAAA,EAEA,KAAAA,gBAAA,GAIAnF,eAAA,SAAAsF,GACA,KAAAxF,cAAAyF,QAAAD,IAGArF,kBAAA,SAAAqF,GACA,IAAAE,EAAA,KAAA1F,cAAA2F,WAAA,SAAAC,GAAA,OAAAA,IAAAJ,KACAE,GAAA,GACA,KAAA1F,cAAA6F,OAAAH,EAAA,IAIApE,WAAA,WACA,IAAAgD,EAAA,KAEA7C,EAAA6C,EAAA9C,UAAAsE,MACA,SAAAC,GAAA,OAAAA,EAAAnE,WAAA0C,EAAA/D,oBAEAkB,IACA6C,EAAA5E,KAAAsC,GAAAP,EAAAO,GACAsC,EAAA5E,KAAAqC,QAAAN,EAAAM,QACAuC,EAAA5E,KAAA0C,KAAAX,EAAAW,OAIAvD,SAAA,WACA,KAAAqE,YAAAY,OAAA,EACA,KAAAkC,mBAEA,KAAAC,mBAIAD,iBAAA,WACA,IAAA1B,EAAA,KAEA,IAAAA,EAAA9F,SAAA,CACA8F,EAAA9F,UAAA,EAEA,IAAAkB,EAAA,CACAC,UAAA2E,EAAA5E,KAAAC,UACA2D,QAAAgB,EAAAtE,cAAAkG,KAAA,KAEAnE,QAAAuC,EAAA5E,KAAAqC,QACAK,KAAAkC,EAAA5E,KAAA0C,MAGAoC,OAAAH,QACA2B,iBAAA1B,EAAApB,YAAAxD,GACA+E,MAAA,SAAAC,GACAJ,EAAA6B,MAAA,oBAGAC,OAAAD,MAAA,aACAxD,KAAA,OACA0D,QAAA,wBAGA/B,EAAA1F,mBAEA0H,OAAA,SAAAC,GACAjC,EAAA5F,eAAA,KAEAoG,SAAA,WACAR,EAAA9F,UAAA,OAKAyH,gBAAA,WACA,IAAA3B,EAAA,KAEA,IAAAA,EAAA9F,SAAA,CACA8F,EAAA9F,UAAA,EAEA,IAAAkB,EAAA,CACAC,UAAA2E,EAAA5E,KAAAC,UACA2D,QAAAgB,EAAAtE,cAAAkG,KAAA,KAEAnE,QAAAuC,EAAA5E,KAAAqC,QACAK,KAAAkC,EAAA5E,KAAA0C,MAGAoC,OAAAH,QACA4B,gBAAA3B,EAAAtB,QAAAhB,GAAAtC,GACA+E,MAAA,SAAAC,GACAJ,EAAA6B,MAAA,oBAGAC,OAAAD,MAAA,aACAxD,KAAA,OACA0D,QAAA,wBAGA/B,EAAA1F,mBAEA0H,OAAA,SAAAC,GACAjC,EAAA5F,eAAA,KAEAoG,SAAA,WACAR,EAAA9F,UAAA,SClXyW,I,YCOrWgI,EAAY,eACd,EACAvI,EACAsE,GACA,EACA,KACA,KACA,MAIa,aAAAiE,E","file":"js/chunk-2d0cc989.js?id=cf16309ed9ee073e1b9a","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('ui-component-modal',{attrs:{\"modalTitle\":_vm.$t('Components.Reservation.ModalSendMail.Main_Title'),\"modalSize\":\"large\",\"isSaving\":_vm.isSaving,\"isSavingSuccess\":_vm.isSavingSuccess,\"isSavingError\":_vm.isSavingError,\"savingErrorMessage\":_vm.$t('General.SendMailError'),\"buttonLabelConfirm\":_vm.$t('Components.Invoices.ModalSendInvoice.Button_Send'),\"disableSaveButton\":_vm.isSaving || !_vm.validEmailSettings,\"hideFooterButtons\":_vm.isSavingError || _vm.isSavingSuccess,\"onClickCancel\":_vm.onClickCancel,\"onClickSave\":_vm.sendMail,\"showModal\":_vm.showModal},on:{\"closeModal\":_vm.onClickCancel},scopedSlots:_vm._u([{key:\"content\",fn:function(){return [_c('table',{staticClass:\"table is-fullwidth\"},[_c('tbody',[_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Components.Reservation.ModalSendMail.Label_From')))]),_c('td',[_c('ui-base-input-field',{ref:\"mailaddressInput\",attrs:{\"fieldType\":\"text\",\"showLabel\":false,\"placeholder\":\"Add mailaddress\"},model:{value:(_vm.mail.FromEmail),callback:function ($$v) {_vm.$set(_vm.mail, \"FromEmail\", $$v)},expression:\"mail.FromEmail\"}})],1)]),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Components.Reservation.ModalSendMail.Label_To')))]),_c('td',[_c('MailInput',{attrs:{\"mailaddresses\":_vm.mailAddresses},on:{\"mailinputChecked\":_vm.setMailInputEmpty,\"mailaddressAdded\":_vm.addMailAddress,\"mailaddressDeleted\":_vm.deleteMailAddress}})],1)]),_c('tr',[_c('td',[_vm._v(\" \"+_vm._s(_vm.$t('Components.Reservation.ModalSendMail.Label_MailType'))+\" \")]),_c('td',[_c('div',{staticClass:\"select\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedMailType),expression:\"selectedMailType\"}],on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedMailType=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},_vm.updateMail]}},_vm._l((_vm.mailTexts),function(mailText,index){return _c('option',{key:index,domProps:{\"value\":mailText.MailType,\"selected\":_vm.selectedMailType === mailText.MailType}},[_vm._v(\" \"+_vm._s(mailText.MailType.replace('LocationProposal', '') + ' ' + mailText.Name)+\" \")])}),0)])])]),_c('tr',[_c('td',[_vm._v(\" \"+_vm._s(_vm.$t('Components.Reservation.ModalSendMail.Label_Subject'))+\" \")]),_c('td',[_c('div',{staticClass:\"control\"},[_c('ui-base-input-field',{attrs:{\"showLabel\":false,\"fieldType\":\"text\",\"placeholder\":\"Subject\"},model:{value:(_vm.mail.Subject),callback:function ($$v) {_vm.$set(_vm.mail, \"Subject\", $$v)},expression:\"mail.Subject\"}})],1)])]),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Components.Reservation.ModalSendMail.Label_Text')))]),_c('td',[_c('div',{staticClass:\"control\"},[_c('ui-text-editor',{key:'editor' + _vm.mail.Id,class:{ cke_chrome: _vm.hasBodyWarning },model:{value:(_vm.mail.Body),callback:function ($$v) {_vm.$set(_vm.mail, \"Body\", $$v)},expression:\"mail.Body\"}})],1)])])])])]},proxy:true}])},[_c('template',{slot:\"modalTitle\"})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <ui-component-modal\n    :modalTitle=\"$t('Components.Reservation.ModalSendMail.Main_Title')\"\n    modalSize=\"large\"\n    :isSaving=\"isSaving\"\n    :isSavingSuccess=\"isSavingSuccess\"\n    :isSavingError=\"isSavingError\"\n    :savingErrorMessage=\"$t('General.SendMailError')\"\n    :buttonLabelConfirm=\"$t('Components.Invoices.ModalSendInvoice.Button_Send')\"\n    :disableSaveButton=\"isSaving || !validEmailSettings\"\n    :hideFooterButtons=\"isSavingError || isSavingSuccess\"\n    :onClickCancel=\"onClickCancel\"\n    :onClickSave=\"sendMail\"\n    :showModal=\"showModal\"\n    @closeModal=\"onClickCancel\"\n  >\n    <template slot=\"modalTitle\"></template>\n    <template v-slot:content>\n      <table class=\"table is-fullwidth\">\n        <tbody>\n          <tr>\n            <td>{{ $t('Components.Reservation.ModalSendMail.Label_From') }}</td>\n            <td>\n              <ui-base-input-field\n                ref=\"mailaddressInput\"\n                fieldType=\"text\"\n                :showLabel=\"false\"\n                v-model=\"mail.FromEmail\"\n                placeholder=\"Add mailaddress\"\n              />\n            </td>\n          </tr>\n          <tr>\n            <td>{{ $t('Components.Reservation.ModalSendMail.Label_To') }}</td>\n            <td>\n              <MailInput\n                :mailaddresses=\"mailAddresses\"\n                @mailinputChecked=\"setMailInputEmpty\"\n                @mailaddressAdded=\"addMailAddress\"\n                @mailaddressDeleted=\"deleteMailAddress\"\n              />\n            </td>\n          </tr>\n          <tr>\n            <td>\n              {{ $t('Components.Reservation.ModalSendMail.Label_MailType') }}\n            </td>\n            <td>\n              <div class=\"select\">\n                <select\n                  v-model=\"selectedMailType\"\n                  @change=\"updateMail\"\n                >\n                  <option\n                    v-for=\"(mailText, index) in mailTexts\"\n                    :key=\"index\"\n                    :value=\"mailText.MailType\"\n                    :selected=\"selectedMailType === mailText.MailType\"\n                  >\n                    {{\n                      mailText.MailType.replace('LocationProposal', '') +\n                      ' ' +\n                      mailText.Name\n                    }}\n                  </option>\n                </select>\n              </div>\n            </td>\n          </tr>\n          <tr>\n            <td>\n              {{ $t('Components.Reservation.ModalSendMail.Label_Subject') }}\n            </td>\n            <td>\n              <div class=\"control\">\n                <ui-base-input-field\n                  :showLabel=\"false\"\n                  fieldType=\"text\"\n                  placeholder=\"Subject\"\n                  v-model=\"mail.Subject\"\n                />\n              </div>\n            </td>\n          </tr>\n          <tr>\n            <td>{{ $t('Components.Reservation.ModalSendMail.Label_Text') }}</td>\n            <td>\n              <div class=\"control\">\n                <ui-text-editor\n                  :key=\"'editor' + mail.Id\"\n                  v-model=\"mail.Body\"\n                  :class=\"{ cke_chrome: hasBodyWarning }\"\n                ></ui-text-editor>\n              </div>\n            </td>\n          </tr>\n        </tbody>\n      </table>\n    </template>\n  </ui-component-modal>\n</template>\n\n<script>\nimport { mapGetters, mapState } from 'vuex'\nimport { EventBus } from '@/eventbus/event-bus'\nimport mailProvider from '@/providers/mail'\n\nconst MailInput = () => import('@/components/UI/Components/MailInput')\n\nexport default {\n  components: {\n    MailInput,\n  },\n\n  props: {\n    showModal: {\n      type: Boolean,\n      default: false,\n    },\n\n    onClickCancel: {\n      type: Function,\n      required: true,\n    },\n\n    request: {\n      type: Object,\n      default: null,\n    },\n\n    proposalKey: {\n      type: String,\n      default: '',\n    },\n\n    mailType: {\n      type: String,\n      default: '',\n    },\n  },\n\n  data() {\n    return {\n      isSaving: false,\n      isSavingSuccess: false,\n      isSavingError: false,\n      mail: {\n        Id: 0,\n        FromEmail: '',\n        ToEmail: '',\n        // CC: '',\n        Subject: '',\n        Body: '',\n      },\n      mailAddresses: [],\n      mailTexts: [],\n      selectedMailType: 'LocationProposalNew',\n      proposalSettings: null,\n    }\n  },\n\n  computed: {\n    ...mapGetters({ profile: 'profileStore/getProfile' }),\n    ...mapState('locationStore', ['locationState']),\n\n    hasFromEmailWarning() {\n      return this.mail.FromEmail.length === 0\n    },\n\n    hasToEmailWarning() {\n      return this.mailAddresses.length === 0\n    },\n\n    hasSubjectWarning() {\n      return this.mail.Subject.length === 0\n    },\n\n    hasBodyWarning() {\n      return this.mail.Body.length === 0\n    },\n\n    validEmailSettings() {\n      let result = true\n\n      if (\n        this.hasFromEmailWarning ||\n        this.hasToEmailWarning ||\n        this.hasSubjectWarning ||\n        this.hasBodyWarning\n      ) {\n        result = false\n      }\n      return result\n    },\n  },\n\n  created() {\n    if (this.mailType.length > 0) {\n      this.selectedMailType = this.mailType\n    }\n\n    if (this.proposalKey.length > 0) {\n      this.getProposalMailTexts()\n    } else {\n      this.getRejectProposalMail()\n    }\n  },\n\n  methods: {\n    getProposalMailTexts() {\n      let self = this\n      self.hasLoadedTexts = false\n\n      mailProvider.methods\n        .getProposalMailTexts(self.proposalKey)\n        .then((response) => {\n          if (response.status === 200) {\n            self.mail.FromEmail = response.data.FromEmail\n            if (response.data.ToEmail.length) self.mailAddresses.push(response.data.ToEmail)\n\n            self.mailTexts = response.data.MailTexts\n\n            self.updateMail();\n          }\n        })\n        .finally(() => {\n          self.hasLoadedTexts = true\n        })\n    },\n\n    getRejectProposalMail() {\n      let self = this\n      self.hasLoadedTexts = false\n\n      mailProvider.methods\n        .getRejectProposalMailText(self.request.Id)\n        .then((response) => {\n          if (response.status === 200) {\n            self.mail.FromEmail = response.data.FromEmail\n            if (response.data.ToEmail.length) self.mailAddresses.push(response.data.ToEmail)\n\n            self.mailTexts = response.data.MailTexts\n\n            this.selectedMailType = this.mailType\n\n            self.selectedMailText = JSON.parse(\n              JSON.stringify(self.mailTexts[0])\n            )\n\n            self.updateMail()\n          }\n        })\n        .finally(() => {\n          self.hasLoadedTexts = true\n        })\n    },\n\n    setMailInputEmpty(value) {\n      if (value) {\n        this.addressWarning = false\n      }\n    },\n\n    hasToAddressWarning(emailError) {\n      if (emailError.length > 1) {\n        this.addressWarning = true\n      } else {\n        this.addressWarning = false\n      }\n    },\n\n    addMailAddress(address) {\n      this.mailAddresses.unshift(address)\n    },\n\n    deleteMailAddress(address) {\n      let addressIndex = this.mailAddresses.findIndex((t) => t === address)\n      if (addressIndex > -1) {\n        this.mailAddresses.splice(addressIndex, 1)\n      }\n    },\n\n    updateMail() {\n      let self = this\n\n      let mailText = self.mailTexts.find(\n        (mt) => mt.MailType === self.selectedMailType\n      )\n      if (mailText) {\n        self.mail.Id = mailText.Id\n        self.mail.Subject = mailText.Subject\n        self.mail.Body = mailText.Body\n      }\n    },\n\n    sendMail() {\n      if (this.proposalKey.length > 0) {\n        this.sendProposalMail()\n      } else {\n        this.sendRequestMail()\n      }\n    },\n\n    sendProposalMail() {\n      let self = this\n\n      if (!self.isSaving) {\n        self.isSaving = true\n\n        let mail = {\n          FromEmail: self.mail.FromEmail,\n          ToEmail: self.mailAddresses.join(','),\n          //CC: self.bccAddresses.join(','),\n          Subject: self.mail.Subject,\n          Body: self.mail.Body,\n        }\n\n        mailProvider.methods\n          .sendProposalMail(self.proposalKey, mail)\n          .then((response) => {\n            self.$emit('proposalMailSent')\n\n            // Send message to be shown as toast on page\n            EventBus.$emit('showToast', {\n              type: 'info',\n              message: 'Proposal mail sent!',\n            })\n\n            self.onClickCancel()\n          })\n          .catch((e) => {\n            self.isSavingError = true\n          })\n          .finally(() => {\n            self.isSaving = false\n          })\n      }\n    },\n\n    sendRequestMail() {\n      let self = this\n\n      if (!self.isSaving) {\n        self.isSaving = true\n\n        let mail = {\n          FromEmail: self.mail.FromEmail,\n          ToEmail: self.mailAddresses.join(','),\n          //CC: self.bccAddresses.join(','),\n          Subject: self.mail.Subject,\n          Body: self.mail.Body,\n        }\n\n        mailProvider.methods\n          .sendRequestMail(self.request.Id, mail)\n          .then((response) => {\n            self.$emit('proposalMailSent')\n\n            // Send message to be shown as toast on page\n            EventBus.$emit('showToast', {\n              type: 'info',\n              message: 'Proposal mail sent!',\n            })\n\n            self.onClickCancel()\n          })\n          .catch((e) => {\n            self.isSavingError = true\n          })\n          .finally(() => {\n            self.isSaving = false\n          })\n      }\n    },\n  },\n}\n</script>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalSendProposal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalSendProposal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ModalSendProposal.vue?vue&type=template&id=421c3758\"\nimport script from \"./ModalSendProposal.vue?vue&type=script&lang=js\"\nexport * from \"./ModalSendProposal.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports"],"sourceRoot":""}