Files
firefly-iii/public/build/assets/dashboard-e693d6f4.js

2 lines
28 KiB
JavaScript
Raw Normal View History

2024-01-06 07:42:00 +01:00
import{a as O,f as g,g as y,P as Pt,l as z,G as kt,b as Dt,d as xt}from"./get-c53daca3.js";import{f,C as m,a as A,I as H,S as Ot,F as Mt,L as St,b as Ft,A as At,B as Bt,T as $t,P as jt,c as It,i as Wt,p as Vt,d as Kt,e as Et,g as Lt,h as Gt,j as Tt}from"./vendor-4332182f.js";import{G as Rt}from"./get-c2292133.js";class Ut{get(t,n,a){return O.get("/api/v2/summary/basic",{params:{start:t,end:n,code:a}})}}function k(e,t,n){const a=f(t,"y-MM-dd")+"_"+f(n,"y-MM-dd")+"_"+e;return console.log("getCacheKey: "+a),String(a)}let Q=!1;const qt=()=>({balanceBox:{amounts:[],subtitles:[]},billBox:{paid:[],unpaid:[]},leftBox:{left:[],perDay:[]},netBox:{net:[]},autoConversion:!1,loading:!1,boxData:null,boxOptions:null,getFreshData(){const e=new Date(window.store.get("start")),t=new Date(window.store.get("end")),n=k("dashboard-boxes-data",e,t),a=window.store.get("cacheValid");let o=window.store.get(n);if(a&&typeof o<"u"){this.boxData=o,this.generateOptions(this.boxData);return}new Ut().get(f(e,"yyyy-MM-dd"),f(t,"yyyy-MM-dd"),null).then(i=>{this.boxData=i.data,window.store.set(n,i.data),this.generateOptions(this.boxData)})},generateOptions(e){this.balanceBox={amounts:[],subtitles:[]},this.billBox={paid:[],unpaid:[]},this.leftBox={left:[],perDay:[]},this.netBox={net:[]};let t={};for(const n in e)if(e.hasOwnProperty(n)){const a=e[n];if(!a.hasOwnProperty("key"))continue;let o=a.key;if(this.autoConversion){if(o.startsWith("balance-in-native")){this.balanceBox.amounts.push(g(a.value,a.currency_code)),t.hasOwnProperty(a.currency_code)||(t[a.currency_code]="");continue}if(o.startsWith("spent-in-native")){t.hasOwnProperty(a.currency_code)||(t[a.currency_code]=""),t[a.currency_code]=t[a.currency_code]+g(a.value,a.currency_code);continue}if(o.startsWith("earned-in-native")){t.hasOwnProperty(a.currency_code)||(t[a.currency_code]=""),t[a.currency_code]=g(a.value,a.currency_code)+" + "+t[a.currency_code];continue}if(o.startsWith("bills-unpaid-in-native")){this.billBox.unpaid.push(g(a.value,a.currency_code));continue}if(o.startsWith("bills-paid-in-native")){this.billBox.paid.push(g(a.value,a.currency_code));continue}if(o.startsWith("left-to-spend-in-native")){this.leftBox.left.push(g(a.value,a.currency_code));continue}if(o.startsWith("left-per-day-to-spend-in-native")){this.leftBox.perDay.push(g(a.value,a.currency_code));continue}if(o.startsWith("net-worth-in-native")){this.netBox.net.push(g(a.value,a.currency_code));continue}}if(!this.autoConversion&&!o.endsWith("native")){if(o.startsWith("balance-in-")){this.balanceBox.amounts.push(g(a.value,a.currency_code));continue}if(o.startsWith("spent-in-")){t.hasOwnProperty(a.currency_code)||(t[a.currency_code]=""),t[a.currency_code]=t[a.currency_code]+g(a.value,a.currency_code);continue}if(o.startsWith("earned-in-")){t.hasOwnProperty(a.currency_code)||(t[a.currency_code]=""),t[a.currency_code]=g(a.value,a.currency_code)+" + "+t[a.currency_code];continue}if(o.startsWith("bills-unpaid-in-")){this.billBox.unpaid.push(g(a.value,a.currency_code));continue}if(o.startsWith("bills-paid-in-")){this.billBox.paid.push(g(a.value,a.currency_code));continue}if(o.startsWith("left-to-spend-in-")){this.leftBox.left.push(g(a.value,a.currency_code));continue}if(o.startsWith("left-per-day-to-spend-in-")){this.leftBox.perDay.push(g(a.value,a.currency_code));continue}o.startsWith("net-worth-in-")&&this.netBox.net.push(g(a.value,a.currency_code))}}for(let n in t)t.hasOwnProperty(n)&&this.balanceBox.subtitles.push(t[n]);this.loading=!1},loadBoxes(){if(this.loading!==!0){if(this.loading=!0,this.boxData===null){this.getFreshData();return}this.generateOptions(this.boxData),this.loading=!1}},init(){Promise.all([y("viewRange"),y("autoConversion",!1)]).then(e=>{Q=!0,this.autoConversion=e[1],this.loadBoxes()}),window.store.observe("end",()=>{Q&&(this.boxData=null,this.loadBoxes())}),window.store.observe("autoConversion",e=>{Q&&(this.autoConversion=e,this.loadBoxes())})}});class Nt{put(t,n){let a="/api/v1/preferences/"+t;return O.put(a,{data:n})}}function Yt(e,t=null){window.store.set(e,t),new Nt().put(e,t).then(a=>{}).catch(()=>{new Pt().p