mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-10-01 07:12:40 +00:00
1 line
5.8 KiB
JavaScript
Vendored
1 line
5.8 KiB
JavaScript
Vendored
"use strict";(globalThis["webpackChunkfirefly_iii"]=globalThis["webpackChunkfirefly_iii"]||[]).push([[3922],{3922:(t,e,a)=>{a.r(e),a.d(e,{default:()=>R});var s=a(9835),n=a(6970);const r={class:"q-mt-sm q-mr-sm"},i=(0,s._)("strong",null," Budgets ",-1),o={class:(0,n.C_)("row bg-blue-1")},l={class:"col"},u={class:"row"},d={class:"col"},m={key:0},c={key:0},p={key:1},g={key:1},f={key:0},h={key:1},w={class:"col"},_=(0,s._)("div",{class:"row"},[(0,s._)("div",{class:"col"},[(0,s.Uk)(" No budget TODO"),(0,s._)("br")])],-1);function b(t,e,a,b,y,v){const k=(0,s.up)("q-item-label"),B=(0,s.up)("q-item-section"),D=(0,s.up)("q-item"),q=(0,s.up)("q-separator"),F=(0,s.up)("router-link"),Z=(0,s.up)("q-linear-progress"),O=(0,s.up)("q-card-section"),S=(0,s.up)("q-card");return(0,s.wg)(),(0,s.iD)("div",r,[(0,s.Wm)(S,{bordered:""},{default:(0,s.w5)((()=>[(0,s.Wm)(D,null,{default:(0,s.w5)((()=>[(0,s.Wm)(B,null,{default:(0,s.w5)((()=>[(0,s.Wm)(k,null,{default:(0,s.w5)((()=>[i])),_:1})])),_:1})])),_:1}),(0,s.Wm)(q),(0,s.Wm)(O,null,{default:(0,s.w5)((()=>[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(y.budgets,((t,e)=>((0,s.wg)(),(0,s.iD)("div",{key:t.id},[(0,s._)("div",o,[(0,s._)("div",l,[(0,s.Wm)(F,{to:{name:"budgets.show",params:{id:t.id}}},{default:(0,s.w5)((()=>[(0,s.Uk)((0,n.zw)(t.name),1)])),_:2},1032,["to"])])]),((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(t.limits,((e,a)=>((0,s.wg)(),(0,s.iD)("div",null,[(0,s._)("div",u,[(0,s._)("div",d,[(0,s._)("small",null,[parseFloat(e.amount)+parseFloat(e.sum)>0||0===parseFloat(e.amount)?((0,s.wg)(),(0,s.iD)("span",m,[(0,s.Uk)(" Spent "+(0,n.zw)(v.formatAmount(e.currency_code,e.sum))+" ",1),0!==parseFloat(e.amount)?((0,s.wg)(),(0,s.iD)("span",c," from "+(0,n.zw)(v.formatAmount(e.currency_code,e.amount)),1)):(0,s.kq)("",!0),null!==e.start&&null!==e.end?((0,s.wg)(),(0,s.iD)("span",p," between "+(0,n.zw)(v.formatDate(e.start))+" - "+(0,n.zw)(v.formatDate(e.end)),1)):(0,s.kq)("",!0)])):(0,s.kq)("",!0),parseFloat(e.amount)+parseFloat(e.sum)<0&&0!==parseFloat(e.amount)?((0,s.wg)(),(0,s.iD)("span",g,[(0,s.Uk)(" Overspent "+(0,n.zw)(v.formatAmount(e.currency_code,-1*(parseFloat(e.amount)+parseFloat(e.sum))))+" ",1),0!==parseFloat(e.amount)?((0,s.wg)(),(0,s.iD)("span",f," on "+(0,n.zw)(v.formatAmount(e.currency_code,e.amount)),1)):(0,s.kq)("",!0),null!==e.start&&null!==e.end?((0,s.wg)(),(0,s.iD)("span",h," between "+(0,n.zw)(v.formatDate(e.start))+" - "+(0,n.zw)(v.formatDate(e.end)),1)):(0,s.kq)("",!0)])):(0,s.kq)("",!0)])]),(0,s._)("div",w,[(0,s.Wm)(Z,{indeterminate:t.indeterminate,value:e.percentage,class:"q-mt-md"},null,8,["indeterminate","value"])])])])))),256))])))),128)),_])),_:1})])),_:1})])}var y=a(3555),v=a(1569);class k{list(t){let e="/api/v2/budgets";return v.api.get(e,{params:{page:t}})}}var B=a(8898);class D{spent(t,e,a){let s="/api/v2/budgets/"+t+"/spent",n=(0,B.Z)(e,"y-MM-dd"),r=(0,B.Z)(a,"y-MM-dd");return v.api.get(s,{params:{start:n,end:r}})}}class q{list(t,e,a,s){let n="/api/v2/budgets/"+t+"/limits",r=(0,B.Z)(e,"y-MM-dd"),i=(0,B.Z)(a,"y-MM-dd");return v.api.get(n,{params:{page:s,start:r,end:i}})}}const F={name:"BudgetBox",data(){return{altClassBudget:"bg-blue-1",altClassBl:"bg-red-2",budgets:[],locale:"en-US",page:1,loadingBudgets:!1,dateFormat:""}},mounted(){this.store=(0,y.S)(),this.dateFormat=this.$t("config.month_and_day_fns"),this.store.$onAction((({name:t,store:e,args:a,after:s,onError:n})=>{s((e=>{"setRange"===t&&(this.locale=this.store.getLocale,this.loadBox())}))})),null!==this.store.getRange.start&&null!==this.store.getRange.end&&this.loadBox()},methods:{formatDate:function(t){return(0,B.Z)(new Date(t),this.$t("config.month_and_day_fns"))},formatAmount:function(t,e){return Intl.NumberFormat("en-US",{style:"currency",currency:t}).format(e)},loadBox:function(){console.log("loadBox"),this.loadingBudgets=!0,(new k).list(this.page).then((t=>{if(this.parseBudgets(t.data.data),t.data.meta.pagination.current_page<t.data.meta.pagination.total_pages)return this.page=t.data.meta.pagination.current_page+1,void this.loadBox();this.loadingBudgets=!1,this.processBudgets()}))},parseBudgets:function(t){console.log("parseBudgets");for(let e in t)if(t.hasOwnProperty(e)){const a=t[e];let s={id:parseInt(a.id),name:a.attributes.name,indeterminate:!0,spent:[],limits:[]};this.budgets.push(s)}},loadSpentInfo:function(t){(new D).spent(t,this.store.getRange.start,this.store.getRange.end).then((e=>{this.parseSpentInfo(e.data,t)}))},parseSpentInfo:function(t,e){for(let a in this.budgets)if(this.budgets.hasOwnProperty(a)){let s=this.budgets[a];if(s.id===e){for(let a in s.limits)if(s.limits.hasOwnProperty(a)){let e=s.limits[a];for(let a in t)if(t.hasOwnProperty(a)){let n=t[a];if(n.code===e.currency_code){e.sum=n.sum;let t=-1*n.sum/e.amount;e.percentage=Math.min(Math.max(0,t),1),s.indeterminate=!1}}}let e=!1;for(let a in t){let n=!1;if(t.hasOwnProperty(a)){let r=t[a];for(let t in s.limits)if(s.limits.hasOwnProperty(t)){let e=s.limits[t];r.code===e.currency_code&&(n=!0)}n||(e=!0,s.indeterminate=!1,console.log(),s.limits.push({id:0,sum:r.sum,amount:0,currency_code:r.code,start:null,end:null,percentage:0,overspent:!1}))}}e||(s.indeterminate=!1)}}},processBudgets:function(){for(let t in this.budgets)if(this.budgets.hasOwnProperty(t)){const e=this.budgets[t];(new q).list(e.id,this.store.getRange.start,this.store.getRange.end,1).then((t=>{this.parseBudgetLimits(t.data.data,e),this.loadSpentInfo(e.id)}))}console.log("Processing...")},parseBudgetLimits:function(t,e){for(let a in t)if(t.hasOwnProperty(a)){const s=t[a];e.limits.push({id:parseInt(s.id),amount:s.attributes.amount,currency_code:s.attributes.currency_code,start:new Date(s.attributes.start),end:new Date(s.attributes.end),percentage:0,sum:0,overspent:!1})}}}};var Z=a(1639),O=a(4458),S=a(490),I=a(1233),M=a(3115),P=a(926),z=a(3190),W=a(8289),x=a(9984),C=a.n(x);const Q=(0,Z.Z)(F,[["render",b]]),R=Q;C()(F,"components",{QCard:O.Z,QItem:S.Z,QItemSection:I.Z,QItemLabel:M.Z,QSeparator:P.Z,QCardSection:z.Z,QLinearProgress:W.Z})}}]); |