mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-09-30 02:26:58 +00:00
1 line
14 KiB
JavaScript
Vendored
1 line
14 KiB
JavaScript
Vendored
"use strict";(globalThis["webpackChunkfirefly_iii"]=globalThis["webpackChunkfirefly_iii"]||[]).push([[9412],{9412:(e,t,s)=>{s.r(t),s.d(t,{default:()=>te});var i=s(9835),r=s(6970);const o={class:"row q-mx-md"},n={class:"col-12"},a={class:"row q-mx-md q-mt-md"},l={class:"col-xl-4 col-lg-6 col-md-12 col-xs-12 q-px-xs"},d=(0,i._)("div",{class:"text-h6"},"Basic options for recurring transaction",-1),u={class:"row"},c={class:"col-12 q-mb-xs"},p={class:"row"},m={class:"col-12 q-mb-xs"},b={class:"col-xl-4 col-lg-6 col-md-12 col-xs-12 q-px-xs"},_=(0,i._)("div",{class:"text-h6"},"Repeat info",-1),h={class:"row"},g={class:"col-12 q-mb-xs"},f={class:"row"},y={class:"col-12 q-mb-xs"},x={class:"row"},w={class:"col-12 q-mb-xs"},v={class:"row q-mx-md q-mt-md"},E={class:"col-xl-4 col-lg-6 col-md-12 col-xs-12 q-px-xs"},k=(0,i._)("div",{class:"text-h6"},"Single transaction",-1),V={class:"col-xl-4 col-lg-6 col-md-12 col-xs-12 q-px-xs"},q=(0,i._)("div",{class:"text-h6"},"Single repetition",-1),W={class:"row q-mx-md"},S={class:"col-12 q-pa-xs"},I={class:"row"},R={class:"col-12 text-right"},Z={class:"row"},T={class:"col-12 text-right"},M=(0,i._)("br",null,null,-1);function U(e,t,s,U,D,C){const $=(0,i.up)("q-btn"),Q=(0,i.up)("q-banner"),P=(0,i.up)("q-card-section"),F=(0,i.up)("q-input"),H=(0,i.up)("q-select"),B=(0,i.up)("q-card"),j=(0,i.up)("q-checkbox"),O=(0,i.up)("q-page");return(0,i.wg)(),(0,i.j4)(O,null,{default:(0,i.w5)((()=>[(0,i._)("div",o,[(0,i._)("div",n,[""!==D.errorMessage?((0,i.wg)(),(0,i.j4)(Q,{key:0,class:"bg-orange text-white","inline-actions":"",rounded:""},{action:(0,i.w5)((()=>[(0,i.Wm)($,{flat:"",label:"Dismiss",onClick:C.dismissBanner},null,8,["onClick"])])),default:(0,i.w5)((()=>[(0,i.Uk)((0,r.zw)(D.errorMessage)+" ",1)])),_:1})):(0,i.kq)("",!0)])]),(0,i._)("div",a,[(0,i._)("div",l,[(0,i.Wm)(B,{bordered:""},{default:(0,i.w5)((()=>[(0,i.Wm)(P,null,{default:(0,i.w5)((()=>[d])),_:1}),(0,i.Wm)(P,null,{default:(0,i.w5)((()=>[(0,i._)("div",u,[(0,i._)("div",c,[(0,i.Wm)(F,{modelValue:D.title,"onUpdate:modelValue":t[0]||(t[0]=e=>D.title=e),disable:C.disabledInput,error:D.hasSubmissionErrors.title,"error-message":D.submissionErrors.title,label:e.$t("form.title"),"bottom-slots":"",clearable:"",outlined:"",type:"text"},null,8,["modelValue","disable","error","error-message","label"])])]),(0,i._)("div",p,[(0,i._)("div",m,[(0,i.Wm)(H,{modelValue:D.type,"onUpdate:modelValue":t[1]||(t[1]=e=>D.type=e),disable:C.disabledInput,error:D.hasSubmissionErrors.type,"error-message":D.submissionErrors.type,options:D.types,"bottom-slots":"",class:"q-pr-xs","emit-value":"",label:"Transaction type","map-options":"",outlined:""},null,8,["modelValue","disable","error","error-message","options"])])])])),_:1})])),_:1})]),(0,i._)("div",b,[(0,i.Wm)(B,{bordered:""},{default:(0,i.w5)((()=>[(0,i.Wm)(P,null,{default:(0,i.w5)((()=>[_])),_:1}),(0,i.Wm)(P,null,{default:(0,i.w5)((()=>[(0,i._)("div",h,[(0,i._)("div",g,[(0,i.Wm)(F,{modelValue:D.first_date,"onUpdate:modelValue":t[2]||(t[2]=e=>D.first_date=e),disable:C.disabledInput,error:D.hasSubmissionErrors.first_date,"error-message":D.submissionErrors.first_date,label:e.$t("form.first_date"),"bottom-slots":"",clearable:"",hint:"The first date you want the recurrence",outlined:"",type:"date"},null,8,["modelValue","disable","error","error-message","label"])])]),(0,i._)("div",f,[(0,i._)("div",y,[(0,i.Wm)(F,{modelValue:D.nr_of_repetitions,"onUpdate:modelValue":t[3]||(t[3]=e=>D.nr_of_repetitions=e),disable:C.disabledInput,error:D.hasSubmissionErrors.nr_of_repetitions,"error-message":D.submissionErrors.nr_of_repetitions,label:e.$t("form.repetitions"),"bottom-slots":"",clearable:"",hint:"nr_of_repetitions",outlined:"",step:"1",type:"number"},null,8,["modelValue","disable","error","error-message","label"])])]),(0,i._)("div",x,[(0,i._)("div",w,[(0,i.Wm)(F,{modelValue:D.repeat_until,"onUpdate:modelValue":t[4]||(t[4]=e=>D.repeat_until=e),disable:C.disabledInput,error:D.hasSubmissionErrors.repeat_until,"error-message":D.submissionErrors.repeat_until,"bottom-slots":"",clearable:"",hint:"repeat_until",outlined:"",type:"date"},null,8,["modelValue","disable","error","error-message"])])])])),_:1})])),_:1})])]),(0,i._)("div",v,[(0,i._)("div",E,[(0,i.Wm)(B,{bordered:""},{default:(0,i.w5)((()=>[(0,i.Wm)(P,null,{default:(0,i.w5)((()=>[k])),_:1}),(0,i.Wm)(P,null,{default:(0,i.w5)((()=>[(0,i.Wm)(F,{modelValue:D.transactions[D.index].description,"onUpdate:modelValue":t[5]||(t[5]=e=>D.transactions[D.index].description=e),disable:C.disabledInput,error:D.hasSubmissionErrors.transactions[D.index].description,"error-message":D.submissionErrors.transactions[D.index].description,label:e.$t("form.description"),"bottom-slots":"",clearable:"",outlined:"",type:"text"},null,8,["modelValue","disable","error","error-message","label"]),(0,i.Wm)(F,{modelValue:D.transactions[D.index].amount,"onUpdate:modelValue":t[6]||(t[6]=e=>D.transactions[D.index].amount=e),disable:C.disabledInput,error:D.hasSubmissionErrors.transactions[D.index].amount,"error-message":D.submissionErrors.transactions[D.index].amount,label:e.$t("firefly.amount"),mask:D.balance_input_mask,"bottom-slots":"",clearable:"","fill-mask":"0",hint:"Expects #.##",outlined:"","reverse-fill-mask":""},null,8,["modelValue","disable","error","error-message","label","mask"]),(0,i.Wm)(H,{modelValue:D.transactions[D.index].source_id,"onUpdate:modelValue":t[7]||(t[7]=e=>D.transactions[D.index].source_id=e),disable:C.disabledInput,error:D.hasSubmissionErrors.transactions[D.index].source_id,"error-message":D.submissionErrors.transactions[D.index].source_id,options:D.accounts,"bottom-slots":"",class:"q-pr-xs","emit-value":"",label:"Source account","map-options":"",outlined:""},null,8,["modelValue","disable","error","error-message","options"]),(0,i.Wm)(H,{modelValue:D.transactions[D.index].destination_id,"onUpdate:modelValue":t[8]||(t[8]=e=>D.transactions[D.index].destination_id=e),disable:C.disabledInput,error:D.hasSubmissionErrors.transactions[D.index].destination_id,"error-message":D.submissionErrors.transactions[D.index].destination_id,options:D.accounts,"bottom-slots":"",class:"q-pr-xs","emit-value":"",label:"Destination account","map-options":"",outlined:""},null,8,["modelValue","disable","error","error-message","options"])])),_:1})])),_:1})]),(0,i._)("div",V,[(0,i.Wm)(B,{bordered:""},{default:(0,i.w5)((()=>[(0,i.Wm)(P,null,{default:(0,i.w5)((()=>[q])),_:1}),(0,i.Wm)(P,null,{default:(0,i.w5)((()=>[(0,i.Wm)(H,{modelValue:D.repetitions[D.index].type,"onUpdate:modelValue":t[9]||(t[9]=e=>D.repetitions[D.index].type=e),disable:C.disabledInput,error:D.hasSubmissionErrors.repetitions[D.index].type,"error-message":D.submissionErrors.repetitions[D.index].type,options:D.repetition_types,"bottom-slots":"","emit-value":"",label:"Type of repetition","map-options":"",outlined:""},null,8,["modelValue","disable","error","error-message","options"]),(0,i.Wm)(F,{modelValue:D.repetitions[D.index].skip,"onUpdate:modelValue":t[10]||(t[10]=e=>D.repetitions[D.index].skip=e),disable:C.disabledInput,error:D.hasSubmissionErrors.repetitions[D.index].skip,"error-message":D.submissionErrors.repetitions[D.index].skip,label:e.$t("form.skip"),"bottom-slots":"",clearable:"",max:"31",min:"0",outlined:"",type:"number"},null,8,["modelValue","disable","error","error-message","label"]),(0,i.Wm)(H,{modelValue:D.repetitions[D.index].weekend,"onUpdate:modelValue":t[11]||(t[11]=e=>D.repetitions[D.index].weekend=e),disable:C.disabledInput,error:D.hasSubmissionErrors.repetitions[D.index].weekend,"error-message":D.submissionErrors.repetitions[D.index].weekend,options:D.weekends,"bottom-slots":"",class:"q-pr-xs","emit-value":"",label:"Weekend?","map-options":"",outlined:""},null,8,["modelValue","disable","error","error-message","options"])])),_:1})])),_:1})])]),(0,i._)("div",W,[(0,i._)("div",S,[(0,i.Wm)(B,{class:"q-mt-xs"},{default:(0,i.w5)((()=>[(0,i.Wm)(P,null,{default:(0,i.w5)((()=>[(0,i._)("div",I,[(0,i._)("div",R,[(0,i.Wm)($,{disable:C.disabledInput,color:"primary",label:"Submit",onClick:C.submitRecurringTransaction},null,8,["disable","onClick"])])]),(0,i._)("div",Z,[(0,i._)("div",T,[(0,i.Wm)(j,{modelValue:D.doReturnHere,"onUpdate:modelValue":t[12]||(t[12]=e=>D.doReturnHere=e),disable:C.disabledInput,label:"Return here to create another one","left-label":""},null,8,["modelValue","disable"]),M,(0,i.Wm)(j,{modelValue:D.doResetForm,"onUpdate:modelValue":t[13]||(t[13]=e=>D.doResetForm=e),disable:!D.doReturnHere||C.disabledInput,label:"Reset form after submission","left-label":""},null,8,["modelValue","disable"])])])])),_:1})])),_:1})])])])),_:1})}var D=s(4352),C=s(1569);class ${post(e,t){let s="/api/v1/recurrences/"+e;return C.api.put(s,t)}}var Q=s(8480),P=s(8898),F=s(3836),H=s(3555);const B={name:"Edit",data(){return{submissionErrors:{},hasSubmissionErrors:{},submitting:!1,loading:!1,doReturnHere:!1,doResetForm:!1,errorMessage:"",index:0,accounts:[],balance_input_mask:"#.##",types:[{value:"withdrawal",label:"Withdrawal"},{value:"deposit",label:"Deposit"},{value:"transfer",label:"Transfer"}],weekends:[{value:1,label:"dont care"},{value:2,label:"skip creation"},{value:3,label:"jump to previous friday"},{value:4,label:"jump to next monday"}],repetition_types:[],id:0,type:"",title:"",first_date:null,nr_of_repetitions:0,repeat_until:"",repetitions:{},transactions:{},store:null}},watch:{first_date:function(){this.recalculateRepetitions()}},computed:{disabledInput:function(){return this.submitting||this.loading}},created(){this.loading=!0,this.store=(0,H.S)(),this.resetErrors(),this.resetForm(),this.getAccounts().then((()=>{this.collectRecurringTransaction().then((()=>{this.loading=!1}))})),this.id=parseInt(this.$route.params.id)},methods:{resetForm:function(){this.transactions=[{description:null,amount:null,foreign_amount:null,currency_id:null,currency_code:null,foreign_currency_id:null,foreign_currency_code:null,budget_id:null,category_id:null,source_id:null,destination_id:null,tags:null,piggy_bank_id:null}],this.repetitions=[{type:"daily",moment:"",skip:null,weekend:1}]},recalculateRepetitions:function(){let e=(0,Q.Z)(this.first_date+"T00:00:00"),t=this.getXth(e);this.repetition_types=[{value:"daily",label:"Every day"},{value:"monthly",label:"Every month on the "+(0,P.Z)(e,"do")+" day"},{value:"ndom",label:"Every month on the "+t+"-th "+(0,P.Z)(e,"EEEE")},{value:"yearly",label:"Every year on "+(0,P.Z)(e,"d MMMM")}]},getXth:function(e){let t=(0,P.Z)(e,"EEEE"),s=new Date(e),i=0;s.setDate(1);const r=new Date(s.getFullYear(),s.getMonth()+1,0).getDate();let o=1;while(s.getDate()<=r&&e.getMonth()===s.getMonth()||o<=32){if(o++,t===(0,P.Z)(s,"EEEE")&&i++,s.getDate()===e.getDate())return i;s.setDate(s.getDate()+1)}return i},collectRecurringTransaction:function(){let e=new D.Z;return e.get(this.id).then((e=>this.parseRecurringTransaction(e)))},parseRecurringTransaction:function(e){let t=e.data.data,s=t.attributes;this.id=parseInt(t.id),this.title=s.title,this.type=s.type,this.first_date=s.first_date.substr(0,10),this.nr_of_repetitions=s.nr_of_repetitions,this.repeat_until=s.repeat_until?s.repeat_until.substr(0,10):null;let i=s.transactions[0];this.transactions[0].description=i.description,this.transactions[0].amount=i.amount,this.transactions[0].source_id=parseInt(i.source_id),this.transactions[0].destination_id=parseInt(i.destination_id);let r=s.repetitions[0];this.repetitions[0].type=r.type,this.repetitions[0].weekend=r.weekend,this.repetitions[0].skip=r.skip},resetErrors:function(){this.submissionErrors={title:"",type:"",first_date:"",nr_of_repetitions:"",repeat_until:"",transactions:[{description:"",amount:"",foreign_amount:"",currency_id:"",currency_code:"",foreign_currency_id:"",foreign_currency_code:"",budget_id:"",category_id:"",source_id:"",destination_id:"",tags:"",piggy_bank_id:""}],repetitions:[{type:"",moment:"",skip:"",weekend:""}]},this.hasSubmissionErrors={title:!1,type:!1,first_date:!1,nr_of_repetitions:!1,repeat_until:!1,transactions:[{description:!1,amount:!1,foreign_amount:!1,currency_id:!1,currency_code:!1,foreign_currency_id:!1,foreign_currency_code:!1,budget_id:!1,category_id:!1,source_id:!1,destination_id:!1,tags:!1,piggy_bank_id:!1}],repetitions:[{type:!1,moment:!1,skip:!1,weekend:!1}]}},submitRecurringTransaction:function(){this.submitting=!0,this.errorMessage="",this.resetErrors();const e=this.buildRecurringTransaction();(new $).post(this.id,e).catch(this.processErrors).then(this.processSuccess)},buildRecurringTransaction:function(){let e={title:this.title,type:this.type,first_date:this.first_date,nr_of_repetitions:this.nr_of_repetitions,repeat_until:this.repeat_until,transactions:this.transactions,repetitions:[]};for(let t in this.repetitions)if(this.repetitions.hasOwnProperty(t)){let s="",i=(0,Q.Z)(this.first_date+"T00:00:00");if("monthly"===this.repetitions[t].type&&(s=i.getDate().toString()),"ndom"===this.repetitions[t].type){let e=this.getXth(i);s=e+","+(0,P.Z)(i,"i")}"yearly"===this.repetitions[t].type&&(s=(0,P.Z)(i,"yyyy-MM-dd")),e.repetitions.push({type:this.repetitions[t].type,moment:s,skip:this.repetitions[t].skip,weekend:this.repetitions[t].weekend})}return e},dismissBanner:function(){this.errorMessage=""},processSuccess:function(e){if(this.store.refreshCacheKey(),!e)return;this.submitting=!1;let t={level:"success",text:"Recurrence is updated",show:!0,action:{show:!0,text:"Go to recurrence",link:{name:"recurring.show",params:{id:parseInt(e.data.data.id)}}}};this.$q.localStorage.set("flash",t),this.doReturnHere&&window.dispatchEvent(new CustomEvent("flash",{detail:{flash:this.$q.localStorage.getItem("flash")}})),this.doReturnHere||this.$router.go(-1)},processErrors:function(e){if(e.response){let t=e.response.data;this.errorMessage=t.message;for(let e in t.errors)t.errors.hasOwnProperty(e)&&(this.submissionErrors[e]=t.errors[e][0],this.hasSubmissionErrors[e]=!0)}this.submitting=!1},getAccounts:function(){return this.getPage(1)},getPage:function(e){return(new F.Z).list("all",e,this.getCacheKey).then((t=>{let s=parseInt(t.data.meta.pagination.total_pages);for(let e in t.data.data)if(t.data.data.hasOwnProperty(e)){let s=t.data.data[e];this.accounts.push({value:parseInt(s.id),label:s.attributes.type+": "+s.attributes.name,decimal_places:parseInt(s.attributes.currency_decimal_places)})}if(e<s)return this.getPage(e+1);e===s&&(this.loading=!1,this.accounts.sort(((e,t)=>e.label>t.label?1:t.label>e.label?-1:0)))}))}}};var j=s(1639),O=s(9885),X=s(7128),A=s(8879),K=s(4458),z=s(3190),G=s(6611),Y=s(7887),J=s(1221),L=s(9984),N=s.n(L);const ee=(0,j.Z)(B,[["render",U]]),te=ee;N()(B,"components",{QPage:O.Z,QBanner:X.Z,QBtn:A.Z,QCard:K.Z,QCardSection:z.Z,QInput:G.Z,QSelect:Y.Z,QCheckbox:J.Z})}}]); |