firefly-iii/public/v3/js/2407.2fa7a27a.js
2022-04-12 17:45:54 +02:00

1 line
14 KiB
JavaScript

"use strict";(self["webpackChunkfirefly_iii"]=self["webpackChunkfirefly_iii"]||[]).push([[2407],{2407:(e,t,s)=>{s.r(t),s.d(t,{default:()=>ee});var r=s(9835),i=s(6970);const o={class:"row q-mx-md"},l={class:"col-12"},a={class:"row q-mx-md q-mt-md"},n={class:"col-xl-4 col-lg-6 col-md-12 col-xs-12 q-px-xs"},d=(0,r._)("div",{class:"text-h6"},"Basic options for recurring transaction",-1),u={class:"row"},c={class:"col-12 q-mb-xs"},m={class:"row"},p={class:"col-12 q-mb-xs"},b={class:"col-xl-4 col-lg-6 col-md-12 col-xs-12 q-px-xs"},_=(0,r._)("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,r._)("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,r._)("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"},M={class:"col-12 text-right"},D=(0,r._)("br",null,null,-1);function U(e,t,s,U,C,$){const Q=(0,r.up)("q-btn"),P=(0,r.up)("q-banner"),F=(0,r.up)("q-card-section"),H=(0,r.up)("q-input"),T=(0,r.up)("q-select"),B=(0,r.up)("q-card"),j=(0,r.up)("q-checkbox"),O=(0,r.up)("q-page");return(0,r.wg)(),(0,r.j4)(O,null,{default:(0,r.w5)((()=>[(0,r._)("div",o,[(0,r._)("div",l,[""!==C.errorMessage?((0,r.wg)(),(0,r.j4)(P,{key:0,"inline-actions":"",rounded:"",class:"bg-orange text-white"},{action:(0,r.w5)((()=>[(0,r.Wm)(Q,{flat:"",onClick:$.dismissBanner,label:"Dismiss"},null,8,["onClick"])])),default:(0,r.w5)((()=>[(0,r.Uk)((0,i.zw)(C.errorMessage)+" ",1)])),_:1})):(0,r.kq)("",!0)])]),(0,r._)("div",a,[(0,r._)("div",n,[(0,r.Wm)(B,{bordered:""},{default:(0,r.w5)((()=>[(0,r.Wm)(F,null,{default:(0,r.w5)((()=>[d])),_:1}),(0,r.Wm)(F,null,{default:(0,r.w5)((()=>[(0,r._)("div",u,[(0,r._)("div",c,[(0,r.Wm)(H,{"error-message":C.submissionErrors.title,error:C.hasSubmissionErrors.title,"bottom-slots":"",disable:$.disabledInput,type:"text",clearable:"",modelValue:C.title,"onUpdate:modelValue":t[0]||(t[0]=e=>C.title=e),label:e.$t("form.title"),outlined:""},null,8,["error-message","error","disable","modelValue","label"])])]),(0,r._)("div",m,[(0,r._)("div",p,[(0,r.Wm)(T,{"error-message":C.submissionErrors.type,error:C.hasSubmissionErrors.type,"bottom-slots":"",disable:$.disabledInput,outlined:"",modelValue:C.type,"onUpdate:modelValue":t[1]||(t[1]=e=>C.type=e),"emit-value":"",class:"q-pr-xs","map-options":"",options:C.types,label:"Transaction type"},null,8,["error-message","error","disable","modelValue","options"])])])])),_:1})])),_:1})]),(0,r._)("div",b,[(0,r.Wm)(B,{bordered:""},{default:(0,r.w5)((()=>[(0,r.Wm)(F,null,{default:(0,r.w5)((()=>[_])),_:1}),(0,r.Wm)(F,null,{default:(0,r.w5)((()=>[(0,r._)("div",h,[(0,r._)("div",g,[(0,r.Wm)(H,{"error-message":C.submissionErrors.first_date,error:C.hasSubmissionErrors.first_date,clearable:"","bottom-slots":"",disable:$.disabledInput,type:"date",modelValue:C.first_date,"onUpdate:modelValue":t[2]||(t[2]=e=>C.first_date=e),label:e.$t("form.first_date"),hint:"The first date you want the recurrence",outlined:""},null,8,["error-message","error","disable","modelValue","label"])])]),(0,r._)("div",f,[(0,r._)("div",y,[(0,r.Wm)(H,{"error-message":C.submissionErrors.nr_of_repetitions,error:C.hasSubmissionErrors.nr_of_repetitions,clearable:"","bottom-slots":"",disable:$.disabledInput,type:"number",step:"1",modelValue:C.nr_of_repetitions,"onUpdate:modelValue":t[3]||(t[3]=e=>C.nr_of_repetitions=e),label:e.$t("form.repetitions"),hint:"nr_of_repetitions",outlined:""},null,8,["error-message","error","disable","modelValue","label"])])]),(0,r._)("div",x,[(0,r._)("div",w,[(0,r.Wm)(H,{"error-message":C.submissionErrors.repeat_until,error:C.hasSubmissionErrors.repeat_until,"bottom-slots":"",disable:$.disabledInput,type:"date",modelValue:C.repeat_until,"onUpdate:modelValue":t[4]||(t[4]=e=>C.repeat_until=e),hint:"repeat_until",clearable:"",outlined:""},null,8,["error-message","error","disable","modelValue"])])])])),_:1})])),_:1})])]),(0,r._)("div",v,[(0,r._)("div",E,[(0,r.Wm)(B,{bordered:""},{default:(0,r.w5)((()=>[(0,r.Wm)(F,null,{default:(0,r.w5)((()=>[k])),_:1}),(0,r.Wm)(F,null,{default:(0,r.w5)((()=>[(0,r.Wm)(H,{"error-message":C.submissionErrors.transactions[C.index].description,error:C.hasSubmissionErrors.transactions[C.index].description,"bottom-slots":"",disable:$.disabledInput,type:"text",clearable:"",modelValue:C.transactions[C.index].description,"onUpdate:modelValue":t[5]||(t[5]=e=>C.transactions[C.index].description=e),label:e.$t("form.description"),outlined:""},null,8,["error-message","error","disable","modelValue","label"]),(0,r.Wm)(H,{"error-message":C.submissionErrors.transactions[C.index].amount,error:C.hasSubmissionErrors.transactions[C.index].amount,"bottom-slots":"",disable:$.disabledInput,clearable:"",mask:C.balance_input_mask,"reverse-fill-mask":"",hint:"Expects #.##","fill-mask":"0",modelValue:C.transactions[C.index].amount,"onUpdate:modelValue":t[6]||(t[6]=e=>C.transactions[C.index].amount=e),label:e.$t("firefly.amount"),outlined:""},null,8,["error-message","error","disable","mask","modelValue","label"]),(0,r.Wm)(T,{"error-message":C.submissionErrors.transactions[C.index].source_id,error:C.hasSubmissionErrors.transactions[C.index].source_id,modelValue:C.transactions[C.index].source_id,"onUpdate:modelValue":t[7]||(t[7]=e=>C.transactions[C.index].source_id=e),"bottom-slots":"",disable:C.loading,outlined:"","emit-value":"",class:"q-pr-xs","map-options":"",options:C.accounts,label:"Source account"},null,8,["error-message","error","modelValue","disable","options"]),(0,r.Wm)(T,{"error-message":C.submissionErrors.transactions[C.index].destination_id,error:C.hasSubmissionErrors.transactions[C.index].destination_id,modelValue:C.transactions[C.index].destination_id,"onUpdate:modelValue":t[8]||(t[8]=e=>C.transactions[C.index].destination_id=e),"bottom-slots":"",disable:$.disabledInput,outlined:"","emit-value":"",class:"q-pr-xs","map-options":"",options:C.accounts,label:"Destination account"},null,8,["error-message","error","modelValue","disable","options"])])),_:1})])),_:1})]),(0,r._)("div",V,[(0,r.Wm)(B,{bordered:""},{default:(0,r.w5)((()=>[(0,r.Wm)(F,null,{default:(0,r.w5)((()=>[q])),_:1}),(0,r.Wm)(F,null,{default:(0,r.w5)((()=>[(0,r.Wm)(T,{"error-message":C.submissionErrors.repetitions[C.index].type,error:C.hasSubmissionErrors.repetitions[C.index].type,"bottom-slots":"","emit-value":"",outlined:"",modelValue:C.repetitions[C.index].type,"onUpdate:modelValue":t[9]||(t[9]=e=>C.repetitions[C.index].type=e),"map-options":"",options:C.repetition_types,label:"Type of repetition"},null,8,["error-message","error","modelValue","options"]),(0,r.Wm)(H,{"error-message":C.submissionErrors.repetitions[C.index].skip,error:C.hasSubmissionErrors.repetitions[C.index].skip,"bottom-slots":"",disable:$.disabledInput,clearable:"",modelValue:C.repetitions[C.index].skip,"onUpdate:modelValue":t[10]||(t[10]=e=>C.repetitions[C.index].skip=e),type:"number",min:"0",max:"31",label:e.$t("firefly.skip"),outlined:""},null,8,["error-message","error","disable","modelValue","label"]),(0,r.Wm)(T,{"error-message":C.submissionErrors.repetitions[C.index].weekend,error:C.hasSubmissionErrors.repetitions[C.index].weekend,modelValue:C.repetitions[C.index].weekend,"onUpdate:modelValue":t[11]||(t[11]=e=>C.repetitions[C.index].weekend=e),"bottom-slots":"",disable:$.disabledInput,outlined:"","emit-value":"",class:"q-pr-xs","map-options":"",options:C.weekends,label:"Weekend?"},null,8,["error-message","error","modelValue","disable","options"])])),_:1})])),_:1})])]),(0,r._)("div",W,[(0,r._)("div",S,[(0,r.Wm)(B,{class:"q-mt-xs"},{default:(0,r.w5)((()=>[(0,r.Wm)(F,null,{default:(0,r.w5)((()=>[(0,r._)("div",I,[(0,r._)("div",R,[(0,r.Wm)(Q,{disable:$.disabledInput,color:"primary",label:"Submit",onClick:$.submitRecurrence},null,8,["disable","onClick"])])]),(0,r._)("div",Z,[(0,r._)("div",M,[(0,r.Wm)(j,{disable:$.disabledInput,modelValue:C.doReturnHere,"onUpdate:modelValue":t[12]||(t[12]=e=>C.doReturnHere=e),"left-label":"",label:"Return here to create another one"},null,8,["disable","modelValue"]),D,(0,r.Wm)(j,{modelValue:C.doResetForm,"onUpdate:modelValue":t[13]||(t[13]=e=>C.doResetForm=e),"left-label":"",disable:!C.doReturnHere||$.disabledInput,label:"Reset form after submission"},null,8,["modelValue","disable"])])])])),_:1})])),_:1})])])])),_:1})}var C=s(1569);class ${post(e){let t="/api/v1/recurrences";return C.api.post(t,e)}}var Q=s(1049),P=s(8898),F=s(3836),H=s(8480);const T={name:"Create",data(){return{index:0,loading:!0,submissionErrors:{},hasSubmissionErrors:{},submitting:!1,doReturnHere:!1,doResetForm:!1,errorMessage:"",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:[],accounts:[],title:"",type:"withdrawal",first_date:"",nr_of_repetitions:null,repeat_until:null,repetitions:{},transactions:{}}},watch:{first_date:function(){this.recalculateRepetitions()}},computed:{...(0,Q.Se)("fireflyiii",["getCacheKey"]),disabledInput:function(){return this.submitting}},created(){this.resetForm(),this.getAccounts(),this.recalculateRepetitions()},methods:{recalculateRepetitions:function(){console.log("recalculateRepetitions");let e=(0,H.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),r=0;s.setDate(1);const i=new Date(s.getFullYear(),s.getMonth()+1,0).getDate();let o=1;while(s.getDate()<=i&&e.getMonth()===s.getMonth()||o<=32){if(o++,t===(0,P.Z)(s,"EEEE")&&r++,s.getDate()===e.getDate())return r;s.setDate(s.getDate()+1)}return r},resetForm:function(){this.title="",this.type="withdrawal",this.nr_of_repetitions=null,this.repeat_until=null;let e=new Date;e.setDate(e.getDate()+1),this.first_date=(0,P.Z)(e,"y-MM-dd"),this.repetitions=[{type:"daily",moment:"",skip:null,weekend:1}],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.resetErrors()},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}]}},submitRecurrence:function(){this.submitting=!0,this.errorMessage="",this.resetErrors();const e=this.buildRecurrence();(new $).post(e).catch(this.processErrors).then(this.processSuccess)},buildRecurrence: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="",r=(0,H.Z)(this.first_date+"T00:00:00");if("monthly"===this.repetitions[t].type&&(s=r.getDate().toString()),"ndom"===this.repetitions[t].type){let e=this.getXth(r);s=e+","+(0,P.Z)(r,"i")}"yearly"===this.repetitions[t].type&&(s=(0,P.Z)(r,"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(!e)return;this.submitting=!1;let t={level:"success",text:"I am new recurrence",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)if(t.errors.hasOwnProperty(e)){let s=e;if(s.includes(".")){let r=s.split("."),i=r[0],o=parseInt(r[1]),l=r[2];this.submissionErrors[i][o][l]=t.errors[e][0],this.hasSubmissionErrors[i][o][l]=!0}s.includes(".")||(this.submissionErrors[e]=t.errors[e][0],this.hasSubmissionErrors[e]=!0)}}this.submitting=!1},getAccounts:function(){this.getPage(1)},getPage:function(e){(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)})}e<s&&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 B=s(1639),j=s(9885),O=s(7128),X=s(8879),A=s(4458),K=s(3190),z=s(6611),G=s(7887),Y=s(1221),J=s(9984),L=s.n(J);const N=(0,B.Z)(T,[["render",U]]),ee=N;L()(T,"components",{QPage:j.Z,QBanner:O.Z,QBtn:X.Z,QCard:A.Z,QCardSection:K.Z,QInput:z.Z,QSelect:G.Z,QCheckbox:Y.Z})}}]);