UNPKG

alga-vue

Version:

Alga Vue is a compilation of composable files or Vue 3 Composition API helper based on Alga.js

2 lines (1 loc) 5.2 kB
!function(e,a){"object"==typeof exports&&"undefined"!=typeof module?a(exports,require("vue"),require("alga-js")):"function"==typeof define&&define.amd?define(["exports","vue","alga-js"],a):a((e="undefined"!=typeof globalThis?globalThis:e||self)["alga-vue"]={},e.Vue,e.AlgaJS)}(this,(function(e,a,u){"use strict";e.handleCalendar=function(e=null,t=null,l=null,v={value:"en-US"},n={value:"short"},r={value:"long"}){const o=a.ref(0),s=a.ref(0),d=a.ref(0),m=a.ref(0),g=a.ref(0),f=a.ref(""),D=a.ref(0);o.value=null!==e&&0!==e.value?e.value:Number((new Date).getFullYear()),s.value=null!==t&&0!==t.value?t.value:Number((new Date).getMonth())+1,d.value=null!==l&&0!==l.value?l.value:(new Date).getDate();const b=a.computed((()=>{const e=0!==m.value?m.value:1980,a=0!==g.value?g.value:Number((new Date).getFullYear())+5;return u.number.loop(e,a)})),c=a.computed((()=>u.date.months(v.value,r.value))),N=a.computed((()=>u.date.days(v.value,n.value))),p=a.computed((()=>u.date.week(o.value,s.value,d.value)));D.value=p.value;const i=a.computed((()=>{let e="";return e="daily"===f.value?`${N.value[new Date(o.value,Number(s.value)-1,d.value).getDay()]}, ${d.value} ${c.value[new Date(o.value,Number(s.value)-1).getMonth()]} ${o.value}`:"weekly"===f.value?`Week ${D.value}`:"yearly"===f.value?`${o.value}`:`${c.value[new Date(o.value,Number(s.value)-1).getMonth()]} ${o.value}`,e}));return{setYearRef:o,setMonthRef:s,setDayRef:d,setWeeks:D,setCalendarType:f,startYear:m,endYear:g,getRangeYears:b,getMonthNames:c,getDayNames:N,getWeeks:p,getCalendarTitle:i,handleYear:e=>{o.value="prev"===e?o.value-1:"next"===e?o.value+1:(new Date).getFullYear()},handleMonth:e=>{"prev"===e?s.value>1&&s.value<=12?s.value=s.value-1:1===s.value&&(s.value=12,o.value=o.value-1):"next"===e?s.value>=1&&s.value<12?s.value=s.value+1:12===s.value&&(s.value=1,o.value=o.value+1):(s.value=Number((new Date).getMonth())+1,o.value=(new Date).getFullYear())},handleWeek:e=>{"prev"===e?1!==D.value?D.value=D.value-1:D.value=52:"next"===e?52!==D.value?D.value=D.value+1:D.value=1:D.value=p.value},handleDay:e=>{"prev"===e?1!==d.value?d.value=d.value-1:(d.value=Number(u.date.daysInMonth(o.value,Number(s.value)-1)),s.value>1&&s.value<=12?s.value=s.value-1:1===s.value&&(s.value=12,o.value=o.value-1)):"next"===e?d.value!==Number(u.date.daysInMonth(o.value,s.value))?d.value=d.value+1:(d.value=1,s.value>=1&&s.value<12?s.value=s.value+1:12===s.value&&(s.value=1,o.value=o.value+1)):(s.value=Number((new Date).getMonth())+1,o.value=(new Date).getFullYear(),d.value=(new Date).getDate())}}},e.useCalculate=function(e="quantity",u="price",t="amount"){const l=a.ref([]),v=a.ref([]),n=a.computed((()=>l.value.map((a=>(a[t]=Number((Number(a[e])*Number(a[u])).toFixed(2)),a))))),r=a.computed((()=>l.value.length>=1?Number(l.value.map((a=>Number(a[e])*Number(a[u]))).reduce(((e,a)=>e+a)).toFixed(2)):0)),o=a.computed((()=>{let e=r.value;for(let a of v.value)"percent"===a.type&&(a.amount=Number(a.amount)/100*Number(e)),e="subtraction"===a.calc?Number(e)-Number(a.amount):Number(e)+Number(a.amount);return Number(e.toFixed(2))}));return{setEntries:l,setRates:v,getEntries:n,getSubTotal:r,getTotal:o}},e.useCalendar=function(e=null,t=null,l=null,v={value:"en-US"},n={value:"short"}){const r=a.ref(0),o=a.ref(0),s=a.ref(0),d=a.ref(0),m=a.ref([]),g=a.reactive({dateEvent:"startdate"});r.value=null!==e&&0!==e.value?e.value:Number((new Date).getFullYear()),o.value=null!==t&&0!==t.value?t.value:Number((new Date).getMonth())+1,s.value=null!==l&&0!==l.value?l.value:Number((new Date).getDate());const f=a.computed((()=>u.date.days(v.value,n.value))),D=a.computed((()=>u.date.week(r.value,o.value,s.value)));d.value=D.value;const b=a.computed((()=>u.date.weeks(r.value,d.value,"YYYY-MM-DD"))),c=a.computed((()=>{const e=Number(new Date(r.value,Number(o.value)-1,1).getDay());let a=[];if(e>0){for(let t=Number(u.date.daysInMonth(r.value,Number(o.value)-1))-(e-1);t<=Number(u.date.daysInMonth(r.value,Number(o.value)-1));t++)a.push(t)}return a})),N=a.computed((()=>u.date.daysInMonth(r.value,o.value))),p=a.computed((()=>{const e=Number(new Date(r.value,Number(o.value)-1,Number(u.date.daysInMonth(r.value,o.value))).getDay());let a=[];if(e<6){const u=6-e;for(let e=1;e<=u;e++)a.push(e)}return a})),i=Number(new Date(r.value,Number(o.value)-1,s.value).getDay()),y=a.computed((()=>{let e=[];if(i>0){const a=i+1;for(let t=1;t<a;t++)e.push(u.date.subtractDate(new Date(r.value,Number(o.value)-1,s.value),t),"YYYY-MM-DD")}return e})),h=a.computed((()=>{let e=[];if(i<6){const a=6-i;for(let t=1;t<=a;t++)e.push(u.date.addDate(new Date(r.value,Number(o.value)-1,s.value),t),"YYYY-MM-DD")}return e})),w=a.computed((()=>m.value.length>=1?u.array.group(m.value,(e=>{if(g.dateEvent in e)return new Date(e[g.dateEvent]).getDate()})):[])),M=a.computed((()=>m.value.length>=1?u.array.group(m.value,(e=>{if(g.dateEvent in e)return new Date(e[g.dateEvent]).getHours()})):[]));return{setYearRef:r,setMonthRef:o,setDayRef:s,setWeeks:d,getWeeks:D,getWeekDays:b,getDayNames:f,getPrevDays:c,getMonthDays:N,getNextDays:p,getBeforeDays:y,getAfterDays:h,setEvents:m,getEvents:w,getEventsByTime:M}},Object.defineProperty(e,"__esModule",{value:!0}),e[Symbol.toStringTag]="Module"}));