diff --git a/app/dist/index.html b/app/dist/index.html index e34819b..ee8a4dd 100644 --- a/app/dist/index.html +++ b/app/dist/index.html @@ -1 +1 @@ -ToDo by JANDL
\ No newline at end of file +ToDo by JANDL
\ No newline at end of file diff --git a/app/dist/js/5456.0e926456.js.map b/app/dist/js/5456.0e926456.js.map deleted file mode 100644 index 8e52f71..0000000 --- a/app/dist/js/5456.0e926456.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"js/5456.0e926456.js","mappings":"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","sources":["webpack://jandl/./src/plugins/tm@dashboard/teams/teams.vue","webpack://jandl/./src/plugins/tm@dashboard/teams/_components/a-team-filter.vue","webpack://jandl/./src/plugins/tm@dashboard/teams/_components/a-team-filter.vue?5918","webpack://jandl/./src/plugins/tm@dashboard/teams/_mixins/TeamsCalendar.mixin.ts","webpack://jandl/./src/plugins/tm@dashboard/teams/teams.vue?577a"],"sourcesContent":["\n\n\n\n","\n\n\n\n","import { render } from \"./a-team-filter.vue?vue&type=template&id=35b7352e&scoped=true\"\nimport script from \"./a-team-filter.vue?vue&type=script&lang=js\"\nexport * from \"./a-team-filter.vue?vue&type=script&lang=js\"\n\nimport \"./a-team-filter.vue?vue&type=style&index=0&id=35b7352e&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-35b7352e\"]])\n\nexport default __exports__","import { setHours, setMinutes } from 'date-fns'\nimport moment \t\t\t\t\tfrom 'moment'\nimport timelineUtils \t\t\tfrom '@/plugins/tm@dashboard/tasks/_utils/timeline.utils'\n\nexport default {\n\tcomputed: {\n\t\tcalendarData() {\n\t\t\tif (!this.subtasks || !this.blockers)\n\t\t\t\treturn\n\n\t\t\tconst blockers = this._generateBlockers()\n\n\t\t\treturn {\n\t\t\t\ttasks: [...this._generateNonWorking(), ...this._generateTasks(), ...blockers.filter(blocker => blocker.type != 'home_office')],\n\t\t\t\thomeoffices: [...blockers.filter(blocker => blocker.type == 'home_office')]\n\t\t\t}\n\t\t},\n\n\t\tsplitDays() {\n\t\t\tconst days = []\n\t\t\tconst homeoffice = {}\n\t\t\tconst now\t\t= moment()\n\n\t\t\tthis.filter.team.employees.forEach((employee, index) => {\n\t\t\t\tconst selectedDate \t\t\t\t= moment(this.filter.start)\n\t\t\t\tconst capacityMinutes \t\t\t= this._getRemainingWorkCapacityMinutes(employee)\n\t\t\t\tlet scheduledCapacityMinutes\t= 0\n\t\t\t\tlet totalScheduledTime\t\t\t= 0\n\n\t\t\t\tthis.calendarData.tasks.forEach(task => {\n\t\t\t\t\tif ((task.subtask?.employee_id != employee.id) && (task.blocker?.employee?.id != employee.id))\n\t\t\t\t\t\treturn\n\n\t\t\t\t\tif (task.type == 'non-working-hours' || task.subtask?.is_finished || task.blocker?.is_finished || task.isBlocker)\n\t\t\t\t\t\treturn\n\n\t\t\t\t\tif (selectedDate.isBefore(moment(), 'days')) {\n\t\t\t\t\t\ttotalScheduledTime += timelineUtils._getDifferenceInMinutes(task._real_end, task._real_start)\n\t\t\t\t\t\t// Past\n\t\t\t\t\t\treturn\n\t\t\t\t\t} else if (selectedDate.isSame(moment(), 'days')) {\n\t\t\t\t\t\ttotalScheduledTime += timelineUtils._getDifferenceInMinutes(task._real_end, task._real_start)\n\t\t\t\t\t\t// Today\n\t\t\t\t\t\tconst isTaskCurrentlyInProgress = moment(task._real_start).isBefore(moment(), 'minutes') && moment(task._real_end).isAfter(moment(), 'minutes')\n\t\t\t\t\t\tconst isTaskInFuture = moment(task._real_start).isAfter(moment(), 'minutes')\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst isTaskDuringWorkHours = moment(task._real_start).hour() >= employee.work_start && moment(task._real_start).hour() <= employee.work_end\n\t\t\t\t\t\t\n\t\t\t\t\t\tif (isTaskDuringWorkHours) {\n\t\t\t\t\t\t\tif (isTaskCurrentlyInProgress) {\n\t\t\t\t\t\t\t\tscheduledCapacityMinutes +=\n\t\t\t\t\t\t\t\ttimelineUtils._getDifferenceInMinutes(\n\t\t\t\t\t\t\t\t\tnew Date(),\n\t\t\t\t\t\t\t\t\ttask._real_end,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} else if (isTaskInFuture) {\n\t\t\t\t\t\t\t\tscheduledCapacityMinutes +=\n\t\t\t\t\t\t\t\ttimelineUtils._getDifferenceInMinutes(\n\t\t\t\t\t\t\t\t\ttask._real_end,\n\t\t\t\t\t\t\t\t\ttask._real_start,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Future\n\t\t\t\t\t\tconst isTaskDuringWorkHours = moment(task._real_start).hour() >= employee.work_start && moment(task._real_start).hour() <= employee.work_end\n\t\t\t\t\t\t\n\t\t\t\t\t\tif (isTaskDuringWorkHours) {\n\t\t\t\t\t\t\tscheduledCapacityMinutes += timelineUtils._getDifferenceInMinutes(task._real_end, task._real_start)\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\ttotalScheduledTime += timelineUtils._getDifferenceInMinutes(task._real_end, task._real_start)\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t\tthis.calendarData.homeoffices.forEach(task => {\n\t\t\t\t\tif (task.blocker.employee?.id != employee.id) return\n\n\t\t\t\t\thomeoffice[task.split] = true\n\t\t\t\t})\n\n\t\t\t\tconst unscheduledTime = capacityMinutes - scheduledCapacityMinutes\n\n\t\t\t\tdays.push({\n\t\t\t\t\tid: index + 1,\n\t\t\t\t\tname: employee.name,\n\t\t\t\t\tsurname: employee.surname,\n\t\t\t\t\temployee_id: employee.id,\n\t\t\t\t\tdate: this.filter.start,\n\t\t\t\t\tfullname: `${employee.name} ${employee.surname}`,\n\t\t\t\t\tinitials: employee.name.charAt(0).toUpperCase() + employee.surname.charAt(0).toUpperCase(),\n\t\t\t\t\tunscheduledTime: unscheduledTime > 0 ? (unscheduledTime / 60).toFixed(1) : 0,\n\t\t\t\t\tscheduledTime: totalScheduledTime > 0 ? (totalScheduledTime / 60).toFixed(1) : 0,\n\t\t\t\t\tisHomeoffice: homeoffice[index + 1] ? true : false\n\t\t\t\t})\n\t\t\t})\n\n\t\t\treturn days\n\t\t},\n\t},\n\n\tmethods: {\n\t\t_generateNonWorking() {\n\t\t\tconst nonWorkingHours \t = []\n\t\t\tconst date \t\t\t\t = new Date(this.filter.start)\n\t\t\tlet earliestHour = null\n\t\t\tthis.calendarConfig.date = date\n\n\t\t\tconst { start: dayStart, end: dayEnd } = this._getDayStartEnd()\n\n\t\t\tthis.filter.team.employees.forEach((employee, index) => {\n\t\t\t\tif (!earliestHour || (employee.work_start) < earliestHour)\n\t\t\t\t\tearliestHour = employee.work_start\n\n\n\t\t\t\tnonWorkingHours.push({\n\t\t\t\t\ttitle: \"Non working hours\",\n\t\t\t\t\tstart: dayStart,\n\t\t\t\t\tend: this._setMinutesToDate((employee.work_start + 0.1) * 60),\n\t\t\t\t\tsplit: index + 1,\n\t\t\t\t\ttype: 'non-working-hours',\n\t\t\t\t\tdraggable: false\n\t\t\t\t})\n\n\t\t\t\tnonWorkingHours.push({\n\t\t\t\t\ttitle: \"Non working hours\",\n\t\t\t\t\tstart: this._setMinutesToDate((employee.work_end + 0.1) * 60),\n\t\t\t\t\tend: dayEnd,\n\t\t\t\t\tsplit: index + 1,\n\t\t\t\t\ttype: 'non-working-hours',\n\t\t\t\t\tdraggable: false\n\t\t\t\t})\n\t\t\t})\n\n\t\t\tthis.calendarConfig.scrollHour = (earliestHour) - 1\n\t\t\treturn nonWorkingHours\n\t\t},\n\n\t\t_generateTasks() {\n\t\t\tconst tasks = []\n\t\t\tconst calendarDate \t= moment(this.filter.start).format('DD-MM-YYYY')\n\n\t\t\tthis.subtasks.forEach(subtask => {\n\t\t\t\tlet split \t = null\n\t\t\t\tlet employee = null\n\n\t\t\t\tthis.filter.team.employees.forEach((e, index) => {\n\t\t\t\t\tif (e.id == subtask.employee_id) {\n\t\t\t\t\t\tsplit = index + 1\n\t\t\t\t\t\temployee = e\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t\tsubtask.timeblocks.forEach(timeblock => {\n\t\t\t\t\tconst formattedDate = moment(timeblock.start).format('DD-MM-YYYY')\n\n\t\t\t\t\tif (formattedDate == calendarDate) {\n\t\t\t\t\t\ttasks.push({\n\t\t\t\t\t\t\tid: subtask.id,\n\t\t\t\t\t\t\tstart: new Date(timeblock.start),\n\t\t\t\t\t\t\tend: new Date(timeblock.end),\n\t\t\t\t\t\t\tmaster_task: subtask.master_task,\n\t\t\t\t\t\t\tname: employee?.name,\n\t\t\t\t\t\t\tsurname: employee?.surname,\n\t\t\t\t\t\t\t// date: new Date(timeblock.start),\n\t\t\t\t\t\t\tisWeekend: moment(timeblock.start).day() % 6 == 0,\n\t\t\t\t\t\t\tinitials: employee?.name?.charAt(0)?.toUpperCase() + employee?.surname?.charAt(0)?.toUpperCase(),\n\t\t\t\t\t\t\tsplit: split,\n\t\t\t\t\t\t\tproject_code: subtask.project_code,\n\t\t\t\t\t\t\ttype: 'subtask',\n\t\t\t\t\t\t\tsubtask,\n\t\t\t\t\t\t\t_timeblock_id: timeblock.id,\n\t\t\t\t\t\t\t_timeblock_is_finished: timeblock.is_finished,\n\t\t\t\t\t\t\t_real_start: new Date(timeblock.start),\n\t\t\t\t\t\t\t_real_end: new Date(timeblock.end)\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\n\t\t\treturn tasks\n\t\t},\n\n\t\t_generateBlockers() {\n\t\t\tconst blockers = []\n\n\t\t\tthis.blockers.forEach(blocker => {\n\t\t\t\tlet split \t = null\n\t\t\t\tlet employee = null\n\n\t\t\t\tthis.filter.team.employees.forEach((e, index) => {\n\t\t\t\t\tif (e.id == blocker.employee?.id) {\n\t\t\t\t\t\tsplit = index + 1\n\t\t\t\t\t\temployee = e\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t\tblockers.push({\n\t\t\t\t\tblocker,\n\t\t\t\t\tsplit,\n\t\t\t\t\tstart: new Date(blocker.start),\n\t\t\t\t\tend: new Date(blocker.end),\n\t\t\t\t\ttype: blocker.type,\n\t\t\t\t\tisBlocker: true,\n\t\t\t\t\tinitials: `${employee?.name[0]}${employee?.surname[0]}`,\n\t\t\t\t\tcolor: '#B00020',\n\t\t\t\t\tdraggable: false,\n\t\t\t\t\tisWeekend: moment(blocker.start).day() % 6 == 0,\n\t\t\t\t\t_real_start: new Date(blocker.start),\n\t\t\t\t\t_real_end: new Date(blocker.end)\n\t\t\t\t})\n\t\t\t})\n\n\t\t\treturn blockers\n\t\t},\n\n\t\t_getDayStartEnd() {\n\t\t\treturn {\n\t\t\t\tstart: this._setMinutesToDate(0),\n\t\t\t\tend: this._setMinutesToDate(1439)\n\t\t\t}\n\t\t},\n\n\t\t_setMinutesToDate(minutes, date = new Date(this.filter.start)) {\n\t\t\tdate.setHours(Math.floor(minutes / 60), minutes % 60, 0, 0)\n\t\t\treturn date\n\t\t},\n\n\t\t_getRemainingWorkCapacityMinutes(employee) {\n\t\t\tconst date = moment(this.filter.start)\n\t\t\tconst now \t= moment()\n\n\t\t\tif (now.isAfter(date, 'days')) {\n\t\t\t\t// Past dates\n\t\t\t\treturn 0\n\t\t\t} else if (now.isBefore(date, 'days')) {\n\t\t\t\t// Future dates\n\t\t\t\treturn (employee.work_end - employee.work_start) * 60\n\t\t\t}\n\n\t\t\t// Today\n\t\t\tconst workStartMinutes \t\t\t\t= employee.work_start * 60\n\t\t\tconst workEndMinutes \t\t\t\t= employee.work_end * 60\n\t\t\tconst elapsedMinutesOfCurrenyDay = now.diff(moment().startOf('day'), 'minutes')\n\t\t\t\n\t\t\tif (workStartMinutes > elapsedMinutesOfCurrenyDay)\n\t\t\t\treturn workEndMinutes - workStartMinutes\n\t\t\telse if (workEndMinutes < elapsedMinutesOfCurrenyDay)\n\t\t\t\treturn 0\n\t\t\telse\n\t\t\t\treturn workEndMinutes - elapsedMinutesOfCurrenyDay\n\t\t}\n\t}\n}","import { render } from \"./teams.vue?vue&type=template&id=78c69006&scoped=true\"\nimport script from \"./teams.vue?vue&type=script&lang=js\"\nexport * from \"./teams.vue?vue&type=script&lang=js\"\n\nimport \"./teams.vue?vue&type=style&index=0&id=78c69006&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-78c69006\"]])\n\nexport default __exports__"],"names":["ref","_createElementBlock","_hoisted_1","_ctx","getters","_createBlock","_component_A_team_filter","onFilterChanged","$options","$data","_component_Z_timeline","splits","class","_component_v_row","_createVNode","_component_v_autocomplete","items","label","variant","_createElementVNode","_component_v_btn","onClick","src","require","alt","_component_v_text_field","disabled","mixins","AutocompleteMixin","emits","props","splitDays","type","Array","default","data","date","Date","selectedTeam","selectedDate","time","filter","start","end","team","computed","mapGetters","mounted","savedTeam","localStorage","getItem","this","JSON","parse","teams","id","$nextTick","_updateFilters","methods","prevDay","subDays","nextDay","addDays","String","toLocaleDateString","_emitFilterChanged","$emit","setItem","watch","find","map","day","parseFloat","unscheduledTime","reduce","acc","val","__exports__","calendarData","subtasks","blockers","_generateBlockers","tasks","_generateNonWorking","_generateTasks","blocker","homeoffices","days","homeoffice","moment","employees","forEach","employee","index","capacityMinutes","_getRemainingWorkCapacityMinutes","scheduledCapacityMinutes","totalScheduledTime","task","subtask","employee_id","is_finished","isBlocker","isBefore","timelineUtils","_real_end","_real_start","isSame","isTaskCurrentlyInProgress","isAfter","isTaskInFuture","isTaskDuringWorkHours","hour","work_start","work_end","split","push","name","surname","fullname","initials","charAt","toUpperCase","toFixed","scheduledTime","isHomeoffice","nonWorkingHours","earliestHour","calendarConfig","dayStart","dayEnd","_getDayStartEnd","title","_setMinutesToDate","draggable","scrollHour","calendarDate","format","e","timeblocks","timeblock","formattedDate","master_task","isWeekend","project_code","_timeblock_id","_timeblock_is_finished","color","minutes","setHours","Math","floor","now","workStartMinutes","workEndMinutes","elapsedMinutesOfCurrenyDay","diff","startOf","TeamsCalendar","FilterMixin","components","ATeamFilter","ZTimeline","hideCal","$events","on","unmounted","off","async","urlQueryObject","team_id","queryParameters","URLSearchParams","toString","$axios","get_auth","setTimeout","error","$toast","_initScrollListener","render"],"sourceRoot":""} \ No newline at end of file diff --git a/app/dist/js/5456.0e926456.js b/app/dist/js/5456.e8c8face.js similarity index 68% rename from app/dist/js/5456.0e926456.js rename to app/dist/js/5456.e8c8face.js index ed663e6..c0373e2 100644 --- a/app/dist/js/5456.0e926456.js +++ b/app/dist/js/5456.e8c8face.js @@ -1,2 +1,2 @@ -"use strict";(self["webpackChunkjandl"]=self["webpackChunkjandl"]||[]).push([[5456],{63124:function(e,t,s){s.r(t),s.d(t,{default:function(){return S}});var a=s(73396);const i={ref:"page"};function r(e,t,s,r,n,l){const o=(0,a.up)("A-team-filter"),d=(0,a.up)("Z-timeline");return(0,a.wg)(),(0,a.iD)("div",i,[e.$store.getters["tm/isInitialized"]?((0,a.wg)(),(0,a.j4)(o,{key:0,"split-days":e.calendarData?e.splitDays:null,onFilterChanged:l.onFilterChanged},null,8,["split-days","onFilterChanged"])):(0,a.kq)("",!0),e.calendarData&&!n.hideCal?((0,a.wg)(),(0,a.j4)(d,{key:1,"cal-data":e.calendarData,"cal-config":n.calendarConfig,splits:e.splitDays},null,8,["cal-data","cal-config","splits"])):(0,a.kq)("",!0)],512)}var n=s(60988),l=s(67312),o=s(16824),d=s(45869);const u={class:"d-flex date-wrapper"},h=["src"],c=["src"];function m(e,t,i,r,m,f){return(0,a.wg)(),(0,a.j4)(o.o,{class:"px-10 py-8 subheader"},{default:(0,a.w5)((()=>[(0,a.Wm)(n.f,{"custom-filter":e.customFilter,"match-any":!0,modelValue:m.selectedTeam,"onUpdate:modelValue":t[0]||(t[0]=e=>m.selectedTeam=e),class:"subheader-input",items:e.teams,"item-title":"name","item-value":"id",label:"Tím",variant:"outlined"},null,8,["custom-filter","modelValue","items"]),(0,a._)("div",u,[(0,a.Wm)(l.T,{class:"subheader-icon-button prev",variant:"outlined",onClick:t[1]||(t[1]=e=>f.prevDay())},{default:(0,a.w5)((()=>[(0,a._)("img",{src:s(38351),alt:""},null,8,h)])),_:1}),(0,a.Wm)(d.hw,{class:"subheader-input disabled",label:"Dátum",modelValue:m.selectedDate,"onUpdate:modelValue":t[2]||(t[2]=e=>m.selectedDate=e),variant:"outlined","append-inner-icon":"mdi-calendar-blank-outline"},null,8,["modelValue"]),(0,a.Wm)(l.T,{class:"subheader-icon-button next",variant:"outlined",onClick:t[3]||(t[3]=e=>f.nextDay())},{default:(0,a.w5)((()=>[(0,a._)("img",{src:s(35902),alt:""},null,8,c)])),_:1})]),(0,a.Wm)(d.hw,{class:"subheader-input disabled",label:"Nenaplánované hodiny",modelValue:m.time,"onUpdate:modelValue":t[4]||(t[4]=e=>m.time=e),variant:"outlined",disabled:!0},null,8,["modelValue"])])),_:1})}var f=s(11271),_=s(85174),p=s(83299),k=s(20065),g={mixins:[p.Z],emits:["filter-changed"],props:{splitDays:{type:[Array,null],default:()=>null}},data(){return{date:new Date,selectedTeam:null,selectedDate:null,time:null,filter:{start:null,end:null,team:null}}},computed:{...(0,k.Se)("auth",["user"]),...(0,k.Se)("tm",["teams"])},mounted(){const e=localStorage.getItem("selectedTeam");this.selectedTeam=e?JSON.parse(e):this.teams[0]?.id,this.$nextTick((()=>this._updateFilters()))},methods:{prevDay(){this.date=(0,f.Z)(this.date,1),this._updateFilters()},nextDay(){this.date=(0,_.Z)(this.date,1),this._updateFilters()},_updateFilters(){this.filter.start=this.date,this.filter.end=this.date,this.selectedDate=String(this.filter.start?.toLocaleDateString("sk-SK")),this._emitFilterChanged()},_emitFilterChanged(){this.filter.start&&this.filter.end&&this.filter.team&&(this.$emit("filter-changed",this.filter),localStorage.setItem("selectedTeam",this.filter.team.id))}},watch:{selectedTeam(e){this.filter.team=this.teams.find((t=>t.id==e)),this._emitFilterChanged()},splitDays(){this.time=this.splitDays.map((e=>parseFloat(e.unscheduledTime))).reduce(((e,t)=>e+t),0)}}},D=s(40089);const b=(0,D.Z)(g,[["render",m],["__scopeId","data-v-35b7352e"]]);var y=b,w=s(89122),C=s(36797),v=s.n(C),T=(s(57658),s(2750)),M={computed:{calendarData(){if(!this.subtasks||!this.blockers)return;const e=this._generateBlockers();return{tasks:[...this._generateNonWorking(),...this._generateTasks(),...e.filter((e=>"home_office"!=e.type))],homeoffices:[...e.filter((e=>"home_office"==e.type))]}},splitDays(){const e=[],t={};v()();return this.filter.team.employees.forEach(((s,a)=>{const i=v()(this.filter.start),r=this._getRemainingWorkCapacityMinutes(s);let n=0,l=0;this.calendarData.tasks.forEach((e=>{if((e.subtask?.employee_id==s.id||e.blocker?.employee?.id==s.id)&&!("non-working-hours"==e.type||e.subtask?.is_finished||e.blocker?.is_finished||e.isBlocker))if(i.isBefore(v()(),"days"))l+=T.Z._getDifferenceInMinutes(e._real_end,e._real_start);else if(i.isSame(v()(),"days")){l+=T.Z._getDifferenceInMinutes(e._real_end,e._real_start);const t=v()(e._real_start).isBefore(v()(),"minutes")&&v()(e._real_end).isAfter(v()(),"minutes"),a=v()(e._real_start).isAfter(v()(),"minutes"),i=v()(e._real_start).hour()>=s.work_start&&v()(e._real_start).hour()<=s.work_end;i&&(t?n+=T.Z._getDifferenceInMinutes(new Date,e._real_end):a&&(n+=T.Z._getDifferenceInMinutes(e._real_end,e._real_start)))}else{const t=v()(e._real_start).hour()>=s.work_start&&v()(e._real_start).hour()<=s.work_end;t&&(n+=T.Z._getDifferenceInMinutes(e._real_end,e._real_start)),l+=T.Z._getDifferenceInMinutes(e._real_end,e._real_start)}})),this.calendarData.homeoffices.forEach((e=>{e.blocker.employee?.id==s.id&&(t[e.split]=!0)}));const o=r-n;e.push({id:a+1,name:s.name,surname:s.surname,employee_id:s.id,date:this.filter.start,fullname:`${s.name} ${s.surname}`,initials:s.name.charAt(0).toUpperCase()+s.surname.charAt(0).toUpperCase(),unscheduledTime:o>0?(o/60).toFixed(1):0,scheduledTime:l>0?(l/60).toFixed(1):0,isHomeoffice:!!t[a+1]})})),e}},methods:{_generateNonWorking(){const e=[],t=new Date(this.filter.start);let s=null;this.calendarConfig.date=t;const{start:a,end:i}=this._getDayStartEnd();return this.filter.team.employees.forEach(((t,r)=>{(!s||t.work_start{let a=null,i=null;this.filter.team.employees.forEach(((e,t)=>{e.id==s.employee_id&&(a=t+1,i=e)})),s.timeblocks.forEach((r=>{const n=v()(r.start).format("DD-MM-YYYY");n==t&&e.push({id:s.id,start:new Date(r.start),end:new Date(r.end),master_task:s.master_task,name:i?.name,surname:i?.surname,isWeekend:v()(r.start).day()%6==0,initials:i?.name?.charAt(0)?.toUpperCase()+i?.surname?.charAt(0)?.toUpperCase(),split:a,project_code:s.project_code,type:"subtask",subtask:s,_timeblock_id:r.id,_timeblock_is_finished:r.is_finished,_real_start:new Date(r.start),_real_end:new Date(r.end)})}))})),e},_generateBlockers(){const e=[];return this.blockers.forEach((t=>{let s=null,a=null;this.filter.team.employees.forEach(((e,i)=>{e.id==t.employee?.id&&(s=i+1,a=e)})),e.push({blocker:t,split:s,start:new Date(t.start),end:new Date(t.end),type:t.type,isBlocker:!0,initials:`${a?.name[0]}${a?.surname[0]}`,color:"#B00020",draggable:!1,isWeekend:v()(t.start).day()%6==0,_real_start:new Date(t.start),_real_end:new Date(t.end)})})),e},_getDayStartEnd(){return{start:this._setMinutesToDate(0),end:this._setMinutesToDate(1439)}},_setMinutesToDate(e,t=new Date(this.filter.start)){return t.setHours(Math.floor(e/60),e%60,0,0),t},_getRemainingWorkCapacityMinutes(e){const t=v()(this.filter.start),s=v()();if(s.isAfter(t,"days"))return 0;if(s.isBefore(t,"days"))return 60*(e.work_end-e.work_start);const a=60*e.work_start,i=60*e.work_end,r=s.diff(v()().startOf("day"),"minutes");return a>r?i-a:i{this.onFilterChanged(this.filter)})),this.$events.on("on-subtask-deleted",(()=>{this.onFilterChanged(this.filter)})),this.$events.on("on-blocker-edited",(()=>{this.onFilterChanged(this.filter)})),this.$events.on("on-blocker-deleted",(()=>{this.onFilterChanged(this.filter)}))},unmounted(){this.$events.off("on-subtask-edited"),this.$events.off("on-subtask-deleted"),this.$events.off("on-blocker-edited"),this.$events.off("on-blocker-deleted")},methods:{async onFilterChanged(e){this.filter=e;const t={};e.start&&(t.start=v()(e.start).format("YYYY-MM-DD")),e.end&&(t.end=v()(e.end).format("YYYY-MM-DD")),e.team&&(t.team_id=e.team.id);const s=new URLSearchParams(t).toString();try{const{subtasks:e,blockers:t}=await this.$axios.get_auth(`v1/subtasks?${s}`);this.subtasks=e,this.blockers=t,this.hideCal=!0,setTimeout((()=>{this.hideCal=!1}),0)}catch(a){this.$toast.error("Nepodarilo sa nacitat data!")}setTimeout((()=>{this._initScrollListener()}),100)}}};const Y=(0,D.Z)($,[["render",r],["__scopeId","data-v-78c69006"]]);var S=Y}}]); -//# sourceMappingURL=5456.0e926456.js.map \ No newline at end of file +"use strict";(self["webpackChunkjandl"]=self["webpackChunkjandl"]||[]).push([[5456],{63124:function(e,t,s){s.r(t),s.d(t,{default:function(){return S}});var a=s(73396);const i={ref:"page"};function r(e,t,s,r,n,l){const o=(0,a.up)("A-team-filter"),d=(0,a.up)("Z-timeline");return(0,a.wg)(),(0,a.iD)("div",i,[e.$store.getters["tm/isInitialized"]?((0,a.wg)(),(0,a.j4)(o,{key:0,"split-days":e.calendarData?e.splitDays:null,onFilterChanged:l.onFilterChanged},null,8,["split-days","onFilterChanged"])):(0,a.kq)("",!0),e.calendarData&&!n.hideCal?((0,a.wg)(),(0,a.j4)(d,{key:1,"cal-data":e.calendarData,"cal-config":n.calendarConfig,splits:e.splitDays},null,8,["cal-data","cal-config","splits"])):(0,a.kq)("",!0)],512)}var n=s(60988),l=s(67312),o=s(16824),d=s(45869);const u={class:"d-flex date-wrapper"},h=["src"],c=["src"];function m(e,t,i,r,m,f){return(0,a.wg)(),(0,a.j4)(o.o,{class:"px-10 py-8 subheader"},{default:(0,a.w5)((()=>[(0,a.Wm)(n.f,{"custom-filter":e.customFilter,"match-any":!0,modelValue:m.selectedTeam,"onUpdate:modelValue":t[0]||(t[0]=e=>m.selectedTeam=e),class:"subheader-input",items:e.teams,"item-title":"name","item-value":"id",label:"Tím",variant:"outlined"},null,8,["custom-filter","modelValue","items"]),(0,a._)("div",u,[(0,a.Wm)(l.T,{class:"subheader-icon-button prev",variant:"outlined",onClick:t[1]||(t[1]=e=>f.prevDay())},{default:(0,a.w5)((()=>[(0,a._)("img",{src:s(38351),alt:""},null,8,h)])),_:1}),(0,a.Wm)(d.hw,{class:"subheader-input disabled",label:"Dátum",modelValue:m.selectedDate,"onUpdate:modelValue":t[2]||(t[2]=e=>m.selectedDate=e),variant:"outlined","append-inner-icon":"mdi-calendar-blank-outline"},null,8,["modelValue"]),(0,a.Wm)(l.T,{class:"subheader-icon-button next",variant:"outlined",onClick:t[3]||(t[3]=e=>f.nextDay())},{default:(0,a.w5)((()=>[(0,a._)("img",{src:s(35902),alt:""},null,8,c)])),_:1})]),(0,a.Wm)(d.hw,{class:"subheader-input disabled",label:"Nenaplánované hodiny",modelValue:m.time,"onUpdate:modelValue":t[4]||(t[4]=e=>m.time=e),variant:"outlined",disabled:!0},null,8,["modelValue"])])),_:1})}var f=s(11271),_=s(85174),p=s(83299),k=s(20065),g={mixins:[p.Z],emits:["filter-changed"],props:{splitDays:{type:[Array,null],default:()=>null}},data(){return{date:new Date,selectedTeam:null,selectedDate:null,time:null,filter:{start:null,end:null,team:null}}},computed:{...(0,k.Se)("auth",["user"]),...(0,k.Se)("tm",["teams"])},mounted(){const e=localStorage.getItem("selectedTeam");this.selectedTeam=e?JSON.parse(e):this.teams[0]?.id,this.$nextTick((()=>this._updateFilters()))},methods:{prevDay(){this.date=(0,f.Z)(this.date,1),this._updateFilters()},nextDay(){this.date=(0,_.Z)(this.date,1),this._updateFilters()},_updateFilters(){this.filter.start=this.date,this.filter.end=this.date,this.selectedDate=String(this.filter.start?.toLocaleDateString("sk-SK")),this._emitFilterChanged()},_emitFilterChanged(){this.filter.start&&this.filter.end&&this.filter.team&&(this.$emit("filter-changed",this.filter),localStorage.setItem("selectedTeam",this.filter.team.id))}},watch:{selectedTeam(e){this.filter.team=this.teams.find((t=>t.id==e)),this._emitFilterChanged()},splitDays(){this.time=this.splitDays.map((e=>parseFloat(e.unscheduledTime))).reduce(((e,t)=>e+t),0)}}},D=s(40089);const b=(0,D.Z)(g,[["render",m],["__scopeId","data-v-35b7352e"]]);var y=b,w=s(89122),C=s(36797),v=s.n(C),T=(s(57658),s(2750)),M={computed:{calendarData(){if(!this.subtasks||!this.blockers)return;const e=this._generateBlockers();return{tasks:[...this._generateNonWorking(),...this._generateTasks(),...e.filter((e=>"home_office"!=e.type))],homeoffices:[...e.filter((e=>"home_office"==e.type))]}},splitDays(){const e=[],t={};v()();return this.filter.team.employees.forEach(((s,a)=>{const i=v()(this.filter.start),r=this._getRemainingWorkCapacityMinutes(s);let n=0,l=0;this.calendarData.tasks.forEach((e=>{if((e.subtask?.employee_id==s.id||e.blocker?.employee?.id==s.id)&&!("non-working-hours"==e.type||e.subtask?.is_finished||e.blocker?.is_finished||e.isBlocker))if(i.isBefore(v()(),"days"))l+=T.Z._getDifferenceInMinutes(e._real_end,e._real_start);else if(i.isSame(v()(),"days")){l+=T.Z._getDifferenceInMinutes(e._real_end,e._real_start);const t=v()(e._real_start).isBefore(v()(),"minutes")&&v()(e._real_end).isAfter(v()(),"minutes"),a=v()(e._real_start).isAfter(v()(),"minutes"),i=v()(e._real_start).hour()>=s.work_start&&v()(e._real_start).hour()<=s.work_end;i&&(t?n+=T.Z._getDifferenceInMinutes(new Date,e._real_end):a&&(n+=T.Z._getDifferenceInMinutes(e._real_end,e._real_start)))}else{const t=v()(e._real_start).hour()>=s.work_start&&v()(e._real_start).hour()<=s.work_end;t&&(n+=T.Z._getDifferenceInMinutes(e._real_end,e._real_start)),l+=T.Z._getDifferenceInMinutes(e._real_end,e._real_start)}})),this.calendarData.homeoffices.forEach((e=>{e.blocker.employee?.id==s.id&&(t[e.split]=!0)}));const o=r-n;e.push({id:a+1,name:s.name,surname:s.surname,employee_id:s.id,date:this.filter.start,fullname:`${s.name} ${s.surname}`,initials:s.name.charAt(0).toUpperCase()+s.surname.charAt(0).toUpperCase(),unscheduledTime:o>0?(o/60).toFixed(1):0,scheduledTime:l>0?(l/60).toFixed(1):0,isHomeoffice:!!t[a+1]})})),e}},methods:{_generateNonWorking(){const e=[],t=new Date(this.filter.start);let s=null;this.calendarConfig.date=t;const{start:a,end:i}=this._getDayStartEnd();return this.filter.team.employees.forEach(((t,r)=>{(!s||t.work_start{let a=null,i=null;this.filter.team.employees.forEach(((e,t)=>{e.id==s.employee_id&&(a=t+1,i=e)})),s.timeblocks.forEach((r=>{const n=v()(r.start).format("DD-MM-YYYY");let l="subtask";"office365"==s.type&&(l="office365"),n==t&&e.push({id:s.id,start:new Date(r.start),end:new Date(r.end),master_task:s.master_task,name:i?.name,surname:i?.surname,isWeekend:v()(r.start).day()%6==0,initials:i?.name?.charAt(0)?.toUpperCase()+i?.surname?.charAt(0)?.toUpperCase(),split:a,project_code:s.project_code,type:l,subtask:s,_timeblock_id:r.id,_timeblock_is_finished:r.is_finished,_real_start:new Date(r.start),_real_end:new Date(r.end)})}))})),e},_generateBlockers(){const e=[];return this.blockers.forEach((t=>{let s=null,a=null;this.filter.team.employees.forEach(((e,i)=>{e.id==t.employee?.id&&(s=i+1,a=e)})),e.push({blocker:t,split:s,start:new Date(t.start),end:new Date(t.end),type:t.type,isBlocker:!0,initials:`${a?.name[0]}${a?.surname[0]}`,color:"#B00020",draggable:!1,isWeekend:v()(t.start).day()%6==0,_real_start:new Date(t.start),_real_end:new Date(t.end)})})),e},_getDayStartEnd(){return{start:this._setMinutesToDate(0),end:this._setMinutesToDate(1439)}},_setMinutesToDate(e,t=new Date(this.filter.start)){return t.setHours(Math.floor(e/60),e%60,0,0),t},_getRemainingWorkCapacityMinutes(e){const t=v()(this.filter.start),s=v()();if(s.isAfter(t,"days"))return 0;if(s.isBefore(t,"days"))return 60*(e.work_end-e.work_start);const a=60*e.work_start,i=60*e.work_end,r=s.diff(v()().startOf("day"),"minutes");return a>r?i-a:i{this.onFilterChanged(this.filter)})),this.$events.on("on-subtask-deleted",(()=>{this.onFilterChanged(this.filter)})),this.$events.on("on-blocker-edited",(()=>{this.onFilterChanged(this.filter)})),this.$events.on("on-blocker-deleted",(()=>{this.onFilterChanged(this.filter)}))},unmounted(){this.$events.off("on-subtask-edited"),this.$events.off("on-subtask-deleted"),this.$events.off("on-blocker-edited"),this.$events.off("on-blocker-deleted")},methods:{async onFilterChanged(e){this.filter=e;const t={};e.start&&(t.start=v()(e.start).format("YYYY-MM-DD")),e.end&&(t.end=v()(e.end).format("YYYY-MM-DD")),e.team&&(t.team_id=e.team.id);const s=new URLSearchParams(t).toString();try{const{subtasks:e,blockers:t}=await this.$axios.get_auth(`v1/subtasks?${s}`);this.subtasks=e,this.blockers=t,this.hideCal=!0,setTimeout((()=>{this.hideCal=!1}),0)}catch(a){this.$toast.error("Nepodarilo sa nacitat data!")}setTimeout((()=>{this._initScrollListener()}),100)}}};const Y=(0,D.Z)($,[["render",r],["__scopeId","data-v-78c69006"]]);var S=Y}}]); +//# sourceMappingURL=5456.e8c8face.js.map \ No newline at end of file diff --git a/app/dist/js/5456.e8c8face.js.map b/app/dist/js/5456.e8c8face.js.map new file mode 100644 index 0000000..c00cbe7 --- /dev/null +++ b/app/dist/js/5456.e8c8face.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/5456.e8c8face.js","mappings":"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","sources":["webpack://jandl/./src/plugins/tm@dashboard/teams/teams.vue","webpack://jandl/./src/plugins/tm@dashboard/teams/_components/a-team-filter.vue","webpack://jandl/./src/plugins/tm@dashboard/teams/_components/a-team-filter.vue?5918","webpack://jandl/./src/plugins/tm@dashboard/teams/_mixins/TeamsCalendar.mixin.ts","webpack://jandl/./src/plugins/tm@dashboard/teams/teams.vue?577a"],"sourcesContent":["\n\n\n\n","\n\n\n\n","import { render } from \"./a-team-filter.vue?vue&type=template&id=35b7352e&scoped=true\"\nimport script from \"./a-team-filter.vue?vue&type=script&lang=js\"\nexport * from \"./a-team-filter.vue?vue&type=script&lang=js\"\n\nimport \"./a-team-filter.vue?vue&type=style&index=0&id=35b7352e&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-35b7352e\"]])\n\nexport default __exports__","import { setHours, setMinutes } from 'date-fns'\nimport moment \t\t\t\t\tfrom 'moment'\nimport timelineUtils \t\t\tfrom '@/plugins/tm@dashboard/tasks/_utils/timeline.utils'\n\nexport default {\n\tcomputed: {\n\t\tcalendarData() {\n\t\t\tif (!this.subtasks || !this.blockers)\n\t\t\t\treturn\n\n\t\t\tconst blockers = this._generateBlockers()\n\n\t\t\treturn {\n\t\t\t\ttasks: [...this._generateNonWorking(), ...this._generateTasks(), ...blockers.filter(blocker => blocker.type != 'home_office')],\n\t\t\t\thomeoffices: [...blockers.filter(blocker => blocker.type == 'home_office')]\n\t\t\t}\n\t\t},\n\n\t\tsplitDays() {\n\t\t\tconst days = []\n\t\t\tconst homeoffice = {}\n\t\t\tconst now\t\t= moment()\n\n\t\t\tthis.filter.team.employees.forEach((employee, index) => {\n\t\t\t\tconst selectedDate \t\t\t\t= moment(this.filter.start)\n\t\t\t\tconst capacityMinutes \t\t\t= this._getRemainingWorkCapacityMinutes(employee)\n\t\t\t\tlet scheduledCapacityMinutes\t= 0\n\t\t\t\tlet totalScheduledTime\t\t\t= 0\n\n\t\t\t\tthis.calendarData.tasks.forEach(task => {\n\t\t\t\t\tif ((task.subtask?.employee_id != employee.id) && (task.blocker?.employee?.id != employee.id))\n\t\t\t\t\t\treturn\n\n\t\t\t\t\tif (task.type == 'non-working-hours' || task.subtask?.is_finished || task.blocker?.is_finished || task.isBlocker)\n\t\t\t\t\t\treturn\n\n\t\t\t\t\tif (selectedDate.isBefore(moment(), 'days')) {\n\t\t\t\t\t\ttotalScheduledTime += timelineUtils._getDifferenceInMinutes(task._real_end, task._real_start)\n\t\t\t\t\t\t// Past\n\t\t\t\t\t\treturn\n\t\t\t\t\t} else if (selectedDate.isSame(moment(), 'days')) {\n\t\t\t\t\t\ttotalScheduledTime += timelineUtils._getDifferenceInMinutes(task._real_end, task._real_start)\n\t\t\t\t\t\t// Today\n\t\t\t\t\t\tconst isTaskCurrentlyInProgress = moment(task._real_start).isBefore(moment(), 'minutes') && moment(task._real_end).isAfter(moment(), 'minutes')\n\t\t\t\t\t\tconst isTaskInFuture = moment(task._real_start).isAfter(moment(), 'minutes')\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst isTaskDuringWorkHours = moment(task._real_start).hour() >= employee.work_start && moment(task._real_start).hour() <= employee.work_end\n\t\t\t\t\t\t\n\t\t\t\t\t\tif (isTaskDuringWorkHours) {\n\t\t\t\t\t\t\tif (isTaskCurrentlyInProgress) {\n\t\t\t\t\t\t\t\tscheduledCapacityMinutes +=\n\t\t\t\t\t\t\t\ttimelineUtils._getDifferenceInMinutes(\n\t\t\t\t\t\t\t\t\tnew Date(),\n\t\t\t\t\t\t\t\t\ttask._real_end,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} else if (isTaskInFuture) {\n\t\t\t\t\t\t\t\tscheduledCapacityMinutes +=\n\t\t\t\t\t\t\t\ttimelineUtils._getDifferenceInMinutes(\n\t\t\t\t\t\t\t\t\ttask._real_end,\n\t\t\t\t\t\t\t\t\ttask._real_start,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Future\n\t\t\t\t\t\tconst isTaskDuringWorkHours = moment(task._real_start).hour() >= employee.work_start && moment(task._real_start).hour() <= employee.work_end\n\t\t\t\t\t\t\n\t\t\t\t\t\tif (isTaskDuringWorkHours) {\n\t\t\t\t\t\t\tscheduledCapacityMinutes += timelineUtils._getDifferenceInMinutes(task._real_end, task._real_start)\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\ttotalScheduledTime += timelineUtils._getDifferenceInMinutes(task._real_end, task._real_start)\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t\tthis.calendarData.homeoffices.forEach(task => {\n\t\t\t\t\tif (task.blocker.employee?.id != employee.id) return\n\n\t\t\t\t\thomeoffice[task.split] = true\n\t\t\t\t})\n\n\t\t\t\tconst unscheduledTime = capacityMinutes - scheduledCapacityMinutes\n\n\t\t\t\tdays.push({\n\t\t\t\t\tid: index + 1,\n\t\t\t\t\tname: employee.name,\n\t\t\t\t\tsurname: employee.surname,\n\t\t\t\t\temployee_id: employee.id,\n\t\t\t\t\tdate: this.filter.start,\n\t\t\t\t\tfullname: `${employee.name} ${employee.surname}`,\n\t\t\t\t\tinitials: employee.name.charAt(0).toUpperCase() + employee.surname.charAt(0).toUpperCase(),\n\t\t\t\t\tunscheduledTime: unscheduledTime > 0 ? (unscheduledTime / 60).toFixed(1) : 0,\n\t\t\t\t\tscheduledTime: totalScheduledTime > 0 ? (totalScheduledTime / 60).toFixed(1) : 0,\n\t\t\t\t\tisHomeoffice: homeoffice[index + 1] ? true : false\n\t\t\t\t})\n\t\t\t})\n\n\t\t\treturn days\n\t\t},\n\t},\n\n\tmethods: {\n\t\t_generateNonWorking() {\n\t\t\tconst nonWorkingHours \t = []\n\t\t\tconst date \t\t\t\t = new Date(this.filter.start)\n\t\t\tlet earliestHour = null\n\t\t\tthis.calendarConfig.date = date\n\n\t\t\tconst { start: dayStart, end: dayEnd } = this._getDayStartEnd()\n\n\t\t\tthis.filter.team.employees.forEach((employee, index) => {\n\t\t\t\tif (!earliestHour || (employee.work_start) < earliestHour)\n\t\t\t\t\tearliestHour = employee.work_start\n\n\n\t\t\t\tnonWorkingHours.push({\n\t\t\t\t\ttitle: \"Non working hours\",\n\t\t\t\t\tstart: dayStart,\n\t\t\t\t\tend: this._setMinutesToDate((employee.work_start + 0.1) * 60),\n\t\t\t\t\tsplit: index + 1,\n\t\t\t\t\ttype: 'non-working-hours',\n\t\t\t\t\tdraggable: false\n\t\t\t\t})\n\n\t\t\t\tnonWorkingHours.push({\n\t\t\t\t\ttitle: \"Non working hours\",\n\t\t\t\t\tstart: this._setMinutesToDate((employee.work_end + 0.1) * 60),\n\t\t\t\t\tend: dayEnd,\n\t\t\t\t\tsplit: index + 1,\n\t\t\t\t\ttype: 'non-working-hours',\n\t\t\t\t\tdraggable: false\n\t\t\t\t})\n\t\t\t})\n\n\t\t\tthis.calendarConfig.scrollHour = (earliestHour) - 1\n\t\t\treturn nonWorkingHours\n\t\t},\n\n\t\t_generateTasks() {\n\t\t\tconst tasks = []\n\t\t\tconst calendarDate \t= moment(this.filter.start).format('DD-MM-YYYY')\n\n\t\t\tthis.subtasks.forEach(subtask => {\n\t\t\t\tlet split \t = null\n\t\t\t\tlet employee = null\n\n\t\t\t\tthis.filter.team.employees.forEach((e, index) => {\n\t\t\t\t\tif (e.id == subtask.employee_id) {\n\t\t\t\t\t\tsplit = index + 1\n\t\t\t\t\t\temployee = e\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t\tsubtask.timeblocks.forEach(timeblock => {\n\t\t\t\t\tconst formattedDate = moment(timeblock.start).format('DD-MM-YYYY')\n\n\t\t\t\t\tlet type = 'subtask';\n\n\t\t\t\t\tif (subtask.type == 'office365') \n\t\t\t\t\t\ttype = 'office365'\n\n\t\t\t\t\tif (formattedDate == calendarDate) {\n\t\t\t\t\t\ttasks.push({\n\t\t\t\t\t\t\tid: subtask.id,\n\t\t\t\t\t\t\tstart: new Date(timeblock.start),\n\t\t\t\t\t\t\tend: new Date(timeblock.end),\n\t\t\t\t\t\t\tmaster_task: subtask.master_task,\n\t\t\t\t\t\t\tname: employee?.name,\n\t\t\t\t\t\t\tsurname: employee?.surname,\n\t\t\t\t\t\t\t// date: new Date(timeblock.start),\n\t\t\t\t\t\t\tisWeekend: moment(timeblock.start).day() % 6 == 0,\n\t\t\t\t\t\t\tinitials: employee?.name?.charAt(0)?.toUpperCase() + employee?.surname?.charAt(0)?.toUpperCase(),\n\t\t\t\t\t\t\tsplit: split,\n\t\t\t\t\t\t\tproject_code: subtask.project_code,\n\t\t\t\t\t\t\ttype,\n\t\t\t\t\t\t\tsubtask,\n\t\t\t\t\t\t\t_timeblock_id: timeblock.id,\n\t\t\t\t\t\t\t_timeblock_is_finished: timeblock.is_finished,\n\t\t\t\t\t\t\t_real_start: new Date(timeblock.start),\n\t\t\t\t\t\t\t_real_end: new Date(timeblock.end)\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\n\t\t\treturn tasks\n\t\t},\n\n\t\t_generateBlockers() {\n\t\t\tconst blockers = []\n\n\t\t\tthis.blockers.forEach(blocker => {\n\t\t\t\tlet split \t = null\n\t\t\t\tlet employee = null\n\n\t\t\t\tthis.filter.team.employees.forEach((e, index) => {\n\t\t\t\t\tif (e.id == blocker.employee?.id) {\n\t\t\t\t\t\tsplit = index + 1\n\t\t\t\t\t\temployee = e\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t\tblockers.push({\n\t\t\t\t\tblocker,\n\t\t\t\t\tsplit,\n\t\t\t\t\tstart: new Date(blocker.start),\n\t\t\t\t\tend: new Date(blocker.end),\n\t\t\t\t\ttype: blocker.type,\n\t\t\t\t\tisBlocker: true,\n\t\t\t\t\tinitials: `${employee?.name[0]}${employee?.surname[0]}`,\n\t\t\t\t\tcolor: '#B00020',\n\t\t\t\t\tdraggable: false,\n\t\t\t\t\tisWeekend: moment(blocker.start).day() % 6 == 0,\n\t\t\t\t\t_real_start: new Date(blocker.start),\n\t\t\t\t\t_real_end: new Date(blocker.end)\n\t\t\t\t})\n\t\t\t})\n\n\t\t\treturn blockers\n\t\t},\n\n\t\t_getDayStartEnd() {\n\t\t\treturn {\n\t\t\t\tstart: this._setMinutesToDate(0),\n\t\t\t\tend: this._setMinutesToDate(1439)\n\t\t\t}\n\t\t},\n\n\t\t_setMinutesToDate(minutes, date = new Date(this.filter.start)) {\n\t\t\tdate.setHours(Math.floor(minutes / 60), minutes % 60, 0, 0)\n\t\t\treturn date\n\t\t},\n\n\t\t_getRemainingWorkCapacityMinutes(employee) {\n\t\t\tconst date = moment(this.filter.start)\n\t\t\tconst now \t= moment()\n\n\t\t\tif (now.isAfter(date, 'days')) {\n\t\t\t\t// Past dates\n\t\t\t\treturn 0\n\t\t\t} else if (now.isBefore(date, 'days')) {\n\t\t\t\t// Future dates\n\t\t\t\treturn (employee.work_end - employee.work_start) * 60\n\t\t\t}\n\n\t\t\t// Today\n\t\t\tconst workStartMinutes \t\t\t\t= employee.work_start * 60\n\t\t\tconst workEndMinutes \t\t\t\t= employee.work_end * 60\n\t\t\tconst elapsedMinutesOfCurrenyDay = now.diff(moment().startOf('day'), 'minutes')\n\t\t\t\n\t\t\tif (workStartMinutes > elapsedMinutesOfCurrenyDay)\n\t\t\t\treturn workEndMinutes - workStartMinutes\n\t\t\telse if (workEndMinutes < elapsedMinutesOfCurrenyDay)\n\t\t\t\treturn 0\n\t\t\telse\n\t\t\t\treturn workEndMinutes - elapsedMinutesOfCurrenyDay\n\t\t}\n\t}\n}","import { render } from \"./teams.vue?vue&type=template&id=78c69006&scoped=true\"\nimport script from \"./teams.vue?vue&type=script&lang=js\"\nexport * from \"./teams.vue?vue&type=script&lang=js\"\n\nimport \"./teams.vue?vue&type=style&index=0&id=78c69006&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-78c69006\"]])\n\nexport default __exports__"],"names":["ref","_createElementBlock","_hoisted_1","_ctx","getters","_createBlock","_component_A_team_filter","onFilterChanged","$options","$data","_component_Z_timeline","splits","class","_component_v_row","_createVNode","_component_v_autocomplete","items","label","variant","_createElementVNode","_component_v_btn","onClick","src","require","alt","_component_v_text_field","disabled","mixins","AutocompleteMixin","emits","props","splitDays","type","Array","default","data","date","Date","selectedTeam","selectedDate","time","filter","start","end","team","computed","mapGetters","mounted","savedTeam","localStorage","getItem","this","JSON","parse","teams","id","$nextTick","_updateFilters","methods","prevDay","subDays","nextDay","addDays","String","toLocaleDateString","_emitFilterChanged","$emit","setItem","watch","find","map","day","parseFloat","unscheduledTime","reduce","acc","val","__exports__","calendarData","subtasks","blockers","_generateBlockers","tasks","_generateNonWorking","_generateTasks","blocker","homeoffices","days","homeoffice","moment","employees","forEach","employee","index","capacityMinutes","_getRemainingWorkCapacityMinutes","scheduledCapacityMinutes","totalScheduledTime","task","subtask","employee_id","is_finished","isBlocker","isBefore","timelineUtils","_real_end","_real_start","isSame","isTaskCurrentlyInProgress","isAfter","isTaskInFuture","isTaskDuringWorkHours","hour","work_start","work_end","split","push","name","surname","fullname","initials","charAt","toUpperCase","toFixed","scheduledTime","isHomeoffice","nonWorkingHours","earliestHour","calendarConfig","dayStart","dayEnd","_getDayStartEnd","title","_setMinutesToDate","draggable","scrollHour","calendarDate","format","e","timeblocks","timeblock","formattedDate","master_task","isWeekend","project_code","_timeblock_id","_timeblock_is_finished","color","minutes","setHours","Math","floor","now","workStartMinutes","workEndMinutes","elapsedMinutesOfCurrenyDay","diff","startOf","TeamsCalendar","FilterMixin","components","ATeamFilter","ZTimeline","hideCal","$events","on","unmounted","off","async","urlQueryObject","team_id","queryParameters","URLSearchParams","toString","$axios","get_auth","setTimeout","error","$toast","_initScrollListener","render"],"sourceRoot":""} \ No newline at end of file diff --git a/app/dist/js/index.904f912e.js b/app/dist/js/index.8d9a9325.js similarity index 99% rename from app/dist/js/index.904f912e.js rename to app/dist/js/index.8d9a9325.js index 32b76d2..9b77b5e 100644 --- a/app/dist/js/index.904f912e.js +++ b/app/dist/js/index.8d9a9325.js @@ -1,2 +1,2 @@ -(function(){var e={41993:function(e){function t(e){return Promise.resolve().then((function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}))}t.keys=function(){return[]},t.resolve=t,t.id=41993,e.exports=t},46700:function(e,t,s){var a={"./af":63906,"./af.js":63906,"./ar":40902,"./ar-dz":3853,"./ar-dz.js":3853,"./ar-kw":20299,"./ar-kw.js":20299,"./ar-ly":96825,"./ar-ly.js":96825,"./ar-ma":66379,"./ar-ma.js":66379,"./ar-sa":87700,"./ar-sa.js":87700,"./ar-tn":2059,"./ar-tn.js":2059,"./ar.js":40902,"./az":76043,"./az.js":76043,"./be":7936,"./be.js":7936,"./bg":34078,"./bg.js":34078,"./bm":14014,"./bm.js":14014,"./bn":29554,"./bn-bd":17114,"./bn-bd.js":17114,"./bn.js":29554,"./bo":6529,"./bo.js":6529,"./br":65437,"./br.js":65437,"./bs":19647,"./bs.js":19647,"./ca":59951,"./ca.js":59951,"./cs":26113,"./cs.js":26113,"./cv":37965,"./cv.js":37965,"./cy":35858,"./cy.js":35858,"./da":33515,"./da.js":33515,"./de":62831,"./de-at":6263,"./de-at.js":6263,"./de-ch":51127,"./de-ch.js":51127,"./de.js":62831,"./dv":4510,"./dv.js":4510,"./el":68616,"./el.js":68616,"./en-au":24595,"./en-au.js":24595,"./en-ca":73545,"./en-ca.js":73545,"./en-gb":79609,"./en-gb.js":79609,"./en-ie":43727,"./en-ie.js":43727,"./en-il":93302,"./en-il.js":93302,"./en-in":46305,"./en-in.js":46305,"./en-nz":39128,"./en-nz.js":39128,"./en-sg":84569,"./en-sg.js":84569,"./eo":50650,"./eo.js":50650,"./es":26358,"./es-do":64214,"./es-do.js":64214,"./es-mx":38639,"./es-mx.js":38639,"./es-us":30232,"./es-us.js":30232,"./es.js":26358,"./et":47279,"./et.js":47279,"./eu":15515,"./eu.js":15515,"./fa":27981,"./fa.js":27981,"./fi":37090,"./fi.js":37090,"./fil":79208,"./fil.js":79208,"./fo":2799,"./fo.js":2799,"./fr":23463,"./fr-ca":2213,"./fr-ca.js":2213,"./fr-ch":52848,"./fr-ch.js":52848,"./fr.js":23463,"./fy":41468,"./fy.js":41468,"./ga":88163,"./ga.js":88163,"./gd":2898,"./gd.js":2898,"./gl":76312,"./gl.js":76312,"./gom-deva":20682,"./gom-deva.js":20682,"./gom-latn":49178,"./gom-latn.js":49178,"./gu":31400,"./gu.js":31400,"./he":52795,"./he.js":52795,"./hi":17009,"./hi.js":17009,"./hr":46506,"./hr.js":46506,"./hu":69565,"./hu.js":69565,"./hy-am":93864,"./hy-am.js":93864,"./id":5626,"./id.js":5626,"./is":36649,"./is.js":36649,"./it":90151,"./it-ch":95348,"./it-ch.js":95348,"./it.js":90151,"./ja":79830,"./ja.js":79830,"./jv":33751,"./jv.js":33751,"./ka":63365,"./ka.js":63365,"./kk":85980,"./kk.js":85980,"./km":99571,"./km.js":99571,"./kn":25880,"./kn.js":25880,"./ko":16809,"./ko.js":16809,"./ku":96773,"./ku.js":96773,"./ky":65505,"./ky.js":65505,"./lb":50553,"./lb.js":50553,"./lo":51237,"./lo.js":51237,"./lt":91563,"./lt.js":91563,"./lv":61057,"./lv.js":61057,"./me":96495,"./me.js":96495,"./mi":83096,"./mi.js":83096,"./mk":43874,"./mk.js":43874,"./ml":46055,"./ml.js":46055,"./mn":87747,"./mn.js":87747,"./mr":17113,"./mr.js":17113,"./ms":8687,"./ms-my":7948,"./ms-my.js":7948,"./ms.js":8687,"./mt":14532,"./mt.js":14532,"./my":4655,"./my.js":4655,"./nb":56961,"./nb.js":56961,"./ne":2512,"./ne.js":2512,"./nl":48448,"./nl-be":72936,"./nl-be.js":72936,"./nl.js":48448,"./nn":49031,"./nn.js":49031,"./oc-lnc":5174,"./oc-lnc.js":5174,"./pa-in":30118,"./pa-in.js":30118,"./pl":93448,"./pl.js":93448,"./pt":33518,"./pt-br":62447,"./pt-br.js":62447,"./pt.js":33518,"./ro":70817,"./ro.js":70817,"./ru":10262,"./ru.js":10262,"./sd":58990,"./sd.js":58990,"./se":43842,"./se.js":43842,"./si":37711,"./si.js":37711,"./sk":80756,"./sk.js":80756,"./sl":3772,"./sl.js":3772,"./sq":6187,"./sq.js":6187,"./sr":40732,"./sr-cyrl":75713,"./sr-cyrl.js":75713,"./sr.js":40732,"./ss":99455,"./ss.js":99455,"./sv":69770,"./sv.js":69770,"./sw":80959,"./sw.js":80959,"./ta":36459,"./ta.js":36459,"./te":25302,"./te.js":25302,"./tet":67975,"./tet.js":67975,"./tg":71294,"./tg.js":71294,"./th":2385,"./th.js":2385,"./tk":24613,"./tk.js":24613,"./tl-ph":58668,"./tl-ph.js":58668,"./tlh":58190,"./tlh.js":58190,"./tr":74506,"./tr.js":74506,"./tzl":63440,"./tzl.js":63440,"./tzm":69852,"./tzm-latn":42350,"./tzm-latn.js":42350,"./tzm.js":69852,"./ug-cn":70730,"./ug-cn.js":70730,"./uk":40099,"./uk.js":40099,"./ur":72100,"./ur.js":72100,"./uz":96002,"./uz-latn":26322,"./uz-latn.js":26322,"./uz.js":96002,"./vi":14207,"./vi.js":14207,"./x-pseudo":24674,"./x-pseudo.js":24674,"./yo":10570,"./yo.js":10570,"./zh-cn":73644,"./zh-cn.js":73644,"./zh-hk":22591,"./zh-hk.js":22591,"./zh-mo":89503,"./zh-mo.js":89503,"./zh-tw":88080,"./zh-tw.js":88080};function i(e){var t=l(e);return s(t)}function l(e){if(!s.o(a,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return a[e]}i.keys=function(){return Object.keys(a)},i.resolve=l,e.exports=i,i.id=46700},37729:function(e,t,s){"use strict";s.d(t,{$t:function(){return Br}});var a=s(49242),i=s(74973);async function l(){const e=await s.e(3657).then(s.t.bind(s,33657,23));e.load({google:{families:["Roboto:100,300,400,500,700,900&display=swap"]}})}var n=s(38685),o=(s(29773),(0,n.Rd)()),r=(s(57658),s(96149));function d(){const e=r.CX["import"]("formats/link");e.PROTOCOL_WHITELIST.push("smb","fmp","radar","rdar","sms","\\");class t extends e{static sanitize(t){const s=super.sanitize(t);if(!s||"about:blank"===s)return s;const a=e.PROTOCOL_WHITELIST,i=a.some((e=>s.startsWith(e)));return i?s:`https://${s}`}}r.CX.register("formats/link",t,!0)}var u=s(73752),c=s.n(u),m=s(73396),h=s(97718),p=s(29271);function v(e,t,s,a,i,l){const n=(0,m.up)("router-view"),o=(0,m.up)("Z-team-modal"),r=(0,m.up)("Z-delete-team-modal"),d=(0,m.up)("Z-task-modal"),u=(0,m.up)("Z-delete-task-modal"),c=(0,m.up)("Z-delete-timeBlock-modal"),v=(0,m.up)("Z-delete-blocker-modal"),k=(0,m.up)("Z-delete-master-task-modal"),f=(0,m.up)("Z-complete-task-modal"),g=(0,m.up)("Z-complete-master-task-modal"),b=(0,m.up)("Z-task-add-time-modal"),_=(0,m.up)("Z-blocker-modal"),w=(0,m.up)("Z-master-task-modal"),y=(0,m.up)("Z-delete-team-member-modal"),D=(0,m.up)("Z-show-menu-modal"),T=(0,m.up)("Z-unable-to-edit-office-task-modal"),M=(0,m.up)("Z-unable-to-complete-task-modal");return(0,m.wg)(),(0,m.iD)(m.HY,null,[(0,m.Wm)(h.q,null,{default:(0,m.w5)((()=>[(0,m.Wm)(p.O,null,{default:(0,m.w5)((()=>[(0,m.Wm)(n)])),_:1})])),_:1}),(0,m.Wm)(o,{ref:"z-team-modal",onUpdate:l.onTeamUpdate},null,8,["onUpdate"]),(0,m.Wm)(r,{ref:"z-delete-team-modal",onUpdate:l.onTeamUpdate},null,8,["onUpdate"]),(0,m.Wm)(d,{ref:"z-task-modal",onOnSubtaskEdited:l.onTaskEdited},null,8,["onOnSubtaskEdited"]),(0,m.Wm)(u,{ref:"z-delete-task-modal",onOnSubtaskDeleted:l.onTaskDeleted},null,8,["onOnSubtaskDeleted"]),(0,m.Wm)(c,{ref:"z-delete-timeblock-modal",onOnSubtaskEdited:l.onTaskEdited},null,8,["onOnSubtaskEdited"]),(0,m.Wm)(v,{ref:"z-delete-blocker-modal",onOnBlockerDeleted:l.onBlockerDeleted},null,8,["onOnBlockerDeleted"]),(0,m.Wm)(k,{ref:"z-delete-master-task-modal",onOnMastertaskDeleted:l.onMasterTaskDeleted},null,8,["onOnMastertaskDeleted"]),(0,m.Wm)(f,{ref:"z-complete-task-modal",onOnSubtaskEdited:l.onTaskEdited},null,8,["onOnSubtaskEdited"]),(0,m.Wm)(g,{ref:"z-complete-master-task-modal",onMasterTaskEdited:l.onMasterTaskEdited},null,8,["onMasterTaskEdited"]),(0,m.Wm)(b,{ref:"z-task-add-time-modal"},null,512),(0,m.Wm)(_,{ref:"z-blocker-modal"},null,512),(0,m.Wm)(w,{ref:"z-master-task-modal",onMasterTaskEdited:l.onMasterTaskEdited},null,8,["onMasterTaskEdited"]),(0,m.Wm)(y,{ref:"z-delete-team-member-modal"},null,512),(0,m.Wm)(D,{ref:"z-show-menu-modal"},null,512),(0,m.Wm)(T,{ref:"z-unable-to-edit-office-task-modal"},null,512),(0,m.Wm)(M,{ref:"z-unable-to-complete-task-modal"},null,512)],64)}var k=s(87139),f=s(67312),g=s(75039),b=s(91334),_=s(33601),w=s(53289);const y={class:"d-flex justify-space-between align-center"};function D(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(_.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",y,[(0,m._)("h1",null,[(0,m.Uk)(" Ste si istý, že chcete zmazať tím "),(0,m._)("b",null,(0,k.zw)(l.team.name),1),(0,m.Uk)("? ")]),(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(b.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half",variant:"flat",onClick:t[1]||(t[1]=e=>n.deleteTeam()),disabled:l.isDeleting},{default:(0,m.w5)((()=>[(0,m.Uk)("ÁNO")])),_:1},8,["disabled"]),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[2]||(t[2]=(0,a.iM)((e=>n.closeModal()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ZRUŠIŤ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var T={mounted(){window.addEventListener("keydown",this.handleKeyDown)},methods:{handleKeyDown(e){27===e.keyCode&&(this.visible=!1)}}},M={mixins:[T],emits:["update"],data(){return{visible:!1,team:null,isDeleting:!1}},methods:{async showModal({team:e}){this.team=e,this.visible=!0},closeModal(){this.visible=!1},async deleteTeam(){if(!this.isDeleting){this.isDeleting=!0;try{await this.$axios.delete_auth(`v1/teams/${this.team.id}`),this.visible=!1,this.$emit("update",this.team),this.$store.commit("tm/delete_team",this.team)}catch(e){this.$toast.error(this.$parseError(e))}finally{this.isDeleting=!1}}}}},$=s(40089);const C=(0,$.Z)(M,[["render",D]]);var j=C,E=s(60988),x=s(45869);const W={class:"d-flex justify-space-between align-center modal-header"};function S(e,t,s,i,l,n){const o=(0,m.up)("W-loadable");return(0,m.wg)(),(0,m.j4)(_.B,{modelValue:l.visible,"onUpdate:modelValue":t[4]||(t[4]=e=>l.visible=e),"max-width":"750","max-height":"90%",height:"700px",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(o,{content:l.team,class:"h-100"},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,{height:"100%",class:"d-flex flex-column"},{default:(0,m.w5)((()=>[(0,m._)("div",W,[(0,m._)("h1",null,(0,k.zw)(l.team.id?"Upraviť tím":"Vytvoriť tím"),1),(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(b.h,{class:"d-flex flex-column modal-content"},{default:(0,m.w5)((()=>[(0,m.Wm)(x.hw,{class:(0,k.C_)(["modal-input",{error:l.v$.team.name.$errors.length}]),label:"Názov tímu",variant:"solo",hint:l.v$.team.name.$errors?l.errorUtils.parseErrors(l.v$.team.name.$errors):null,modelValue:l.team.name,"onUpdate:modelValue":t[1]||(t[1]=e=>l.team.name=e)},null,8,["class","hint","modelValue"]),((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(l.team.employees,((e,t)=>((0,m.wg)(),(0,m.iD)("div",{class:"relative w-100",key:e.id},[(0,m.Wm)(x.hw,{class:"modal-input",disabled:"",label:"Zamestanec",variant:"solo",modelValue:l.team.employees[t]._fullName,"onUpdate:modelValue":e=>l.team.employees[t]._fullName=e},null,8,["modelValue","onUpdate:modelValue"]),(0,m.Wm)(w.t,{class:"remove-input",onClick:(0,a.iM)((e=>l.team.employees.splice(t,1)),["stop"]),icon:"mdi-close",size:"small"},null,8,["onClick"])])))),128)),(0,m.Wm)(E.f,{"custom-filter":e.customFilter,"match-any":!0,modelValue:l.employeeSelect,"onUpdate:modelValue":t[2]||(t[2]=e=>l.employeeSelect=e),label:"Priradený",class:(0,k.C_)([{error:l.v$.team.employees.$errors.length},"modal-input"]),items:n.employeesOptions,"item-title":"_fullName","item-value":"id",variant:"solo",clearable:"",ref:"autocomplete"},null,8,["custom-filter","modelValue","class","items"])])),_:1}),(0,m.Wm)(f.T,{class:"button primary block",onClick:t[3]||(t[3]=e=>n.save())},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(l.team.id?"UPRAVIŤ":"VYTVORIŤ"),1)])),_:1})])),_:1})])),_:1},8,["content"])])),_:1},8,["modelValue"])}var O=s(33053),V=s(69117),z=s(7648),A=s(34407),U=s(20065),Z=s(83299);const H=e=>e.length;var F={mixins:[Z.Z,T],emits:["close","update"],data(){return{visible:!1,v$:(0,O.ZP)(),errorUtils:z.Z,employeeSelect:null,team:null}},computed:{...(0,U.Se)("tm",["enrichedEmployees"]),employeesOptions(){const e=this.team.employees.map((e=>e.id));return this.enrichedEmployees.filter((t=>!e.includes(t.id)))}},validations(){return{team:{name:{required:V.C1},employees:{atLeastOne:H}}}},methods:{async showModal({team:e=null}){this.visible=!0,this.team=null,this.$nextTick((()=>this.v$.$reset()));try{if(e?.id){const t=await this.$axios.get_auth_data(`v1/teams/${e.id}`);this.team=this._enrichTeam(t)}else this.team={employees:[]}}catch(t){this.$toast.error(this.$parseError(t))}},closeModal(){this.visible=!1,this.$emit("close",this.team)},async save(){if(await this.v$.$validate())try{if(this.team.id){const{team:e}=await this.$axios.put_auth(`v1/teams/${this.team.id}`,this.team),t=await this.$axios.get_auth_data(`v1/teams/${e.id}`);this.$store.commit("tm/update_team",t)}else{const{team:e}=await this.$axios.post_auth("v1/teams",this.team),t=await this.$axios.get_auth_data(`v1/teams/${e.id}`);this.$store.commit("tm/save_team",t)}this.closeModal()}catch(e){this.$toast.error(this.$parseError(e))}},_enrichTeam(e){return e.employees=A.Z.enrichEmployees(e.employees),e}},watch:{employeeSelect(e){if(!e)return;const t=this.enrichedEmployees.find((t=>t.id==e));this.team.employees.push(t),this.employeeSelect=null,this.$refs.autocomplete.search=""}}};const I=(0,$.Z)(F,[["render",S]]);var P=I;const L={class:"d-flex justify-space-between align-center"};function N(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(_.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",L,[(0,m._)("h1",null,[(0,m.Uk)("Ste si istý, že chcete zmazať sub task z mastertasku "),(0,m._)("b",null,(0,k.zw)(l.subtask.project_code),1),(0,m.Uk)("?")]),(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large",class:"mb-15"})]),(0,m.Wm)(b.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half",variant:"flat",onClick:t[1]||(t[1]=e=>n.deleteTask()),disabled:l.isDeleting},{default:(0,m.w5)((()=>[(0,m.Uk)("ÁNO")])),_:1},8,["disabled"]),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[2]||(t[2]=(0,a.iM)((e=>n.closeModal()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ZRUŠIŤ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var Y={mixins:[T],emits:["on-subtask-deleted"],data(){return{visible:!1,subtask:null,isDeleting:!1}},methods:{async showModal({subtask:e}){this.subtask=e,this.visible=!0},closeModal(){this.visible=!1},async deleteTask(){if(!this.isDeleting){this.isDeleting=!0;try{await this.$axios.delete_auth(`v1/subtasks/${this.subtask.id}`),this.$store.commit("tm/delete_subtask",this.subtask),this.closeModal(),this.$emit("on-subtask-deleted",this.subtask)}catch(e){this.$toast.error(this.$parseError(e))}finally{this.isDeleting=!1}}}}};const q=(0,$.Z)(Y,[["render",N]]);var B=q;const R=e=>((0,m.dD)("data-v-4aa4bee3"),e=e(),(0,m.Cn)(),e),K={class:"d-flex justify-space-between align-center"},J=R((()=>(0,m._)("h4",{class:"mt-3"},"Vyberte časový úsek, ktorý chcete odstrániť",-1)));function G(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(_.B,{modelValue:l.visible,"onUpdate:modelValue":t[1]||(t[1]=e=>l.visible=e),"max-width":"500",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",K,[J,(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(l.subtask.timeblocks,((e,t)=>((0,m.wg)(),(0,m.iD)("div",{key:e.id,class:"d-flex align-center justify-center mb-3 mt-3"},[(0,m._)("p",{class:(0,k.C_)(["task-badge rounded-pill",{"strike-through":e.is_finished}])},(0,k.zw)(l.tmUtils.formatDateTime(e.start))+" - "+(0,k.zw)(l.tmUtils.formatDateTime(e.end)),3),(0,m.Wm)(w.t,{onClick:(0,a.iM)((s=>l.subtask.id?n.deleteTimeblock(e):n.deleteTimeblockWithoutId(t)),["stop"]),class:"close-icon circle-border cursor-pointer ml-3 text-red",icon:"mdi-close",size:"medium"},null,8,["onClick"])])))),128))])),_:1})])),_:1},8,["modelValue"])}var X={mixins:[T],emits:["on-subtask-edited"],data(){return{visible:!1,subtask:null,isDeleting:!1,tmUtils:A.Z}},methods:{async showModal({subtask:e}){this.subtask=e,this.visible=!0},closeModal(){this.visible=!1},async deleteTimeblock({id:e}){const t=JSON.parse(JSON.stringify(this.subtask));t.timeblocks=t.timeblocks.filter((t=>t.id!=e)),t.deadline&&(t.deadline=A.Z.formatDateTimeForBackend(t.deadline)),this._update(t)},deleteTimeblockWithoutId(e){this.$emit("delete-timeblock")},async _update(e){try{const t=e.timesheets.map((e=>(delete e.employee_name,e))),{subtask:s}=await this.$axios.put_auth(`v1/subtasks/${e.id}`,{...e,timesheets:t});this.closeModal(),this.$events.emit("on-subtask-edited",s)}catch(t){this.$toast.error(t.message||t)}}}};const Q=(0,$.Z)(X,[["render",G],["__scopeId","data-v-4aa4bee3"]]);var ee=Q;const te=e=>((0,m.dD)("data-v-5102a689"),e=e(),(0,m.Cn)(),e),se={class:"d-flex justify-space-between align-center modal-header"},ae={class:"splitted-inputs"},ie=te((()=>(0,m._)("path",{d:"M23.057 7.057l-16 16c-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0l16-16c0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0z"},null,-1))),le=te((()=>(0,m._)("path",{d:"M7.057 8.943l16 16c0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885l-16-16c-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885z"},null,-1))),ne=[ie,le],oe=["onClick"],re=te((()=>(0,m._)("path",{d:"M23.057 7.057l-16 16c-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0l16-16c0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0z"},null,-1))),de=te((()=>(0,m._)("path",{d:"M7.057 8.943l16 16c0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885l-16-16c-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885z"},null,-1))),ue=[re,de],ce={key:2,class:"timeblocks w-100"},me={class:"end-button w-100"},he={class:"splitted-time-inputs w-100"},pe={class:"w-100 modal-input"},ve={class:"d-flex justify-space-between align-center"},ke={class:"d-flex justify-space-between align-center modal-header border-bottom pb-4"},fe={class:"d-flex justify-start"},ge=["src"],be=["src"],_e={class:"w-100"},we={class:"d-flex justify-start align-center mt-8"};function ye(e,t,i,l,n,o){const r=(0,m.up)("Datepicker"),d=(0,m.up)("A-timeblock"),u=(0,m.up)("QuillEditor"),c=(0,m.up)("Z-files-upload"),h=(0,m.up)("Z-task-readonly-info"),p=(0,m.up)("W-loadable");return(0,m.wg)(),(0,m.j4)(_.B,{modelValue:n.visible,"onUpdate:modelValue":t[22]||(t[22]=e=>n.visible=e),"max-width":"750","max-height":"90%",height:"700px",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(p,{content:n.subtask,class:"h-100"},{default:(0,m.w5)((()=>[n.editMode?((0,m.wg)(),(0,m.j4)(g._,{key:0,height:"100%",class:"d-flex flex-column scrolling"},{default:(0,m.w5)((()=>[(0,m._)("div",se,[(0,m._)("h1",null,(0,k.zw)(n.subtask?.id?"Upraviť sub task":"Vytvoriť sub task"),1),(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>o.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(b.h,{class:"d-flex flex-column modal-content"},{default:(0,m.w5)((()=>[(0,m.Wm)(x.hw,{modelValue:n.subtask.project_code,"onUpdate:modelValue":t[1]||(t[1]=e=>n.subtask.project_code=e),label:"Kód projektu",value:n.subtask.project_code,onFocus:e.onInputFocus,class:"modal-input",variant:"solo",disabled:""},null,8,["modelValue","value","onFocus"]),(0,m.Wm)(E.f,{"custom-filter":e.customFilter,"match-any":!0,modelValue:n.subtask.master_task_id,"onUpdate:modelValue":t[2]||(t[2]=e=>n.subtask.master_task_id=e),label:"Master task",class:(0,k.C_)([{error:n.v$.subtask.master_task_id.$errors.length},"modal-input"]),items:e.mastertasks,"item-title":"name","item-value":"id",variant:"solo",clearable:""},null,8,["custom-filter","modelValue","class","items"]),(0,m.Wm)(x.hw,{modelValue:n.subtask.title,"onUpdate:modelValue":t[3]||(t[3]=e=>n.subtask.title=e),onFocus:e.onInputFocus,class:"modal-input",label:"Názov subtasku",variant:"solo"},null,8,["modelValue","onFocus"]),(0,m._)("div",ae,[(0,m._)("div",{onClick:t[5]||(t[5]=e=>o.openDatepicker("datepicker-01")),class:"datepicker-wrapper"},[(0,m.Wm)(r,{modelValue:n.subtask.deadline,"onUpdate:modelValue":t[4]||(t[4]=e=>n.subtask.deadline=e),onFocus:e.onDateFocus,ref:"datepicker-01","auto-apply":!0,"min-date":new Date,class:(0,k.C_)(["modal-input left datepicker-input",{error:n.v$.subtask.deadline.$errors?.length}]),format:"dd.MM.yyyy",locale:"sk","select-text":"Vybrať","cancel-text":"Zrušiť",placeholder:"Deadline",validations:n.v$.subtask.deadline},null,8,["modelValue","onFocus","min-date","class","validations"])]),(0,m.Wm)(x.hw,{class:(0,k.C_)(["modal-input right",{error:n.v$.subtask._deadline_time.$errors.length}]),variant:"solo",modelValue:n.subtask._deadline_time,"onUpdate:modelValue":t[6]||(t[6]=e=>n.subtask._deadline_time=e),label:"Čas","append-inner-icon":"mdi-clock-outline",type:"time",onFocus:e.onInputFocus,hint:n.v$.subtask._deadline_time.$errors?n.errorUtils.parseErrors(n.v$.subtask._deadline_time.$errors):null},null,8,["modelValue","onFocus","class","hint"])]),n.subtask.id?((0,m.wg)(),(0,m.iD)(m.HY,{key:0},[(0,m._)("div",{class:(0,k.C_)(["employee-wrapper",{"hide-arrow":n.subtask.employee_id}])},[n.subtask.employee_id?((0,m.wg)(),(0,m.iD)("svg",{key:0,version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 32 32",class:"dp__icon dp__clear_icon dp__input_icons","data-test":"clear-icon",onClick:t[7]||(t[7]=(0,a.iM)((e=>{o.handleOnRemoveEmployee(),n.subtask.employee_id=null,n.subtask.employee=null}),["prevent"]))},ne)):(0,m.kq)("",!0),(0,m.Wm)(E.f,{"custom-filter":e.customFilter,"match-any":!0,modelValue:n.subtask.employee_id,"onUpdate:modelValue":[t[8]||(t[8]=e=>n.subtask.employee_id=e),t[9]||(t[9]=e=>n.employeeValidations[0]?n.employeeValidations[0].employee=!1:null)],label:"Priradený",items:e.enrichedEmployees,"item-title":"_fullName","item-value":"id",variant:"solo",class:(0,k.C_)(["modal-input",{error:n.employeeValidations[0]?.employee}])},null,8,["custom-filter","modelValue","items","class"])],2),(0,m.Wm)(x.hw,{modelValue:n.subtask.duration,"onUpdate:modelValue":[t[10]||(t[10]=e=>n.subtask.duration=e),t[11]||(t[11]=e=>n.employeeValidations[0]?n.employeeValidations[0].duration=!1:null)],class:(0,k.C_)(["modal-input",{error:n.employeeValidations[0]?.duration}]),variant:"solo",type:"number",label:"Časový odhad","append-inner-icon":"mdi-clock-outline",onFocus:e.onInputFocus},null,8,["modelValue","class","onFocus"])],64)):((0,m.wg)(!0),(0,m.iD)(m.HY,{key:1},(0,m.Ko)(n.subtask.employees,((t,s)=>((0,m.wg)(),(0,m.iD)("div",{key:`employee-${s}`,class:(0,k.C_)(["splitted-inputs remove-employee",{"hide-arrow":t?.id}])},[(0,m.Wm)(E.f,{"custom-filter":e.customFilter,"match-any":!0,modelValue:t.id,"onUpdate:modelValue":[e=>t.id=e,e=>n.employeeValidations[s]?n.employeeValidations[s].employee=!1:null],label:"Priradený",items:e.enrichedEmployees,"item-title":"_fullName","item-value":"id",variant:"solo",class:(0,k.C_)(["modal-input left",{error:n.employeeValidations[s]?.employee}])},null,8,["custom-filter","modelValue","onUpdate:modelValue","items","class"]),t.id?((0,m.wg)(),(0,m.iD)("svg",{key:0,version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 32 32",class:"dp__icon dp__clear_icon dp__input_icons","data-test":"clear-icon",onClick:(0,a.iM)((e=>{o.handleOnRemoveEmployee(),t.id=null}),["prevent"])},ue,8,oe)):(0,m.kq)("",!0),(0,m.Wm)(x.hw,{modelValue:t.duration,"onUpdate:modelValue":[e=>t.duration=e,e=>n.employeeValidations[s]?n.employeeValidations[s].duration=!1:null],class:(0,k.C_)(["modal-input right",{error:n.employeeValidations[s]?.duration}]),variant:"solo",type:"number",label:"Časový odhad","append-inner-icon":"mdi-clock-outline",onFocus:e.onInputFocus},null,8,["modelValue","onUpdate:modelValue","class","onFocus"])],2)))),128)),n.subtask.id?((0,m.wg)(!0),(0,m.iD)(m.HY,{key:3},(0,m.Ko)(n.subtask.timeblocks,((e,t)=>((0,m.wg)(),(0,m.iD)("div",{key:t,class:"timeblock w-100"},[(0,m.Wm)(r,{"model-value":e.start.substring(0,10),format:"dd.MM.yyyy",locale:"sk","select-text":"Vybrať","cancel-text":"Zrušiť",placeholder:"Dátum","auto-apply":!0,"enable-time-picker":!1,readonly:"",class:"mb-5 modal-input"},null,8,["model-value"]),(0,m._)("div",he,[(0,m.Wm)(x.hw,{value:e.start.substring(11,16),type:"time",variant:"solo","bg-color":"white",label:"Začiatok"},null,8,["value"]),(0,m.Wm)(x.hw,{value:e.end.substring(11,16),type:"time",variant:"solo","bg-color":"white",label:"Koniec"},null,8,["value"])])])))),128)):((0,m.wg)(),(0,m.iD)("div",ce,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.timeblocks,((e,t)=>((0,m.wg)(),(0,m.j4)(d,{key:t,onUpdateTimeblock:e=>o.updateTimeblock(e,t),onRemoveTimeblock:e=>o.removeTimeblock(t),timeblock:e,deletable:t>0,editable:"",ref_for:!0,ref:`timetable-${t}`},null,8,["onUpdateTimeblock","onRemoveTimeblock","timeblock","deletable"])))),128)),(0,m._)("div",me,[(0,m._)("button",{onClick:t[12]||(t[12]=e=>n.timeblocks.push({date:null,starts_at_time:null,ends_at_time:null}))}," Pridať časový blok ")])])),(0,m._)("div",pe,[(0,m.Wm)(u,{ref:"description",modelValue:n.subtask.description,"onUpdate:modelValue":t[13]||(t[13]=e=>n.subtask.description=e),placeholder:"Popis",theme:"snow",class:"rich-text-editor",onInput:t[14]||(t[14]=e=>n.subtask.description=e.srcElement.innerHTML)},null,8,["modelValue"])]),(0,m.Wm)(c,{class:"mt-15 files",files:n.subtask.files,onFilesUploaded:o.filesUploaded,"is-saving":n.isSaving},null,8,["files","onFilesUploaded","is-saving"])])),_:1}),n.isSaving?((0,m.wg)(),(0,m.j4)(f.T,{key:1,class:"button primary disabled",disabled:""},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(e.$t("Ukladám...")),1)])),_:1})):((0,m.wg)(),(0,m.j4)(f.T,{key:0,class:"button primary",onClick:t[15]||(t[15]=e=>o.save())},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(n.subtask.id?"UPRAVIŤ":"VYTVORIŤ"),1)])),_:1}))])),_:1})):((0,m.wg)(),(0,m.j4)(g._,{key:1,height:"100%",class:"d-flex flex-column scrolling"},{default:(0,m.w5)((()=>[(0,m._)("div",ve,[(0,m._)("div",null,[(0,m._)("p",null,(0,k.zw)(n.subtask._master_task.project_code),1),(0,m._)("h1",null,(0,k.zw)(n.subtask._master_task.name),1)]),(0,m.Wm)(w.t,{onClick:t[16]||(t[16]=(0,a.iM)((e=>o.closeModal()),["stop"])),icon:"mdi-close",size:"large",class:"pb-5"})]),(0,m._)("div",ke,[(0,m._)("h1",null,(0,k.zw)(n.subtask.title),1),(0,m._)("div",fe,[(0,m._)("img",{class:"icon",src:s(60666),alt:"pencil-icon",onClick:t[17]||(t[17]=(0,a.iM)(((...e)=>o.toggleEditMode&&o.toggleEditMode(...e)),["stop"]))},null,8,ge),(0,m._)("img",{class:"icon trash",src:s(27484),alt:"trash-icon",onClick:t[18]||(t[18]=(0,a.iM)((e=>o.openDeleteTaskModal(n.subtask)),["stop"]))},null,8,be)])]),(0,m.Wm)(b.h,{class:"d-flex flex-column modal-content"},{default:(0,m.w5)((()=>[(0,m._)("div",_e,[(0,m.Wm)(h,{subtask:n.subtask,onCloseModal:o.closeModal,onUpdateSubtask:o.updateSubtask},null,8,["subtask","onCloseModal","onUpdateSubtask"]),(0,m._)("div",we,[n.subtask.is_finished?((0,m.wg)(),(0,m.j4)(f.T,{key:1,class:"button secondary",onClick:t[20]||(t[20]=(0,a.iM)((e=>o.showCompleteTaskModal()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("Znovu otvoriť")])),_:1})):((0,m.wg)(),(0,m.j4)(f.T,{key:0,class:"done-btn",onClick:t[19]||(t[19]=(0,a.iM)((e=>o.showCompleteTaskModal()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("Dokončiť")])),_:1})),(0,m.Wm)(f.T,{class:"button secondary",onClick:t[21]||(t[21]=e=>o.closeModal())},{default:(0,m.w5)((()=>[(0,m.Uk)("Uložiť zmeny")])),_:1})])])])),_:1})])),_:1}))])),_:1},8,["content"])])),_:1},8,["modelValue"])}var De=s(63972),Te=s(87103);const Me={class:"w-100 d-flex align-center"},$e={key:0,class:"m-2 d-flex align-center flex-wrap"},Ce={key:0,class:"d-flex align-center"},je=["src"];function Ee(e,t,i,l,n,o){return(0,m.wg)(),(0,m.iD)("div",Me,[(0,m._)("input",{type:"file",multiple:"",name:"file",id:"fileInput",class:"hidden-input",accept:"*",onChange:t[0]||(t[0]=(...e)=>o.onChange&&o.onChange(...e)),ref:"fileUpload"},null,544),(0,m.Wm)(f.T,{class:"upload-btn",onClick:t[1]||(t[1]=t=>e.$refs.fileUpload.click())},{default:(0,m.w5)((()=>[(0,m.Wm)(w.t,{class:"mx-1",icon:"mdi-cloud-upload-outline"}),(0,m.Uk)("NAHRAŤ ")])),_:1}),n.uploadedFiles?((0,m.wg)(),(0,m.iD)("div",$e,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.uploadedFiles,(e=>((0,m.wg)(),(0,m.iD)("div",{key:e.name,class:"mx-2"},[(0,m.Wm)(Te.v,{class:"mt-2"},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(e.name)+" ",1),(0,m.Wm)(w.t,{class:"mx-1",icon:"mdi-paperclip"}),(0,m._)("p",null,(0,k.zw)((e.size/1048576).toFixed(2))+" MB",1),(0,m.Wm)(w.t,{size:"small",icon:"mdi-close",onClick:(0,a.iM)((t=>o.remove(n.uploadedFiles.indexOf(e))),["stop"])},null,8,["onClick"])])),_:2},1024)])))),128)),i.isSaving?((0,m.wg)(),(0,m.iD)("div",Ce,[i.isSaving?((0,m.wg)(),(0,m.iD)("img",{key:0,class:"gif-loader",src:s(14214),alt:"Loading..."},null,8,je)):(0,m.kq)("",!0)])):(0,m.kq)("",!0)])):(0,m.kq)("",!0)])}var xe={emit:["files-uploaded"],props:{files:{type:Array,default:()=>[]},isSaving:{type:Boolean,required:!1}},data(){return{uploadedFiles:[]}},created(){this.uploadedFiles=this.files},methods:{onChange(){const e=[...this.$refs.fileUpload.files],t=52428800,s=e.filter((e=>e.size>t));s.length>0?this.$toast.error("File is too large. Maximum file size is 50 MB."):(this.uploadedFiles=[...this.uploadedFiles,...e],this.$emit("files-uploaded",this.uploadedFiles),this.$refs.fileUpload.value="")},remove(e){this.uploadedFiles.splice(e,1)}}};const We=(0,$.Z)(xe,[["render",Ee],["__scopeId","data-v-a2a40214"]]);var Se=We,Oe=s(16824),Ve=s(68521),ze=s(74286);const Ae={class:"d-flex align-center"},Ue=(0,m._)("p",{class:"mx-3"},"Trvanie",-1),Ze={key:0,class:"d-flex align-center mb-3"},He=(0,m._)("p",{class:"task-badge rounded-pill"},"Pridať záznam",-1),Fe={class:"d-flex justify-space-between align-center"},Ie=(0,m._)("h1",null,"Pridať dátum",-1),Pe={class:"d-flex justify-space-between align-center"},Le={class:"text-red"},Ne=(0,m._)("br",null,null,-1),Ye={class:"text-black"};function qe(e,t,s,i,l,n){const o=(0,m.up)("Datepicker");return(0,m.wg)(),(0,m.iD)(m.HY,null,[(0,m.Wm)(Oe.o,{"no-gutters":""},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Ae,[(0,m.Wm)(w.t,{icon:"mdi-calendar-week",size:"large"}),Ue])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[n.isOffice365Task?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",Ze,[(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=e=>l.showModal=!0),class:"add-date cursor-pointer mr-2",icon:"mdi-plus",size:"medium"}),He])),((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(s.timeblocks,((e,t)=>((0,m.wg)(),(0,m.iD)("div",{key:e.id,class:"d-flex align-center mb-3"},[n.isOffice365Task?(0,m.kq)("",!0):((0,m.wg)(),(0,m.j4)(w.t,{key:0,onClick:(0,a.iM)((a=>s.subtask.id?n.deleteTimeblock(e):n.deleteTimeblockWithoutId(t)),["stop"]),class:"circle-border cursor-pointer mr-2",icon:"mdi-minus",size:"medium"},null,8,["onClick"])),(0,m._)("p",{class:(0,k.C_)(["task-badge rounded-pill",{"strike-through":e.is_finished}])},(0,k.zw)(l.tmUtils.formatDateTime(e.start))+" - "+(0,k.zw)(l.tmUtils.formatDateTime(e.end)),3),n.isOffice365Task?(0,m.kq)("",!0):(0,m.wy)(((0,m.wg)(),(0,m.j4)(w.t,{key:1,onClick:(0,a.iM)((t=>n.toggleTimeblockIsFinished(e)),["stop"]),class:(0,k.C_)(["circle-border cursor-pointer ml-2",{completed:e.is_finished}]),icon:"mdi-check",size:"medium"},null,8,["onClick","class"])),[[a.F8,s.subtask.id]])])))),128))])),_:1})])),_:1})])),_:1}),(0,m.Wm)(_.B,{"max-width":"750",modelValue:l.showModal,"onUpdate:modelValue":t[6]||(t[6]=e=>l.showModal=e),persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",Fe,[Ie,(0,m.Wm)(w.t,{onClick:t[1]||(t[1]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(b.h,{class:"mt-10 d-flex flex-column modal-content"},{default:(0,m.w5)((()=>[(0,m.Wm)(o,{modelValue:l.form.date,"onUpdate:modelValue":t[2]||(t[2]=e=>l.form.date=e),format:"dd.MM.yyyy",locale:"sk","select-text":"Vybrať","cancel-text":"Zrušiť",placeholder:"Dátum","auto-apply":!0,"enable-time-picker":!1,class:(0,k.C_)(["mb-5 modal-input",{error:l.v$.form.date.$errors.length}])},null,8,["modelValue","class"]),(0,m.Wm)(x.hw,{modelValue:l.form.starts_at_time,"onUpdate:modelValue":t[3]||(t[3]=e=>l.form.starts_at_time=e),type:"time",variant:"solo","bg-color":"white",hint:l.v$.form.starts_at_time.$errors?l.errorUtils.parseErrors(l.v$.form.starts_at_time.$errors):null,class:(0,k.C_)([{error:l.v$.form.starts_at_time.$errors.length},"mb-1 modal-input"]),label:"Začiatok"},null,8,["modelValue","hint","class"]),(0,m.Wm)(x.hw,{modelValue:l.form.ends_at_time,"onUpdate:modelValue":t[4]||(t[4]=e=>l.form.ends_at_time=e),type:"time",variant:"solo","bg-color":"white",hint:l.v$.form.ends_at_time.$errors?l.errorUtils.parseErrors(l.v$.form.ends_at_time.$errors):null,class:(0,k.C_)([{error:l.v$.form.ends_at_time.$errors.length},"modal-input"]),label:"Koniec"},null,8,["modelValue","hint","class"])])),_:1}),(0,m.Wm)(f.T,{onClick:t[5]||(t[5]=e=>n.submit()),class:"button primary mt-5"},{default:(0,m.w5)((()=>[(0,m.Uk)("Potvrdiť")])),_:1})])),_:1})])),_:1},8,["modelValue"]),(0,m.Wm)(_.B,{modelValue:l.visible,"onUpdate:modelValue":t[10]||(t[10]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",Pe,[(0,m._)("h1",Le,[(0,m.Uk)("Ste si istý, že chcete pridať timeblock po deadline "),Ne,(0,m.Uk)(),(0,m._)("b",Ye,"z mastertasku "+(0,k.zw)(s.subtask?.project_code)+" ?",1)]),(0,m.Wm)(w.t,{onClick:t[7]||(t[7]=(0,a.iM)((e=>l.visible=!1),["stop"])),icon:"mdi-close",size:"large",class:"mb-15"})]),(0,m.Wm)(b.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half",variant:"flat",onClick:t[8]||(t[8]=(0,a.iM)((e=>n.confirmSubmit()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ÁNO")])),_:1}),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[9]||(t[9]=(0,a.iM)((e=>l.visible=!1),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ZRUŠIŤ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])],64)}var Be=s(36797),Re=s.n(Be),Ke=s(15941),Je={mixins:[T],emits:["update-subtask"],components:{Datepicker:De.Z},props:{timeblocks:{type:Array,required:!0},subtask:{type:Object,required:!0}},data(){return{v$:(0,O.ZP)(),errorUtils:z.Z,tmUtils:A.Z,showModal:!1,visible:!1,form:{date:null,starts_at_time:"09:00",ends_at_time:"16:00"}}},validations(){return{form:{date:{required:V.C1},starts_at_time:{required:V.C1},ends_at_time:{required:V.C1}}}},computed:{...(0,U.Se)("tm",["mastertasks"]),isOffice365Task(){return"office365"==this.subtask.type}},methods:{async submit(){if(!await this.v$.$validate())return;const e=JSON.parse(JSON.stringify(this.subtask)),t=this.form.starts_at_time.split(":"),s=this.form.ends_at_time.split(":"),a=Re()(this.form.date).hours(parseInt(t[0])).minutes(parseInt(t[1])).toISOString(),i=Re()(this.form.date).hours(parseInt(s[0])).minutes(parseInt(s[1])).toISOString();e?.timeblocks||(e.timeblocks=[]),e?.timesheets||(e.timesheets=[]),e?.is_finished||(e.is_finished=0),e.timeblocks.push({end:A.Z.formatDateTimeForBackend(i),id:null,is_finished:0,start:A.Z.formatDateTimeForBackend(a)}),e.deadline&&(e.deadline=A.Z.formatDateTimeForBackend(this._mergeDeadlineTimeDate()));const l=this.isAfterDeadline();l?this.visible=!0:e.id?this._update(e):this.$emit("update-unfinished-subtask",e)},async confirmSubmit(){const e=JSON.parse(JSON.stringify(this.subtask)),t=this.form.starts_at_time.split(":"),s=this.form.ends_at_time.split(":"),a=Re()(this.form.date).hours(parseInt(t[0])).minutes(parseInt(t[1])).toISOString(),i=Re()(this.form.date).hours(parseInt(s[0])).minutes(parseInt(s[1])).toISOString();if(e?.timeblocks||(e.timeblocks=[]),e?.timesheets||(e.timesheets=[]),e?.is_finished||(e.is_finished=0),e.timeblocks.push({end:A.Z.formatDateTimeForBackend(i),id:null,is_finished:0,start:A.Z.formatDateTimeForBackend(a)}),e.deadline&&(e.deadline=A.Z.formatDateTimeForBackend(this._mergeDeadlineTimeDate())),!e.id)return this.$emit("update-unfinished-subtask",e),void this.closeModal();this.visible=!1,this._update(e)},async toggleTimeblockIsFinished(e){Ke.log("toggleTimeblockIsFinished 5",this.subtask);const t=JSON.parse(JSON.stringify(this.subtask)),s=JSON.parse(JSON.stringify(e));s.is_finished=1==s.is_finished?0:1;try{const{data:e}=await this.$axios.put_auth(`v1/timeblocks/${s.id}`,s);t.timeblocks=t.timeblocks.map((t=>t.id==e.id?e:t)),this.$events.emit("on-subtask-edited",t),this.$emit("update-subtask",t),s.is_finished&&this.$events.emit("show-task-add-time-modal",{subtask:t})}catch(a){this.$toast.error(a.message||a)}},async deleteTimeblock({id:e}){const t=JSON.parse(JSON.stringify(this.subtask));t.timeblocks=t.timeblocks.filter((t=>t.id!=e)),t.deadline&&(t.deadline=A.Z.formatDateTimeForBackend(this._mergeDeadlineTimeDate())),this._update(t)},deleteTimeblockWithoutId(e){this.$emit("delete-timeblock")},async _update(e){try{const t=e.timesheets.map((e=>(delete e.employee_name,e))),{subtask:s}=await this.$axios.put_auth(`v1/subtasks/${e.id}`,{...e,timesheets:t});this.closeModal(),this.$events.emit("on-subtask-edited",s)}catch(t){this.$toast.error(t.message||t)}},isAfterDeadline(){const e=this.getDeadline(this.subtask);if(!e)return;const t=Re()(this.form.date),s=Re()(e),[a,i]=this.form.ends_at_time.split(":").map(Number);return t.hours(a),t.minutes(i),t.isAfter(s)},getDeadline(e){return e?.deadline?e.deadline:e.master_task_deadline},_mergeDeadlineTimeDate(){const e=new Date(this.subtask.deadline),t=this.subtask._deadline_time.split(":");return e.setHours(parseInt(t[0])),e.setMinutes(parseInt(t[1])),e},closeModal(){this.form={date:null,starts_at_time:"09:00",ends_at_time:"16:00"},this.showModal=!1,this.$nextTick((()=>this.v$.$reset()))}}};const Ge=(0,$.Z)(Je,[["render",qe]]);var Xe=Ge,Qe={data(){return{preventInputFocus:!1}},methods:{setFocusEvent(){document.querySelectorAll(".v-autocomplete input").forEach((e=>{e.addEventListener("focus",this.onInputFocus)}))},onDateFocus(e){void 0==e&&(this.preventInputFocus=!0)},onInputFocus(e){this.preventInputFocus&&(e.target.blur(),this.preventInputFocus=!1)}}},et={computed:{employeesOptions(){const e=[...this.mastertask.employees].map((e=>e.id));return this.enrichedEmployees.filter((t=>!e.includes(t.id)))||[]},projectsOptions(){const e=/[^a-zA-Z0-9 ]/g,t=this.projectCodeSearch?this.projectCodeSearch.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(e,""):"",s=this.projects.filter((s=>{const a=s.code.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(e,"");return a.toLowerCase().includes(t.toLowerCase())}));let a=s?.length?s.slice(0,10):this.projects.slice(0,10);if(!this.mastertask?.project_id)return a;const i=this.projects.find((e=>e.id==this.mastertask?.project_id));return a=a.filter((e=>e.id!=i.id)),[...a,i]}},methods:{onEmployeeSelected(e){const t=this.enrichedEmployees.find((t=>t.id==e));this.mastertask.employees.push(t),this.showAddEmployeeInput=!1},onEmployeeDurationChanged(){let e=0;this.mastertask.employees=this.mastertask.employees.map((t=>("string"==typeof t.duration?(e+=parseFloat(t.duration),t.duration=parseFloat(t.duration),t.invalid=!1):"number"==typeof t.duration&&(e+=t.duration,t.invalid=!1),t))),this.mastertask.duration=e}},watch:{"mastertask.team_id"(e){if(!e)return;const t=this.teams.find((t=>t.id==e));t&&(this.mastertask.team=JSON.parse(JSON.stringify(t)),this.mastertask.employees=[...this.mastertask.team.employees])}}},tt=s(66154);function st(e,t,s,a,i,l){const n=(0,m.up)("A-mastertask-name"),o=(0,m.up)("A-mastertask-status"),r=(0,m.up)("A-task-deadline"),d=(0,m.up)("A-task-timeblocks"),u=(0,m.up)("Z-created-by"),c=(0,m.up)("A-task-assigned-employee"),h=(0,m.up)("A-task-planned-time"),p=(0,m.up)("A-task-remaining-time"),v=(0,m.up)("A-task-spent-time"),k=(0,m.up)("A-task-description"),f=(0,m.up)("Z-files");return(0,m.wg)(),(0,m.iD)(m.HY,null,[(0,m.Wm)(n,{name:s.subtask._master_task.name,id:s.subtask.master_task_id,color:s.subtask._master_task.color,onCloseModal:t[0]||(t[0]=t=>e.$emit("close-modal"))},null,8,["name","id","color"]),(0,m.Wm)(o,{isFinished:s.subtask.is_finished},null,8,["isFinished"]),(0,m.Wm)(r,{subtask:s.subtask},null,8,["subtask"]),(0,m.Wm)(d,{timeblocks:s.subtask.timeblocks,subtask:s.subtask,onUpdateSubtask:t[1]||(t[1]=t=>e.$emit("update-subtask",t))},null,8,["timeblocks","subtask"]),(0,m.Wm)(u,{"employee-id":s.subtask.created_by},null,8,["employee-id"]),(0,m.Wm)(c,{employee:s.subtask._employee},null,8,["employee"]),(0,m.Wm)(h,{hours:s.subtask.duration},null,8,["hours"]),(0,m.Wm)(p,{hours:s.subtask.duration-s.subtask.spent_time},null,8,["hours"]),(0,m.Wm)(v,{hours:s.subtask.spent_time,subtask:s.subtask},null,8,["hours","subtask"]),(0,m.Wm)(k,{description:s.subtask.description,"mastertask-description":s.subtask.master_task_description},null,8,["description","mastertask-description"]),(0,m.Wm)(f,{files:s.subtask.files},null,8,["files"])],64)}const at={class:"d-flex align-center"},it=(0,m._)("p",{class:"mx-3"},"Mastertask",-1);function lt(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",at,[(0,m.Wm)(w.t,{icon:"mdi-link",size:"large"}),it])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",{class:"task-badge px-4 py-2 rounded-pill hover",onClick:t[0]||(t[0]=e=>l.openMastertask()),style:(0,k.j5)({backgroundColor:s.color})},(0,k.zw)(s.name),5)])),_:1})])),_:1})])),_:1})}var nt={emits:["close-modal"],props:{name:{type:String,required:!0},id:{type:Number,required:!0},color:{type:String,required:!0}},methods:{openMastertask(){this.$emit("close-modal"),this.$events.emit("show-mastertask-modal",{mastertask:{id:this.id},editMode:!1})}}};const ot=(0,$.Z)(nt,[["render",lt]]);var rt=ot;const dt={class:"d-flex align-center"},ut=(0,m._)("p",{class:"mx-3"},"Status",-1),ct={key:0,class:"status-badge px-4 py-2 rounded-pill"},mt={key:1,class:"status-badge px-4 py-2 rounded-pill"};function ht(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",dt,[(0,m.Wm)(w.t,{icon:"mdi-drag-vertical",size:"large"}),ut])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[s.isFinished?((0,m.wg)(),(0,m.iD)("p",ct,"Ukončený")):((0,m.wg)(),(0,m.iD)("p",mt,"Neukončený"))])),_:1})])),_:1})])),_:1})}var pt={props:{isFinished:{type:Number,default:()=>0}}};const vt=(0,$.Z)(pt,[["render",ht]]);var kt=vt;const ft={class:"d-flex align-center"},gt=(0,m._)("p",{class:"mx-3"},"Vytvoril",-1),bt={class:"employee-selected-avatar d-flex justify-center align-center"},_t={class:"ml-2"};function wt(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",ft,[(0,m.Wm)(w.t,{icon:"mdi-account-star-outline",size:"large"}),gt])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3 d-flex align-center"},{default:(0,m.w5)((()=>[(0,m._)("p",bt,(0,k.zw)(l.employee?l.employee._initials:"?"),1),(0,m._)("p",_t,(0,k.zw)(l.employee?l.employee._fullName:e.$t("Unasigned")),1)])),_:1})])),_:1})])),_:1})}var yt={props:{employeeId:{type:[Number],required:!1}},computed:{...(0,U.Se)("tm",["enrichedEmployees"]),employee(){return this.enrichedEmployees.find((e=>e.id==this.employeeId))}}};const Dt=(0,$.Z)(yt,[["render",wt]]);var Tt=Dt;const Mt={class:"d-flex align-center"},$t=(0,m._)("p",{class:"mx-3"},"Priradený",-1),Ct={class:"employee-selected-avatar d-flex justify-center align-center"},jt=["innerHTML"];function Et(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Mt,[(0,m.Wm)(w.t,{icon:"mdi-account-outline",size:"large"}),$t])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3 d-flex align-center"},{default:(0,m.w5)((()=>[(0,m._)("p",Ct,(0,k.zw)(s.employee.name.charAt(0)+s.employee.surname.charAt(0)),1),(0,m._)("p",{class:"ml-2",innerHTML:`${s.employee.name} ${s.employee.surname}`},null,8,jt)])),_:1})])),_:1})])),_:1})}var xt={props:{employee:{type:Object,required:!0}}};const Wt=(0,$.Z)(xt,[["render",Et]]);var St=Wt;const Ot={class:"d-flex align-center"},Vt=(0,m._)("p",{class:"mx-3"},"Naplánovaný čas",-1);function zt(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Ot,[(0,m.Wm)(w.t,{icon:"mdi-clock-time-three-outline",size:"large"}),Vt])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",null,(0,k.zw)(s.hours)+" h",1)])),_:1})])),_:1})])),_:1})}var At={props:{hours:{type:Number,required:!0}}};const Ut=(0,$.Z)(At,[["render",zt]]);var Zt=Ut;const Ht=e=>((0,m.dD)("data-v-f216d188"),e=e(),(0,m.Cn)(),e),Ft={class:"d-flex align-center"},It=Ht((()=>(0,m._)("p",{class:"mx-3"},"Odpracovaný čas",-1))),Pt={class:"d-flex align-center mb-3"},Lt=Ht((()=>(0,m._)("p",{class:"task-badge rounded-pill"},"Pridať záznam",-1))),Nt={class:"d-flex align-center flex-start width-100"},Yt={class:"task-badge rounded-pill"},qt={class:"ml-5"},Bt={class:"d-flex justify-space-between align-center"},Rt=Ht((()=>(0,m._)("h1",null,"Pridať odpracovaný čas",-1)));function Kt(e,t,s,i,l,n){return(0,m.wg)(),(0,m.iD)(m.HY,null,[(0,m.Wm)(Oe.o,{"no-gutters":""},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Ft,[(0,m.Wm)(w.t,{icon:"mdi-clock-time-three-outline",size:"large"}),It])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",null,(0,k.zw)(s.hours)+" h",1)])),_:1}),(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Pt,[(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=e=>l.showModal=!0),class:"add-date cursor-pointer mr-2",icon:"mdi-plus",size:"medium"}),Lt]),s.subtask.timesheets.length?((0,m.wg)(!0),(0,m.iD)(m.HY,{key:0},(0,m.Ko)(s.subtask.timesheets,(e=>((0,m.wg)(),(0,m.iD)("div",{key:e.id,class:"d-flex align-center mb-3"},[(0,m.Wm)(w.t,{onClick:(0,a.iM)((t=>n.deleteTimesheet(e)),["stop"]),class:"circle-border cursor-pointer mr-2",icon:"mdi-minus",size:"medium"},null,8,["onClick"]),(0,m._)("div",Nt,[(0,m._)("p",Yt,(0,k.zw)(e.time),1),(0,m._)("p",qt,(0,k.zw)(e.employee_name)+" ("+(0,k.zw)(e.timestamp)+")",1)])])))),128)):(0,m.kq)("",!0)])),_:1})])),_:1})])),_:1}),(0,m.Wm)(_.B,{"max-width":"750",modelValue:l.showModal,"onUpdate:modelValue":t[4]||(t[4]=e=>l.showModal=e),persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",Bt,[Rt,(0,m.Wm)(w.t,{onClick:t[1]||(t[1]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(b.h,{class:"mt-10 d-flex justify-start align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(x.hw,{modelValue:l.form.hours,"onUpdate:modelValue":t[2]||(t[2]=e=>l.form.hours=e),variant:"solo","bg-color":"white",type:"number",hint:l.v$.form.hours.$errors?l.errorUtils.parseErrors(l.v$.form.hours.$errors):null,class:(0,k.C_)([{error:l.v$.form.hours.$errors.length},"mb-2"]),label:"Odpracovaný čas"},null,8,["modelValue","hint","class"])])),_:1}),(0,m.Wm)(f.T,{onClick:t[3]||(t[3]=e=>n.submit()),class:"button primary mt-5"},{default:(0,m.w5)((()=>[(0,m.Uk)("Potvrdiť")])),_:1})])),_:1})])),_:1},8,["modelValue"])],64)}var Jt=s(15941),Gt={mixins:[T],props:{hours:{type:Number,required:!0},subtask:{type:Object,required:!0}},data(){return{moment:Re(),v$:(0,O.ZP)(),errorUtils:z.Z,showModal:!1,form:{hours:null}}},validations(){return{form:{hours:{required:V.C1,numeric:V.uR,minValue:(0,V.uv)(.1)}}}},computed:{...(0,U.Se)("auth",["user"])},methods:{async submit(){if(!await this.v$.$validate())return;const e=JSON.parse(JSON.stringify(this.subtask));e.timesheets.push({id:null,employee_id:this.user.id,time:"string"==typeof this.form.hours?parseFloat(this.form.hours):this.form.hours}),e.deadline&&(e.deadline=A.Z.formatDateTimeForBackend(this._mergeDeadlineTimeDate())),this._update(e)},async deleteTimesheet({id:e}){const t=JSON.parse(JSON.stringify(this.subtask));t.timesheets=t.timesheets.filter((t=>t.id!=e)),t.deadline&&(t.deadline=A.Z.formatDateTimeForBackend(this._mergeDeadlineTimeDate())),this._update(t)},closeModal(){this.form={hours:null},this.showModal=!1,this.$nextTick((()=>this.v$.$reset()))},async _update(e){try{e.timesheets=e.timesheets.map((e=>(delete e.employee_name,e)));const{subtask:t}=await this.$axios.put_auth(`v1/subtasks/${e.id}`,e);this.closeModal(),this.$events.emit("on-subtask-edited",t)}catch(t){this.$toast.error(t.message||t)}},_mergeDeadlineTimeDate(){const e=new Date(this.subtask.deadline);Jt.log("a-task-spent-time",this.subtask);const t=this.subtask._deadline_time.split(":");return e.setHours(parseInt(t[0])),e.setMinutes(parseInt(t[1])),e}}};const Xt=(0,$.Z)(Gt,[["render",Kt],["__scopeId","data-v-f216d188"]]);var Qt=Xt;const es={class:"d-flex align-center"},ts=(0,m._)("p",{class:"mx-3"},"Zostávajúci čas",-1);function ss(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center border-bottom"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",es,[(0,m.Wm)(w.t,{icon:"mdi-clock-time-three-outline",size:"large"}),ts])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",null,(0,k.zw)(s.hours.toFixed(2))+" h",1)])),_:1})])),_:1})])),_:1})}var as={props:{hours:{type:Number,required:!0}}};const is=(0,$.Z)(as,[["render",ss]]);var ls=is,ns=s(80678);const os={class:"d-flex align-center"},rs=(0,m._)("p",{class:"mx-3"},"Deadline",-1);function ds(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",os,[(0,m.Wm)(w.t,{icon:"mdi-calendar-week",size:"large"}),rs])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[s.subtask.deadline?((0,m.wg)(),(0,m.iD)("p",{key:0,class:(0,k.C_)(""+(i.tmUtils.isAfter(s.subtask.deadline)?"text-black":"text-red-darken-4"))},(0,k.zw)(i.tmUtils.formatDate(s.subtask.deadline))+" "+(0,k.zw)(l.deadlineTime),3)):((0,m.wg)(),(0,m.j4)(ns.N,{key:1,text:"Deadline z Mastertasku",location:"end"},{activator:(0,m.w5)((({props:e})=>[(0,m._)("span",(0,m.dG)({class:"cursor-pointer"},e),(0,k.zw)(l.getMasterTaskDeadline(s.subtask))+"*",17)])),_:1}))])),_:1})])),_:1})])),_:1})}var us={props:{subtask:{type:[String,Object,null],required:!0}},computed:{...(0,U.Se)("tm",["mastertasks"]),deadlineTime(){const e=this.subtask?._deadline_time;return e?Re()(e,"HH:mm:ss").format("HH:mm"):""}},data(){return{tmUtils:A.Z}},methods:{getMasterTaskDeadline(e){return e?.deadline?e.deadline:e.master_task_deadline}}};const cs=(0,$.Z)(us,[["render",ds]]);var ms=cs;const hs={key:0,class:"px-5 py-5 border-bottom"},ps=(0,m._)("p",null,"Popis zadania",-1),vs=["innerHTML"],ks={key:1,class:"px-5 py-5 border-bottom"},fs=(0,m._)("p",null,"Popis mastertasku",-1),gs=["innerHTML"];function bs(e,t,s,a,i,l){return(0,m.wg)(),(0,m.iD)(m.HY,null,[s.description?((0,m.wg)(),(0,m.iD)("div",hs,[ps,(0,m._)("section",{innerHTML:i.preparedDescription,class:"description-detail px-2 py-2 w-100 rounded mt-2"},null,8,vs)])):(0,m.kq)("",!0),s.mastertaskDescription?((0,m.wg)(),(0,m.iD)("div",ks,[fs,(0,m._)("section",{innerHTML:i.preparedMastertaskDescription,class:"description-detail px-2 py-2 w-100 rounded mt-2"},null,8,gs)])):(0,m.kq)("",!0)],64)}var _s=s(46215),ws=s.n(_s);const ys=(0,_s.useToast)();function Ds(){const e=window.navigator.platform,t=["Macintosh","MacIntel","MacPPC","Mac68K"],s=["Win32","Win64","Windows","WinCE"];return-1!==t.indexOf(e)?"mac":(s.indexOf(e),"win")}function Ts(e){if(!e)return e;const t=Ds();return"mac"===t?(e=e.replace(/\\\\/g,"smb://"),e=e=e.replace(/(smb:\/\/[^\s<>"()]+)/g,(function(e){return''+e.replace(/\\/g,"/")+""}))):(e=e.replace(/smb:\/\//g,"\\\\"),e=e.replace(/(\\\\[^\s<>"()]+)/g,(function(e){return e=e.replaceAll("/","\\"),''+e+""}))),e}function Ms(e){return`\n\t\tif (navigator.clipboard && navigator.clipboard.writeText) {\n\t\t\tnavigator.clipboard.writeText('${e.replace(/\\/g,"\\\\")}').then(() => {\n\t\t\t\twindow.toast.success('Link copied to clipboard!')\n\t\t\t}).catch(err => {\n\t\t\t\twindow.toast.error('Failed to copy link to clipboard!')\n\t\t\t});\n\t\t} else {\n\t\t\tconst input = document.createElement('input');\n\t\t\tinput.style.position = 'fixed';\n\t\t\tinput.style.opacity = 0;\n\t\t\tinput.style.pointerEvents = 'none';\n\t\t\tinput.value = '${e.replace(/\\/g,"\\\\")}';\n\t\t\tdocument.body.appendChild(input);\n\t\t\tinput.select();\n\t\t\tinput.focus();\n\t\t\tdocument.execCommand('copy');\n\t\t\tdocument.body.removeChild(input);\n\t\t\twindow.toast.success('Link copied to clipboard!')\n\t\t}\n\t`}window.toast=ys;var $s={props:{description:{type:String||null,default:()=>null},mastertaskDescription:{type:String||null,default:()=>null}},data(){return{copiedIndices:[],preparedDescription:"",preparedMastertaskDescription:""}},mounted(){this.preparedDescription=Ts(this.description),this.preparedMastertaskDescription=Ts(this.mastertaskDescription)}};const Cs=(0,$.Z)($s,[["render",bs]]);var js=Cs;const Es=e=>((0,m.dD)("data-v-f01fa1ac"),e=e(),(0,m.Cn)(),e),xs=Es((()=>(0,m._)("p",{class:"mt-5"},"Prílohy",-1))),Ws={class:"w-100 d-flex align-center"},Ss=["onClick"],Os={key:0,class:"d-flex align-center"},Vs=["src"],zs=Es((()=>(0,m._)("p",{class:"ml-2"},"Súbor sa sťahuje, počkajte prosím",-1)));function As(e,t,a,i,l,n){const o=(0,m.up)("W-loadable");return(0,m.wg)(),(0,m.iD)(m.HY,null,[xs,(0,m._)("div",Ws,[(0,m.Wm)(o,{content:a.files,emptyMessage:"Žiadne prílohy neboli nahraté"},{default:(0,m.w5)((()=>[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(a.files,((e,t)=>((0,m.wg)(),(0,m.iD)("div",{key:e.id,class:(0,k.C_)(["d-flex align-center flex-wrap",[0===t?"ml-0":"ml-2"]])},[(0,m.Wm)(Te.v,{class:"mt-2"},{default:(0,m.w5)((()=>[(0,m._)("p",{onClick:t=>n.downloadFile(e),class:"cursor-pointer"},(0,k.zw)(e.name),9,Ss),(0,m.Wm)(w.t,{class:"mx-1",icon:"mdi-paperclip"}),(0,m._)("p",null,(0,k.zw)((e.file_size/1048576).toFixed(2))+" MB",1)])),_:2},1024),e.isLoading?((0,m.wg)(),(0,m.iD)("div",Os,[(0,m._)("img",{class:"gif-loader",src:s(14214),alt:"Loading..."},null,8,Vs),zs])):(0,m.kq)("",!0)],2)))),128))])),_:1},8,["content"])])],64)}var Us={props:{files:{type:Array,default:()=>[]}},data(){return{isLoading:!1}},methods:{async downloadFile(e){e.isLoading=!0;try{const t=await fetch(e.path),s=await t.blob();tt.saveAs(s,e.name)}catch(t){this.$toast.error(this.$parseError(t))}finally{e.isLoading=!1}}}};const Zs=(0,$.Z)(Us,[["render",As],["__scopeId","data-v-f01fa1ac"]]);var Hs=Zs,Fs={emits:["close-modal","update-subtask"],components:{ZFiles:Hs,AMastertaskName:rt,AMastertaskStatus:kt,ATaskTimeblocks:Xe,ZCreatedBy:Tt,ATaskAssignedEmployee:St,ATaskPlannedTime:Zt,ATaskSpentTime:Qt,ATaskRemainingTime:ls,ATaskDescription:js,ATaskDeadline:ms},props:{subtask:{type:Object,required:!0}}};const Is=(0,$.Z)(Fs,[["render",st]]);var Ps=Is;const Ls={class:"timeblock w-100"},Ns={key:0,class:"x-button"},Ys={class:"splitted-time-inputs"};function qs(e,t,s,a,i,l){const n=(0,m.up)("Datepicker");return(0,m.wg)(),(0,m.iD)("div",Ls,[s.deletable&&s.editable?((0,m.wg)(),(0,m.iD)("div",Ns,[(0,m._)("button",{onClick:t[0]||(t[0]=t=>e.$emit("removeTimeblock")),class:"x-button"},"x")])):(0,m.kq)("",!0),(0,m._)("div",{onClick:t[1]||(t[1]=e=>l.openDatepicker("datepicker")),class:"datepicker-wrapper",ref:"datepicker-wrapper"},[(0,m.Wm)(n,{"model-value":s.timeblock.date,ref:"datepicker",onFocus:e.onDateFocus,"onUpdate:modelValue":l.updateDate,format:"dd.MM.yyyy",locale:"sk","select-text":"Vybrať","cancel-text":"Zrušiť",placeholder:"Dátum","auto-apply":!0,"enable-time-picker":!1,class:"mb-5 modal-input datepicker-input"},null,8,["model-value","onFocus","onUpdate:modelValue"])],512),(0,m._)("div",Ys,[(0,m.Wm)(x.hw,{value:s.timeblock.starts_at_time,onInput:l.updateStartTime,onFocus:e.onInputFocus,class:(0,k.C_)({error:i.v$?.timeblock.starts_at_time.$errors.length}),type:"time",variant:"solo","bg-color":"white",label:"Začiatok"},null,8,["value","onInput","onFocus","class"]),(0,m.Wm)(x.hw,{value:s.timeblock.ends_at_time,onInput:l.updateEndTime,onFocus:e.onInputFocus,class:(0,k.C_)({error:i.v$?.timeblock.ends_at_time.$errors.length}),type:"time",variant:"solo","bg-color":"white",label:"Koniec"},null,8,["value","onInput","onFocus","class"])])])}var Bs={mixins:[Qe],components:{Datepicker:De.Z},props:{timeblock:{type:Object,required:!0},deletable:{type:Boolean,default:!1},editable:{type:Boolean,default:!1}},data(){return{v$:(0,O.ZP)()}},validations(){return{timeblock:{starts_at_time:{required:(0,V.CF)(this.timeblock.date)},ends_at_time:{required:(0,V.CF)(this.timeblock.date)}}}},methods:{async openDatepicker(e){this.$refs[e].openMenu(),this.$nextTick((()=>{this.$refs["datepicker-wrapper"].scrollIntoView({behavior:"instant",block:"center",inline:"center"}),this.$nextTick((()=>{const e=document.querySelector(".dp__menu.dp__menu_index"),t=e.querySelector(".dp__arrow_bottom"),s=t?0-e.clientHeight-42:35;e.style.top=window.innerHeight/2+s+"px"}))}))},updateDate(e){const t={...this.timeblock};e&&(t.date=e),this.$emit("updateTimeblock",t)},updateStartTime(e){const t={...this.timeblock};t.starts_at_time=e.target.value,this.$emit("updateTimeblock",t)},updateEndTime(e){const t={...this.timeblock};t.ends_at_time=e.target.value,this.$emit("updateTimeblock",t)}}};const Rs=(0,$.Z)(Bs,[["render",qs],["__scopeId","data-v-031787aa"]]);var Ks=Rs,Js=s(15941),Gs={emits:["close","refresh"],mixins:[Qe,et,Z.Z,T],components:{ZTaskReadonlyInfo:Ps,ATimeblock:Ks,ZFilesUpload:Se,Datepicker:De.Z,QuillEditor:r.Bn},data(){return{tmUtils:A.Z,editMode:!1,visible:!1,subtask:null,isSaving:!1,errorUtils:z.Z,v$:(0,O.ZP)(),employeeValidations:[],showDatePicker:!1,selectedNewDate:[],timeblocks:[{date:null,starts_at_time:null,ends_at_time:null}],wasFormValidationTriggered:!1}},computed:{...(0,U.Se)("tm",["mastertasks","enrichedEmployees"])},validations(){return{subtask:{master_task_id:{required:V.C1},deadline:{required:V.C1},_deadline_time:{required:V.C1}}}},mounted(){this.$events.on("add-timeblock",(e=>{this.subtask?.timeblocks||(this.subtask.timeblocks=[]),this.subtask?.timesheets||(this.subtask.timesheets=[]),this.subtask?.is_finished||(this.subtask.is_finished=0),this.subtask.timeblocks.push(e)})),this.$events.on("on-subtask-edited",(e=>{if(e?.id!==this.subtask?.id)return;const t=JSON.parse(JSON.stringify(e)),s=t.deadline?.split(" ")||[];t.deadline=s[0],t._deadline_time=s[1],this.subtask=this._enrichTask(t),Js.log("2",this.subtask),this.$forceUpdate()})),this.$events.on("on-subtask-deleted",(e=>{e?.id==this.subtask?.id&&this.closeModal()}))},methods:{toggleEditMode(){if("office365"==this.subtask.type)return this.$events.emit("show-unable-to-edit-office-task-modal",{mode:"edit"});this.editMode=!this.editMode},openDatepicker(e){this.$refs[e].openMenu()},updateTimeblock(e,t){this.timeblocks[t]=e},removeTimeblock(e){this.timeblocks.splice(e,1)},async showModal({subtask:e,editMode:t=!1,mastertask:s={}}){this.isSaving=!1,this.subtask=null,this.visible=!0,this.timeblocks=[{date:null,starts_at_time:null,ends_at_time:null}],this.$nextTick((()=>{this.v$.$reset(),this.setFocusEvent()}));try{if(e?.id){const s=await this.$axios.get_auth_data(`v1/subtasks/${e.id}`);if(!s.deadline)return this.editMode=t||!s.id,this.subtask=this._enrichTask(s);const a=s.deadline.split(" ");s.deadline=a[0],s._deadline_time=a[1],this.subtask=this._enrichTask(s)}else{const t=localStorage.getItem("subtaskData");try{if(!t)throw new Error("subtaskData is null or undefined");{const e=JSON.parse(t);if(this.subtask=e,"object"!==typeof this.subtask||null===this.subtask)throw new Error("Parsed subtask is not an object");this.$nextTick((()=>{this.$refs["description"]?.setHTML(this.subtask.description||"")}))}}catch(a){Js.error("Error parsing subtaskData:",a),this.subtask={master_task:s,employees:[{}],_deadline_time:"17:00"}}if(e?.deadline&&e._deadline_time&&e.employee_id){const t=this.enrichedEmployees.find((t=>t.id==e.employee_id));this.subtask.employees=[t],this.subtask.deadline=e.deadline,this.subtask._deadline_time=e._deadline_time}e?.master_task_id&&e?.project_code&&(this.subtask.master_task_id=e.master_task_id,this.subtask.project_code=e.project_code)}this.editMode=t||!this.subtask.id}catch(a){this.$toast.error(this.$parseError(a))}},deleteTimeblock(e){this.subtask.timeblocks.splice(e,1)},closeModal(){this.visible=!1,this.$router.replace({name:this.$route.name})},async validateAllFields(){const e=await this._validateEmployees(),t=!!this.subtask?.id||await this._validateTimeblocks();if(await this.v$.$validate()&&e&&t)return!0},async handleOnRemoveEmployee(){this.wasFormValidationTriggered&&setTimeout((async()=>{this.validateAllFields()}),100)},async save(){if(this.wasFormValidationTriggered=!0,await this.validateAllFields()){this.subtask.description=this.$refs["description"].getHTML(),this._mergeDeadlineTimeDate();try{if(this.isSaving=!0,this.subtask.deadline=Re()(this.subtask.deadline).format("YYYY-MM-DD HH:mm:SS"),this.subtask?.id){const e=this.subtask.timesheets.map((e=>(delete e.employee_name,e))),{subtask:t}=await this.$axios.patch_auth_form(`v1/subtasks/${this.subtask.id}`,{...this.subtask,timesheets:e});localStorage.removeItem("subtaskData"),this.$store.commit("tm/update_subtask",t),this.$events.emit("on-subtask-edited",this.subtask)}else{const e=this.subtask.employees.filter((e=>e.id&&e.duration));e.forEach((e=>{e.timeblocks=this.timeblocks.filter((e=>e.date)).map((e=>({start:`${Re()(e.date).format("YYYY-MM-DD")} ${e.starts_at_time}:00`,end:`${Re()(e.date).format("YYYY-MM-DD")} ${e.ends_at_time}:00`,id:null})))}));const t={...this.subtask,employees:e};delete t._master_task;const{subtasks:s}=await this.$axios.post_auth(`v1/mastertasks/${this.subtask.master_task_id}/subtasks`,t);localStorage.removeItem("subtaskData"),this.subtask.id=s[0].id,s.forEach((e=>{this.$store.commit("tm/update_subtask",e),this.$events.emit("on-subtask-edited",this.subtask)})),this.$events.emit("task-created"),this.$events.emit("close-both-modals")}this.closeModal()}catch(e){this.$toast.error(this.$parseError(e))}finally{this.isSaving=!1}}},openDeleteTaskModal(e){if("office365"==e.type)return this.$events.emit("show-unable-to-edit-office-task-modal",{mode:"delete"});this.$events.emit("show-delete-task-modal",{subtask:e})},showCompleteTaskModal(){this.$events.emit("show-complete-task-modal",{subtask:this.subtask}),this.subtask.deadline&&(this.subtask.deadline=A.Z.formatDateTimeForBackend(this.subtask.deadline))},filesUploaded(e){this.subtask.files=e},updateSubtask(e){this.subtask=e},_mergeDeadlineTimeDate(){const e=new Date(this.subtask.deadline);Js.log("z-task-modal",this.subtask);const t=this.subtask._deadline_time.split(":");e.setHours(parseInt(t[0])),e.setMinutes(parseInt(t[1])),this.subtask.deadline=e},_validateEmployees(){return new Promise((e=>{if(this.employeeValidations=[],this.subtask.id)this.subtask.employee_id&&this.subtask.duration||(this.employeeValidations[0]={employee:!this.subtask.employee_id,duration:!this.subtask.duration});else{let e=!1;this.subtask.employees.forEach(((t,s)=>{t.id||t.duration?(t.id||t.duration)&&(this.employeeValidations[s]={employee:!t.id,duration:!t.duration},t.id&&t.duration&&(e=!0)):0!==s||e||(this.employeeValidations[s]={employee:!0,duration:!0})}))}const t=this.employeeValidations.some((e=>e.duration||e.employee));e(!t)}))},async _validateTimeblocks(){let e=!1;for(let t=0;tt.id==e.created_by)),_employee:this.enrichedEmployees.find((t=>t.id==e.employee_id)),_master_task:this.mastertasks.find((t=>t.id==e.master_task_id))}}},watch:{"subtask.employee_id"(e,t){e&&t&&(this.subtask.timeblocks=[],this.subtask._employee=this.enrichedEmployees.find((e=>e.id==this.subtask.employee_id)))},"subtask.employees":{handler(){if(!this.subtask?.employees)return;const e=this.subtask.employees[this.subtask.employees.length-1];(e?.id||e?.duration)&&this.subtask.employees.push({})},deep:!0},"subtask.master_task_id"(e){e&&(this.subtask._master_task=this.mastertasks.find((e=>e.id==this.subtask.master_task_id)),this.subtask.project_code=this.subtask._master_task?.project_code||null)},editMode(){this.$nextTick((()=>{this.$refs["description"]?.setHTML(this.subtask.description||"")}))},subtask:{handler(e){if(this.editMode&&!this.subtask?.id){const t=e?.employees?.filter((e=>e?.id||e?.duration))||[{}],s={...e,employees:t&&t.length>0?t:[{}]};Js.log("subtaskData",s),localStorage.setItem("subtaskData",JSON.stringify(s))}},deep:!0}}};const Xs=(0,$.Z)(Gs,[["render",ye],["__scopeId","data-v-5102a689"]]);var Qs=Xs;const ea={class:"d-flex justify-space-between align-center"};function ta(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(_.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",ea,[(0,m._)("h1",null,[(0,m.Uk)("Ste si istý, že chcete zmazať "),(0,m._)("b",null,(0,k.zw)(l.blocker.name),1),(0,m.Uk)("?")]),(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large",class:"mb-15"})]),(0,m.Wm)(b.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half",variant:"flat",onClick:t[1]||(t[1]=e=>n.deleteBlocker()),disabled:l.isDeleting},{default:(0,m.w5)((()=>[(0,m.Uk)("ÁNO")])),_:1},8,["disabled"]),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[2]||(t[2]=(0,a.iM)((e=>n.closeModal()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ZRUŠIŤ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var sa={mixins:[T],emits:["on-blocker-deleted"],data(){return{visible:!1,blocker:null,isDeleting:!1}},methods:{async showModal({blocker:e}){this.blocker=e,this.visible=!0},closeModal(){this.visible=!1},async deleteBlocker(){if(!this.isDeleting){this.isDeleting=!0;try{await this.$axios.delete_auth(`v1/blockers/${this.blocker.id}`),this.$emit("on-blocker-deleted",this.blocker),this.closeModal()}catch(e){this.$toast.error(this.$parseError(e))}finally{this.isDeleting=!1}}}}};const aa=(0,$.Z)(sa,[["render",ta]]);var ia=aa;const la={class:"d-flex justify-space-between align-center"};function na(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(_.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",la,[(0,m._)("h1",null,[(0,m.Uk)("Ste si istý, že chcete "+(0,k.zw)(l.subtask.is_finished?"znovu otvoriť":"dokončiť")+" sub task, z mastertasku ",1),(0,m._)("b",null,(0,k.zw)(l.subtask?.master_task?.name||l.subtask.master_task),1),(0,m.Uk)("?")]),(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(b.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half",variant:"flat",onClick:t[1]||(t[1]=e=>n.complete())},{default:(0,m.w5)((()=>[(0,m.Uk)("ÁNO")])),_:1}),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[2]||(t[2]=(0,a.iM)((e=>l.visible=!1),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ZRUŠIŤ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var oa={mixins:[T],emits:["close","on-subtask-edited"],data(){return{visible:!1,subtask:null}},methods:{async showModal({subtask:e}){this.subtask=e,this.visible=!0},async complete(){try{const e={...this.subtask,is_finished:this.subtask.is_finished?0:1,timesheets:this.subtask.timesheets.map((e=>(delete e.employee_name,e)))},{subtask:t}=await this.$axios.put_auth(`v1/subtasks/${e.id}`,e);this.visible=!1,this.$emit("on-subtask-edited",t)}catch(e){this.$toast.error(this.$parseError(e))}},closeModal(){this.visible=!1}}};const ra=(0,$.Z)(oa,[["render",na]]);var da=ra;const ua={class:"d-flex justify-space-between align-center"};function ca(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(_.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",ua,[(0,m._)("h1",null,[(0,m.Uk)("Ste si istý, že chcete "+(0,k.zw)(l.mastertask.is_finished?"znovu otvoriť":"dokončiť")+" ",1),(0,m._)("b",null,(0,k.zw)(l.mastertask?.name),1),(0,m.Uk)("?")]),(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>l.visible=!1),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(b.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half",variant:"flat",onClick:t[1]||(t[1]=e=>n.complete())},{default:(0,m.w5)((()=>[(0,m.Uk)("ÁNO")])),_:1}),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[2]||(t[2]=(0,a.iM)((e=>l.visible=!1),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ZRUŠIŤ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var ma={mixins:[T],emits:["close","master-task-edited"],data(){return{visible:!1,mastertask:null}},methods:{async showModal({mastertask:e}){this.mastertask=e,this.visible=!0},async complete(){try{const e={...this.mastertask,is_finished:this.mastertask.is_finished?0:1},{mastertask:t}=await this.$axios.put_auth(`v1/mastertasks/${e.id}`,e);this.visible=!1,this.$emit("master-task-edited",t),this.$events.emit("close-both-modals")}catch(e){this.$toast.error(this.$parseError(e))}}}};const ha=(0,$.Z)(ma,[["render",ca]]);var pa=ha;const va={class:"d-flex justify-space-between align-center"},ka=(0,m._)("h1",null,"Pridať odpracovaný čas",-1);function fa(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(_.B,{"max-width":"750",modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",va,[ka,(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(b.h,{class:"mt-10 d-flex justify-start align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(x.hw,{modelValue:l.form.hours,"onUpdate:modelValue":t[1]||(t[1]=e=>l.form.hours=e),variant:"solo","bg-color":"white",type:"number",hint:l.v$.form.hours.$errors?l.errorUtils.parseErrors(l.v$.form.hours.$errors):null,class:(0,k.C_)([{error:l.v$.form.hours.$errors.length},"mb-2"]),label:"Odpracovaný čas"},null,8,["modelValue","hint","class"])])),_:1}),(0,m.Wm)(f.T,{onClick:t[2]||(t[2]=e=>n.submit()),class:"button primary mt-5"},{default:(0,m.w5)((()=>[(0,m.Uk)("Potvrdiť")])),_:1})])),_:1})])),_:1},8,["modelValue"])}var ga={mixins:[T],emits:["close","on-subtask-edited"],data(){return{v$:(0,O.ZP)(),errorUtils:z.Z,visible:!1,subtask:null,form:{hours:null}}},validations(){return{form:{hours:{required:V.C1,numeric:V.uR,minValue:(0,V.uv)(.1)}}}},methods:{async showModal({subtask:e}){this.subtask=e,this.visible=!0,this.form.hours=null,this.$nextTick((()=>this.v$.$reset()))},async submit(){if(!await this.v$.$validate())return;this.subtask.deadline&&(this.subtask.deadline=A.Z.formatDateTimeForBackend(this.subtask.deadline)),this.subtask.timesheets.push({id:null,employee_id:this.subtask.employee_id,time:"string"==typeof this.form.hours?parseFloat(this.form.hours):this.form.hours});const e={...this.subtask,timesheets:this.subtask.timesheets.map((e=>(delete e.employee_name,e)))};try{const{subtask:t}=await this.$axios.put_auth(`v1/subtasks/${this.subtask.id}`,e);this.closeModal(),this.$events.emit("on-subtask-edited",t)}catch(t){this.$toast.error(t.message||t)}},closeModal(){this.visible=!1,this.v$.$reset()}}};const ba=(0,$.Z)(ga,[["render",fa]]);var _a=ba;const wa={class:"d-flex justify-space-between align-center modal-header"};function ya(e,t,s,i,l,n){const o=(0,m.up)("Datepicker"),r=(0,m.up)("W-loadable");return(0,m.wg)(),(0,m.j4)(_.B,{modelValue:l.visible,"onUpdate:modelValue":t[7]||(t[7]=e=>l.visible=e),"max-width":"750","max-height":"90%",height:"700px",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(r,{content:l.blocker,class:"h-100"},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,{height:"100%",class:"d-flex flex-column"},{default:(0,m.w5)((()=>[(0,m._)("div",wa,[(0,m._)("h1",null,(0,k.zw)(l.blocker.id?"Upraviť":"Vytvoriť")+" blocker",1),(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(b.h,{class:"d-flex flex-column modal-content"},{default:(0,m.w5)((()=>[(0,m.Wm)(x.hw,{onFocus:e.onInputFocus,class:(0,k.C_)(["modal-input",{error:l.v$.blocker.name.$errors.length}]),label:"Názov blockeru",hint:l.v$.blocker.name.$errors?l.errorUtils.parseErrors(l.v$.blocker.name.$errors):null,modelValue:l.blocker.name,"onUpdate:modelValue":t[1]||(t[1]=e=>l.blocker.name=e),variant:"solo"},null,8,["onFocus","class","hint","modelValue"]),(0,m.Wm)(E.f,{"custom-filter":e.customFilter,"match-any":!0,clearable:"",label:"Vyhľadať zamestnanca",items:[...e.enrichedEmployees],"item-title":"_fullName","item-value":"id",variant:"solo",class:"modal-input",modelValue:l.blocker.employee_id,"onUpdate:modelValue":t[2]||(t[2]=e=>l.blocker.employee_id=e)},null,8,["custom-filter","items","modelValue"]),(0,m.Wm)(o,{class:(0,k.C_)(["modal-input mb-5",{error:l.v$.datepicker.$errors?.length}]),modelValue:l.datepicker,"onUpdate:modelValue":t[3]||(t[3]=e=>l.datepicker=e),"auto-apply":!0,format:"dd.MM.yyyy",locale:"sk",validations:l.v$.datepicker,"select-text":"Vybrať","cancel-text":"Zrušiť",placeholder:"Dátum","enable-time-picker":!1,ref:"datepicker"},null,8,["modelValue","class","validations"]),(0,m.Wm)(x.hw,{modelValue:l.starts_at_time,"onUpdate:modelValue":t[4]||(t[4]=e=>l.starts_at_time=e),type:"time",variant:"solo","bg-color":"white",hint:l.v$.starts_at_time.$errors?l.errorUtils.parseErrors(l.v$.starts_at_time.$errors):null,class:(0,k.C_)([{error:l.v$.starts_at_time.$errors.length},"mb-1 modal-input"]),label:"Začiatok"},null,8,["modelValue","hint","class"]),(0,m.Wm)(x.hw,{modelValue:l.ends_at_time,"onUpdate:modelValue":t[5]||(t[5]=e=>l.ends_at_time=e),type:"time",variant:"solo","bg-color":"white",hint:l.v$.ends_at_time.$errors?l.errorUtils.parseErrors(l.v$.ends_at_time.$errors):null,class:(0,k.C_)([{error:l.v$.ends_at_time.$errors.length},"modal-input"]),label:"Koniec"},null,8,["modelValue","hint","class"])])),_:1}),(0,m.Wm)(f.T,{class:"button primary",onClick:t[6]||(t[6]=e=>n.save())},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(l.blocker.id?"UPRAVIŤ":"VYTVORIŤ"),1)])),_:1})])),_:1})])),_:1},8,["content"])])),_:1},8,["modelValue"])}var Da={mixins:[Qe,Z.Z,T],emits:["close"],components:{Datepicker:De.Z},data(){return{visible:!1,v$:(0,O.ZP)(),errorUtils:z.Z,blocker:null,datepicker:null,starts_at_time:null,ends_at_time:null,employee:null}},computed:{...(0,U.Se)("tm",["enrichedEmployees"]),...(0,U.Se)("auth",["user"])},validations(){return{blocker:{name:{required:V.C1},start:{required:V.C1},end:{required:V.C1}},starts_at_time:{required:V.C1},ends_at_time:{required:V.C1},datepicker:{required:V.C1}}},methods:{async showModal({blocker:e}){this.visible=!0,this.blocker=null,this.datepicker=null,this.starts_at_time=null,this.ends_at_time=null,this.$nextTick((()=>{this.setFocusEvent(),this.v$.$reset()}));try{e?.id?(e=await this.$axios.get_auth_data(`v1/blockers/${e.id}`),this.starts_at_time=Re()(e.start).format("HH:mm"),this.ends_at_time=Re()(e.end).format("HH:mm"),this.datepicker=new Date(e.start),e.employee_id=e.employee.id,this.blocker=e):(this.blocker={start:null,employee_id:this.user.id},e.starts_at_time&&e.datepicker&&e.employee_id&&(this.datepicker=e.datepicker,this.starts_at_time=e.starts_at_time,this.blocker.employee_id=e.employee_id))}catch(t){this.$toast.error(this.$parseError(t))}},async save(){if(await this.v$.$validate())try{if(this.blocker.id){const{blocker:e}=await this.$axios.put_auth(`v1/blockers/${this.blocker.id}`,this.blocker);this.blocker=e}else{const{blocker:e}=await this.$axios.post_auth("v1/blockers",this.blocker);this.blocker=e}this.$events.emit("on-blocker-edited",this.blocker),this.$events.emit("blocker-created"),this.closeModal()}catch(e){this.$toast.error(this.$parseError(e))}},closeModal(){this.$refs["datepicker"].clearValue(),this.visible=!1,this.$emit("close",this.blocker)},onEmployeeSelected({key:e}){this.blocker.employee=this.enrichedEmployees.find((t=>t.id==e))},_syncDatesTimes(){if(!this.starts_at_time||!this.ends_at_time||!this.datepicker)return;const e=this.starts_at_time.split(":"),t=this.ends_at_time.split(":");this.blocker.start=Re()(this.datepicker).set({hours:parseInt(e[0]),minutes:parseInt(e[1])}).format("YYYY-MM-DD HH:mm"),this.blocker.end=Re()(this.datepicker).set({hours:parseInt(t[0]),minutes:parseInt(t[1])}).format("YYYY-MM-DD HH:mm")}},watch:{ends_at_time(){this._syncDatesTimes()},starts_at_time(){this._syncDatesTimes()},datepicker(){this._syncDatesTimes()}}};const Ta=(0,$.Z)(Da,[["render",ya]]);var Ma=Ta;const $a={class:"d-flex justify-space-between align-center"};function Ca(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(_.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",$a,[(0,m._)("h1",null,[(0,m.Uk)("Ste si istý, že chcete zmazať "),(0,m._)("b",null,(0,k.zw)(l.mastertask.name),1),(0,m.Uk)("?")]),(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large",class:"mb-15"})]),(0,m.Wm)(b.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half",variant:"flat",onClick:t[1]||(t[1]=e=>n.deleteMasterTask()),disabled:l.isDeleting},{default:(0,m.w5)((()=>[(0,m.Uk)("ÁNO")])),_:1},8,["disabled"]),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[2]||(t[2]=(0,a.iM)((e=>n.closeModal()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ZRUŠIŤ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var ja={mixins:[T],emits:["on-mastertask-deleted"],data(){return{visible:!1,mastertask:null,isDeleting:!1}},methods:{async showModal({mastertask:e}){this.mastertask=e,this.visible=!0},closeModal(){this.visible=!1},async deleteMasterTask(){if(!this.isDeleting){this.isDeleting=!0;try{await this.$axios.delete_auth(`v1/mastertasks/${this.mastertask.id}`),this.$emit("on-mastertask-deleted",this.mastertask),this.closeModal()}catch(e){this.$toast.error(this.$parseError(e))}finally{this.isDeleting=!1}}}}};const Ea=(0,$.Z)(ja,[["render",Ca]]);var xa=Ea,Wa=s(10240);const Sa={class:"d-flex justify-space-between align-center modal-header"},Oa={class:"splitted-inputs"},Va={class:"employee-select-avatar d-flex justify-center align-center"},za={class:"employee-select-avatar d-flex justify-center align-center"},Aa={class:"d-flex justify-space-between align-center"},Ua={class:"d-flex justify-space-between align-center modal-header border-bottom pb-4"},Za={class:"d-flex justify-start"},Ha=["src"],Fa=["src"],Ia={class:"w-100"},Pa={class:"d-flex justify-start align-center mt-8"},La={class:"d-flex align-center"};function Na(e,t,i,l,n,o){const r=(0,m.up)("Datepicker"),d=(0,m.up)("QuillEditor"),u=(0,m.up)("Z-files-upload"),c=(0,m.up)("A-mastertask-description"),h=(0,m.up)("A-tasks-table"),p=(0,m.up)("W-loadable");return(0,m.wg)(),(0,m.j4)(_.B,{modelValue:n.visible,"onUpdate:modelValue":t[17]||(t[17]=e=>n.visible=e),"max-width":"750","max-height":"90%",height:"700px",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(p,{content:n.mastertask,class:"h-100"},{default:(0,m.w5)((()=>[n.editMode?((0,m.wg)(),(0,m.j4)(g._,{key:0,height:"100%",class:"d-flex flex-column scrolling"},{default:(0,m.w5)((()=>[(0,m._)("div",Sa,[(0,m._)("h1",null,(0,k.zw)(n.mastertask?.id?"Upraviť master task":"Vytvoriť master task"),1),(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>o.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(b.h,{class:"d-flex flex-column modal-content"},{default:(0,m.w5)((()=>[(0,m.Wm)(E.f,{"custom-filter":e.customFilter,"match-any":!0,modelValue:n.mastertask.project_id,"onUpdate:modelValue":t[1]||(t[1]=e=>n.mastertask.project_id=e),label:e.$t("Project code"),class:(0,k.C_)([{error:n.v$.mastertask.project_id.$errors.length},"modal-input"]),items:e.projectsOptions,"item-title":"code","item-value":"id",variant:"solo",clearable:"","onUpdate:search":t[2]||(t[2]=e=>n.projectCodeSearch=e)},null,8,["custom-filter","modelValue","label","class","items"]),(0,m.Wm)(x.hw,{modelValue:n.mastertask.name,"onUpdate:modelValue":t[3]||(t[3]=e=>n.mastertask.name=e),onFocus:e.onInputFocus,class:(0,k.C_)(["modal-input",{error:n.v$.mastertask.name.$errors.length}]),label:"Názov mastertasku",variant:"solo",hint:n.v$.mastertask.name.$errors?n.errorUtils.parseErrors(n.v$.mastertask.name.$errors):null},null,8,["modelValue","onFocus","class","hint"]),(0,m._)("div",Oa,[(0,m.Wm)(r,{modelValue:n.mastertask.deadline,"onUpdate:modelValue":t[4]||(t[4]=e=>n.mastertask.deadline=e),"auto-apply":!0,onFocus:e.onDateFocus,"min-date":new Date,class:(0,k.C_)(["modal-input left",{error:n.v$.mastertask.deadline.$errors?.length}]),format:"dd.MM.yyyy",locale:"sk","select-text":"Vybrať","cancel-text":"Zrušiť",placeholder:"Dátum",validations:n.v$.mastertask.deadline},null,8,["modelValue","onFocus","min-date","class","validations"]),(0,m.Wm)(x.hw,{class:(0,k.C_)(["modal-input right",{error:n.v$.mastertask._deadline_time.$errors.length}]),variant:"solo",modelValue:n.mastertask._deadline_time,"onUpdate:modelValue":t[5]||(t[5]=e=>n.mastertask._deadline_time=e),label:"Čas","append-inner-icon":"mdi-clock-outline",type:"time",onFocus:e.onInputFocus,hint:n.v$.mastertask._deadline_time.$errors?n.errorUtils.parseErrors(n.v$.mastertask._deadline_time.$errors):null},null,8,["modelValue","onFocus","class","hint"])]),(0,m.Wm)(x.hw,{modelValue:n.mastertask.estimated_duration,"onUpdate:modelValue":t[6]||(t[6]=e=>n.mastertask.estimated_duration=e),onFocus:e.onInputFocus,class:(0,k.C_)(["modal-input",{error:n.v$.mastertask.estimated_duration.$errors.length}]),variant:"solo",type:"number",label:"Nacenené hodiny",hint:n.v$.mastertask.estimated_duration.$errors?n.errorUtils.parseErrors(n.v$.mastertask.estimated_duration.$errors):null},null,8,["modelValue","onFocus","class","hint"]),(0,m.Wm)(x.hw,{modelValue:n.mastertask.duration,"onUpdate:modelValue":t[7]||(t[7]=e=>n.mastertask.duration=e),onFocus:e.onInputFocus,class:"modal-input",variant:"solo",type:"number",label:`${n.mastertask.duration} h`,disabled:!0},null,8,["modelValue","onFocus","label"]),(0,m.Wm)(Wa.r,{modelValue:n.mastertask.team_id,"onUpdate:modelValue":t[8]||(t[8]=e=>n.mastertask.team_id=e),onFocus:e.onInputFocus,class:(0,k.C_)(["modal-input border-select",{error:n.v$.mastertask.employees.$errors.length}]),label:"Tím",variant:"solo",items:e.teams,"item-value":"id","item-title":"name",disabled:!!n.mastertask.id,clearable:!0},null,8,["modelValue","onFocus","class","items","disabled"]),n.mastertask.id?((0,m.wg)(!0),(0,m.iD)(m.HY,{key:1},(0,m.Ko)(n.mastertask._allEmployees,(e=>((0,m.wg)(),(0,m.j4)(x.hw,{key:e.id,class:"modal-input",label:`${e.name} ${e.surname}`,variant:"solo",placeholder:"h",modelValue:e.duration,"onUpdate:modelValue":t=>e.duration=t,type:"number",disabled:!0},{default:(0,m.w5)((()=>[(0,m._)("p",za,(0,k.zw)(e?.name.charAt(0)+e?.surname.charAt(0)),1),(0,m.Wm)(w.t,{onClick:(0,a.iM)((t=>o.removeEmployee(e)),["stop"]),class:"remove-input",icon:"mdi-close-circle",size:"default"},null,8,["onClick"])])),_:2},1032,["label","modelValue","onUpdate:modelValue"])))),128)):((0,m.wg)(!0),(0,m.iD)(m.HY,{key:0},(0,m.Ko)(n.mastertask.employees,((t,s)=>((0,m.wg)(),(0,m.j4)(x.hw,{key:t.id,onFocus:e.onInputFocus,class:(0,k.C_)(["modal-input",{error:t.invalid}]),label:`${t.name} ${t.surname}`,variant:"solo",placeholder:"h",modelValue:n.mastertask.employees[s].duration,"onUpdate:modelValue":e=>n.mastertask.employees[s].duration=e,type:"number",min:"1",onInput:e.onEmployeeDurationChanged},{default:(0,m.w5)((()=>[(0,m._)("p",Va,(0,k.zw)(t?.name.charAt(0)+t?.surname.charAt(0)),1),(0,m.Wm)(w.t,{onClick:(0,a.iM)((e=>o.removeEmployee(t)),["stop"]),class:"remove-input",icon:"mdi-close-circle",size:"default"},null,8,["onClick"])])),_:2},1032,["onFocus","class","label","modelValue","onUpdate:modelValue","onInput"])))),128)),n.showAddEmployeeInput?((0,m.wg)(),(0,m.j4)(E.f,{key:2,"custom-filter":e.customFilter,"match-any":!0,label:e.$t("Search for employee"),class:(0,k.C_)([{error:n.v$.mastertask.project_id.$errors.length},"modal-input"]),items:e.employeesOptions,"item-title":"_fullName","item-value":"id",variant:"solo",clearable:"","onUpdate:modelValue":e.onEmployeeSelected},null,8,["custom-filter","label","class","items","onUpdate:modelValue"])):(0,m.kq)("",!0),(0,m.Wm)(f.T,{disabled:!!n.mastertask.id,class:(0,k.C_)(["w-100 mb-5 button secondary",{error:n.v$.mastertask.project_id.$errors.length}]),onClick:t[9]||(t[9]=e=>n.showAddEmployeeInput=!0)},{default:(0,m.w5)((()=>[(0,m.Wm)(w.t,{class:"mx-1",icon:"mdi-plus"}),(0,m.Uk)("Pridať zamestnanca ")])),_:1},8,["disabled","class"]),(0,m._)("div",{class:(0,k.C_)(["w-100 modal-input",{error:n.v$.mastertask.description.$errors.length}])},[(0,m.Wm)(d,{ref:"description",modelValue:n.mastertask.description,"onUpdate:modelValue":t[10]||(t[10]=e=>n.mastertask.description=e),placeholder:"Popis",theme:"snow",class:"rich-text-editor",onKeyup:o.onQuillEditorInput},null,8,["modelValue","onKeyup"])],2),(0,m.Wm)(u,{class:"mt-15 files",files:n.mastertask.files,onFilesUploaded:o.filesUploaded,"is-saving":n.isSaving},null,8,["files","onFilesUploaded","is-saving"])])),_:1}),n.isSaving?((0,m.wg)(),(0,m.j4)(f.T,{key:1,class:"button primary disabled",disabled:""},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(e.$t("Ukladám...")),1)])),_:1})):((0,m.wg)(),(0,m.j4)(f.T,{key:0,class:"button primary",onClick:t[11]||(t[11]=e=>o.save())},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(n.mastertask.id?"ULOŽIŤ":"VYTVORIŤ"),1)])),_:1}))])),_:1})):((0,m.wg)(),(0,m.j4)(g._,{key:1,height:"100%",class:"d-flex flex-column scrolling"},{default:(0,m.w5)((()=>[(0,m._)("div",Aa,[(0,m._)("p",null,(0,k.zw)(n.mastertask.project_code),1),(0,m.Wm)(w.t,{onClick:t[12]||(t[12]=(0,a.iM)((e=>o.closeModal()),["stop"])),icon:"mdi-close",size:"large",class:"pb-5"})]),(0,m._)("div",Ua,[(0,m._)("h1",null,(0,k.zw)(n.mastertask.name),1),(0,m._)("div",Za,[n.mastertask.is_finished?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("img",{key:0,class:"icon",src:s(60666),alt:"pencil-icon",onClick:t[13]||(t[13]=(0,a.iM)((e=>n.editMode=!n.editMode),["stop"]))},null,8,Ha)),(0,m._)("img",{class:"icon trash",src:s(27484),alt:"trash-icon",onClick:t[14]||(t[14]=(0,a.iM)((e=>o.openDeleteMasterTaskModal(n.mastertask)),["stop"]))},null,8,Fa)])]),(0,m.Wm)(b.h,{class:"d-flex flex-column modal-content"},{default:(0,m.w5)((()=>[(0,m._)("div",Ia,[(0,m.Wm)(c,{mastertask:n.mastertask},null,8,["mastertask"]),(0,m._)("div",Pa,[(0,m.Wm)(f.T,{class:"button primary",onClick:t[15]||(t[15]=e=>o.toggleIsFinished(n.mastertask))},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(n.mastertask.is_finished?"Otvoriť mastertask":"Ukončiť mastertask"),1)])),_:1})]),(0,m.Wm)(h,{subtasks:n.mastertask.subtasks},null,8,["subtasks"]),(0,m._)("div",La,[(0,m.Wm)(f.T,{class:"subtask-btn w-100",onClick:t[16]||(t[16]=e=>o.addTask())},{default:(0,m.w5)((()=>[(0,m.Wm)(w.t,{class:"mx-1",icon:"mdi-plus"}),(0,m.Uk)("Pridať sub task")])),_:1})])])])),_:1})])),_:1}))])),_:1},8,["content"])])),_:1},8,["modelValue"])}var Ya=s(4413);const qa={class:"px-5 py-5"},Ba={key:0,class:"w-25"},Ra={key:1,class:"w-50"},Ka={class:"d-flex align-center"},Ja={class:"employee-selected-avatar d-flex justify-center align-center"},Ga={class:"ml-2 line-clamp"},Xa={key:0,class:"text-light-green"},Qa={key:1},ei={class:"task-action"},ti={class:"d-flex justify-start align-center"},si=["src","onClick"],ai=["src"],ii=["src","onClick"],li=["src","onClick"],ni=["src","onClick"],oi=["src","onClick"];function ri(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(Ya.Y,{class:"mt-7 mb-5"},{default:(0,m.w5)((()=>[(0,m._)("tbody",qa,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.enrichedtasks,(e=>((0,m.wg)(),(0,m.iD)("tr",{key:e.id},[e?.title?((0,m.wg)(),(0,m.iD)("td",Ba,(0,k.zw)(e.title),1)):((0,m.wg)(),(0,m.iD)("td",Ra,(0,k.zw)(e?.master_task),1)),(0,m._)("td",Ka,[(0,m._)("p",Ja,(0,k.zw)(e._employeeInitials),1),(0,m._)("p",Ga,(0,k.zw)(e._employeeFullName),1)]),(0,m._)("td",null,[e.is_finished?((0,m.wg)(),(0,m.iD)("p",Xa,"Ukončený")):(0,m.kq)("",!0),e.is_finished?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("p",Qa,"Neukončený"))]),(0,m._)("td",ei,[(0,m._)("div",ti,["office365"==s.subtasks.type?((0,m.wg)(),(0,m.iD)(m.HY,{key:0},[(0,m._)("img",{class:"pencil-icon ml-2",src:l.eye,alt:"pencil-icon",onClick:(0,a.iM)((t=>n.openTaskModal(e)),["stop"])},null,8,si),(0,m._)("img",{class:"office-icon",src:l.office365},null,8,ai)],64)):((0,m.wg)(),(0,m.iD)(m.HY,{key:1},[e.is_finished?((0,m.wg)(),(0,m.iD)("img",{key:0,class:"pencil-icon is-finished",src:l.checkmark,alt:"checkmark-icon",onClick:(0,a.iM)((t=>n.clickCompleteTask(e)),["stop"])},null,8,ii)):(0,m.kq)("",!0),e.is_finished?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("img",{key:1,class:"pencil-icon",src:l.checkmark,alt:"checkmark-icon",onClick:(0,a.iM)((t=>n.clickCompleteTask(e)),["stop"])},null,8,li)),(0,m._)("img",{class:"pencil-icon ml-2",src:l.eye,alt:"pencil-icon",onClick:(0,a.iM)((t=>n.openTaskModal(e)),["stop"])},null,8,ni),(0,m._)("img",{class:"trash-icon",src:l.bin,alt:"trash-icon",onClick:(0,a.iM)((t=>n.openDeleteTaskModal(e)),["stop"])},null,8,oi)],64))])])])))),128))])])),_:1})}var di=s(65687),ui={props:{subtasks:{type:Array,required:!0}},data(){return{checkmark:di.d2,bin:di.Ly,eye:di.iy,office365:di.QS}},computed:{...(0,U.Se)("tm",["enrichedEmployees"]),enrichedtasks(){return this.subtasks.map((e=>{const t=this.enrichedEmployees.find((t=>t.id==e.employee_id));return{...e,_employeeInitials:t?t._initials:"?",_employeeFullName:t?t._fullName:""}}))}},methods:{openDeleteTaskModal(e){this.$events.emit("show-delete-task-modal",{subtask:e})},openTaskModal(e){this.$events.emit("show-subtask-modal",{subtask:e,editMode:!1})},async clickCompleteTask(e){this.$events.emit("show-complete-task-modal",{subtask:e})}}};const ci=(0,$.Z)(ui,[["render",ri],["__scopeId","data-v-753dec0e"]]);var mi=ci;function hi(e,t,s,a,i,l){const n=(0,m.up)("Z-status"),o=(0,m.up)("Z-deadline"),r=(0,m.up)("Z-created-by"),d=(0,m.up)("Z-team"),u=(0,m.up)("Z-estimated-duration"),c=(0,m.up)("Z-planned-time"),h=(0,m.up)("Z-remaining-time"),p=(0,m.up)("Z-spent-time"),v=(0,m.up)("Z-description"),k=(0,m.up)("Z-files");return(0,m.wg)(),(0,m.iD)(m.HY,null,[(0,m.Wm)(n,{status:s.mastertask.is_finished},null,8,["status"]),(0,m.Wm)(o,{deadline:s.mastertask.deadline},null,8,["deadline"]),(0,m.Wm)(r,{"employee-id":s.mastertask.created_by},null,8,["employee-id"]),(0,m.Wm)(d,{team:s.mastertask.team,employees:s.mastertask._allEmployees||s.mastertask.employees},null,8,["team","employees"]),(0,m.Wm)(u,{hours:s.mastertask.estimated_duration},null,8,["hours"]),(0,m.Wm)(c,{hours:s.mastertask.duration},null,8,["hours"]),(0,m.Wm)(h,{hours:s.mastertask.duration-s.mastertask.time_worked},null,8,["hours"]),(0,m.Wm)(p,{hours:s.mastertask.time_worked,"is-exceeded":s.mastertask.time_worked>s.mastertask.duration},null,8,["hours","is-exceeded"]),(0,m.Wm)(v,{description:s.mastertask.description},null,8,["description"]),(0,m.Wm)(k,{files:s.mastertask.files},null,8,["files"])],64)}const pi={class:"d-flex align-center"},vi=(0,m._)("p",{class:"mx-3"},"Deadline",-1);function ki(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",pi,[(0,m.Wm)(w.t,{icon:"mdi-calendar-week",size:"large"}),vi])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",{class:(0,k.C_)(""+(i.tmUtils.isAfter(s.deadline)?"text-black":"text-red-darken-4"))},(0,k.zw)(i.tmUtils.formatDateTime(s.deadline)),3)])),_:1})])),_:1})])),_:1})}var fi={props:{deadline:{type:String,required:!0}},data(){return{tmUtils:A.Z}}};const gi=(0,$.Z)(fi,[["render",ki]]);var bi=gi;const _i={key:0,class:"px-5 py-5 border-bottom"},wi=(0,m._)("p",null,"Popis zadania",-1),yi=["innerHTML"],Di={key:1,class:"px-5 py-5 border-bottom"},Ti=(0,m._)("p",null,"Popis mastertasku",-1),Mi=["innerHTML"];function $i(e,t,s,a,i,l){return(0,m.wg)(),(0,m.iD)(m.HY,null,[s.description?((0,m.wg)(),(0,m.iD)("div",_i,[wi,(0,m._)("section",{innerHTML:i.preparedDescription,class:"description-detail px-2 py-2 w-100 rounded mt-2"},null,8,yi)])):(0,m.kq)("",!0),s.inheritedDescription?((0,m.wg)(),(0,m.iD)("div",Di,[Ti,(0,m._)("section",{innerHTML:i.preparedInheritedDescription,class:"description-detail px-2 py-2 w-100 rounded mt-2"},null,8,Mi)])):(0,m.kq)("",!0)],64)}var Ci={props:{description:{type:String||null,default:()=>null},inheritedDescription:{type:String||null,default:()=>null}},data(){return{copiedIndices:[],preparedDescription:"",preparedInheritedDescription:""}},mounted(){this.preparedDescription=Ts(this.description),this.preparedInheritedDescription=Ts(this.inheritedDescription)}};const ji=(0,$.Z)(Ci,[["render",$i]]);var Ei=ji;const xi={class:"d-flex align-center"},Wi=(0,m._)("p",{class:"mx-3"},"Naplánovaný čas",-1);function Si(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",xi,[(0,m.Wm)(w.t,{icon:"mdi-clock-time-three-outline",size:"large"}),Wi])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",null,(0,k.zw)(s.hours)+" h",1)])),_:1})])),_:1})])),_:1})}var Oi={props:{hours:{type:Number,required:!0}}};const Vi=(0,$.Z)(Oi,[["render",Si]]);var zi=Vi;const Ai={class:"d-flex align-center"},Ui=(0,m._)("p",{class:"mx-3"},"Zostávajúci čas",-1);function Zi(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center border-bottom"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Ai,[(0,m.Wm)(w.t,{icon:"mdi-clock-time-three-outline",size:"large"}),Ui])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",null,(0,k.zw)(s.hours)+" h",1)])),_:1})])),_:1})])),_:1})}var Hi={props:{hours:{type:Number,required:!0}}};const Fi=(0,$.Z)(Hi,[["render",Zi]]);var Ii=Fi;const Pi={class:"d-flex align-center"},Li=(0,m._)("p",{class:"mx-3"},"Odpracovaný čas",-1);function Ni(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":""},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Pi,[(0,m.Wm)(w.t,{icon:"mdi-clock-time-three-outline",size:"large"}),Li])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",{class:(0,k.C_)(s.isExceeded?"text-red-darken-4":"text-black")},(0,k.zw)(s.hours)+" h",3)])),_:1})])),_:1})])),_:1})}var Yi={props:{hours:{type:Number,required:!0},isExceeded:{type:Boolean,required:!0}}};const qi=(0,$.Z)(Yi,[["render",Ni]]);var Bi=qi;const Ri={class:"d-flex align-center"},Ki=(0,m._)("p",{class:"mx-3"},"Status",-1),Ji={key:0,class:"status-badge px-4 py-2 rounded-pill"},Gi={key:1,class:"status-badge px-4 py-2 rounded-pill"};function Xi(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Ri,[(0,m.Wm)(w.t,{icon:"mdi-drag-vertical",size:"large"}),Ki])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[1==s.status?((0,m.wg)(),(0,m.iD)("p",Ji,"Ukončený")):0==s.status?((0,m.wg)(),(0,m.iD)("p",Gi,"Neukončený")):(0,m.kq)("",!0)])),_:1})])),_:1})])),_:1})}var Qi={props:{status:{type:Number,required:!0}}};const el=(0,$.Z)(Qi,[["render",Xi]]);var tl=el;const sl={class:"d-flex align-center"},al=(0,m._)("p",{class:"mx-3"},"Tím",-1),il={class:"task-badge px-4 py-2 rounded-pill flex-shrink-0"},ll={class:"employee-selected-avatar d-flex justify-center align-center"},nl={class:"ml-2"},ol=(0,m._)("div",{class:"mb-4"},null,-1),rl=(0,m._)("p",{class:"task-badge px-4 py-2 rounded-pill flex-shrink-0"},"Nepriradený",-1),dl={class:"employee-selected-avatar d-flex justify-center align-center"},ul={class:"ml-2"};function cl(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":""},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",sl,[(0,m.Wm)(w.t,{icon:"mdi-account-multiple-outline",size:"large"}),al])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3 d-flex flex-wrap flex-column"},{default:(0,m.w5)((()=>[s.team?((0,m.wg)(),(0,m.iD)(m.HY,{key:0},[(0,m._)("p",il,(0,k.zw)(s.team.name),1),((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(l.enrichedEmployeesInTeam,(e=>((0,m.wg)(),(0,m.iD)("div",{class:"d-flex align-center flex-shrink-0 mt-2 task-badge px-4 py-2 rounded-pill",key:e.id},[(0,m._)("p",ll,(0,k.zw)(e._initials),1),(0,m._)("p",nl,(0,k.zw)(e._fullName),1)])))),128)),ol],64)):(0,m.kq)("",!0),rl,((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(l.enrichedEmployeesOutsideTeam,(e=>((0,m.wg)(),(0,m.iD)("div",{class:"d-flex align-center flex-shrink-0 mt-2 task-badge px-4 py-2 rounded-pill",key:e.id},[(0,m._)("p",dl,(0,k.zw)(e._initials),1),(0,m._)("p",ul,(0,k.zw)(e._fullName),1)])))),128))])),_:1})])),_:1})])),_:1})}var ml={props:{team:{type:Object,required:!1},employees:{type:Array,required:!0}},computed:{enrichedEmployeesInTeam(){return this.team?.employees?A.Z.enrichEmployees(this.team.employees):[]},enrichedEmployeesOutsideTeam(){if(!this.team)return A.Z.enrichEmployees(this.employees);const e=this.employees.filter((e=>!this.team.employees.find((t=>t.id==e.id))));return A.Z.enrichEmployees(e)}}};const hl=(0,$.Z)(ml,[["render",cl]]);var pl=hl;const vl={class:"d-flex align-center"},kl=(0,m._)("p",{class:"mx-3"},"Nacenené hodiny",-1);function fl(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",vl,[(0,m.Wm)(w.t,{icon:"mdi-clock-time-three-outline",size:"large"}),kl])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",null,(0,k.zw)(s.hours||0)+" h",1)])),_:1})])),_:1})])),_:1})}var gl={props:{hours:{type:[Number,void 0]}}};const bl=(0,$.Z)(gl,[["render",fl]]);var _l=bl,wl={components:{ZCreatedBy:Tt,ZDeadline:bi,ZDescription:Ei,ZFiles:Hs,ZPlannedTime:zi,ZRemainingTime:Ii,ZSpentTime:Bi,ZStatus:tl,ZTeam:pl,ZEstimatedDuration:_l},props:{mastertask:{type:Object,required:!0}}};const yl=(0,$.Z)(wl,[["render",hi]]);var Dl=yl,Tl=s(15941),Ml={emits:["master-task-edited","close"],mixins:[Qe,et,Z.Z,T],components:{AMastertaskDescription:Dl,ATasksTable:mi,Datepicker:De.Z,ZFilesUpload:Se,QuillEditor:r.Bn},data(){return{deadline:null,editMode:!1,visible:!1,errorUtils:z.Z,v$:(0,O.ZP)(),mastertask:null,isSaving:!1,showAddEmployeeInput:!1,date:null,projectCodeSearch:null}},computed:{...(0,U.Se)("tm",["teams","projects","enrichedEmployees"]),enrichedSubtasks(){return this.mastertask?.subtasks?this.mastertask.subtasks.map((e=>{const t=this.enrichedEmployees.find((t=>t.id==e.employee_id));return{...e,_initials:t?t.name.charAt(0)+t.surname.charAt(0):"?",_fullName:t?`${t.name} ${t.surname}`:""}})).filter((e=>null!==e)):null}},validations(){const e=e=>!!(e&&e.length&&e.replace(/<[^>]*>/g,"").length);return{mastertask:{employees:{required:V.C1,minLength:(0,V.Ei)(1),$each:{duration:{required:V.C1}}},project_id:{required:V.C1},name:{required:V.C1},description:{quillEditorRequired:e},deadline:{required:V.C1},estimated_duration:{required:V.C1},_deadline_time:{required:V.C1}}}},mounted(){this.$events.on("close-both-modals",this.closeBothModals),this.$events.on("master-task:team-member-deleted",(({teamId:e,memberId:t})=>{this.mastertask.team_id==e&&(this.mastertask.employees=this.mastertask.employees.filter((e=>e.id!=t)))})),this.$events.on("on-mastertask-deleted",(e=>{e?.id==this.mastertask?.id&&this.closeModal()})),this.$events.on("on-subtask-deleted",(e=>{this.mastertask&&(this.mastertask.subtasks=this.mastertask.subtasks.filter((t=>t.id!=e.id)))})),this.$events.on("on-subtask-edited",(e=>{this.mastertask?.subtasks&&(this.mastertask.subtasks.find((t=>t.id==e.id))?this.mastertask.subtasks=this.mastertask.subtasks.map((t=>t.id==e.id?e:t)):this.mastertask.subtasks.push(e))}))},beforeUnmount(){this.$events.off("on-mastertask-deleted"),this.$events.off("on-subtask-deleted"),this.$events.off("on-subtask-edited"),this.$events.off("master-task:team-member-deleted"),this.$events.off("close-both-modals",this.closeBothModals)},methods:{closeBothModals(){this.$emit("close"),this.visible=!1},removeEmployee({id:e}){this.mastertask.employees=this.mastertask.employees.filter((t=>t.id!=e))},removeMemberAlert(e){const t=this.mastertask.team;this.$events.emit("show-delete-team-member-modal",{member:e,team:t})},async loadMastertask(e){try{this.mastertask=await this.$axios.get_auth_data(`v1/mastertasks/${e}`);const t=this.projects.find((e=>e.code==this.mastertask.project_code));this.mastertask.project_id=t?.id||null,this.mastertask.team_id=this.mastertask.team?.id||null,this.mastertask._allEmployees=this.mastertask.subtasks.map((({employee_id:e,duration:t})=>{const s=this.enrichedEmployees.find((({id:t})=>t==e));return s?(s.duration=t,s):null})).filter((e=>null!==e))}catch(t){this.$toast.error(t.message||t)}},async showModal({mastertask:e,editMode:t=!1}){this.isSaving=!1,this.editMode=null,this.visible=!0,this.mastertask=null,this.$nextTick((()=>{this.setFocusEvent(),this.v$.$reset()}));try{if(e?.id)await this.loadMastertask(e.id);else{const e=localStorage.getItem("mastertaskData");try{if(!e)throw new Error("mastertaskData is null or undefined");{const t=JSON.parse(e);if(this.mastertask=t,"object"!==typeof this.mastertask||null===this.mastertask)throw new Error("Parsed mastertask is not an object");this.$nextTick((()=>{this.$refs["description"]?.setHTML(this.mastertask.description||"")}))}}catch(s){Tl.error("Error parsing mastertaskData:",s),this.mastertask={employees:[],duration:0,_deadline_time:"17:00"}}}this.editMode=t||!this.mastertask.id}catch(s){this.$toast.error(s.message||s)}},toggleIsFinished(){this.$events.emit("show-complete-master-task-modal",{mastertask:this.mastertask})},async save(){this.mastertask.id&&(this.mastertask.employees=this.mastertask.employees.map((e=>{const{duration:t}=this.mastertask.subtasks.find((({employee_id:t})=>t==e.id))||{};return e.duration=t,e})));const e=await this.v$.$validate(),t=await this._validateEmployees();if(e&&t){this.$refs["description"]&&(this.mastertask.description=this.$refs["description"].getHTML()),this._mergeDeadlineTimeDate();try{this.isSaving=!0,this.mastertask.deadline=Re()(this.mastertask.deadline).format("YYYY-MM-DD HH:MM:SS"),this.mastertask.id?await this.$axios.patch_auth_form(`v1/mastertasks/${this.mastertask.id}`,this.mastertask):await this.$axios.post_auth_data("v1/mastertasks",this.mastertask),localStorage.removeItem("mastertaskData"),this.$emit("master-task-edited",this.mastertask),this.closeModal()}catch(s){this.$toast.error(this.$parseError(s))}finally{this.isSaving=!1}}},filesUploaded(e){this.mastertask.files=e},closeModal(){this.visible=!1},openDeleteMasterTaskModal(e){this.$events.emit("show-delete-master-task-modal",{mastertask:e})},addTask(){this.$events.emit("show-subtask-modal",{subtask:{master_task_id:this.mastertask.id,project_code:this.mastertask.project_code}})},onQuillEditorInput(){this.mastertask.description=this.$refs["description"].getHTML()},_mergeDeadlineTimeDate(){const e=new Date(this.mastertask.deadline);Tl.log("z-master-task-modal",this.subtask);const t=this.mastertask._deadline_time.split(":");e.setHours(parseInt(t[0])),e.setMinutes(parseInt(t[1])),this.mastertask.deadline=e},_validateEmployees(){let e=!0;return this.mastertask.employees=this.mastertask.employees.map((t=>(t.duration||(t.invalid=!0,e=!1),t))),e}},watch:{editMode(){this.$nextTick((()=>{if(this.$refs["description"]?.setHTML(this.mastertask.description||""),!this.mastertask?.id)return;const e=new Date(this.mastertask.deadline),t=e.getHours(),s=e.getMinutes();this.mastertask._deadline_time=`${t.toString().padStart(2,"0")}:${s.toString().padStart(2,"0")}`}))},mastertask:{handler(e){this.editMode&&!this.mastertask?.id&&localStorage.setItem("mastertaskData",JSON.stringify(e))},deep:!0},"mastertask.team_id":{handler(e,t){if(this.editMode&&!e&&t){const e=this.teams.find((e=>e.id==t))?.employees.map((e=>e?.id))||[],s=this.mastertask.employees.filter((t=>!e.includes(t?.id)));this.mastertask.employees=s}},deep:!0},"$route.query":{handler(e,t){t?.subtask?.length&&this.mastertask?.id&&this.loadMastertask(this.mastertask.id)},deep:!0}}};const $l=(0,$.Z)(Ml,[["render",Na],["__scopeId","data-v-4b1eca40"]]);var Cl=$l,jl=s(41888),El=s(89234);const xl=(0,m._)("h1",{class:"text-h5"}," Chcete túto osobu odstrániť z tímu? ",-1);function Wl(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(_.B,{modelValue:i.visible,"onUpdate:modelValue":t[2]||(t[2]=e=>i.visible=e),"max-width":"500",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[xl,(0,m.Wm)(jl.Z,null,{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(i.member.name+" "+i.member.surname)+" bude odstránený/á z teamu.",1)])),_:1}),(0,m.Wm)(b.h,null,{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button secondary",variant:"text",onClick:t[0]||(t[0]=e=>l.closeModal())},{default:(0,m.w5)((()=>[(0,m.Uk)(" Zrušiť ")])),_:1}),(0,m.Wm)(El.C),(0,m.Wm)(f.T,{class:"button primary",variant:"text",onClick:t[1]||(t[1]=e=>l.deleteMember())},{default:(0,m.w5)((()=>[(0,m.Uk)(" Áno ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var Sl={mixins:[T],data(){return{visible:!1,member:null,team:null}},methods:{async showModal({member:e,team:t}){this.member=e,this.team=t,this.visible=!0},closeModal(){this.visible=!1},async deleteMember(){this.team.employees=[...this.team.employees].filter((e=>e.id!==this.member.id));try{if(this.team.id){const{team:e}=await this.$axios.put_auth(`v1/teams/${this.team.id}`,this.team);this.$store.commit("tm/update_team",e)}else{const{team:e}=await this.$axios.post_auth("v1/teams",this.team);this.$store.commit("tm/save_team",e)}this.$events.emit("master-task:team-member-deleted",{teamId:this.team.id,memberId:this.member.id}),this.closeModal()}catch(e){this.$toast.error(this.$parseError(e))}},_enrichTeam(e){return e.employees=A.Z.enrichEmployees(e.employees),e}}};const Ol=(0,$.Z)(Sl,[["render",Wl]]);var Vl=Ol;const zl={class:"d-flex justify-space-between align-center"},Al=(0,m._)("h1",null,"Vytvoriť",-1);function Ul(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(_.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",zl,[Al,(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(b.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[1]||(t[1]=(0,a.iM)((e=>n.createTask()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("SUB TASK")])),_:1}),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[2]||(t[2]=(0,a.iM)((e=>n.createBlocker()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("BLOCKER")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var Zl={emits:["update","data"],props:["data"],mixins:[T],data(){return{visible:!1,localData:null}},mounted(){this.$events.on("blocker-created",(()=>{this.closeModal()})),this.$events.on("task-created",(()=>{this.closeModal()}))},methods:{async showModal(e){this.localData=e,this.visible=!0},closeModal(){this.visible=!1},createTask(){this.$events.emit("show-subtask-modal",{subtask:{deadline:this.localData.date,_deadline_time:this.localData.time,employee_id:this.localData.employee},onTaskCreated:()=>{this.closeModal()}})},createBlocker(){this.$events.emit("show-blocker-modal",{blocker:{starts_at_time:this.localData.time,datepicker:this.localData.date,employee_id:this.localData.employee},onBlockerCreated:()=>{this.closeModal()}})}}};const Hl=(0,$.Z)(Zl,[["render",Ul]]);var Fl=Hl;const Il={class:"d-flex justify-space-between align-center"},Pl={key:0},Ll={key:1};function Nl(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(_.B,{modelValue:l.visible,"onUpdate:modelValue":t[1]||(t[1]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",Il,["edit"===s.mode?((0,m.wg)(),(0,m.iD)("h1",Pl,"Sub Task zosynchronizovaný z Office365 sa nedá upravovat. Upravte ho vo svojom kalendári a pockajte na zosynchronizovanie s Task Managerom")):"delete"===s.mode?((0,m.wg)(),(0,m.iD)("h1",Ll,"Sub Task zosynchronizovaný z Office365 sa nedá zmazať. Zmažte ho vo svojom kalendári a pockajte na zosynchronizovanie s Task Managerom")):(0,m.kq)("",!0),(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})])])),_:1})])),_:1},8,["modelValue"])}var Yl=s(15941),ql={mixins:[T],emits:["close","on-subtask-edited"],props:{mode:{type:String,default:"edit"}},data(){return{visible:!1,subtask:null}},methods:{async showModal({subtask:e}){this.subtask=e,this.visible=!0},async complete(){Yl.log("complete")},closeModal(){this.visible=!1}}};const Bl=(0,$.Z)(ql,[["render",Nl]]);var Rl=Bl;const Kl=e=>((0,m.dD)("data-v-3c7fa7bc"),e=e(),(0,m.Cn)(),e),Jl={class:"d-flex justify-space-between align-center"},Gl=Kl((()=>(0,m._)("h1",null,"Sub Task má nedokončené úlohy",-1))),Xl={class:"card-content"},Ql={class:"card-actions"};function en(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(_.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",Jl,[Gl,(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m._)("div",Xl,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(l.subtask?.timeblocks,(e=>((0,m.wg)(),(0,m.iD)("div",{key:e.id,class:"d-flex align-center mb-3"},[(0,m._)("p",{class:(0,k.C_)(["task-badge rounded-pill",{"strike-through":e.is_finished}])},(0,k.zw)(l.tmUtils.formatDateTime(e.start))+" - "+(0,k.zw)(l.tmUtils.formatDateTime(e.end)),3),(0,m.Wm)(w.t,{onClick:(0,a.iM)((t=>n.handleFinishTimeblock(e)),["stop"]),class:(0,k.C_)(["finish-icon circle-border cursor-pointer ml-2",{disabled:l.loadingTimeblocks[e.id]||l.loadingCloseAll,finished:e.is_finished}]),icon:"mdi-check",size:"medium"},null,8,["onClick","class"])])))),128))]),(0,m._)("div",Ql,[(0,m.Wm)(f.T,{onClick:t[1]||(t[1]=e=>n.closeModal()),class:"button secondary"},{default:(0,m.w5)((()=>[(0,m.Uk)("Zrušiť")])),_:1}),(0,m.Wm)(f.T,{onClick:t[2]||(t[2]=e=>n.handleFinishAllTimeblocks()),loading:l.loadingCloseAll,class:"button primary"},{default:(0,m.w5)((()=>[(0,m.Uk)("Uzatvoriť všetky")])),_:1},8,["loading"])])])),_:1})])),_:1},8,["modelValue"])}var tn=s(15941),sn={mixins:[T],emits:["close","on-subtask-edited"],props:{mode:{type:String,default:"edit"}},data(){return{tmUtils:A.Z,visible:!1,subtask:null,loadingTimeblocks:{},loadingCloseAll:!1}},methods:{async showModal({subtask:e}){this.subtask=e,this.visible=!0},async complete(){tn.log("complete")},closeModal(){this.visible=!1},async handleFinishTimeblock(e){const t=JSON.parse(JSON.stringify(this.subtask));try{this.loadingTimeblocks[e.id]=!0,await this.$axios.put_auth(`v1/timeblocks/${e.id}`,{...e,is_finished:1}),e.is_finished=1;const s=t.timeblocks.every((e=>e.is_finished));s&&(await this._finishSubtask(),this.$store.dispatch("tm/removeOngoingSubtask",this.subtask.id)),this.$events.emit("on-subtask-edited",t),this.closeModal()}catch(s){this.$toast.error(s.message||s)}finally{this.loadingTimeblocks[e.id]=!1}},async handleFinishAllTimeblocks(){this.loadingCloseAll=!0;try{const e=this.subtask.timeblocks.map((e=>this.$axios.put_auth(`v1/timeblocks/${e.id}`,{...e,is_finished:1})));await Promise.all(e),this.subtask.timeblocks=this.subtask.timeblocks.map((e=>(e.is_finished=1,e))),await this._finishSubtask(),this.$store.dispatch("tm/removeOngoingSubtask",this.subtask.id),this.$events.emit("on-subtask-edited",this.subtask),this.closeModal()}catch(e){this.$toast.error(e.message||e)}finally{this.loadingCloseAll=!1}},async _finishSubtask(){const e={...this.subtask,is_finished:1,timesheets:this.subtask.timesheets.map((e=>(delete e.employee_name,e)))};return this.$axios.put_auth(`v1/subtasks/${e.id}`,e)}}};const an=(0,$.Z)(sn,[["render",en],["__scopeId","data-v-3c7fa7bc"]]);var ln=an,nn={components:{ZDeleteTeamModal:j,ZTeamModal:P,ZDeleteTaskModal:B,ZDeleteBlockerModal:ia,ZTaskModal:Qs,ZMasterTaskModal:Cl,ZCompleteTaskModal:da,ZTaskAddTimeModal:_a,ZBlockerModal:Ma,ZDeleteMasterTaskModal:xa,ZDeleteTeamMemberModal:Vl,ZShowMenuModal:Fl,ZCompleteMasterTaskModal:pa,ZDeleteTimeBlockModal:ee,ZUnableToEditOfficeTaskModal:Rl,ZUnableToCompleteTaskModal:ln},mounted(){this.$events.on("show-menu-modal",(e=>{this.$refs["z-show-menu-modal"].showModal(e)})),this.$events.on("show-delete-team-modal",(({team:e})=>{this.$refs["z-delete-team-modal"].showModal({team:e})})),this.$events.on("show-team-modal",(({team:e})=>{this.$refs["z-team-modal"].showModal({team:e})})),this.$events.on("show-delete-task-modal",(({subtask:e})=>{this.$refs["z-delete-task-modal"].showModal({subtask:e})})),this.$events.on("show-delete-timeblock-modal",(({subtask:e})=>{this.$refs["z-delete-timeblock-modal"].showModal({subtask:e})})),this.$events.on("show-delete-blocker-modal",(({blocker:e})=>{this.$refs["z-delete-blocker-modal"].showModal({blocker:e})})),this.$events.on("show-delete-master-task-modal",(({mastertask:e})=>{this.$refs["z-delete-master-task-modal"].showModal({mastertask:e})})),this.$events.on("show-delete-team-member-modal",(({member:e,team:t})=>{this.$refs["z-delete-team-member-modal"].showModal({member:e,team:t})})),this.$events.on("show-subtask-modal",(({subtask:e,editMode:t,mastertask:s})=>{if(e&&e.id){const t=e.id;this.$router.push({query:{subtask:t}})}this.$refs["z-task-modal"].showModal({subtask:e,editMode:t,mastertask:s})})),this.$events.on("show-mastertask-modal",(({mastertask:e,editMode:t})=>{if(e&&e.id){const t=e.id;this.$router.push({query:{mastertask:t}})}this.$refs["z-master-task-modal"].showModal({mastertask:e,editMode:t})})),this.$events.on("show-complete-task-modal",(({subtask:e})=>{this.$refs["z-complete-task-modal"].showModal({subtask:e})})),this.$events.on("show-complete-master-task-modal",(({mastertask:e})=>{this.$refs["z-complete-master-task-modal"].showModal({mastertask:e})})),this.$events.on("show-blocker-modal",(({blocker:e={}})=>{this.$refs["z-blocker-modal"].showModal({blocker:e})})),this.$events.on("show-task-add-time-modal",(({subtask:e})=>{this.$refs["z-task-add-time-modal"].showModal({subtask:e})})),this.$events.on("on-subtask-edited",(()=>{this.$store.dispatch("tm/reloadSubtasks")})),this.$events.on("on-mastertask-edited",(()=>{this.$store.dispatch("tm/reloadMastertasks")})),this.$events.on("on-mastertask-deleted",(()=>{this.$store.dispatch("tm/reloadMastertasks")})),this.$events.on("show-unable-to-edit-office-task-modal",(({mode:e})=>{this.$refs["z-unable-to-edit-office-task-modal"].showModal({mode:e})})),this.$events.on("show-unable-to-complete-task-modal",(({subtask:e})=>{this.$refs["z-unable-to-complete-task-modal"].showModal({subtask:e})})),this._showModalsAfterInicialization()},methods:{onTeamUpdate(e){this.$events.emit("on-team-update",e)},onTaskDeleted(e){this.$events.emit("on-subtask-deleted",e)},onBlockerDeleted(e){this.$events.emit("on-blocker-deleted",e)},onTaskEdited(e){this.$events.emit("on-subtask-edited",e)},onMasterTaskDeleted(e){this.$events.emit("on-mastertask-deleted",e)},onMasterTaskEdited(e){this.$events.emit("on-mastertask-edited",e)},_showModalsAfterInicialization(e=0){setTimeout((()=>e>50?this.$router.push({name:this.$route.name}):this.$store.getters["tm/isInitialized"]?this.$route.query["mastertask"]?this.$events.emit("show-mastertask-modal",{mastertask:{id:this.$route.query["mastertask"]},editMode:!1}):this.$route.query["subtask"]?this.$events.emit("show-subtask-modal",{subtask:{id:this.$route.query["subtask"]},editMode:!1}):void 0:this._showModalsAfterInicialization(e+1)),300)}}};const on=(0,$.Z)(nn,[["render",v]]);var rn=on,dn=s(22483),un=(0,U.MT)({state:{},getters:{},mutations:{},actions:{},modules:{}});const cn=[{path:"",redirect:"/auth"},{path:"/auth/",component:()=>s.e(9033).then(s.bind(s,99033)),children:[{path:"",redirect:"/auth/login"},{path:"/auth/login",name:"Login",component:()=>s.e(1097).then(s.bind(s,21097)),meta:{requiresAuth:!1}},{path:"/auth/forgot-password",name:"Forgot password",component:()=>s.e(924).then(s.bind(s,40924)),meta:{requiresAuth:!1}},{path:"/auth/forgot-success",name:"Forgot success",component:()=>s.e(8731).then(s.bind(s,28731)),meta:{requiresAuth:!1}},{path:"/auth/reset-password",name:"Reset password",component:()=>s.e(4518).then(s.bind(s,54518)),meta:{requiresAuth:null}}]},{path:"/app",component:()=>s.e(2612).then(s.bind(s,32612)),children:[{path:"",redirect:"/app/dashboard"},{path:"/app/dashboard",redirect:"/app/dashboard/tasks",children:[{path:"/app/dashboard/tasks",name:"Dashboard - Tasks",meta:{title:"Sub Tasks",requiresAuth:!0},component:()=>Promise.all([s.e(4578),s.e(8059)]).then(s.bind(s,53440))},{path:"/app/dashboard/teams",name:"Dashboard - Teams",meta:{title:"Teams Overview",requiresAuth:!0},component:()=>Promise.all([s.e(4578),s.e(5456)]).then(s.bind(s,63124))},{path:"/app/dashboard/projects",name:"Dashboard - Projects",meta:{title:"Projects overview",requiresAuth:!0},component:()=>s.e(3862).then(s.bind(s,3862))},{path:"/app/overview/unscheduled",name:"Overview - Unscheduled tasks",meta:{title:"Unscheduled Sub Tasks",requiresAuth:!0},component:()=>s.e(9407).then(s.bind(s,89407))},{path:"/app/overview/ongoing",name:"Overview - Ongoing tasks",meta:{title:"Ongoing Sub Tasks",requiresAuth:!0},component:()=>s.e(2885).then(s.bind(s,72885))},{path:"/app/overview/teams",name:"Overview - Teams",meta:{title:"Teams",requiresAuth:!0},component:()=>s.e(7073).then(s.bind(s,97073))},{path:"/app/dashboard/user",name:"Dashboard - User",meta:{title:"Profile",requiresAuth:!0},component:()=>s.e(907).then(s.bind(s,20907))},{path:"/app/search",name:"Search",meta:{title:"Search Results",requiresAuth:!0},component:()=>s.e(4392).then(s.bind(s,44392))}]}]},{path:"/:catchAll(.*)",name:"404",component:()=>s.e(188).then(s.bind(s,60188)),meta:{requiresAuth:null}}],mn=(0,dn.p7)({history:(0,dn.r5)("/"),routes:cn});mn.beforeEach(((e,t,s)=>{const a=un.getters["auth/isLoggedIn"];return!0===e.meta.requiresAuth?a?s():s({name:"Login"}):!1===e.meta.requiresAuth&&a?s({name:"Dashboard - Tasks"}):s()}));var hn=mn,pn=s(34311),vn=s(15941);pn.Z.defaults.baseURL="https://tm.jandl.sk/api/";var kn={async get(e,t){return pn.Z.get(e,t).then((e=>e.data)).catch((e=>Promise.reject(e)))},async get_auth(e,t){return t=this._config(t),pn.Z.get(e,t).then((e=>e.data)).catch((e=>Promise.reject(e)))},async get_data(e,t){return pn.Z.get(e,t).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async get_auth_data(e,t){return t=this._config(t),pn.Z.get(e,t).then((e=>Promise.resolve(e.data.data))).catch((e=>Promise.reject(e.response||e)))},async post(e,t=null,s){return pn.Z.post(e,t,s).then((e=>e.data)).catch((e=>Promise.reject(e)))},async post_auth(e,t=null,s){return s=this._config(s),pn.Z.post(e,t,s).then((e=>e.data)).catch((e=>Promise.reject(e)))},async post_data(e,t=null,s){return pn.Z.post(e,t,s).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async post_auth_data(e,t=null,s){return s=this._config(s),pn.Z.post(e,t,s).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async delete(e,t){return pn.Z["delete"](e,t).then((e=>e.data)).catch((e=>Promise.reject(e)))},async delete_auth(e,t){return t=this._config(t),pn.Z["delete"](e,t).then((e=>e.data)).catch((e=>Promise.reject(e)))},async delete_data(e,t){return pn.Z["delete"](e,t).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async delete_auth_data(e,t){return t=this._config(t),pn.Z["delete"](e,t).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async patch(e,t=null,s){return pn.Z.patch(e,t,s).then((e=>e.data)).catch((e=>Promise.reject(e)))},async patch_auth(e,t=null,s){return s=this._config(s),pn.Z.patch(e,t,s).then((e=>e.data)).catch((e=>Promise.reject(e)))},async patch_data(e,t=null,s){return pn.Z.patch(e,t,s).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async patch_auth_data(e,t=null,s){return s=this._config(s),pn.Z.patch(e,t,s).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async put(e,t=null,s){return pn.Z.put(e,t,s).then((e=>e.data)).catch((e=>Promise.reject(e)))},async put_auth(e,t=null,s){return s=this._config(s),pn.Z.put(e,t,s).then((e=>e.data)).catch((e=>Promise.reject(e)))},async put_data(e,t=null,s){return pn.Z.put(e,t,s).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async put_auth_data(e,t=null,s){return s=this._config(s),pn.Z.put(e,t,s).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},_config(e){return e&&vn.error("NOT IMPLEMENTED"),un.getters["auth/token"]?{headers:{Authorization:`Bearer ${un.getters["auth/token"]}`}}:{headers:{}}}},fn={install:(e,t)=>{t&&!0===t.disabled||(e.config.globalProperties.$axios=kn)}},gn=s(82482);const bn=e=>Object.entries(e).map((e=>e.map(encodeURIComponent).join("="))).join("&");function _n(e){let t=e;return t=t.replace(/\//g,"\\/"),t=t.replace(/\./g,"\\."),t=t.replace(/\([^)]+\)/g,"[^/]+"),t}var wn=s(15941);class yn{constructor(){(0,gn.Z)(this,"_mocks",{}),pn.Z.interceptors.request.use(this._redirectRequestToMock.bind(this)),this._mocks={}}mock(e){for(const t in e){let s=e[t];!1!==s&&(s={},s.name=t,s.url=t.split(" ")[1],s.reUrl||(s.reUrl=_n(s.url)),s.matchMethod||(s.matchMethod=t.split(" ")[0].toLowerCase()),this._mocks[t]=s)}}_redirectRequestToMock(e){const t=e.url.replace(/https?:\/\/[^/?]+/,"");let s;for(const a in this._mocks){const i=this._mocks[a];if(e.method==i.matchMethod&&t.match(i.reUrl)){s=i;break}}if(s){s.fname||(s.fname={VUE_APP_WAXIOS_URL:"https://tm.jandl.sk/api/",NODE_ENV:"production",BASE_URL:"/"}.VUE_APP_PLATFORM?`/mock/${{VUE_APP_WAXIOS_URL:"https://tm.jandl.sk/api/",NODE_ENV:"production",BASE_URL:"/"}.VUE_APP_PLATFORM}/${s.url}.${e.method.toUpperCase()}.json`:`/mock/${s.url}.${e.method.toUpperCase()}.json`),wn.log(s.fname=`/mock/${s.url}.${e.method.toUpperCase()}.json`);const t={method:"get",url:window.location.origin+s.fname+"?___MOCK___&"+bn(e.data||{})};e={...e,...t}}return e}}var Dn={install:(e,t)=>{const s=new yn;t&&t.routes&&Object.values(t.routes).length&&!0!==t.disabled&&s.mock(t.routes)}},Tn=s(8069),Mn={install:(e,t)=>{if(t&&!0===t.disabled)return;const s=(0,Tn.Z)();e.config.globalProperties.$events=s}},$n=s(44870),Cn=s(5658),jn=s(31310),En=s(15941);class xn{constructor(e){(0,gn.Z)(this,"currentLanguage",(0,$n.iH)()),(0,gn.Z)(this,"availableLanguages",void 0),(0,gn.Z)(this,"vendorI18n",void 0),(0,gn.Z)(this,"defaultLanguage",void 0),(0,gn.Z)(this,"languageKey",void 0),(0,gn.Z)(this,"_missingTranslation",((e,t,s,a)=>t)),(0,gn.Z)(this,"_postTranslation",(e=>e)),this.availableLanguages=e.languages||[],this.defaultLanguage=e.languages.find((t=>t.value==e.defaultLanguage)),this.languageKey=e.languageKey||{VUE_APP_WAXIOS_URL:"https://tm.jandl.sk/api/",NODE_ENV:"production",BASE_URL:"/"}.VUE_APP_PLATFORM+"_language"||0,this.vendorI18n=(0,Cn.o)({legacy:!0,fallbackLocale:this.defaultLanguage.value,messages:this._loadLocaleMessages(),missing:this._missingTranslation,postTranslation:this._postTranslation}),this.changeLanguage({title:"Slovenský",flag:"sk",value:"sk"}),this.initCurrentLanguage()}async initCurrentLanguage(){const{value:e}=await jn.u.get({key:this.languageKey});if(e)this.currentLanguage.value=JSON.parse(e);else if(this.defaultLanguage)this.currentLanguage.value=this.defaultLanguage;else{if(!this.availableLanguages[0])return En.error("[w18n] Could not init current language");this.currentLanguage.value=this.availableLanguages[0]}const t={};this.availableLanguages.forEach((e=>{t[e.value]=e.title})),this.changeLanguage(this.currentLanguage.value),this._addAxiosHeaders()}changeLanguage(e){this.currentLanguage.value=e,this._addAxiosHeaders(),jn.u.set({key:this.languageKey,value:JSON.stringify(e)}),this.vendorI18n.global.locale=e.value}_addAxiosHeaders(){pn.Z.interceptors.request.use((e=>(this.currentLanguage.value&&this.currentLanguage.value.value&&(e.headers["Accept-Language"]=this.currentLanguage.value.value),e))),pn.Z.interceptors.response.use((e=>e),(e=>Promise.reject(e?.response||e)))}_loadLocaleMessages(e="@/locales"){let t;try{t=s(8973)}catch(i){return En.warn("[@wezeo/i18n] Could not initialize i18n. Missing folder /src/locales."),{}}const a={};return t.keys().forEach((e=>{const s=e.match(/([A-Za-z0-9-_]+)\./i);if(s&&s.length>1){const i=s[1];a[i]=t(e)}})),a}}var Wn=s(15941),Sn={install:(e,t)=>{if(t&&!0===t.disabled)return;if(!t||!t.languages||!t.defaultLanguage)return Wn.warn("[@wezeo/i18n] Could not initialize i18n. Missing configuration options.");e.config.globalProperties.$events||e.use(Mn);const s=new xn(t);e.use(s.vendorI18n),e.config.globalProperties.$w18n=s}},On={install:(e,t)=>{t&&!0===t.disabled||(e.component("ion-content",i.W2),e.component("ion-page",i._i),e.component("ion-label",i.Q$),e.component("ion-back-button",i.oU),e.component("ion-checkbox",i.nz),e.component("ion-text",i.yW),e.component("ion-button",i.YG),e.component("ion-item",i.Ie),e.component("ion-item-group",i.Ub),e.component("ion-item-sliding",i.td),e.component("ion-item-option",i.u8),e.component("ion-item-options",i.IK),e.component("ion-toolbar",i.sr),e.component("ion-header",i.Gu),e.component("ion-footer",i.fr),e.component("ion-slides",i.Hr),e.component("ion-slide",i.A$),e.component("ion-spinner",i.PQ),e.component("ion-row",i.Nd),e.component("ion-col",i.wI),e.component("ion-grid",i.jY),e.component("ion-input",i.pK),e.component("ion-buttons",i.Sm),e.component("ion-icon",i.gu),e.component("ion-img",i.Xz),e.component("ion-list",i.q_),e.component("ion-skeleton-text",i.CK),e.component("ion-title",i.wd),e.component("ion-menu",i.z0),e.component("ion-split-pane",i.jI),e.component("ion-menu-button",i.fG),e.component("ion-router-outlet",i.jP),e.component("ion-segment",i.cJ),e.component("ion-segment-button",i.GO),e.component("ion-virtual-scroll",i.aJ),e.component("ion-textarea",i.g2),e.component("ion-searchbar",i.VI),e.component("ion-refresher-content",i.Wo),e.component("ion-refresher",i.nJ),e.component("ion-infinite-scroll-content",i.MB),e.component("ion-infinite-scroll",i.ju),e.component("ion-avatar",i.BJ),e.component("ion-thumbnail",i.Bs),e.component("ion-modal",i.ki),e.component("ion-radio-group",i.se),e.component("ion-radio",i.B7),e.component("ion-note",i.uN),e.component("ion-card",i.PM),e.component("ion-card-content",i.FN),e.component("ion-tab-bar",i.yq),e.component("ion-tab-button",i.ZU),e.component("ion-menu-toggle",i.zc),e.component("ion-fab",i.IJ),e.component("ion-fab-button",i.W4),e.component("ion-fab-list",i.zq),e.component("ion-reorder-group",i.oz),e.component("ion-reorder",i.Nh),e.component("ion-select",i.t9),e.component("ion-select-option",i.n0),e.component("ion-toggle",i.ho),e.component("ion-badge",i.yp),e.component("ion-chip",i.hM),e.component("ion-tabs",i.UN))}};async function Vn(e){return"Unauthenticated."==e?.response?.data?.message?un.dispatch("auth/logout"):Promise.reject(e)}pn.Z.interceptors.response.use((e=>e),(e=>Vn(e)));var zn=s(15941),An={namespaced:!0,state:{token:localStorage.getItem("wzo_vue_user_token")||"",user:JSON.parse(localStorage.getItem("wzo_vue_user_user")||"{}")},mutations:{auth_success(e,t){t.token&&(e.token=t.token,localStorage.setItem("wzo_vue_user_token",t.token)),t.user&&(e.user=t.user,localStorage.setItem("wzo_vue_user_user",JSON.stringify(t.user)))},auth_error(e){e.token="",localStorage.removeItem("wzo_vue_user_token"),localStorage.removeItem("wzo_vue_user_user")},logout(e){e.token="",e.user=null,localStorage.removeItem("wzo_vue_user_token"),localStorage.removeItem("wzo_vue_user_user"),window.open(location.origin,"_self")}},actions:{login({commit:e},t){return new Promise(((s,a)=>{kn.post("v1/tokens/create",{data:t}).then((t=>{const a=t.token,i=t.user;e("auth_success",{token:a,user:i}),s(t)})).catch((t=>{e("auth_error"),a(t)}))}))},signup({commit:e},t){return new Promise(((s,a)=>{e("auth_request"),kn.post_data("v1/auth/signup",t).then((t=>{const a=t.token,i=t.user;e("auth_success",{token:a,user:i}),s(t)})).catch((t=>{e("auth_error"),a(t)}))}))},logout({commit:e}){return new Promise((t=>{kn.post_auth_data("v1/auth/invalidate").finally((()=>{e("logout"),t(null)}))}))},forgotPassword({commit:e},t){return new Promise(((e,s)=>{kn.post("v1/users/forgot",{data:t}).then((t=>e(t))).catch((e=>s(e)))}))},resetPassword({commit:e},t){return e("auth_success",{token:t.token}),new Promise(((s,a)=>{kn.post_auth_data("v1/users/reset",{data:t}).then((t=>{e("logout"),s(t)})).catch((e=>a(e)))}))},async refreshToken({commit:e}){try{const t=await kn.post_auth_data("v1/auth/refresh"),s=t.token,a=t.user;return e("auth_success",{token:s,user:a}),s}catch(t){e("auth_error"),zn.error(t)}},async userInfo({commit:e}){return new Promise(((t,s)=>{kn.get_auth_data("v1/auth/info").then((s=>{const a=s.user;e("auth_success",{user:a}),t(a)})).catch((e=>{s(e)}))}))},updateUserInfo({commit:e},t){return new Promise(((s,a)=>{kn.put_auth(`v1/users/${t.id}`,{data:t}).then((t=>{const a=t.user;e("auth_success",{user:a}),s(a)})).catch((e=>{a(e)}))}))}},getters:{isLoggedIn:e=>!!e.token,user:e=>e.user,token:e=>e.token&&void 0!=e.token?e.token:null}},Un=s(15941),Zn={install:(e,t)=>{if(!t||1!=t.disabled)return e.config.globalProperties.$store?void e.config.globalProperties.$store.registerModule("auth",An):Un.warn("[w/auth] Could not initialize. App does not have vuex store added.")}},Hn={install:(e,t)=>{t&&!0===t.disabled||(e.use(ws()),e.config.globalProperties.$parseError=e=>e?.data?.message||e?.response?.data?.message||e?.message||e)}};const Fn={ref:"loadingContainer"},In={key:0},Pn={key:1},Ln={key:2};function Nn(e,t,s,a,i,l){return(0,m.wg)(),(0,m.iD)("div",Fn,[s.content?s.content.error?((0,m.wg)(),(0,m.iD)("div",Pn,(0,k.zw)(s.content.error),1)):"array"==typeof s.content&&!e.array.length||"object"==typeof s.content&&!Object.values(s.content).length?((0,m.wg)(),(0,m.iD)("div",Ln,(0,k.zw)(s.emptyMessage),1)):(0,m.WI)(e.$slots,"default",{key:3},void 0,!0):((0,m.wg)(),(0,m.iD)("div",In))],512)}var Yn={props:{content:{type:[Object,Array,Boolean],default:()=>null},emptyMessage:{type:String,default:"No items"}},data(){return{loader:null}},async mounted(){this.content||await this._startLoading()},methods:{async _startLoading(){},_stopLoading(){}},watch:{}};const qn=(0,$.Z)(Yn,[["render",Nn],["__scopeId","data-v-a2444234"]]);var Bn=qn,Rn={install:(e,t)=>{t&&!0===t.disabled||e.component("W-loadable",Bn)}},Kn={install:(e,t={})=>{Mn.install(e,t.events),fn.install(e,t.axios),Sn.install(e,t.i18n),Dn.install(e,t.moxios),On.install(e,t.ionic),Zn.install(e,t.auth),Hn.install(e,t.toast),Rn.install(e,t.loadable)}},Jn={parseAndTranslate(e){const t=this._parseToArrayOfStrings(e);return t.join(", ")},_parseToArrayOfStrings(e){return e?.data?.message?[Br(e.data.message)]:"string"==typeof e?[Br(e)]:e?.response?.data?Object.values(e?.response?.data):e&&e.error&&"string"==typeof e.error?[Br(e.error)]:e&&e.error&&"object"==typeof e.error?Object.values(Br(e.error)):e.data&&e.data.error&&"string"==typeof e.data.error?[Br(e.data.error)]:e&&e.data&&e.data.error&&"object"==typeof e.data.error?Object.values(e.data.error).map((e=>Br(e[0])+" ")):e.statusText?[Br(e.statusText)]:[e]}},Gn=s(15941);pn.Z.defaults.baseURL="https://tm.jandl.sk/api/";var Xn={async get(e,t){return pn.Z.get(e,t).then((e=>e.data)).catch((e=>Promise.reject(Jn.parseAndTranslate(e))))},async get_auth(e,t){return t=this._config(t),pn.Z.get(e,t).then((e=>e.data)).catch((e=>Promise.reject(Jn.parseAndTranslate(e))))},async get_data(e,t){return pn.Z.get(e,t).then((e=>e.data.data)).catch((e=>Promise.reject(Jn.parseAndTranslate(e.response||e))))},async get_auth_data(e,t){return t=this._config(t),pn.Z.get(e,t).then((e=>Promise.resolve(e.data.data))).catch((e=>Promise.reject(Jn.parseAndTranslate(e.response||e))))},async post(e,t=null,s){return pn.Z.post(e,this._objectToFormData(t),s).then((e=>e.data)).catch((e=>Promise.reject(Jn.parseAndTranslate(e))))},async post_auth(e,t=null,s){return s=this._config(s),pn.Z.post(e,this._objectToFormData(t),s).then((e=>e.data)).catch((e=>Promise.reject(Jn.parseAndTranslate(e))))},async post_data(e,t=null,s){return pn.Z.post(e,this._objectToFormData(t),s).then((e=>e.data.data)).catch((e=>Promise.reject(Jn.parseAndTranslate(e.response||e))))},async post_auth_data(e,t=null,s){return s=this._config(s),pn.Z.post(e,this._objectToFormData(t),s).then((e=>e.data.data)).catch((e=>Promise.reject(Jn.parseAndTranslate(e.response||e))))},async delete(e,t){return pn.Z["delete"](e,t).then((e=>e.data)).catch((e=>Promise.reject(Jn.parseAndTranslate(e))))},async delete_auth(e,t){return t=this._config(t),pn.Z["delete"](e,t).then((e=>e.data)).catch((e=>Promise.reject(Jn.parseAndTranslate(e))))},async delete_data(e,t){return pn.Z["delete"](e,t).then((e=>e.data.data)).catch((e=>Promise.reject(Jn.parseAndTranslate(e.response||e))))},async delete_auth_data(e,t){return t=this._config(t),pn.Z["delete"](e,t).then((e=>e.data.data)).catch((e=>Promise.reject(Jn.parseAndTranslate(e.response||e))))},async patch(e,t=null,s){return pn.Z.patch(e,this._objectToFormData(t),s).then((e=>e.data)).catch((e=>Promise.reject(Jn.parseAndTranslate(e))))},async patch_auth(e,t=null,s){return s=this._config(s),pn.Z.patch(e,this._objectToFormData(t),s).then((e=>e.data)).catch((e=>Promise.reject(Jn.parseAndTranslate(e))))},async patch_auth_form(e,t=null,s){s=this._config(s),s.headers["Content-Type"]="multipart/form-data";const a=this._objectToFormData(t);return a.append("_method","put"),s.transformRequest=e=>e,pn.Z.post(e,a,s).then((e=>e.data)).catch((e=>Promise.reject(Jn.parseAndTranslate(e))))},async patch_data(e,t=null,s){return pn.Z.patch(e,this._objectToFormData(t),s).then((e=>e.data.data)).catch((e=>Promise.reject(Jn.parseAndTranslate(e.response||e))))},async patch_auth_data(e,t=null,s){return s=this._config(s),pn.Z.patch(e,this._objectToFormData(t),s).then((e=>e.data.data)).catch((e=>Promise.reject(Jn.parseAndTranslate(e.response||e))))},async put(e,t=null,s){return pn.Z.put(e,this._objectToFormData(t),s).then((e=>e.data)).catch((e=>Promise.reject(Jn.parseAndTranslate(e))))},async put_auth(e,t=null,s){return s=this._config(s),pn.Z.put(e,{data:t},s).then((e=>e.data)).catch((e=>Promise.reject(Jn.parseAndTranslate(e))))},async put_data(e,t=null,s){return pn.Z.put(e,this._objectToFormData(t),s).then((e=>e.data.data)).catch((e=>Promise.reject(Jn.parseAndTranslate(e.response||e))))},async put_auth_data(e,t=null,s){return s=this._config(s),pn.Z.put(e,{data:t},s).then((e=>e.data.data)).catch((e=>Promise.reject(Jn.parseAndTranslate(e.response||e))))},_config(e){return e&&Gn.error("NOT IMPLEMENTED"),un.getters["auth/token"]?{headers:{Authorization:`Bearer ${un.getters["auth/token"]}`}}:{headers:{}}},_buildFormData(e,t,s){!t||"object"!==typeof t||t instanceof Date||t instanceof File?e.append(s,null==t?"":t):Object.keys(t).forEach((a=>this._buildFormData(e,t[a],s?`${s}[${a}]`:a)))},_objectToFormData(e){const t=new FormData;return this._buildFormData(t,{data:e}),t}},Qn={install:(e,t)=>{t&&!0===t.disabled||(e.config.globalProperties.$axios=Xn)}},eo={namespaced:!0,state:{mastertasks:null,employees:null,teams:null,projects:null,unscheduledSubtasks:null,ongoingSubtasks:null,initialized:!1,ongoingSubtasksEmployeeId:null,unscheduledSubtasksEmployeeId:null},mutations:{set_mastertasks(e,t){e.mastertasks=t},set_employees(e,t){e.employees=t},set_teams(e,t){e.teams=t},set_projects(e,t){e.projects=t},set_unscheduled_subtasks(e,t){e.unscheduledSubtasks=t},set_ongoing_subtasks(e,t){e.ongoingSubtasks=t},remove_ongoing_subtask(e,t){e.ongoingSubtasks=e.ongoingSubtasks.filter((e=>e.id!=t))},update_team(e,t){e.teams=e.teams.map((e=>e.id==t.id?t:e))},save_team(e,t){e.teams.push(t)},delete_team(e,t){e.teams=e.teams.filter((e=>e.id!=t.id))},update_subtask(e,t){e.unscheduledSubtasks=e.unscheduledSubtasks.map((e=>e.id==t.id?t:e)),e.ongoingSubtasks=e.ongoingSubtasks.map((e=>e.id==t.id?t:e))},delete_subtask(e,t){e.unscheduledSubtasks=e.unscheduledSubtasks.filter((e=>e.id!=t.id)),e.ongoingSubtasks=e.ongoingSubtasks.filter((e=>e.id!=t.id))},set_ongoing_subtasks_employee_id(e,t){e.ongoingSubtasksEmployeeId=t},set_unscheduled_subtasks_employee_id(e,t){e.unscheduledSubtasksEmployeeId=t},initialized(e){e.initialized=!0}},actions:{initialize({dispatch:e,commit:t}){return Promise.all([e("loadMastertasks"),e("loadEmployees"),e("loadTeams"),e("loadProjects"),e("loadUnscheduledSubtasks"),e("loadOngoingSubtasks")]).then((()=>t("initialized")))},reloadSubtasks({dispatch:e}){return Promise.all([e("loadMastertasks"),e("loadProjects"),e("loadUnscheduledSubtasks"),e("loadOngoingSubtasks")])},reloadMastertasks({dispatch:e}){return Promise.all([e("loadMastertasks")])},loadMastertasks({commit:e}){return new Promise(((t,s)=>{Xn.get_auth("v1/mastertasks/?simple=true").then((({mastertasks:s})=>{e("set_mastertasks",s),t(s)})).catch((t=>{e("set_mastertasks",{error:t}),s(t)}))}))},loadEmployees({commit:e}){return new Promise(((t,s)=>{Xn.get_auth_data("v1/employees").then((s=>{e("set_employees",s),t(s)})).catch((t=>{e("set_employees",{error:t}),s(t)}))}))},loadTeams({commit:e}){return new Promise(((t,s)=>{Xn.get_auth_data("v1/teams").then((s=>{e("set_teams",s),t(s)})).catch((t=>{e("set_teams",{error:t}),s(t)}))}))},loadProjects({commit:e}){return new Promise(((t,s)=>{Xn.get_auth_data("v1/projects").then((s=>{e("set_projects",s),t(s)})).catch((t=>{e("set_projects",{error:t}),s(t)}))}))},loadUnscheduledSubtasks({commit:e,state:t},s){let a;return s?(a=s,e("set_unscheduled_subtasks_employee_id",s)):a=t.unscheduledSubtasksEmployeeId?t.unscheduledSubtasksEmployeeId:un.getters["auth/user"]?.id,new Promise(((t,s)=>{Xn.get_auth(`v1/subtasks?type=unscheduled&employee_id=${a}`).then((({subtasks:s})=>{e("set_unscheduled_subtasks",s),t(s)})).catch((t=>{e("set_unscheduled_subtasks",{error:t}),s(t)}))}))},loadOngoingSubtasks({commit:e,state:t},s){let a;return s?(a=s,e("set_ongoing_subtasks_employee_id",s)):t.ongoingSubtasksEmployeeId?a=t.ongoingSubtasksEmployeeId:(a=un.getters["auth/user"]?.id,e("set_ongoing_subtasks_employee_id",a)),new Promise(((t,s)=>{Xn.get_auth(`v1/subtasks?type=ongoing&employee_id=${a}`).then((({subtasks:s})=>{e("set_ongoing_subtasks",s),t(s)})).catch((t=>{e("set_ongoing_subtasks",{error:t}),s(t)}))}))},removeOngoingSubtask({commit:e},t){e("remove_ongoing_subtask",t)}},getters:{mastertasks:e=>e.mastertasks,employees:e=>e.employees,enrichedEmployees:e=>e.employees?e.employees.map((e=>({...e,_fullName:`${e.name} ${e.surname}`,_initials:e.name.charAt(0)+e.surname.charAt(0)}))).sort(((e,t)=>e.namee.teams,projects:e=>e.projects,unscheduledSubtasks:e=>e.unscheduledSubtasks,ongoingSubtasks:e=>e.ongoingSubtasks,isInitialized:e=>e.initialized}},to={install:e=>{e.config.globalProperties.$store.registerModule("tm",eo)}};const so=["lang"],ao={key:0,class:"vuecal__flex vuecal__body",grow:"grow"},io=["onBlur","innerHTML"],lo=["innerHTML"],no=["innerHTML"],oo={class:"vuecal__flex",row:"row",grow:"grow"},ro={key:0,class:"vuecal__time-column"},uo=(0,m._)("span",{class:"vuecal__time-cell-line"},null,-1),co={class:"vuecal__time-cell-label"},mo={key:1,class:"vuecal__flex vuecal__week-numbers",column:"column"},ho=["wrap","column"],po=["onBlur","innerHTML"],vo=["innerHTML"],ko=["innerHTML"],fo=["wrap"],go=["innerHTML"],bo=["innerHTML"],_o={key:2,class:"vuecal__cell-events-count"},wo={key:3,class:"vuecal__no-event"},yo=["onBlur","innerHTML"],Do=["innerHTML"],To={key:2,class:"vuecal__event-time"},Mo={key:0},$o={key:1,class:"days-to-end"},Co=["innerHTML"],jo={key:0,class:"vuecal__scrollbar-check"},Eo=(0,m._)("div",null,null,-1),xo=[Eo];function Wo(e,t,s,i,l,n){const o=(0,m.up)("vuecal-header"),r=(0,m.up)("all-day-bar"),d=(0,m.up)("weekdays-headings"),u=(0,m.up)("vuecal-cell");return(0,m.wg)(),(0,m.iD)("div",{class:(0,k.C_)(["vuecal__flex vuecal",n.cssClasses]),column:"column",ref:"vuecal",lang:s.locale},[(0,m.Wm)(o,{options:e.$props,"edit-events":n.editEvents,"view-props":{views:n.views,weekDaysInHeader:n.weekDaysInHeader},"week-days":n.weekDays,"has-splits":n.hasSplits,"day-splits":n.daySplits,"switch-to-narrower-view":n.switchToNarrowerView},(0,m.Nv)({_:2},[e.$slots["weekday-heading"]?{name:"weekday-heading",fn:(0,m.w5)((({heading:t,view:s})=>[(0,m.WI)(e.$slots,"weekday-heading",{heading:t,view:s})])),key:"0"}:void 0,e.$slots["split-label"]?{name:"split-label",fn:(0,m.w5)((({split:t,view:s})=>[(0,m.WI)(e.$slots,"split-label",{split:t,view:s.id})])),key:"1"}:void 0]),1032,["options","edit-events","view-props","week-days","has-splits","day-splits","switch-to-narrower-view"]),s.hideBody?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",ao,[(0,m.Wm)(a.uT,{name:`slide-fade--${l.transitionDirection}`,appear:s.transitions},{default:(0,m.w5)((()=>[((0,m.wg)(),(0,m.iD)("div",{class:"vuecal__flex",style:{"min-width":"100%"},key:!!s.transitions&&l.view.id,column:"column"},[s.showAllDayEvents&&n.hasTimeColumn&&(!n.cellOrSplitMinWidth||n.isDayView&&!s.minSplitWidth)?((0,m.wg)(),(0,m.j4)(r,(0,k.vs)((0,m.dG)({key:0},n.allDayBar)),{event:(0,m.w5)((({event:t,view:s})=>[(0,m.WI)(e.$slots,"event",{view:s,event:t},(()=>[n.editEvents.title&&t.titleEditable?((0,m.wg)(),(0,m.iD)("div",{key:0,class:"vuecal__event-title vuecal__event-title--edit",contenteditable:"contenteditable",onBlur:e=>n.onEventTitleBlur(e,t),innerHTML:t.title},null,40,io)):t.title?((0,m.wg)(),(0,m.iD)("div",{key:1,class:"vuecal__event-title",innerHTML:t.title},null,8,lo)):(0,m.kq)("",!0),!t.content||n.hasShortEvents||n.isShortMonthView?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",{key:2,class:"vuecal__event-content",innerHTML:t.content},null,8,no))]))])),_:3},16)):(0,m.kq)("",!0),(0,m._)("div",{class:(0,k.C_)(["vuecal__bg",{vuecal__flex:!n.hasTimeColumn}]),column:"column",ref:"vuecal_scroll"},[(0,m._)("div",oo,[n.hasTimeColumn?((0,m.wg)(),(0,m.iD)("div",ro,[s.showAllDayEvents&&n.cellOrSplitMinWidth&&(!n.isDayView||s.minSplitWidth)?((0,m.wg)(),(0,m.iD)("div",{key:0,class:"vuecal__all-day-text",style:(0,k.j5)({height:n.allDayBar.height})},[(0,m._)("span",null,(0,k.zw)(l.texts.allDay),1)],4)):(0,m.kq)("",!0),((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.timeCells,((t,a)=>((0,m.wg)(),(0,m.iD)("div",{class:"vuecal__time-cell",key:a,style:(0,k.j5)(`height: ${s.timeCellHeight}px`)},[(0,m.WI)(e.$slots,"time-cell",{hours:t.hours,minutes:t.minutes},(()=>[uo,(0,m._)("span",co,(0,k.zw)(t.label),1)]))],4)))),128))])):(0,m.kq)("",!0),s.showWeekNumbers&&n.isMonthView?((0,m.wg)(),(0,m.iD)("div",mo,[((0,m.wg)(),(0,m.iD)(m.HY,null,(0,m.Ko)(6,(t=>(0,m._)("div",{class:"vuecal__flex vuecal__week-number-cell",key:t,grow:"grow"},[(0,m.WI)(e.$slots,"week-number-cell",{week:n.getWeekNumber(t-1)},(()=>[(0,m.Uk)((0,k.zw)(n.getWeekNumber(t-1)),1)]))]))),64))])):(0,m.kq)("",!0),(0,m._)("div",{class:(0,k.C_)(["vuecal__flex vuecal__cells vuecal__scrollable-body",`${l.view.id}-view`]),grow:"grow",wrap:!n.cellOrSplitMinWidth||!n.isWeekView,column:!!n.cellOrSplitMinWidth},[n.cellOrSplitMinWidth&&n.isWeekView?((0,m.wg)(),(0,m.j4)(d,{key:0,"transition-direction":l.transitionDirection,"week-days":n.weekDays,"switch-to-narrower-view":n.switchToNarrowerView,style:(0,k.j5)(n.cellOrSplitMinWidth?`min-width: ${n.cellOrSplitMinWidth}px`:""),unscheduledTime:s.unscheduledTime,ref:"vuecal_weekday_heading"},(0,m.Nv)({_:2},[e.$slots["weekday-heading"]?{name:"weekday-heading",fn:(0,m.w5)((({heading:t,view:s})=>[(0,m.WI)(e.$slots,"weekday-heading",{heading:t,view:s})])),key:"0"}:void 0,e.$slots["split-label"]?{name:"split-label",fn:(0,m.w5)((({split:t})=>[(0,m.WI)(e.$slots,"split-label",{split:t,view:l.view.id})])),key:"1"}:void 0]),1032,["transition-direction","week-days","switch-to-narrower-view","style","unscheduledTime"])):n.hasSplits&&s.stickySplitLabels&&s.minSplitWidth?((0,m.wg)(),(0,m.iD)("div",{key:1,class:"vuecal__flex vuecal__split-days-headers",ref:"vuecal_splits_heading",style:(0,k.j5)(n.cellOrSplitMinWidth?`min-width: ${n.cellOrSplitMinWidth}px`:"")},[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.daySplits,((t,s)=>((0,m.wg)(),(0,m.iD)("div",{class:(0,k.C_)(["day-split-header",t.class||!1]),key:s},[(0,m.WI)(e.$slots,"split-label",{split:t,view:l.view.id},(()=>[(0,m.Uk)((0,k.zw)(t.label),1)]))],2)))),128))],4)):(0,m.kq)("",!0),s.showAllDayEvents&&n.hasTimeColumn&&(n.isWeekView&&n.cellOrSplitMinWidth||n.isDayView&&n.hasSplits&&s.minSplitWidth)?((0,m.wg)(),(0,m.j4)(r,(0,k.vs)((0,m.dG)({key:2},n.allDayBar)),{event:(0,m.w5)((({event:t,view:s})=>[(0,m.WI)(e.$slots,"event",{view:s,event:t},(()=>[n.editEvents.title&&t.titleEditable?((0,m.wg)(),(0,m.iD)("div",{key:0,class:"vuecal__event-title vuecal__event-title--edit",contenteditable:"contenteditable",onBlur:e=>n.onEventTitleBlur(e,t),innerHTML:t.title},null,40,po)):t.title?((0,m.wg)(),(0,m.iD)("div",{key:1,class:"vuecal__event-title",innerHTML:t.title},null,8,vo)):(0,m.kq)("",!0),!t.content||n.hasShortEvents||n.isShortMonthView?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",{key:2,class:"vuecal__event-content",innerHTML:t.content},null,8,ko))]))])),_:3},16)):(0,m.kq)("",!0),(0,m._)("div",{class:"vuecal__flex vuecal__cells-body",ref:e=>l.cellsEl=e,grow:"grow",wrap:!n.cellOrSplitMinWidth||!n.isWeekView,style:(0,k.j5)(n.cellOrSplitMinWidth?`min-width: ${n.cellOrSplitMinWidth}px`:"")},[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.viewCells,((t,a)=>((0,m.wg)(),(0,m.j4)(u,{key:a,options:e.$props,"edit-events":n.editEvents,data:t,"cell-width":s.hideWeekdays.length&&(n.isWeekView||n.isMonthView)&&n.cellWidth,"min-timestamp":n.minTimestamp,"max-timestamp":n.maxTimestamp,"cell-splits":n.hasSplits&&n.daySplits||[]},{"cell-content":(0,m.w5)((({events:a,split:i,selectCell:o})=>[(0,m.WI)(e.$slots,"cell-content",{cell:t,view:l.view,goNarrower:o,events:a},(()=>[i&&!s.stickySplitLabels?((0,m.wg)(),(0,m.iD)("div",{key:0,class:"split-label",innerHTML:i.label},null,8,go)):(0,m.kq)("",!0),t.content?((0,m.wg)(),(0,m.iD)("div",{key:1,class:"vuecal__cell-date",innerHTML:t.content},null,8,bo)):(0,m.kq)("",!0),(n.isMonthView&&!s.eventsOnMonthView||n.isYearsOrYearView&&s.eventsCountOnYearView)&&a.length?((0,m.wg)(),(0,m.iD)("div",_o,[(0,m.WI)(e.$slots,"events-count",{view:l.view,events:a},(()=>[(0,m.Uk)((0,k.zw)(a.length),1)]))])):(0,m.kq)("",!0),!n.cellOrSplitHasEvents(a,i)&&n.isWeekOrDayView?((0,m.wg)(),(0,m.iD)("div",wo,[(0,m.WI)(e.$slots,"no-event",{},(()=>[(0,m.Uk)((0,k.zw)(l.texts.noEvent),1)]))])):(0,m.kq)("",!0)]))])),event:(0,m.w5)((({event:a,view:i})=>[(0,m.WI)(e.$slots,"event",{view:i,event:a},(()=>[n.editEvents.title&&a.titleEditable?((0,m.wg)(),(0,m.iD)("div",{key:0,class:"vuecal__event-title vuecal__event-title--edit",contenteditable:"contenteditable",onBlur:e=>n.onEventTitleBlur(e,a),innerHTML:a.title},null,40,yo)):a.title?((0,m.wg)(),(0,m.iD)("div",{key:1,class:"vuecal__event-title",innerHTML:a.title},null,8,Do)):(0,m.kq)("",!0),!s.time||a.allDay||n.isMonthView&&(a.allDay||"short"===s.showAllDayEvents)||n.isShortMonthView?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",To,[(0,m.Uk)((0,k.zw)(l.utils.date.formatTime(a.start,n.TimeFormat)),1),a.endTimeMinutes?((0,m.wg)(),(0,m.iD)("span",Mo," - "+(0,k.zw)(l.utils.date.formatTime(a.end,n.TimeFormat,null,!0)),1)):(0,m.kq)("",!0),a.daysCount>1&&(a.segments[t.formattedDate]||{}).isFirstDay?((0,m.wg)(),(0,m.iD)("small",$o," +"+(0,k.zw)(a.daysCount-1)+(0,k.zw)((l.texts.day[0]||"").toLowerCase()),1)):(0,m.kq)("",!0)])),!a.content||n.isMonthView&&a.allDay&&"short"===s.showAllDayEvents||n.isShortMonthView?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",{key:3,class:"vuecal__event-content",innerHTML:a.content},null,8,Co))]))])),_:2},1032,["options","edit-events","data","cell-width","min-timestamp","max-timestamp","cell-splits"])))),128))],12,fo)],10,ho)])],2)]))])),_:3},8,["name","appear"]),l.ready?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",jo,xo))]))],10,so)}s(30541);let So,Oo,Vo,zo,Ao={},Uo={};class Zo{constructor(e,t=!1){(0,gn.Z)(this,"texts",{}),(0,gn.Z)(this,"dateToMinutes",(e=>60*e.getHours()+e.getMinutes())),zo=this,this._texts=e,t||!Date||Date.prototype.addDays||this._initDatePrototypes()}_initDatePrototypes(){Date.prototype.addDays=function(e){return zo.addDays(this,e)},Date.prototype.subtractDays=function(e){return zo.subtractDays(this,e)},Date.prototype.addHours=function(e){return zo.addHours(this,e)},Date.prototype.subtractHours=function(e){return zo.subtractHours(this,e)},Date.prototype.addMinutes=function(e){return zo.addMinutes(this,e)},Date.prototype.subtractMinutes=function(e){return zo.subtractMinutes(this,e)},Date.prototype.getWeek=function(){return zo.getWeek(this)},Date.prototype.isToday=function(){return zo.isToday(this)},Date.prototype.isLeapYear=function(){return zo.isLeapYear(this)},Date.prototype.format=function(e="YYYY-MM-DD"){return zo.formatDate(this,e)},Date.prototype.formatTime=function(e="HH:mm"){return zo.formatTime(this,e)}}removePrototypes(){delete Date.prototype.addDays,delete Date.prototype.subtractDays,delete Date.prototype.addHours,delete Date.prototype.subtractHours,delete Date.prototype.addMinutes,delete Date.prototype.subtractMinutes,delete Date.prototype.getWeek,delete Date.prototype.isToday,delete Date.prototype.isLeapYear,delete Date.prototype.format,delete Date.prototype.formatTime}updateTexts(e){this._texts=e}_todayFormatted(){return Oo!==(new Date).getDate()&&(So=new Date,Oo=So.getDate(),Vo=`${So.getFullYear()}-${So.getMonth()}-${So.getDate()}`),Vo}addDays(e,t){const s=new Date(e.valueOf());return s.setDate(s.getDate()+t),s}subtractDays(e,t){const s=new Date(e.valueOf());return s.setDate(s.getDate()-t),s}addHours(e,t){const s=new Date(e.valueOf());return s.setHours(s.getHours()+t),s}subtractHours(e,t){const s=new Date(e.valueOf());return s.setHours(s.getHours()-t),s}addMinutes(e,t){const s=new Date(e.valueOf());return s.setMinutes(s.getMinutes()+t),s}subtractMinutes(e,t){const s=new Date(e.valueOf());return s.setMinutes(s.getMinutes()-t),s}getWeek(e){const t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())),s=t.getUTCDay()||7;t.setUTCDate(t.getUTCDate()+4-s);const a=new Date(Date.UTC(t.getUTCFullYear(),0,1));return Math.ceil(((t-a)/864e5+1)/7)}isToday(e){return`${e.getFullYear()}-${e.getMonth()}-${e.getDate()}`===this._todayFormatted()}isLeapYear(e){const t=e.getFullYear();return!(t%400)||t%100&&!(t%4)}getPreviousFirstDayOfWeek(e=null,t){const s=e&&new Date(e.valueOf())||new Date,a=t?7:6;return s.setDate(s.getDate()-(s.getDay()+a)%7),s}stringToDate(e){return e instanceof Date?e:(10===e.length&&(e+=" 00:00"),new Date(e.replace(/-/g,"/")))}countDays(e,t){"string"===typeof e&&(e=e.replace(/-/g,"/")),"string"===typeof t&&(t=t.replace(/-/g,"/")),e=new Date(e).setHours(0,0,0,0),t=new Date(t).setHours(0,0,1,0);const s=60*(new Date(t).getTimezoneOffset()-new Date(e).getTimezoneOffset())*1e3;return Math.ceil((t-e-s)/864e5)}datesInSameTimeStep(e,t,s){return Math.abs(e.getTime()-t.getTime())<=60*s*1e3}formatDate(e,t="YYYY-MM-DD",s=null){if(s||(s=this._texts),t||(t="YYYY-MM-DD"),"YYYY-MM-DD"===t)return this.formatDateLite(e);Ao={},Uo={};const a={YYYY:()=>this._hydrateDateObject(e,s).YYYY,YY:()=>this._hydrateDateObject(e,s).YY(),M:()=>this._hydrateDateObject(e,s).M,MM:()=>this._hydrateDateObject(e,s).MM(),MMM:()=>this._hydrateDateObject(e,s).MMM(),MMMM:()=>this._hydrateDateObject(e,s).MMMM(),MMMMG:()=>this._hydrateDateObject(e,s).MMMMG(),D:()=>this._hydrateDateObject(e,s).D,DD:()=>this._hydrateDateObject(e,s).DD(),S:()=>this._hydrateDateObject(e,s).S(),d:()=>this._hydrateDateObject(e,s).d,dd:()=>this._hydrateDateObject(e,s).dd(),ddd:()=>this._hydrateDateObject(e,s).ddd(),dddd:()=>this._hydrateDateObject(e,s).dddd(),HH:()=>this._hydrateTimeObject(e,s).HH,H:()=>this._hydrateTimeObject(e,s).H,hh:()=>this._hydrateTimeObject(e,s).hh,h:()=>this._hydrateTimeObject(e,s).h,am:()=>this._hydrateTimeObject(e,s).am,AM:()=>this._hydrateTimeObject(e,s).AM,mm:()=>this._hydrateTimeObject(e,s).mm,m:()=>this._hydrateTimeObject(e,s).m};return t.replace(/(\{[a-zA-Z]+\}|[a-zA-Z]+)/g,((e,t)=>{const s=a[t.replace(/\{|\}/g,"")];return void 0!==s?s():t}))}formatDateLite(e){const t=e.getMonth()+1,s=e.getDate();return`${e.getFullYear()}-${t<10?"0":""}${t}-${s<10?"0":""}${s}`}formatTime(e,t="HH:mm",s=null,a=!1){let i=!1;if(a){const[t,s,a]=[e.getHours(),e.getMinutes(),e.getSeconds()];t+s+a===141&&(i=!0)}if(e instanceof Date&&"HH:mm"===t)return i?"24:00":this.formatTimeLite(e);Uo={},s||(s=this._texts);const l=this._hydrateTimeObject(e,s),n=t.replace(/(\{[a-zA-Z]+\}|[a-zA-Z]+)/g,((e,t)=>{const s=l[t.replace(/\{|\}/g,"")];return void 0!==s?s:t}));return i?n.replace("23:59","24:00"):n}formatTimeLite(e){const t=e.getHours(),s=e.getMinutes();return`${(t<10?"0":"")+t}:${(s<10?"0":"")+s}`}_nth(e){if(e>3&&e<21)return"th";switch(e%10){case 1:return"st";case 2:return"nd";case 3:return"rd";default:return"th"}}_hydrateDateObject(e,t){if(Ao.D)return Ao;const s=e.getFullYear(),a=e.getMonth()+1,i=e.getDate(),l=e.getDay(),n=(l-1+7)%7;return Ao={YYYY:s,YY:()=>s.toString().substring(2),M:a,MM:()=>(a<10?"0":"")+a,MMM:()=>t.months[a-1].substring(0,3),MMMM:()=>t.months[a-1],MMMMG:()=>(t.monthsGenitive||t.months)[a-1],D:i,DD:()=>(i<10?"0":"")+i,S:()=>this._nth(i),d:n+1,dd:()=>t.weekDays[n][0],ddd:()=>t.weekDays[n].substr(0,3),dddd:()=>t.weekDays[n]},Ao}_hydrateTimeObject(e,t){if(Uo.am)return Uo;let s,a;e instanceof Date?(s=e.getHours(),a=e.getMinutes()):(s=Math.floor(e/60),a=Math.floor(e%60));const i=s%12?s%12:12,l=(t||{am:"am",pm:"pm"})[24===s||s<12?"am":"pm"];return Uo={H:s,h:i,HH:(s<10?"0":"")+s,hh:(i<10?"0":"")+i,am:l,AM:l.toUpperCase(),m:a,mm:(a<10?"0":"")+a},Uo}}const Ho=1440;class Fo{constructor(e){(0,gn.Z)(this,"_vuecal",null),(0,gn.Z)(this,"selectCell",((e=!1,t,s)=>{this._vuecal.$emit("cell-click",s?{date:t,split:s}:t),this._vuecal.clickToNavigate||e?this._vuecal.switchToNarrowerView():this._vuecal.dblclickToNavigate&&"ontouchstart"in window&&(this._vuecal.domEvents.dblTapACell.taps++,setTimeout((()=>this._vuecal.domEvents.dblTapACell.taps=0),this._vuecal.domEvents.dblTapACell.timeout),this._vuecal.domEvents.dblTapACell.taps>=2&&(this._vuecal.domEvents.dblTapACell.taps=0,this._vuecal.switchToNarrowerView(),this._vuecal.$emit("cell-dblclick",s?{date:t,split:s}:t)))})),(0,gn.Z)(this,"keyPressEnterCell",((e,t)=>{this._vuecal.$emit("cell-keypress-enter",t?{date:e,split:t}:e),this._vuecal.switchToNarrowerView()})),(0,gn.Z)(this,"getPosition",(e=>{const{left:t,top:s}=this._vuecal.cellsEl.getBoundingClientRect(),{clientX:a,clientY:i}="ontouchstart"in window&&e.touches?e.touches[0]:e;return{x:a-t,y:i-s}})),(0,gn.Z)(this,"minutesAtCursor",(e=>{let t=0,s={x:0,y:0};const{timeStep:a,timeCellHeight:i,timeFrom:l}=this._vuecal.$props;return"number"===typeof e?t=e:"object"===typeof e&&(s=this.getPosition(e),t=Math.round(s.y*a/parseInt(i)+l)),{minutes:Math.max(Math.min(t,Ho),0),cursorCoords:s}})),this._vuecal=e}}const Io=2,Po=1440;let Lo,No,Yo;class qo{constructor(e,t){(0,gn.Z)(this,"_vuecal",null),(0,gn.Z)(this,"eventDefaults",{_eid:null,start:"",startTimeMinutes:0,end:"",endTimeMinutes:0,title:"",content:"",background:!1,allDay:!1,segments:null,repeat:null,daysCount:1,deletable:!0,deleting:!1,titleEditable:!0,resizable:!0,resizing:!1,draggable:!0,dragging:!1,draggingStatic:!1,focused:!1,class:""}),this._vuecal=e,Lo=t}createAnEvent(e,t,s){if("string"===typeof e&&(e=Lo.stringToDate(e)),!(e instanceof Date))return!1;const a=Lo.dateToMinutes(e);t=1*t||60*Io;const i=a+t,l=Lo.addMinutes(new Date(e),t);s.end&&("string"===typeof s.end&&(s.end=Lo.stringToDate(s.end)),s.endTimeMinutes=Lo.dateToMinutes(s.end));const n={...this.eventDefaults,_eid:`${this._vuecal._.uid}_${this._vuecal.eventIdIncrement++}`,start:e,startTimeMinutes:a,end:l,endTimeMinutes:i,segments:null,...s};return"function"!==typeof this._vuecal.onEventCreate||this._vuecal.onEventCreate(n,(()=>this.deleteAnEvent(n)))?(n.startDateF!==n.endDateF&&(n.daysCount=Lo.countDays(n.start,n.end)),this._vuecal.mutableEvents.push(n),this._vuecal.addEventsToView([n]),this._vuecal.emitWithEvent("event-create",n),this._vuecal.$emit("event-change",{event:this._vuecal.cleanupEvent(n),originalEvent:null}),n):void 0}addEventSegment(e){e.segments||(e.segments={},e.segments[Lo.formatDateLite(e.start)]={start:e.start,startTimeMinutes:e.startTimeMinutes,endTimeMinutes:Po,isFirstDay:!0,isLastDay:!1});const t=e.segments[Lo.formatDateLite(e.end)];t&&(t.isLastDay=!1,t.endTimeMinutes=Po);const s=Lo.addDays(e.end,1),a=Lo.formatDateLite(s);return s.setHours(0,0,0,0),e.segments[a]={start:s,startTimeMinutes:0,endTimeMinutes:e.endTimeMinutes,isFirstDay:!1,isLastDay:!0},e.end=Lo.addMinutes(s,e.endTimeMinutes),e.daysCount=Object.keys(e.segments).length,a}removeEventSegment(e){let t=Object.keys(e.segments).length;if(t<=1)return Lo.formatDateLite(e.end);delete e.segments[Lo.formatDateLite(e.end)],t--;const s=Lo.subtractDays(e.end,1),a=Lo.formatDateLite(s),i=e.segments[a];return t?i&&(i.isLastDay=!0,i.endTimeMinutes=e.endTimeMinutes):e.segments=null,e.daysCount=t||1,e.end=s,a}createEventSegments(e,t,s){const a=t.getTime(),i=s.getTime();let l,n,o,r=e.start.getTime(),d=e.end.getTime(),u=!1;e.end.getHours()||e.end.getMinutes()||(d-=1e3),e.segments={},e.repeat?(l=a,n=Math.min(i,e.repeat.until?Lo.stringToDate(e.repeat.until).getTime():i)):(l=Math.max(a,r),n=Math.min(i,d));while(l<=n){let t=!1;const s=Lo.addDays(new Date(l),1).setHours(0,0,0,0);let a,i,c,m;if(e.repeat){const s=new Date(l),n=Lo.formatDateLite(s);(u||e.occurrences&&e.occurrences[n])&&(u||(r=e.occurrences[n].start,o=new Date(r).setHours(0,0,0,0),d=e.occurrences[n].end),u=!0,t=!0),a=l===o,i=n===Lo.formatDateLite(new Date(d)),c=new Date(a?r:l),m=Lo.formatDateLite(c),i&&(u=!1)}else t=!0,a=l===r,i=n===d&&s>n,c=a?e.start:new Date(l),m=Lo.formatDateLite(a?e.start:c);t&&(e.segments[m]={start:c,startTimeMinutes:a?e.startTimeMinutes:0,endTimeMinutes:i?e.endTimeMinutes:Po,isFirstDay:a,isLastDay:i}),l=s}return e}deleteAnEvent(e){this._vuecal.emitWithEvent("event-delete",e),this._vuecal.mutableEvents=this._vuecal.mutableEvents.filter((t=>t._eid!==e._eid)),this._vuecal.view.events=this._vuecal.view.events.filter((t=>t._eid!==e._eid))}checkCellOverlappingEvents(e,t){Yo=e.slice(0),No={},e.forEach((e=>{Yo.shift(),No[e._eid]||(No[e._eid]={overlaps:[],start:e.start,position:0,sameOverlaps:[]}),No[e._eid].position=0,Yo.forEach((s=>{No[s._eid]||(No[s._eid]={overlaps:[],start:s.start,position:0,sameOverlaps:[]});const a=this.eventInRange(s,e.start,e.end),i=this.eventSameRange(s,e),l=t.overlapsPerTimeStep?Lo.datesInSameTimeStep(e.start,s.start,t.timeStep):1;if(e.background||e.allDay||s.background||s.allDay||!a||!l){let t,a;(t=(No[e._eid]||{overlaps:[]}).overlaps.indexOf(s._eid))>-1&&No[e._eid].overlaps.splice(t,1),(a=(No[s._eid]||{overlaps:[]}).overlaps.indexOf(e._eid))>-1&&No[s._eid].overlaps.splice(a,1),No[s._eid].position--}else No[e._eid].overlaps.push(s._eid),No[e._eid].overlaps=[...new Set(No[e._eid].overlaps)],No[s._eid].overlaps.push(e._eid),No[s._eid].overlaps=[...new Set(No[s._eid].overlaps)],No[s._eid].position++,i&&(No[e._eid].sameOverlaps.push(s._eid),No[e._eid].sameOverlaps=[...new Set(No[e._eid].sameOverlaps)],No[s._eid].sameOverlaps.push(e._eid),No[s._eid].sameOverlaps=[...new Set(No[s._eid].sameOverlaps)])}))}));let s=0;for(const a in No){const e=No[a],t=e.overlaps.map((e=>({id:e,start:No[e].start})));t.push({id:a,start:e.start}),t.sort(((e,t)=>e.startt.start?1:e.id>t.id?-1:1)),e.position=t.findIndex((e=>e.id===a)),s=Math.max(this.getOverlapsStreak(e,No),s)}return[No,s]}getOverlapsStreak(e,t={}){let s=e.overlaps.length+1,a=[];return e.overlaps.forEach((s=>{if(!a.includes(s)){const i=e.overlaps.filter((e=>e!==s));i.forEach((e=>{t[e].overlaps.includes(s)||a.push(e)}))}})),a=[...new Set(a)],s-=a.length,s}eventInRange(e,t,s){if(e.allDay||!this._vuecal.time){const a=new Date(e.start).setHours(0,0,0,0),i=new Date(e.end).setHours(23,59,0,0);return i>=new Date(t).setHours(0,0,0,0)&&a<=new Date(s).setHours(0,0,0,0)}const a=e.start.getTime(),i=e.end.getTime();return at.getTime()}eventSameRange(e,t){const s=e.start.getTime()==t.start.getTime(),a=e.end.getTime()==t.end.getTime();return s&&a}}const Bo={class:"vuecal__header"},Ro={key:0,class:"vuecal__flex vuecal__menu",role:"tablist","aria-label":"Calendar views navigation"},Ko=["onDragenter","onDragleave","onClick","aria-label"],Jo={key:1,class:"vuecal__title-bar"},Go=["aria-label"],Xo={class:"vuecal__flex vuecal__title",grow:""},Qo=["aria-label"],er={key:0,class:"vuecal__flex vuecal__split-days-headers"};function tr(e,t,s,i,l,n){const o=(0,m.up)("weekdays-headings");return(0,m.wg)(),(0,m.iD)("div",Bo,[s.options.hideViewSelector?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",Ro,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(s.viewProps.views,((t,a)=>((0,m.wg)(),(0,m.iD)(m.HY,{key:a},[t.enabled?((0,m.wg)(),(0,m.iD)("button",{key:0,class:(0,k.C_)(["vuecal__view-btn",{"vuecal__view-btn--active":n.view.id===a,"vuecal__view-btn--highlighted":e.highlightedControl===a}]),type:"button",onDragenter:t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragEnter(t,a,e.$data),onDragleave:t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragLeave(t,a,e.$data),onClick:e=>n.switchView(a,null,!0),"aria-label":`${t.label} view`},(0,k.zw)(t.label),43,Ko)):(0,m.kq)("",!0)],64)))),128))])),s.options.hideTitleBar?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",Jo,[(0,m._)("button",{class:(0,k.C_)(["vuecal__arrow vuecal__arrow--prev",{"vuecal__arrow--highlighted":"previous"===e.highlightedControl}]),type:"button",onClick:t[0]||(t[0]=(...e)=>n.previous&&n.previous(...e)),onDragenter:t[1]||(t[1]=t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragEnter(t,"previous",e.$data)),onDragleave:t[2]||(t[2]=t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragLeave(t,"previous",e.$data)),"aria-label":`Previous ${n.view.id}`},[(0,m.WI)(e.$slots,"arrow-prev")],42,Go),(0,m._)("div",Xo,[(0,m.Wm)(a.uT,{name:s.options.transitions?`slide-fade--${n.transitionDirection}`:""},{default:(0,m.w5)((()=>[((0,m.wg)(),(0,m.j4)((0,m.LL)(n.broaderView?"button":"span"),{type:!!n.broaderView&&"button",key:`${n.view.id}${n.view.startDate.toString()}`,onClick:t[3]||(t[3]=e=>!!n.broaderView&&n.switchToBroaderView()),"aria-label":!!n.broaderView&&`Go to ${n.broaderView} view`},{default:(0,m.w5)((()=>[(0,m.WI)(e.$slots,"title")])),_:3},8,["type","aria-label"]))])),_:3},8,["name"])]),s.options.todayButton?((0,m.wg)(),(0,m.iD)("button",{key:0,class:(0,k.C_)(["vuecal__today-btn",{"vuecal__today-btn--highlighted":"today"===e.highlightedControl}]),type:"button",onClick:t[4]||(t[4]=(...e)=>n.goToToday&&n.goToToday(...e)),onDragenter:t[5]||(t[5]=t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragEnter(t,"today",e.$data)),onDragleave:t[6]||(t[6]=t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragLeave(t,"today",e.$data)),"aria-label":"Today"},[(0,m.WI)(e.$slots,"today-button")],34)):(0,m.kq)("",!0),(0,m._)("button",{class:(0,k.C_)(["vuecal__arrow vuecal__arrow--next",{"vuecal__arrow--highlighted":"next"===e.highlightedControl}]),type:"button",onClick:t[7]||(t[7]=(...e)=>n.next&&n.next(...e)),onDragenter:t[8]||(t[8]=t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragEnter(t,"next",e.$data)),onDragleave:t[9]||(t[9]=t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragLeave(t,"next",e.$data)),"aria-label":`Next ${n.view.id}`},[(0,m.WI)(e.$slots,"arrow-next")],42,Qo)])),s.viewProps.weekDaysInHeader?((0,m.wg)(),(0,m.j4)(o,{key:2,"week-days":s.weekDays,"transition-direction":n.transitionDirection,"switch-to-narrower-view":s.switchToNarrowerView},(0,m.Nv)({_:2},[e.$slots["weekday-heading"]?{name:"weekday-heading",fn:(0,m.w5)((({heading:t,view:s})=>[(0,m.WI)(e.$slots,"weekday-heading",{heading:t,view:s})])),key:"0"}:void 0,e.$slots["split-label"]?{name:"split-label",fn:(0,m.w5)((({split:t})=>[(0,m.WI)(e.$slots,"split-label",{split:t,view:n.view})])),key:"1"}:void 0]),1032,["week-days","transition-direction","switch-to-narrower-view"])):(0,m.kq)("",!0),(0,m.Wm)(a.uT,{name:`slide-fade--${n.transitionDirection}`},{default:(0,m.w5)((()=>[n.showDaySplits?((0,m.wg)(),(0,m.iD)("div",er,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(s.daySplits,((t,s)=>((0,m.wg)(),(0,m.iD)("div",{class:(0,k.C_)(["day-split-header",t.class||!1]),key:s},[(0,m.WI)(e.$slots,"split-label",{split:t,view:n.view.id},(()=>[(0,m.Uk)((0,k.zw)(t.label),1)]))],2)))),128))])):(0,m.kq)("",!0)])),_:3},8,["name"])])}const sr={class:"vuecal__flex vuecal__weekdays-headings",ref:"vuecal_weekday_heading"},ar=["onClick"],ir={class:"vuecal__flex weekday-label",grow:""},lr={class:"full"},nr={class:"small"},or={class:"xsmall"},rr={key:0},dr={key:0,class:"vuecal__flex vuecal__split-days-headers",grow:""};function ur(e,t,s,i,l,n){return(0,m.wg)(),(0,m.iD)("div",sr,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.headings,((i,l)=>((0,m.wg)(),(0,m.iD)(m.HY,{key:l},[i.hide?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",{key:0,class:(0,k.C_)(["vuecal__flex vuecal__heading",{today:i.today,"today-cell":i.today,clickable:n.cellHeadingsClickable,"yesterday-cell":new Date(i.date).toLocaleDateString("sk-SK")==new Date((new Date).setDate((new Date).getDate()-1)).toLocaleDateString("sk-SK")}]),style:(0,k.j5)(n.weekdayCellStyles),onClick:e=>"week"===n.view.id&&n.selectCell(i.date,e),onDblclick:t[0]||(t[0]=e=>"week"===n.view.id&&n.vuecal.dblclickToNavigate&&s.switchToNarrowerView())},[(0,m.Wm)(a.uT,{name:`slide-fade--${s.transitionDirection}`,appear:n.vuecal.transitions},{default:(0,m.w5)((()=>[((0,m.wg)(),(0,m.iD)("div",{class:"vuecal__flex",column:"",key:!!n.vuecal.transitions&&`${l}-${i.dayOfMonth}`},[(0,m._)("div",ir,[(0,m.WI)(e.$slots,"weekday-heading",{heading:n.cleanupHeading(i),view:n.view},(()=>[(0,m._)("span",lr,(0,k.zw)(i.full),1),(0,m._)("span",nr,(0,k.zw)(i.small),1),(0,m._)("span",or,(0,k.zw)(i.xsmall),1),i.dayOfMonth?((0,m.wg)(),(0,m.iD)("span",rr," "+(0,k.zw)(i.dayOfMonth),1)):(0,m.kq)("",!0)]))]),n.vuecal.hasSplits&&n.vuecal.stickySplitLabels?((0,m.wg)(),(0,m.iD)("div",dr,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.vuecal.daySplits,((t,s)=>((0,m.wg)(),(0,m.iD)("div",{class:(0,k.C_)(["day-split-header",t.class||!1]),key:s},[(0,m.WI)(e.$slots,"split-label",{split:t,view:n.view},(()=>[(0,m.Uk)((0,k.zw)(t.label),1)]))],2)))),128))])):(0,m.kq)("",!0)]))])),_:2},1032,["name","appear"])],46,ar))],64)))),128))],512)}var cr={inject:["vuecal","utils","view"],props:{transitionDirection:{type:String,default:"right"},weekDays:{type:Array,default:()=>[]},switchToNarrowerView:{type:Function,default:()=>{}},unscheduledTime:{type:Array,default:[]}},methods:{selectCell(e,t){e.getTime()!==this.view.selectedDate.getTime()&&(this.view.selectedDate=e),this.utils.cell.selectCell(!1,e,t)},cleanupHeading:e=>({label:e.full,date:e.date,unscheduledTime:e.unscheduledTime,name:e.name,initials:e.initials,...e.today?{today:e.today}:{}}),onTimelineScroll(e){this.$refs["vuecal_weekday_heading"].style.top=`${e}px`}},computed:{headings(){if(!["month","week"].includes(this.view.id))return[];let e=!1;const t=this.weekDays.map(((t,s)=>{const a=this.utils.date.addDays(this.view.startDate,this.vuecal.startWeekOnSunday?s-1:s);let i=null,l=null,n=null;return this.unscheduledTime[s]?.time&&(i=Math.floor(this.unscheduledTime[s].time/60)+","+String(this.unscheduledTime[s].time%60)[0]),this.unscheduledTime[s]?.name&&this.unscheduledTime[s]?.name&&(l=this.unscheduledTime[s].name+" "+this.unscheduledTime[s].surname,n=this.unscheduledTime[s].name.charAt(0).toUpperCase()+this.unscheduledTime[s].surname.charAt(0).toUpperCase()),{hide:t.hide,full:t.label,small:t.short||t.label.substr(0,3),xsmall:t.short||t.label.substr(0,1),unscheduledTime:i,name:l,initials:n,..."week"===this.view.id?{dayOfMonth:a.getDate(),date:a,today:!e&&this.utils.date.isToday(a)&&!e++}:{}}}));return t},cellWidth(){return 100/(7-this.weekDays.reduce(((e,t)=>e+t.hide),0))},weekdayCellStyles(){return{...this.vuecal.hideWeekdays.length?{width:`${this.cellWidth}%`}:{}}},cellHeadingsClickable(){return"week"===this.view.id&&(this.vuecal.clickToNavigate||this.vuecal.dblclickToNavigate)}}};const mr=(0,$.Z)(cr,[["render",ur]]);var hr=mr,pr={inject:["vuecal","previous","next","switchView","updateSelectedDate","modules","view"],components:{WeekdaysHeadings:hr},props:{options:{type:Object,default:()=>({})},editEvents:{type:Object,required:!0},hasSplits:{type:[Boolean,Number],default:!1},daySplits:{type:Array,default:()=>[]},viewProps:{type:Object,default:()=>({})},weekDays:{type:Array,default:()=>[]},switchToNarrowerView:{type:Function,default:()=>{}}},data:()=>({highlightedControl:null}),methods:{goToToday(){this.updateSelectedDate(new Date((new Date).setHours(0,0,0,0)))},switchToBroaderView(){this.transitionDirection="left",this.broaderView&&this.switchView(this.broaderView)}},computed:{transitionDirection:{get(){return this.vuecal.transitionDirection},set(e){this.vuecal.transitionDirection=e}},broaderView(){const{enabledViews:e}=this.vuecal;return e[e.indexOf(this.view.id)-1]},showDaySplits(){return"day"===this.view.id&&this.hasSplits&&this.options.stickySplitLabels&&!this.options.minSplitWidth},dnd(){return this.modules.dnd}}};const vr=(0,$.Z)(pr,[["render",tr]]);var kr=vr;const fr={key:0,class:"vuecal__all-day-text",style:{width:"3em"}};function gr(e,t,s,a,i,l){const n=(0,m.up)("vuecal-cell");return(0,m.wg)(),(0,m.iD)("div",{class:"vuecal__flex vuecal__all-day",style:(0,k.j5)(s.cellOrSplitMinWidth&&{height:s.height})},[s.cellOrSplitMinWidth?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",fr,[(0,m._)("span",null,(0,k.zw)(s.label),1)])),(0,m._)("div",{class:(0,k.C_)(["vuecal__flex vuecal__cells",`${l.view.id}-view`]),grow:"",style:(0,k.j5)(s.cellOrSplitMinWidth?`min-width: ${s.cellOrSplitMinWidth}px`:"")},[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(s.cells,((t,a)=>((0,m.wg)(),(0,m.j4)(n,{key:a,options:s.options,"edit-events":l.editEvents,data:t,"all-day":!0,"cell-width":s.options.hideWeekdays.length&&(l.vuecal.isWeekView||l.vuecal.isMonthView)&&l.vuecal.cellWidth,"min-timestamp":s.options.minTimestamp,"max-timestamp":s.options.maxTimestamp,"cell-splits":s.daySplits},{event:(0,m.w5)((({event:t,view:s})=>[(0,m.WI)(e.$slots,"event",{view:s,event:t})])),_:2},1032,["options","edit-events","data","cell-width","min-timestamp","max-timestamp","cell-splits"])))),128))],6)],4)}const br=["data-split","aria-label","onTouchstart","onMousedown","onClick","onDragover","onDrop"],_r={key:0,class:"cell-time-labels"},wr=["innerHTML"],yr={key:2,class:"vuecal__cell-events"},Dr=["title"];function Tr(e,t,s,i,l,n){const o=(0,m.up)("event");return(0,m.wg)(),(0,m.j4)(a.W3,{class:(0,k.C_)(["vuecal__cell",n.cellClasses]),name:`slide-fade--${n.transitionDirection}`,tag:"div",appear:s.options.transitions,style:(0,k.j5)(n.cellStyles)},{default:(0,m.w5)((()=>[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.splitsCount?n.splits:1,((i,l)=>((0,m.wg)(),(0,m.iD)("div",{class:(0,k.C_)(["vuecal__flex vuecal__cell-content",n.splitsCount&&n.splitClasses(i)]),key:s.options.transitions?`${n.view.id}-${s.data.content}-${l}`:l,"data-split":!!n.splitsCount&&i.id,column:"",tabindex:"0","aria-label":s.data.content,onFocus:t[0]||(t[0]=e=>n.onCellFocus(e)),onKeypress:t[1]||(t[1]=(0,a.D2)((e=>n.onCellkeyPressEnter(e)),["enter"])),onTouchstart:e=>!n.isDisabled&&n.onCellTouchStart(e,n.splitsCount?i.id:null),onMousedown:e=>!n.isDisabled&&n.onCellMouseDown(e,n.splitsCount?i.id:null),onClick:e=>!n.isDisabled&&n.onCellClick(e,i),onDblclick:t[2]||(t[2]=e=>!n.isDisabled&&n.onCellDblClick(e)),onContextmenu:t[3]||(t[3]=e=>!n.isDisabled&&s.options.cellContextmenu&&n.onCellContextMenu(e)),onDragenter:t[4]||(t[4]=t=>!n.isDisabled&&s.editEvents.drag&&n.dnd&&n.dnd.cellDragEnter(t,e.$data,s.data.startDate)),onDragover:t=>!n.isDisabled&&s.editEvents.drag&&n.dnd&&n.dnd.cellDragOver(t,e.$data,s.data.startDate,n.splitsCount?i.id:null),onDragleave:t[5]||(t[5]=t=>!n.isDisabled&&s.editEvents.drag&&n.dnd&&n.dnd.cellDragLeave(t,e.$data,s.data.startDate)),onDrop:t=>!n.isDisabled&&s.editEvents.drag&&n.dnd&&n.dnd.cellDragDrop(t,e.$data,s.data.startDate,n.splitsCount?i.id:null)},[s.options.showTimeInCells&&s.options.time&&n.isWeekOrDayView&&!s.allDay?((0,m.wg)(),(0,m.iD)("div",_r,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.vuecal.timeCells,((e,t)=>((0,m.wg)(),(0,m.iD)("span",{class:"cell-time-label",key:t},(0,k.zw)(e.label),1)))),128))])):(0,m.kq)("",!0),n.isWeekOrDayView&&!s.allDay&&n.specialHours.length?((0,m.wg)(!0),(0,m.iD)(m.HY,{key:1},(0,m.Ko)(n.specialHours,((e,t)=>((0,m.wg)(),(0,m.iD)("div",{class:(0,k.C_)(["vuecal__special-hours",`vuecal__special-hours--day${e.day} ${e.class}`]),style:(0,k.j5)(`height: ${e.height}px;top: ${e.top}px`)},[e.label?((0,m.wg)(),(0,m.iD)("div",{key:0,class:"special-hours-label",innerHTML:e.label},null,8,wr)):(0,m.kq)("",!0)],6)))),256)):(0,m.kq)("",!0),(0,m.WI)(e.$slots,"cell-content",{events:n.events,selectCell:e=>n.selectCell(e,!0),split:!!n.splitsCount&&i}),n.eventsCount&&(n.isWeekOrDayView||"month"===n.view.id&&s.options.eventsOnMonthView)?((0,m.wg)(),(0,m.iD)("div",yr,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.splitsCount?i.events:n.events,((t,a)=>((0,m.wg)(),(0,m.j4)(o,{key:a,"cell-formatted-date":s.data.formattedDate,event:t,"all-day":s.allDay,"cell-events":n.splitsCount?i.events:n.events,cellOverlaps:(n.splitsCount?i.overlaps[t._eid]:e.cellOverlaps[t._eid])||[],allOverlaps:(n.splitsCount?i.overlaps:e.cellOverlaps)||[],"event-position":((n.splitsCount?i.overlaps[t._eid]:e.cellOverlaps[t._eid])||[]).position,"overlaps-streak":n.splitsCount?i.overlapsStreak:e.cellOverlapsStreak},{event:(0,m.w5)((({event:t,view:s})=>[(0,m.WI)(e.$slots,"event",{view:s,event:t})])),_:2},1032,["cell-formatted-date","event","all-day","cell-events","cellOverlaps","allOverlaps","event-position","overlaps-streak"])))),128))])):(0,m.kq)("",!0)],42,br)))),128)),n.timelineVisible?((0,m.wg)(),(0,m.iD)("div",{class:"vuecal__now-line",style:(0,k.j5)(`top: ${n.todaysTimePosition}px`),key:s.options.transitions?`${n.view.id}-now-line`:"now-line",title:n.utils.date.formatTime(n.vuecal.now)},null,12,Dr)):(0,m.kq)("",!0)])),_:3},8,["class","name","appear","style"])}const Mr=["eventId","draggable"];function $r(e,t,s,i,l,n){return(0,m.wg)(),(0,m.iD)("div",{class:(0,k.C_)(["vuecal__event",n.eventClasses]),style:(0,k.j5)(n.eventStyles),eventId:`event-id-${s.event.id}`,tabindex:"0",onFocus:t[4]||(t[4]=(...e)=>n.focusEvent&&n.focusEvent(...e)),onKeypress:t[5]||(t[5]=(0,a.D2)((0,a.iM)(((...e)=>n.onEnterKeypress&&n.onEnterKeypress(...e)),["stop"]),["enter"])),onMouseenter:t[6]||(t[6]=(...e)=>n.onMouseEnter&&n.onMouseEnter(...e)),onMouseleave:t[7]||(t[7]=(...e)=>n.onMouseLeave&&n.onMouseLeave(...e)),onTouchstart:t[8]||(t[8]=(0,a.iM)(((...e)=>n.onTouchStart&&n.onTouchStart(...e)),["stop"])),onMousedown:t[9]||(t[9]=e=>n.onMouseDown(e)),onMouseup:t[10]||(t[10]=(...e)=>n.onMouseUp&&n.onMouseUp(...e)),onTouchend:t[11]||(t[11]=(...e)=>n.onMouseUp&&n.onMouseUp(...e)),onTouchmove:t[12]||(t[12]=(...e)=>n.onTouchMove&&n.onTouchMove(...e)),onDblclick:t[13]||(t[13]=(...e)=>n.onDblClick&&n.onDblClick(...e)),draggable:n.draggable,onDragstart:t[14]||(t[14]=e=>n.draggable&&n.onDragStart(e)),onDragend:t[15]||(t[15]=e=>n.draggable&&n.onDragEnd())},[n.vuecal.editEvents.delete&&s.event.deletable?((0,m.wg)(),(0,m.iD)("div",{key:0,class:"vuecal__event-delete",onClick:t[0]||(t[0]=(0,a.iM)(((...e)=>n.deleteEvent&&n.deleteEvent(...e)),["stop"])),onTouchstart:t[1]||(t[1]=(0,a.iM)(((...e)=>n.touchDeleteEvent&&n.touchDeleteEvent(...e)),["stop"]))},(0,k.zw)(n.vuecal.texts.deleteEvent),33)):(0,m.kq)("",!0),(0,m.WI)(e.$slots,"event",{event:s.event,view:n.view.id}),n.resizable?((0,m.wg)(),(0,m.iD)("div",{key:1,class:"vuecal__event-resize-handle",contenteditable:"false",onMousedown:t[2]||(t[2]=(0,a.iM)(((...e)=>n.onResizeHandleMouseDown&&n.onResizeHandleMouseDown(...e)),["stop","prevent"])),onTouchstart:t[3]||(t[3]=(0,a.iM)(((...e)=>n.onResizeHandleMouseDown&&n.onResizeHandleMouseDown(...e)),["stop","prevent"]))},null,32)):(0,m.kq)("",!0)],46,Mr)}var Cr={inject:["vuecal","utils","modules","view","domEvents","editEvents"],props:{cellFormattedDate:{type:String,default:""},event:{type:Object,default:()=>({})},cellEvents:{type:Array,default:()=>[]},cellOverlaps:{type:Object,default:()=>({})},allOverlaps:{type:Object,default:()=>({})},eventPosition:{type:Number,default:0},overlapsStreak:{type:Number,default:0},allDay:{type:Boolean,default:!1}},data:()=>({touch:{dragThreshold:30,startX:0,startY:0,dragged:!1}}),methods:{onMouseDown(e,t=!1){let s;if("BUTTON"==e.target.nodeName?s=e.target:"IMG"==e.srcElement.nodeName&&(s=e.target.parentElement),s?.classList?.contains("v-btn__content")||"BUTTON"==e?.target?.nodeName)return void e.preventDefault();if("ontouchstart"in window&&!t)return!1;const{clickHoldAnEvent:a,focusAnEvent:i,resizeAnEvent:l,dragAnEvent:n}=this.domEvents;if(i._eid===this.event._eid&&a._eid===this.event._eid)return!0;this.focusEvent(),a._eid=null,this.vuecal.editEvents.delete&&this.event.deletable&&(a.timeoutId=setTimeout((()=>{l._eid||n._eid||(a._eid=this.event._eid,this.event.deleting=!0)}),a.timeout))},onMouseUp(e){this.domEvents.focusAnEvent._eid!==this.event._eid||this.touch.dragged||(this.domEvents.focusAnEvent.mousedUp=!0),this.touch.dragged=!1},onMouseEnter(e){e.preventDefault(),this.vuecal.emitWithEvent("event-mouse-enter",this.event)},onMouseLeave(e){e.preventDefault(),this.vuecal.emitWithEvent("event-mouse-leave",this.event)},onTouchMove(e){if("function"!==typeof this.vuecal.onEventClick)return;const{clientX:t,clientY:s}=e.touches[0],{startX:a,startY:i,dragThreshold:l}=this.touch;(Math.abs(t-a)>l||Math.abs(s-i)>l)&&(this.touch.dragged=!0)},onTouchStart(e){this.touch.startX=e.touches[0].clientX,this.touch.startY=e.touches[0].clientY,this.onMouseDown(e,!0)},onEnterKeypress(e){if("function"===typeof this.vuecal.onEventClick)return this.vuecal.onEventClick(this.event,e)},onDblClick(e){if("function"===typeof this.vuecal.onEventDblclick)return this.vuecal.onEventDblclick(this.event,e)},onDragStart(e){"blocker"!=this.event.type&&"non-working-hours"!=this.event.type&&"office365_blocker"!=this.event.type&&(this.event.draggingStatic=!1,this.dnd&&this.dnd.eventDragStart(e,this.event))},onDragEnd(){this.dnd&&this.dnd.eventDragEnd(this.event)},onResizeHandleMouseDown(){this.focusEvent(),this.domEvents.dragAnEvent._eid=null,this.domEvents.resizeAnEvent=Object.assign(this.domEvents.resizeAnEvent,{_eid:this.event._eid,start:(this.segment||this.event).start,split:this.event.split||null,segment:!!this.segment&&this.utils.date.formatDateLite(this.segment.start),originalEnd:new Date((this.segment||this.event).end),originalEndTimeMinutes:this.event.endTimeMinutes}),this.event.resizing=!0},deleteEvent(e=!1){if("ontouchstart"in window&&!e)return!1;this.utils.event.deleteAnEvent(this.event)},touchDeleteEvent(e){this.deleteEvent(!0)},cancelDeleteEvent(){this.event.deleting=!1},focusEvent(){const{focusAnEvent:e}=this.domEvents,t=e._eid;if(t!==this.event._eid){if(t){const e=this.view.events.find((e=>e._eid===t));e&&(e.focused=!1)}this.vuecal.cancelDelete(),this.vuecal.emitWithEvent("event-focus",this.event),e._eid=this.event._eid,this.event.focused=!0}}},computed:{eventDimensions(){const{startTimeMinutes:e,endTimeMinutes:t}=this.segment||this.event;let s=e-this.vuecal.timeFrom;const a=Math.max(Math.round(s*this.vuecal.timeCellHeight/this.vuecal.timeStep),0);s=Math.min(t,this.vuecal.timeTo)-this.vuecal.timeFrom;const i=Math.round(s*this.vuecal.timeCellHeight/this.vuecal.timeStep),l=Math.max(i-a,5);return{top:a,height:l}},eventStyles(){if(this.event.allDay||!this.vuecal.time||!this.event.endTimeMinutes||"month"===this.view.id||this.allDay)return{};let e=100-10*this.eventPosition,t=5*this.eventPosition,s=10*(this.eventPosition+1),a=this.event.master_task_color;if(Array.isArray(this.cellOverlaps.sameOverlaps)&&this.cellOverlaps.sameOverlaps.length){const s=this.cellOverlaps.sameOverlaps.length+1,a=this.cellOverlaps.overlaps.filter((e=>{if(!this.cellOverlaps.sameOverlaps.includes(e)&&this.allOverlaps[this.event._eid].position>this.allOverlaps[e].position)return e}));e=100/s-5,t=100/s*(this.eventPosition-a.length)+5*(this.eventPosition-a.length)/s,a.length&&(e-=a.length*(10/s),t+=5*a.length-10*a.length/s*(this.eventPosition-a.length))}this.vuecal.minEventWidth&&e({})},editEvents:{type:Object,required:!0},data:{type:Object,required:!0},cellSplits:{type:Array,default:()=>[]},minTimestamp:{type:[Number,null],default:null},maxTimestamp:{type:[Number,null],default:null},cellWidth:{type:[Number,Boolean],default:!1},allDay:{type:Boolean,default:!1}},data:()=>({tmUtils:A.Z,cellOverlaps:{},cellOverlapsStreak:1,timeAtCursor:null,highlighted:!1,highlightedSplit:null}),methods:{getSplitAtCursor({target:e}){const t=e.classList.contains("vuecal__cell-split");let s=t?e:this.vuecal.findAncestor(e,"vuecal__cell-split");return s&&(s=s.attributes["data-split"].value,parseInt(s).toString()===s.toString()&&(s=parseInt(s))),s||null},splitClasses(e){return{"vuecal__cell-split":!0,"vuecal__cell-split--highlighted":this.highlightedSplit===e.id,"vuecal__cell-split--weekend":e.isWeekend,[e.class]:!!e.class}},checkCellOverlappingEvents(){this.options.time&&this.eventsCount&&!this.splitsCount&&(1===this.eventsCount?(this.cellOverlaps=[],this.cellOverlapsStreak=1):[this.cellOverlaps,this.cellOverlapsStreak]=this.utils.event.checkCellOverlappingEvents(this.events,this.options))},isDOMElementAnEvent(e){return this.vuecal.isDOMElementAnEvent(e)},selectCell(e,t=!1){const s=this.splitsCount?this.getSplitAtCursor(e):null;this.utils.cell.selectCell(t,this.timeAtCursor,s),this.timeAtCursor=null},onCellkeyPressEnter(e){this.isSelected||this.onCellFocus(e);const t=this.splitsCount?this.getSplitAtCursor(e):null;this.utils.cell.keyPressEnterCell(this.timeAtCursor,t),this.timeAtCursor=null},onCellFocus(e){if(!this.isSelected&&!this.isDisabled){this.isSelected=this.data.startDate;const t=this.splitsCount?this.getSplitAtCursor(e):null,s=this.timeAtCursor||this.data.startDate;this.vuecal.$emit("cell-focus",t?{date:s,split:t}:s)}},onCellMouseDown(e,t=null,s=!1){if("ontouchstart"in window&&!s)return!1;this.isSelected||this.onCellFocus(e);const{clickHoldACell:a,focusAnEvent:i}=this.domEvents;this.domEvents.cancelClickEventCreation=!1,a.eventCreated=!1,this.timeAtCursor=new Date(this.data.startDate);const{minutes:l,cursorCoords:{y:n}}=this.vuecal.minutesAtCursor(e);this.timeAtCursor.setMinutes(l);const o=this.isDOMElementAnEvent(e.target);!o&&i._eid&&((this.view.events.find((e=>e._eid===i._eid))||{}).focused=!1),this.editEvents.create&&!o&&this.setUpEventCreation(e,n)},setUpEventCreation(e,t){if(this.options.dragToCreateEvent&&["week","day"].includes(this.view.id)){const{dragCreateAnEvent:s}=this.domEvents;if(s.startCursorY=t,s.split=this.splitsCount?this.getSplitAtCursor(e):null,s.start=this.timeAtCursor,this.options.snapToTime){let e=60*this.timeAtCursor.getHours()+this.timeAtCursor.getMinutes();const t=e+this.options.snapToTime/2;e=t-t%this.options.snapToTime,s.start.setHours(0,e,0,0)}}else this.options.cellClickHold&&["month","week","day"].includes(this.view.id)&&this.setUpCellHoldTimer(e)},setUpCellHoldTimer(e){const{clickHoldACell:t}=this.domEvents;t.cellId=`${this.vuecal._.uid}_${this.data.formattedDate}`,t.split=this.splitsCount?this.getSplitAtCursor(e):null,t.timeoutId=setTimeout((()=>{if(t.cellId&&!this.domEvents.cancelClickEventCreation){const{_eid:e}=this.utils.event.createAnEvent(this.timeAtCursor,null,t.split?{split:t.split}:{});t.eventCreated=e}}),t.timeout)},onCellTouchStart(e,t=null){this.onCellMouseDown(e,t,!0)},onCellClick(e,t){if(e.offsetY>950&&e.offsetY<1700){const s=t.date;s.setHours(Math.floor(e.offsetY/100),0,0,0);const a=new Date(s);a.setHours(s.getHours()+1);const i=Re()(s).format("HH:mm"),l="Dashboard - Teams"===this.$route.name,n=l?t.employee_id:Number(localStorage.getItem("selectedEmployee")||this.user.id);this.$events.emit("show-menu-modal",{time:i,date:A.Z.formatDateTimeForBackend(s),employee:n}),setTimeout((()=>{this.$events.emit("add-timeblock",{id:null,start:A.Z.formatDateTimeForBackend(s),end:A.Z.formatDateTimeForBackend(a)})}),150)}this.isDOMElementAnEvent(e.target)||this.selectCell(e)},onCellDblClick(e){const t=new Date(this.data.startDate);t.setMinutes(this.vuecal.minutesAtCursor(e).minutes);const s=this.splitsCount?this.getSplitAtCursor(e):null;this.vuecal.$emit("cell-dblclick",s?{date:t,split:s}:t),this.options.dblclickToNavigate&&this.vuecal.switchToNarrowerView()},onCellContextMenu(e){e.stopPropagation(),e.preventDefault();const t=new Date(this.data.startDate),{cursorCoords:s,minutes:a}=this.vuecal.minutesAtCursor(e);t.setMinutes(a);const i=this.splitsCount?this.getSplitAtCursor(e):null;this.vuecal.$emit("cell-contextmenu",{date:t,...s,...i||{},e:e})}},computed:{...(0,U.Se)("auth",["user"]),dnd(){return this.modules.dnd},nowInMinutes(){return this.utils.date.dateToMinutes(this.vuecal.now)},isBeforeMinDate(){return null!==this.minTimestamp&&this.minTimestamp>this.data.endDate.getTime()},isAfterMaxDate(){return this.maxTimestamp&&this.maxTimestamp{let{from:t,to:s}=e;return t=Math.max(t,this.options.timeFrom),s=Math.min(s,this.options.timeTo),{...e,height:(s-t)*this.timeScale,top:(t-this.options.timeFrom)*this.timeScale}}))},events(){const{startDate:e,endDate:t}=this.data;let s=[];if(!["years","year"].includes(this.view.id)||this.options.eventsCountOnYearView){if(s=this.view.events.slice(0),"month"===this.view.id&&s.push(...this.view.outOfScopeEvents),s=s.filter((s=>this.utils.event.eventInRange(s,e,t))),this.options.showAllDayEvents&&"month"!==this.view.id&&(s=s.filter((e=>!!e.allDay===this.allDay))),this.options.time&&this.isWeekOrDayView&&!this.allDay){const{timeFrom:e,timeTo:t}=this.options;s=s.filter((s=>{const a=s.daysCount>1&&s.segments[this.data.formattedDate]||{},i=1===s.daysCount&&s.startTimeMinutese,l=s.daysCount>1&&a.startTimeMinutese,n=!1;return s.allDay||i||l||n}))}!this.options.time||!this.isWeekOrDayView||this.options.showAllDayEvents&&this.allDay||s.sort(((e,t)=>e.start{const s=this.events.filter((t=>t.split===e.id)),[a,i]=this.utils.event.checkCellOverlappingEvents(s.filter((e=>!e.background&&!e.allDay)),this.options);return{...e,overlaps:a,overlapsStreak:i,events:s}}))},splitsCount(){return this.splits.length},cellClasses(){return{[this.data.class]:!!this.data.class,"vuecal__cell--current":this.data.current,"vuecal__cell--today":this.data.today,"vuecal__cell--out-of-scope":this.data.outOfScope,"vuecal__cell--before-min":this.isDisabled&&this.isBeforeMinDate,"vuecal__cell--after-max":this.isDisabled&&this.isAfterMaxDate,"vuecal__cell--disabled":this.isDisabled,"vuecal__cell--selected":this.isSelected,"vuecal__cell--highlighted":this.highlighted,"vuecal__cell--has-splits":this.splitsCount,"vuecal__cell--has-events":this.eventsCount}},cellStyles(){return{...this.cellWidth?{width:`${this.cellWidth}%`}:{}}},timelineVisible(){const{time:e,timeTo:t}=this.options;return this.data.today&&this.isWeekOrDayView&&e&&!this.allDay&&this.nowInMinutes<=t},todaysTimePosition(){if(!this.data.today||!this.options.time)return;const e=this.nowInMinutes-this.options.timeFrom;return Math.round(e*this.timeScale)},timeScale(){return this.options.timeCellHeight/this.options.timeStep}}};const Wr=(0,$.Z)(xr,[["render",Tr]]);var Sr=Wr,Or={inject:["vuecal","view","editEvents"],components:{"vuecal-cell":Sr},props:{options:{type:Object,required:!0},cells:{type:Array,required:!0},label:{type:String,required:!0},daySplits:{type:Array,default:()=>[]},shortEvents:{type:Boolean,default:!0},height:{type:String,default:""},cellOrSplitMinWidth:{type:Number,default:null}},computed:{hasCellOrSplitWidth(){return!!(this.options.minCellWidth||this.daySplits.length&&this.options.minSplitWidth)}}};const Vr=(0,$.Z)(Or,[["render",gr]]);var zr=Vr,Ar=s(15941);const Ur=1440,Zr={weekDays:Array(7).fill(""),weekDaysShort:[],months:Array(12).fill(""),years:"",year:"",month:"",week:"",day:"",today:"",noEvent:"",allDay:"",deleteEvent:"",createEvent:"",dateFormat:"dddd MMMM D, YYYY",am:"am",pm:"pm"},Hr=["years","year","month","week","day"],Fr=new Zo(Zr);var Ir={name:"vue-cal",components:{"vuecal-cell":Sr,"vuecal-header":kr,WeekdaysHeadings:hr,AllDayBar:zr},provide(){return{vuecal:this,utils:this.utils,modules:this.modules,previous:this.previous,next:this.next,switchView:this.switchView,updateSelectedDate:this.updateSelectedDate,editEvents:this.editEvents,view:this.view,domEvents:this.domEvents}},props:{activeView:{type:String,default:"week"},scrollToHour:{type:Number,default:0},allDayBarHeight:{type:[String,Number],default:"25px"},cellClickHold:{type:Boolean,default:!0},cellContextmenu:{type:Boolean,default:!1},clickToNavigate:{type:Boolean,default:!1},dblclickToNavigate:{type:Boolean,default:!0},disableDatePrototypes:{type:Boolean,default:!1},disableDays:{type:Array,default:()=>[]},disableViews:{type:Array,default:()=>[]},dragToCreateEvent:{type:Boolean,default:!0},dragToCreateThreshold:{type:Number,default:15},editableEvents:{type:[Boolean,Object],default:!1},unscheduledTime:{type:Array,default:[]},events:{type:Array,default:()=>[]},eventsCountOnYearView:{type:Boolean,default:!1},eventsOnMonthView:{type:[Boolean,String],default:!1},hideBody:{type:Boolean,default:!1},hideTitleBar:{type:Boolean,default:!1},hideViewSelector:{type:Boolean,default:!1},hideWeekdays:{type:Array,default:()=>[]},hideWeekends:{type:Boolean,default:!1},locale:{type:[String,Object],default:"en"},maxDate:{type:[String,Date],default:""},minCellWidth:{type:Number,default:0},minDate:{type:[String,Date],default:""},minEventWidth:{type:Number,default:0},minSplitWidth:{type:Number,default:0},onEventClick:{type:[Function,null],default:null},onEventCreate:{type:[Function,null],default:null},onEventDblclick:{type:[Function,null],default:null},overlapsPerTimeStep:{type:Boolean,default:!1},resizeX:{type:Boolean,default:!1},selectedDate:{type:[String,Date],default:""},showAllDayEvents:{type:[Boolean,String],default:!1},showTimeInCells:{type:Boolean,default:!1},showWeekNumbers:{type:[Boolean,String],default:!1},snapToTime:{type:Number,default:0},small:{type:Boolean,default:!1},specialHours:{type:Object,default:()=>({})},splitDays:{type:Array,default:()=>[]},startWeekOnSunday:{type:Boolean,default:!1},stickySplitLabels:{type:Boolean,default:!1},time:{type:Boolean,default:!0},timeCellHeight:{type:Number,default:40},timeFormat:{type:String,default:""},timeFrom:{type:Number,default:0},timeStep:{type:Number,default:60},timeTo:{type:Number,default:Ur},todayButton:{type:Boolean,default:!1},transitions:{type:Boolean,default:!0},twelveHour:{type:Boolean,default:!1},watchRealTime:{type:Boolean,default:!1},xsmall:{type:Boolean,default:!1}},data(){return{ready:!1,texts:{...Zr},utils:{date:!!this.disableDatePrototypes&&Fr.removePrototypes()||Fr,cell:null,event:null},modules:{dnd:null},cellsEl:null,view:{id:"",title:"",startDate:null,endDate:null,firstCellDate:null,lastCellDate:null,selectedDate:null,events:[]},eventIdIncrement:1,now:new Date,timeTickerIds:[null,null],domEvents:{resizeAnEvent:{_eid:null,start:null,split:null,segment:null,originalEndTimeMinutes:0,originalEnd:null,end:null,startCell:null,endCell:null},dragAnEvent:{_eid:null},dragCreateAnEvent:{startCursorY:null,start:null,split:null,event:null},focusAnEvent:{_eid:null,mousedUp:!1},clickHoldAnEvent:{_eid:null,timeout:1200,timeoutId:null},dblTapACell:{taps:0,timeout:500},clickHoldACell:{cellId:null,split:null,timeout:1200,timeoutId:null,eventCreated:!1},cancelClickEventCreation:!1},mutableEvents:[],transitionDirection:"right"}},methods:{async loadLocale(e){if("object"===typeof this.locale)return this.texts=Object.assign({},Zr,e),void this.utils.date.updateTexts(this.texts);if("en"===this.locale){const e=await s.e(3320).then(s.t.bind(s,3320,19));this.texts=Object.assign({},Zr,e)}else s(66667)(`./${e}.json`).then((e=>{this.texts=Object.assign({},Zr,e.default),this.utils.date.updateTexts(this.texts)}))},loadDragAndDrop(){s.e(1466).then(s.bind(s,91466)).then((e=>{const{DragAndDrop:t}=e;this.modules.dnd=new t(this)})).catch((()=>Ar.warn("Vue Cal: Missing drag & drop module.")))},validateView(e){return Hr.includes(e)||(Ar.error(`Vue Cal: invalid active-view parameter provided: "${e}".\nA valid view must be one of: ${Hr.join(", ")}.`),e="week"),this.enabledViews.includes(e)||(Ar.warn(`Vue Cal: the provided active-view "${e}" is disabled. Using the "${this.enabledViews[0]}" view instead.`),e=this.enabledViews[0]),e},switchToNarrowerView(e=null){this.transitionDirection="right";const t=this.enabledViews[this.enabledViews.indexOf(this.view.id)+1];t&&this.switchView(t,e)},switchView(e,t=null,s=!1){e=this.validateView(e);const a=this.utils.date,i=this.view.startDate&&this.view.startDate.getTime();if(this.transitions&&s){if(this.view.id===e)return;const t=this.enabledViews;this.transitionDirection=t.indexOf(this.view.id)>t.indexOf(e)?"left":"right"}const l=this.view.id;switch(this.view.events=[],this.view.id=e,this.view.firstCellDate=null,this.view.lastCellDate=null,t||(t=this.view.selectedDate||this.view.startDate),e){case"years":this.view.startDate=new Date(25*Math.floor(t.getFullYear()/25)||2e3,0,1),this.view.endDate=new Date(this.view.startDate.getFullYear()+25,0,1),this.view.endDate.setSeconds(-1);break;case"year":this.view.startDate=new Date(t.getFullYear(),0,1),this.view.endDate=new Date(t.getFullYear()+1,0,1),this.view.endDate.setSeconds(-1);break;case"month":{this.view.startDate=new Date(t.getFullYear(),t.getMonth(),1),this.view.endDate=new Date(t.getFullYear(),t.getMonth()+1,1),this.view.endDate.setSeconds(-1);let e=new Date(this.view.startDate);if(e.getDay()!==(this.startWeekOnSunday?0:1)&&(e=a.getPreviousFirstDayOfWeek(e,this.startWeekOnSunday)),this.view.firstCellDate=e,this.view.lastCellDate=a.addDays(e,41),this.view.lastCellDate.setHours(23,59,59,0),this.hideWeekends){if([0,6].includes(this.view.firstCellDate.getDay())){const e=6!==this.view.firstCellDate.getDay()||this.startWeekOnSunday?1:2;this.view.firstCellDate=a.addDays(this.view.firstCellDate,e)}if([0,6].includes(this.view.startDate.getDay())){const e=6===this.view.startDate.getDay()?2:1;this.view.startDate=a.addDays(this.view.startDate,e)}if([0,6].includes(this.view.lastCellDate.getDay())){const e=0!==this.view.lastCellDate.getDay()||this.startWeekOnSunday?1:2;this.view.lastCellDate=a.subtractDays(this.view.lastCellDate,e)}if([0,6].includes(this.view.endDate.getDay())){const e=0===this.view.endDate.getDay()?2:1;this.view.endDate=a.subtractDays(this.view.endDate,e)}}break}case"week":{t=a.getPreviousFirstDayOfWeek(t,this.startWeekOnSunday);const e=this.hideWeekends?5:7;this.view.startDate=this.hideWeekends&&this.startWeekOnSunday?a.addDays(t,1):t,this.view.startDate.setHours(0,0,0,0),this.view.endDate=a.addDays(t,e),this.view.endDate.setSeconds(-1);break}case"day":this.view.startDate=t,this.view.startDate.setHours(0,0,0,0),this.view.endDate=new Date(t),this.view.endDate.setHours(23,59,59,0);break}this.addEventsToView();const n=this.view.startDate&&this.view.startDate.getTime();if((l!==e||n!==i)&&(this.$emit("update:activeView",e),this.ready)){const t=this.view.startDate,s={view:e,startDate:t,endDate:this.view.endDate,...this.isMonthView?{firstCellDate:this.view.firstCellDate,lastCellDate:this.view.lastCellDate,outOfScopeEvents:this.view.outOfScopeEvents.map(this.cleanupEvent)}:{},events:this.view.events.map(this.cleanupEvent),...this.isWeekView?{week:a.getWeek(this.startWeekOnSunday?a.addDays(t,1):t)}:{}};this.$refs["vuecal_scroll"].scrollTop=this.scrollToHour*this.timeCellHeight,this.$emit("view-change",s)}},previous(){this.previousNext(!1)},next(){this.previousNext()},previousNext(e=!0){const t=this.utils.date;this.transitionDirection=e?"right":"left";const s=e?1:-1;let a=null;const{startDate:i,id:l}=this.view;switch(l){case"years":a=new Date(i.getFullYear()+25*s,0,1);break;case"year":a=new Date(i.getFullYear()+1*s,1,1);break;case"month":a=new Date(i.getFullYear(),i.getMonth()+1*s,1);break;case"week":a=t[e?"addDays":"subtractDays"](t.getPreviousFirstDayOfWeek(i,this.startWeekOnSunday),7);break;case"day":a=t[e?"addDays":"subtractDays"](i,1);const l=a.getDay(),n=this.startWeekOnSunday?l:(l||7)-1,o=this.weekDays[n].hide;if(o){const s=this.weekDays.map(((e,t)=>({...e,i:t})));let i=null,l=0;e?(i=[...s.slice(n),...s].find((e=>(l++,!e.hide))).i,l--):i=[...s,...s.slice(0,n)].reverse().find((e=>(l++,!e.hide))).i,a=t[e?"addDays":"subtractDays"](a,l)}break}a&&this.switchView(l,a)},addEventsToView(e=[]){const t=this.utils.event,{startDate:s,endDate:a,firstCellDate:i,lastCellDate:l}=this.view;if(e.length||(this.view.events=[]),e=e.length?e:[...this.mutableEvents],!e||this.isYearsOrYearView&&!this.eventsCountOnYearView)return;let n=e.filter((e=>t.eventInRange(e,s,a)));this.isYearsOrYearView||this.isMonthView&&!this.eventsOnMonthView||(n=n.map((e=>e.daysCount>1?t.createEventSegments(e,i||s,l||a):e))),this.view.events.push(...n),this.isMonthView&&(this.view.outOfScopeEvents=[],e.forEach((e=>{(t.eventInRange(e,i,s)||t.eventInRange(e,a,l))&&(this.view.events.some((t=>t._eid===e._eid))||this.view.outOfScopeEvents.push(e))})))},findAncestor(e,t){while((e=e.parentElement)&&!e.classList.contains(t));return e},isDOMElementAnEvent(e){return e.classList.contains("vuecal__event")||this.findAncestor(e,"vuecal__event")},onMouseMove(e){const{resizeAnEvent:t,dragAnEvent:s,dragCreateAnEvent:a}=this.domEvents;(null!==t._eid||null!==s._eid||a.start)&&(e.preventDefault(),t._eid?this.eventResizing(e):this.dragToCreateEvent&&a.start&&this.eventDragCreation(e))},onMouseUp(e){const{focusAnEvent:t,resizeAnEvent:s,clickHoldAnEvent:a,clickHoldACell:i,dragCreateAnEvent:l}=this.domEvents,{_eid:n}=a,{_eid:o}=s;let r=!1;const{event:d,start:u}=l,c=this.isDOMElementAnEvent(e.target),m=t.mousedUp;if(t.mousedUp=!1,c&&(this.domEvents.cancelClickEventCreation=!0),i.eventCreated)return;if(o){const{originalEnd:e,originalEndTimeMinutes:t,endTimeMinutes:a}=s,i=this.view.events.find((e=>e._eid===s._eid));if(r=a&&a!==t,i&&i.end.getTime()!==e.getTime()){const t=this.mutableEvents.find((e=>e._eid===s._eid));t.endTimeMinutes=i.endTimeMinutes,t.end=i.end;const a=this.cleanupEvent(i),l={...this.cleanupEvent(i),end:e,endTimeMinutes:i.originalEndTimeMinutes};this.$emit("event-duration-change",{event:a,oldDate:s.originalEnd,originalEvent:l}),this.$emit("event-change",{event:a,originalEvent:l})}i&&(i.resizing=!1),s._eid=null,s.start=null,s.split=null,s.segment=null,s.originalEndTimeMinutes=null,s.originalEnd=null,s.endTimeMinutes=null,s.startCell=null,s.endCell=null}else u&&(d&&(this.emitWithEvent("event-drag-create",d),l.event.resizing=!1),l.start=null,l.split=null,l.event=null);c||o||this.unfocusEvent(),a.timeoutId&&!n&&(clearTimeout(a.timeoutId),a.timeoutId=null),i.timeoutId&&(clearTimeout(i.timeoutId),i.timeoutId=null);const h="function"===typeof this.onEventClick;if(m&&!r&&!n&&!d&&h){let s=this.view.events.find((e=>e._eid===t._eid));return!s&&this.isMonthView&&(s=this.view.outOfScopeEvents.find((e=>e._eid===t._eid))),s&&this.onEventClick(s,e)}},onKeyUp(e){27===e.keyCode&&this.cancelDelete()},eventResizing(e){const{resizeAnEvent:t}=this.domEvents,s=this.view.events.find((e=>e._eid===t._eid))||{segments:{}},{minutes:a,cursorCoords:i}=this.minutesAtCursor(e),l=s.segments&&s.segments[t.segment],{date:n,event:o}=this.utils,r=Math.max(a,this.timeFrom+1,(l||s).startTimeMinutes+1);if(s.endTimeMinutes=t.endTimeMinutes=r,this.snapToTime){const e=s.endTimeMinutes+this.snapToTime/2;s.endTimeMinutes=e-e%this.snapToTime}if(l&&(l.endTimeMinutes=s.endTimeMinutes),s.end.setHours(0,s.endTimeMinutes,s.endTimeMinutes===Ur?-1:0,0),this.resizeX&&this.isWeekView){s.daysCount=n.countDays(s.start,s.end);const e=this.cellsEl,a=e.offsetWidth/e.childElementCount,l=Math.floor(i.x/a);if(null===t.startCell&&(t.startCell=l-(s.daysCount-1)),t.endCell!==l){t.endCell=l;const e=n.addDays(s.start,l-t.startCell),a=Math.max(n.countDays(s.start,e),1);if(a!==s.daysCount){let e=null;e=a>s.daysCount?o.addEventSegment(s):o.removeEventSegment(s),t.segment=e,s.endTimeMinutes+=.001}}}this.$emit("event-resizing",{_eid:s._eid,end:s.end,endTimeMinutes:s.endTimeMinutes})},eventDragCreation(e){const{dragCreateAnEvent:t}=this.domEvents,{start:s,startCursorY:a,split:i}=t,l=new Date(s),{minutes:n,cursorCoords:{y:o}}=this.minutesAtCursor(e);if(t.event||!(Math.abs(a-o)s._eid===(e._eid||t._eid)));e._eid=null,t._eid=null,s&&(s.focused=!1,s.deleting=!1)},cancelDelete(){const{clickHoldAnEvent:e}=this.domEvents;if(e._eid){const t=this.view.events.find((t=>t._eid===e._eid));t&&(t.deleting=!1),e._eid=null,e.timeoutId=null}},onEventTitleBlur(e,t){if(t.title===e.target.innerHTML)return;const s=t.title;t.title=e.target.innerHTML;const a=this.cleanupEvent(t);this.$emit("event-title-change",{event:a,oldTitle:s}),this.$emit("event-change",{event:a,originalEvent:{...a,title:s}})},updateMutableEvents(){const e=this.utils.date;this.mutableEvents=[],this.events.forEach((t=>{const s="string"===typeof t.start?e.stringToDate(t.start):t.start,a=e.formatDateLite(s),i=e.dateToMinutes(s);let l=null;"string"===typeof t.end&&t.end.includes("24:00")?(l=new Date(t.end.replace(" 24:00","")),l.setHours(23,59,59,0)):l="string"===typeof t.end?e.stringToDate(t.end):t.end;let n=e.formatDateLite(l),o=e.dateToMinutes(l);o&&o!==Ur||(!this.time||"string"===typeof t.end&&10===t.end.length?l.setHours(23,59,59,0):l.setSeconds(l.getSeconds()-1),n=e.formatDateLite(l),o=Ur);const r=a!==n;t=Object.assign({...this.utils.event.eventDefaults},t,{_eid:`${this._.uid}_${this.eventIdIncrement++}`,segments:r?{}:null,start:s,startTimeMinutes:i,end:l,endTimeMinutes:o,daysCount:r?e.countDays(s,l):1,class:t.class}),this.mutableEvents.push(t)}))},minutesAtCursor(e){return this.utils.cell.minutesAtCursor(e)},createEvent(e,t,s={}){return this.utils.event.createAnEvent(e,t,s)},cleanupEvent(e){e={...e};const t=["segments","deletable","deleting","titleEditable","resizable","resizing","draggable","dragging","draggingStatic","focused"];return t.forEach((t=>{t in e&&delete e[t]})),e.repeat||delete e.repeat,e},emitWithEvent(e,t){this.$emit(e,this.cleanupEvent(t))},updateSelectedDate(e){if(e=e&&"string"===typeof e?this.utils.date.stringToDate(e):new Date(e),e&&e instanceof Date){const{selectedDate:t}=this.view;t&&(this.transitionDirection=t.getTime()>e.getTime()?"left":"right"),e.setHours(0,0,0,0),t&&t.getTime()===e.getTime()||(this.view.selectedDate=e),this.switchView(this.view.id)}this.$emit("update:selected-date",this.view.selectedDate)},getWeekNumber(e){const t=this.utils.date,s=this.firstCellDateWeekNumber,a=s+e,i=this.startWeekOnSunday?1:0;return a>52?t.getWeek(t.addDays(this.view.firstCellDate,7*e+i)):a},timeTick(){this.now=new Date,this.timeTickerIds[1]=setTimeout(this.timeTick,6e4)},updateDateTexts(){this.utils.date.updateTexts(this.texts)},alignWithScrollbar(){},cellOrSplitHasEvents(e,t=null){return e.length&&(!t&&e.length||t&&e.some((e=>e.split===t.id)))}},created(){this.utils.cell=new Fo(this),this.utils.event=new qo(this,this.utils.date),this.loadLocale(this.locale),this.editEvents.drag&&this.loadDragAndDrop(),this.updateMutableEvents(this.events),this.view.id=this.currentView,this.selectedDate?this.updateSelectedDate(this.selectedDate):(this.view.selectedDate=new Date,this.switchView(this.currentView)),this.time&&this.watchRealTime&&(this.timeTickerIds[0]=setTimeout(this.timeTick,1e3*(60-this.now.getSeconds())))},mounted(){const e=this.utils.date,t="ontouchstart"in window,{resize:s,drag:a,create:i,delete:l,title:n}=this.editEvents,o=this.onEventClick&&"function"===typeof this.onEventClick;(s||a||i||l||n||o)&&window.addEventListener(t?"touchend":"mouseup",this.onMouseUp),(s||a||i&&this.dragToCreateEvent)&&window.addEventListener(t?"touchmove":"mousemove",this.onMouseMove,{passive:!1}),n&&window.addEventListener("keyup",this.onKeyUp),t&&(this.$refs.vuecal.oncontextmenu=function(e){e.preventDefault(),e.stopPropagation()});const r=this.view.startDate,d={view:this.view.id,startDate:r,endDate:this.view.endDate,...this.isMonthView?{firstCellDate:this.view.firstCellDate,lastCellDate:this.view.lastCellDate}:{},events:this.view.events.map(this.cleanupEvent),...this.isWeekView?{week:e.getWeek(this.startWeekOnSunday?e.addDays(r,1):r)}:{}};this.$refs["vuecal_scroll"].addEventListener("scroll",(()=>{this.$refs["vuecal_splits_heading"].style.top=`${this.$refs["vuecal_scroll"].scrollTop}px`})),this.viewportTimelineOffset=this.$refs["vuecal_scroll"].getBoundingClientRect().top,this.$refs["vuecal_scroll"].scrollTop=this.scrollToHour*this.timeCellHeight,this.$emit("ready",d),this.ready=!0},beforeUnmount(){const e="ontouchstart"in window;window.removeEventListener(e?"touchmove":"mousemove",this.onMouseMove,{passive:!1}),window.removeEventListener(e?"touchend":"mouseup",this.onMouseUp),window.removeEventListener("keyup",this.onKeyUp),this.timeTickerIds[0]&&clearTimeout(this.timeTickerIds[0]),this.timeTickerIds[1]&&clearTimeout(this.timeTickerIds[1]),this.timeTickerIds=[null,null]},computed:{editEvents(){return this.editableEvents&&"object"===typeof this.editableEvents?{title:!!this.editableEvents.title,drag:!!this.editableEvents.drag,resize:!!this.editableEvents.resize,create:!!this.editableEvents.create,delete:!!this.editableEvents.delete}:{title:!!this.editableEvents,drag:!!this.editableEvents,resize:!!this.editableEvents,create:!!this.editableEvents,delete:!!this.editableEvents}},views(){return{years:{label:this.texts.years,enabled:!this.disableViews.includes("years")},year:{label:this.texts.year,enabled:!this.disableViews.includes("year")},month:{label:this.texts.month,enabled:!this.disableViews.includes("month")},week:{label:this.texts.week,enabled:!this.disableViews.includes("week")},day:{label:this.texts.day,enabled:!this.disableViews.includes("day")}}},currentView(){return this.validateView(this.activeView)},enabledViews(){return Object.keys(this.views).filter((e=>this.views[e].enabled))},hasTimeColumn(){return this.time&&this.isWeekOrDayView},isShortMonthView(){return this.isMonthView&&"short"===this.eventsOnMonthView},firstCellDateWeekNumber(){const e=this.utils.date,t=this.view.firstCellDate;return e.getWeek(this.startWeekOnSunday?e.addDays(t,1):t)},timeCells(){const e=[];for(let t=this.timeFrom,s=this.timeTo;t!e.hide))||[]).map(((e,t)=>({...e,id:e.id||t+1})))},hasSplits(){return this.daySplits.length&&this.isWeekOrDayView},hasShortEvents(){return"short"===this.showAllDayEvents},cellOrSplitMinWidth(){let e=null;return this.hasSplits&&this.minSplitWidth?e=this.visibleDaysCount*this.minSplitWidth*this.daySplits.length:this.minCellWidth&&this.isWeekView&&(e=this.visibleDaysCount*this.minCellWidth),e},allDayBar(){let e=this.allDayBarHeight||null;return e&&!isNaN(e)&&(e+="px"),{cells:this.viewCells,options:this.$props,label:this.texts.allDay,shortEvents:this.hasShortEvents,daySplits:this.hasSplits&&this.daySplits||[],cellOrSplitMinWidth:this.cellOrSplitMinWidth,height:e}},minTimestamp(){let e=null;return this.minDate&&"string"===typeof this.minDate?e=this.utils.date.stringToDate(this.minDate):this.minDate&&this.minDate instanceof Date&&(e=this.minDate),e?e.getTime():null},maxTimestamp(){let e=null;return this.maxDate&&"string"===typeof this.maxDate?e=this.utils.date.stringToDate(this.maxDate):this.maxDate&&this.minDate instanceof Date&&(e=this.maxDate),e?e.getTime():null},weekDays(){let{weekDays:e,weekDaysShort:t=[]}=this.texts;return e=e.slice(0).map(((e,s)=>({label:e,...t.length?{short:t[s]}:{},hide:this.hideWeekends&&s>=5||this.hideWeekdays.length&&this.hideWeekdays.includes(s+1)}))),this.startWeekOnSunday&&e.unshift(e.pop()),e},weekDaysInHeader(){return this.isMonthView||this.isWeekView&&!this.minCellWidth&&!(this.hasSplits&&this.minSplitWidth)},months(){return this.texts.months.map((e=>({label:e})))},specialDayHours(){return this.specialHours&&Object.keys(this.specialHours).length?Array(7).fill("").map(((e,t)=>{let s=this.specialHours[t+1]||[];return Array.isArray(s)||(s=[s]),e=[],s.forEach((({from:s,to:a,class:i,label:l},n)=>{e[n]={day:t+1,from:[null,void 0].includes(s)?null:1*s,to:[null,void 0].includes(a)?null:1*a,class:i||"",label:l||""}})),e})):{}},viewTitle(){const e=this.utils.date;let t="";const s=this.view.startDate,a=s.getFullYear(),i=s.getMonth();switch(this.view.id){case"years":t=this.texts.years;break;case"year":t=a;break;case"month":t=`${this.months[i].label} ${a}`;break;case"week":{const a=this.view.endDate,i=s.getFullYear();let l=this.texts.months[s.getMonth()];this.xsmall&&(l=l.substring(0,3));let n=`${l} ${i}`;if(a.getMonth()!==s.getMonth()){const e=a.getFullYear();let t=this.texts.months[a.getMonth()];this.xsmall&&(t=t.substring(0,3)),n=i===e?`${l} - ${t} ${i}`:this.small?`${l.substring(0,3)} ${i} - ${t.substring(0,3)} ${e}`:`${l} ${i} - ${t} ${e}`}t=`${this.texts.week} ${e.getWeek(this.startWeekOnSunday?e.addDays(s,1):s)} (${n})`;break}case"day":t=this.utils.date.formatDate(s,this.texts.dateFormat,this.texts);break}return t},viewCells(){const e=this.utils.date;let t=[],s=null,a=!1;this.watchRealTime||(this.now=new Date);const i=this.now;switch(this.view.id){case"years":s=this.view.startDate.getFullYear(),t=Array.apply(null,Array(25)).map(((t,a)=>{const l=new Date(s+a,0,1),n=new Date(s+a+1,0,1);return n.setSeconds(-1),{startDate:l,formattedDate:e.formatDateLite(l),endDate:n,content:s+a,current:s+a===i.getFullYear()}}));break;case"year":s=this.view.startDate.getFullYear(),t=Array.apply(null,Array(12)).map(((t,a)=>{const l=new Date(s,a,1),n=new Date(s,a+1,1);return n.setSeconds(-1),{startDate:l,formattedDate:e.formatDateLite(l),endDate:n,content:this.xsmall?this.months[a].label.substr(0,3):this.months[a].label,current:a===i.getMonth()&&s===i.getFullYear()}}));break;case"month":{const s=this.view.startDate.getMonth(),i=new Date(this.view.firstCellDate);a=!1,t=Array.apply(null,Array(42)).map(((t,l)=>{const n=e.addDays(i,l),o=new Date(n);o.setHours(23,59,59,0);const r=!a&&e.isToday(n)&&!a++;return{startDate:n,formattedDate:e.formatDateLite(n),endDate:o,content:n.getDate(),today:r,outOfScope:n.getMonth()!==s,class:`vuecal__cell--day${n.getDay()||7}`}})),(this.hideWeekends||this.hideWeekdays.length)&&(t=t.filter((e=>{const t=e.startDate.getDay()||7;return!(this.hideWeekends&&t>=6||this.hideWeekdays.length&&this.hideWeekdays.includes(t))})));break}case"week":{a=!1;let s=this.view.startDate;const i=this.weekDays;t=i.map(((t,i)=>{const l=e.addDays(s,this.startWeekOnSunday?i-1:i),n=new Date(l);n.setHours(23,59,59,0);const o=(l.getDay()||7)-1;return{startDate:l,formattedDate:e.formatDateLite(l),endDate:n,today:!a&&e.isToday(l)&&!a++,specialHours:this.specialDayHours[o]||[]}})).filter(((e,t)=>!i[t].hide));break}case"day":{const s=this.view.startDate,a=new Date(this.view.startDate);a.setHours(23,59,59,0);const i=(s.getDay()||7)-1;t=[{startDate:s,formattedDate:e.formatDateLite(s),endDate:a,today:e.isToday(s),specialHours:this.specialDayHours[i]||[]}];break}}return t},visibleDaysCount(){return this.isDayView?1:7-this.weekDays.reduce(((e,t)=>e+t.hide),0)},cellWidth(){return 100/this.visibleDaysCount},cssClasses(){const{resizeAnEvent:e,dragAnEvent:t,dragCreateAnEvent:s}=this.domEvents;return{[`vuecal--${this.view.id}-view`]:!0,[`vuecal--${this.locale}`]:this.locale,"vuecal--no-time":!this.time,"vuecal--view-with-time":this.hasTimeColumn,"vuecal--week-numbers":this.showWeekNumbers&&this.isMonthView,"vuecal--twelve-hour":this.twelveHour,"vuecal--click-to-navigate":this.clickToNavigate,"vuecal--hide-weekends":this.hideWeekends,"vuecal--split-days":this.hasSplits,"vuecal--sticky-split-labels":this.hasSplits&&this.stickySplitLabels,"vuecal--overflow-x":this.minCellWidth&&this.isWeekView||this.hasSplits&&this.minSplitWidth,"vuecal--small":this.small,"vuecal--xsmall":this.xsmall,"vuecal--resizing-event":e._eid,"vuecal--drag-creating-event":s.event,"vuecal--dragging-event":t._eid,"vuecal--events-on-month-view":this.eventsOnMonthView,"vuecal--short-events":this.isMonthView&&"short"===this.eventsOnMonthView,"vuecal--has-touch":"undefined"!==typeof window&&"ontouchstart"in window}},isYearsOrYearView(){return["years","year"].includes(this.view.id)},isYearsView(){return"years"===this.view.id},isYearView(){return"year"===this.view.id},isMonthView(){return"month"===this.view.id},isWeekOrDayView(){return["week","day"].includes(this.view.id)},isWeekView(){return"week"===this.view.id},isDayView(){return"day"===this.view.id}},watch:{events:{handler(e,t){this.updateMutableEvents(e),this.addEventsToView()},deep:!0},locale(e){this.loadLocale(e)},selectedDate(e){this.updateSelectedDate(e)},activeView(e){this.switchView(e)}}};const Pr=(0,$.Z)(Ir,[["render",Wo]]);var Lr=Pr,Nr={install:e=>{e.component("Vue-cal",Lr)}};s(48851),s(1292),s(81633),s(51045),s(46187),s(22299),s(93423),s(54687),s(49147),s(6250);l(),d();const Yr={axios:{disabled:!0},i18n:{languages:[{title:"Slovenský",flag:"sk",value:"sk"}],defaultLanguage:"sk"},moxios:{routes:{"GET v1/overview/teams":!0,"GET v1/overview/tasks":!0}}},qr=(0,a.ri)(rn).use(hn).use(un).use(Qn).use(Kn,Yr).use(i.oX).use(o).use(Nr).use(to).use(c(),{color:"#6200EE"}).mount("#app"),Br=qr.$i18n.t},65687:function(e,t,s){"use strict";s.d(t,{Ly:function(){return a},d2:function(){return i},Jc:function(){return l},iy:function(){return n},QS:function(){return r},rI:function(){return o}});var a=s(27484),i=s(53830),l=s.p+"img/checkmark-double.8bc9494b.svg",n=s(34413),o=(s(87500),s(60666)),r=(s(38351),s(35902),s(52906),s.p+"img/office-365.84b4e31a.svg")},7648:function(e,t,s){"use strict";var a=s(37729);t["Z"]={parseErrors(e){return Object.values(e).map((e=>(0,a.$t)(e?.$message))).join(". ")}}},83299:function(e,t){"use strict";t["Z"]={methods:{customFilter(e,t){const s=e.normalize("NFD").replace(/[\u0300-\u036f]/g,""),a=t.normalize("NFD").replace(/[\u0300-\u036f]/g,""),i=/[^a-zA-Z0-9 ]/g,l=s.replace(i,""),n=a.replace(i,"");return l.toLowerCase().includes(n.toLowerCase())||""===e}}}},34407:function(e,t,s){"use strict";var a=s(36797),i=s.n(a);t["Z"]={enrichEmployees(e){return e.map((e=>({...e,_fullName:`${e.name} ${e.surname}`,_initials:e.name.charAt(0)+e.surname.charAt(0)})))},formatDateTime(e){return i()(e),i()(e).format("DD.MM.yyyy, HH:mm")},formatDateTimeForBackend(e){return i()(e).format("YYYY-MM-DD HH:mm:ss")},formatDate(e){return i()(e).format("DD.MM.yyyy")},isBefore(e,t=null){return i()(e).isBefore(i()(t))},isAfter(e,t=i()()){return i()(e).isAfter(i()(t))}}},8973:function(e,t,s){var a={"./en.json":20790,"./sk.json":71941};function i(e){var t=l(e);return s(t)}function l(e){if(!s.o(a,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return a[e]}i.keys=function(){return Object.keys(a)},i.resolve=l,e.exports=i,i.id=8973},66667:function(e,t,s){var a={"./ar.json":[68568,8568],"./bg.json":[20684,684],"./bn.json":[61170,1170],"./bs.json":[41161,1161],"./ca.json":[40612,612],"./cs.json":[50213,213],"./da.json":[98542,8542],"./de.json":[4701,4701],"./el.json":[20453,453],"./en.json":[3320,3320],"./es.json":[60076,76],"./et.json":[44075,4075],"./fa.json":[69004,9004],"./fr.json":[60007,7],"./he.json":[23746,3746],"./hr.json":[92921,2921],"./hu.json":[75723,5723],"./id.json":[12502,2502],"./is.json":[13214,3214],"./it.json":[51380,1380],"./ja.json":[72484,2484],"./ka.json":[60285,285],"./ko.json":[79249,9249],"./lt.json":[42838,2838],"./mn.json":[6177,6177],"./nl.json":[99729,9729],"./no.json":[49409,9409],"./pl.json":[25409,5409],"./pt-br.json":[74529,4529],"./ro.json":[29715,9715],"./ru.json":[32113,2113],"./sk.json":[30229,229],"./sl.json":[28636,8636],"./sq.json":[204,204],"./sr.json":[55553,5553],"./sv.json":[75979,5979],"./tr.json":[5268,5268],"./uk.json":[14057,4057],"./vi.json":[88929,8929],"./zh-cn.json":[56730,6730],"./zh-hk.json":[30841,841]};function i(e){if(!s.o(a,e))return Promise.resolve().then((function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=a[e],i=t[0];return s.e(t[1]).then((function(){return s.t(i,19)}))}i.keys=function(){return Object.keys(a)},i.id=66667,e.exports=i},27484:function(e,t,s){"use strict";e.exports=s.p+"img/bin.8778f5be.svg"},53830:function(e,t,s){"use strict";e.exports=s.p+"img/checkmark.76754510.svg"},34413:function(e,t,s){"use strict";e.exports=s.p+"img/eye.6d5fa7d3.svg"},87500:function(e,t,s){"use strict";e.exports=s.p+"img/home.a9495a95.svg"},35902:function(e,t,s){"use strict";e.exports=s.p+"img/icon-next.25e7a4f4.svg"},38351:function(e,t,s){"use strict";e.exports=s.p+"img/icon-prev.22ba0fa6.svg"},60666:function(e,t,s){"use strict";e.exports=s.p+"img/pencil.b9009162.svg"},52906:function(e,t,s){"use strict";e.exports=s.p+"img/search.bd80c5fb.svg"},14214:function(e,t,s){"use strict";e.exports=s.p+"img/spinner.34fd3cb2.gif"},20790:function(e){"use strict";e.exports=JSON.parse('{"Value is not a valid email address":"Value is not a valid email address","error":"chyba","Value is required":"Pole je povinné","This field should be at least 8 characters long":"Pole musí obsahovať aspoň 8 znakov","This field should be at least 6 characters long":"Pole musí obsahovať aspoň 6 znakov","This maximum length allowed is 6":"Pole musí obsahovať 6 znakov","The value must be equal to the other value":"Heslá sa nezhodujú"}')},71941:function(e){"use strict";e.exports=JSON.parse('{"Value is not a valid email address":"Zadali ste neplatný email","error":"chyba","Value is required":"Pole je povinné","This field should be at least 8 characters long":"Pole musí obsahovať aspoň 8 znakov","This field should be at least 6 characters long":"Pole musí obsahovať aspoň 6 znakov","This maximum length allowed is 6":"Pole musí obsahovať 6 znakov","The value must be equal to the other value":"Heslá sa nezhodujú"}')}},t={};function s(a){var i=t[a];if(void 0!==i)return i.exports;var l=t[a]={id:a,loaded:!1,exports:{}};return e[a].call(l.exports,l,l.exports,s),l.loaded=!0,l.exports}s.m=e,function(){var e=[];s.O=function(t,a,i,l){if(!a){var n=1/0;for(u=0;u=l)&&Object.keys(s.O).every((function(e){return s.O[e](a[r])}))?a.splice(r--,1):(o=!1,l0&&e[u-1][2]>l;u--)e[u]=e[u-1];e[u]=[a,i,l]}}(),function(){s.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return s.d(t,{a:t}),t}}(),function(){var e,t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__};s.t=function(a,i){if(1&i&&(a=this(a)),8&i)return a;if("object"===typeof a&&a){if(4&i&&a.__esModule)return a;if(16&i&&"function"===typeof a.then)return a}var l=Object.create(null);s.r(l);var n={};e=e||[null,t({}),t([]),t(t)];for(var o=2&i&&a;"object"==typeof o&&!~e.indexOf(o);o=t(o))Object.getOwnPropertyNames(o).forEach((function(e){n[e]=function(){return a[e]}}));return n["default"]=function(){return a},s.d(l,n),l}}(),function(){s.d=function(e,t){for(var a in t)s.o(t,a)&&!s.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})}}(),function(){s.f={},s.e=function(e){return Promise.all(Object.keys(s.f).reduce((function(t,a){return s.f[a](e,t),t}),[]))}}(),function(){s.u=function(e){return"js/"+e+"."+{7:"7cef58a7",76:"9977e9df",188:"d74ce2b2",204:"4dd3d03d",213:"c9ed5252",229:"b09f2145",285:"6a0985b5",453:"04d72c77",612:"4ea201aa",684:"017ebeb8",841:"65cae984",907:"bfa01f81",924:"ddc3fd73",1097:"88cdd882",1161:"59a7c68b",1170:"16217940",1380:"fc40de11",1466:"c5d34b19",2113:"2a1bcdfa",2484:"6def3002",2502:"66addef9",2612:"ea780a2e",2838:"aa69ee5c",2885:"d75b7a04",2921:"b5aad8e9",3214:"72d306e7",3311:"bcab8a66",3320:"fe7033d0",3657:"e558064c",3728:"3e558208",3746:"09ee0424",3862:"b079a5bd",4057:"4b3b38fd",4075:"2d83f71e",4392:"02bf9f00",4518:"8e2c3fa8",4529:"6ff3334b",4578:"5a7acff1",4701:"e34c277a",5268:"5d463fbd",5409:"4ce439c3",5456:"0e926456",5553:"032fcbe7",5723:"09853a5d",5979:"385e1b41",6177:"12db94aa",6730:"61289e01",7073:"57c96578",7343:"1e290ed5",8024:"bb377405",8059:"91d676ea",8520:"cb7009ea",8542:"09badcc3",8568:"7f0dfd32",8636:"2a90cf11",8731:"a28fea96",8929:"ea6da50f",8990:"6dd37151",9004:"ffe04245",9033:"727fb9e6",9249:"d2b0f88c",9407:"ed2e3833",9409:"339f5afb",9715:"21ca1afa",9729:"812aea5b"}[e]+".js"}}(),function(){s.miniCssF=function(e){return"css/"+e+"."+{188:"37c2c58b",907:"fa9ddfdd",2612:"f67d9d9c",2885:"10c05ec3",3862:"f5c9dd84",4392:"01299cfb",5456:"2cf84289",7073:"3978ef96",8059:"2ab138a8",9033:"ace2e544",9407:"f4af91bc"}[e]+".css"}}(),function(){s.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){var e={},t="jandl:";s.l=function(a,i,l,n){if(e[a])e[a].push(i);else{var o,r;if(void 0!==l)for(var d=document.getElementsByTagName("script"),u=0;us.startsWith(e)));return i?s:`https://${s}`}}r.CX.register("formats/link",t,!0)}var u=s(73752),c=s.n(u),m=s(73396),h=s(97718),p=s(29271);function v(e,t,s,a,i,l){const n=(0,m.up)("router-view"),o=(0,m.up)("Z-team-modal"),r=(0,m.up)("Z-delete-team-modal"),d=(0,m.up)("Z-task-modal"),u=(0,m.up)("Z-delete-task-modal"),c=(0,m.up)("Z-delete-timeBlock-modal"),v=(0,m.up)("Z-delete-blocker-modal"),k=(0,m.up)("Z-delete-master-task-modal"),f=(0,m.up)("Z-complete-task-modal"),g=(0,m.up)("Z-complete-master-task-modal"),b=(0,m.up)("Z-task-add-time-modal"),_=(0,m.up)("Z-blocker-modal"),w=(0,m.up)("Z-master-task-modal"),y=(0,m.up)("Z-delete-team-member-modal"),D=(0,m.up)("Z-show-menu-modal"),T=(0,m.up)("Z-unable-to-edit-office-task-modal"),M=(0,m.up)("Z-unable-to-complete-task-modal");return(0,m.wg)(),(0,m.iD)(m.HY,null,[(0,m.Wm)(h.q,null,{default:(0,m.w5)((()=>[(0,m.Wm)(p.O,null,{default:(0,m.w5)((()=>[(0,m.Wm)(n)])),_:1})])),_:1}),(0,m.Wm)(o,{ref:"z-team-modal",onUpdate:l.onTeamUpdate},null,8,["onUpdate"]),(0,m.Wm)(r,{ref:"z-delete-team-modal",onUpdate:l.onTeamUpdate},null,8,["onUpdate"]),(0,m.Wm)(d,{ref:"z-task-modal",onOnSubtaskEdited:l.onTaskEdited},null,8,["onOnSubtaskEdited"]),(0,m.Wm)(u,{ref:"z-delete-task-modal",onOnSubtaskDeleted:l.onTaskDeleted},null,8,["onOnSubtaskDeleted"]),(0,m.Wm)(c,{ref:"z-delete-timeblock-modal",onOnSubtaskEdited:l.onTaskEdited},null,8,["onOnSubtaskEdited"]),(0,m.Wm)(v,{ref:"z-delete-blocker-modal",onOnBlockerDeleted:l.onBlockerDeleted},null,8,["onOnBlockerDeleted"]),(0,m.Wm)(k,{ref:"z-delete-master-task-modal",onOnMastertaskDeleted:l.onMasterTaskDeleted},null,8,["onOnMastertaskDeleted"]),(0,m.Wm)(f,{ref:"z-complete-task-modal",onOnSubtaskEdited:l.onTaskEdited},null,8,["onOnSubtaskEdited"]),(0,m.Wm)(g,{ref:"z-complete-master-task-modal",onMasterTaskEdited:l.onMasterTaskEdited},null,8,["onMasterTaskEdited"]),(0,m.Wm)(b,{ref:"z-task-add-time-modal"},null,512),(0,m.Wm)(_,{ref:"z-blocker-modal"},null,512),(0,m.Wm)(w,{ref:"z-master-task-modal",onMasterTaskEdited:l.onMasterTaskEdited},null,8,["onMasterTaskEdited"]),(0,m.Wm)(y,{ref:"z-delete-team-member-modal"},null,512),(0,m.Wm)(D,{ref:"z-show-menu-modal"},null,512),(0,m.Wm)(T,{ref:"z-unable-to-edit-office-task-modal"},null,512),(0,m.Wm)(M,{ref:"z-unable-to-complete-task-modal"},null,512)],64)}var k=s(87139),f=s(67312),g=s(75039),b=s(91334),_=s(33601),w=s(53289);const y={class:"d-flex justify-space-between align-center"};function D(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(_.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",y,[(0,m._)("h1",null,[(0,m.Uk)(" Ste si istý, že chcete zmazať tím "),(0,m._)("b",null,(0,k.zw)(l.team.name),1),(0,m.Uk)("? ")]),(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(b.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half",variant:"flat",onClick:t[1]||(t[1]=e=>n.deleteTeam()),disabled:l.isDeleting},{default:(0,m.w5)((()=>[(0,m.Uk)("ÁNO")])),_:1},8,["disabled"]),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[2]||(t[2]=(0,a.iM)((e=>n.closeModal()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ZRUŠIŤ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var T={mounted(){window.addEventListener("keydown",this.handleKeyDown)},methods:{handleKeyDown(e){27===e.keyCode&&(this.visible=!1)}}},M={mixins:[T],emits:["update"],data(){return{visible:!1,team:null,isDeleting:!1}},methods:{async showModal({team:e}){this.team=e,this.visible=!0},closeModal(){this.visible=!1},async deleteTeam(){if(!this.isDeleting){this.isDeleting=!0;try{await this.$axios.delete_auth(`v1/teams/${this.team.id}`),this.visible=!1,this.$emit("update",this.team),this.$store.commit("tm/delete_team",this.team)}catch(e){this.$toast.error(this.$parseError(e))}finally{this.isDeleting=!1}}}}},$=s(40089);const C=(0,$.Z)(M,[["render",D]]);var j=C,E=s(60988),x=s(45869);const W={class:"d-flex justify-space-between align-center modal-header"};function S(e,t,s,i,l,n){const o=(0,m.up)("W-loadable");return(0,m.wg)(),(0,m.j4)(_.B,{modelValue:l.visible,"onUpdate:modelValue":t[4]||(t[4]=e=>l.visible=e),"max-width":"750","max-height":"90%",height:"700px",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(o,{content:l.team,class:"h-100"},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,{height:"100%",class:"d-flex flex-column"},{default:(0,m.w5)((()=>[(0,m._)("div",W,[(0,m._)("h1",null,(0,k.zw)(l.team.id?"Upraviť tím":"Vytvoriť tím"),1),(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(b.h,{class:"d-flex flex-column modal-content"},{default:(0,m.w5)((()=>[(0,m.Wm)(x.hw,{class:(0,k.C_)(["modal-input",{error:l.v$.team.name.$errors.length}]),label:"Názov tímu",variant:"solo",hint:l.v$.team.name.$errors?l.errorUtils.parseErrors(l.v$.team.name.$errors):null,modelValue:l.team.name,"onUpdate:modelValue":t[1]||(t[1]=e=>l.team.name=e)},null,8,["class","hint","modelValue"]),((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(l.team.employees,((e,t)=>((0,m.wg)(),(0,m.iD)("div",{class:"relative w-100",key:e.id},[(0,m.Wm)(x.hw,{class:"modal-input",disabled:"",label:"Zamestanec",variant:"solo",modelValue:l.team.employees[t]._fullName,"onUpdate:modelValue":e=>l.team.employees[t]._fullName=e},null,8,["modelValue","onUpdate:modelValue"]),(0,m.Wm)(w.t,{class:"remove-input",onClick:(0,a.iM)((e=>l.team.employees.splice(t,1)),["stop"]),icon:"mdi-close",size:"small"},null,8,["onClick"])])))),128)),(0,m.Wm)(E.f,{"custom-filter":e.customFilter,"match-any":!0,modelValue:l.employeeSelect,"onUpdate:modelValue":t[2]||(t[2]=e=>l.employeeSelect=e),label:"Priradený",class:(0,k.C_)([{error:l.v$.team.employees.$errors.length},"modal-input"]),items:n.employeesOptions,"item-title":"_fullName","item-value":"id",variant:"solo",clearable:"",ref:"autocomplete"},null,8,["custom-filter","modelValue","class","items"])])),_:1}),(0,m.Wm)(f.T,{class:"button primary block",onClick:t[3]||(t[3]=e=>n.save())},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(l.team.id?"UPRAVIŤ":"VYTVORIŤ"),1)])),_:1})])),_:1})])),_:1},8,["content"])])),_:1},8,["modelValue"])}var O=s(33053),V=s(69117),z=s(7648),A=s(34407),U=s(20065),Z=s(83299);const H=e=>e.length;var F={mixins:[Z.Z,T],emits:["close","update"],data(){return{visible:!1,v$:(0,O.ZP)(),errorUtils:z.Z,employeeSelect:null,team:null}},computed:{...(0,U.Se)("tm",["enrichedEmployees"]),employeesOptions(){const e=this.team.employees.map((e=>e.id));return this.enrichedEmployees.filter((t=>!e.includes(t.id)))}},validations(){return{team:{name:{required:V.C1},employees:{atLeastOne:H}}}},methods:{async showModal({team:e=null}){this.visible=!0,this.team=null,this.$nextTick((()=>this.v$.$reset()));try{if(e?.id){const t=await this.$axios.get_auth_data(`v1/teams/${e.id}`);this.team=this._enrichTeam(t)}else this.team={employees:[]}}catch(t){this.$toast.error(this.$parseError(t))}},closeModal(){this.visible=!1,this.$emit("close",this.team)},async save(){if(await this.v$.$validate())try{if(this.team.id){const{team:e}=await this.$axios.put_auth(`v1/teams/${this.team.id}`,this.team),t=await this.$axios.get_auth_data(`v1/teams/${e.id}`);this.$store.commit("tm/update_team",t)}else{const{team:e}=await this.$axios.post_auth("v1/teams",this.team),t=await this.$axios.get_auth_data(`v1/teams/${e.id}`);this.$store.commit("tm/save_team",t)}this.closeModal()}catch(e){this.$toast.error(this.$parseError(e))}},_enrichTeam(e){return e.employees=A.Z.enrichEmployees(e.employees),e}},watch:{employeeSelect(e){if(!e)return;const t=this.enrichedEmployees.find((t=>t.id==e));this.team.employees.push(t),this.employeeSelect=null,this.$refs.autocomplete.search=""}}};const I=(0,$.Z)(F,[["render",S]]);var P=I;const L={class:"d-flex justify-space-between align-center"};function N(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(_.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",L,[(0,m._)("h1",null,[(0,m.Uk)("Ste si istý, že chcete zmazať sub task z mastertasku "),(0,m._)("b",null,(0,k.zw)(l.subtask.project_code),1),(0,m.Uk)("?")]),(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large",class:"mb-15"})]),(0,m.Wm)(b.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half",variant:"flat",onClick:t[1]||(t[1]=e=>n.deleteTask()),disabled:l.isDeleting},{default:(0,m.w5)((()=>[(0,m.Uk)("ÁNO")])),_:1},8,["disabled"]),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[2]||(t[2]=(0,a.iM)((e=>n.closeModal()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ZRUŠIŤ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var Y={mixins:[T],emits:["on-subtask-deleted"],data(){return{visible:!1,subtask:null,isDeleting:!1}},methods:{async showModal({subtask:e}){this.subtask=e,this.visible=!0},closeModal(){this.visible=!1},async deleteTask(){if(!this.isDeleting){this.isDeleting=!0;try{await this.$axios.delete_auth(`v1/subtasks/${this.subtask.id}`),this.$store.commit("tm/delete_subtask",this.subtask),this.closeModal(),this.$emit("on-subtask-deleted",this.subtask)}catch(e){this.$toast.error(this.$parseError(e))}finally{this.isDeleting=!1}}}}};const q=(0,$.Z)(Y,[["render",N]]);var B=q;const R=e=>((0,m.dD)("data-v-4aa4bee3"),e=e(),(0,m.Cn)(),e),K={class:"d-flex justify-space-between align-center"},J=R((()=>(0,m._)("h4",{class:"mt-3"},"Vyberte časový úsek, ktorý chcete odstrániť",-1)));function G(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(_.B,{modelValue:l.visible,"onUpdate:modelValue":t[1]||(t[1]=e=>l.visible=e),"max-width":"500",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",K,[J,(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(l.subtask.timeblocks,((e,t)=>((0,m.wg)(),(0,m.iD)("div",{key:e.id,class:"d-flex align-center justify-center mb-3 mt-3"},[(0,m._)("p",{class:(0,k.C_)(["task-badge rounded-pill",{"strike-through":e.is_finished}])},(0,k.zw)(l.tmUtils.formatDateTime(e.start))+" - "+(0,k.zw)(l.tmUtils.formatDateTime(e.end)),3),(0,m.Wm)(w.t,{onClick:(0,a.iM)((s=>l.subtask.id?n.deleteTimeblock(e):n.deleteTimeblockWithoutId(t)),["stop"]),class:"close-icon circle-border cursor-pointer ml-3 text-red",icon:"mdi-close",size:"medium"},null,8,["onClick"])])))),128))])),_:1})])),_:1},8,["modelValue"])}var X={mixins:[T],emits:["on-subtask-edited"],data(){return{visible:!1,subtask:null,isDeleting:!1,tmUtils:A.Z}},methods:{async showModal({subtask:e}){this.subtask=e,this.visible=!0},closeModal(){this.visible=!1},async deleteTimeblock({id:e}){const t=JSON.parse(JSON.stringify(this.subtask));t.timeblocks=t.timeblocks.filter((t=>t.id!=e)),t.deadline&&(t.deadline=A.Z.formatDateTimeForBackend(t.deadline)),this._update(t)},deleteTimeblockWithoutId(e){this.$emit("delete-timeblock")},async _update(e){try{const t=e.timesheets.map((e=>(delete e.employee_name,e))),{subtask:s}=await this.$axios.put_auth(`v1/subtasks/${e.id}`,{...e,timesheets:t});this.closeModal(),this.$events.emit("on-subtask-edited",s)}catch(t){this.$toast.error(t.message||t)}}}};const Q=(0,$.Z)(X,[["render",G],["__scopeId","data-v-4aa4bee3"]]);var ee=Q;const te=e=>((0,m.dD)("data-v-5102a689"),e=e(),(0,m.Cn)(),e),se={class:"d-flex justify-space-between align-center modal-header"},ae={class:"splitted-inputs"},ie=te((()=>(0,m._)("path",{d:"M23.057 7.057l-16 16c-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0l16-16c0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0z"},null,-1))),le=te((()=>(0,m._)("path",{d:"M7.057 8.943l16 16c0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885l-16-16c-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885z"},null,-1))),ne=[ie,le],oe=["onClick"],re=te((()=>(0,m._)("path",{d:"M23.057 7.057l-16 16c-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0l16-16c0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0z"},null,-1))),de=te((()=>(0,m._)("path",{d:"M7.057 8.943l16 16c0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885l-16-16c-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885z"},null,-1))),ue=[re,de],ce={key:2,class:"timeblocks w-100"},me={class:"end-button w-100"},he={class:"splitted-time-inputs w-100"},pe={class:"w-100 modal-input"},ve={class:"d-flex justify-space-between align-center"},ke={class:"d-flex justify-space-between align-center modal-header border-bottom pb-4"},fe={class:"d-flex justify-start"},ge=["src"],be=["src"],_e={class:"w-100"},we={class:"d-flex justify-start align-center mt-8"};function ye(e,t,i,l,n,o){const r=(0,m.up)("Datepicker"),d=(0,m.up)("A-timeblock"),u=(0,m.up)("QuillEditor"),c=(0,m.up)("Z-files-upload"),h=(0,m.up)("Z-task-readonly-info"),p=(0,m.up)("W-loadable");return(0,m.wg)(),(0,m.j4)(_.B,{modelValue:n.visible,"onUpdate:modelValue":t[22]||(t[22]=e=>n.visible=e),"max-width":"750","max-height":"90%",height:"700px",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(p,{content:n.subtask,class:"h-100"},{default:(0,m.w5)((()=>[n.editMode?((0,m.wg)(),(0,m.j4)(g._,{key:0,height:"100%",class:"d-flex flex-column scrolling"},{default:(0,m.w5)((()=>[(0,m._)("div",se,[(0,m._)("h1",null,(0,k.zw)(n.subtask?.id?"Upraviť sub task":"Vytvoriť sub task"),1),(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>o.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(b.h,{class:"d-flex flex-column modal-content"},{default:(0,m.w5)((()=>[(0,m.Wm)(x.hw,{modelValue:n.subtask.project_code,"onUpdate:modelValue":t[1]||(t[1]=e=>n.subtask.project_code=e),label:"Kód projektu",value:n.subtask.project_code,onFocus:e.onInputFocus,class:"modal-input",variant:"solo",disabled:""},null,8,["modelValue","value","onFocus"]),(0,m.Wm)(E.f,{"custom-filter":e.customFilter,"match-any":!0,modelValue:n.subtask.master_task_id,"onUpdate:modelValue":t[2]||(t[2]=e=>n.subtask.master_task_id=e),label:"Master task",class:(0,k.C_)([{error:n.v$.subtask.master_task_id.$errors.length},"modal-input"]),items:e.mastertasks,"item-title":"name","item-value":"id",variant:"solo",clearable:""},null,8,["custom-filter","modelValue","class","items"]),(0,m.Wm)(x.hw,{modelValue:n.subtask.title,"onUpdate:modelValue":t[3]||(t[3]=e=>n.subtask.title=e),onFocus:e.onInputFocus,class:"modal-input",label:"Názov subtasku",variant:"solo"},null,8,["modelValue","onFocus"]),(0,m._)("div",ae,[(0,m._)("div",{onClick:t[5]||(t[5]=e=>o.openDatepicker("datepicker-01")),class:"datepicker-wrapper"},[(0,m.Wm)(r,{modelValue:n.subtask.deadline,"onUpdate:modelValue":t[4]||(t[4]=e=>n.subtask.deadline=e),onFocus:e.onDateFocus,ref:"datepicker-01","auto-apply":!0,"min-date":new Date,class:(0,k.C_)(["modal-input left datepicker-input",{error:n.v$.subtask.deadline.$errors?.length}]),format:"dd.MM.yyyy",locale:"sk","select-text":"Vybrať","cancel-text":"Zrušiť",placeholder:"Deadline",validations:n.v$.subtask.deadline},null,8,["modelValue","onFocus","min-date","class","validations"])]),(0,m.Wm)(x.hw,{class:(0,k.C_)(["modal-input right",{error:n.v$.subtask._deadline_time.$errors.length}]),variant:"solo",modelValue:n.subtask._deadline_time,"onUpdate:modelValue":t[6]||(t[6]=e=>n.subtask._deadline_time=e),label:"Čas","append-inner-icon":"mdi-clock-outline",type:"time",onFocus:e.onInputFocus,hint:n.v$.subtask._deadline_time.$errors?n.errorUtils.parseErrors(n.v$.subtask._deadline_time.$errors):null},null,8,["modelValue","onFocus","class","hint"])]),n.subtask.id?((0,m.wg)(),(0,m.iD)(m.HY,{key:0},[(0,m._)("div",{class:(0,k.C_)(["employee-wrapper",{"hide-arrow":n.subtask.employee_id}])},[n.subtask.employee_id?((0,m.wg)(),(0,m.iD)("svg",{key:0,version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 32 32",class:"dp__icon dp__clear_icon dp__input_icons","data-test":"clear-icon",onClick:t[7]||(t[7]=(0,a.iM)((e=>{o.handleOnRemoveEmployee(),n.subtask.employee_id=null,n.subtask.employee=null}),["prevent"]))},ne)):(0,m.kq)("",!0),(0,m.Wm)(E.f,{"custom-filter":e.customFilter,"match-any":!0,modelValue:n.subtask.employee_id,"onUpdate:modelValue":[t[8]||(t[8]=e=>n.subtask.employee_id=e),t[9]||(t[9]=e=>n.employeeValidations[0]?n.employeeValidations[0].employee=!1:null)],label:"Priradený",items:e.enrichedEmployees,"item-title":"_fullName","item-value":"id",variant:"solo",class:(0,k.C_)(["modal-input",{error:n.employeeValidations[0]?.employee}])},null,8,["custom-filter","modelValue","items","class"])],2),(0,m.Wm)(x.hw,{modelValue:n.subtask.duration,"onUpdate:modelValue":[t[10]||(t[10]=e=>n.subtask.duration=e),t[11]||(t[11]=e=>n.employeeValidations[0]?n.employeeValidations[0].duration=!1:null)],class:(0,k.C_)(["modal-input",{error:n.employeeValidations[0]?.duration}]),variant:"solo",type:"number",label:"Časový odhad","append-inner-icon":"mdi-clock-outline",onFocus:e.onInputFocus},null,8,["modelValue","class","onFocus"])],64)):((0,m.wg)(!0),(0,m.iD)(m.HY,{key:1},(0,m.Ko)(n.subtask.employees,((t,s)=>((0,m.wg)(),(0,m.iD)("div",{key:`employee-${s}`,class:(0,k.C_)(["splitted-inputs remove-employee",{"hide-arrow":t?.id}])},[(0,m.Wm)(E.f,{"custom-filter":e.customFilter,"match-any":!0,modelValue:t.id,"onUpdate:modelValue":[e=>t.id=e,e=>n.employeeValidations[s]?n.employeeValidations[s].employee=!1:null],label:"Priradený",items:e.enrichedEmployees,"item-title":"_fullName","item-value":"id",variant:"solo",class:(0,k.C_)(["modal-input left",{error:n.employeeValidations[s]?.employee}])},null,8,["custom-filter","modelValue","onUpdate:modelValue","items","class"]),t.id?((0,m.wg)(),(0,m.iD)("svg",{key:0,version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 32 32",class:"dp__icon dp__clear_icon dp__input_icons","data-test":"clear-icon",onClick:(0,a.iM)((e=>{o.handleOnRemoveEmployee(),t.id=null}),["prevent"])},ue,8,oe)):(0,m.kq)("",!0),(0,m.Wm)(x.hw,{modelValue:t.duration,"onUpdate:modelValue":[e=>t.duration=e,e=>n.employeeValidations[s]?n.employeeValidations[s].duration=!1:null],class:(0,k.C_)(["modal-input right",{error:n.employeeValidations[s]?.duration}]),variant:"solo",type:"number",label:"Časový odhad","append-inner-icon":"mdi-clock-outline",onFocus:e.onInputFocus},null,8,["modelValue","onUpdate:modelValue","class","onFocus"])],2)))),128)),n.subtask.id?((0,m.wg)(!0),(0,m.iD)(m.HY,{key:3},(0,m.Ko)(n.subtask.timeblocks,((e,t)=>((0,m.wg)(),(0,m.iD)("div",{key:t,class:"timeblock w-100"},[(0,m.Wm)(r,{"model-value":e.start.substring(0,10),format:"dd.MM.yyyy",locale:"sk","select-text":"Vybrať","cancel-text":"Zrušiť",placeholder:"Dátum","auto-apply":!0,"enable-time-picker":!1,readonly:"",class:"mb-5 modal-input"},null,8,["model-value"]),(0,m._)("div",he,[(0,m.Wm)(x.hw,{value:e.start.substring(11,16),type:"time",variant:"solo","bg-color":"white",label:"Začiatok"},null,8,["value"]),(0,m.Wm)(x.hw,{value:e.end.substring(11,16),type:"time",variant:"solo","bg-color":"white",label:"Koniec"},null,8,["value"])])])))),128)):((0,m.wg)(),(0,m.iD)("div",ce,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.timeblocks,((e,t)=>((0,m.wg)(),(0,m.j4)(d,{key:t,onUpdateTimeblock:e=>o.updateTimeblock(e,t),onRemoveTimeblock:e=>o.removeTimeblock(t),timeblock:e,deletable:t>0,editable:"",ref_for:!0,ref:`timetable-${t}`},null,8,["onUpdateTimeblock","onRemoveTimeblock","timeblock","deletable"])))),128)),(0,m._)("div",me,[(0,m._)("button",{onClick:t[12]||(t[12]=e=>n.timeblocks.push({date:null,starts_at_time:null,ends_at_time:null}))}," Pridať časový blok ")])])),(0,m._)("div",pe,[(0,m.Wm)(u,{ref:"description",modelValue:n.subtask.description,"onUpdate:modelValue":t[13]||(t[13]=e=>n.subtask.description=e),placeholder:"Popis",theme:"snow",class:"rich-text-editor",onInput:t[14]||(t[14]=e=>n.subtask.description=e.srcElement.innerHTML)},null,8,["modelValue"])]),(0,m.Wm)(c,{class:"mt-15 files",files:n.subtask.files,onFilesUploaded:o.filesUploaded,"is-saving":n.isSaving},null,8,["files","onFilesUploaded","is-saving"])])),_:1}),n.isSaving?((0,m.wg)(),(0,m.j4)(f.T,{key:1,class:"button primary disabled",disabled:""},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(e.$t("Ukladám...")),1)])),_:1})):((0,m.wg)(),(0,m.j4)(f.T,{key:0,class:"button primary",onClick:t[15]||(t[15]=e=>o.save())},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(n.subtask.id?"UPRAVIŤ":"VYTVORIŤ"),1)])),_:1}))])),_:1})):((0,m.wg)(),(0,m.j4)(g._,{key:1,height:"100%",class:"d-flex flex-column scrolling"},{default:(0,m.w5)((()=>[(0,m._)("div",ve,[(0,m._)("div",null,[(0,m._)("p",null,(0,k.zw)(n.subtask._master_task.project_code),1),(0,m._)("h1",null,(0,k.zw)(n.subtask._master_task.name),1)]),(0,m.Wm)(w.t,{onClick:t[16]||(t[16]=(0,a.iM)((e=>o.closeModal()),["stop"])),icon:"mdi-close",size:"large",class:"pb-5"})]),(0,m._)("div",ke,[(0,m._)("h1",null,(0,k.zw)(n.subtask.title),1),(0,m._)("div",fe,[(0,m._)("img",{class:"icon",src:s(60666),alt:"pencil-icon",onClick:t[17]||(t[17]=(0,a.iM)(((...e)=>o.toggleEditMode&&o.toggleEditMode(...e)),["stop"]))},null,8,ge),(0,m._)("img",{class:"icon trash",src:s(27484),alt:"trash-icon",onClick:t[18]||(t[18]=(0,a.iM)((e=>o.openDeleteTaskModal(n.subtask)),["stop"]))},null,8,be)])]),(0,m.Wm)(b.h,{class:"d-flex flex-column modal-content"},{default:(0,m.w5)((()=>[(0,m._)("div",_e,[(0,m.Wm)(h,{subtask:n.subtask,onCloseModal:o.closeModal,onUpdateSubtask:o.updateSubtask},null,8,["subtask","onCloseModal","onUpdateSubtask"]),(0,m._)("div",we,[n.subtask.is_finished?((0,m.wg)(),(0,m.j4)(f.T,{key:1,class:"button secondary",onClick:t[20]||(t[20]=(0,a.iM)((e=>o.showCompleteTaskModal()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("Znovu otvoriť")])),_:1})):((0,m.wg)(),(0,m.j4)(f.T,{key:0,class:"done-btn",onClick:t[19]||(t[19]=(0,a.iM)((e=>o.showCompleteTaskModal()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("Dokončiť")])),_:1})),(0,m.Wm)(f.T,{class:"button secondary",onClick:t[21]||(t[21]=e=>o.closeModal())},{default:(0,m.w5)((()=>[(0,m.Uk)("Uložiť zmeny")])),_:1})])])])),_:1})])),_:1}))])),_:1},8,["content"])])),_:1},8,["modelValue"])}var De=s(63972),Te=s(87103);const Me={class:"w-100 d-flex align-center"},$e={key:0,class:"m-2 d-flex align-center flex-wrap"},Ce={key:0,class:"d-flex align-center"},je=["src"];function Ee(e,t,i,l,n,o){return(0,m.wg)(),(0,m.iD)("div",Me,[(0,m._)("input",{type:"file",multiple:"",name:"file",id:"fileInput",class:"hidden-input",accept:"*",onChange:t[0]||(t[0]=(...e)=>o.onChange&&o.onChange(...e)),ref:"fileUpload"},null,544),(0,m.Wm)(f.T,{class:"upload-btn",onClick:t[1]||(t[1]=t=>e.$refs.fileUpload.click())},{default:(0,m.w5)((()=>[(0,m.Wm)(w.t,{class:"mx-1",icon:"mdi-cloud-upload-outline"}),(0,m.Uk)("NAHRAŤ ")])),_:1}),n.uploadedFiles?((0,m.wg)(),(0,m.iD)("div",$e,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.uploadedFiles,(e=>((0,m.wg)(),(0,m.iD)("div",{key:e.name,class:"mx-2"},[(0,m.Wm)(Te.v,{class:"mt-2"},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(e.name)+" ",1),(0,m.Wm)(w.t,{class:"mx-1",icon:"mdi-paperclip"}),(0,m._)("p",null,(0,k.zw)((e.size/1048576).toFixed(2))+" MB",1),(0,m.Wm)(w.t,{size:"small",icon:"mdi-close",onClick:(0,a.iM)((t=>o.remove(n.uploadedFiles.indexOf(e))),["stop"])},null,8,["onClick"])])),_:2},1024)])))),128)),i.isSaving?((0,m.wg)(),(0,m.iD)("div",Ce,[i.isSaving?((0,m.wg)(),(0,m.iD)("img",{key:0,class:"gif-loader",src:s(14214),alt:"Loading..."},null,8,je)):(0,m.kq)("",!0)])):(0,m.kq)("",!0)])):(0,m.kq)("",!0)])}var xe={emit:["files-uploaded"],props:{files:{type:Array,default:()=>[]},isSaving:{type:Boolean,required:!1}},data(){return{uploadedFiles:[]}},created(){this.uploadedFiles=this.files},methods:{onChange(){const e=[...this.$refs.fileUpload.files],t=52428800,s=e.filter((e=>e.size>t));s.length>0?this.$toast.error("File is too large. Maximum file size is 50 MB."):(this.uploadedFiles=[...this.uploadedFiles,...e],this.$emit("files-uploaded",this.uploadedFiles),this.$refs.fileUpload.value="")},remove(e){this.uploadedFiles.splice(e,1)}}};const We=(0,$.Z)(xe,[["render",Ee],["__scopeId","data-v-a2a40214"]]);var Se=We,Oe=s(16824),Ve=s(68521),ze=s(74286);const Ae={class:"d-flex align-center"},Ue=(0,m._)("p",{class:"mx-3"},"Trvanie",-1),Ze={key:0,class:"d-flex align-center mb-3"},He=(0,m._)("p",{class:"task-badge rounded-pill"},"Pridať záznam",-1),Fe={class:"d-flex justify-space-between align-center"},Ie=(0,m._)("h1",null,"Pridať dátum",-1),Pe={class:"d-flex justify-space-between align-center"},Le={class:"text-red"},Ne=(0,m._)("br",null,null,-1),Ye={class:"text-black"};function qe(e,t,s,i,l,n){const o=(0,m.up)("Datepicker");return(0,m.wg)(),(0,m.iD)(m.HY,null,[(0,m.Wm)(Oe.o,{"no-gutters":""},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Ae,[(0,m.Wm)(w.t,{icon:"mdi-calendar-week",size:"large"}),Ue])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[n.isOffice365Task?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",Ze,[(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=e=>l.showModal=!0),class:"add-date cursor-pointer mr-2",icon:"mdi-plus",size:"medium"}),He])),((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(s.timeblocks,((e,t)=>((0,m.wg)(),(0,m.iD)("div",{key:e.id,class:"d-flex align-center mb-3"},[n.isOffice365Task?(0,m.kq)("",!0):((0,m.wg)(),(0,m.j4)(w.t,{key:0,onClick:(0,a.iM)((a=>s.subtask.id?n.deleteTimeblock(e):n.deleteTimeblockWithoutId(t)),["stop"]),class:"circle-border cursor-pointer mr-2",icon:"mdi-minus",size:"medium"},null,8,["onClick"])),(0,m._)("p",{class:(0,k.C_)(["task-badge rounded-pill",{"strike-through":e.is_finished}])},(0,k.zw)(l.tmUtils.formatDateTime(e.start))+" - "+(0,k.zw)(l.tmUtils.formatDateTime(e.end)),3),n.isOffice365Task?(0,m.kq)("",!0):(0,m.wy)(((0,m.wg)(),(0,m.j4)(w.t,{key:1,onClick:(0,a.iM)((t=>n.toggleTimeblockIsFinished(e)),["stop"]),class:(0,k.C_)(["circle-border cursor-pointer ml-2",{completed:e.is_finished}]),icon:"mdi-check",size:"medium"},null,8,["onClick","class"])),[[a.F8,s.subtask.id]])])))),128))])),_:1})])),_:1})])),_:1}),(0,m.Wm)(_.B,{"max-width":"750",modelValue:l.showModal,"onUpdate:modelValue":t[6]||(t[6]=e=>l.showModal=e),persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",Fe,[Ie,(0,m.Wm)(w.t,{onClick:t[1]||(t[1]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(b.h,{class:"mt-10 d-flex flex-column modal-content"},{default:(0,m.w5)((()=>[(0,m.Wm)(o,{modelValue:l.form.date,"onUpdate:modelValue":t[2]||(t[2]=e=>l.form.date=e),format:"dd.MM.yyyy",locale:"sk","select-text":"Vybrať","cancel-text":"Zrušiť",placeholder:"Dátum","auto-apply":!0,"enable-time-picker":!1,class:(0,k.C_)(["mb-5 modal-input",{error:l.v$.form.date.$errors.length}])},null,8,["modelValue","class"]),(0,m.Wm)(x.hw,{modelValue:l.form.starts_at_time,"onUpdate:modelValue":t[3]||(t[3]=e=>l.form.starts_at_time=e),type:"time",variant:"solo","bg-color":"white",hint:l.v$.form.starts_at_time.$errors?l.errorUtils.parseErrors(l.v$.form.starts_at_time.$errors):null,class:(0,k.C_)([{error:l.v$.form.starts_at_time.$errors.length},"mb-1 modal-input"]),label:"Začiatok"},null,8,["modelValue","hint","class"]),(0,m.Wm)(x.hw,{modelValue:l.form.ends_at_time,"onUpdate:modelValue":t[4]||(t[4]=e=>l.form.ends_at_time=e),type:"time",variant:"solo","bg-color":"white",hint:l.v$.form.ends_at_time.$errors?l.errorUtils.parseErrors(l.v$.form.ends_at_time.$errors):null,class:(0,k.C_)([{error:l.v$.form.ends_at_time.$errors.length},"modal-input"]),label:"Koniec"},null,8,["modelValue","hint","class"])])),_:1}),(0,m.Wm)(f.T,{onClick:t[5]||(t[5]=e=>n.submit()),class:"button primary mt-5"},{default:(0,m.w5)((()=>[(0,m.Uk)("Potvrdiť")])),_:1})])),_:1})])),_:1},8,["modelValue"]),(0,m.Wm)(_.B,{modelValue:l.visible,"onUpdate:modelValue":t[10]||(t[10]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",Pe,[(0,m._)("h1",Le,[(0,m.Uk)("Ste si istý, že chcete pridať timeblock po deadline "),Ne,(0,m.Uk)(),(0,m._)("b",Ye,"z mastertasku "+(0,k.zw)(s.subtask?.project_code)+" ?",1)]),(0,m.Wm)(w.t,{onClick:t[7]||(t[7]=(0,a.iM)((e=>l.visible=!1),["stop"])),icon:"mdi-close",size:"large",class:"mb-15"})]),(0,m.Wm)(b.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half",variant:"flat",onClick:t[8]||(t[8]=(0,a.iM)((e=>n.confirmSubmit()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ÁNO")])),_:1}),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[9]||(t[9]=(0,a.iM)((e=>l.visible=!1),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ZRUŠIŤ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])],64)}var Be=s(36797),Re=s.n(Be),Ke=s(15941),Je={mixins:[T],emits:["update-subtask"],components:{Datepicker:De.Z},props:{timeblocks:{type:Array,required:!0},subtask:{type:Object,required:!0}},data(){return{v$:(0,O.ZP)(),errorUtils:z.Z,tmUtils:A.Z,showModal:!1,visible:!1,form:{date:null,starts_at_time:"09:00",ends_at_time:"16:00"}}},validations(){return{form:{date:{required:V.C1},starts_at_time:{required:V.C1},ends_at_time:{required:V.C1}}}},computed:{...(0,U.Se)("tm",["mastertasks"]),isOffice365Task(){return"office365"==this.subtask.type}},methods:{async submit(){if(!await this.v$.$validate())return;const e=JSON.parse(JSON.stringify(this.subtask)),t=this.form.starts_at_time.split(":"),s=this.form.ends_at_time.split(":"),a=Re()(this.form.date).hours(parseInt(t[0])).minutes(parseInt(t[1])).toISOString(),i=Re()(this.form.date).hours(parseInt(s[0])).minutes(parseInt(s[1])).toISOString();e?.timeblocks||(e.timeblocks=[]),e?.timesheets||(e.timesheets=[]),e?.is_finished||(e.is_finished=0),e.timeblocks.push({end:A.Z.formatDateTimeForBackend(i),id:null,is_finished:0,start:A.Z.formatDateTimeForBackend(a)}),e.deadline&&(e.deadline=A.Z.formatDateTimeForBackend(this._mergeDeadlineTimeDate()));const l=this.isAfterDeadline();l?this.visible=!0:e.id?this._update(e):this.$emit("update-unfinished-subtask",e)},async confirmSubmit(){const e=JSON.parse(JSON.stringify(this.subtask)),t=this.form.starts_at_time.split(":"),s=this.form.ends_at_time.split(":"),a=Re()(this.form.date).hours(parseInt(t[0])).minutes(parseInt(t[1])).toISOString(),i=Re()(this.form.date).hours(parseInt(s[0])).minutes(parseInt(s[1])).toISOString();if(e?.timeblocks||(e.timeblocks=[]),e?.timesheets||(e.timesheets=[]),e?.is_finished||(e.is_finished=0),e.timeblocks.push({end:A.Z.formatDateTimeForBackend(i),id:null,is_finished:0,start:A.Z.formatDateTimeForBackend(a)}),e.deadline&&(e.deadline=A.Z.formatDateTimeForBackend(this._mergeDeadlineTimeDate())),!e.id)return this.$emit("update-unfinished-subtask",e),void this.closeModal();this.visible=!1,this._update(e)},async toggleTimeblockIsFinished(e){Ke.log("toggleTimeblockIsFinished 5",this.subtask);const t=JSON.parse(JSON.stringify(this.subtask)),s=JSON.parse(JSON.stringify(e));s.is_finished=1==s.is_finished?0:1;try{const{data:e}=await this.$axios.put_auth(`v1/timeblocks/${s.id}`,s);t.timeblocks=t.timeblocks.map((t=>t.id==e.id?e:t)),this.$events.emit("on-subtask-edited",t),this.$emit("update-subtask",t),s.is_finished&&this.$events.emit("show-task-add-time-modal",{subtask:t})}catch(a){this.$toast.error(a.message||a)}},async deleteTimeblock({id:e}){const t=JSON.parse(JSON.stringify(this.subtask));t.timeblocks=t.timeblocks.filter((t=>t.id!=e)),t.deadline&&(t.deadline=A.Z.formatDateTimeForBackend(this._mergeDeadlineTimeDate())),this._update(t)},deleteTimeblockWithoutId(e){this.$emit("delete-timeblock")},async _update(e){try{const t=e.timesheets.map((e=>(delete e.employee_name,e))),{subtask:s}=await this.$axios.put_auth(`v1/subtasks/${e.id}`,{...e,timesheets:t});this.closeModal(),this.$events.emit("on-subtask-edited",s)}catch(t){this.$toast.error(t.message||t)}},isAfterDeadline(){const e=this.getDeadline(this.subtask);if(!e)return;const t=Re()(this.form.date),s=Re()(e),[a,i]=this.form.ends_at_time.split(":").map(Number);return t.hours(a),t.minutes(i),t.isAfter(s)},getDeadline(e){return e?.deadline?e.deadline:e.master_task_deadline},_mergeDeadlineTimeDate(){const e=new Date(this.subtask.deadline),t=this.subtask._deadline_time.split(":");return e.setHours(parseInt(t[0])),e.setMinutes(parseInt(t[1])),e},closeModal(){this.form={date:null,starts_at_time:"09:00",ends_at_time:"16:00"},this.showModal=!1,this.$nextTick((()=>this.v$.$reset()))}}};const Ge=(0,$.Z)(Je,[["render",qe]]);var Xe=Ge,Qe={data(){return{preventInputFocus:!1}},methods:{setFocusEvent(){document.querySelectorAll(".v-autocomplete input").forEach((e=>{e.addEventListener("focus",this.onInputFocus)}))},onDateFocus(e){void 0==e&&(this.preventInputFocus=!0)},onInputFocus(e){this.preventInputFocus&&(e.target.blur(),this.preventInputFocus=!1)}}},et={computed:{employeesOptions(){const e=[...this.mastertask.employees].map((e=>e.id));return this.enrichedEmployees.filter((t=>!e.includes(t.id)))||[]},projectsOptions(){const e=/[^a-zA-Z0-9 ]/g,t=this.projectCodeSearch?this.projectCodeSearch.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(e,""):"",s=this.projects.filter((s=>{const a=s.code.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(e,"");return a.toLowerCase().includes(t.toLowerCase())}));let a=s?.length?s.slice(0,10):this.projects.slice(0,10);if(!this.mastertask?.project_id)return a;const i=this.projects.find((e=>e.id==this.mastertask?.project_id));return a=a.filter((e=>e.id!=i.id)),[...a,i]}},methods:{onEmployeeSelected(e){const t=this.enrichedEmployees.find((t=>t.id==e));this.mastertask.employees.push(t),this.showAddEmployeeInput=!1},onEmployeeDurationChanged(){let e=0;this.mastertask.employees=this.mastertask.employees.map((t=>("string"==typeof t.duration?(e+=parseFloat(t.duration),t.duration=parseFloat(t.duration),t.invalid=!1):"number"==typeof t.duration&&(e+=t.duration,t.invalid=!1),t))),this.mastertask.duration=e}},watch:{"mastertask.team_id"(e){if(!e)return;const t=this.teams.find((t=>t.id==e));t&&(this.mastertask.team=JSON.parse(JSON.stringify(t)),this.mastertask.employees=[...this.mastertask.team.employees])}}},tt=s(66154);function st(e,t,s,a,i,l){const n=(0,m.up)("A-mastertask-name"),o=(0,m.up)("A-mastertask-status"),r=(0,m.up)("A-task-deadline"),d=(0,m.up)("A-task-timeblocks"),u=(0,m.up)("Z-created-by"),c=(0,m.up)("A-task-assigned-employee"),h=(0,m.up)("A-task-planned-time"),p=(0,m.up)("A-task-remaining-time"),v=(0,m.up)("A-task-spent-time"),k=(0,m.up)("A-task-description"),f=(0,m.up)("Z-files");return(0,m.wg)(),(0,m.iD)(m.HY,null,[(0,m.Wm)(n,{name:s.subtask._master_task.name,id:s.subtask.master_task_id,color:s.subtask._master_task.color,onCloseModal:t[0]||(t[0]=t=>e.$emit("close-modal"))},null,8,["name","id","color"]),(0,m.Wm)(o,{isFinished:s.subtask.is_finished},null,8,["isFinished"]),(0,m.Wm)(r,{subtask:s.subtask},null,8,["subtask"]),(0,m.Wm)(d,{timeblocks:s.subtask.timeblocks,subtask:s.subtask,onUpdateSubtask:t[1]||(t[1]=t=>e.$emit("update-subtask",t))},null,8,["timeblocks","subtask"]),(0,m.Wm)(u,{"employee-id":s.subtask.created_by},null,8,["employee-id"]),(0,m.Wm)(c,{employee:s.subtask._employee},null,8,["employee"]),(0,m.Wm)(h,{hours:s.subtask.duration},null,8,["hours"]),(0,m.Wm)(p,{hours:s.subtask.duration-s.subtask.spent_time},null,8,["hours"]),(0,m.Wm)(v,{hours:s.subtask.spent_time,subtask:s.subtask},null,8,["hours","subtask"]),(0,m.Wm)(k,{description:s.subtask.description,"mastertask-description":s.subtask.master_task_description},null,8,["description","mastertask-description"]),(0,m.Wm)(f,{files:s.subtask.files},null,8,["files"])],64)}const at={class:"d-flex align-center"},it=(0,m._)("p",{class:"mx-3"},"Mastertask",-1);function lt(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",at,[(0,m.Wm)(w.t,{icon:"mdi-link",size:"large"}),it])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",{class:"task-badge px-4 py-2 rounded-pill hover",onClick:t[0]||(t[0]=e=>l.openMastertask()),style:(0,k.j5)({backgroundColor:s.color})},(0,k.zw)(s.name),5)])),_:1})])),_:1})])),_:1})}var nt={emits:["close-modal"],props:{name:{type:String,required:!0},id:{type:Number,required:!0},color:{type:String,required:!0}},methods:{openMastertask(){this.$emit("close-modal"),this.$events.emit("show-mastertask-modal",{mastertask:{id:this.id},editMode:!1})}}};const ot=(0,$.Z)(nt,[["render",lt]]);var rt=ot;const dt={class:"d-flex align-center"},ut=(0,m._)("p",{class:"mx-3"},"Status",-1),ct={key:0,class:"status-badge px-4 py-2 rounded-pill"},mt={key:1,class:"status-badge px-4 py-2 rounded-pill"};function ht(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",dt,[(0,m.Wm)(w.t,{icon:"mdi-drag-vertical",size:"large"}),ut])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[s.isFinished?((0,m.wg)(),(0,m.iD)("p",ct,"Ukončený")):((0,m.wg)(),(0,m.iD)("p",mt,"Neukončený"))])),_:1})])),_:1})])),_:1})}var pt={props:{isFinished:{type:Number,default:()=>0}}};const vt=(0,$.Z)(pt,[["render",ht]]);var kt=vt;const ft={class:"d-flex align-center"},gt=(0,m._)("p",{class:"mx-3"},"Vytvoril",-1),bt={class:"employee-selected-avatar d-flex justify-center align-center"},_t={class:"ml-2"};function wt(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",ft,[(0,m.Wm)(w.t,{icon:"mdi-account-star-outline",size:"large"}),gt])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3 d-flex align-center"},{default:(0,m.w5)((()=>[(0,m._)("p",bt,(0,k.zw)(l.employee?l.employee._initials:"?"),1),(0,m._)("p",_t,(0,k.zw)(l.employee?l.employee._fullName:e.$t("Unasigned")),1)])),_:1})])),_:1})])),_:1})}var yt={props:{employeeId:{type:[Number],required:!1}},computed:{...(0,U.Se)("tm",["enrichedEmployees"]),employee(){return this.enrichedEmployees.find((e=>e.id==this.employeeId))}}};const Dt=(0,$.Z)(yt,[["render",wt]]);var Tt=Dt;const Mt={class:"d-flex align-center"},$t=(0,m._)("p",{class:"mx-3"},"Priradený",-1),Ct={class:"employee-selected-avatar d-flex justify-center align-center"},jt=["innerHTML"];function Et(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Mt,[(0,m.Wm)(w.t,{icon:"mdi-account-outline",size:"large"}),$t])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3 d-flex align-center"},{default:(0,m.w5)((()=>[(0,m._)("p",Ct,(0,k.zw)(s.employee.name.charAt(0)+s.employee.surname.charAt(0)),1),(0,m._)("p",{class:"ml-2",innerHTML:`${s.employee.name} ${s.employee.surname}`},null,8,jt)])),_:1})])),_:1})])),_:1})}var xt={props:{employee:{type:Object,required:!0}}};const Wt=(0,$.Z)(xt,[["render",Et]]);var St=Wt;const Ot={class:"d-flex align-center"},Vt=(0,m._)("p",{class:"mx-3"},"Naplánovaný čas",-1);function zt(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Ot,[(0,m.Wm)(w.t,{icon:"mdi-clock-time-three-outline",size:"large"}),Vt])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",null,(0,k.zw)(s.hours)+" h",1)])),_:1})])),_:1})])),_:1})}var At={props:{hours:{type:Number,required:!0}}};const Ut=(0,$.Z)(At,[["render",zt]]);var Zt=Ut;const Ht=e=>((0,m.dD)("data-v-f216d188"),e=e(),(0,m.Cn)(),e),Ft={class:"d-flex align-center"},It=Ht((()=>(0,m._)("p",{class:"mx-3"},"Odpracovaný čas",-1))),Pt={class:"d-flex align-center mb-3"},Lt=Ht((()=>(0,m._)("p",{class:"task-badge rounded-pill"},"Pridať záznam",-1))),Nt={class:"d-flex align-center flex-start width-100"},Yt={class:"task-badge rounded-pill"},qt={class:"ml-5"},Bt={class:"d-flex justify-space-between align-center"},Rt=Ht((()=>(0,m._)("h1",null,"Pridať odpracovaný čas",-1)));function Kt(e,t,s,i,l,n){return(0,m.wg)(),(0,m.iD)(m.HY,null,[(0,m.Wm)(Oe.o,{"no-gutters":""},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Ft,[(0,m.Wm)(w.t,{icon:"mdi-clock-time-three-outline",size:"large"}),It])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",null,(0,k.zw)(s.hours)+" h",1)])),_:1}),(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Pt,[(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=e=>l.showModal=!0),class:"add-date cursor-pointer mr-2",icon:"mdi-plus",size:"medium"}),Lt]),s.subtask.timesheets.length?((0,m.wg)(!0),(0,m.iD)(m.HY,{key:0},(0,m.Ko)(s.subtask.timesheets,(e=>((0,m.wg)(),(0,m.iD)("div",{key:e.id,class:"d-flex align-center mb-3"},[(0,m.Wm)(w.t,{onClick:(0,a.iM)((t=>n.deleteTimesheet(e)),["stop"]),class:"circle-border cursor-pointer mr-2",icon:"mdi-minus",size:"medium"},null,8,["onClick"]),(0,m._)("div",Nt,[(0,m._)("p",Yt,(0,k.zw)(e.time),1),(0,m._)("p",qt,(0,k.zw)(e.employee_name)+" ("+(0,k.zw)(e.timestamp)+")",1)])])))),128)):(0,m.kq)("",!0)])),_:1})])),_:1})])),_:1}),(0,m.Wm)(_.B,{"max-width":"750",modelValue:l.showModal,"onUpdate:modelValue":t[4]||(t[4]=e=>l.showModal=e),persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",Bt,[Rt,(0,m.Wm)(w.t,{onClick:t[1]||(t[1]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(b.h,{class:"mt-10 d-flex justify-start align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(x.hw,{modelValue:l.form.hours,"onUpdate:modelValue":t[2]||(t[2]=e=>l.form.hours=e),variant:"solo","bg-color":"white",type:"number",hint:l.v$.form.hours.$errors?l.errorUtils.parseErrors(l.v$.form.hours.$errors):null,class:(0,k.C_)([{error:l.v$.form.hours.$errors.length},"mb-2"]),label:"Odpracovaný čas"},null,8,["modelValue","hint","class"])])),_:1}),(0,m.Wm)(f.T,{onClick:t[3]||(t[3]=e=>n.submit()),class:"button primary mt-5"},{default:(0,m.w5)((()=>[(0,m.Uk)("Potvrdiť")])),_:1})])),_:1})])),_:1},8,["modelValue"])],64)}var Jt=s(15941),Gt={mixins:[T],props:{hours:{type:Number,required:!0},subtask:{type:Object,required:!0}},data(){return{moment:Re(),v$:(0,O.ZP)(),errorUtils:z.Z,showModal:!1,form:{hours:null}}},validations(){return{form:{hours:{required:V.C1,numeric:V.uR,minValue:(0,V.uv)(.1)}}}},computed:{...(0,U.Se)("auth",["user"])},methods:{async submit(){if(!await this.v$.$validate())return;const e=JSON.parse(JSON.stringify(this.subtask));e.timesheets.push({id:null,employee_id:this.user.id,time:"string"==typeof this.form.hours?parseFloat(this.form.hours):this.form.hours}),e.deadline&&(e.deadline=A.Z.formatDateTimeForBackend(this._mergeDeadlineTimeDate())),this._update(e)},async deleteTimesheet({id:e}){const t=JSON.parse(JSON.stringify(this.subtask));t.timesheets=t.timesheets.filter((t=>t.id!=e)),t.deadline&&(t.deadline=A.Z.formatDateTimeForBackend(this._mergeDeadlineTimeDate())),this._update(t)},closeModal(){this.form={hours:null},this.showModal=!1,this.$nextTick((()=>this.v$.$reset()))},async _update(e){try{e.timesheets=e.timesheets.map((e=>(delete e.employee_name,e)));const{subtask:t}=await this.$axios.put_auth(`v1/subtasks/${e.id}`,e);this.closeModal(),this.$events.emit("on-subtask-edited",t)}catch(t){this.$toast.error(t.message||t)}},_mergeDeadlineTimeDate(){const e=new Date(this.subtask.deadline);Jt.log("a-task-spent-time",this.subtask);const t=this.subtask._deadline_time.split(":");return e.setHours(parseInt(t[0])),e.setMinutes(parseInt(t[1])),e}}};const Xt=(0,$.Z)(Gt,[["render",Kt],["__scopeId","data-v-f216d188"]]);var Qt=Xt;const es={class:"d-flex align-center"},ts=(0,m._)("p",{class:"mx-3"},"Zostávajúci čas",-1);function ss(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center border-bottom"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",es,[(0,m.Wm)(w.t,{icon:"mdi-clock-time-three-outline",size:"large"}),ts])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",null,(0,k.zw)(s.hours.toFixed(2))+" h",1)])),_:1})])),_:1})])),_:1})}var as={props:{hours:{type:Number,required:!0}}};const is=(0,$.Z)(as,[["render",ss]]);var ls=is,ns=s(80678);const os={class:"d-flex align-center"},rs=(0,m._)("p",{class:"mx-3"},"Deadline",-1);function ds(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",os,[(0,m.Wm)(w.t,{icon:"mdi-calendar-week",size:"large"}),rs])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[s.subtask.deadline?((0,m.wg)(),(0,m.iD)("p",{key:0,class:(0,k.C_)(""+(i.tmUtils.isAfter(s.subtask.deadline)?"text-black":"text-red-darken-4"))},(0,k.zw)(i.tmUtils.formatDate(s.subtask.deadline))+" "+(0,k.zw)(l.deadlineTime),3)):((0,m.wg)(),(0,m.j4)(ns.N,{key:1,text:"Deadline z Mastertasku",location:"end"},{activator:(0,m.w5)((({props:e})=>[(0,m._)("span",(0,m.dG)({class:"cursor-pointer"},e),(0,k.zw)(l.getMasterTaskDeadline(s.subtask))+"*",17)])),_:1}))])),_:1})])),_:1})])),_:1})}var us={props:{subtask:{type:[String,Object,null],required:!0}},computed:{...(0,U.Se)("tm",["mastertasks"]),deadlineTime(){const e=this.subtask?._deadline_time;return e?Re()(e,"HH:mm:ss").format("HH:mm"):""}},data(){return{tmUtils:A.Z}},methods:{getMasterTaskDeadline(e){return e?.deadline?e.deadline:e.master_task_deadline}}};const cs=(0,$.Z)(us,[["render",ds]]);var ms=cs;const hs={key:0,class:"px-5 py-5 border-bottom"},ps=(0,m._)("p",null,"Popis zadania",-1),vs=["innerHTML"],ks={key:1,class:"px-5 py-5 border-bottom"},fs=(0,m._)("p",null,"Popis mastertasku",-1),gs=["innerHTML"];function bs(e,t,s,a,i,l){return(0,m.wg)(),(0,m.iD)(m.HY,null,[s.description?((0,m.wg)(),(0,m.iD)("div",hs,[ps,(0,m._)("section",{innerHTML:i.preparedDescription,class:"description-detail px-2 py-2 w-100 rounded mt-2"},null,8,vs)])):(0,m.kq)("",!0),s.mastertaskDescription?((0,m.wg)(),(0,m.iD)("div",ks,[fs,(0,m._)("section",{innerHTML:i.preparedMastertaskDescription,class:"description-detail px-2 py-2 w-100 rounded mt-2"},null,8,gs)])):(0,m.kq)("",!0)],64)}var _s=s(46215),ws=s.n(_s);const ys=(0,_s.useToast)();function Ds(){const e=window.navigator.platform,t=["Macintosh","MacIntel","MacPPC","Mac68K"],s=["Win32","Win64","Windows","WinCE"];return-1!==t.indexOf(e)?"mac":(s.indexOf(e),"win")}function Ts(e){if(!e)return e;const t=Ds();return"mac"===t?(e=e.replace(/\\\\/g,"smb://"),e=e=e.replace(/(smb:\/\/[^\s<>"()]+)/g,(function(e){return''+e.replace(/\\/g,"/")+""}))):(e=e.replace(/smb:\/\//g,"\\\\"),e=e.replace(/(\\\\[^\s<>"()]+)/g,(function(e){return e=e.replaceAll("/","\\"),''+e+""}))),e}function Ms(e){return`\n\t\tif (navigator.clipboard && navigator.clipboard.writeText) {\n\t\t\tnavigator.clipboard.writeText('${e.replace(/\\/g,"\\\\")}').then(() => {\n\t\t\t\twindow.toast.success('Link copied to clipboard!')\n\t\t\t}).catch(err => {\n\t\t\t\twindow.toast.error('Failed to copy link to clipboard!')\n\t\t\t});\n\t\t} else {\n\t\t\tconst input = document.createElement('input');\n\t\t\tinput.style.position = 'fixed';\n\t\t\tinput.style.opacity = 0;\n\t\t\tinput.style.pointerEvents = 'none';\n\t\t\tinput.value = '${e.replace(/\\/g,"\\\\")}';\n\t\t\tdocument.body.appendChild(input);\n\t\t\tinput.select();\n\t\t\tinput.focus();\n\t\t\tdocument.execCommand('copy');\n\t\t\tdocument.body.removeChild(input);\n\t\t\twindow.toast.success('Link copied to clipboard!')\n\t\t}\n\t`}window.toast=ys;var $s={props:{description:{type:String||null,default:()=>null},mastertaskDescription:{type:String||null,default:()=>null}},data(){return{copiedIndices:[],preparedDescription:"",preparedMastertaskDescription:""}},mounted(){this.preparedDescription=Ts(this.description),this.preparedMastertaskDescription=Ts(this.mastertaskDescription)}};const Cs=(0,$.Z)($s,[["render",bs]]);var js=Cs;const Es=e=>((0,m.dD)("data-v-f01fa1ac"),e=e(),(0,m.Cn)(),e),xs=Es((()=>(0,m._)("p",{class:"mt-5"},"Prílohy",-1))),Ws={class:"w-100 d-flex align-center"},Ss=["onClick"],Os={key:0,class:"d-flex align-center"},Vs=["src"],zs=Es((()=>(0,m._)("p",{class:"ml-2"},"Súbor sa sťahuje, počkajte prosím",-1)));function As(e,t,a,i,l,n){const o=(0,m.up)("W-loadable");return(0,m.wg)(),(0,m.iD)(m.HY,null,[xs,(0,m._)("div",Ws,[(0,m.Wm)(o,{content:a.files,emptyMessage:"Žiadne prílohy neboli nahraté"},{default:(0,m.w5)((()=>[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(a.files,((e,t)=>((0,m.wg)(),(0,m.iD)("div",{key:e.id,class:(0,k.C_)(["d-flex align-center flex-wrap",[0===t?"ml-0":"ml-2"]])},[(0,m.Wm)(Te.v,{class:"mt-2"},{default:(0,m.w5)((()=>[(0,m._)("p",{onClick:t=>n.downloadFile(e),class:"cursor-pointer"},(0,k.zw)(e.name),9,Ss),(0,m.Wm)(w.t,{class:"mx-1",icon:"mdi-paperclip"}),(0,m._)("p",null,(0,k.zw)((e.file_size/1048576).toFixed(2))+" MB",1)])),_:2},1024),e.isLoading?((0,m.wg)(),(0,m.iD)("div",Os,[(0,m._)("img",{class:"gif-loader",src:s(14214),alt:"Loading..."},null,8,Vs),zs])):(0,m.kq)("",!0)],2)))),128))])),_:1},8,["content"])])],64)}var Us={props:{files:{type:Array,default:()=>[]}},data(){return{isLoading:!1}},methods:{async downloadFile(e){e.isLoading=!0;try{const t=await fetch(e.path),s=await t.blob();tt.saveAs(s,e.name)}catch(t){this.$toast.error(this.$parseError(t))}finally{e.isLoading=!1}}}};const Zs=(0,$.Z)(Us,[["render",As],["__scopeId","data-v-f01fa1ac"]]);var Hs=Zs,Fs={emits:["close-modal","update-subtask"],components:{ZFiles:Hs,AMastertaskName:rt,AMastertaskStatus:kt,ATaskTimeblocks:Xe,ZCreatedBy:Tt,ATaskAssignedEmployee:St,ATaskPlannedTime:Zt,ATaskSpentTime:Qt,ATaskRemainingTime:ls,ATaskDescription:js,ATaskDeadline:ms},props:{subtask:{type:Object,required:!0}}};const Is=(0,$.Z)(Fs,[["render",st]]);var Ps=Is;const Ls={class:"timeblock w-100"},Ns={key:0,class:"x-button"},Ys={class:"splitted-time-inputs"};function qs(e,t,s,a,i,l){const n=(0,m.up)("Datepicker");return(0,m.wg)(),(0,m.iD)("div",Ls,[s.deletable&&s.editable?((0,m.wg)(),(0,m.iD)("div",Ns,[(0,m._)("button",{onClick:t[0]||(t[0]=t=>e.$emit("removeTimeblock")),class:"x-button"},"x")])):(0,m.kq)("",!0),(0,m._)("div",{onClick:t[1]||(t[1]=e=>l.openDatepicker("datepicker")),class:"datepicker-wrapper",ref:"datepicker-wrapper"},[(0,m.Wm)(n,{"model-value":s.timeblock.date,ref:"datepicker",onFocus:e.onDateFocus,"onUpdate:modelValue":l.updateDate,format:"dd.MM.yyyy",locale:"sk","select-text":"Vybrať","cancel-text":"Zrušiť",placeholder:"Dátum","auto-apply":!0,"enable-time-picker":!1,class:"mb-5 modal-input datepicker-input"},null,8,["model-value","onFocus","onUpdate:modelValue"])],512),(0,m._)("div",Ys,[(0,m.Wm)(x.hw,{value:s.timeblock.starts_at_time,onInput:l.updateStartTime,onFocus:e.onInputFocus,class:(0,k.C_)({error:i.v$?.timeblock.starts_at_time.$errors.length}),type:"time",variant:"solo","bg-color":"white",label:"Začiatok"},null,8,["value","onInput","onFocus","class"]),(0,m.Wm)(x.hw,{value:s.timeblock.ends_at_time,onInput:l.updateEndTime,onFocus:e.onInputFocus,class:(0,k.C_)({error:i.v$?.timeblock.ends_at_time.$errors.length}),type:"time",variant:"solo","bg-color":"white",label:"Koniec"},null,8,["value","onInput","onFocus","class"])])])}var Bs={mixins:[Qe],components:{Datepicker:De.Z},props:{timeblock:{type:Object,required:!0},deletable:{type:Boolean,default:!1},editable:{type:Boolean,default:!1}},data(){return{v$:(0,O.ZP)()}},validations(){return{timeblock:{starts_at_time:{required:(0,V.CF)(this.timeblock.date)},ends_at_time:{required:(0,V.CF)(this.timeblock.date)}}}},methods:{async openDatepicker(e){this.$refs[e].openMenu(),this.$nextTick((()=>{this.$refs["datepicker-wrapper"].scrollIntoView({behavior:"instant",block:"center",inline:"center"}),this.$nextTick((()=>{const e=document.querySelector(".dp__menu.dp__menu_index"),t=e.querySelector(".dp__arrow_bottom"),s=t?0-e.clientHeight-42:35;e.style.top=window.innerHeight/2+s+"px"}))}))},updateDate(e){const t={...this.timeblock};e&&(t.date=e),this.$emit("updateTimeblock",t)},updateStartTime(e){const t={...this.timeblock};t.starts_at_time=e.target.value,this.$emit("updateTimeblock",t)},updateEndTime(e){const t={...this.timeblock};t.ends_at_time=e.target.value,this.$emit("updateTimeblock",t)}}};const Rs=(0,$.Z)(Bs,[["render",qs],["__scopeId","data-v-031787aa"]]);var Ks=Rs,Js=s(15941),Gs={emits:["close","refresh"],mixins:[Qe,et,Z.Z,T],components:{ZTaskReadonlyInfo:Ps,ATimeblock:Ks,ZFilesUpload:Se,Datepicker:De.Z,QuillEditor:r.Bn},data(){return{tmUtils:A.Z,editMode:!1,visible:!1,subtask:null,isSaving:!1,errorUtils:z.Z,v$:(0,O.ZP)(),employeeValidations:[],showDatePicker:!1,selectedNewDate:[],timeblocks:[{date:null,starts_at_time:null,ends_at_time:null}],wasFormValidationTriggered:!1}},computed:{...(0,U.Se)("tm",["mastertasks","enrichedEmployees"])},validations(){return{subtask:{master_task_id:{required:V.C1},deadline:{required:V.C1},_deadline_time:{required:V.C1}}}},mounted(){this.$events.on("add-timeblock",(e=>{this.subtask?.timeblocks||(this.subtask.timeblocks=[]),this.subtask?.timesheets||(this.subtask.timesheets=[]),this.subtask?.is_finished||(this.subtask.is_finished=0),this.subtask.timeblocks.push(e)})),this.$events.on("on-subtask-edited",(e=>{if(e?.id!==this.subtask?.id)return;const t=JSON.parse(JSON.stringify(e)),s=t.deadline?.split(" ")||[];t.deadline=s[0],t._deadline_time=s[1],this.subtask=this._enrichTask(t),Js.log("2",this.subtask),this.$forceUpdate()})),this.$events.on("on-subtask-deleted",(e=>{e?.id==this.subtask?.id&&this.closeModal()}))},methods:{toggleEditMode(){if("office365"==this.subtask.type)return this.$events.emit("show-unable-to-edit-office-task-modal",{mode:"edit"});this.editMode=!this.editMode},openDatepicker(e){this.$refs[e].openMenu()},updateTimeblock(e,t){this.timeblocks[t]=e},removeTimeblock(e){this.timeblocks.splice(e,1)},async showModal({subtask:e,editMode:t=!1,mastertask:s={}}){this.isSaving=!1,this.subtask=null,this.visible=!0,this.timeblocks=[{date:null,starts_at_time:null,ends_at_time:null}],this.$nextTick((()=>{this.v$.$reset(),this.setFocusEvent()}));try{if(e?.id){const s=await this.$axios.get_auth_data(`v1/subtasks/${e.id}`);if(!s.deadline)return this.editMode=t||!s.id,this.subtask=this._enrichTask(s);const a=s.deadline.split(" ");s.deadline=a[0],s._deadline_time=a[1],this.subtask=this._enrichTask(s)}else{const t=localStorage.getItem("subtaskData");try{if(!t)throw new Error("subtaskData is null or undefined");{const e=JSON.parse(t);if(this.subtask=e,"object"!==typeof this.subtask||null===this.subtask)throw new Error("Parsed subtask is not an object");this.$nextTick((()=>{this.$refs["description"]?.setHTML(this.subtask.description||"")}))}}catch(a){Js.error("Error parsing subtaskData:",a),this.subtask={master_task:s,employees:[{}],_deadline_time:"17:00"}}if(e?.deadline&&e._deadline_time&&e.employee_id){const t=this.enrichedEmployees.find((t=>t.id==e.employee_id));this.subtask.employees=[t],this.subtask.deadline=e.deadline,this.subtask._deadline_time=e._deadline_time}e?.master_task_id&&e?.project_code&&(this.subtask.master_task_id=e.master_task_id,this.subtask.project_code=e.project_code)}this.editMode=t||!this.subtask.id}catch(a){this.$toast.error(this.$parseError(a))}},deleteTimeblock(e){this.subtask.timeblocks.splice(e,1)},closeModal(){this.visible=!1,this.$router.replace({name:this.$route.name})},async validateAllFields(){const e=await this._validateEmployees(),t=!!this.subtask?.id||await this._validateTimeblocks();if(await this.v$.$validate()&&e&&t)return!0},async handleOnRemoveEmployee(){this.wasFormValidationTriggered&&setTimeout((async()=>{this.validateAllFields()}),100)},async save(){if(this.wasFormValidationTriggered=!0,await this.validateAllFields()){this.subtask.description=this.$refs["description"].getHTML(),this._mergeDeadlineTimeDate();try{if(this.isSaving=!0,this.subtask.deadline=Re()(this.subtask.deadline).format("YYYY-MM-DD HH:mm:SS"),this.subtask?.id){const e=this.subtask.timesheets.map((e=>(delete e.employee_name,e))),{subtask:t}=await this.$axios.patch_auth_form(`v1/subtasks/${this.subtask.id}`,{...this.subtask,timesheets:e});localStorage.removeItem("subtaskData"),this.$store.commit("tm/update_subtask",t),this.$events.emit("on-subtask-edited",this.subtask)}else{const e=this.subtask.employees.filter((e=>e.id&&e.duration));e.forEach((e=>{e.timeblocks=this.timeblocks.filter((e=>e.date)).map((e=>({start:`${Re()(e.date).format("YYYY-MM-DD")} ${e.starts_at_time}:00`,end:`${Re()(e.date).format("YYYY-MM-DD")} ${e.ends_at_time}:00`,id:null})))}));const t={...this.subtask,employees:e};delete t._master_task;const{subtasks:s}=await this.$axios.post_auth(`v1/mastertasks/${this.subtask.master_task_id}/subtasks`,t);localStorage.removeItem("subtaskData"),this.subtask.id=s[0].id,s.forEach((e=>{this.$store.commit("tm/update_subtask",e),this.$events.emit("on-subtask-edited",this.subtask)})),this.$events.emit("task-created"),this.$events.emit("close-both-modals")}this.closeModal()}catch(e){this.$toast.error(this.$parseError(e))}finally{this.isSaving=!1}}},openDeleteTaskModal(e){if("office365"==e.type)return this.$events.emit("show-unable-to-edit-office-task-modal",{mode:"delete"});this.$events.emit("show-delete-task-modal",{subtask:e})},showCompleteTaskModal(){this.$events.emit("show-complete-task-modal",{subtask:this.subtask}),this.subtask.deadline&&(this.subtask.deadline=A.Z.formatDateTimeForBackend(this.subtask.deadline))},filesUploaded(e){this.subtask.files=e},updateSubtask(e){this.subtask=e},_mergeDeadlineTimeDate(){const e=new Date(this.subtask.deadline);Js.log("z-task-modal",this.subtask);const t=this.subtask._deadline_time.split(":");e.setHours(parseInt(t[0])),e.setMinutes(parseInt(t[1])),this.subtask.deadline=e},_validateEmployees(){return new Promise((e=>{if(this.employeeValidations=[],this.subtask.id)this.subtask.employee_id&&this.subtask.duration||(this.employeeValidations[0]={employee:!this.subtask.employee_id,duration:!this.subtask.duration});else{let e=!1;this.subtask.employees.forEach(((t,s)=>{t.id||t.duration?(t.id||t.duration)&&(this.employeeValidations[s]={employee:!t.id,duration:!t.duration},t.id&&t.duration&&(e=!0)):0!==s||e||(this.employeeValidations[s]={employee:!0,duration:!0})}))}const t=this.employeeValidations.some((e=>e.duration||e.employee));e(!t)}))},async _validateTimeblocks(){let e=!1;for(let t=0;tt.id==e.created_by)),_employee:this.enrichedEmployees.find((t=>t.id==e.employee_id)),_master_task:this.mastertasks.find((t=>t.id==e.master_task_id))}}},watch:{"subtask.employee_id"(e,t){e&&t&&(this.subtask.timeblocks=[],this.subtask._employee=this.enrichedEmployees.find((e=>e.id==this.subtask.employee_id)))},"subtask.employees":{handler(){if(!this.subtask?.employees)return;const e=this.subtask.employees[this.subtask.employees.length-1];(e?.id||e?.duration)&&this.subtask.employees.push({})},deep:!0},"subtask.master_task_id"(e){e&&(this.subtask._master_task=this.mastertasks.find((e=>e.id==this.subtask.master_task_id)),this.subtask.project_code=this.subtask._master_task?.project_code||null)},editMode(){this.$nextTick((()=>{this.$refs["description"]?.setHTML(this.subtask.description||"")}))},subtask:{handler(e){if(this.editMode&&!this.subtask?.id){const t=e?.employees?.filter((e=>e?.id||e?.duration))||[{}],s={...e,employees:t&&t.length>0?t:[{}]};Js.log("subtaskData",s),localStorage.setItem("subtaskData",JSON.stringify(s))}},deep:!0}}};const Xs=(0,$.Z)(Gs,[["render",ye],["__scopeId","data-v-5102a689"]]);var Qs=Xs;const ea={class:"d-flex justify-space-between align-center"};function ta(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(_.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",ea,[(0,m._)("h1",null,[(0,m.Uk)("Ste si istý, že chcete zmazať "),(0,m._)("b",null,(0,k.zw)(l.blocker.name),1),(0,m.Uk)("?")]),(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large",class:"mb-15"})]),(0,m.Wm)(b.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half",variant:"flat",onClick:t[1]||(t[1]=e=>n.deleteBlocker()),disabled:l.isDeleting},{default:(0,m.w5)((()=>[(0,m.Uk)("ÁNO")])),_:1},8,["disabled"]),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[2]||(t[2]=(0,a.iM)((e=>n.closeModal()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ZRUŠIŤ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var sa={mixins:[T],emits:["on-blocker-deleted"],data(){return{visible:!1,blocker:null,isDeleting:!1}},methods:{async showModal({blocker:e}){this.blocker=e,this.visible=!0},closeModal(){this.visible=!1},async deleteBlocker(){if(!this.isDeleting){this.isDeleting=!0;try{await this.$axios.delete_auth(`v1/blockers/${this.blocker.id}`),this.$emit("on-blocker-deleted",this.blocker),this.closeModal()}catch(e){this.$toast.error(this.$parseError(e))}finally{this.isDeleting=!1}}}}};const aa=(0,$.Z)(sa,[["render",ta]]);var ia=aa;const la={class:"d-flex justify-space-between align-center"};function na(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(_.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",la,[(0,m._)("h1",null,[(0,m.Uk)("Ste si istý, že chcete "+(0,k.zw)(l.subtask.is_finished?"znovu otvoriť":"dokončiť")+" sub task, z mastertasku ",1),(0,m._)("b",null,(0,k.zw)(l.subtask?.master_task?.name||l.subtask.master_task),1),(0,m.Uk)("?")]),(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(b.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half",variant:"flat",onClick:t[1]||(t[1]=e=>n.complete())},{default:(0,m.w5)((()=>[(0,m.Uk)("ÁNO")])),_:1}),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[2]||(t[2]=(0,a.iM)((e=>l.visible=!1),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ZRUŠIŤ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var oa={mixins:[T],emits:["close","on-subtask-edited"],data(){return{visible:!1,subtask:null}},methods:{async showModal({subtask:e}){this.subtask=e,this.visible=!0},async complete(){try{const e={...this.subtask,is_finished:this.subtask.is_finished?0:1,timesheets:this.subtask.timesheets.map((e=>(delete e.employee_name,e)))},{subtask:t}=await this.$axios.put_auth(`v1/subtasks/${e.id}`,e);this.visible=!1,this.$emit("on-subtask-edited",t)}catch(e){this.$toast.error(this.$parseError(e))}},closeModal(){this.visible=!1}}};const ra=(0,$.Z)(oa,[["render",na]]);var da=ra;const ua={class:"d-flex justify-space-between align-center"};function ca(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(_.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",ua,[(0,m._)("h1",null,[(0,m.Uk)("Ste si istý, že chcete "+(0,k.zw)(l.mastertask.is_finished?"znovu otvoriť":"dokončiť")+" ",1),(0,m._)("b",null,(0,k.zw)(l.mastertask?.name),1),(0,m.Uk)("?")]),(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>l.visible=!1),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(b.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half",variant:"flat",onClick:t[1]||(t[1]=e=>n.complete())},{default:(0,m.w5)((()=>[(0,m.Uk)("ÁNO")])),_:1}),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[2]||(t[2]=(0,a.iM)((e=>l.visible=!1),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ZRUŠIŤ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var ma={mixins:[T],emits:["close","master-task-edited"],data(){return{visible:!1,mastertask:null}},methods:{async showModal({mastertask:e}){this.mastertask=e,this.visible=!0},async complete(){try{const e={...this.mastertask,is_finished:this.mastertask.is_finished?0:1},{mastertask:t}=await this.$axios.put_auth(`v1/mastertasks/${e.id}`,e);this.visible=!1,this.$emit("master-task-edited",t),this.$events.emit("close-both-modals")}catch(e){this.$toast.error(this.$parseError(e))}}}};const ha=(0,$.Z)(ma,[["render",ca]]);var pa=ha;const va={class:"d-flex justify-space-between align-center"},ka=(0,m._)("h1",null,"Pridať odpracovaný čas",-1);function fa(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(_.B,{"max-width":"750",modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",va,[ka,(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(b.h,{class:"mt-10 d-flex justify-start align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(x.hw,{modelValue:l.form.hours,"onUpdate:modelValue":t[1]||(t[1]=e=>l.form.hours=e),variant:"solo","bg-color":"white",type:"number",hint:l.v$.form.hours.$errors?l.errorUtils.parseErrors(l.v$.form.hours.$errors):null,class:(0,k.C_)([{error:l.v$.form.hours.$errors.length},"mb-2"]),label:"Odpracovaný čas"},null,8,["modelValue","hint","class"])])),_:1}),(0,m.Wm)(f.T,{onClick:t[2]||(t[2]=e=>n.submit()),class:"button primary mt-5"},{default:(0,m.w5)((()=>[(0,m.Uk)("Potvrdiť")])),_:1})])),_:1})])),_:1},8,["modelValue"])}var ga={mixins:[T],emits:["close","on-subtask-edited"],data(){return{v$:(0,O.ZP)(),errorUtils:z.Z,visible:!1,subtask:null,form:{hours:null}}},validations(){return{form:{hours:{required:V.C1,numeric:V.uR,minValue:(0,V.uv)(.1)}}}},methods:{async showModal({subtask:e}){this.subtask=e,this.visible=!0,this.form.hours=null,this.$nextTick((()=>this.v$.$reset()))},async submit(){if(!await this.v$.$validate())return;this.subtask.deadline&&(this.subtask.deadline=A.Z.formatDateTimeForBackend(this.subtask.deadline)),this.subtask.timesheets.push({id:null,employee_id:this.subtask.employee_id,time:"string"==typeof this.form.hours?parseFloat(this.form.hours):this.form.hours});const e={...this.subtask,timesheets:this.subtask.timesheets.map((e=>(delete e.employee_name,e)))};try{const{subtask:t}=await this.$axios.put_auth(`v1/subtasks/${this.subtask.id}`,e);this.closeModal(),this.$events.emit("on-subtask-edited",t)}catch(t){this.$toast.error(t.message||t)}},closeModal(){this.visible=!1,this.v$.$reset()}}};const ba=(0,$.Z)(ga,[["render",fa]]);var _a=ba;const wa={class:"d-flex justify-space-between align-center modal-header"};function ya(e,t,s,i,l,n){const o=(0,m.up)("Datepicker"),r=(0,m.up)("W-loadable");return(0,m.wg)(),(0,m.j4)(_.B,{modelValue:l.visible,"onUpdate:modelValue":t[7]||(t[7]=e=>l.visible=e),"max-width":"750","max-height":"90%",height:"700px",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(r,{content:l.blocker,class:"h-100"},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,{height:"100%",class:"d-flex flex-column"},{default:(0,m.w5)((()=>[(0,m._)("div",wa,[(0,m._)("h1",null,(0,k.zw)(l.blocker.id?"Upraviť":"Vytvoriť")+" blocker",1),(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(b.h,{class:"d-flex flex-column modal-content"},{default:(0,m.w5)((()=>[(0,m.Wm)(x.hw,{onFocus:e.onInputFocus,class:(0,k.C_)(["modal-input",{error:l.v$.blocker.name.$errors.length}]),label:"Názov blockeru",hint:l.v$.blocker.name.$errors?l.errorUtils.parseErrors(l.v$.blocker.name.$errors):null,modelValue:l.blocker.name,"onUpdate:modelValue":t[1]||(t[1]=e=>l.blocker.name=e),variant:"solo"},null,8,["onFocus","class","hint","modelValue"]),(0,m.Wm)(E.f,{"custom-filter":e.customFilter,"match-any":!0,clearable:"",label:"Vyhľadať zamestnanca",items:[...e.enrichedEmployees],"item-title":"_fullName","item-value":"id",variant:"solo",class:"modal-input",modelValue:l.blocker.employee_id,"onUpdate:modelValue":t[2]||(t[2]=e=>l.blocker.employee_id=e)},null,8,["custom-filter","items","modelValue"]),(0,m.Wm)(o,{class:(0,k.C_)(["modal-input mb-5",{error:l.v$.datepicker.$errors?.length}]),modelValue:l.datepicker,"onUpdate:modelValue":t[3]||(t[3]=e=>l.datepicker=e),"auto-apply":!0,format:"dd.MM.yyyy",locale:"sk",validations:l.v$.datepicker,"select-text":"Vybrať","cancel-text":"Zrušiť",placeholder:"Dátum","enable-time-picker":!1,ref:"datepicker"},null,8,["modelValue","class","validations"]),(0,m.Wm)(x.hw,{modelValue:l.starts_at_time,"onUpdate:modelValue":t[4]||(t[4]=e=>l.starts_at_time=e),type:"time",variant:"solo","bg-color":"white",hint:l.v$.starts_at_time.$errors?l.errorUtils.parseErrors(l.v$.starts_at_time.$errors):null,class:(0,k.C_)([{error:l.v$.starts_at_time.$errors.length},"mb-1 modal-input"]),label:"Začiatok"},null,8,["modelValue","hint","class"]),(0,m.Wm)(x.hw,{modelValue:l.ends_at_time,"onUpdate:modelValue":t[5]||(t[5]=e=>l.ends_at_time=e),type:"time",variant:"solo","bg-color":"white",hint:l.v$.ends_at_time.$errors?l.errorUtils.parseErrors(l.v$.ends_at_time.$errors):null,class:(0,k.C_)([{error:l.v$.ends_at_time.$errors.length},"modal-input"]),label:"Koniec"},null,8,["modelValue","hint","class"])])),_:1}),(0,m.Wm)(f.T,{class:"button primary",onClick:t[6]||(t[6]=e=>n.save())},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(l.blocker.id?"UPRAVIŤ":"VYTVORIŤ"),1)])),_:1})])),_:1})])),_:1},8,["content"])])),_:1},8,["modelValue"])}var Da={mixins:[Qe,Z.Z,T],emits:["close"],components:{Datepicker:De.Z},data(){return{visible:!1,v$:(0,O.ZP)(),errorUtils:z.Z,blocker:null,datepicker:null,starts_at_time:null,ends_at_time:null,employee:null}},computed:{...(0,U.Se)("tm",["enrichedEmployees"]),...(0,U.Se)("auth",["user"])},validations(){return{blocker:{name:{required:V.C1},start:{required:V.C1},end:{required:V.C1}},starts_at_time:{required:V.C1},ends_at_time:{required:V.C1},datepicker:{required:V.C1}}},methods:{async showModal({blocker:e}){this.visible=!0,this.blocker=null,this.datepicker=null,this.starts_at_time=null,this.ends_at_time=null,this.$nextTick((()=>{this.setFocusEvent(),this.v$.$reset()}));try{e?.id?(e=await this.$axios.get_auth_data(`v1/blockers/${e.id}`),this.starts_at_time=Re()(e.start).format("HH:mm"),this.ends_at_time=Re()(e.end).format("HH:mm"),this.datepicker=new Date(e.start),e.employee_id=e.employee.id,this.blocker=e):(this.blocker={start:null,employee_id:this.user.id},e.starts_at_time&&e.datepicker&&e.employee_id&&(this.datepicker=e.datepicker,this.starts_at_time=e.starts_at_time,this.blocker.employee_id=e.employee_id))}catch(t){this.$toast.error(this.$parseError(t))}},async save(){if(await this.v$.$validate())try{if(this.blocker.id){const{blocker:e}=await this.$axios.put_auth(`v1/blockers/${this.blocker.id}`,this.blocker);this.blocker=e}else{const{blocker:e}=await this.$axios.post_auth("v1/blockers",this.blocker);this.blocker=e}this.$events.emit("on-blocker-edited",this.blocker),this.$events.emit("blocker-created"),this.closeModal()}catch(e){this.$toast.error(this.$parseError(e))}},closeModal(){this.$refs["datepicker"].clearValue(),this.visible=!1,this.$emit("close",this.blocker)},onEmployeeSelected({key:e}){this.blocker.employee=this.enrichedEmployees.find((t=>t.id==e))},_syncDatesTimes(){if(!this.starts_at_time||!this.ends_at_time||!this.datepicker)return;const e=this.starts_at_time.split(":"),t=this.ends_at_time.split(":");this.blocker.start=Re()(this.datepicker).set({hours:parseInt(e[0]),minutes:parseInt(e[1])}).format("YYYY-MM-DD HH:mm"),this.blocker.end=Re()(this.datepicker).set({hours:parseInt(t[0]),minutes:parseInt(t[1])}).format("YYYY-MM-DD HH:mm")}},watch:{ends_at_time(){this._syncDatesTimes()},starts_at_time(){this._syncDatesTimes()},datepicker(){this._syncDatesTimes()}}};const Ta=(0,$.Z)(Da,[["render",ya]]);var Ma=Ta;const $a={class:"d-flex justify-space-between align-center"};function Ca(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(_.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",$a,[(0,m._)("h1",null,[(0,m.Uk)("Ste si istý, že chcete zmazať "),(0,m._)("b",null,(0,k.zw)(l.mastertask.name),1),(0,m.Uk)("?")]),(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large",class:"mb-15"})]),(0,m.Wm)(b.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half",variant:"flat",onClick:t[1]||(t[1]=e=>n.deleteMasterTask()),disabled:l.isDeleting},{default:(0,m.w5)((()=>[(0,m.Uk)("ÁNO")])),_:1},8,["disabled"]),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[2]||(t[2]=(0,a.iM)((e=>n.closeModal()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ZRUŠIŤ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var ja={mixins:[T],emits:["on-mastertask-deleted"],data(){return{visible:!1,mastertask:null,isDeleting:!1}},methods:{async showModal({mastertask:e}){this.mastertask=e,this.visible=!0},closeModal(){this.visible=!1},async deleteMasterTask(){if(!this.isDeleting){this.isDeleting=!0;try{await this.$axios.delete_auth(`v1/mastertasks/${this.mastertask.id}`),this.$emit("on-mastertask-deleted",this.mastertask),this.closeModal()}catch(e){this.$toast.error(this.$parseError(e))}finally{this.isDeleting=!1}}}}};const Ea=(0,$.Z)(ja,[["render",Ca]]);var xa=Ea,Wa=s(10240);const Sa={class:"d-flex justify-space-between align-center modal-header"},Oa={class:"splitted-inputs"},Va={class:"employee-select-avatar d-flex justify-center align-center"},za={class:"employee-select-avatar d-flex justify-center align-center"},Aa={class:"d-flex justify-space-between align-center"},Ua={class:"d-flex justify-space-between align-center modal-header border-bottom pb-4"},Za={class:"d-flex justify-start"},Ha=["src"],Fa=["src"],Ia={class:"w-100"},Pa={class:"d-flex justify-start align-center mt-8"},La={class:"d-flex align-center"};function Na(e,t,i,l,n,o){const r=(0,m.up)("Datepicker"),d=(0,m.up)("QuillEditor"),u=(0,m.up)("Z-files-upload"),c=(0,m.up)("A-mastertask-description"),h=(0,m.up)("A-tasks-table"),p=(0,m.up)("W-loadable");return(0,m.wg)(),(0,m.j4)(_.B,{modelValue:n.visible,"onUpdate:modelValue":t[17]||(t[17]=e=>n.visible=e),"max-width":"750","max-height":"90%",height:"700px",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(p,{content:n.mastertask,class:"h-100"},{default:(0,m.w5)((()=>[n.editMode?((0,m.wg)(),(0,m.j4)(g._,{key:0,height:"100%",class:"d-flex flex-column scrolling"},{default:(0,m.w5)((()=>[(0,m._)("div",Sa,[(0,m._)("h1",null,(0,k.zw)(n.mastertask?.id?"Upraviť master task":"Vytvoriť master task"),1),(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>o.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(b.h,{class:"d-flex flex-column modal-content"},{default:(0,m.w5)((()=>[(0,m.Wm)(E.f,{"custom-filter":e.customFilter,"match-any":!0,modelValue:n.mastertask.project_id,"onUpdate:modelValue":t[1]||(t[1]=e=>n.mastertask.project_id=e),label:e.$t("Project code"),class:(0,k.C_)([{error:n.v$.mastertask.project_id.$errors.length},"modal-input"]),items:e.projectsOptions,"item-title":"code","item-value":"id",variant:"solo",clearable:"","onUpdate:search":t[2]||(t[2]=e=>n.projectCodeSearch=e)},null,8,["custom-filter","modelValue","label","class","items"]),(0,m.Wm)(x.hw,{modelValue:n.mastertask.name,"onUpdate:modelValue":t[3]||(t[3]=e=>n.mastertask.name=e),onFocus:e.onInputFocus,class:(0,k.C_)(["modal-input",{error:n.v$.mastertask.name.$errors.length}]),label:"Názov mastertasku",variant:"solo",hint:n.v$.mastertask.name.$errors?n.errorUtils.parseErrors(n.v$.mastertask.name.$errors):null},null,8,["modelValue","onFocus","class","hint"]),(0,m._)("div",Oa,[(0,m.Wm)(r,{modelValue:n.mastertask.deadline,"onUpdate:modelValue":t[4]||(t[4]=e=>n.mastertask.deadline=e),"auto-apply":!0,onFocus:e.onDateFocus,"min-date":new Date,class:(0,k.C_)(["modal-input left",{error:n.v$.mastertask.deadline.$errors?.length}]),format:"dd.MM.yyyy",locale:"sk","select-text":"Vybrať","cancel-text":"Zrušiť",placeholder:"Dátum",validations:n.v$.mastertask.deadline},null,8,["modelValue","onFocus","min-date","class","validations"]),(0,m.Wm)(x.hw,{class:(0,k.C_)(["modal-input right",{error:n.v$.mastertask._deadline_time.$errors.length}]),variant:"solo",modelValue:n.mastertask._deadline_time,"onUpdate:modelValue":t[5]||(t[5]=e=>n.mastertask._deadline_time=e),label:"Čas","append-inner-icon":"mdi-clock-outline",type:"time",onFocus:e.onInputFocus,hint:n.v$.mastertask._deadline_time.$errors?n.errorUtils.parseErrors(n.v$.mastertask._deadline_time.$errors):null},null,8,["modelValue","onFocus","class","hint"])]),(0,m.Wm)(x.hw,{modelValue:n.mastertask.estimated_duration,"onUpdate:modelValue":t[6]||(t[6]=e=>n.mastertask.estimated_duration=e),onFocus:e.onInputFocus,class:(0,k.C_)(["modal-input",{error:n.v$.mastertask.estimated_duration.$errors.length}]),variant:"solo",type:"number",label:"Nacenené hodiny",hint:n.v$.mastertask.estimated_duration.$errors?n.errorUtils.parseErrors(n.v$.mastertask.estimated_duration.$errors):null},null,8,["modelValue","onFocus","class","hint"]),(0,m.Wm)(x.hw,{modelValue:n.mastertask.duration,"onUpdate:modelValue":t[7]||(t[7]=e=>n.mastertask.duration=e),onFocus:e.onInputFocus,class:"modal-input",variant:"solo",type:"number",label:`${n.mastertask.duration} h`,disabled:!0},null,8,["modelValue","onFocus","label"]),(0,m.Wm)(Wa.r,{modelValue:n.mastertask.team_id,"onUpdate:modelValue":t[8]||(t[8]=e=>n.mastertask.team_id=e),onFocus:e.onInputFocus,class:(0,k.C_)(["modal-input border-select",{error:n.v$.mastertask.employees.$errors.length}]),label:"Tím",variant:"solo",items:e.teams,"item-value":"id","item-title":"name",disabled:!!n.mastertask.id,clearable:!0},null,8,["modelValue","onFocus","class","items","disabled"]),n.mastertask.id?((0,m.wg)(!0),(0,m.iD)(m.HY,{key:1},(0,m.Ko)(n.mastertask._allEmployees,(e=>((0,m.wg)(),(0,m.j4)(x.hw,{key:e.id,class:"modal-input",label:`${e.name} ${e.surname}`,variant:"solo",placeholder:"h",modelValue:e.duration,"onUpdate:modelValue":t=>e.duration=t,type:"number",disabled:!0},{default:(0,m.w5)((()=>[(0,m._)("p",za,(0,k.zw)(e?.name.charAt(0)+e?.surname.charAt(0)),1),(0,m.Wm)(w.t,{onClick:(0,a.iM)((t=>o.removeEmployee(e)),["stop"]),class:"remove-input",icon:"mdi-close-circle",size:"default"},null,8,["onClick"])])),_:2},1032,["label","modelValue","onUpdate:modelValue"])))),128)):((0,m.wg)(!0),(0,m.iD)(m.HY,{key:0},(0,m.Ko)(n.mastertask.employees,((t,s)=>((0,m.wg)(),(0,m.j4)(x.hw,{key:t.id,onFocus:e.onInputFocus,class:(0,k.C_)(["modal-input",{error:t.invalid}]),label:`${t.name} ${t.surname}`,variant:"solo",placeholder:"h",modelValue:n.mastertask.employees[s].duration,"onUpdate:modelValue":e=>n.mastertask.employees[s].duration=e,type:"number",min:"1",onInput:e.onEmployeeDurationChanged},{default:(0,m.w5)((()=>[(0,m._)("p",Va,(0,k.zw)(t?.name.charAt(0)+t?.surname.charAt(0)),1),(0,m.Wm)(w.t,{onClick:(0,a.iM)((e=>o.removeEmployee(t)),["stop"]),class:"remove-input",icon:"mdi-close-circle",size:"default"},null,8,["onClick"])])),_:2},1032,["onFocus","class","label","modelValue","onUpdate:modelValue","onInput"])))),128)),n.showAddEmployeeInput?((0,m.wg)(),(0,m.j4)(E.f,{key:2,"custom-filter":e.customFilter,"match-any":!0,label:e.$t("Search for employee"),class:(0,k.C_)([{error:n.v$.mastertask.project_id.$errors.length},"modal-input"]),items:e.employeesOptions,"item-title":"_fullName","item-value":"id",variant:"solo",clearable:"","onUpdate:modelValue":e.onEmployeeSelected},null,8,["custom-filter","label","class","items","onUpdate:modelValue"])):(0,m.kq)("",!0),(0,m.Wm)(f.T,{disabled:!!n.mastertask.id,class:(0,k.C_)(["w-100 mb-5 button secondary",{error:n.v$.mastertask.project_id.$errors.length}]),onClick:t[9]||(t[9]=e=>n.showAddEmployeeInput=!0)},{default:(0,m.w5)((()=>[(0,m.Wm)(w.t,{class:"mx-1",icon:"mdi-plus"}),(0,m.Uk)("Pridať zamestnanca ")])),_:1},8,["disabled","class"]),(0,m._)("div",{class:(0,k.C_)(["w-100 modal-input",{error:n.v$.mastertask.description.$errors.length}])},[(0,m.Wm)(d,{ref:"description",modelValue:n.mastertask.description,"onUpdate:modelValue":t[10]||(t[10]=e=>n.mastertask.description=e),placeholder:"Popis",theme:"snow",class:"rich-text-editor",onKeyup:o.onQuillEditorInput},null,8,["modelValue","onKeyup"])],2),(0,m.Wm)(u,{class:"mt-15 files",files:n.mastertask.files,onFilesUploaded:o.filesUploaded,"is-saving":n.isSaving},null,8,["files","onFilesUploaded","is-saving"])])),_:1}),n.isSaving?((0,m.wg)(),(0,m.j4)(f.T,{key:1,class:"button primary disabled",disabled:""},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(e.$t("Ukladám...")),1)])),_:1})):((0,m.wg)(),(0,m.j4)(f.T,{key:0,class:"button primary",onClick:t[11]||(t[11]=e=>o.save())},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(n.mastertask.id?"ULOŽIŤ":"VYTVORIŤ"),1)])),_:1}))])),_:1})):((0,m.wg)(),(0,m.j4)(g._,{key:1,height:"100%",class:"d-flex flex-column scrolling"},{default:(0,m.w5)((()=>[(0,m._)("div",Aa,[(0,m._)("p",null,(0,k.zw)(n.mastertask.project_code),1),(0,m.Wm)(w.t,{onClick:t[12]||(t[12]=(0,a.iM)((e=>o.closeModal()),["stop"])),icon:"mdi-close",size:"large",class:"pb-5"})]),(0,m._)("div",Ua,[(0,m._)("h1",null,(0,k.zw)(n.mastertask.name),1),(0,m._)("div",Za,[n.mastertask.is_finished?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("img",{key:0,class:"icon",src:s(60666),alt:"pencil-icon",onClick:t[13]||(t[13]=(0,a.iM)((e=>n.editMode=!n.editMode),["stop"]))},null,8,Ha)),(0,m._)("img",{class:"icon trash",src:s(27484),alt:"trash-icon",onClick:t[14]||(t[14]=(0,a.iM)((e=>o.openDeleteMasterTaskModal(n.mastertask)),["stop"]))},null,8,Fa)])]),(0,m.Wm)(b.h,{class:"d-flex flex-column modal-content"},{default:(0,m.w5)((()=>[(0,m._)("div",Ia,[(0,m.Wm)(c,{mastertask:n.mastertask},null,8,["mastertask"]),(0,m._)("div",Pa,[(0,m.Wm)(f.T,{class:"button primary",onClick:t[15]||(t[15]=e=>o.toggleIsFinished(n.mastertask))},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(n.mastertask.is_finished?"Otvoriť mastertask":"Ukončiť mastertask"),1)])),_:1})]),(0,m.Wm)(h,{subtasks:n.mastertask.subtasks},null,8,["subtasks"]),(0,m._)("div",La,[(0,m.Wm)(f.T,{class:"subtask-btn w-100",onClick:t[16]||(t[16]=e=>o.addTask())},{default:(0,m.w5)((()=>[(0,m.Wm)(w.t,{class:"mx-1",icon:"mdi-plus"}),(0,m.Uk)("Pridať sub task")])),_:1})])])])),_:1})])),_:1}))])),_:1},8,["content"])])),_:1},8,["modelValue"])}var Ya=s(4413);const qa={class:"px-5 py-5"},Ba={key:0,class:"w-25"},Ra={key:1,class:"w-50"},Ka={class:"d-flex align-center"},Ja={class:"employee-selected-avatar d-flex justify-center align-center"},Ga={class:"ml-2 line-clamp"},Xa={key:0,class:"text-light-green"},Qa={key:1},ei={class:"task-action"},ti={class:"d-flex justify-start align-center"},si=["src","onClick"],ai=["src"],ii=["src","onClick"],li=["src","onClick"],ni=["src","onClick"],oi=["src","onClick"];function ri(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(Ya.Y,{class:"mt-7 mb-5"},{default:(0,m.w5)((()=>[(0,m._)("tbody",qa,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.enrichedtasks,(e=>((0,m.wg)(),(0,m.iD)("tr",{key:e.id},[e?.title?((0,m.wg)(),(0,m.iD)("td",Ba,(0,k.zw)(e.title),1)):((0,m.wg)(),(0,m.iD)("td",Ra,(0,k.zw)(e?.master_task),1)),(0,m._)("td",Ka,[(0,m._)("p",Ja,(0,k.zw)(e._employeeInitials),1),(0,m._)("p",Ga,(0,k.zw)(e._employeeFullName),1)]),(0,m._)("td",null,[e.is_finished?((0,m.wg)(),(0,m.iD)("p",Xa,"Ukončený")):(0,m.kq)("",!0),e.is_finished?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("p",Qa,"Neukončený"))]),(0,m._)("td",ei,[(0,m._)("div",ti,["office365"==s.subtasks.type?((0,m.wg)(),(0,m.iD)(m.HY,{key:0},[(0,m._)("img",{class:"pencil-icon ml-2",src:l.eye,alt:"pencil-icon",onClick:(0,a.iM)((t=>n.openTaskModal(e)),["stop"])},null,8,si),(0,m._)("img",{class:"office-icon",src:l.office365},null,8,ai)],64)):((0,m.wg)(),(0,m.iD)(m.HY,{key:1},[e.is_finished?((0,m.wg)(),(0,m.iD)("img",{key:0,class:"pencil-icon is-finished",src:l.checkmark,alt:"checkmark-icon",onClick:(0,a.iM)((t=>n.clickCompleteTask(e)),["stop"])},null,8,ii)):(0,m.kq)("",!0),e.is_finished?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("img",{key:1,class:"pencil-icon",src:l.checkmark,alt:"checkmark-icon",onClick:(0,a.iM)((t=>n.clickCompleteTask(e)),["stop"])},null,8,li)),(0,m._)("img",{class:"pencil-icon ml-2",src:l.eye,alt:"pencil-icon",onClick:(0,a.iM)((t=>n.openTaskModal(e)),["stop"])},null,8,ni),(0,m._)("img",{class:"trash-icon",src:l.bin,alt:"trash-icon",onClick:(0,a.iM)((t=>n.openDeleteTaskModal(e)),["stop"])},null,8,oi)],64))])])])))),128))])])),_:1})}var di=s(65687),ui={props:{subtasks:{type:Array,required:!0}},data(){return{checkmark:di.d2,bin:di.Ly,eye:di.iy,office365:di.QS}},computed:{...(0,U.Se)("tm",["enrichedEmployees"]),enrichedtasks(){return this.subtasks.map((e=>{const t=this.enrichedEmployees.find((t=>t.id==e.employee_id));return{...e,_employeeInitials:t?t._initials:"?",_employeeFullName:t?t._fullName:""}}))}},methods:{openDeleteTaskModal(e){this.$events.emit("show-delete-task-modal",{subtask:e})},openTaskModal(e){this.$events.emit("show-subtask-modal",{subtask:e,editMode:!1})},async clickCompleteTask(e){this.$events.emit("show-complete-task-modal",{subtask:e})}}};const ci=(0,$.Z)(ui,[["render",ri],["__scopeId","data-v-753dec0e"]]);var mi=ci;function hi(e,t,s,a,i,l){const n=(0,m.up)("Z-status"),o=(0,m.up)("Z-deadline"),r=(0,m.up)("Z-created-by"),d=(0,m.up)("Z-team"),u=(0,m.up)("Z-estimated-duration"),c=(0,m.up)("Z-planned-time"),h=(0,m.up)("Z-remaining-time"),p=(0,m.up)("Z-spent-time"),v=(0,m.up)("Z-description"),k=(0,m.up)("Z-files");return(0,m.wg)(),(0,m.iD)(m.HY,null,[(0,m.Wm)(n,{status:s.mastertask.is_finished},null,8,["status"]),(0,m.Wm)(o,{deadline:s.mastertask.deadline},null,8,["deadline"]),(0,m.Wm)(r,{"employee-id":s.mastertask.created_by},null,8,["employee-id"]),(0,m.Wm)(d,{team:s.mastertask.team,employees:s.mastertask._allEmployees||s.mastertask.employees},null,8,["team","employees"]),(0,m.Wm)(u,{hours:s.mastertask.estimated_duration},null,8,["hours"]),(0,m.Wm)(c,{hours:s.mastertask.duration},null,8,["hours"]),(0,m.Wm)(h,{hours:s.mastertask.duration-s.mastertask.time_worked},null,8,["hours"]),(0,m.Wm)(p,{hours:s.mastertask.time_worked,"is-exceeded":s.mastertask.time_worked>s.mastertask.duration},null,8,["hours","is-exceeded"]),(0,m.Wm)(v,{description:s.mastertask.description},null,8,["description"]),(0,m.Wm)(k,{files:s.mastertask.files},null,8,["files"])],64)}const pi={class:"d-flex align-center"},vi=(0,m._)("p",{class:"mx-3"},"Deadline",-1);function ki(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",pi,[(0,m.Wm)(w.t,{icon:"mdi-calendar-week",size:"large"}),vi])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",{class:(0,k.C_)(""+(i.tmUtils.isAfter(s.deadline)?"text-black":"text-red-darken-4"))},(0,k.zw)(i.tmUtils.formatDateTime(s.deadline)),3)])),_:1})])),_:1})])),_:1})}var fi={props:{deadline:{type:String,required:!0}},data(){return{tmUtils:A.Z}}};const gi=(0,$.Z)(fi,[["render",ki]]);var bi=gi;const _i={key:0,class:"px-5 py-5 border-bottom"},wi=(0,m._)("p",null,"Popis zadania",-1),yi=["innerHTML"],Di={key:1,class:"px-5 py-5 border-bottom"},Ti=(0,m._)("p",null,"Popis mastertasku",-1),Mi=["innerHTML"];function $i(e,t,s,a,i,l){return(0,m.wg)(),(0,m.iD)(m.HY,null,[s.description?((0,m.wg)(),(0,m.iD)("div",_i,[wi,(0,m._)("section",{innerHTML:i.preparedDescription,class:"description-detail px-2 py-2 w-100 rounded mt-2"},null,8,yi)])):(0,m.kq)("",!0),s.inheritedDescription?((0,m.wg)(),(0,m.iD)("div",Di,[Ti,(0,m._)("section",{innerHTML:i.preparedInheritedDescription,class:"description-detail px-2 py-2 w-100 rounded mt-2"},null,8,Mi)])):(0,m.kq)("",!0)],64)}var Ci={props:{description:{type:String||null,default:()=>null},inheritedDescription:{type:String||null,default:()=>null}},data(){return{copiedIndices:[],preparedDescription:"",preparedInheritedDescription:""}},mounted(){this.preparedDescription=Ts(this.description),this.preparedInheritedDescription=Ts(this.inheritedDescription)}};const ji=(0,$.Z)(Ci,[["render",$i]]);var Ei=ji;const xi={class:"d-flex align-center"},Wi=(0,m._)("p",{class:"mx-3"},"Naplánovaný čas",-1);function Si(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",xi,[(0,m.Wm)(w.t,{icon:"mdi-clock-time-three-outline",size:"large"}),Wi])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",null,(0,k.zw)(s.hours)+" h",1)])),_:1})])),_:1})])),_:1})}var Oi={props:{hours:{type:Number,required:!0}}};const Vi=(0,$.Z)(Oi,[["render",Si]]);var zi=Vi;const Ai={class:"d-flex align-center"},Ui=(0,m._)("p",{class:"mx-3"},"Zostávajúci čas",-1);function Zi(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center border-bottom"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Ai,[(0,m.Wm)(w.t,{icon:"mdi-clock-time-three-outline",size:"large"}),Ui])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",null,(0,k.zw)(s.hours)+" h",1)])),_:1})])),_:1})])),_:1})}var Hi={props:{hours:{type:Number,required:!0}}};const Fi=(0,$.Z)(Hi,[["render",Zi]]);var Ii=Fi;const Pi={class:"d-flex align-center"},Li=(0,m._)("p",{class:"mx-3"},"Odpracovaný čas",-1);function Ni(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":""},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Pi,[(0,m.Wm)(w.t,{icon:"mdi-clock-time-three-outline",size:"large"}),Li])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",{class:(0,k.C_)(s.isExceeded?"text-red-darken-4":"text-black")},(0,k.zw)(s.hours)+" h",3)])),_:1})])),_:1})])),_:1})}var Yi={props:{hours:{type:Number,required:!0},isExceeded:{type:Boolean,required:!0}}};const qi=(0,$.Z)(Yi,[["render",Ni]]);var Bi=qi;const Ri={class:"d-flex align-center"},Ki=(0,m._)("p",{class:"mx-3"},"Status",-1),Ji={key:0,class:"status-badge px-4 py-2 rounded-pill"},Gi={key:1,class:"status-badge px-4 py-2 rounded-pill"};function Xi(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Ri,[(0,m.Wm)(w.t,{icon:"mdi-drag-vertical",size:"large"}),Ki])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[1==s.status?((0,m.wg)(),(0,m.iD)("p",Ji,"Ukončený")):0==s.status?((0,m.wg)(),(0,m.iD)("p",Gi,"Neukončený")):(0,m.kq)("",!0)])),_:1})])),_:1})])),_:1})}var Qi={props:{status:{type:Number,required:!0}}};const el=(0,$.Z)(Qi,[["render",Xi]]);var tl=el;const sl={class:"d-flex align-center"},al=(0,m._)("p",{class:"mx-3"},"Tím",-1),il={class:"task-badge px-4 py-2 rounded-pill flex-shrink-0"},ll={class:"employee-selected-avatar d-flex justify-center align-center"},nl={class:"ml-2"},ol=(0,m._)("div",{class:"mb-4"},null,-1),rl=(0,m._)("p",{class:"task-badge px-4 py-2 rounded-pill flex-shrink-0"},"Nepriradený",-1),dl={class:"employee-selected-avatar d-flex justify-center align-center"},ul={class:"ml-2"};function cl(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":""},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",sl,[(0,m.Wm)(w.t,{icon:"mdi-account-multiple-outline",size:"large"}),al])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3 d-flex flex-wrap flex-column"},{default:(0,m.w5)((()=>[s.team?((0,m.wg)(),(0,m.iD)(m.HY,{key:0},[(0,m._)("p",il,(0,k.zw)(s.team.name),1),((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(l.enrichedEmployeesInTeam,(e=>((0,m.wg)(),(0,m.iD)("div",{class:"d-flex align-center flex-shrink-0 mt-2 task-badge px-4 py-2 rounded-pill",key:e.id},[(0,m._)("p",ll,(0,k.zw)(e._initials),1),(0,m._)("p",nl,(0,k.zw)(e._fullName),1)])))),128)),ol],64)):(0,m.kq)("",!0),rl,((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(l.enrichedEmployeesOutsideTeam,(e=>((0,m.wg)(),(0,m.iD)("div",{class:"d-flex align-center flex-shrink-0 mt-2 task-badge px-4 py-2 rounded-pill",key:e.id},[(0,m._)("p",dl,(0,k.zw)(e._initials),1),(0,m._)("p",ul,(0,k.zw)(e._fullName),1)])))),128))])),_:1})])),_:1})])),_:1})}var ml={props:{team:{type:Object,required:!1},employees:{type:Array,required:!0}},computed:{enrichedEmployeesInTeam(){return this.team?.employees?A.Z.enrichEmployees(this.team.employees):[]},enrichedEmployeesOutsideTeam(){if(!this.team)return A.Z.enrichEmployees(this.employees);const e=this.employees.filter((e=>!this.team.employees.find((t=>t.id==e.id))));return A.Z.enrichEmployees(e)}}};const hl=(0,$.Z)(ml,[["render",cl]]);var pl=hl;const vl={class:"d-flex align-center"},kl=(0,m._)("p",{class:"mx-3"},"Nacenené hodiny",-1);function fl(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",vl,[(0,m.Wm)(w.t,{icon:"mdi-clock-time-three-outline",size:"large"}),kl])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",null,(0,k.zw)(s.hours||0)+" h",1)])),_:1})])),_:1})])),_:1})}var gl={props:{hours:{type:[Number,void 0]}}};const bl=(0,$.Z)(gl,[["render",fl]]);var _l=bl,wl={components:{ZCreatedBy:Tt,ZDeadline:bi,ZDescription:Ei,ZFiles:Hs,ZPlannedTime:zi,ZRemainingTime:Ii,ZSpentTime:Bi,ZStatus:tl,ZTeam:pl,ZEstimatedDuration:_l},props:{mastertask:{type:Object,required:!0}}};const yl=(0,$.Z)(wl,[["render",hi]]);var Dl=yl,Tl=s(15941),Ml={emits:["master-task-edited","close"],mixins:[Qe,et,Z.Z,T],components:{AMastertaskDescription:Dl,ATasksTable:mi,Datepicker:De.Z,ZFilesUpload:Se,QuillEditor:r.Bn},data(){return{deadline:null,editMode:!1,visible:!1,errorUtils:z.Z,v$:(0,O.ZP)(),mastertask:null,isSaving:!1,showAddEmployeeInput:!1,date:null,projectCodeSearch:null}},computed:{...(0,U.Se)("tm",["teams","projects","enrichedEmployees"]),enrichedSubtasks(){return this.mastertask?.subtasks?this.mastertask.subtasks.map((e=>{const t=this.enrichedEmployees.find((t=>t.id==e.employee_id));return{...e,_initials:t?t.name.charAt(0)+t.surname.charAt(0):"?",_fullName:t?`${t.name} ${t.surname}`:""}})).filter((e=>null!==e)):null}},validations(){const e=e=>!!(e&&e.length&&e.replace(/<[^>]*>/g,"").length);return{mastertask:{employees:{required:V.C1,minLength:(0,V.Ei)(1),$each:{duration:{required:V.C1}}},project_id:{required:V.C1},name:{required:V.C1},description:{quillEditorRequired:e},deadline:{required:V.C1},estimated_duration:{required:V.C1},_deadline_time:{required:V.C1}}}},mounted(){this.$events.on("close-both-modals",this.closeBothModals),this.$events.on("master-task:team-member-deleted",(({teamId:e,memberId:t})=>{this.mastertask.team_id==e&&(this.mastertask.employees=this.mastertask.employees.filter((e=>e.id!=t)))})),this.$events.on("on-mastertask-deleted",(e=>{e?.id==this.mastertask?.id&&this.closeModal()})),this.$events.on("on-subtask-deleted",(e=>{this.mastertask&&(this.mastertask.subtasks=this.mastertask.subtasks.filter((t=>t.id!=e.id)))})),this.$events.on("on-subtask-edited",(e=>{this.mastertask?.subtasks&&(this.mastertask.subtasks.find((t=>t.id==e.id))?this.mastertask.subtasks=this.mastertask.subtasks.map((t=>t.id==e.id?e:t)):this.mastertask.subtasks.push(e))}))},beforeUnmount(){this.$events.off("on-mastertask-deleted"),this.$events.off("on-subtask-deleted"),this.$events.off("on-subtask-edited"),this.$events.off("master-task:team-member-deleted"),this.$events.off("close-both-modals",this.closeBothModals)},methods:{closeBothModals(){this.$emit("close"),this.visible=!1},removeEmployee({id:e}){this.mastertask.employees=this.mastertask.employees.filter((t=>t.id!=e))},removeMemberAlert(e){const t=this.mastertask.team;this.$events.emit("show-delete-team-member-modal",{member:e,team:t})},async loadMastertask(e){try{this.mastertask=await this.$axios.get_auth_data(`v1/mastertasks/${e}`);const t=this.projects.find((e=>e.code==this.mastertask.project_code));this.mastertask.project_id=t?.id||null,this.mastertask.team_id=this.mastertask.team?.id||null,this.mastertask._allEmployees=this.mastertask.subtasks.map((({employee_id:e,duration:t})=>{const s=this.enrichedEmployees.find((({id:t})=>t==e));return s?(s.duration=t,s):null})).filter((e=>null!==e))}catch(t){this.$toast.error(t.message||t)}},async showModal({mastertask:e,editMode:t=!1}){this.isSaving=!1,this.editMode=null,this.visible=!0,this.mastertask=null,this.$nextTick((()=>{this.setFocusEvent(),this.v$.$reset()}));try{if(e?.id)await this.loadMastertask(e.id);else{const e=localStorage.getItem("mastertaskData");try{if(!e)throw new Error("mastertaskData is null or undefined");{const t=JSON.parse(e);if(this.mastertask=t,"object"!==typeof this.mastertask||null===this.mastertask)throw new Error("Parsed mastertask is not an object");this.$nextTick((()=>{this.$refs["description"]?.setHTML(this.mastertask.description||"")}))}}catch(s){Tl.error("Error parsing mastertaskData:",s),this.mastertask={employees:[],duration:0,_deadline_time:"17:00"}}}this.editMode=t||!this.mastertask.id}catch(s){this.$toast.error(s.message||s)}},toggleIsFinished(){this.$events.emit("show-complete-master-task-modal",{mastertask:this.mastertask})},async save(){this.mastertask.id&&(this.mastertask.employees=this.mastertask.employees.map((e=>{const{duration:t}=this.mastertask.subtasks.find((({employee_id:t})=>t==e.id))||{};return e.duration=t,e})));const e=await this.v$.$validate(),t=await this._validateEmployees();if(e&&t){this.$refs["description"]&&(this.mastertask.description=this.$refs["description"].getHTML()),this._mergeDeadlineTimeDate();try{this.isSaving=!0,this.mastertask.deadline=Re()(this.mastertask.deadline).format("YYYY-MM-DD HH:MM:SS"),this.mastertask.id?await this.$axios.patch_auth_form(`v1/mastertasks/${this.mastertask.id}`,this.mastertask):await this.$axios.post_auth_data("v1/mastertasks",this.mastertask),localStorage.removeItem("mastertaskData"),this.$emit("master-task-edited",this.mastertask),this.closeModal()}catch(s){this.$toast.error(this.$parseError(s))}finally{this.isSaving=!1}}},filesUploaded(e){this.mastertask.files=e},closeModal(){this.visible=!1},openDeleteMasterTaskModal(e){this.$events.emit("show-delete-master-task-modal",{mastertask:e})},addTask(){this.$events.emit("show-subtask-modal",{subtask:{master_task_id:this.mastertask.id,project_code:this.mastertask.project_code}})},onQuillEditorInput(){this.mastertask.description=this.$refs["description"].getHTML()},_mergeDeadlineTimeDate(){const e=new Date(this.mastertask.deadline);Tl.log("z-master-task-modal",this.subtask);const t=this.mastertask._deadline_time.split(":");e.setHours(parseInt(t[0])),e.setMinutes(parseInt(t[1])),this.mastertask.deadline=e},_validateEmployees(){let e=!0;return this.mastertask.employees=this.mastertask.employees.map((t=>(t.duration||(t.invalid=!0,e=!1),t))),e}},watch:{editMode(){this.$nextTick((()=>{if(this.$refs["description"]?.setHTML(this.mastertask.description||""),!this.mastertask?.id)return;const e=new Date(this.mastertask.deadline),t=e.getHours(),s=e.getMinutes();this.mastertask._deadline_time=`${t.toString().padStart(2,"0")}:${s.toString().padStart(2,"0")}`}))},mastertask:{handler(e){this.editMode&&!this.mastertask?.id&&localStorage.setItem("mastertaskData",JSON.stringify(e))},deep:!0},"mastertask.team_id":{handler(e,t){if(this.editMode&&!e&&t){const e=this.teams.find((e=>e.id==t))?.employees.map((e=>e?.id))||[],s=this.mastertask.employees.filter((t=>!e.includes(t?.id)));this.mastertask.employees=s}},deep:!0},"$route.query":{handler(e,t){t?.subtask?.length&&this.mastertask?.id&&this.loadMastertask(this.mastertask.id)},deep:!0}}};const $l=(0,$.Z)(Ml,[["render",Na],["__scopeId","data-v-4b1eca40"]]);var Cl=$l,jl=s(41888),El=s(89234);const xl=(0,m._)("h1",{class:"text-h5"}," Chcete túto osobu odstrániť z tímu? ",-1);function Wl(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(_.B,{modelValue:i.visible,"onUpdate:modelValue":t[2]||(t[2]=e=>i.visible=e),"max-width":"500",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[xl,(0,m.Wm)(jl.Z,null,{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(i.member.name+" "+i.member.surname)+" bude odstránený/á z teamu.",1)])),_:1}),(0,m.Wm)(b.h,null,{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button secondary",variant:"text",onClick:t[0]||(t[0]=e=>l.closeModal())},{default:(0,m.w5)((()=>[(0,m.Uk)(" Zrušiť ")])),_:1}),(0,m.Wm)(El.C),(0,m.Wm)(f.T,{class:"button primary",variant:"text",onClick:t[1]||(t[1]=e=>l.deleteMember())},{default:(0,m.w5)((()=>[(0,m.Uk)(" Áno ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var Sl={mixins:[T],data(){return{visible:!1,member:null,team:null}},methods:{async showModal({member:e,team:t}){this.member=e,this.team=t,this.visible=!0},closeModal(){this.visible=!1},async deleteMember(){this.team.employees=[...this.team.employees].filter((e=>e.id!==this.member.id));try{if(this.team.id){const{team:e}=await this.$axios.put_auth(`v1/teams/${this.team.id}`,this.team);this.$store.commit("tm/update_team",e)}else{const{team:e}=await this.$axios.post_auth("v1/teams",this.team);this.$store.commit("tm/save_team",e)}this.$events.emit("master-task:team-member-deleted",{teamId:this.team.id,memberId:this.member.id}),this.closeModal()}catch(e){this.$toast.error(this.$parseError(e))}},_enrichTeam(e){return e.employees=A.Z.enrichEmployees(e.employees),e}}};const Ol=(0,$.Z)(Sl,[["render",Wl]]);var Vl=Ol;const zl={class:"d-flex justify-space-between align-center"},Al=(0,m._)("h1",null,"Vytvoriť",-1);function Ul(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(_.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",zl,[Al,(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(b.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[1]||(t[1]=(0,a.iM)((e=>n.createTask()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("SUB TASK")])),_:1}),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[2]||(t[2]=(0,a.iM)((e=>n.createBlocker()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("BLOCKER")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var Zl={emits:["update","data"],props:["data"],mixins:[T],data(){return{visible:!1,localData:null}},mounted(){this.$events.on("blocker-created",(()=>{this.closeModal()})),this.$events.on("task-created",(()=>{this.closeModal()}))},methods:{async showModal(e){this.localData=e,this.visible=!0},closeModal(){this.visible=!1},createTask(){this.$events.emit("show-subtask-modal",{subtask:{deadline:this.localData.date,_deadline_time:this.localData.time,employee_id:this.localData.employee},onTaskCreated:()=>{this.closeModal()}})},createBlocker(){this.$events.emit("show-blocker-modal",{blocker:{starts_at_time:this.localData.time,datepicker:this.localData.date,employee_id:this.localData.employee},onBlockerCreated:()=>{this.closeModal()}})}}};const Hl=(0,$.Z)(Zl,[["render",Ul]]);var Fl=Hl;const Il={class:"d-flex justify-space-between align-center"},Pl={key:0},Ll={key:1};function Nl(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(_.B,{modelValue:l.visible,"onUpdate:modelValue":t[1]||(t[1]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",Il,["edit"===s.mode?((0,m.wg)(),(0,m.iD)("h1",Pl,"Sub Task zosynchronizovaný z Office365 sa nedá upravovat. Upravte ho vo svojom kalendári a pockajte na zosynchronizovanie s Task Managerom")):"delete"===s.mode?((0,m.wg)(),(0,m.iD)("h1",Ll,"Sub Task zosynchronizovaný z Office365 sa nedá zmazať. Zmažte ho vo svojom kalendári a pockajte na zosynchronizovanie s Task Managerom")):(0,m.kq)("",!0),(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})])])),_:1})])),_:1},8,["modelValue"])}var Yl=s(15941),ql={mixins:[T],emits:["close","on-subtask-edited"],props:{mode:{type:String,default:"edit"}},data(){return{visible:!1,subtask:null}},methods:{async showModal({subtask:e}){this.subtask=e,this.visible=!0},async complete(){Yl.log("complete")},closeModal(){this.visible=!1}}};const Bl=(0,$.Z)(ql,[["render",Nl]]);var Rl=Bl;const Kl=e=>((0,m.dD)("data-v-3c7fa7bc"),e=e(),(0,m.Cn)(),e),Jl={class:"d-flex justify-space-between align-center"},Gl=Kl((()=>(0,m._)("h1",null,"Sub Task má nedokončené úlohy",-1))),Xl={class:"card-content"},Ql={class:"card-actions"};function en(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(_.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",Jl,[Gl,(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m._)("div",Xl,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(l.subtask?.timeblocks,(e=>((0,m.wg)(),(0,m.iD)("div",{key:e.id,class:"d-flex align-center mb-3"},[(0,m._)("p",{class:(0,k.C_)(["task-badge rounded-pill",{"strike-through":e.is_finished}])},(0,k.zw)(l.tmUtils.formatDateTime(e.start))+" - "+(0,k.zw)(l.tmUtils.formatDateTime(e.end)),3),(0,m.Wm)(w.t,{onClick:(0,a.iM)((t=>n.handleFinishTimeblock(e)),["stop"]),class:(0,k.C_)(["finish-icon circle-border cursor-pointer ml-2",{disabled:l.loadingTimeblocks[e.id]||l.loadingCloseAll,finished:e.is_finished}]),icon:"mdi-check",size:"medium"},null,8,["onClick","class"])])))),128))]),(0,m._)("div",Ql,[(0,m.Wm)(f.T,{onClick:t[1]||(t[1]=e=>n.closeModal()),class:"button secondary"},{default:(0,m.w5)((()=>[(0,m.Uk)("Zrušiť")])),_:1}),(0,m.Wm)(f.T,{onClick:t[2]||(t[2]=e=>n.handleFinishAllTimeblocks()),loading:l.loadingCloseAll,class:"button primary"},{default:(0,m.w5)((()=>[(0,m.Uk)("Uzatvoriť všetky")])),_:1},8,["loading"])])])),_:1})])),_:1},8,["modelValue"])}var tn=s(15941),sn={mixins:[T],emits:["close","on-subtask-edited"],props:{mode:{type:String,default:"edit"}},data(){return{tmUtils:A.Z,visible:!1,subtask:null,loadingTimeblocks:{},loadingCloseAll:!1}},methods:{async showModal({subtask:e}){this.subtask=e,this.visible=!0},async complete(){tn.log("complete")},closeModal(){this.visible=!1},async handleFinishTimeblock(e){const t=JSON.parse(JSON.stringify(this.subtask));try{this.loadingTimeblocks[e.id]=!0,await this.$axios.put_auth(`v1/timeblocks/${e.id}`,{...e,is_finished:1}),e.is_finished=1;const s=t.timeblocks.every((e=>e.is_finished));s&&(await this._finishSubtask(),this.$store.dispatch("tm/removeOngoingSubtask",this.subtask.id)),this.$events.emit("on-subtask-edited",t),this.closeModal()}catch(s){this.$toast.error(s.message||s)}finally{this.loadingTimeblocks[e.id]=!1}},async handleFinishAllTimeblocks(){this.loadingCloseAll=!0;try{const e=this.subtask.timeblocks.map((e=>this.$axios.put_auth(`v1/timeblocks/${e.id}`,{...e,is_finished:1})));await Promise.all(e),this.subtask.timeblocks=this.subtask.timeblocks.map((e=>(e.is_finished=1,e))),await this._finishSubtask(),this.$store.dispatch("tm/removeOngoingSubtask",this.subtask.id),this.$events.emit("on-subtask-edited",this.subtask),this.closeModal()}catch(e){this.$toast.error(e.message||e)}finally{this.loadingCloseAll=!1}},async _finishSubtask(){const e={...this.subtask,is_finished:1,timesheets:this.subtask.timesheets.map((e=>(delete e.employee_name,e)))};return this.$axios.put_auth(`v1/subtasks/${e.id}`,e)}}};const an=(0,$.Z)(sn,[["render",en],["__scopeId","data-v-3c7fa7bc"]]);var ln=an,nn={components:{ZDeleteTeamModal:j,ZTeamModal:P,ZDeleteTaskModal:B,ZDeleteBlockerModal:ia,ZTaskModal:Qs,ZMasterTaskModal:Cl,ZCompleteTaskModal:da,ZTaskAddTimeModal:_a,ZBlockerModal:Ma,ZDeleteMasterTaskModal:xa,ZDeleteTeamMemberModal:Vl,ZShowMenuModal:Fl,ZCompleteMasterTaskModal:pa,ZDeleteTimeBlockModal:ee,ZUnableToEditOfficeTaskModal:Rl,ZUnableToCompleteTaskModal:ln},mounted(){this.$events.on("show-menu-modal",(e=>{this.$refs["z-show-menu-modal"].showModal(e)})),this.$events.on("show-delete-team-modal",(({team:e})=>{this.$refs["z-delete-team-modal"].showModal({team:e})})),this.$events.on("show-team-modal",(({team:e})=>{this.$refs["z-team-modal"].showModal({team:e})})),this.$events.on("show-delete-task-modal",(({subtask:e})=>{this.$refs["z-delete-task-modal"].showModal({subtask:e})})),this.$events.on("show-delete-timeblock-modal",(({subtask:e})=>{this.$refs["z-delete-timeblock-modal"].showModal({subtask:e})})),this.$events.on("show-delete-blocker-modal",(({blocker:e})=>{this.$refs["z-delete-blocker-modal"].showModal({blocker:e})})),this.$events.on("show-delete-master-task-modal",(({mastertask:e})=>{this.$refs["z-delete-master-task-modal"].showModal({mastertask:e})})),this.$events.on("show-delete-team-member-modal",(({member:e,team:t})=>{this.$refs["z-delete-team-member-modal"].showModal({member:e,team:t})})),this.$events.on("show-subtask-modal",(({subtask:e,editMode:t,mastertask:s})=>{if(e&&e.id){const t=e.id;this.$router.push({query:{subtask:t}})}this.$refs["z-task-modal"].showModal({subtask:e,editMode:t,mastertask:s})})),this.$events.on("show-mastertask-modal",(({mastertask:e,editMode:t})=>{if(e&&e.id){const t=e.id;this.$router.push({query:{mastertask:t}})}this.$refs["z-master-task-modal"].showModal({mastertask:e,editMode:t})})),this.$events.on("show-complete-task-modal",(({subtask:e})=>{this.$refs["z-complete-task-modal"].showModal({subtask:e})})),this.$events.on("show-complete-master-task-modal",(({mastertask:e})=>{this.$refs["z-complete-master-task-modal"].showModal({mastertask:e})})),this.$events.on("show-blocker-modal",(({blocker:e={}})=>{this.$refs["z-blocker-modal"].showModal({blocker:e})})),this.$events.on("show-task-add-time-modal",(({subtask:e})=>{this.$refs["z-task-add-time-modal"].showModal({subtask:e})})),this.$events.on("on-subtask-edited",(()=>{this.$store.dispatch("tm/reloadSubtasks")})),this.$events.on("on-mastertask-edited",(()=>{this.$store.dispatch("tm/reloadMastertasks")})),this.$events.on("on-mastertask-deleted",(()=>{this.$store.dispatch("tm/reloadMastertasks")})),this.$events.on("show-unable-to-edit-office-task-modal",(({mode:e})=>{this.$refs["z-unable-to-edit-office-task-modal"].showModal({mode:e})})),this.$events.on("show-unable-to-complete-task-modal",(({subtask:e})=>{this.$refs["z-unable-to-complete-task-modal"].showModal({subtask:e})})),this._showModalsAfterInicialization()},methods:{onTeamUpdate(e){this.$events.emit("on-team-update",e)},onTaskDeleted(e){this.$events.emit("on-subtask-deleted",e)},onBlockerDeleted(e){this.$events.emit("on-blocker-deleted",e)},onTaskEdited(e){this.$events.emit("on-subtask-edited",e)},onMasterTaskDeleted(e){this.$events.emit("on-mastertask-deleted",e)},onMasterTaskEdited(e){this.$events.emit("on-mastertask-edited",e)},_showModalsAfterInicialization(e=0){setTimeout((()=>e>50?this.$router.push({name:this.$route.name}):this.$store.getters["tm/isInitialized"]?this.$route.query["mastertask"]?this.$events.emit("show-mastertask-modal",{mastertask:{id:this.$route.query["mastertask"]},editMode:!1}):this.$route.query["subtask"]?this.$events.emit("show-subtask-modal",{subtask:{id:this.$route.query["subtask"]},editMode:!1}):void 0:this._showModalsAfterInicialization(e+1)),300)}}};const on=(0,$.Z)(nn,[["render",v]]);var rn=on,dn=s(22483),un=(0,U.MT)({state:{},getters:{},mutations:{},actions:{},modules:{}});const cn=[{path:"",redirect:"/auth"},{path:"/auth/",component:()=>s.e(9033).then(s.bind(s,99033)),children:[{path:"",redirect:"/auth/login"},{path:"/auth/login",name:"Login",component:()=>s.e(1097).then(s.bind(s,21097)),meta:{requiresAuth:!1}},{path:"/auth/forgot-password",name:"Forgot password",component:()=>s.e(924).then(s.bind(s,40924)),meta:{requiresAuth:!1}},{path:"/auth/forgot-success",name:"Forgot success",component:()=>s.e(8731).then(s.bind(s,28731)),meta:{requiresAuth:!1}},{path:"/auth/reset-password",name:"Reset password",component:()=>s.e(4518).then(s.bind(s,54518)),meta:{requiresAuth:null}}]},{path:"/app",component:()=>s.e(2612).then(s.bind(s,32612)),children:[{path:"",redirect:"/app/dashboard"},{path:"/app/dashboard",redirect:"/app/dashboard/tasks",children:[{path:"/app/dashboard/tasks",name:"Dashboard - Tasks",meta:{title:"Sub Tasks",requiresAuth:!0},component:()=>Promise.all([s.e(4578),s.e(8059)]).then(s.bind(s,53440))},{path:"/app/dashboard/teams",name:"Dashboard - Teams",meta:{title:"Teams Overview",requiresAuth:!0},component:()=>Promise.all([s.e(4578),s.e(5456)]).then(s.bind(s,63124))},{path:"/app/dashboard/projects",name:"Dashboard - Projects",meta:{title:"Projects overview",requiresAuth:!0},component:()=>s.e(3862).then(s.bind(s,3862))},{path:"/app/overview/unscheduled",name:"Overview - Unscheduled tasks",meta:{title:"Unscheduled Sub Tasks",requiresAuth:!0},component:()=>s.e(9407).then(s.bind(s,89407))},{path:"/app/overview/ongoing",name:"Overview - Ongoing tasks",meta:{title:"Ongoing Sub Tasks",requiresAuth:!0},component:()=>s.e(2885).then(s.bind(s,72885))},{path:"/app/overview/teams",name:"Overview - Teams",meta:{title:"Teams",requiresAuth:!0},component:()=>s.e(7073).then(s.bind(s,97073))},{path:"/app/dashboard/user",name:"Dashboard - User",meta:{title:"Profile",requiresAuth:!0},component:()=>s.e(907).then(s.bind(s,20907))},{path:"/app/search",name:"Search",meta:{title:"Search Results",requiresAuth:!0},component:()=>s.e(4392).then(s.bind(s,44392))}]}]},{path:"/:catchAll(.*)",name:"404",component:()=>s.e(188).then(s.bind(s,60188)),meta:{requiresAuth:null}}],mn=(0,dn.p7)({history:(0,dn.r5)("/"),routes:cn});mn.beforeEach(((e,t,s)=>{const a=un.getters["auth/isLoggedIn"];return!0===e.meta.requiresAuth?a?s():s({name:"Login"}):!1===e.meta.requiresAuth&&a?s({name:"Dashboard - Tasks"}):s()}));var hn=mn,pn=s(34311),vn=s(15941);pn.Z.defaults.baseURL="https://tm.jandl.sk/api/";var kn={async get(e,t){return pn.Z.get(e,t).then((e=>e.data)).catch((e=>Promise.reject(e)))},async get_auth(e,t){return t=this._config(t),pn.Z.get(e,t).then((e=>e.data)).catch((e=>Promise.reject(e)))},async get_data(e,t){return pn.Z.get(e,t).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async get_auth_data(e,t){return t=this._config(t),pn.Z.get(e,t).then((e=>Promise.resolve(e.data.data))).catch((e=>Promise.reject(e.response||e)))},async post(e,t=null,s){return pn.Z.post(e,t,s).then((e=>e.data)).catch((e=>Promise.reject(e)))},async post_auth(e,t=null,s){return s=this._config(s),pn.Z.post(e,t,s).then((e=>e.data)).catch((e=>Promise.reject(e)))},async post_data(e,t=null,s){return pn.Z.post(e,t,s).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async post_auth_data(e,t=null,s){return s=this._config(s),pn.Z.post(e,t,s).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async delete(e,t){return pn.Z["delete"](e,t).then((e=>e.data)).catch((e=>Promise.reject(e)))},async delete_auth(e,t){return t=this._config(t),pn.Z["delete"](e,t).then((e=>e.data)).catch((e=>Promise.reject(e)))},async delete_data(e,t){return pn.Z["delete"](e,t).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async delete_auth_data(e,t){return t=this._config(t),pn.Z["delete"](e,t).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async patch(e,t=null,s){return pn.Z.patch(e,t,s).then((e=>e.data)).catch((e=>Promise.reject(e)))},async patch_auth(e,t=null,s){return s=this._config(s),pn.Z.patch(e,t,s).then((e=>e.data)).catch((e=>Promise.reject(e)))},async patch_data(e,t=null,s){return pn.Z.patch(e,t,s).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async patch_auth_data(e,t=null,s){return s=this._config(s),pn.Z.patch(e,t,s).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async put(e,t=null,s){return pn.Z.put(e,t,s).then((e=>e.data)).catch((e=>Promise.reject(e)))},async put_auth(e,t=null,s){return s=this._config(s),pn.Z.put(e,t,s).then((e=>e.data)).catch((e=>Promise.reject(e)))},async put_data(e,t=null,s){return pn.Z.put(e,t,s).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async put_auth_data(e,t=null,s){return s=this._config(s),pn.Z.put(e,t,s).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},_config(e){return e&&vn.error("NOT IMPLEMENTED"),un.getters["auth/token"]?{headers:{Authorization:`Bearer ${un.getters["auth/token"]}`}}:{headers:{}}}},fn={install:(e,t)=>{t&&!0===t.disabled||(e.config.globalProperties.$axios=kn)}},gn=s(82482);const bn=e=>Object.entries(e).map((e=>e.map(encodeURIComponent).join("="))).join("&");function _n(e){let t=e;return t=t.replace(/\//g,"\\/"),t=t.replace(/\./g,"\\."),t=t.replace(/\([^)]+\)/g,"[^/]+"),t}var wn=s(15941);class yn{constructor(){(0,gn.Z)(this,"_mocks",{}),pn.Z.interceptors.request.use(this._redirectRequestToMock.bind(this)),this._mocks={}}mock(e){for(const t in e){let s=e[t];!1!==s&&(s={},s.name=t,s.url=t.split(" ")[1],s.reUrl||(s.reUrl=_n(s.url)),s.matchMethod||(s.matchMethod=t.split(" ")[0].toLowerCase()),this._mocks[t]=s)}}_redirectRequestToMock(e){const t=e.url.replace(/https?:\/\/[^/?]+/,"");let s;for(const a in this._mocks){const i=this._mocks[a];if(e.method==i.matchMethod&&t.match(i.reUrl)){s=i;break}}if(s){s.fname||(s.fname={VUE_APP_WAXIOS_URL:"https://tm.jandl.sk/api/",NODE_ENV:"production",BASE_URL:"/"}.VUE_APP_PLATFORM?`/mock/${{VUE_APP_WAXIOS_URL:"https://tm.jandl.sk/api/",NODE_ENV:"production",BASE_URL:"/"}.VUE_APP_PLATFORM}/${s.url}.${e.method.toUpperCase()}.json`:`/mock/${s.url}.${e.method.toUpperCase()}.json`),wn.log(s.fname=`/mock/${s.url}.${e.method.toUpperCase()}.json`);const t={method:"get",url:window.location.origin+s.fname+"?___MOCK___&"+bn(e.data||{})};e={...e,...t}}return e}}var Dn={install:(e,t)=>{const s=new yn;t&&t.routes&&Object.values(t.routes).length&&!0!==t.disabled&&s.mock(t.routes)}},Tn=s(8069),Mn={install:(e,t)=>{if(t&&!0===t.disabled)return;const s=(0,Tn.Z)();e.config.globalProperties.$events=s}},$n=s(44870),Cn=s(5658),jn=s(31310),En=s(15941);class xn{constructor(e){(0,gn.Z)(this,"currentLanguage",(0,$n.iH)()),(0,gn.Z)(this,"availableLanguages",void 0),(0,gn.Z)(this,"vendorI18n",void 0),(0,gn.Z)(this,"defaultLanguage",void 0),(0,gn.Z)(this,"languageKey",void 0),(0,gn.Z)(this,"_missingTranslation",((e,t,s,a)=>t)),(0,gn.Z)(this,"_postTranslation",(e=>e)),this.availableLanguages=e.languages||[],this.defaultLanguage=e.languages.find((t=>t.value==e.defaultLanguage)),this.languageKey=e.languageKey||{VUE_APP_WAXIOS_URL:"https://tm.jandl.sk/api/",NODE_ENV:"production",BASE_URL:"/"}.VUE_APP_PLATFORM+"_language"||0,this.vendorI18n=(0,Cn.o)({legacy:!0,fallbackLocale:this.defaultLanguage.value,messages:this._loadLocaleMessages(),missing:this._missingTranslation,postTranslation:this._postTranslation}),this.changeLanguage({title:"Slovenský",flag:"sk",value:"sk"}),this.initCurrentLanguage()}async initCurrentLanguage(){const{value:e}=await jn.u.get({key:this.languageKey});if(e)this.currentLanguage.value=JSON.parse(e);else if(this.defaultLanguage)this.currentLanguage.value=this.defaultLanguage;else{if(!this.availableLanguages[0])return En.error("[w18n] Could not init current language");this.currentLanguage.value=this.availableLanguages[0]}const t={};this.availableLanguages.forEach((e=>{t[e.value]=e.title})),this.changeLanguage(this.currentLanguage.value),this._addAxiosHeaders()}changeLanguage(e){this.currentLanguage.value=e,this._addAxiosHeaders(),jn.u.set({key:this.languageKey,value:JSON.stringify(e)}),this.vendorI18n.global.locale=e.value}_addAxiosHeaders(){pn.Z.interceptors.request.use((e=>(this.currentLanguage.value&&this.currentLanguage.value.value&&(e.headers["Accept-Language"]=this.currentLanguage.value.value),e))),pn.Z.interceptors.response.use((e=>e),(e=>Promise.reject(e?.response||e)))}_loadLocaleMessages(e="@/locales"){let t;try{t=s(8973)}catch(i){return En.warn("[@wezeo/i18n] Could not initialize i18n. Missing folder /src/locales."),{}}const a={};return t.keys().forEach((e=>{const s=e.match(/([A-Za-z0-9-_]+)\./i);if(s&&s.length>1){const i=s[1];a[i]=t(e)}})),a}}var Wn=s(15941),Sn={install:(e,t)=>{if(t&&!0===t.disabled)return;if(!t||!t.languages||!t.defaultLanguage)return Wn.warn("[@wezeo/i18n] Could not initialize i18n. Missing configuration options.");e.config.globalProperties.$events||e.use(Mn);const s=new xn(t);e.use(s.vendorI18n),e.config.globalProperties.$w18n=s}},On={install:(e,t)=>{t&&!0===t.disabled||(e.component("ion-content",i.W2),e.component("ion-page",i._i),e.component("ion-label",i.Q$),e.component("ion-back-button",i.oU),e.component("ion-checkbox",i.nz),e.component("ion-text",i.yW),e.component("ion-button",i.YG),e.component("ion-item",i.Ie),e.component("ion-item-group",i.Ub),e.component("ion-item-sliding",i.td),e.component("ion-item-option",i.u8),e.component("ion-item-options",i.IK),e.component("ion-toolbar",i.sr),e.component("ion-header",i.Gu),e.component("ion-footer",i.fr),e.component("ion-slides",i.Hr),e.component("ion-slide",i.A$),e.component("ion-spinner",i.PQ),e.component("ion-row",i.Nd),e.component("ion-col",i.wI),e.component("ion-grid",i.jY),e.component("ion-input",i.pK),e.component("ion-buttons",i.Sm),e.component("ion-icon",i.gu),e.component("ion-img",i.Xz),e.component("ion-list",i.q_),e.component("ion-skeleton-text",i.CK),e.component("ion-title",i.wd),e.component("ion-menu",i.z0),e.component("ion-split-pane",i.jI),e.component("ion-menu-button",i.fG),e.component("ion-router-outlet",i.jP),e.component("ion-segment",i.cJ),e.component("ion-segment-button",i.GO),e.component("ion-virtual-scroll",i.aJ),e.component("ion-textarea",i.g2),e.component("ion-searchbar",i.VI),e.component("ion-refresher-content",i.Wo),e.component("ion-refresher",i.nJ),e.component("ion-infinite-scroll-content",i.MB),e.component("ion-infinite-scroll",i.ju),e.component("ion-avatar",i.BJ),e.component("ion-thumbnail",i.Bs),e.component("ion-modal",i.ki),e.component("ion-radio-group",i.se),e.component("ion-radio",i.B7),e.component("ion-note",i.uN),e.component("ion-card",i.PM),e.component("ion-card-content",i.FN),e.component("ion-tab-bar",i.yq),e.component("ion-tab-button",i.ZU),e.component("ion-menu-toggle",i.zc),e.component("ion-fab",i.IJ),e.component("ion-fab-button",i.W4),e.component("ion-fab-list",i.zq),e.component("ion-reorder-group",i.oz),e.component("ion-reorder",i.Nh),e.component("ion-select",i.t9),e.component("ion-select-option",i.n0),e.component("ion-toggle",i.ho),e.component("ion-badge",i.yp),e.component("ion-chip",i.hM),e.component("ion-tabs",i.UN))}};async function Vn(e){return"Unauthenticated."==e?.response?.data?.message?un.dispatch("auth/logout"):Promise.reject(e)}pn.Z.interceptors.response.use((e=>e),(e=>Vn(e)));var zn=s(15941),An={namespaced:!0,state:{token:localStorage.getItem("wzo_vue_user_token")||"",user:JSON.parse(localStorage.getItem("wzo_vue_user_user")||"{}")},mutations:{auth_success(e,t){t.token&&(e.token=t.token,localStorage.setItem("wzo_vue_user_token",t.token)),t.user&&(e.user=t.user,localStorage.setItem("wzo_vue_user_user",JSON.stringify(t.user)))},auth_error(e){e.token="",localStorage.removeItem("wzo_vue_user_token"),localStorage.removeItem("wzo_vue_user_user")},logout(e){e.token="",e.user=null,localStorage.removeItem("wzo_vue_user_token"),localStorage.removeItem("wzo_vue_user_user"),window.open(location.origin,"_self")}},actions:{login({commit:e},t){return new Promise(((s,a)=>{kn.post("v1/tokens/create",{data:t}).then((t=>{const a=t.token,i=t.user;e("auth_success",{token:a,user:i}),s(t)})).catch((t=>{e("auth_error"),a(t)}))}))},signup({commit:e},t){return new Promise(((s,a)=>{e("auth_request"),kn.post_data("v1/auth/signup",t).then((t=>{const a=t.token,i=t.user;e("auth_success",{token:a,user:i}),s(t)})).catch((t=>{e("auth_error"),a(t)}))}))},logout({commit:e}){return new Promise((t=>{kn.post_auth_data("v1/auth/invalidate").finally((()=>{e("logout"),t(null)}))}))},forgotPassword({commit:e},t){return new Promise(((e,s)=>{kn.post("v1/users/forgot",{data:t}).then((t=>e(t))).catch((e=>s(e)))}))},resetPassword({commit:e},t){return e("auth_success",{token:t.token}),new Promise(((s,a)=>{kn.post_auth_data("v1/users/reset",{data:t}).then((t=>{e("logout"),s(t)})).catch((e=>a(e)))}))},async refreshToken({commit:e}){try{const t=await kn.post_auth_data("v1/auth/refresh"),s=t.token,a=t.user;return e("auth_success",{token:s,user:a}),s}catch(t){e("auth_error"),zn.error(t)}},async userInfo({commit:e}){return new Promise(((t,s)=>{kn.get_auth_data("v1/auth/info").then((s=>{const a=s.user;e("auth_success",{user:a}),t(a)})).catch((e=>{s(e)}))}))},updateUserInfo({commit:e},t){return new Promise(((s,a)=>{kn.put_auth(`v1/users/${t.id}`,{data:t}).then((t=>{const a=t.user;e("auth_success",{user:a}),s(a)})).catch((e=>{a(e)}))}))}},getters:{isLoggedIn:e=>!!e.token,user:e=>e.user,token:e=>e.token&&void 0!=e.token?e.token:null}},Un=s(15941),Zn={install:(e,t)=>{if(!t||1!=t.disabled)return e.config.globalProperties.$store?void e.config.globalProperties.$store.registerModule("auth",An):Un.warn("[w/auth] Could not initialize. App does not have vuex store added.")}},Hn={install:(e,t)=>{t&&!0===t.disabled||(e.use(ws()),e.config.globalProperties.$parseError=e=>e?.data?.message||e?.response?.data?.message||e?.message||e)}};const Fn={ref:"loadingContainer"},In={key:0},Pn={key:1},Ln={key:2};function Nn(e,t,s,a,i,l){return(0,m.wg)(),(0,m.iD)("div",Fn,[s.content?s.content.error?((0,m.wg)(),(0,m.iD)("div",Pn,(0,k.zw)(s.content.error),1)):"array"==typeof s.content&&!e.array.length||"object"==typeof s.content&&!Object.values(s.content).length?((0,m.wg)(),(0,m.iD)("div",Ln,(0,k.zw)(s.emptyMessage),1)):(0,m.WI)(e.$slots,"default",{key:3},void 0,!0):((0,m.wg)(),(0,m.iD)("div",In))],512)}var Yn={props:{content:{type:[Object,Array,Boolean],default:()=>null},emptyMessage:{type:String,default:"No items"}},data(){return{loader:null}},async mounted(){this.content||await this._startLoading()},methods:{async _startLoading(){},_stopLoading(){}},watch:{}};const qn=(0,$.Z)(Yn,[["render",Nn],["__scopeId","data-v-a2444234"]]);var Bn=qn,Rn={install:(e,t)=>{t&&!0===t.disabled||e.component("W-loadable",Bn)}},Kn={install:(e,t={})=>{Mn.install(e,t.events),fn.install(e,t.axios),Sn.install(e,t.i18n),Dn.install(e,t.moxios),On.install(e,t.ionic),Zn.install(e,t.auth),Hn.install(e,t.toast),Rn.install(e,t.loadable)}},Jn={parseAndTranslate(e){const t=this._parseToArrayOfStrings(e);return t.join(", ")},_parseToArrayOfStrings(e){return e?.data?.message?[Br(e.data.message)]:"string"==typeof e?[Br(e)]:e?.response?.data?Object.values(e?.response?.data):e&&e.error&&"string"==typeof e.error?[Br(e.error)]:e&&e.error&&"object"==typeof e.error?Object.values(Br(e.error)):e.data&&e.data.error&&"string"==typeof e.data.error?[Br(e.data.error)]:e&&e.data&&e.data.error&&"object"==typeof e.data.error?Object.values(e.data.error).map((e=>Br(e[0])+" ")):e.statusText?[Br(e.statusText)]:[e]}},Gn=s(15941);pn.Z.defaults.baseURL="https://tm.jandl.sk/api/";var Xn={async get(e,t){return pn.Z.get(e,t).then((e=>e.data)).catch((e=>Promise.reject(Jn.parseAndTranslate(e))))},async get_auth(e,t){return t=this._config(t),pn.Z.get(e,t).then((e=>e.data)).catch((e=>Promise.reject(Jn.parseAndTranslate(e))))},async get_data(e,t){return pn.Z.get(e,t).then((e=>e.data.data)).catch((e=>Promise.reject(Jn.parseAndTranslate(e.response||e))))},async get_auth_data(e,t){return t=this._config(t),pn.Z.get(e,t).then((e=>Promise.resolve(e.data.data))).catch((e=>Promise.reject(Jn.parseAndTranslate(e.response||e))))},async post(e,t=null,s){return pn.Z.post(e,this._objectToFormData(t),s).then((e=>e.data)).catch((e=>Promise.reject(Jn.parseAndTranslate(e))))},async post_auth(e,t=null,s){return s=this._config(s),pn.Z.post(e,this._objectToFormData(t),s).then((e=>e.data)).catch((e=>Promise.reject(Jn.parseAndTranslate(e))))},async post_data(e,t=null,s){return pn.Z.post(e,this._objectToFormData(t),s).then((e=>e.data.data)).catch((e=>Promise.reject(Jn.parseAndTranslate(e.response||e))))},async post_auth_data(e,t=null,s){return s=this._config(s),pn.Z.post(e,this._objectToFormData(t),s).then((e=>e.data.data)).catch((e=>Promise.reject(Jn.parseAndTranslate(e.response||e))))},async delete(e,t){return pn.Z["delete"](e,t).then((e=>e.data)).catch((e=>Promise.reject(Jn.parseAndTranslate(e))))},async delete_auth(e,t){return t=this._config(t),pn.Z["delete"](e,t).then((e=>e.data)).catch((e=>Promise.reject(Jn.parseAndTranslate(e))))},async delete_data(e,t){return pn.Z["delete"](e,t).then((e=>e.data.data)).catch((e=>Promise.reject(Jn.parseAndTranslate(e.response||e))))},async delete_auth_data(e,t){return t=this._config(t),pn.Z["delete"](e,t).then((e=>e.data.data)).catch((e=>Promise.reject(Jn.parseAndTranslate(e.response||e))))},async patch(e,t=null,s){return pn.Z.patch(e,this._objectToFormData(t),s).then((e=>e.data)).catch((e=>Promise.reject(Jn.parseAndTranslate(e))))},async patch_auth(e,t=null,s){return s=this._config(s),pn.Z.patch(e,this._objectToFormData(t),s).then((e=>e.data)).catch((e=>Promise.reject(Jn.parseAndTranslate(e))))},async patch_auth_form(e,t=null,s){s=this._config(s),s.headers["Content-Type"]="multipart/form-data";const a=this._objectToFormData(t);return a.append("_method","put"),s.transformRequest=e=>e,pn.Z.post(e,a,s).then((e=>e.data)).catch((e=>Promise.reject(Jn.parseAndTranslate(e))))},async patch_data(e,t=null,s){return pn.Z.patch(e,this._objectToFormData(t),s).then((e=>e.data.data)).catch((e=>Promise.reject(Jn.parseAndTranslate(e.response||e))))},async patch_auth_data(e,t=null,s){return s=this._config(s),pn.Z.patch(e,this._objectToFormData(t),s).then((e=>e.data.data)).catch((e=>Promise.reject(Jn.parseAndTranslate(e.response||e))))},async put(e,t=null,s){return pn.Z.put(e,this._objectToFormData(t),s).then((e=>e.data)).catch((e=>Promise.reject(Jn.parseAndTranslate(e))))},async put_auth(e,t=null,s){return s=this._config(s),pn.Z.put(e,{data:t},s).then((e=>e.data)).catch((e=>Promise.reject(Jn.parseAndTranslate(e))))},async put_data(e,t=null,s){return pn.Z.put(e,this._objectToFormData(t),s).then((e=>e.data.data)).catch((e=>Promise.reject(Jn.parseAndTranslate(e.response||e))))},async put_auth_data(e,t=null,s){return s=this._config(s),pn.Z.put(e,{data:t},s).then((e=>e.data.data)).catch((e=>Promise.reject(Jn.parseAndTranslate(e.response||e))))},_config(e){return e&&Gn.error("NOT IMPLEMENTED"),un.getters["auth/token"]?{headers:{Authorization:`Bearer ${un.getters["auth/token"]}`}}:{headers:{}}},_buildFormData(e,t,s){!t||"object"!==typeof t||t instanceof Date||t instanceof File?e.append(s,null==t?"":t):Object.keys(t).forEach((a=>this._buildFormData(e,t[a],s?`${s}[${a}]`:a)))},_objectToFormData(e){const t=new FormData;return this._buildFormData(t,{data:e}),t}},Qn={install:(e,t)=>{t&&!0===t.disabled||(e.config.globalProperties.$axios=Xn)}},eo={namespaced:!0,state:{mastertasks:null,employees:null,teams:null,projects:null,unscheduledSubtasks:null,ongoingSubtasks:null,initialized:!1,ongoingSubtasksEmployeeId:null,unscheduledSubtasksEmployeeId:null},mutations:{set_mastertasks(e,t){e.mastertasks=t},set_employees(e,t){e.employees=t},set_teams(e,t){e.teams=t},set_projects(e,t){e.projects=t},set_unscheduled_subtasks(e,t){e.unscheduledSubtasks=t},set_ongoing_subtasks(e,t){e.ongoingSubtasks=t},remove_ongoing_subtask(e,t){e.ongoingSubtasks=e.ongoingSubtasks.filter((e=>e.id!=t))},update_team(e,t){e.teams=e.teams.map((e=>e.id==t.id?t:e))},save_team(e,t){e.teams.push(t)},delete_team(e,t){e.teams=e.teams.filter((e=>e.id!=t.id))},update_subtask(e,t){e.unscheduledSubtasks=e.unscheduledSubtasks.map((e=>e.id==t.id?t:e)),e.ongoingSubtasks=e.ongoingSubtasks.map((e=>e.id==t.id?t:e))},delete_subtask(e,t){e.unscheduledSubtasks=e.unscheduledSubtasks.filter((e=>e.id!=t.id)),e.ongoingSubtasks=e.ongoingSubtasks.filter((e=>e.id!=t.id))},set_ongoing_subtasks_employee_id(e,t){e.ongoingSubtasksEmployeeId=t},set_unscheduled_subtasks_employee_id(e,t){e.unscheduledSubtasksEmployeeId=t},initialized(e){e.initialized=!0}},actions:{initialize({dispatch:e,commit:t}){return Promise.all([e("loadMastertasks"),e("loadEmployees"),e("loadTeams"),e("loadProjects"),e("loadUnscheduledSubtasks"),e("loadOngoingSubtasks")]).then((()=>t("initialized")))},reloadSubtasks({dispatch:e}){return Promise.all([e("loadMastertasks"),e("loadProjects"),e("loadUnscheduledSubtasks"),e("loadOngoingSubtasks")])},reloadMastertasks({dispatch:e}){return Promise.all([e("loadMastertasks")])},loadMastertasks({commit:e}){return new Promise(((t,s)=>{Xn.get_auth("v1/mastertasks/?simple=true").then((({mastertasks:s})=>{e("set_mastertasks",s),t(s)})).catch((t=>{e("set_mastertasks",{error:t}),s(t)}))}))},loadEmployees({commit:e}){return new Promise(((t,s)=>{Xn.get_auth_data("v1/employees").then((s=>{e("set_employees",s),t(s)})).catch((t=>{e("set_employees",{error:t}),s(t)}))}))},loadTeams({commit:e}){return new Promise(((t,s)=>{Xn.get_auth_data("v1/teams").then((s=>{e("set_teams",s),t(s)})).catch((t=>{e("set_teams",{error:t}),s(t)}))}))},loadProjects({commit:e}){return new Promise(((t,s)=>{Xn.get_auth_data("v1/projects").then((s=>{e("set_projects",s),t(s)})).catch((t=>{e("set_projects",{error:t}),s(t)}))}))},loadUnscheduledSubtasks({commit:e,state:t},s){let a;return s?(a=s,e("set_unscheduled_subtasks_employee_id",s)):a=t.unscheduledSubtasksEmployeeId?t.unscheduledSubtasksEmployeeId:un.getters["auth/user"]?.id,new Promise(((t,s)=>{Xn.get_auth(`v1/subtasks?type=unscheduled&employee_id=${a}`).then((({subtasks:s})=>{e("set_unscheduled_subtasks",s),t(s)})).catch((t=>{e("set_unscheduled_subtasks",{error:t}),s(t)}))}))},loadOngoingSubtasks({commit:e,state:t},s){let a;return s?(a=s,e("set_ongoing_subtasks_employee_id",s)):t.ongoingSubtasksEmployeeId?a=t.ongoingSubtasksEmployeeId:(a=un.getters["auth/user"]?.id,e("set_ongoing_subtasks_employee_id",a)),new Promise(((t,s)=>{Xn.get_auth(`v1/subtasks?type=ongoing&employee_id=${a}`).then((({subtasks:s})=>{e("set_ongoing_subtasks",s),t(s)})).catch((t=>{e("set_ongoing_subtasks",{error:t}),s(t)}))}))},removeOngoingSubtask({commit:e},t){e("remove_ongoing_subtask",t)}},getters:{mastertasks:e=>e.mastertasks,employees:e=>e.employees,enrichedEmployees:e=>e.employees?e.employees.map((e=>({...e,_fullName:`${e.name} ${e.surname}`,_initials:e.name.charAt(0)+e.surname.charAt(0)}))).sort(((e,t)=>e.namee.teams,projects:e=>e.projects,unscheduledSubtasks:e=>e.unscheduledSubtasks,ongoingSubtasks:e=>e.ongoingSubtasks,isInitialized:e=>e.initialized}},to={install:e=>{e.config.globalProperties.$store.registerModule("tm",eo)}};const so=["lang"],ao={key:0,class:"vuecal__flex vuecal__body",grow:"grow"},io=["onBlur","innerHTML"],lo=["innerHTML"],no=["innerHTML"],oo={class:"vuecal__flex",row:"row",grow:"grow"},ro={key:0,class:"vuecal__time-column"},uo=(0,m._)("span",{class:"vuecal__time-cell-line"},null,-1),co={class:"vuecal__time-cell-label"},mo={key:1,class:"vuecal__flex vuecal__week-numbers",column:"column"},ho=["wrap","column"],po=["onBlur","innerHTML"],vo=["innerHTML"],ko=["innerHTML"],fo=["wrap"],go=["innerHTML"],bo=["innerHTML"],_o={key:2,class:"vuecal__cell-events-count"},wo={key:3,class:"vuecal__no-event"},yo=["onBlur","innerHTML"],Do=["innerHTML"],To={key:2,class:"vuecal__event-time"},Mo={key:0},$o={key:1,class:"days-to-end"},Co=["innerHTML"],jo={key:0,class:"vuecal__scrollbar-check"},Eo=(0,m._)("div",null,null,-1),xo=[Eo];function Wo(e,t,s,i,l,n){const o=(0,m.up)("vuecal-header"),r=(0,m.up)("all-day-bar"),d=(0,m.up)("weekdays-headings"),u=(0,m.up)("vuecal-cell");return(0,m.wg)(),(0,m.iD)("div",{class:(0,k.C_)(["vuecal__flex vuecal",n.cssClasses]),column:"column",ref:"vuecal",lang:s.locale},[(0,m.Wm)(o,{options:e.$props,"edit-events":n.editEvents,"view-props":{views:n.views,weekDaysInHeader:n.weekDaysInHeader},"week-days":n.weekDays,"has-splits":n.hasSplits,"day-splits":n.daySplits,"switch-to-narrower-view":n.switchToNarrowerView},(0,m.Nv)({_:2},[e.$slots["weekday-heading"]?{name:"weekday-heading",fn:(0,m.w5)((({heading:t,view:s})=>[(0,m.WI)(e.$slots,"weekday-heading",{heading:t,view:s})])),key:"0"}:void 0,e.$slots["split-label"]?{name:"split-label",fn:(0,m.w5)((({split:t,view:s})=>[(0,m.WI)(e.$slots,"split-label",{split:t,view:s.id})])),key:"1"}:void 0]),1032,["options","edit-events","view-props","week-days","has-splits","day-splits","switch-to-narrower-view"]),s.hideBody?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",ao,[(0,m.Wm)(a.uT,{name:`slide-fade--${l.transitionDirection}`,appear:s.transitions},{default:(0,m.w5)((()=>[((0,m.wg)(),(0,m.iD)("div",{class:"vuecal__flex",style:{"min-width":"100%"},key:!!s.transitions&&l.view.id,column:"column"},[s.showAllDayEvents&&n.hasTimeColumn&&(!n.cellOrSplitMinWidth||n.isDayView&&!s.minSplitWidth)?((0,m.wg)(),(0,m.j4)(r,(0,k.vs)((0,m.dG)({key:0},n.allDayBar)),{event:(0,m.w5)((({event:t,view:s})=>[(0,m.WI)(e.$slots,"event",{view:s,event:t},(()=>[n.editEvents.title&&t.titleEditable?((0,m.wg)(),(0,m.iD)("div",{key:0,class:"vuecal__event-title vuecal__event-title--edit",contenteditable:"contenteditable",onBlur:e=>n.onEventTitleBlur(e,t),innerHTML:t.title},null,40,io)):t.title?((0,m.wg)(),(0,m.iD)("div",{key:1,class:"vuecal__event-title",innerHTML:t.title},null,8,lo)):(0,m.kq)("",!0),!t.content||n.hasShortEvents||n.isShortMonthView?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",{key:2,class:"vuecal__event-content",innerHTML:t.content},null,8,no))]))])),_:3},16)):(0,m.kq)("",!0),(0,m._)("div",{class:(0,k.C_)(["vuecal__bg",{vuecal__flex:!n.hasTimeColumn}]),column:"column",ref:"vuecal_scroll"},[(0,m._)("div",oo,[n.hasTimeColumn?((0,m.wg)(),(0,m.iD)("div",ro,[s.showAllDayEvents&&n.cellOrSplitMinWidth&&(!n.isDayView||s.minSplitWidth)?((0,m.wg)(),(0,m.iD)("div",{key:0,class:"vuecal__all-day-text",style:(0,k.j5)({height:n.allDayBar.height})},[(0,m._)("span",null,(0,k.zw)(l.texts.allDay),1)],4)):(0,m.kq)("",!0),((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.timeCells,((t,a)=>((0,m.wg)(),(0,m.iD)("div",{class:"vuecal__time-cell",key:a,style:(0,k.j5)(`height: ${s.timeCellHeight}px`)},[(0,m.WI)(e.$slots,"time-cell",{hours:t.hours,minutes:t.minutes},(()=>[uo,(0,m._)("span",co,(0,k.zw)(t.label),1)]))],4)))),128))])):(0,m.kq)("",!0),s.showWeekNumbers&&n.isMonthView?((0,m.wg)(),(0,m.iD)("div",mo,[((0,m.wg)(),(0,m.iD)(m.HY,null,(0,m.Ko)(6,(t=>(0,m._)("div",{class:"vuecal__flex vuecal__week-number-cell",key:t,grow:"grow"},[(0,m.WI)(e.$slots,"week-number-cell",{week:n.getWeekNumber(t-1)},(()=>[(0,m.Uk)((0,k.zw)(n.getWeekNumber(t-1)),1)]))]))),64))])):(0,m.kq)("",!0),(0,m._)("div",{class:(0,k.C_)(["vuecal__flex vuecal__cells vuecal__scrollable-body",`${l.view.id}-view`]),grow:"grow",wrap:!n.cellOrSplitMinWidth||!n.isWeekView,column:!!n.cellOrSplitMinWidth},[n.cellOrSplitMinWidth&&n.isWeekView?((0,m.wg)(),(0,m.j4)(d,{key:0,"transition-direction":l.transitionDirection,"week-days":n.weekDays,"switch-to-narrower-view":n.switchToNarrowerView,style:(0,k.j5)(n.cellOrSplitMinWidth?`min-width: ${n.cellOrSplitMinWidth}px`:""),unscheduledTime:s.unscheduledTime,ref:"vuecal_weekday_heading"},(0,m.Nv)({_:2},[e.$slots["weekday-heading"]?{name:"weekday-heading",fn:(0,m.w5)((({heading:t,view:s})=>[(0,m.WI)(e.$slots,"weekday-heading",{heading:t,view:s})])),key:"0"}:void 0,e.$slots["split-label"]?{name:"split-label",fn:(0,m.w5)((({split:t})=>[(0,m.WI)(e.$slots,"split-label",{split:t,view:l.view.id})])),key:"1"}:void 0]),1032,["transition-direction","week-days","switch-to-narrower-view","style","unscheduledTime"])):n.hasSplits&&s.stickySplitLabels&&s.minSplitWidth?((0,m.wg)(),(0,m.iD)("div",{key:1,class:"vuecal__flex vuecal__split-days-headers",ref:"vuecal_splits_heading",style:(0,k.j5)(n.cellOrSplitMinWidth?`min-width: ${n.cellOrSplitMinWidth}px`:"")},[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.daySplits,((t,s)=>((0,m.wg)(),(0,m.iD)("div",{class:(0,k.C_)(["day-split-header",t.class||!1]),key:s},[(0,m.WI)(e.$slots,"split-label",{split:t,view:l.view.id},(()=>[(0,m.Uk)((0,k.zw)(t.label),1)]))],2)))),128))],4)):(0,m.kq)("",!0),s.showAllDayEvents&&n.hasTimeColumn&&(n.isWeekView&&n.cellOrSplitMinWidth||n.isDayView&&n.hasSplits&&s.minSplitWidth)?((0,m.wg)(),(0,m.j4)(r,(0,k.vs)((0,m.dG)({key:2},n.allDayBar)),{event:(0,m.w5)((({event:t,view:s})=>[(0,m.WI)(e.$slots,"event",{view:s,event:t},(()=>[n.editEvents.title&&t.titleEditable?((0,m.wg)(),(0,m.iD)("div",{key:0,class:"vuecal__event-title vuecal__event-title--edit",contenteditable:"contenteditable",onBlur:e=>n.onEventTitleBlur(e,t),innerHTML:t.title},null,40,po)):t.title?((0,m.wg)(),(0,m.iD)("div",{key:1,class:"vuecal__event-title",innerHTML:t.title},null,8,vo)):(0,m.kq)("",!0),!t.content||n.hasShortEvents||n.isShortMonthView?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",{key:2,class:"vuecal__event-content",innerHTML:t.content},null,8,ko))]))])),_:3},16)):(0,m.kq)("",!0),(0,m._)("div",{class:"vuecal__flex vuecal__cells-body",ref:e=>l.cellsEl=e,grow:"grow",wrap:!n.cellOrSplitMinWidth||!n.isWeekView,style:(0,k.j5)(n.cellOrSplitMinWidth?`min-width: ${n.cellOrSplitMinWidth}px`:"")},[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.viewCells,((t,a)=>((0,m.wg)(),(0,m.j4)(u,{key:a,options:e.$props,"edit-events":n.editEvents,data:t,"cell-width":s.hideWeekdays.length&&(n.isWeekView||n.isMonthView)&&n.cellWidth,"min-timestamp":n.minTimestamp,"max-timestamp":n.maxTimestamp,"cell-splits":n.hasSplits&&n.daySplits||[]},{"cell-content":(0,m.w5)((({events:a,split:i,selectCell:o})=>[(0,m.WI)(e.$slots,"cell-content",{cell:t,view:l.view,goNarrower:o,events:a},(()=>[i&&!s.stickySplitLabels?((0,m.wg)(),(0,m.iD)("div",{key:0,class:"split-label",innerHTML:i.label},null,8,go)):(0,m.kq)("",!0),t.content?((0,m.wg)(),(0,m.iD)("div",{key:1,class:"vuecal__cell-date",innerHTML:t.content},null,8,bo)):(0,m.kq)("",!0),(n.isMonthView&&!s.eventsOnMonthView||n.isYearsOrYearView&&s.eventsCountOnYearView)&&a.length?((0,m.wg)(),(0,m.iD)("div",_o,[(0,m.WI)(e.$slots,"events-count",{view:l.view,events:a},(()=>[(0,m.Uk)((0,k.zw)(a.length),1)]))])):(0,m.kq)("",!0),!n.cellOrSplitHasEvents(a,i)&&n.isWeekOrDayView?((0,m.wg)(),(0,m.iD)("div",wo,[(0,m.WI)(e.$slots,"no-event",{},(()=>[(0,m.Uk)((0,k.zw)(l.texts.noEvent),1)]))])):(0,m.kq)("",!0)]))])),event:(0,m.w5)((({event:a,view:i})=>[(0,m.WI)(e.$slots,"event",{view:i,event:a},(()=>[n.editEvents.title&&a.titleEditable?((0,m.wg)(),(0,m.iD)("div",{key:0,class:"vuecal__event-title vuecal__event-title--edit",contenteditable:"contenteditable",onBlur:e=>n.onEventTitleBlur(e,a),innerHTML:a.title},null,40,yo)):a.title?((0,m.wg)(),(0,m.iD)("div",{key:1,class:"vuecal__event-title",innerHTML:a.title},null,8,Do)):(0,m.kq)("",!0),!s.time||a.allDay||n.isMonthView&&(a.allDay||"short"===s.showAllDayEvents)||n.isShortMonthView?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",To,[(0,m.Uk)((0,k.zw)(l.utils.date.formatTime(a.start,n.TimeFormat)),1),a.endTimeMinutes?((0,m.wg)(),(0,m.iD)("span",Mo," - "+(0,k.zw)(l.utils.date.formatTime(a.end,n.TimeFormat,null,!0)),1)):(0,m.kq)("",!0),a.daysCount>1&&(a.segments[t.formattedDate]||{}).isFirstDay?((0,m.wg)(),(0,m.iD)("small",$o," +"+(0,k.zw)(a.daysCount-1)+(0,k.zw)((l.texts.day[0]||"").toLowerCase()),1)):(0,m.kq)("",!0)])),!a.content||n.isMonthView&&a.allDay&&"short"===s.showAllDayEvents||n.isShortMonthView?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",{key:3,class:"vuecal__event-content",innerHTML:a.content},null,8,Co))]))])),_:2},1032,["options","edit-events","data","cell-width","min-timestamp","max-timestamp","cell-splits"])))),128))],12,fo)],10,ho)])],2)]))])),_:3},8,["name","appear"]),l.ready?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",jo,xo))]))],10,so)}s(30541);let So,Oo,Vo,zo,Ao={},Uo={};class Zo{constructor(e,t=!1){(0,gn.Z)(this,"texts",{}),(0,gn.Z)(this,"dateToMinutes",(e=>60*e.getHours()+e.getMinutes())),zo=this,this._texts=e,t||!Date||Date.prototype.addDays||this._initDatePrototypes()}_initDatePrototypes(){Date.prototype.addDays=function(e){return zo.addDays(this,e)},Date.prototype.subtractDays=function(e){return zo.subtractDays(this,e)},Date.prototype.addHours=function(e){return zo.addHours(this,e)},Date.prototype.subtractHours=function(e){return zo.subtractHours(this,e)},Date.prototype.addMinutes=function(e){return zo.addMinutes(this,e)},Date.prototype.subtractMinutes=function(e){return zo.subtractMinutes(this,e)},Date.prototype.getWeek=function(){return zo.getWeek(this)},Date.prototype.isToday=function(){return zo.isToday(this)},Date.prototype.isLeapYear=function(){return zo.isLeapYear(this)},Date.prototype.format=function(e="YYYY-MM-DD"){return zo.formatDate(this,e)},Date.prototype.formatTime=function(e="HH:mm"){return zo.formatTime(this,e)}}removePrototypes(){delete Date.prototype.addDays,delete Date.prototype.subtractDays,delete Date.prototype.addHours,delete Date.prototype.subtractHours,delete Date.prototype.addMinutes,delete Date.prototype.subtractMinutes,delete Date.prototype.getWeek,delete Date.prototype.isToday,delete Date.prototype.isLeapYear,delete Date.prototype.format,delete Date.prototype.formatTime}updateTexts(e){this._texts=e}_todayFormatted(){return Oo!==(new Date).getDate()&&(So=new Date,Oo=So.getDate(),Vo=`${So.getFullYear()}-${So.getMonth()}-${So.getDate()}`),Vo}addDays(e,t){const s=new Date(e.valueOf());return s.setDate(s.getDate()+t),s}subtractDays(e,t){const s=new Date(e.valueOf());return s.setDate(s.getDate()-t),s}addHours(e,t){const s=new Date(e.valueOf());return s.setHours(s.getHours()+t),s}subtractHours(e,t){const s=new Date(e.valueOf());return s.setHours(s.getHours()-t),s}addMinutes(e,t){const s=new Date(e.valueOf());return s.setMinutes(s.getMinutes()+t),s}subtractMinutes(e,t){const s=new Date(e.valueOf());return s.setMinutes(s.getMinutes()-t),s}getWeek(e){const t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())),s=t.getUTCDay()||7;t.setUTCDate(t.getUTCDate()+4-s);const a=new Date(Date.UTC(t.getUTCFullYear(),0,1));return Math.ceil(((t-a)/864e5+1)/7)}isToday(e){return`${e.getFullYear()}-${e.getMonth()}-${e.getDate()}`===this._todayFormatted()}isLeapYear(e){const t=e.getFullYear();return!(t%400)||t%100&&!(t%4)}getPreviousFirstDayOfWeek(e=null,t){const s=e&&new Date(e.valueOf())||new Date,a=t?7:6;return s.setDate(s.getDate()-(s.getDay()+a)%7),s}stringToDate(e){return e instanceof Date?e:(10===e.length&&(e+=" 00:00"),new Date(e.replace(/-/g,"/")))}countDays(e,t){"string"===typeof e&&(e=e.replace(/-/g,"/")),"string"===typeof t&&(t=t.replace(/-/g,"/")),e=new Date(e).setHours(0,0,0,0),t=new Date(t).setHours(0,0,1,0);const s=60*(new Date(t).getTimezoneOffset()-new Date(e).getTimezoneOffset())*1e3;return Math.ceil((t-e-s)/864e5)}datesInSameTimeStep(e,t,s){return Math.abs(e.getTime()-t.getTime())<=60*s*1e3}formatDate(e,t="YYYY-MM-DD",s=null){if(s||(s=this._texts),t||(t="YYYY-MM-DD"),"YYYY-MM-DD"===t)return this.formatDateLite(e);Ao={},Uo={};const a={YYYY:()=>this._hydrateDateObject(e,s).YYYY,YY:()=>this._hydrateDateObject(e,s).YY(),M:()=>this._hydrateDateObject(e,s).M,MM:()=>this._hydrateDateObject(e,s).MM(),MMM:()=>this._hydrateDateObject(e,s).MMM(),MMMM:()=>this._hydrateDateObject(e,s).MMMM(),MMMMG:()=>this._hydrateDateObject(e,s).MMMMG(),D:()=>this._hydrateDateObject(e,s).D,DD:()=>this._hydrateDateObject(e,s).DD(),S:()=>this._hydrateDateObject(e,s).S(),d:()=>this._hydrateDateObject(e,s).d,dd:()=>this._hydrateDateObject(e,s).dd(),ddd:()=>this._hydrateDateObject(e,s).ddd(),dddd:()=>this._hydrateDateObject(e,s).dddd(),HH:()=>this._hydrateTimeObject(e,s).HH,H:()=>this._hydrateTimeObject(e,s).H,hh:()=>this._hydrateTimeObject(e,s).hh,h:()=>this._hydrateTimeObject(e,s).h,am:()=>this._hydrateTimeObject(e,s).am,AM:()=>this._hydrateTimeObject(e,s).AM,mm:()=>this._hydrateTimeObject(e,s).mm,m:()=>this._hydrateTimeObject(e,s).m};return t.replace(/(\{[a-zA-Z]+\}|[a-zA-Z]+)/g,((e,t)=>{const s=a[t.replace(/\{|\}/g,"")];return void 0!==s?s():t}))}formatDateLite(e){const t=e.getMonth()+1,s=e.getDate();return`${e.getFullYear()}-${t<10?"0":""}${t}-${s<10?"0":""}${s}`}formatTime(e,t="HH:mm",s=null,a=!1){let i=!1;if(a){const[t,s,a]=[e.getHours(),e.getMinutes(),e.getSeconds()];t+s+a===141&&(i=!0)}if(e instanceof Date&&"HH:mm"===t)return i?"24:00":this.formatTimeLite(e);Uo={},s||(s=this._texts);const l=this._hydrateTimeObject(e,s),n=t.replace(/(\{[a-zA-Z]+\}|[a-zA-Z]+)/g,((e,t)=>{const s=l[t.replace(/\{|\}/g,"")];return void 0!==s?s:t}));return i?n.replace("23:59","24:00"):n}formatTimeLite(e){const t=e.getHours(),s=e.getMinutes();return`${(t<10?"0":"")+t}:${(s<10?"0":"")+s}`}_nth(e){if(e>3&&e<21)return"th";switch(e%10){case 1:return"st";case 2:return"nd";case 3:return"rd";default:return"th"}}_hydrateDateObject(e,t){if(Ao.D)return Ao;const s=e.getFullYear(),a=e.getMonth()+1,i=e.getDate(),l=e.getDay(),n=(l-1+7)%7;return Ao={YYYY:s,YY:()=>s.toString().substring(2),M:a,MM:()=>(a<10?"0":"")+a,MMM:()=>t.months[a-1].substring(0,3),MMMM:()=>t.months[a-1],MMMMG:()=>(t.monthsGenitive||t.months)[a-1],D:i,DD:()=>(i<10?"0":"")+i,S:()=>this._nth(i),d:n+1,dd:()=>t.weekDays[n][0],ddd:()=>t.weekDays[n].substr(0,3),dddd:()=>t.weekDays[n]},Ao}_hydrateTimeObject(e,t){if(Uo.am)return Uo;let s,a;e instanceof Date?(s=e.getHours(),a=e.getMinutes()):(s=Math.floor(e/60),a=Math.floor(e%60));const i=s%12?s%12:12,l=(t||{am:"am",pm:"pm"})[24===s||s<12?"am":"pm"];return Uo={H:s,h:i,HH:(s<10?"0":"")+s,hh:(i<10?"0":"")+i,am:l,AM:l.toUpperCase(),m:a,mm:(a<10?"0":"")+a},Uo}}const Ho=1440;class Fo{constructor(e){(0,gn.Z)(this,"_vuecal",null),(0,gn.Z)(this,"selectCell",((e=!1,t,s)=>{this._vuecal.$emit("cell-click",s?{date:t,split:s}:t),this._vuecal.clickToNavigate||e?this._vuecal.switchToNarrowerView():this._vuecal.dblclickToNavigate&&"ontouchstart"in window&&(this._vuecal.domEvents.dblTapACell.taps++,setTimeout((()=>this._vuecal.domEvents.dblTapACell.taps=0),this._vuecal.domEvents.dblTapACell.timeout),this._vuecal.domEvents.dblTapACell.taps>=2&&(this._vuecal.domEvents.dblTapACell.taps=0,this._vuecal.switchToNarrowerView(),this._vuecal.$emit("cell-dblclick",s?{date:t,split:s}:t)))})),(0,gn.Z)(this,"keyPressEnterCell",((e,t)=>{this._vuecal.$emit("cell-keypress-enter",t?{date:e,split:t}:e),this._vuecal.switchToNarrowerView()})),(0,gn.Z)(this,"getPosition",(e=>{const{left:t,top:s}=this._vuecal.cellsEl.getBoundingClientRect(),{clientX:a,clientY:i}="ontouchstart"in window&&e.touches?e.touches[0]:e;return{x:a-t,y:i-s}})),(0,gn.Z)(this,"minutesAtCursor",(e=>{let t=0,s={x:0,y:0};const{timeStep:a,timeCellHeight:i,timeFrom:l}=this._vuecal.$props;return"number"===typeof e?t=e:"object"===typeof e&&(s=this.getPosition(e),t=Math.round(s.y*a/parseInt(i)+l)),{minutes:Math.max(Math.min(t,Ho),0),cursorCoords:s}})),this._vuecal=e}}const Io=2,Po=1440;let Lo,No,Yo;class qo{constructor(e,t){(0,gn.Z)(this,"_vuecal",null),(0,gn.Z)(this,"eventDefaults",{_eid:null,start:"",startTimeMinutes:0,end:"",endTimeMinutes:0,title:"",content:"",background:!1,allDay:!1,segments:null,repeat:null,daysCount:1,deletable:!0,deleting:!1,titleEditable:!0,resizable:!0,resizing:!1,draggable:!0,dragging:!1,draggingStatic:!1,focused:!1,class:""}),this._vuecal=e,Lo=t}createAnEvent(e,t,s){if("string"===typeof e&&(e=Lo.stringToDate(e)),!(e instanceof Date))return!1;const a=Lo.dateToMinutes(e);t=1*t||60*Io;const i=a+t,l=Lo.addMinutes(new Date(e),t);s.end&&("string"===typeof s.end&&(s.end=Lo.stringToDate(s.end)),s.endTimeMinutes=Lo.dateToMinutes(s.end));const n={...this.eventDefaults,_eid:`${this._vuecal._.uid}_${this._vuecal.eventIdIncrement++}`,start:e,startTimeMinutes:a,end:l,endTimeMinutes:i,segments:null,...s};return"function"!==typeof this._vuecal.onEventCreate||this._vuecal.onEventCreate(n,(()=>this.deleteAnEvent(n)))?(n.startDateF!==n.endDateF&&(n.daysCount=Lo.countDays(n.start,n.end)),this._vuecal.mutableEvents.push(n),this._vuecal.addEventsToView([n]),this._vuecal.emitWithEvent("event-create",n),this._vuecal.$emit("event-change",{event:this._vuecal.cleanupEvent(n),originalEvent:null}),n):void 0}addEventSegment(e){e.segments||(e.segments={},e.segments[Lo.formatDateLite(e.start)]={start:e.start,startTimeMinutes:e.startTimeMinutes,endTimeMinutes:Po,isFirstDay:!0,isLastDay:!1});const t=e.segments[Lo.formatDateLite(e.end)];t&&(t.isLastDay=!1,t.endTimeMinutes=Po);const s=Lo.addDays(e.end,1),a=Lo.formatDateLite(s);return s.setHours(0,0,0,0),e.segments[a]={start:s,startTimeMinutes:0,endTimeMinutes:e.endTimeMinutes,isFirstDay:!1,isLastDay:!0},e.end=Lo.addMinutes(s,e.endTimeMinutes),e.daysCount=Object.keys(e.segments).length,a}removeEventSegment(e){let t=Object.keys(e.segments).length;if(t<=1)return Lo.formatDateLite(e.end);delete e.segments[Lo.formatDateLite(e.end)],t--;const s=Lo.subtractDays(e.end,1),a=Lo.formatDateLite(s),i=e.segments[a];return t?i&&(i.isLastDay=!0,i.endTimeMinutes=e.endTimeMinutes):e.segments=null,e.daysCount=t||1,e.end=s,a}createEventSegments(e,t,s){const a=t.getTime(),i=s.getTime();let l,n,o,r=e.start.getTime(),d=e.end.getTime(),u=!1;e.end.getHours()||e.end.getMinutes()||(d-=1e3),e.segments={},e.repeat?(l=a,n=Math.min(i,e.repeat.until?Lo.stringToDate(e.repeat.until).getTime():i)):(l=Math.max(a,r),n=Math.min(i,d));while(l<=n){let t=!1;const s=Lo.addDays(new Date(l),1).setHours(0,0,0,0);let a,i,c,m;if(e.repeat){const s=new Date(l),n=Lo.formatDateLite(s);(u||e.occurrences&&e.occurrences[n])&&(u||(r=e.occurrences[n].start,o=new Date(r).setHours(0,0,0,0),d=e.occurrences[n].end),u=!0,t=!0),a=l===o,i=n===Lo.formatDateLite(new Date(d)),c=new Date(a?r:l),m=Lo.formatDateLite(c),i&&(u=!1)}else t=!0,a=l===r,i=n===d&&s>n,c=a?e.start:new Date(l),m=Lo.formatDateLite(a?e.start:c);t&&(e.segments[m]={start:c,startTimeMinutes:a?e.startTimeMinutes:0,endTimeMinutes:i?e.endTimeMinutes:Po,isFirstDay:a,isLastDay:i}),l=s}return e}deleteAnEvent(e){this._vuecal.emitWithEvent("event-delete",e),this._vuecal.mutableEvents=this._vuecal.mutableEvents.filter((t=>t._eid!==e._eid)),this._vuecal.view.events=this._vuecal.view.events.filter((t=>t._eid!==e._eid))}checkCellOverlappingEvents(e,t){Yo=e.slice(0),No={},e.forEach((e=>{Yo.shift(),No[e._eid]||(No[e._eid]={overlaps:[],start:e.start,position:0,sameOverlaps:[]}),No[e._eid].position=0,Yo.forEach((s=>{No[s._eid]||(No[s._eid]={overlaps:[],start:s.start,position:0,sameOverlaps:[]});const a=this.eventInRange(s,e.start,e.end),i=this.eventSameRange(s,e),l=t.overlapsPerTimeStep?Lo.datesInSameTimeStep(e.start,s.start,t.timeStep):1;if(e.background||e.allDay||s.background||s.allDay||!a||!l){let t,a;(t=(No[e._eid]||{overlaps:[]}).overlaps.indexOf(s._eid))>-1&&No[e._eid].overlaps.splice(t,1),(a=(No[s._eid]||{overlaps:[]}).overlaps.indexOf(e._eid))>-1&&No[s._eid].overlaps.splice(a,1),No[s._eid].position--}else No[e._eid].overlaps.push(s._eid),No[e._eid].overlaps=[...new Set(No[e._eid].overlaps)],No[s._eid].overlaps.push(e._eid),No[s._eid].overlaps=[...new Set(No[s._eid].overlaps)],No[s._eid].position++,i&&(No[e._eid].sameOverlaps.push(s._eid),No[e._eid].sameOverlaps=[...new Set(No[e._eid].sameOverlaps)],No[s._eid].sameOverlaps.push(e._eid),No[s._eid].sameOverlaps=[...new Set(No[s._eid].sameOverlaps)])}))}));let s=0;for(const a in No){const e=No[a],t=e.overlaps.map((e=>({id:e,start:No[e].start})));t.push({id:a,start:e.start}),t.sort(((e,t)=>e.startt.start?1:e.id>t.id?-1:1)),e.position=t.findIndex((e=>e.id===a)),s=Math.max(this.getOverlapsStreak(e,No),s)}return[No,s]}getOverlapsStreak(e,t={}){let s=e.overlaps.length+1,a=[];return e.overlaps.forEach((s=>{if(!a.includes(s)){const i=e.overlaps.filter((e=>e!==s));i.forEach((e=>{t[e].overlaps.includes(s)||a.push(e)}))}})),a=[...new Set(a)],s-=a.length,s}eventInRange(e,t,s){if(e.allDay||!this._vuecal.time){const a=new Date(e.start).setHours(0,0,0,0),i=new Date(e.end).setHours(23,59,0,0);return i>=new Date(t).setHours(0,0,0,0)&&a<=new Date(s).setHours(0,0,0,0)}const a=e.start.getTime(),i=e.end.getTime();return at.getTime()}eventSameRange(e,t){const s=e.start.getTime()==t.start.getTime(),a=e.end.getTime()==t.end.getTime();return s&&a}}const Bo={class:"vuecal__header"},Ro={key:0,class:"vuecal__flex vuecal__menu",role:"tablist","aria-label":"Calendar views navigation"},Ko=["onDragenter","onDragleave","onClick","aria-label"],Jo={key:1,class:"vuecal__title-bar"},Go=["aria-label"],Xo={class:"vuecal__flex vuecal__title",grow:""},Qo=["aria-label"],er={key:0,class:"vuecal__flex vuecal__split-days-headers"};function tr(e,t,s,i,l,n){const o=(0,m.up)("weekdays-headings");return(0,m.wg)(),(0,m.iD)("div",Bo,[s.options.hideViewSelector?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",Ro,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(s.viewProps.views,((t,a)=>((0,m.wg)(),(0,m.iD)(m.HY,{key:a},[t.enabled?((0,m.wg)(),(0,m.iD)("button",{key:0,class:(0,k.C_)(["vuecal__view-btn",{"vuecal__view-btn--active":n.view.id===a,"vuecal__view-btn--highlighted":e.highlightedControl===a}]),type:"button",onDragenter:t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragEnter(t,a,e.$data),onDragleave:t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragLeave(t,a,e.$data),onClick:e=>n.switchView(a,null,!0),"aria-label":`${t.label} view`},(0,k.zw)(t.label),43,Ko)):(0,m.kq)("",!0)],64)))),128))])),s.options.hideTitleBar?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",Jo,[(0,m._)("button",{class:(0,k.C_)(["vuecal__arrow vuecal__arrow--prev",{"vuecal__arrow--highlighted":"previous"===e.highlightedControl}]),type:"button",onClick:t[0]||(t[0]=(...e)=>n.previous&&n.previous(...e)),onDragenter:t[1]||(t[1]=t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragEnter(t,"previous",e.$data)),onDragleave:t[2]||(t[2]=t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragLeave(t,"previous",e.$data)),"aria-label":`Previous ${n.view.id}`},[(0,m.WI)(e.$slots,"arrow-prev")],42,Go),(0,m._)("div",Xo,[(0,m.Wm)(a.uT,{name:s.options.transitions?`slide-fade--${n.transitionDirection}`:""},{default:(0,m.w5)((()=>[((0,m.wg)(),(0,m.j4)((0,m.LL)(n.broaderView?"button":"span"),{type:!!n.broaderView&&"button",key:`${n.view.id}${n.view.startDate.toString()}`,onClick:t[3]||(t[3]=e=>!!n.broaderView&&n.switchToBroaderView()),"aria-label":!!n.broaderView&&`Go to ${n.broaderView} view`},{default:(0,m.w5)((()=>[(0,m.WI)(e.$slots,"title")])),_:3},8,["type","aria-label"]))])),_:3},8,["name"])]),s.options.todayButton?((0,m.wg)(),(0,m.iD)("button",{key:0,class:(0,k.C_)(["vuecal__today-btn",{"vuecal__today-btn--highlighted":"today"===e.highlightedControl}]),type:"button",onClick:t[4]||(t[4]=(...e)=>n.goToToday&&n.goToToday(...e)),onDragenter:t[5]||(t[5]=t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragEnter(t,"today",e.$data)),onDragleave:t[6]||(t[6]=t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragLeave(t,"today",e.$data)),"aria-label":"Today"},[(0,m.WI)(e.$slots,"today-button")],34)):(0,m.kq)("",!0),(0,m._)("button",{class:(0,k.C_)(["vuecal__arrow vuecal__arrow--next",{"vuecal__arrow--highlighted":"next"===e.highlightedControl}]),type:"button",onClick:t[7]||(t[7]=(...e)=>n.next&&n.next(...e)),onDragenter:t[8]||(t[8]=t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragEnter(t,"next",e.$data)),onDragleave:t[9]||(t[9]=t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragLeave(t,"next",e.$data)),"aria-label":`Next ${n.view.id}`},[(0,m.WI)(e.$slots,"arrow-next")],42,Qo)])),s.viewProps.weekDaysInHeader?((0,m.wg)(),(0,m.j4)(o,{key:2,"week-days":s.weekDays,"transition-direction":n.transitionDirection,"switch-to-narrower-view":s.switchToNarrowerView},(0,m.Nv)({_:2},[e.$slots["weekday-heading"]?{name:"weekday-heading",fn:(0,m.w5)((({heading:t,view:s})=>[(0,m.WI)(e.$slots,"weekday-heading",{heading:t,view:s})])),key:"0"}:void 0,e.$slots["split-label"]?{name:"split-label",fn:(0,m.w5)((({split:t})=>[(0,m.WI)(e.$slots,"split-label",{split:t,view:n.view})])),key:"1"}:void 0]),1032,["week-days","transition-direction","switch-to-narrower-view"])):(0,m.kq)("",!0),(0,m.Wm)(a.uT,{name:`slide-fade--${n.transitionDirection}`},{default:(0,m.w5)((()=>[n.showDaySplits?((0,m.wg)(),(0,m.iD)("div",er,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(s.daySplits,((t,s)=>((0,m.wg)(),(0,m.iD)("div",{class:(0,k.C_)(["day-split-header",t.class||!1]),key:s},[(0,m.WI)(e.$slots,"split-label",{split:t,view:n.view.id},(()=>[(0,m.Uk)((0,k.zw)(t.label),1)]))],2)))),128))])):(0,m.kq)("",!0)])),_:3},8,["name"])])}const sr={class:"vuecal__flex vuecal__weekdays-headings",ref:"vuecal_weekday_heading"},ar=["onClick"],ir={class:"vuecal__flex weekday-label",grow:""},lr={class:"full"},nr={class:"small"},or={class:"xsmall"},rr={key:0},dr={key:0,class:"vuecal__flex vuecal__split-days-headers",grow:""};function ur(e,t,s,i,l,n){return(0,m.wg)(),(0,m.iD)("div",sr,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.headings,((i,l)=>((0,m.wg)(),(0,m.iD)(m.HY,{key:l},[i.hide?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",{key:0,class:(0,k.C_)(["vuecal__flex vuecal__heading",{today:i.today,"today-cell":i.today,clickable:n.cellHeadingsClickable,"yesterday-cell":new Date(i.date).toLocaleDateString("sk-SK")==new Date((new Date).setDate((new Date).getDate()-1)).toLocaleDateString("sk-SK")}]),style:(0,k.j5)(n.weekdayCellStyles),onClick:e=>"week"===n.view.id&&n.selectCell(i.date,e),onDblclick:t[0]||(t[0]=e=>"week"===n.view.id&&n.vuecal.dblclickToNavigate&&s.switchToNarrowerView())},[(0,m.Wm)(a.uT,{name:`slide-fade--${s.transitionDirection}`,appear:n.vuecal.transitions},{default:(0,m.w5)((()=>[((0,m.wg)(),(0,m.iD)("div",{class:"vuecal__flex",column:"",key:!!n.vuecal.transitions&&`${l}-${i.dayOfMonth}`},[(0,m._)("div",ir,[(0,m.WI)(e.$slots,"weekday-heading",{heading:n.cleanupHeading(i),view:n.view},(()=>[(0,m._)("span",lr,(0,k.zw)(i.full),1),(0,m._)("span",nr,(0,k.zw)(i.small),1),(0,m._)("span",or,(0,k.zw)(i.xsmall),1),i.dayOfMonth?((0,m.wg)(),(0,m.iD)("span",rr," "+(0,k.zw)(i.dayOfMonth),1)):(0,m.kq)("",!0)]))]),n.vuecal.hasSplits&&n.vuecal.stickySplitLabels?((0,m.wg)(),(0,m.iD)("div",dr,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.vuecal.daySplits,((t,s)=>((0,m.wg)(),(0,m.iD)("div",{class:(0,k.C_)(["day-split-header",t.class||!1]),key:s},[(0,m.WI)(e.$slots,"split-label",{split:t,view:n.view},(()=>[(0,m.Uk)((0,k.zw)(t.label),1)]))],2)))),128))])):(0,m.kq)("",!0)]))])),_:2},1032,["name","appear"])],46,ar))],64)))),128))],512)}var cr={inject:["vuecal","utils","view"],props:{transitionDirection:{type:String,default:"right"},weekDays:{type:Array,default:()=>[]},switchToNarrowerView:{type:Function,default:()=>{}},unscheduledTime:{type:Array,default:[]}},methods:{selectCell(e,t){e.getTime()!==this.view.selectedDate.getTime()&&(this.view.selectedDate=e),this.utils.cell.selectCell(!1,e,t)},cleanupHeading:e=>({label:e.full,date:e.date,unscheduledTime:e.unscheduledTime,name:e.name,initials:e.initials,...e.today?{today:e.today}:{}}),onTimelineScroll(e){this.$refs["vuecal_weekday_heading"].style.top=`${e}px`}},computed:{headings(){if(!["month","week"].includes(this.view.id))return[];let e=!1;const t=this.weekDays.map(((t,s)=>{const a=this.utils.date.addDays(this.view.startDate,this.vuecal.startWeekOnSunday?s-1:s);let i=null,l=null,n=null;return this.unscheduledTime[s]?.time&&(i=Math.floor(this.unscheduledTime[s].time/60)+","+String(this.unscheduledTime[s].time%60)[0]),this.unscheduledTime[s]?.name&&this.unscheduledTime[s]?.name&&(l=this.unscheduledTime[s].name+" "+this.unscheduledTime[s].surname,n=this.unscheduledTime[s].name.charAt(0).toUpperCase()+this.unscheduledTime[s].surname.charAt(0).toUpperCase()),{hide:t.hide,full:t.label,small:t.short||t.label.substr(0,3),xsmall:t.short||t.label.substr(0,1),unscheduledTime:i,name:l,initials:n,..."week"===this.view.id?{dayOfMonth:a.getDate(),date:a,today:!e&&this.utils.date.isToday(a)&&!e++}:{}}}));return t},cellWidth(){return 100/(7-this.weekDays.reduce(((e,t)=>e+t.hide),0))},weekdayCellStyles(){return{...this.vuecal.hideWeekdays.length?{width:`${this.cellWidth}%`}:{}}},cellHeadingsClickable(){return"week"===this.view.id&&(this.vuecal.clickToNavigate||this.vuecal.dblclickToNavigate)}}};const mr=(0,$.Z)(cr,[["render",ur]]);var hr=mr,pr={inject:["vuecal","previous","next","switchView","updateSelectedDate","modules","view"],components:{WeekdaysHeadings:hr},props:{options:{type:Object,default:()=>({})},editEvents:{type:Object,required:!0},hasSplits:{type:[Boolean,Number],default:!1},daySplits:{type:Array,default:()=>[]},viewProps:{type:Object,default:()=>({})},weekDays:{type:Array,default:()=>[]},switchToNarrowerView:{type:Function,default:()=>{}}},data:()=>({highlightedControl:null}),methods:{goToToday(){this.updateSelectedDate(new Date((new Date).setHours(0,0,0,0)))},switchToBroaderView(){this.transitionDirection="left",this.broaderView&&this.switchView(this.broaderView)}},computed:{transitionDirection:{get(){return this.vuecal.transitionDirection},set(e){this.vuecal.transitionDirection=e}},broaderView(){const{enabledViews:e}=this.vuecal;return e[e.indexOf(this.view.id)-1]},showDaySplits(){return"day"===this.view.id&&this.hasSplits&&this.options.stickySplitLabels&&!this.options.minSplitWidth},dnd(){return this.modules.dnd}}};const vr=(0,$.Z)(pr,[["render",tr]]);var kr=vr;const fr={key:0,class:"vuecal__all-day-text",style:{width:"3em"}};function gr(e,t,s,a,i,l){const n=(0,m.up)("vuecal-cell");return(0,m.wg)(),(0,m.iD)("div",{class:"vuecal__flex vuecal__all-day",style:(0,k.j5)(s.cellOrSplitMinWidth&&{height:s.height})},[s.cellOrSplitMinWidth?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",fr,[(0,m._)("span",null,(0,k.zw)(s.label),1)])),(0,m._)("div",{class:(0,k.C_)(["vuecal__flex vuecal__cells",`${l.view.id}-view`]),grow:"",style:(0,k.j5)(s.cellOrSplitMinWidth?`min-width: ${s.cellOrSplitMinWidth}px`:"")},[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(s.cells,((t,a)=>((0,m.wg)(),(0,m.j4)(n,{key:a,options:s.options,"edit-events":l.editEvents,data:t,"all-day":!0,"cell-width":s.options.hideWeekdays.length&&(l.vuecal.isWeekView||l.vuecal.isMonthView)&&l.vuecal.cellWidth,"min-timestamp":s.options.minTimestamp,"max-timestamp":s.options.maxTimestamp,"cell-splits":s.daySplits},{event:(0,m.w5)((({event:t,view:s})=>[(0,m.WI)(e.$slots,"event",{view:s,event:t})])),_:2},1032,["options","edit-events","data","cell-width","min-timestamp","max-timestamp","cell-splits"])))),128))],6)],4)}const br=["data-split","aria-label","onTouchstart","onMousedown","onClick","onDragover","onDrop"],_r={key:0,class:"cell-time-labels"},wr=["innerHTML"],yr={key:2,class:"vuecal__cell-events"},Dr=["title"];function Tr(e,t,s,i,l,n){const o=(0,m.up)("event");return(0,m.wg)(),(0,m.j4)(a.W3,{class:(0,k.C_)(["vuecal__cell",n.cellClasses]),name:`slide-fade--${n.transitionDirection}`,tag:"div",appear:s.options.transitions,style:(0,k.j5)(n.cellStyles)},{default:(0,m.w5)((()=>[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.splitsCount?n.splits:1,((i,l)=>((0,m.wg)(),(0,m.iD)("div",{class:(0,k.C_)(["vuecal__flex vuecal__cell-content",n.splitsCount&&n.splitClasses(i)]),key:s.options.transitions?`${n.view.id}-${s.data.content}-${l}`:l,"data-split":!!n.splitsCount&&i.id,column:"",tabindex:"0","aria-label":s.data.content,onFocus:t[0]||(t[0]=e=>n.onCellFocus(e)),onKeypress:t[1]||(t[1]=(0,a.D2)((e=>n.onCellkeyPressEnter(e)),["enter"])),onTouchstart:e=>!n.isDisabled&&n.onCellTouchStart(e,n.splitsCount?i.id:null),onMousedown:e=>!n.isDisabled&&n.onCellMouseDown(e,n.splitsCount?i.id:null),onClick:e=>!n.isDisabled&&n.onCellClick(e,i),onDblclick:t[2]||(t[2]=e=>!n.isDisabled&&n.onCellDblClick(e)),onContextmenu:t[3]||(t[3]=e=>!n.isDisabled&&s.options.cellContextmenu&&n.onCellContextMenu(e)),onDragenter:t[4]||(t[4]=t=>!n.isDisabled&&s.editEvents.drag&&n.dnd&&n.dnd.cellDragEnter(t,e.$data,s.data.startDate)),onDragover:t=>!n.isDisabled&&s.editEvents.drag&&n.dnd&&n.dnd.cellDragOver(t,e.$data,s.data.startDate,n.splitsCount?i.id:null),onDragleave:t[5]||(t[5]=t=>!n.isDisabled&&s.editEvents.drag&&n.dnd&&n.dnd.cellDragLeave(t,e.$data,s.data.startDate)),onDrop:t=>!n.isDisabled&&s.editEvents.drag&&n.dnd&&n.dnd.cellDragDrop(t,e.$data,s.data.startDate,n.splitsCount?i.id:null)},[s.options.showTimeInCells&&s.options.time&&n.isWeekOrDayView&&!s.allDay?((0,m.wg)(),(0,m.iD)("div",_r,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.vuecal.timeCells,((e,t)=>((0,m.wg)(),(0,m.iD)("span",{class:"cell-time-label",key:t},(0,k.zw)(e.label),1)))),128))])):(0,m.kq)("",!0),n.isWeekOrDayView&&!s.allDay&&n.specialHours.length?((0,m.wg)(!0),(0,m.iD)(m.HY,{key:1},(0,m.Ko)(n.specialHours,((e,t)=>((0,m.wg)(),(0,m.iD)("div",{class:(0,k.C_)(["vuecal__special-hours",`vuecal__special-hours--day${e.day} ${e.class}`]),style:(0,k.j5)(`height: ${e.height}px;top: ${e.top}px`)},[e.label?((0,m.wg)(),(0,m.iD)("div",{key:0,class:"special-hours-label",innerHTML:e.label},null,8,wr)):(0,m.kq)("",!0)],6)))),256)):(0,m.kq)("",!0),(0,m.WI)(e.$slots,"cell-content",{events:n.events,selectCell:e=>n.selectCell(e,!0),split:!!n.splitsCount&&i}),n.eventsCount&&(n.isWeekOrDayView||"month"===n.view.id&&s.options.eventsOnMonthView)?((0,m.wg)(),(0,m.iD)("div",yr,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.splitsCount?i.events:n.events,((t,a)=>((0,m.wg)(),(0,m.j4)(o,{key:a,"cell-formatted-date":s.data.formattedDate,event:t,"all-day":s.allDay,"cell-events":n.splitsCount?i.events:n.events,cellOverlaps:(n.splitsCount?i.overlaps[t._eid]:e.cellOverlaps[t._eid])||[],allOverlaps:(n.splitsCount?i.overlaps:e.cellOverlaps)||[],"event-position":((n.splitsCount?i.overlaps[t._eid]:e.cellOverlaps[t._eid])||[]).position,"overlaps-streak":n.splitsCount?i.overlapsStreak:e.cellOverlapsStreak},{event:(0,m.w5)((({event:t,view:s})=>[(0,m.WI)(e.$slots,"event",{view:s,event:t})])),_:2},1032,["cell-formatted-date","event","all-day","cell-events","cellOverlaps","allOverlaps","event-position","overlaps-streak"])))),128))])):(0,m.kq)("",!0)],42,br)))),128)),n.timelineVisible?((0,m.wg)(),(0,m.iD)("div",{class:"vuecal__now-line",style:(0,k.j5)(`top: ${n.todaysTimePosition}px`),key:s.options.transitions?`${n.view.id}-now-line`:"now-line",title:n.utils.date.formatTime(n.vuecal.now)},null,12,Dr)):(0,m.kq)("",!0)])),_:3},8,["class","name","appear","style"])}const Mr=["eventId","draggable"];function $r(e,t,s,i,l,n){return(0,m.wg)(),(0,m.iD)("div",{class:(0,k.C_)(["vuecal__event",n.eventClasses]),style:(0,k.j5)(n.eventStyles),eventId:`event-id-${s.event.id}`,tabindex:"0",onFocus:t[4]||(t[4]=(...e)=>n.focusEvent&&n.focusEvent(...e)),onKeypress:t[5]||(t[5]=(0,a.D2)((0,a.iM)(((...e)=>n.onEnterKeypress&&n.onEnterKeypress(...e)),["stop"]),["enter"])),onMouseenter:t[6]||(t[6]=(...e)=>n.onMouseEnter&&n.onMouseEnter(...e)),onMouseleave:t[7]||(t[7]=(...e)=>n.onMouseLeave&&n.onMouseLeave(...e)),onTouchstart:t[8]||(t[8]=(0,a.iM)(((...e)=>n.onTouchStart&&n.onTouchStart(...e)),["stop"])),onMousedown:t[9]||(t[9]=e=>n.onMouseDown(e)),onMouseup:t[10]||(t[10]=(...e)=>n.onMouseUp&&n.onMouseUp(...e)),onTouchend:t[11]||(t[11]=(...e)=>n.onMouseUp&&n.onMouseUp(...e)),onTouchmove:t[12]||(t[12]=(...e)=>n.onTouchMove&&n.onTouchMove(...e)),onDblclick:t[13]||(t[13]=(...e)=>n.onDblClick&&n.onDblClick(...e)),draggable:n.draggable,onDragstart:t[14]||(t[14]=e=>n.draggable&&n.onDragStart(e)),onDragend:t[15]||(t[15]=e=>n.draggable&&n.onDragEnd())},[n.vuecal.editEvents.delete&&s.event.deletable?((0,m.wg)(),(0,m.iD)("div",{key:0,class:"vuecal__event-delete",onClick:t[0]||(t[0]=(0,a.iM)(((...e)=>n.deleteEvent&&n.deleteEvent(...e)),["stop"])),onTouchstart:t[1]||(t[1]=(0,a.iM)(((...e)=>n.touchDeleteEvent&&n.touchDeleteEvent(...e)),["stop"]))},(0,k.zw)(n.vuecal.texts.deleteEvent),33)):(0,m.kq)("",!0),(0,m.WI)(e.$slots,"event",{event:s.event,view:n.view.id}),n.resizable?((0,m.wg)(),(0,m.iD)("div",{key:1,class:"vuecal__event-resize-handle",contenteditable:"false",onMousedown:t[2]||(t[2]=(0,a.iM)(((...e)=>n.onResizeHandleMouseDown&&n.onResizeHandleMouseDown(...e)),["stop","prevent"])),onTouchstart:t[3]||(t[3]=(0,a.iM)(((...e)=>n.onResizeHandleMouseDown&&n.onResizeHandleMouseDown(...e)),["stop","prevent"]))},null,32)):(0,m.kq)("",!0)],46,Mr)}var Cr={inject:["vuecal","utils","modules","view","domEvents","editEvents"],props:{cellFormattedDate:{type:String,default:""},event:{type:Object,default:()=>({})},cellEvents:{type:Array,default:()=>[]},cellOverlaps:{type:Object,default:()=>({})},allOverlaps:{type:Object,default:()=>({})},eventPosition:{type:Number,default:0},overlapsStreak:{type:Number,default:0},allDay:{type:Boolean,default:!1}},data:()=>({touch:{dragThreshold:30,startX:0,startY:0,dragged:!1}}),methods:{onMouseDown(e,t=!1){let s;if("BUTTON"==e.target.nodeName?s=e.target:"IMG"==e.srcElement.nodeName&&(s=e.target.parentElement),s?.classList?.contains("v-btn__content")||"BUTTON"==e?.target?.nodeName)return void e.preventDefault();if("ontouchstart"in window&&!t)return!1;const{clickHoldAnEvent:a,focusAnEvent:i,resizeAnEvent:l,dragAnEvent:n}=this.domEvents;if(i._eid===this.event._eid&&a._eid===this.event._eid)return!0;this.focusEvent(),a._eid=null,this.vuecal.editEvents.delete&&this.event.deletable&&(a.timeoutId=setTimeout((()=>{l._eid||n._eid||(a._eid=this.event._eid,this.event.deleting=!0)}),a.timeout))},onMouseUp(e){this.domEvents.focusAnEvent._eid!==this.event._eid||this.touch.dragged||(this.domEvents.focusAnEvent.mousedUp=!0),this.touch.dragged=!1},onMouseEnter(e){e.preventDefault(),this.vuecal.emitWithEvent("event-mouse-enter",this.event)},onMouseLeave(e){e.preventDefault(),this.vuecal.emitWithEvent("event-mouse-leave",this.event)},onTouchMove(e){if("function"!==typeof this.vuecal.onEventClick)return;const{clientX:t,clientY:s}=e.touches[0],{startX:a,startY:i,dragThreshold:l}=this.touch;(Math.abs(t-a)>l||Math.abs(s-i)>l)&&(this.touch.dragged=!0)},onTouchStart(e){this.touch.startX=e.touches[0].clientX,this.touch.startY=e.touches[0].clientY,this.onMouseDown(e,!0)},onEnterKeypress(e){if("function"===typeof this.vuecal.onEventClick)return this.vuecal.onEventClick(this.event,e)},onDblClick(e){if("function"===typeof this.vuecal.onEventDblclick)return this.vuecal.onEventDblclick(this.event,e)},onDragStart(e){"blocker"!=this.event.type&&"non-working-hours"!=this.event.type&&"office365_blocker"!=this.event.type&&(this.event.draggingStatic=!1,this.dnd&&this.dnd.eventDragStart(e,this.event))},onDragEnd(){this.dnd&&this.dnd.eventDragEnd(this.event)},onResizeHandleMouseDown(){this.focusEvent(),this.domEvents.dragAnEvent._eid=null,this.domEvents.resizeAnEvent=Object.assign(this.domEvents.resizeAnEvent,{_eid:this.event._eid,start:(this.segment||this.event).start,split:this.event.split||null,segment:!!this.segment&&this.utils.date.formatDateLite(this.segment.start),originalEnd:new Date((this.segment||this.event).end),originalEndTimeMinutes:this.event.endTimeMinutes}),this.event.resizing=!0},deleteEvent(e=!1){if("ontouchstart"in window&&!e)return!1;this.utils.event.deleteAnEvent(this.event)},touchDeleteEvent(e){this.deleteEvent(!0)},cancelDeleteEvent(){this.event.deleting=!1},focusEvent(){const{focusAnEvent:e}=this.domEvents,t=e._eid;if(t!==this.event._eid){if(t){const e=this.view.events.find((e=>e._eid===t));e&&(e.focused=!1)}this.vuecal.cancelDelete(),this.vuecal.emitWithEvent("event-focus",this.event),e._eid=this.event._eid,this.event.focused=!0}}},computed:{eventDimensions(){const{startTimeMinutes:e,endTimeMinutes:t}=this.segment||this.event;let s=e-this.vuecal.timeFrom;const a=Math.max(Math.round(s*this.vuecal.timeCellHeight/this.vuecal.timeStep),0);s=Math.min(t,this.vuecal.timeTo)-this.vuecal.timeFrom;const i=Math.round(s*this.vuecal.timeCellHeight/this.vuecal.timeStep),l=Math.max(i-a,5);return{top:a,height:l}},eventStyles(){if(this.event.allDay||!this.vuecal.time||!this.event.endTimeMinutes||"month"===this.view.id||this.allDay)return{};let e=100-10*this.eventPosition,t=5*this.eventPosition,s=10*(this.eventPosition+1),a=this.event.master_task_color;if(Array.isArray(this.cellOverlaps.sameOverlaps)&&this.cellOverlaps.sameOverlaps.length){const s=this.cellOverlaps.sameOverlaps.length+1,a=this.cellOverlaps.overlaps.filter((e=>{if(!this.cellOverlaps.sameOverlaps.includes(e)&&this.allOverlaps[this.event._eid].position>this.allOverlaps[e].position)return e}));e=100/s-5,t=100/s*(this.eventPosition-a.length)+5*(this.eventPosition-a.length)/s,a.length&&(e-=a.length*(10/s),t+=5*a.length-10*a.length/s*(this.eventPosition-a.length))}this.vuecal.minEventWidth&&e({})},editEvents:{type:Object,required:!0},data:{type:Object,required:!0},cellSplits:{type:Array,default:()=>[]},minTimestamp:{type:[Number,null],default:null},maxTimestamp:{type:[Number,null],default:null},cellWidth:{type:[Number,Boolean],default:!1},allDay:{type:Boolean,default:!1}},data:()=>({tmUtils:A.Z,cellOverlaps:{},cellOverlapsStreak:1,timeAtCursor:null,highlighted:!1,highlightedSplit:null}),methods:{getSplitAtCursor({target:e}){const t=e.classList.contains("vuecal__cell-split");let s=t?e:this.vuecal.findAncestor(e,"vuecal__cell-split");return s&&(s=s.attributes["data-split"].value,parseInt(s).toString()===s.toString()&&(s=parseInt(s))),s||null},splitClasses(e){return{"vuecal__cell-split":!0,"vuecal__cell-split--highlighted":this.highlightedSplit===e.id,"vuecal__cell-split--weekend":e.isWeekend,[e.class]:!!e.class}},checkCellOverlappingEvents(){this.options.time&&this.eventsCount&&!this.splitsCount&&(1===this.eventsCount?(this.cellOverlaps=[],this.cellOverlapsStreak=1):[this.cellOverlaps,this.cellOverlapsStreak]=this.utils.event.checkCellOverlappingEvents(this.events,this.options))},isDOMElementAnEvent(e){return this.vuecal.isDOMElementAnEvent(e)},selectCell(e,t=!1){const s=this.splitsCount?this.getSplitAtCursor(e):null;this.utils.cell.selectCell(t,this.timeAtCursor,s),this.timeAtCursor=null},onCellkeyPressEnter(e){this.isSelected||this.onCellFocus(e);const t=this.splitsCount?this.getSplitAtCursor(e):null;this.utils.cell.keyPressEnterCell(this.timeAtCursor,t),this.timeAtCursor=null},onCellFocus(e){if(!this.isSelected&&!this.isDisabled){this.isSelected=this.data.startDate;const t=this.splitsCount?this.getSplitAtCursor(e):null,s=this.timeAtCursor||this.data.startDate;this.vuecal.$emit("cell-focus",t?{date:s,split:t}:s)}},onCellMouseDown(e,t=null,s=!1){if("ontouchstart"in window&&!s)return!1;this.isSelected||this.onCellFocus(e);const{clickHoldACell:a,focusAnEvent:i}=this.domEvents;this.domEvents.cancelClickEventCreation=!1,a.eventCreated=!1,this.timeAtCursor=new Date(this.data.startDate);const{minutes:l,cursorCoords:{y:n}}=this.vuecal.minutesAtCursor(e);this.timeAtCursor.setMinutes(l);const o=this.isDOMElementAnEvent(e.target);!o&&i._eid&&((this.view.events.find((e=>e._eid===i._eid))||{}).focused=!1),this.editEvents.create&&!o&&this.setUpEventCreation(e,n)},setUpEventCreation(e,t){if(this.options.dragToCreateEvent&&["week","day"].includes(this.view.id)){const{dragCreateAnEvent:s}=this.domEvents;if(s.startCursorY=t,s.split=this.splitsCount?this.getSplitAtCursor(e):null,s.start=this.timeAtCursor,this.options.snapToTime){let e=60*this.timeAtCursor.getHours()+this.timeAtCursor.getMinutes();const t=e+this.options.snapToTime/2;e=t-t%this.options.snapToTime,s.start.setHours(0,e,0,0)}}else this.options.cellClickHold&&["month","week","day"].includes(this.view.id)&&this.setUpCellHoldTimer(e)},setUpCellHoldTimer(e){const{clickHoldACell:t}=this.domEvents;t.cellId=`${this.vuecal._.uid}_${this.data.formattedDate}`,t.split=this.splitsCount?this.getSplitAtCursor(e):null,t.timeoutId=setTimeout((()=>{if(t.cellId&&!this.domEvents.cancelClickEventCreation){const{_eid:e}=this.utils.event.createAnEvent(this.timeAtCursor,null,t.split?{split:t.split}:{});t.eventCreated=e}}),t.timeout)},onCellTouchStart(e,t=null){this.onCellMouseDown(e,t,!0)},onCellClick(e,t){if(e.offsetY>950&&e.offsetY<1700){const s=t.date;s.setHours(Math.floor(e.offsetY/100),0,0,0);const a=new Date(s);a.setHours(s.getHours()+1);const i=Re()(s).format("HH:mm"),l="Dashboard - Teams"===this.$route.name,n=l?t.employee_id:Number(localStorage.getItem("selectedEmployee")||this.user.id);this.$events.emit("show-menu-modal",{time:i,date:A.Z.formatDateTimeForBackend(s),employee:n}),setTimeout((()=>{this.$events.emit("add-timeblock",{id:null,start:A.Z.formatDateTimeForBackend(s),end:A.Z.formatDateTimeForBackend(a)})}),150)}this.isDOMElementAnEvent(e.target)||this.selectCell(e)},onCellDblClick(e){const t=new Date(this.data.startDate);t.setMinutes(this.vuecal.minutesAtCursor(e).minutes);const s=this.splitsCount?this.getSplitAtCursor(e):null;this.vuecal.$emit("cell-dblclick",s?{date:t,split:s}:t),this.options.dblclickToNavigate&&this.vuecal.switchToNarrowerView()},onCellContextMenu(e){e.stopPropagation(),e.preventDefault();const t=new Date(this.data.startDate),{cursorCoords:s,minutes:a}=this.vuecal.minutesAtCursor(e);t.setMinutes(a);const i=this.splitsCount?this.getSplitAtCursor(e):null;this.vuecal.$emit("cell-contextmenu",{date:t,...s,...i||{},e:e})}},computed:{...(0,U.Se)("auth",["user"]),dnd(){return this.modules.dnd},nowInMinutes(){return this.utils.date.dateToMinutes(this.vuecal.now)},isBeforeMinDate(){return null!==this.minTimestamp&&this.minTimestamp>this.data.endDate.getTime()},isAfterMaxDate(){return this.maxTimestamp&&this.maxTimestamp{let{from:t,to:s}=e;return t=Math.max(t,this.options.timeFrom),s=Math.min(s,this.options.timeTo),{...e,height:(s-t)*this.timeScale,top:(t-this.options.timeFrom)*this.timeScale}}))},events(){const{startDate:e,endDate:t}=this.data;let s=[];if(!["years","year"].includes(this.view.id)||this.options.eventsCountOnYearView){if(s=this.view.events.slice(0),"month"===this.view.id&&s.push(...this.view.outOfScopeEvents),s=s.filter((s=>this.utils.event.eventInRange(s,e,t))),this.options.showAllDayEvents&&"month"!==this.view.id&&(s=s.filter((e=>!!e.allDay===this.allDay))),this.options.time&&this.isWeekOrDayView&&!this.allDay){const{timeFrom:e,timeTo:t}=this.options;s=s.filter((s=>{const a=s.daysCount>1&&s.segments[this.data.formattedDate]||{},i=1===s.daysCount&&s.startTimeMinutese,l=s.daysCount>1&&a.startTimeMinutese,n=!1;return s.allDay||i||l||n}))}!this.options.time||!this.isWeekOrDayView||this.options.showAllDayEvents&&this.allDay||s.sort(((e,t)=>e.start{const s=this.events.filter((t=>t.split===e.id)),[a,i]=this.utils.event.checkCellOverlappingEvents(s.filter((e=>!e.background&&!e.allDay)),this.options);return{...e,overlaps:a,overlapsStreak:i,events:s}}))},splitsCount(){return this.splits.length},cellClasses(){return{[this.data.class]:!!this.data.class,"vuecal__cell--current":this.data.current,"vuecal__cell--today":this.data.today,"vuecal__cell--out-of-scope":this.data.outOfScope,"vuecal__cell--before-min":this.isDisabled&&this.isBeforeMinDate,"vuecal__cell--after-max":this.isDisabled&&this.isAfterMaxDate,"vuecal__cell--disabled":this.isDisabled,"vuecal__cell--selected":this.isSelected,"vuecal__cell--highlighted":this.highlighted,"vuecal__cell--has-splits":this.splitsCount,"vuecal__cell--has-events":this.eventsCount}},cellStyles(){return{...this.cellWidth?{width:`${this.cellWidth}%`}:{}}},timelineVisible(){const{time:e,timeTo:t}=this.options;return this.data.today&&this.isWeekOrDayView&&e&&!this.allDay&&this.nowInMinutes<=t},todaysTimePosition(){if(!this.data.today||!this.options.time)return;const e=this.nowInMinutes-this.options.timeFrom;return Math.round(e*this.timeScale)},timeScale(){return this.options.timeCellHeight/this.options.timeStep}}};const Wr=(0,$.Z)(xr,[["render",Tr]]);var Sr=Wr,Or={inject:["vuecal","view","editEvents"],components:{"vuecal-cell":Sr},props:{options:{type:Object,required:!0},cells:{type:Array,required:!0},label:{type:String,required:!0},daySplits:{type:Array,default:()=>[]},shortEvents:{type:Boolean,default:!0},height:{type:String,default:""},cellOrSplitMinWidth:{type:Number,default:null}},computed:{hasCellOrSplitWidth(){return!!(this.options.minCellWidth||this.daySplits.length&&this.options.minSplitWidth)}}};const Vr=(0,$.Z)(Or,[["render",gr]]);var zr=Vr,Ar=s(15941);const Ur=1440,Zr={weekDays:Array(7).fill(""),weekDaysShort:[],months:Array(12).fill(""),years:"",year:"",month:"",week:"",day:"",today:"",noEvent:"",allDay:"",deleteEvent:"",createEvent:"",dateFormat:"dddd MMMM D, YYYY",am:"am",pm:"pm"},Hr=["years","year","month","week","day"],Fr=new Zo(Zr);var Ir={name:"vue-cal",components:{"vuecal-cell":Sr,"vuecal-header":kr,WeekdaysHeadings:hr,AllDayBar:zr},provide(){return{vuecal:this,utils:this.utils,modules:this.modules,previous:this.previous,next:this.next,switchView:this.switchView,updateSelectedDate:this.updateSelectedDate,editEvents:this.editEvents,view:this.view,domEvents:this.domEvents}},props:{activeView:{type:String,default:"week"},scrollToHour:{type:Number,default:0},allDayBarHeight:{type:[String,Number],default:"25px"},cellClickHold:{type:Boolean,default:!0},cellContextmenu:{type:Boolean,default:!1},clickToNavigate:{type:Boolean,default:!1},dblclickToNavigate:{type:Boolean,default:!0},disableDatePrototypes:{type:Boolean,default:!1},disableDays:{type:Array,default:()=>[]},disableViews:{type:Array,default:()=>[]},dragToCreateEvent:{type:Boolean,default:!0},dragToCreateThreshold:{type:Number,default:15},editableEvents:{type:[Boolean,Object],default:!1},unscheduledTime:{type:Array,default:[]},events:{type:Array,default:()=>[]},eventsCountOnYearView:{type:Boolean,default:!1},eventsOnMonthView:{type:[Boolean,String],default:!1},hideBody:{type:Boolean,default:!1},hideTitleBar:{type:Boolean,default:!1},hideViewSelector:{type:Boolean,default:!1},hideWeekdays:{type:Array,default:()=>[]},hideWeekends:{type:Boolean,default:!1},locale:{type:[String,Object],default:"en"},maxDate:{type:[String,Date],default:""},minCellWidth:{type:Number,default:0},minDate:{type:[String,Date],default:""},minEventWidth:{type:Number,default:0},minSplitWidth:{type:Number,default:0},onEventClick:{type:[Function,null],default:null},onEventCreate:{type:[Function,null],default:null},onEventDblclick:{type:[Function,null],default:null},overlapsPerTimeStep:{type:Boolean,default:!1},resizeX:{type:Boolean,default:!1},selectedDate:{type:[String,Date],default:""},showAllDayEvents:{type:[Boolean,String],default:!1},showTimeInCells:{type:Boolean,default:!1},showWeekNumbers:{type:[Boolean,String],default:!1},snapToTime:{type:Number,default:0},small:{type:Boolean,default:!1},specialHours:{type:Object,default:()=>({})},splitDays:{type:Array,default:()=>[]},startWeekOnSunday:{type:Boolean,default:!1},stickySplitLabels:{type:Boolean,default:!1},time:{type:Boolean,default:!0},timeCellHeight:{type:Number,default:40},timeFormat:{type:String,default:""},timeFrom:{type:Number,default:0},timeStep:{type:Number,default:60},timeTo:{type:Number,default:Ur},todayButton:{type:Boolean,default:!1},transitions:{type:Boolean,default:!0},twelveHour:{type:Boolean,default:!1},watchRealTime:{type:Boolean,default:!1},xsmall:{type:Boolean,default:!1}},data(){return{ready:!1,texts:{...Zr},utils:{date:!!this.disableDatePrototypes&&Fr.removePrototypes()||Fr,cell:null,event:null},modules:{dnd:null},cellsEl:null,view:{id:"",title:"",startDate:null,endDate:null,firstCellDate:null,lastCellDate:null,selectedDate:null,events:[]},eventIdIncrement:1,now:new Date,timeTickerIds:[null,null],domEvents:{resizeAnEvent:{_eid:null,start:null,split:null,segment:null,originalEndTimeMinutes:0,originalEnd:null,end:null,startCell:null,endCell:null},dragAnEvent:{_eid:null},dragCreateAnEvent:{startCursorY:null,start:null,split:null,event:null},focusAnEvent:{_eid:null,mousedUp:!1},clickHoldAnEvent:{_eid:null,timeout:1200,timeoutId:null},dblTapACell:{taps:0,timeout:500},clickHoldACell:{cellId:null,split:null,timeout:1200,timeoutId:null,eventCreated:!1},cancelClickEventCreation:!1},mutableEvents:[],transitionDirection:"right"}},methods:{async loadLocale(e){if("object"===typeof this.locale)return this.texts=Object.assign({},Zr,e),void this.utils.date.updateTexts(this.texts);if("en"===this.locale){const e=await s.e(3320).then(s.t.bind(s,3320,19));this.texts=Object.assign({},Zr,e)}else s(66667)(`./${e}.json`).then((e=>{this.texts=Object.assign({},Zr,e.default),this.utils.date.updateTexts(this.texts)}))},loadDragAndDrop(){s.e(1466).then(s.bind(s,91466)).then((e=>{const{DragAndDrop:t}=e;this.modules.dnd=new t(this)})).catch((()=>Ar.warn("Vue Cal: Missing drag & drop module.")))},validateView(e){return Hr.includes(e)||(Ar.error(`Vue Cal: invalid active-view parameter provided: "${e}".\nA valid view must be one of: ${Hr.join(", ")}.`),e="week"),this.enabledViews.includes(e)||(Ar.warn(`Vue Cal: the provided active-view "${e}" is disabled. Using the "${this.enabledViews[0]}" view instead.`),e=this.enabledViews[0]),e},switchToNarrowerView(e=null){this.transitionDirection="right";const t=this.enabledViews[this.enabledViews.indexOf(this.view.id)+1];t&&this.switchView(t,e)},switchView(e,t=null,s=!1){e=this.validateView(e);const a=this.utils.date,i=this.view.startDate&&this.view.startDate.getTime();if(this.transitions&&s){if(this.view.id===e)return;const t=this.enabledViews;this.transitionDirection=t.indexOf(this.view.id)>t.indexOf(e)?"left":"right"}const l=this.view.id;switch(this.view.events=[],this.view.id=e,this.view.firstCellDate=null,this.view.lastCellDate=null,t||(t=this.view.selectedDate||this.view.startDate),e){case"years":this.view.startDate=new Date(25*Math.floor(t.getFullYear()/25)||2e3,0,1),this.view.endDate=new Date(this.view.startDate.getFullYear()+25,0,1),this.view.endDate.setSeconds(-1);break;case"year":this.view.startDate=new Date(t.getFullYear(),0,1),this.view.endDate=new Date(t.getFullYear()+1,0,1),this.view.endDate.setSeconds(-1);break;case"month":{this.view.startDate=new Date(t.getFullYear(),t.getMonth(),1),this.view.endDate=new Date(t.getFullYear(),t.getMonth()+1,1),this.view.endDate.setSeconds(-1);let e=new Date(this.view.startDate);if(e.getDay()!==(this.startWeekOnSunday?0:1)&&(e=a.getPreviousFirstDayOfWeek(e,this.startWeekOnSunday)),this.view.firstCellDate=e,this.view.lastCellDate=a.addDays(e,41),this.view.lastCellDate.setHours(23,59,59,0),this.hideWeekends){if([0,6].includes(this.view.firstCellDate.getDay())){const e=6!==this.view.firstCellDate.getDay()||this.startWeekOnSunday?1:2;this.view.firstCellDate=a.addDays(this.view.firstCellDate,e)}if([0,6].includes(this.view.startDate.getDay())){const e=6===this.view.startDate.getDay()?2:1;this.view.startDate=a.addDays(this.view.startDate,e)}if([0,6].includes(this.view.lastCellDate.getDay())){const e=0!==this.view.lastCellDate.getDay()||this.startWeekOnSunday?1:2;this.view.lastCellDate=a.subtractDays(this.view.lastCellDate,e)}if([0,6].includes(this.view.endDate.getDay())){const e=0===this.view.endDate.getDay()?2:1;this.view.endDate=a.subtractDays(this.view.endDate,e)}}break}case"week":{t=a.getPreviousFirstDayOfWeek(t,this.startWeekOnSunday);const e=this.hideWeekends?5:7;this.view.startDate=this.hideWeekends&&this.startWeekOnSunday?a.addDays(t,1):t,this.view.startDate.setHours(0,0,0,0),this.view.endDate=a.addDays(t,e),this.view.endDate.setSeconds(-1);break}case"day":this.view.startDate=t,this.view.startDate.setHours(0,0,0,0),this.view.endDate=new Date(t),this.view.endDate.setHours(23,59,59,0);break}this.addEventsToView();const n=this.view.startDate&&this.view.startDate.getTime();if((l!==e||n!==i)&&(this.$emit("update:activeView",e),this.ready)){const t=this.view.startDate,s={view:e,startDate:t,endDate:this.view.endDate,...this.isMonthView?{firstCellDate:this.view.firstCellDate,lastCellDate:this.view.lastCellDate,outOfScopeEvents:this.view.outOfScopeEvents.map(this.cleanupEvent)}:{},events:this.view.events.map(this.cleanupEvent),...this.isWeekView?{week:a.getWeek(this.startWeekOnSunday?a.addDays(t,1):t)}:{}};this.$refs["vuecal_scroll"].scrollTop=this.scrollToHour*this.timeCellHeight,this.$emit("view-change",s)}},previous(){this.previousNext(!1)},next(){this.previousNext()},previousNext(e=!0){const t=this.utils.date;this.transitionDirection=e?"right":"left";const s=e?1:-1;let a=null;const{startDate:i,id:l}=this.view;switch(l){case"years":a=new Date(i.getFullYear()+25*s,0,1);break;case"year":a=new Date(i.getFullYear()+1*s,1,1);break;case"month":a=new Date(i.getFullYear(),i.getMonth()+1*s,1);break;case"week":a=t[e?"addDays":"subtractDays"](t.getPreviousFirstDayOfWeek(i,this.startWeekOnSunday),7);break;case"day":a=t[e?"addDays":"subtractDays"](i,1);const l=a.getDay(),n=this.startWeekOnSunday?l:(l||7)-1,o=this.weekDays[n].hide;if(o){const s=this.weekDays.map(((e,t)=>({...e,i:t})));let i=null,l=0;e?(i=[...s.slice(n),...s].find((e=>(l++,!e.hide))).i,l--):i=[...s,...s.slice(0,n)].reverse().find((e=>(l++,!e.hide))).i,a=t[e?"addDays":"subtractDays"](a,l)}break}a&&this.switchView(l,a)},addEventsToView(e=[]){const t=this.utils.event,{startDate:s,endDate:a,firstCellDate:i,lastCellDate:l}=this.view;if(e.length||(this.view.events=[]),e=e.length?e:[...this.mutableEvents],!e||this.isYearsOrYearView&&!this.eventsCountOnYearView)return;let n=e.filter((e=>t.eventInRange(e,s,a)));this.isYearsOrYearView||this.isMonthView&&!this.eventsOnMonthView||(n=n.map((e=>e.daysCount>1?t.createEventSegments(e,i||s,l||a):e))),this.view.events.push(...n),this.isMonthView&&(this.view.outOfScopeEvents=[],e.forEach((e=>{(t.eventInRange(e,i,s)||t.eventInRange(e,a,l))&&(this.view.events.some((t=>t._eid===e._eid))||this.view.outOfScopeEvents.push(e))})))},findAncestor(e,t){while((e=e.parentElement)&&!e.classList.contains(t));return e},isDOMElementAnEvent(e){return e.classList.contains("vuecal__event")||this.findAncestor(e,"vuecal__event")},onMouseMove(e){const{resizeAnEvent:t,dragAnEvent:s,dragCreateAnEvent:a}=this.domEvents;(null!==t._eid||null!==s._eid||a.start)&&(e.preventDefault(),t._eid?this.eventResizing(e):this.dragToCreateEvent&&a.start&&this.eventDragCreation(e))},onMouseUp(e){const{focusAnEvent:t,resizeAnEvent:s,clickHoldAnEvent:a,clickHoldACell:i,dragCreateAnEvent:l}=this.domEvents,{_eid:n}=a,{_eid:o}=s;let r=!1;const{event:d,start:u}=l,c=this.isDOMElementAnEvent(e.target),m=t.mousedUp;if(t.mousedUp=!1,c&&(this.domEvents.cancelClickEventCreation=!0),i.eventCreated)return;if(o){const{originalEnd:e,originalEndTimeMinutes:t,endTimeMinutes:a}=s,i=this.view.events.find((e=>e._eid===s._eid));if(r=a&&a!==t,i&&i.end.getTime()!==e.getTime()){const t=this.mutableEvents.find((e=>e._eid===s._eid));t.endTimeMinutes=i.endTimeMinutes,t.end=i.end;const a=this.cleanupEvent(i),l={...this.cleanupEvent(i),end:e,endTimeMinutes:i.originalEndTimeMinutes};this.$emit("event-duration-change",{event:a,oldDate:s.originalEnd,originalEvent:l}),this.$emit("event-change",{event:a,originalEvent:l})}i&&(i.resizing=!1),s._eid=null,s.start=null,s.split=null,s.segment=null,s.originalEndTimeMinutes=null,s.originalEnd=null,s.endTimeMinutes=null,s.startCell=null,s.endCell=null}else u&&(d&&(this.emitWithEvent("event-drag-create",d),l.event.resizing=!1),l.start=null,l.split=null,l.event=null);c||o||this.unfocusEvent(),a.timeoutId&&!n&&(clearTimeout(a.timeoutId),a.timeoutId=null),i.timeoutId&&(clearTimeout(i.timeoutId),i.timeoutId=null);const h="function"===typeof this.onEventClick;if(m&&!r&&!n&&!d&&h){let s=this.view.events.find((e=>e._eid===t._eid));return!s&&this.isMonthView&&(s=this.view.outOfScopeEvents.find((e=>e._eid===t._eid))),s&&this.onEventClick(s,e)}},onKeyUp(e){27===e.keyCode&&this.cancelDelete()},eventResizing(e){const{resizeAnEvent:t}=this.domEvents,s=this.view.events.find((e=>e._eid===t._eid))||{segments:{}},{minutes:a,cursorCoords:i}=this.minutesAtCursor(e),l=s.segments&&s.segments[t.segment],{date:n,event:o}=this.utils,r=Math.max(a,this.timeFrom+1,(l||s).startTimeMinutes+1);if(s.endTimeMinutes=t.endTimeMinutes=r,this.snapToTime){const e=s.endTimeMinutes+this.snapToTime/2;s.endTimeMinutes=e-e%this.snapToTime}if(l&&(l.endTimeMinutes=s.endTimeMinutes),s.end.setHours(0,s.endTimeMinutes,s.endTimeMinutes===Ur?-1:0,0),this.resizeX&&this.isWeekView){s.daysCount=n.countDays(s.start,s.end);const e=this.cellsEl,a=e.offsetWidth/e.childElementCount,l=Math.floor(i.x/a);if(null===t.startCell&&(t.startCell=l-(s.daysCount-1)),t.endCell!==l){t.endCell=l;const e=n.addDays(s.start,l-t.startCell),a=Math.max(n.countDays(s.start,e),1);if(a!==s.daysCount){let e=null;e=a>s.daysCount?o.addEventSegment(s):o.removeEventSegment(s),t.segment=e,s.endTimeMinutes+=.001}}}this.$emit("event-resizing",{_eid:s._eid,end:s.end,endTimeMinutes:s.endTimeMinutes})},eventDragCreation(e){const{dragCreateAnEvent:t}=this.domEvents,{start:s,startCursorY:a,split:i}=t,l=new Date(s),{minutes:n,cursorCoords:{y:o}}=this.minutesAtCursor(e);if(t.event||!(Math.abs(a-o)s._eid===(e._eid||t._eid)));e._eid=null,t._eid=null,s&&(s.focused=!1,s.deleting=!1)},cancelDelete(){const{clickHoldAnEvent:e}=this.domEvents;if(e._eid){const t=this.view.events.find((t=>t._eid===e._eid));t&&(t.deleting=!1),e._eid=null,e.timeoutId=null}},onEventTitleBlur(e,t){if(t.title===e.target.innerHTML)return;const s=t.title;t.title=e.target.innerHTML;const a=this.cleanupEvent(t);this.$emit("event-title-change",{event:a,oldTitle:s}),this.$emit("event-change",{event:a,originalEvent:{...a,title:s}})},updateMutableEvents(){const e=this.utils.date;this.mutableEvents=[],this.events.forEach((t=>{const s="string"===typeof t.start?e.stringToDate(t.start):t.start,a=e.formatDateLite(s),i=e.dateToMinutes(s);let l=null;"string"===typeof t.end&&t.end.includes("24:00")?(l=new Date(t.end.replace(" 24:00","")),l.setHours(23,59,59,0)):l="string"===typeof t.end?e.stringToDate(t.end):t.end;let n=e.formatDateLite(l),o=e.dateToMinutes(l);o&&o!==Ur||(!this.time||"string"===typeof t.end&&10===t.end.length?l.setHours(23,59,59,0):l.setSeconds(l.getSeconds()-1),n=e.formatDateLite(l),o=Ur);const r=a!==n;t=Object.assign({...this.utils.event.eventDefaults},t,{_eid:`${this._.uid}_${this.eventIdIncrement++}`,segments:r?{}:null,start:s,startTimeMinutes:i,end:l,endTimeMinutes:o,daysCount:r?e.countDays(s,l):1,class:t.class}),this.mutableEvents.push(t)}))},minutesAtCursor(e){return this.utils.cell.minutesAtCursor(e)},createEvent(e,t,s={}){return this.utils.event.createAnEvent(e,t,s)},cleanupEvent(e){e={...e};const t=["segments","deletable","deleting","titleEditable","resizable","resizing","draggable","dragging","draggingStatic","focused"];return t.forEach((t=>{t in e&&delete e[t]})),e.repeat||delete e.repeat,e},emitWithEvent(e,t){this.$emit(e,this.cleanupEvent(t))},updateSelectedDate(e){if(e=e&&"string"===typeof e?this.utils.date.stringToDate(e):new Date(e),e&&e instanceof Date){const{selectedDate:t}=this.view;t&&(this.transitionDirection=t.getTime()>e.getTime()?"left":"right"),e.setHours(0,0,0,0),t&&t.getTime()===e.getTime()||(this.view.selectedDate=e),this.switchView(this.view.id)}this.$emit("update:selected-date",this.view.selectedDate)},getWeekNumber(e){const t=this.utils.date,s=this.firstCellDateWeekNumber,a=s+e,i=this.startWeekOnSunday?1:0;return a>52?t.getWeek(t.addDays(this.view.firstCellDate,7*e+i)):a},timeTick(){this.now=new Date,this.timeTickerIds[1]=setTimeout(this.timeTick,6e4)},updateDateTexts(){this.utils.date.updateTexts(this.texts)},alignWithScrollbar(){},cellOrSplitHasEvents(e,t=null){return e.length&&(!t&&e.length||t&&e.some((e=>e.split===t.id)))}},created(){this.utils.cell=new Fo(this),this.utils.event=new qo(this,this.utils.date),this.loadLocale(this.locale),this.editEvents.drag&&this.loadDragAndDrop(),this.updateMutableEvents(this.events),this.view.id=this.currentView,this.selectedDate?this.updateSelectedDate(this.selectedDate):(this.view.selectedDate=new Date,this.switchView(this.currentView)),this.time&&this.watchRealTime&&(this.timeTickerIds[0]=setTimeout(this.timeTick,1e3*(60-this.now.getSeconds())))},mounted(){const e=this.utils.date,t="ontouchstart"in window,{resize:s,drag:a,create:i,delete:l,title:n}=this.editEvents,o=this.onEventClick&&"function"===typeof this.onEventClick;(s||a||i||l||n||o)&&window.addEventListener(t?"touchend":"mouseup",this.onMouseUp),(s||a||i&&this.dragToCreateEvent)&&window.addEventListener(t?"touchmove":"mousemove",this.onMouseMove,{passive:!1}),n&&window.addEventListener("keyup",this.onKeyUp),t&&(this.$refs.vuecal.oncontextmenu=function(e){e.preventDefault(),e.stopPropagation()});const r=this.view.startDate,d={view:this.view.id,startDate:r,endDate:this.view.endDate,...this.isMonthView?{firstCellDate:this.view.firstCellDate,lastCellDate:this.view.lastCellDate}:{},events:this.view.events.map(this.cleanupEvent),...this.isWeekView?{week:e.getWeek(this.startWeekOnSunday?e.addDays(r,1):r)}:{}};this.$refs["vuecal_scroll"].addEventListener("scroll",(()=>{this.$refs["vuecal_splits_heading"].style.top=`${this.$refs["vuecal_scroll"].scrollTop}px`})),this.viewportTimelineOffset=this.$refs["vuecal_scroll"].getBoundingClientRect().top,this.$refs["vuecal_scroll"].scrollTop=this.scrollToHour*this.timeCellHeight,this.$emit("ready",d),this.ready=!0},beforeUnmount(){const e="ontouchstart"in window;window.removeEventListener(e?"touchmove":"mousemove",this.onMouseMove,{passive:!1}),window.removeEventListener(e?"touchend":"mouseup",this.onMouseUp),window.removeEventListener("keyup",this.onKeyUp),this.timeTickerIds[0]&&clearTimeout(this.timeTickerIds[0]),this.timeTickerIds[1]&&clearTimeout(this.timeTickerIds[1]),this.timeTickerIds=[null,null]},computed:{editEvents(){return this.editableEvents&&"object"===typeof this.editableEvents?{title:!!this.editableEvents.title,drag:!!this.editableEvents.drag,resize:!!this.editableEvents.resize,create:!!this.editableEvents.create,delete:!!this.editableEvents.delete}:{title:!!this.editableEvents,drag:!!this.editableEvents,resize:!!this.editableEvents,create:!!this.editableEvents,delete:!!this.editableEvents}},views(){return{years:{label:this.texts.years,enabled:!this.disableViews.includes("years")},year:{label:this.texts.year,enabled:!this.disableViews.includes("year")},month:{label:this.texts.month,enabled:!this.disableViews.includes("month")},week:{label:this.texts.week,enabled:!this.disableViews.includes("week")},day:{label:this.texts.day,enabled:!this.disableViews.includes("day")}}},currentView(){return this.validateView(this.activeView)},enabledViews(){return Object.keys(this.views).filter((e=>this.views[e].enabled))},hasTimeColumn(){return this.time&&this.isWeekOrDayView},isShortMonthView(){return this.isMonthView&&"short"===this.eventsOnMonthView},firstCellDateWeekNumber(){const e=this.utils.date,t=this.view.firstCellDate;return e.getWeek(this.startWeekOnSunday?e.addDays(t,1):t)},timeCells(){const e=[];for(let t=this.timeFrom,s=this.timeTo;t!e.hide))||[]).map(((e,t)=>({...e,id:e.id||t+1})))},hasSplits(){return this.daySplits.length&&this.isWeekOrDayView},hasShortEvents(){return"short"===this.showAllDayEvents},cellOrSplitMinWidth(){let e=null;return this.hasSplits&&this.minSplitWidth?e=this.visibleDaysCount*this.minSplitWidth*this.daySplits.length:this.minCellWidth&&this.isWeekView&&(e=this.visibleDaysCount*this.minCellWidth),e},allDayBar(){let e=this.allDayBarHeight||null;return e&&!isNaN(e)&&(e+="px"),{cells:this.viewCells,options:this.$props,label:this.texts.allDay,shortEvents:this.hasShortEvents,daySplits:this.hasSplits&&this.daySplits||[],cellOrSplitMinWidth:this.cellOrSplitMinWidth,height:e}},minTimestamp(){let e=null;return this.minDate&&"string"===typeof this.minDate?e=this.utils.date.stringToDate(this.minDate):this.minDate&&this.minDate instanceof Date&&(e=this.minDate),e?e.getTime():null},maxTimestamp(){let e=null;return this.maxDate&&"string"===typeof this.maxDate?e=this.utils.date.stringToDate(this.maxDate):this.maxDate&&this.minDate instanceof Date&&(e=this.maxDate),e?e.getTime():null},weekDays(){let{weekDays:e,weekDaysShort:t=[]}=this.texts;return e=e.slice(0).map(((e,s)=>({label:e,...t.length?{short:t[s]}:{},hide:this.hideWeekends&&s>=5||this.hideWeekdays.length&&this.hideWeekdays.includes(s+1)}))),this.startWeekOnSunday&&e.unshift(e.pop()),e},weekDaysInHeader(){return this.isMonthView||this.isWeekView&&!this.minCellWidth&&!(this.hasSplits&&this.minSplitWidth)},months(){return this.texts.months.map((e=>({label:e})))},specialDayHours(){return this.specialHours&&Object.keys(this.specialHours).length?Array(7).fill("").map(((e,t)=>{let s=this.specialHours[t+1]||[];return Array.isArray(s)||(s=[s]),e=[],s.forEach((({from:s,to:a,class:i,label:l},n)=>{e[n]={day:t+1,from:[null,void 0].includes(s)?null:1*s,to:[null,void 0].includes(a)?null:1*a,class:i||"",label:l||""}})),e})):{}},viewTitle(){const e=this.utils.date;let t="";const s=this.view.startDate,a=s.getFullYear(),i=s.getMonth();switch(this.view.id){case"years":t=this.texts.years;break;case"year":t=a;break;case"month":t=`${this.months[i].label} ${a}`;break;case"week":{const a=this.view.endDate,i=s.getFullYear();let l=this.texts.months[s.getMonth()];this.xsmall&&(l=l.substring(0,3));let n=`${l} ${i}`;if(a.getMonth()!==s.getMonth()){const e=a.getFullYear();let t=this.texts.months[a.getMonth()];this.xsmall&&(t=t.substring(0,3)),n=i===e?`${l} - ${t} ${i}`:this.small?`${l.substring(0,3)} ${i} - ${t.substring(0,3)} ${e}`:`${l} ${i} - ${t} ${e}`}t=`${this.texts.week} ${e.getWeek(this.startWeekOnSunday?e.addDays(s,1):s)} (${n})`;break}case"day":t=this.utils.date.formatDate(s,this.texts.dateFormat,this.texts);break}return t},viewCells(){const e=this.utils.date;let t=[],s=null,a=!1;this.watchRealTime||(this.now=new Date);const i=this.now;switch(this.view.id){case"years":s=this.view.startDate.getFullYear(),t=Array.apply(null,Array(25)).map(((t,a)=>{const l=new Date(s+a,0,1),n=new Date(s+a+1,0,1);return n.setSeconds(-1),{startDate:l,formattedDate:e.formatDateLite(l),endDate:n,content:s+a,current:s+a===i.getFullYear()}}));break;case"year":s=this.view.startDate.getFullYear(),t=Array.apply(null,Array(12)).map(((t,a)=>{const l=new Date(s,a,1),n=new Date(s,a+1,1);return n.setSeconds(-1),{startDate:l,formattedDate:e.formatDateLite(l),endDate:n,content:this.xsmall?this.months[a].label.substr(0,3):this.months[a].label,current:a===i.getMonth()&&s===i.getFullYear()}}));break;case"month":{const s=this.view.startDate.getMonth(),i=new Date(this.view.firstCellDate);a=!1,t=Array.apply(null,Array(42)).map(((t,l)=>{const n=e.addDays(i,l),o=new Date(n);o.setHours(23,59,59,0);const r=!a&&e.isToday(n)&&!a++;return{startDate:n,formattedDate:e.formatDateLite(n),endDate:o,content:n.getDate(),today:r,outOfScope:n.getMonth()!==s,class:`vuecal__cell--day${n.getDay()||7}`}})),(this.hideWeekends||this.hideWeekdays.length)&&(t=t.filter((e=>{const t=e.startDate.getDay()||7;return!(this.hideWeekends&&t>=6||this.hideWeekdays.length&&this.hideWeekdays.includes(t))})));break}case"week":{a=!1;let s=this.view.startDate;const i=this.weekDays;t=i.map(((t,i)=>{const l=e.addDays(s,this.startWeekOnSunday?i-1:i),n=new Date(l);n.setHours(23,59,59,0);const o=(l.getDay()||7)-1;return{startDate:l,formattedDate:e.formatDateLite(l),endDate:n,today:!a&&e.isToday(l)&&!a++,specialHours:this.specialDayHours[o]||[]}})).filter(((e,t)=>!i[t].hide));break}case"day":{const s=this.view.startDate,a=new Date(this.view.startDate);a.setHours(23,59,59,0);const i=(s.getDay()||7)-1;t=[{startDate:s,formattedDate:e.formatDateLite(s),endDate:a,today:e.isToday(s),specialHours:this.specialDayHours[i]||[]}];break}}return t},visibleDaysCount(){return this.isDayView?1:7-this.weekDays.reduce(((e,t)=>e+t.hide),0)},cellWidth(){return 100/this.visibleDaysCount},cssClasses(){const{resizeAnEvent:e,dragAnEvent:t,dragCreateAnEvent:s}=this.domEvents;return{[`vuecal--${this.view.id}-view`]:!0,[`vuecal--${this.locale}`]:this.locale,"vuecal--no-time":!this.time,"vuecal--view-with-time":this.hasTimeColumn,"vuecal--week-numbers":this.showWeekNumbers&&this.isMonthView,"vuecal--twelve-hour":this.twelveHour,"vuecal--click-to-navigate":this.clickToNavigate,"vuecal--hide-weekends":this.hideWeekends,"vuecal--split-days":this.hasSplits,"vuecal--sticky-split-labels":this.hasSplits&&this.stickySplitLabels,"vuecal--overflow-x":this.minCellWidth&&this.isWeekView||this.hasSplits&&this.minSplitWidth,"vuecal--small":this.small,"vuecal--xsmall":this.xsmall,"vuecal--resizing-event":e._eid,"vuecal--drag-creating-event":s.event,"vuecal--dragging-event":t._eid,"vuecal--events-on-month-view":this.eventsOnMonthView,"vuecal--short-events":this.isMonthView&&"short"===this.eventsOnMonthView,"vuecal--has-touch":"undefined"!==typeof window&&"ontouchstart"in window}},isYearsOrYearView(){return["years","year"].includes(this.view.id)},isYearsView(){return"years"===this.view.id},isYearView(){return"year"===this.view.id},isMonthView(){return"month"===this.view.id},isWeekOrDayView(){return["week","day"].includes(this.view.id)},isWeekView(){return"week"===this.view.id},isDayView(){return"day"===this.view.id}},watch:{events:{handler(e,t){this.updateMutableEvents(e),this.addEventsToView()},deep:!0},locale(e){this.loadLocale(e)},selectedDate(e){this.updateSelectedDate(e)},activeView(e){this.switchView(e)}}};const Pr=(0,$.Z)(Ir,[["render",Wo]]);var Lr=Pr,Nr={install:e=>{e.component("Vue-cal",Lr)}};s(48851),s(1292),s(81633),s(51045),s(46187),s(22299),s(93423),s(54687),s(49147),s(6250);l(),d();const Yr={axios:{disabled:!0},i18n:{languages:[{title:"Slovenský",flag:"sk",value:"sk"}],defaultLanguage:"sk"},moxios:{routes:{"GET v1/overview/teams":!0,"GET v1/overview/tasks":!0}}},qr=(0,a.ri)(rn).use(hn).use(un).use(Qn).use(Kn,Yr).use(i.oX).use(o).use(Nr).use(to).use(c(),{color:"#6200EE"}).mount("#app"),Br=qr.$i18n.t},65687:function(e,t,s){"use strict";s.d(t,{Ly:function(){return a},d2:function(){return i},Jc:function(){return l},iy:function(){return n},QS:function(){return r},rI:function(){return o}});var a=s(27484),i=s(53830),l=s.p+"img/checkmark-double.8bc9494b.svg",n=s(34413),o=(s(87500),s(60666)),r=(s(38351),s(35902),s(52906),s.p+"img/office-365.84b4e31a.svg")},7648:function(e,t,s){"use strict";var a=s(37729);t["Z"]={parseErrors(e){return Object.values(e).map((e=>(0,a.$t)(e?.$message))).join(". ")}}},83299:function(e,t){"use strict";t["Z"]={methods:{customFilter(e,t){const s=e.normalize("NFD").replace(/[\u0300-\u036f]/g,""),a=t.normalize("NFD").replace(/[\u0300-\u036f]/g,""),i=/[^a-zA-Z0-9 ]/g,l=s.replace(i,""),n=a.replace(i,"");return l.toLowerCase().includes(n.toLowerCase())||""===e}}}},34407:function(e,t,s){"use strict";var a=s(36797),i=s.n(a);t["Z"]={enrichEmployees(e){return e.map((e=>({...e,_fullName:`${e.name} ${e.surname}`,_initials:e.name.charAt(0)+e.surname.charAt(0)})))},formatDateTime(e){return i()(e),i()(e).format("DD.MM.yyyy, HH:mm")},formatDateTimeForBackend(e){return i()(e).format("YYYY-MM-DD HH:mm:ss")},formatDate(e){return i()(e).format("DD.MM.yyyy")},isBefore(e,t=null){return i()(e).isBefore(i()(t))},isAfter(e,t=i()()){return i()(e).isAfter(i()(t))}}},8973:function(e,t,s){var a={"./en.json":20790,"./sk.json":71941};function i(e){var t=l(e);return s(t)}function l(e){if(!s.o(a,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return a[e]}i.keys=function(){return Object.keys(a)},i.resolve=l,e.exports=i,i.id=8973},66667:function(e,t,s){var a={"./ar.json":[68568,8568],"./bg.json":[20684,684],"./bn.json":[61170,1170],"./bs.json":[41161,1161],"./ca.json":[40612,612],"./cs.json":[50213,213],"./da.json":[98542,8542],"./de.json":[4701,4701],"./el.json":[20453,453],"./en.json":[3320,3320],"./es.json":[60076,76],"./et.json":[44075,4075],"./fa.json":[69004,9004],"./fr.json":[60007,7],"./he.json":[23746,3746],"./hr.json":[92921,2921],"./hu.json":[75723,5723],"./id.json":[12502,2502],"./is.json":[13214,3214],"./it.json":[51380,1380],"./ja.json":[72484,2484],"./ka.json":[60285,285],"./ko.json":[79249,9249],"./lt.json":[42838,2838],"./mn.json":[6177,6177],"./nl.json":[99729,9729],"./no.json":[49409,9409],"./pl.json":[25409,5409],"./pt-br.json":[74529,4529],"./ro.json":[29715,9715],"./ru.json":[32113,2113],"./sk.json":[30229,229],"./sl.json":[28636,8636],"./sq.json":[204,204],"./sr.json":[55553,5553],"./sv.json":[75979,5979],"./tr.json":[5268,5268],"./uk.json":[14057,4057],"./vi.json":[88929,8929],"./zh-cn.json":[56730,6730],"./zh-hk.json":[30841,841]};function i(e){if(!s.o(a,e))return Promise.resolve().then((function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=a[e],i=t[0];return s.e(t[1]).then((function(){return s.t(i,19)}))}i.keys=function(){return Object.keys(a)},i.id=66667,e.exports=i},27484:function(e,t,s){"use strict";e.exports=s.p+"img/bin.8778f5be.svg"},53830:function(e,t,s){"use strict";e.exports=s.p+"img/checkmark.76754510.svg"},34413:function(e,t,s){"use strict";e.exports=s.p+"img/eye.6d5fa7d3.svg"},87500:function(e,t,s){"use strict";e.exports=s.p+"img/home.a9495a95.svg"},35902:function(e,t,s){"use strict";e.exports=s.p+"img/icon-next.25e7a4f4.svg"},38351:function(e,t,s){"use strict";e.exports=s.p+"img/icon-prev.22ba0fa6.svg"},60666:function(e,t,s){"use strict";e.exports=s.p+"img/pencil.b9009162.svg"},52906:function(e,t,s){"use strict";e.exports=s.p+"img/search.bd80c5fb.svg"},14214:function(e,t,s){"use strict";e.exports=s.p+"img/spinner.34fd3cb2.gif"},20790:function(e){"use strict";e.exports=JSON.parse('{"Value is not a valid email address":"Value is not a valid email address","error":"chyba","Value is required":"Pole je povinné","This field should be at least 8 characters long":"Pole musí obsahovať aspoň 8 znakov","This field should be at least 6 characters long":"Pole musí obsahovať aspoň 6 znakov","This maximum length allowed is 6":"Pole musí obsahovať 6 znakov","The value must be equal to the other value":"Heslá sa nezhodujú"}')},71941:function(e){"use strict";e.exports=JSON.parse('{"Value is not a valid email address":"Zadali ste neplatný email","error":"chyba","Value is required":"Pole je povinné","This field should be at least 8 characters long":"Pole musí obsahovať aspoň 8 znakov","This field should be at least 6 characters long":"Pole musí obsahovať aspoň 6 znakov","This maximum length allowed is 6":"Pole musí obsahovať 6 znakov","The value must be equal to the other value":"Heslá sa nezhodujú"}')}},t={};function s(a){var i=t[a];if(void 0!==i)return i.exports;var l=t[a]={id:a,loaded:!1,exports:{}};return e[a].call(l.exports,l,l.exports,s),l.loaded=!0,l.exports}s.m=e,function(){var e=[];s.O=function(t,a,i,l){if(!a){var n=1/0;for(u=0;u=l)&&Object.keys(s.O).every((function(e){return s.O[e](a[r])}))?a.splice(r--,1):(o=!1,l0&&e[u-1][2]>l;u--)e[u]=e[u-1];e[u]=[a,i,l]}}(),function(){s.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return s.d(t,{a:t}),t}}(),function(){var e,t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__};s.t=function(a,i){if(1&i&&(a=this(a)),8&i)return a;if("object"===typeof a&&a){if(4&i&&a.__esModule)return a;if(16&i&&"function"===typeof a.then)return a}var l=Object.create(null);s.r(l);var n={};e=e||[null,t({}),t([]),t(t)];for(var o=2&i&&a;"object"==typeof o&&!~e.indexOf(o);o=t(o))Object.getOwnPropertyNames(o).forEach((function(e){n[e]=function(){return a[e]}}));return n["default"]=function(){return a},s.d(l,n),l}}(),function(){s.d=function(e,t){for(var a in t)s.o(t,a)&&!s.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})}}(),function(){s.f={},s.e=function(e){return Promise.all(Object.keys(s.f).reduce((function(t,a){return s.f[a](e,t),t}),[]))}}(),function(){s.u=function(e){return"js/"+e+"."+{7:"7cef58a7",76:"9977e9df",188:"d74ce2b2",204:"4dd3d03d",213:"c9ed5252",229:"b09f2145",285:"6a0985b5",453:"04d72c77",612:"4ea201aa",684:"017ebeb8",841:"65cae984",907:"bfa01f81",924:"ddc3fd73",1097:"88cdd882",1161:"59a7c68b",1170:"16217940",1380:"fc40de11",1466:"c5d34b19",2113:"2a1bcdfa",2484:"6def3002",2502:"66addef9",2612:"ea780a2e",2838:"aa69ee5c",2885:"d75b7a04",2921:"b5aad8e9",3214:"72d306e7",3311:"bcab8a66",3320:"fe7033d0",3657:"e558064c",3728:"3e558208",3746:"09ee0424",3862:"b079a5bd",4057:"4b3b38fd",4075:"2d83f71e",4392:"02bf9f00",4518:"8e2c3fa8",4529:"6ff3334b",4578:"5a7acff1",4701:"e34c277a",5268:"5d463fbd",5409:"4ce439c3",5456:"e8c8face",5553:"032fcbe7",5723:"09853a5d",5979:"385e1b41",6177:"12db94aa",6730:"61289e01",7073:"57c96578",7343:"1e290ed5",8024:"bb377405",8059:"91d676ea",8520:"cb7009ea",8542:"09badcc3",8568:"7f0dfd32",8636:"2a90cf11",8731:"a28fea96",8929:"ea6da50f",8990:"6dd37151",9004:"ffe04245",9033:"727fb9e6",9249:"d2b0f88c",9407:"ed2e3833",9409:"339f5afb",9715:"21ca1afa",9729:"812aea5b"}[e]+".js"}}(),function(){s.miniCssF=function(e){return"css/"+e+"."+{188:"37c2c58b",907:"fa9ddfdd",2612:"f67d9d9c",2885:"10c05ec3",3862:"f5c9dd84",4392:"01299cfb",5456:"2cf84289",7073:"3978ef96",8059:"2ab138a8",9033:"ace2e544",9407:"f4af91bc"}[e]+".css"}}(),function(){s.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){var e={},t="jandl:";s.l=function(a,i,l,n){if(e[a])e[a].push(i);else{var o,r;if(void 0!==l)for(var d=document.getElementsByTagName("script"),u=0;u sanitizedUrl.startsWith(protocol))\n\n if (hasWhitelistedProtocol) return sanitizedUrl\n\n return `https://${sanitizedUrl}`\n } \n }\n\n Quill.register('formats/link', CustomLinkSanitizer, true)\n}","\n\n","\n\n","export default {\n\tmounted() {\n\t\twindow.addEventListener('keydown', this.handleKeyDown)\n\t},\n\n\tmethods: {\n\t\thandleKeyDown(event) {\n\t\t\t// if (event.keyCode === 27) this.closeModal()\n\t\t\tif (event.keyCode === 27) this.visible = false\n\t\t}\n\t},\n}","import { render } from \"./z-delete-team-modal.vue?vue&type=template&id=67985565\"\nimport script from \"./z-delete-team-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-delete-team-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./z-team-modal.vue?vue&type=template&id=3218e2d8\"\nimport script from \"./z-team-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-team-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./z-delete-task-modal.vue?vue&type=template&id=69a1b060\"\nimport script from \"./z-delete-task-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-delete-task-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n","import { render } from \"./z-delete-timeblock-modal.vue?vue&type=template&id=4aa4bee3&scoped=true\"\nimport script from \"./z-delete-timeblock-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-delete-timeblock-modal.vue?vue&type=script&lang=js\"\n\nimport \"./z-delete-timeblock-modal.vue?vue&type=style&index=0&id=4aa4bee3&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4aa4bee3\"]])\n\nexport default __exports__","\n\n\n\n\n","\n\n\n\n","import { render } from \"./z-files-upload.vue?vue&type=template&id=a2a40214&scoped=true\"\nimport script from \"./z-files-upload.vue?vue&type=script&lang=js\"\nexport * from \"./z-files-upload.vue?vue&type=script&lang=js\"\n\nimport \"./z-files-upload.vue?vue&type=style&index=0&id=a2a40214&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-a2a40214\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./a-task-timeblocks.vue?vue&type=template&id=7761eb90\"\nimport script from \"./a-task-timeblocks.vue?vue&type=script&lang=js\"\nexport * from \"./a-task-timeblocks.vue?vue&type=script&lang=js\"\n\nimport \"./a-task-timeblocks.vue?vue&type=style&index=0&id=7761eb90&lang=sass\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","export default {\n\t// Mixin to fix autofocus on v-input in modals where date selects are used\n\tdata() {\n\t\treturn {\n\t\t\tpreventInputFocus: false\n\t\t}\n\t},\n\n\tmethods: {\n\t\tsetFocusEvent() {\n\t\t\tdocument.querySelectorAll('.v-autocomplete input').forEach(input => {\n\t\t\t\tinput.addEventListener('focus', this.onInputFocus)\n\t\t\t})\n\t\t},\n\n\t\tonDateFocus($event) {\n\t\t\tif ($event == undefined) {\n\t\t\t\tthis.preventInputFocus = true\n\t\t\t}\n\t\t},\n\n\t\tonInputFocus($event) {\n\t\t\tif (this.preventInputFocus) {\n\t\t\t\t$event.target.blur()\n\t\t\t\tthis.preventInputFocus = false\n\t\t\t}\n\t\t}\n\t}\n}","export default {\n\tcomputed: {\n\t\temployeesOptions() {\n\t\t\tconst selectedEmployees = [...this.mastertask.employees].map(employee => employee.id)\n\n\t\t\treturn this.enrichedEmployees.filter(\n\t\t\t\t(employee) => !selectedEmployees.includes(employee.id)\n\t\t\t) || []\n\t\t},\n\n\t\tprojectsOptions() {\n\t\t\t// Added to \"paginate\" projects, because v-autocomplete was unable to handle so many projects at once\n\n\t\t\tconst pattern = /[^a-zA-Z0-9 ]/g\n\n\t\t\tconst normalizedInput = this.projectCodeSearch\n\t\t\t\t? this.projectCodeSearch.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '').replace(pattern, '')\n\t\t\t\t: ''\n\n\t\t\tconst projects = this.projects.filter(project => {\n\t\t\t\tconst normalizedProjectCode = project.code.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '').replace(pattern, '')\n\t\t\t\treturn normalizedProjectCode.toLowerCase().includes(normalizedInput.toLowerCase())\n\t\t\t})\n\n\t\t\tlet filteredProjects \t= projects?.length ? projects.slice(0, 10) : this.projects.slice(0, 10)\n\n\t\t\tif (!this.mastertask?.project_id)\n\t\t\t\treturn filteredProjects\n\n\t\t\tconst selectedProject \t= this.projects.find(project => project.id == this.mastertask?.project_id)\n\t\t\tfilteredProjects \t\t= filteredProjects.filter(project => project.id != selectedProject.id)\n\n\t\t\treturn [...filteredProjects, selectedProject]\n\t\t}\n\t},\n\n\tmethods: {\n\t\t// onProjectSelected(id) {\n\t\t// \tconst project = this.projects.find(project => project.id == id)\n\t\t// \tthis.mastertask.project_code = project.code\n\t\t// \tthis.mastertask.project_id \t = project.id\n\t\t// },\n\n\t\tonEmployeeSelected(id) {\n\t\t\tconst employee = this.enrichedEmployees.find(employee => employee.id == id)\n\t\t\tthis.mastertask.employees.push(employee)\n\t\t\tthis.showAddEmployeeInput = false\n\t\t},\n\n\t\tonEmployeeDurationChanged() {\n\t\t\tlet totalDuration = 0\n\n\t\t\tthis.mastertask.employees = this.mastertask.employees.map(employee => {\n\t\t\t\tif (typeof employee.duration == 'string') {\n\t\t\t\t\ttotalDuration += parseFloat(employee.duration)\n\t\t\t\t\temployee.duration = parseFloat(employee.duration)\n\t\t\t\t\temployee.invalid = false\n\t\t\t\t}\n\t\t\t\telse if (typeof employee.duration == 'number') {\n\t\t\t\t\ttotalDuration += employee.duration\n\t\t\t\t\temployee.invalid = false\n\t\t\t\t}\n\n\t\t\t\treturn employee\n\t\t\t})\n\n\t\t\tthis.mastertask.duration = totalDuration\n\t\t}\n\t},\n\n\twatch: {\n\t\t'mastertask.team_id'(value) {\n\t\t\tif (!value) return\n\t\t\t\n\t\t\tconst team = this.teams.find(team => team.id == value)\n\t\t\tif (!team) return\n\n\t\t\tthis.mastertask.team \t\t= JSON.parse(JSON.stringify(team))\n\t\t\tthis.mastertask.employees = [...this.mastertask.team.employees]\n\t\t},\n\t}\n}","\n\n\n","\n\n\n","import { render } from \"./a-mastertask-name.vue?vue&type=template&id=154bd9ae\"\nimport script from \"./a-mastertask-name.vue?vue&type=script&lang=js\"\nexport * from \"./a-mastertask-name.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./a-mastertask-status.vue?vue&type=template&id=40b1e729\"\nimport script from \"./a-mastertask-status.vue?vue&type=script&lang=js\"\nexport * from \"./a-mastertask-status.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./z-created-by.vue?vue&type=template&id=76476816\"\nimport script from \"./z-created-by.vue?vue&type=script&lang=js\"\nexport * from \"./z-created-by.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./a-task-assigned-employee.vue?vue&type=template&id=e04c27ce\"\nimport script from \"./a-task-assigned-employee.vue?vue&type=script&lang=js\"\nexport * from \"./a-task-assigned-employee.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./a-task-planned-time.vue?vue&type=template&id=5c6a17d5\"\nimport script from \"./a-task-planned-time.vue?vue&type=script&lang=js\"\nexport * from \"./a-task-planned-time.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n","import { render } from \"./a-task-spent-time.vue?vue&type=template&id=f216d188&scoped=true\"\nimport script from \"./a-task-spent-time.vue?vue&type=script&lang=js\"\nexport * from \"./a-task-spent-time.vue?vue&type=script&lang=js\"\n\nimport \"./a-task-spent-time.vue?vue&type=style&index=0&id=f216d188&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-f216d188\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./a-task-remaining-time.vue?vue&type=template&id=76900acb\"\nimport script from \"./a-task-remaining-time.vue?vue&type=script&lang=js\"\nexport * from \"./a-task-remaining-time.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./a-task-deadline.vue?vue&type=template&id=1d87e2c9\"\nimport script from \"./a-task-deadline.vue?vue&type=script&lang=js\"\nexport * from \"./a-task-deadline.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { useToast } from 'vue-toast-notification';\nconst toast = useToast();\n\ndeclare global {\n interface Window {\n\ttoast: typeof toast;\n }\n}\n\nwindow.toast = toast;\n\nexport function detectOS() {\n\tconst platform = window.navigator.platform\n\tconst macosPlatforms = ['Macintosh', 'MacIntel', 'MacPPC', 'Mac68K']\n\tconst windowsPlatforms = ['Win32', 'Win64', 'Windows', 'WinCE']\n\n\tif (macosPlatforms.indexOf(platform) !== -1) {\n\t\treturn 'mac'\n\t} else if (windowsPlatforms.indexOf(platform) !== -1) {\n\t\treturn 'win'\n\t}\n\treturn 'win'\n}\n\nexport function prepareHTMLDescription(description) {\n\tif (!description) return description\n\n\tconst os = detectOS()\n\n\tif (os === 'mac') {\n\t\tdescription = description.replace(/\\\\\\\\/g, 'smb://')\n\n\t\t// find all smb links and replace them with clickable links, separated by ' ', '<', '>', '\"', and '(', ')' characters\n\t\tdescription = description = description.replace(/(smb:\\/\\/[^\\s<>\"()]+)/g, function(match) {\n\t\t\treturn '' + match.replace(/\\\\/g, '/') + ''\n\t\t})\n\t} else {\n\t\tdescription = description.replace(/smb:\\/\\//g, '\\\\\\\\')\n\n\t\t\n\t\t// find all windows links and replace them with clickable links, separated by ' ', '<', '>', '\"', and '(', ')' characters\n\t\tdescription = description.replace(/(\\\\\\\\[^\\s<>\"()]+)/g, function(match) {\n\t\t\tmatch = match.replaceAll('/', '\\\\')\n\t\t\treturn '' + match + '';\n\t\t});\n\t}\n\n\treturn description;\n}\n\nfunction getCopyFunction(text) {\n\treturn `\n\t\tif (navigator.clipboard && navigator.clipboard.writeText) {\n\t\t\tnavigator.clipboard.writeText('${text.replace(/\\\\/g, '\\\\\\\\')}').then(() => {\n\t\t\t\twindow.toast.success('Link copied to clipboard!')\n\t\t\t}).catch(err => {\n\t\t\t\twindow.toast.error('Failed to copy link to clipboard!')\n\t\t\t});\n\t\t} else {\n\t\t\tconst input = document.createElement('input');\n\t\t\tinput.style.position = 'fixed';\n\t\t\tinput.style.opacity = 0;\n\t\t\tinput.style.pointerEvents = 'none';\n\t\t\tinput.value = '${text.replace(/\\\\/g, '\\\\\\\\')}';\n\t\t\tdocument.body.appendChild(input);\n\t\t\tinput.select();\n\t\t\tinput.focus();\n\t\t\tdocument.execCommand('copy');\n\t\t\tdocument.body.removeChild(input);\n\t\t\twindow.toast.success('Link copied to clipboard!')\n\t\t}\n\t`\n}","import { render } from \"./a-task-description.vue?vue&type=template&id=37e8334d\"\nimport script from \"./a-task-description.vue?vue&type=script&lang=js\"\nexport * from \"./a-task-description.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n","import { render } from \"./z-files.vue?vue&type=template&id=f01fa1ac&scoped=true\"\nimport script from \"./z-files.vue?vue&type=script&lang=js\"\nexport * from \"./z-files.vue?vue&type=script&lang=js\"\n\nimport \"./z-files.vue?vue&type=style&index=0&id=f01fa1ac&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-f01fa1ac\"]])\n\nexport default __exports__","import { render } from \"./z-task-readonly-info.vue?vue&type=template&id=ed26273c\"\nimport script from \"./z-task-readonly-info.vue?vue&type=script&lang=js\"\nexport * from \"./z-task-readonly-info.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\ne","import { render } from \"./a-timeblock.vue?vue&type=template&id=031787aa&scoped=true\"\nimport script from \"./a-timeblock.vue?vue&type=script&lang=js\"\nexport * from \"./a-timeblock.vue?vue&type=script&lang=js\"\n\nimport \"./a-timeblock.vue?vue&type=style&index=0&id=031787aa&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-031787aa\"]])\n\nexport default __exports__","import { render } from \"./z-task-modal.vue?vue&type=template&id=5102a689&scoped=true\"\nimport script from \"./z-task-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-task-modal.vue?vue&type=script&lang=js\"\n\nimport \"./z-task-modal.vue?vue&type=style&index=0&id=5102a689&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-5102a689\"]])\n\nexport default __exports__","\n\n","import { render } from \"./z-delete-blocker-modal.vue?vue&type=template&id=fe8d1392\"\nimport script from \"./z-delete-blocker-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-delete-blocker-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./z-complete-task-modal.vue?vue&type=template&id=e0b2ec2c\"\nimport script from \"./z-complete-task-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-complete-task-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./z-complete-master-task-modal.vue?vue&type=template&id=62a2645e\"\nimport script from \"./z-complete-master-task-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-complete-master-task-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./z-task-add-time-modal.vue?vue&type=template&id=7cc49c67\"\nimport script from \"./z-task-add-time-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-task-add-time-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./z-blocker-modal.vue?vue&type=template&id=1ca4825a\"\nimport script from \"./z-blocker-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-blocker-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./z-delete-master-task-modal.vue?vue&type=template&id=9419f686\"\nimport script from \"./z-delete-master-task-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-delete-master-task-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","\n\n\n\n\n","import { render } from \"./a-tasks-table.vue?vue&type=template&id=753dec0e&scoped=true\"\nimport script from \"./a-tasks-table.vue?vue&type=script&lang=js\"\nexport * from \"./a-tasks-table.vue?vue&type=script&lang=js\"\n\nimport \"./a-tasks-table.vue?vue&type=style&index=0&id=753dec0e&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-753dec0e\"]])\n\nexport default __exports__","\n\n\n","\n\n","import { render } from \"./z-deadline.vue?vue&type=template&id=13a73f8f\"\nimport script from \"./z-deadline.vue?vue&type=script&lang=js\"\nexport * from \"./z-deadline.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./z-description.vue?vue&type=template&id=09dc9550\"\nimport script from \"./z-description.vue?vue&type=script&lang=js\"\nexport * from \"./z-description.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./z-planned-time.vue?vue&type=template&id=0c44c1d0\"\nimport script from \"./z-planned-time.vue?vue&type=script&lang=js\"\nexport * from \"./z-planned-time.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./z-remaining-time.vue?vue&type=template&id=759929d5\"\nimport script from \"./z-remaining-time.vue?vue&type=script&lang=js\"\nexport * from \"./z-remaining-time.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./z-spent-time.vue?vue&type=template&id=cc4966e2\"\nimport script from \"./z-spent-time.vue?vue&type=script&lang=js\"\nexport * from \"./z-spent-time.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./z-status.vue?vue&type=template&id=5a460912\"\nimport script from \"./z-status.vue?vue&type=script&lang=js\"\nexport * from \"./z-status.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./z-team.vue?vue&type=template&id=3dfe3a63\"\nimport script from \"./z-team.vue?vue&type=script&lang=js\"\nexport * from \"./z-team.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./z-estimated-duration.vue?vue&type=template&id=5c7dad8e\"\nimport script from \"./z-estimated-duration.vue?vue&type=script&lang=js\"\nexport * from \"./z-estimated-duration.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./a-mastertask-description.vue?vue&type=template&id=2ed63137\"\nimport script from \"./a-mastertask-description.vue?vue&type=script&lang=js\"\nexport * from \"./a-mastertask-description.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./z-master-task-modal.vue?vue&type=template&id=4b1eca40&scoped=true\"\nimport script from \"./z-master-task-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-master-task-modal.vue?vue&type=script&lang=js\"\n\nimport \"./z-master-task-modal.vue?vue&type=style&index=0&id=4b1eca40&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4b1eca40\"]])\n\nexport default __exports__","\r\n\r\n","import { render } from \"./z-delete-team-member-modal.vue?vue&type=template&id=554335ff\"\nimport script from \"./z-delete-team-member-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-delete-team-member-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./z-show-menu-modal.vue?vue&type=template&id=1399b161\"\nimport script from \"./z-show-menu-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-show-menu-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./z-unable-to-edit-office-task-modal.vue?vue&type=template&id=4cd44904\"\nimport script from \"./z-unable-to-edit-office-task-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-unable-to-edit-office-task-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n","import { render } from \"./z-unable-to-complete-task-modal.vue?vue&type=template&id=3c7fa7bc&scoped=true\"\nimport script from \"./z-unable-to-complete-task-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-unable-to-complete-task-modal.vue?vue&type=script&lang=js\"\n\nimport \"./z-unable-to-complete-task-modal.vue?vue&type=style&index=0&id=3c7fa7bc&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3c7fa7bc\"]])\n\nexport default __exports__","import { render } from \"./App.vue?vue&type=template&id=0c83946b\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createStore } from \"vuex\";\n\nexport default createStore({\n state: {},\n getters: {},\n mutations: {},\n actions: {},\n modules: {},\n});","import { createRouter, createWebHashHistory, RouteRecordRaw } from 'vue-router'\nimport store from '@/store'\n\nconst routes: Array = [\n\t{\n\t\tpath: '',\n\t\tredirect: '/auth'\n\t},\n\t{\n\t\tpath: '/auth/',\n\t\tcomponent: () => import('@/plugins/app/_layout/auth/auth.layout.vue'),\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tpath: '',\n\t\t\t\tredirect: '/auth/login'\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: '/auth/login',\n\t\t\t\tname: 'Login',\n\t\t\t\tcomponent: () => import('@/plugins/lib@auth/login/login.vue'),\n\t\t\t\tmeta: {requiresAuth: false}\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: '/auth/forgot-password',\n\t\t\t\tname: 'Forgot password',\n\t\t\t\tcomponent: () => import('@/plugins/lib@auth/forgot-password/forgot-password.vue'),\n\t\t\t\tmeta: {requiresAuth: false}\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: '/auth/forgot-success',\n\t\t\t\tname: 'Forgot success',\n\t\t\t\tcomponent: () => import('@/plugins/lib@auth/forgot-success/forgot-success.vue'),\n\t\t\t\tmeta: {requiresAuth: false}\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: '/auth/reset-password',\n\t\t\t\tname: 'Reset password',\n\t\t\t\tcomponent: () => import('@/plugins/lib@auth/reset-password/reset-password.vue'),\n\t\t\t\tmeta: {requiresAuth: null}\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tpath: '/app',\n\t\tcomponent: () => import('@/plugins/app/_layout/app/app.layout.vue'),\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tpath: '',\n\t\t\t\tredirect: '/app/dashboard'\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: '/app/dashboard',\n\t\t\t\tredirect: '/app/dashboard/tasks',\n\t\t\t\tchildren: [\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/dashboard/tasks',\n\t\t\t\t\t\tname: 'Dashboard - Tasks',\n\t\t\t\t\t\tmeta: { title: 'Sub Tasks', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/tm@dashboard/tasks/tasks.vue')\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/dashboard/teams',\n\t\t\t\t\t\tname: 'Dashboard - Teams',\n\t\t\t\t\t\tmeta: { title: 'Teams Overview', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/tm@dashboard/teams/teams.vue')\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/dashboard/projects',\n\t\t\t\t\t\tname: 'Dashboard - Projects',\n\t\t\t\t\t\tmeta: { title: 'Projects overview', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/tm@dashboard/projects/projects.vue')\n\t\t\t\t\t},\n\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/overview/unscheduled',\n\t\t\t\t\t\tname: 'Overview - Unscheduled tasks',\n\t\t\t\t\t\tmeta: { title: 'Unscheduled Sub Tasks', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/tm@overview/tasks-unscheduled/tasks-unscheduled.vue')\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/overview/ongoing',\n\t\t\t\t\t\tname: 'Overview - Ongoing tasks',\n\t\t\t\t\t\tmeta: { title: 'Ongoing Sub Tasks', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/tm@overview/tasks-ongoing/tasks-ongoing.vue')\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/overview/teams',\n\t\t\t\t\t\tname: 'Overview - Teams',\n\t\t\t\t\t\tmeta: { title: 'Teams', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/tm@overview/teams/teams.vue')\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/dashboard/user',\n\t\t\t\t\t\tname: 'Dashboard - User',\n\t\t\t\t\t\tmeta: { title: 'Profile', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/tm@profile/profile/my-profile.vue')\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/search',\n\t\t\t\t\t\tname: 'Search',\n\t\t\t\t\t\tmeta: { title: 'Search Results', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/lib@search/search/search.vue')\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tpath: '/:catchAll(.*)',\n\t\tname: '404',\n\t\tcomponent: () => import('@/plugins/w@screen/404/404.vue'),\n\t\tmeta: {requiresAuth: null}\n\t}\n]\n\nconst router = createRouter({\n\thistory: createWebHashHistory(process.env.BASE_URL),\n\troutes\n})\n\nrouter.beforeEach((to, from, next) => {\n\tconst isLoggedIn = store.getters['auth/isLoggedIn']\n\n\tif (to.meta.requiresAuth === true) {\n\t\tif (isLoggedIn)\n\t\t\treturn next()\n\t\telse\n\t\t\treturn next({name: 'Login'})\n\t} else if (to.meta.requiresAuth === false) {\n\t\tif (!isLoggedIn)\n\t\t\treturn next()\n\t\telse\n\t\t\treturn next({name: 'Dashboard - Tasks'})\n\t} else {\n\t\treturn next()\n\t}\n})\n\nexport default router\n","import axios from 'axios'\nimport store from '@/store'\n\naxios.defaults.baseURL = process.env.VUE_APP_WAXIOS_URL\n\nexport default {\n\tasync get(url: string, config?: any) {\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync get_auth(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync get_data(url: string, config?: any) {\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync get_auth_data(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => Promise.resolve(response.data.data))\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync post(url: string, params = null, config?: any) {\n\n\t\treturn axios.post(url, params, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync post_auth(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.post(url, params, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync post_data(url: string, params = null, config?: any) {\n\n\t\treturn axios.post(url, params, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync post_auth_data(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.post(url, params, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync delete(url: string, config?: any) {\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync delete_auth(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync delete_data(url: string, config?: any) {\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync delete_auth_data(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync patch(url: string, params = null, config?: any) {\n\t\treturn axios.patch(url, params, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync patch_auth(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.patch(url, params, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync patch_data(url: string, params = null, config?: any) {\n\t\treturn axios.patch(url, params, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync patch_auth_data(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.patch(url, params, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync put(url: string, params = null, config?: any) {\n\t\treturn axios.put(url, params, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync put_auth(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.put(url, params, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync put_data(url: string, params = null, config?: any) {\n\t\treturn axios.put(url, params, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync put_auth_data(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.put(url, params, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\t_config(config: any) {\n\t\tif (config) console.error('NOT IMPLEMENTED')\n\n\t\tif (!store.getters['auth/token']) {\n\t\t\treturn {headers: {}}\n\t\t}\n\n\t\treturn {\n\t\t\theaders: {\n\t\t\t\tAuthorization: `Bearer ${store.getters['auth/token']}`\n\t\t\t}\n\t\t}\n\t}\n}","import { App } \t\tfrom 'vue'\nimport { Options } \tfrom './types'\nimport axios \t\tfrom './models/axios'\n\nexport default {\n\tinstall: (app: App, options: Options) => {\n\t\tif (options && options.disabled === true) return\n\n\t\tapp.config.globalProperties.$axios = axios\n\t}\n}","export const encodeGetParams = p =>\n\tObject.entries(p).map(kv => kv.map(encodeURIComponent).join('=')).join('&')\n\nexport function strToRegex(s) {\n\tlet re = s\n\tre = re.replace(/\\//g, '\\\\/')\n\tre = re.replace(/\\./g, '\\\\.')\n\tre = re.replace(/\\([^)]+\\)/g, '[^/]+')\n\treturn re\n}\n","import axios from 'axios'\nimport { encodeGetParams, strToRegex } from '../utils/moxios.util'\n\nexport class Moxios {\n\t_mocks = {}\n\n\tconstructor() {\n\t\taxios.interceptors.request.use(this._redirectRequestToMock.bind(this))\n\t\tthis._mocks = {}\n\t}\n\n\tmock(append) {\n\t\tfor (const k in append) {\n\t\t\tlet m = append[k]\n\n\t\t\tif (m === false) continue\n\n\t\t\tm = {}\n\n\t\t\tm.name = k\n\t\t\tm.url = k.split(' ')[1]\n\n\t\t\tif (!m.reUrl)\n\t\t\t\tm.reUrl = strToRegex( m.url )\n\n\t\t\tif (!m.matchMethod)\n\t\t\t\tm.matchMethod = k.split(' ')[0].toLowerCase()\n\n\t\t\tthis._mocks[k] = m\n\t\t}\n\t}\n\n\n\t_redirectRequestToMock(config) {\n\t\t// if (localStorage['isMoxios'] == 'false') {\n\t\t// \treturn config\n\t\t// }\n\n\t\tconst url = config.url.replace(/https?:\\/\\/[^/?]+/, '')\n\n\t\tlet mocked\n\n\t\tfor (const k in this._mocks) {\n\t\t\tconst m = this._mocks[k]\n\n\t\t\tif (config.method == m.matchMethod && url.match(m.reUrl)) {\n\t\t\t\tmocked = m\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\n\t\tif (mocked) {\n\t\t\tif (!mocked.fname)\n\t\t\t\tprocess.env.VUE_APP_PLATFORM\n\t\t\t\t\t? mocked.fname = `/mock/${process.env.VUE_APP_PLATFORM}/${mocked.url}.${config.method.toUpperCase()}.json`\n\t\t\t\t\t: mocked.fname = `/mock/${mocked.url}.${config.method.toUpperCase()}.json`\n\n\n\t\t\tconsole.log(mocked.fname = `/mock/${mocked.url}.${config.method.toUpperCase()}.json`)\n\n\t\t\tconst c = {\n\t\t\t\tmethod: 'get',\n\t\t\t\turl: window.location.origin + mocked.fname+'?___MOCK___&'+encodeGetParams(config.data||{}),\n\t\t\t}\n\n\t\t\tconfig = {...config, ...c}\n\t\t}\n\n\t\treturn config\n\t}\n\n}\n\n","import { App } \t\tfrom 'vue'\nimport { Moxios } \tfrom './models/moxios'\nimport { Options } \tfrom './types/index.js'\n\nexport default {\n\tinstall: (app: App, options: Options) => {\n\t\tconst moxios = new Moxios()\n\n\t\tif (!options || !options.routes || !Object.values(options.routes).length || options.disabled === true) return\n\n\t\tmoxios.mock(options.routes)\n\t}\n}","import { Options } \tfrom './types'\nimport mitt \t\tfrom 'mitt'\n\nexport default {\n\tinstall: (app, options: Options) => {\n\t\tif (options && options.disabled === true) return\n\n\t\tconst events = mitt()\n\t\tapp.config.globalProperties.$events = events\n\t}\n}","import { Language, Options } from \"../types\"\nimport { Ref, ref } from 'vue'\nimport axios from 'axios'\nimport { createI18n, I18n as I18nType } from 'vue-i18n'\nimport { Preferences } from '@capacitor/preferences'\n\n\nexport class I18n {\n\tpublic currentLanguage: Ref = ref();\n\tpublic availableLanguages: Language[];\n\tpublic vendorI18n: I18nType\n\tpublic defaultLanguage: Language | null;\n\n\tprivate languageKey: string;\n\n\tconstructor(properties: Options) {\n\t\tthis.availableLanguages = properties.languages || []\n\t\tthis.defaultLanguage = properties.languages.find(language => language.value == properties.defaultLanguage)\n\t\tthis.languageKey = properties.languageKey || process.env.VUE_APP_PLATFORM + '_language' || 'w18n_language'\n\n\t\tthis.vendorI18n = createI18n({\n\t\t\tlegacy: true,\n\t\t\tfallbackLocale: this.defaultLanguage.value,\n\t\t\tmessages: this._loadLocaleMessages(),\n\t\t\tmissing: this._missingTranslation,\n\t\t\tpostTranslation: this._postTranslation,\n\t\t})\n\n\t\tthis.changeLanguage({ title: \"Slovenský\", flag: \"sk\", value: \"sk\" })\n\t\tthis.initCurrentLanguage()\n\t}\n\n\tpublic async initCurrentLanguage() {\n\t\tconst { value } = await Preferences.get({ key: this.languageKey })\n\n\t\tif (value) {\n\t\t\tthis.currentLanguage.value = JSON.parse(value)\n\t\t} else if (this.defaultLanguage) {\n\t\t\tthis.currentLanguage.value = this.defaultLanguage\n\t\t} else if (this.availableLanguages[0]) {\n\t\t\tthis.currentLanguage.value = this.availableLanguages[0]\n\t\t} else {\n\t\t\treturn console.error('[w18n] Could not init current language')\n\t\t}\n\n\t\tconst availableLanguages = {}\n\n\t\tthis.availableLanguages.forEach(language => {\n\t\t\tavailableLanguages[language.value] = language.title\n\t\t})\n\n\t\tthis.changeLanguage(this.currentLanguage.value)\n\t\t// Translations.setup(this.currentLanguage.value.value, availableLanguages)\n\n\t\tthis._addAxiosHeaders()\n\t}\n\n\tpublic changeLanguage(language: Language) {\n\t\tthis.currentLanguage.value = language\n\t\tthis._addAxiosHeaders()\n\n\t\tPreferences.set({\n\t\t\tkey: this.languageKey,\n\t\t\tvalue: JSON.stringify(language)\n\t\t})\n\n\t\tthis.vendorI18n.global.locale = language.value\n\t}\n\n\n\tprivate _addAxiosHeaders() {\n\t\taxios.interceptors.request.use(config => {\n\t\t\tif (this.currentLanguage.value && this.currentLanguage.value.value) {\n\t\t\t\tconfig.headers['Accept-Language'] = this.currentLanguage.value.value\n\t\t\t}\n\n\t\t\treturn config\n\t\t})\n\n\t\taxios.interceptors.response.use(\n\t\t\t(response) => {\n\t\t\t\treturn response\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\treturn Promise.reject(error?.response || error)\n\t\t\t}\n\t\t)\n\t}\n\n\tpublic _loadLocaleMessages(path = '@/locales') {\n\t\tlet locales\n\t\ttry {\n\t\t\tlocales = require.context(\n\t\t\t\t'@/locales',\n\t\t\t\ttrue,\n\t\t\t\t/[A-Za-z0-9-_,\\s]+\\.json$/i\n\t\t\t)\n\t\t} catch (error) {\n\t\t\tconsole.warn('[@wezeo/i18n] Could not initialize i18n. Missing folder /src/locales.')\n\t\t\treturn {}\n\t\t}\n\n\t\tconst messages: { [key: string]: { [key: string]: string } } = {}\n\n\t\tlocales.keys().forEach((key) => {\n\t\t\tconst matched = key.match(/([A-Za-z0-9-_]+)\\./i)\n\t\t\tif (matched && matched.length > 1) {\n\t\t\t\tconst locale = matched[1]\n\n\t\t\t\tmessages[locale] = locales(key)\n\t\t\t}\n\t\t})\n\t\treturn messages\n\t}\n\n\tprivate _missingTranslation = (locale, key, instance?, type?) => {\n\t\treturn key\n\t}\n\n\tprivate _postTranslation = (translated) => {\n\t\treturn translated\n\t}\n}\n","import { Options } \tfrom './types'\nimport { I18n } \tfrom './models/i18n'\nimport events \t\tfrom '@/plugins/w/events'\n\nexport default {\n\tinstall: (app, options: Options) => {\n\t\tif (options && options.disabled === true)\n\t\t\treturn\n\n\t\tif (!options || !options.languages || !options.defaultLanguage)\n\t\t\treturn console.warn('[@wezeo/i18n] Could not initialize i18n. Missing configuration options.')\n\n\t\tif (!app.config.globalProperties.$events) {\n\t\t\tapp.use(events)\n\t\t}\n\n\t\tconst i18n = new I18n(options)\n\n\t\tapp.use(i18n.vendorI18n)\n\t\tapp.config.globalProperties.$w18n = i18n\n\t}\n}","import { App } \t\tfrom 'vue'\nimport { Options } \tfrom './types'\n\n\nimport {\n\tIonContent, IonPage, IonLabel, IonBackButton, IonCheckbox, IonText, IonButton, IonItem,\n\tIonToolbar, IonHeader, IonFooter, IonSlides, IonSlide, IonRow, IonCol, IonGrid, IonInput, IonButtons,\n\tIonIcon, IonList, IonTitle, IonMenu, IonRouterOutlet, IonMenuButton, IonSegment, IonSegmentButton, IonVirtualScroll,\n\tIonTextarea, IonSearchbar, IonRefresherContent, IonRefresher, IonInfiniteScrollContent, IonInfiniteScroll, IonAvatar,\n\tIonModal, IonRadioGroup, IonRadio, IonNote, IonCard, IonCardContent, IonTabBar, IonTabButton, IonMenuToggle, IonFab,\n\tIonFabButton, IonReorderGroup, IonReorder, IonFabList, IonSelect, IonSelectOption, IonToggle, IonBadge, IonChip, IonTabs, IonItemGroup, IonThumbnail, IonItemSliding, IonItemOption, IonItemOptions, IonImg, IonSkeletonText, IonSpinner, IonSplitPane\n} from '@ionic/vue'\n\nexport default {\n\tinstall: (app: App, options: Options) => {\n\t\tif (options && options.disabled === true) return\n\n\t\tapp.component('ion-content', IonContent)\n\t\tapp.component('ion-page', IonPage)\n\t\tapp.component('ion-label', IonLabel)\n\t\tapp.component('ion-back-button', IonBackButton)\n\t\tapp.component('ion-checkbox', IonCheckbox)\n\t\tapp.component('ion-text', IonText)\n\t\tapp.component('ion-button', IonButton)\n\t\tapp.component('ion-item', IonItem)\n\t\tapp.component('ion-item-group', IonItemGroup)\n\t\tapp.component('ion-item-sliding', IonItemSliding)\n\t\tapp.component('ion-item-option', IonItemOption)\n\t\tapp.component('ion-item-options', IonItemOptions)\n\t\tapp.component('ion-toolbar', IonToolbar)\n\t\tapp.component('ion-header', IonHeader)\n\t\tapp.component('ion-footer', IonFooter)\n\t\tapp.component('ion-slides', IonSlides)\n\t\tapp.component('ion-slide', IonSlide)\n\t\tapp.component('ion-spinner', IonSpinner)\n\t\tapp.component('ion-row', IonRow)\n\t\tapp.component('ion-col', IonCol)\n\t\tapp.component('ion-grid', IonGrid)\n\t\tapp.component('ion-input', IonInput)\n\t\tapp.component('ion-buttons', IonButtons)\n\t\tapp.component('ion-icon', IonIcon)\n\t\tapp.component('ion-img', IonImg)\n\t\tapp.component('ion-list', IonList)\n\t\tapp.component('ion-skeleton-text', IonSkeletonText)\n\t\tapp.component('ion-title', IonTitle)\n\t\tapp.component('ion-menu', IonMenu),\n\t\tapp.component('ion-split-pane', IonSplitPane)\n\t\tapp.component('ion-menu-button', IonMenuButton)\n\t\tapp.component('ion-router-outlet', IonRouterOutlet)\n\t\tapp.component('ion-segment', IonSegment)\n\t\tapp.component('ion-segment-button', IonSegmentButton)\n\t\tapp.component('ion-virtual-scroll', IonVirtualScroll)\n\t\tapp.component('ion-textarea', IonTextarea)\n\t\tapp.component('ion-searchbar', IonSearchbar)\n\t\tapp.component('ion-refresher-content', IonRefresherContent)\n\t\tapp.component('ion-refresher', IonRefresher)\n\t\tapp.component('ion-infinite-scroll-content', IonInfiniteScrollContent)\n\t\tapp.component('ion-infinite-scroll', IonInfiniteScroll)\n\t\tapp.component('ion-avatar', IonAvatar)\n\t\tapp.component('ion-thumbnail', IonThumbnail)\n\t\tapp.component('ion-modal', IonModal)\n\t\tapp.component('ion-radio-group', IonRadioGroup)\n\t\tapp.component('ion-radio', IonRadio)\n\t\tapp.component('ion-note', IonNote)\n\t\tapp.component('ion-card', IonCard)\n\t\tapp.component('ion-card-content', IonCardContent)\n\t\tapp.component('ion-tab-bar', IonTabBar)\n\t\tapp.component('ion-tab-button', IonTabButton),\n\t\tapp.component('ion-menu-toggle', IonMenuToggle)\n\t\tapp.component('ion-fab', IonFab)\n\t\tapp.component('ion-fab-button', IonFabButton)\n\t\tapp.component('ion-fab-list', IonFabList)\n\t\tapp.component('ion-reorder-group', IonReorderGroup)\n\t\tapp.component('ion-reorder', IonReorder)\n\t\tapp.component('ion-select', IonSelect)\n\t\tapp.component('ion-select-option', IonSelectOption)\n\t\tapp.component('ion-toggle', IonToggle)\n\t\tapp.component('ion-badge', IonBadge)\n\t\tapp.component('ion-chip', IonChip),\n\t\tapp.component('ion-tabs', IonTabs)\n\t}\n}","/* eslint-disable */\nimport axios from 'axios'\nimport store from '@/store'\n\nasync function _unauthorised(error: any) {\n\tif (error?.response?.data?.message == 'Unauthenticated.')\n\t\treturn store.dispatch('auth/logout')\n\t\n\treturn Promise.reject(error)\n}\n\naxios.interceptors.response.use(\n\t(response) => response,\n\t(error) => _unauthorised(error),\n)","import axios from '@/plugins/w/axios/models/axios'\nimport './refreshExpired'\n\nexport default {\n\tnamespaced: true,\n\tstate: {\n\t\ttoken: localStorage.getItem('wzo_vue_user_token') || '',\n\t\tuser: JSON.parse(localStorage.getItem('wzo_vue_user_user') || '{}'),\n\t},\n\tmutations: {\n\t\tauth_success(state: any, data: any) {\n\t\t\tif (data.token) {\n\t\t\t\tstate.token = data.token\n\t\t\t\tlocalStorage.setItem('wzo_vue_user_token', data.token)\n\t\t\t}\n\n\t\t\tif (data.user) {\n\t\t\t\tstate.user = data.user\n\t\t\t\tlocalStorage.setItem('wzo_vue_user_user', JSON.stringify(data.user))\n\t\t\t}\n\t\t},\n\t\tauth_error(state: any) {\n\t\t\tstate.token = ''\n\t\t\tlocalStorage.removeItem('wzo_vue_user_token')\n\t\t\tlocalStorage.removeItem('wzo_vue_user_user')\n\t\t},\n\t\tlogout(state: any) {\n\t\t\tstate.token = ''\n\t\t\tstate.user = null\n\t\t\tlocalStorage.removeItem('wzo_vue_user_token')\n\t\t\tlocalStorage.removeItem('wzo_vue_user_user')\n\t\t\twindow.open(location.origin, \"_self\")\n\t\t}\n\t},\n\tactions: {\n\t\tlogin({commit}: {commit: any}, credentials: any) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.post('v1/tokens/create', {data: credentials})\n\t\t\t\t\t.then((response: any) => {\n\t\t\t\t\t\tconst token = response.token\n\t\t\t\t\t\tconst user = response.user\n\n\t\t\t\t\t\tcommit('auth_success', {\n\t\t\t\t\t\t\ttoken: token,\n\t\t\t\t\t\t\tuser: user\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\tresolve(response)\n\t\t\t\t\t}).catch(error => {\n\t\t\t\t\t\tcommit('auth_error')\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\t\tsignup({commit }: {commit: any}, credentials: any) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\tcommit('auth_request')\n\n\t\t\t\taxios.post_data('v1/auth/signup', credentials)\n\t\t\t\t\t.then((response: any) => {\n\t\t\t\t\t\tconst token = response.token\n\t\t\t\t\t\tconst user = response.user\n\n\t\t\t\t\t\tcommit('auth_success', {\n\t\t\t\t\t\t\ttoken: token,\n\t\t\t\t\t\t\tuser: user\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\tresolve(response)\n\t\t\t\t\t}).catch(error => {\n\t\t\t\t\t\tcommit('auth_error')\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\t\t// eslint-disable-next-line\n\t\tlogout({commit}: {commit: any}) {\n\t\t\treturn new Promise((resolve) => {\n\t\t\t\taxios.post_auth_data('v1/auth/invalidate')\n\t\t\t\t\t.finally(() => {\n\t\t\t\t\t\tcommit('logout')\n\t\t\t\t\t\tresolve(null)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\t\t// eslint-disable-next-line\n\t\tforgotPassword({commit}: {commit: any}, credentials: any) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.post('v1/users/forgot', {data: credentials})\n\t\t\t\t\t.then(response => resolve(response))\n\t\t\t\t\t.catch(error => reject(error))\n\t\t\t})\n\t\t},\n\t\t// eslint-disable-next-line\n\t\tresetPassword({commit}: {commit: any}, credentials: any) {\n\t\t\tcommit('auth_success', {token: credentials.token})\n\t\t\t\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.post_auth_data('v1/users/reset', {data: credentials})\n\t\t\t\t\t.then(response => {\n\t\t\t\t\t\tcommit('logout')\n\t\t\t\t\t\tresolve(response)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => reject(error))\n\t\t\t})\n\t\t},\n\t\tasync refreshToken({commit}: {commit: any}) {\n\t\t\ttry {\n\t\t\t\tconst response: any = await axios.post_auth_data('v1/auth/refresh')\n\n\t\t\t\tconst token = response.token\n\t\t\t\tconst user = response.user\n\n\t\t\t\tcommit('auth_success', {\n\t\t\t\t\ttoken: token,\n\t\t\t\t\tuser: user\n\t\t\t\t})\n\n\t\t\t\treturn token\n\t\t\t} catch (error) {\n\t\t\t\tcommit('auth_error')\n\t\t\t\tconsole.error(error)\n\t\t\t}\n\t\t},\n\t\tasync userInfo({commit}: {commit: any}) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.get_auth_data('v1/auth/info')\n\t\t\t\t\t.then((response: any) => {\n\t\t\t\t\t\tconst user = response.user\n\n\t\t\t\t\t\tcommit('auth_success', {\n\t\t\t\t\t\t\tuser: user\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\tresolve(user)\n\t\t\t\t\t}).catch(error => {\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\t\tupdateUserInfo({commit}: {commit: any}, data: any) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.put_auth(`v1/users/${data.id}`, {data: data})\n\t\t\t\t\t.then((response: any) => {\n\t\t\t\t\t\tconst user = response.user\n\n\t\t\t\t\t\tcommit('auth_success', {\n\t\t\t\t\t\t\tuser: user\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\tresolve(user)\n\t\t\t\t\t}).catch(error => {\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\t},\n\tgetters: {\n\t\tisLoggedIn: (state: any) => {\n\t\t\treturn !!state.token\n\t\t},\n\t\tuser: (state: any) => {\n\t\t\treturn state.user\n\t\t},\n\t\ttoken: (state: any) => {\n\t\t\treturn (state.token && state.token != undefined) ? state.token : null\n\t\t}\n\t}\n}","import { App } \t\tfrom 'vue'\nimport { Options } \tfrom './types'\nimport auth \t\tfrom './auth.store'\n\nexport default {\n\tinstall: (app: App, options: Options) => {\n\t\tif (options && options.disabled == true) return\n\n\t\tif (!app.config.globalProperties.$store)\n\t\t\treturn console.warn('[w/auth] Could not initialize. App does not have vuex store added.')\n\n\t\tapp.config.globalProperties.$store.registerModule('auth', auth)\n\t}\n}","import { Options } \tfrom './types'\n// import { Toast } from './models/Toast'\nimport 'vue-toast-notification/dist/theme-sugar.css'\nimport VueToast from 'vue-toast-notification'\n\nexport default {\n\tinstall: (app, options: Options) => {\n\t\tif (options && options.disabled === true) return\n\n\t\tapp.use(VueToast)\n\n\t\t// app.config.globalProperties.$wToast = new Toast()\n\t\tapp.config.globalProperties.$parseError = (error) => error?.data?.message || error?.response?.data?.message || error?.message || error\n\t}\n}","\n\n\n\n","import { render } from \"./w-loadable.vue?vue&type=template&id=a2444234&scoped=true\"\nimport script from \"./w-loadable.vue?vue&type=script&lang=js\"\nexport * from \"./w-loadable.vue?vue&type=script&lang=js\"\n\nimport \"./w-loadable.vue?vue&type=style&index=0&id=a2444234&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-a2444234\"]])\n\nexport default __exports__","import { App } \t\tfrom 'vue'\nimport { Options } \tfrom './types'\nimport WLoadable\tfrom './_components/w-loadable.vue'\n\nexport default {\n\tinstall: (app: App, options: Options) => {\n\t\tif (options && options.disabled === true) return\n\n\t\tapp.component('W-loadable', WLoadable)\n\t}\n}","import { App } \t\tfrom 'vue'\nimport { Options } \tfrom './types'\n\nimport axios\t \tfrom '@/plugins/w/axios'\nimport moxios\t \tfrom '@/plugins/w/moxios'\nimport events\t \tfrom '@/plugins/w/events'\nimport i18n\t \t\tfrom '@/plugins/w/i18n'\nimport ionic\t \tfrom '@/plugins/w/ionic'\nimport auth\t\t\tfrom '@/plugins/w/auth'\nimport toast\t\tfrom '@/plugins/w/toast'\nimport loadable\t\tfrom '@/plugins/w/loadable'\n\nexport default {\n\tinstall: (app: App, options: Options = {}) => {\n\t\tevents.install(app, options.events)\n\t\taxios.install(app, options.axios)\n\t\ti18n.install(app, options.i18n)\n\t\tmoxios.install(app, options.moxios)\n\t\tionic.install(app, options.ionic)\n\t\tauth.install(app, options.auth)\n\t\ttoast.install(app, options.toast)\n\t\tloadable.install(app, options.loadable)\n\t}\n}","import { $t } from '@/plugins/app/_config/main'\n\nexport default {\n\tparseAndTranslate(data) {\n\t\tconst errorsArray = this._parseToArrayOfStrings(data)\n\t\treturn errorsArray.join(', ')\n\t},\n\n\t_parseToArrayOfStrings(data) {\n\t\tif (data?.data?.message) {\n\t\t\treturn [$t(data.data.message)]\n\t\t}\n\n\t\tif (typeof data == 'string') {\n\t\t\treturn [$t(data)]\n\t\t}\n\n\t\tif (data?.response?.data)\n\t\t\treturn Object.values(data?.response?.data)\n\n\t\tif (data && data.error && typeof data.error == 'string') {\n\t\t\treturn [$t(data.error)]\n\t\t}\n\n\t\tif (data && data.error && typeof data.error == 'object') {\n\t\t\treturn Object.values($t(data.error))\n\t\t}\n\n\t\tif (data.data && data.data.error && typeof data.data.error == 'string') {\n\t\t\treturn [$t(data.data.error)]\n\t\t}\n\n\t\tif (data && data.data && data.data.error && typeof data.data.error == 'object') {\n\t\t\treturn Object.values(data.data.error).map(error => $t(error[0]) + ' ')\n\t\t}\n\n\t\tif (data.statusText) {\n\t\t\treturn [$t(data.statusText)]\n\t\t}\n\n\t\treturn [data]\n\t}\n}","import axios from 'axios'\nimport store from '@/store'\nimport toastUtils from '@/plugins/w/toast/utils/toast.utils'\n\naxios.defaults.baseURL = process.env.VUE_APP_WAXIOS_URL\n\nexport default {\n\tasync get(url: string, config?: any) {\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync get_auth(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync get_data(url: string, config?: any) {\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync get_auth_data(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => Promise.resolve(response.data.data))\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync post(url: string, params = null, config?: any) {\n\n\t\treturn axios.post(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync post_auth(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.post(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync post_data(url: string, params = null, config?: any) {\n\n\t\treturn axios.post(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync post_auth_data(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.post(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync delete(url: string, config?: any) {\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync delete_auth(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync delete_data(url: string, config?: any) {\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync delete_auth_data(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync patch(url: string, params = null, config?: any) {\n\t\treturn axios.patch(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync patch_auth(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.patch(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync patch_auth_form(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\t\tconfig.headers['Content-Type'] = 'multipart/form-data'\n\t\tconst formData = this._objectToFormData(params)\n\t\tformData.append('_method', 'put')\n\t\tconfig.transformRequest = formData => formData\n\n\t\treturn axios.post(url, formData, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync patch_data(url: string, params = null, config?: any) {\n\t\treturn axios.patch(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync patch_auth_data(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.patch(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync put(url: string, params = null, config?: any) {\n\t\treturn axios.put(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync put_auth(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.put(url, {data: params}, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync put_data(url: string, params = null, config?: any) {\n\t\treturn axios.put(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync put_auth_data(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.put(url, {data: params}, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\t_config(config: any) {\n\t\tif (config) console.error('NOT IMPLEMENTED')\n\n\t\tif (!store.getters['auth/token']) {\n\t\t\treturn {headers: {}}\n\t\t}\n\n\t\treturn {\n\t\t\theaders: {\n\t\t\t\tAuthorization: `Bearer ${store.getters['auth/token']}`\n\t\t\t}\n\t\t}\n\t},\n\n\t_buildFormData(formData, data, parentKey) {\n\t\tif (data && typeof data === 'object' && !(data instanceof Date) && !(data instanceof File))\n\t\t\tObject.keys(data).forEach(key => this._buildFormData(formData, data[key], parentKey ? `${parentKey}[${key}]` : key));\n\t\telse\n\t\t\tformData.append(parentKey, data == null ? '' : data);\n\t},\n\n\t_objectToFormData(data) {\n\t\tconst formData = new FormData()\n\t\tthis._buildFormData(formData, {data: data})\n\n\t\treturn formData\n\t}\n}","import { App } \t\tfrom 'vue'\nimport { Options } \tfrom './types'\nimport axios \t\tfrom './models/axios'\n\nexport default {\n\tinstall: (app: App, options: Options) => {\n\t\tif (options && options.disabled === true) return\n\n\t\tapp.config.globalProperties.$axios = axios\n\t}\n}","import axios from '@/plugins/w@custom/axios/models/axios'\nimport store from '@/store'\n\nexport default {\n\tnamespaced: true,\n\n\tstate: {\n\t\tmastertasks: null,\n\t\temployees: null,\n\t\tteams: null,\n\t\tprojects: null,\n\t\tunscheduledSubtasks: null,\n\t\tongoingSubtasks: null,\n\t\tinitialized: false,\n\t\tongoingSubtasksEmployeeId: null,\n\t\tunscheduledSubtasksEmployeeId: null\n\t},\n\n\tmutations: {\n\t\tset_mastertasks(state: any, mastertasks: any) {\n\t\t\tstate.mastertasks = mastertasks\n\t\t},\n\n\t\tset_employees(state: any, employees: any) {\n\t\t\tstate.employees = employees\n\n\t\t\t// TODO: Remove\n\t\t\t// const employee = employees.find(employee => employee.email == 'zachariah.vonrueden@jandl.sk')\n\t\t\t// store.commit('auth/auth_success', {\n\t\t\t// \tuser: employee\n\t\t\t// })\n\t\t},\n\n\t\tset_teams(state: any, teams: any) {\n\t\t\tstate.teams = teams\n\t\t},\n\n\t\tset_projects(state: any, projects: any) {\n\t\t\tstate.projects = projects\n\t\t},\n\n\t\tset_unscheduled_subtasks(state: any, subtasks: any) {\n\t\t\tstate.unscheduledSubtasks = subtasks\n\t\t},\n\n\t\tset_ongoing_subtasks(state: any, subtasks: any) {\n\t\t\tstate.ongoingSubtasks = subtasks\n\t\t},\n\n\t\tremove_ongoing_subtask(state: any, subtaskId: any) {\n\t\t\tstate.ongoingSubtasks = state.ongoingSubtasks.filter(st => st.id != subtaskId)\n\t\t},\n\n\t\tupdate_team(state: any, team: any) {\n\t\t\tstate.teams = state.teams.map(t => {\n\t\t\t\tif (t.id == team.id)\n\t\t\t\t\treturn team\n\n\t\t\t\treturn t\n\t\t\t})\n\t\t},\n\n\t\tsave_team(state: any, team: any) {\n\t\t\tstate.teams.push(team)\n\t\t},\n\n\t\tdelete_team(state: any, team: any) {\n\t\t\tstate.teams = state.teams.filter(t => t.id != team.id)\n\t\t},\n\n\t\tupdate_subtask(state: any, subtask: any) {\n\t\t\tstate.unscheduledSubtasks \t= state.unscheduledSubtasks.map(st \t\t=> st.id == subtask.id ? subtask : st)\n\t\t\tstate.ongoingSubtasks \t\t= state.ongoingSubtasks.map(st \t\t\t=> st.id == subtask.id ? subtask : st)\n\t\t\t\n\t\t\t// state.mastertasks \t\t\t= state.mastertasks.map(mastertask \t\t=> {\n\t\t\t// \tmastertask.subtasks \t= mastertask.subtasks.map(st => st.id == subtask.id ? subtask : st)\n\t\t\t// \treturn mastertask\n\t\t\t// })\n\t\t},\n\n\t\tdelete_subtask(state: any, subtask: any) {\n\t\t\tstate.unscheduledSubtasks \t= state.unscheduledSubtasks.filter(st \t=> st.id != subtask.id)\n\t\t\tstate.ongoingSubtasks \t\t= state.ongoingSubtasks.filter(st \t\t=> st.id != subtask.id)\n\n\t\t\t// state.mastertasks \t\t\t= state.mastertasks.map(mastertask \t\t=> {\n\t\t\t// \tmastertask.subtasks = mastertask.subtasks.filter(st => st.id != subtask.id)\n\t\t\t// \treturn mastertask\n\t\t\t// })\n\t\t},\n\n\t\tset_ongoing_subtasks_employee_id(state: any, employeeId: any) {\n\t\t\tstate.ongoingSubtasksEmployeeId = employeeId\n\t\t},\n\n\t\tset_unscheduled_subtasks_employee_id(state: any, employeeId: any) {\n\t\t\tstate.unscheduledSubtasksEmployeeId = employeeId\n\t\t},\n\n\t\tinitialized(state: any) {\n\t\t\tstate.initialized = true\n\t\t}\n\t},\n\n\tactions: {\n\t\tinitialize({dispatch, commit}: {dispatch: any, commit: any}) {\n\t\t\treturn Promise.all([\n\t\t\t\tdispatch('loadMastertasks'),\n\t\t\t\tdispatch('loadEmployees'),\n\t\t\t\tdispatch('loadTeams'),\n\t\t\t\tdispatch('loadProjects'),\n\t\t\t\tdispatch('loadUnscheduledSubtasks'),\n\t\t\t\tdispatch('loadOngoingSubtasks')\n\t\t\t]).then(() => commit('initialized'))\n\t\t},\n\n\t\treloadSubtasks({dispatch}: {dispatch: any}) {\n\t\t\treturn Promise.all([\n\t\t\t\tdispatch('loadMastertasks'),\n\t\t\t\tdispatch('loadProjects'),\n\t\t\t\tdispatch('loadUnscheduledSubtasks'),\n\t\t\t\tdispatch('loadOngoingSubtasks')\n\t\t\t])\n\t\t},\n\n\t\treloadMastertasks({dispatch}: {dispatch: any}) {\n\t\t\treturn Promise.all([\n\t\t\t\tdispatch('loadMastertasks')\n\t\t\t])\n\t\t},\n\n\t\tloadMastertasks({commit}: {commit: any}) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t// axios.get_auth('v1/mastertasks')\n\t\t\t\taxios.get_auth('v1/mastertasks/?simple=true')\n\t\t\t\t\t.then(({ mastertasks }) => {\n\t\t\t\t\t\tcommit('set_mastertasks', mastertasks)\n\t\t\t\t\t\tresolve(mastertasks)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => {\n\t\t\t\t\t\tcommit('set_mastertasks', {error: error})\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\n\t\tloadEmployees({commit}: {commit: any}) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.get_auth_data('v1/employees')\n\t\t\t\t\t.then(employees => {\n\t\t\t\t\t\tcommit('set_employees', employees)\n\t\t\t\t\t\tresolve(employees)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => {\n\t\t\t\t\t\tcommit('set_employees', {error: error})\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t\t\n\t\t},\n\n\t\tloadTeams({commit}: {commit: any}) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.get_auth_data('v1/teams')\n\t\t\t\t\t.then(teams => {\n\t\t\t\t\t\tcommit('set_teams', teams)\n\t\t\t\t\t\tresolve(teams)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => {\n\t\t\t\t\t\tcommit('set_teams', {error: error})\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\n\t\tloadProjects({commit}: {commit: any}) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.get_auth_data('v1/projects')\n\t\t\t\t\t.then(project => {\n\t\t\t\t\t\tcommit('set_projects', project)\n\t\t\t\t\t\tresolve(project)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => {\n\t\t\t\t\t\tcommit('set_projects', {error: error})\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t\t\n\t\t},\n\n\t\tloadUnscheduledSubtasks({commit, state}: {commit: any, state: any}, employeeId = undefined) {\n\t\t\tlet employeeIdToUse = undefined\n\n\t\t\tif (employeeId) {\n\t\t\t\temployeeIdToUse = employeeId\n\t\t\t\tcommit('set_unscheduled_subtasks_employee_id', employeeId)\n\t\t\t} else if (state.unscheduledSubtasksEmployeeId) {\n\t\t\t\temployeeIdToUse = state.unscheduledSubtasksEmployeeId\n\t\t\t} else {\n\t\t\t\temployeeIdToUse = store.getters['auth/user']?.id\n\t\t\t}\n\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.get_auth(`v1/subtasks?type=unscheduled&employee_id=${employeeIdToUse}`)\n\t\t\t\t\t.then(({subtasks}) => {\n\t\t\t\t\t\tcommit('set_unscheduled_subtasks', subtasks)\n\t\t\t\t\t\tresolve(subtasks)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => {\n\t\t\t\t\t\tcommit('set_unscheduled_subtasks', {error: error})\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\n\t\tloadOngoingSubtasks({commit, state}: {commit: any, state: any}, employeeId = undefined) {\n\t\t\tlet employeeIdToUse = undefined\n\n\t\t\tif (employeeId) {\n\t\t\t\temployeeIdToUse = employeeId\n\t\t\t\tcommit('set_ongoing_subtasks_employee_id', employeeId)\n\t\t\t} else if (state.ongoingSubtasksEmployeeId) {\n\t\t\t\temployeeIdToUse = state.ongoingSubtasksEmployeeId\n\t\t\t} else {\n\t\t\t\temployeeIdToUse = store.getters['auth/user']?.id\n\t\t\t\tcommit('set_ongoing_subtasks_employee_id', employeeIdToUse)\n\t\t\t}\n\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.get_auth(`v1/subtasks?type=ongoing&employee_id=${employeeIdToUse}`)\n\t\t\t\t\t.then(({subtasks}) => {\n\t\t\t\t\t\tcommit('set_ongoing_subtasks', subtasks)\n\t\t\t\t\t\tresolve(subtasks)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => {\n\t\t\t\t\t\tcommit('set_ongoing_subtasks', {error: error})\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t},\n\n\t\tremoveOngoingSubtask({commit}: {commit: any}, subtaskId: any) {\n\t\t\tcommit('remove_ongoing_subtask', subtaskId)\n\t\t}\n\n\t},\n\n\tgetters: {\n\t\tmastertasks: (state: any) => {\n\t\t\treturn state.mastertasks\n\t\t},\n\n\t\temployees: (state: any) => {\n\t\t\treturn state.employees\n\t\t},\n\n\t\tenrichedEmployees: (state: any) => {\n\t\t\tif (!state.employees) return []\n\t\t\t\n\t\t\treturn state.employees.map(employee => ({\n\t\t\t\t...employee, \n\t\t\t\t_fullName: `${ employee.name } ${ employee.surname }`,\n\t\t\t\t_initials: employee.name.charAt(0) + employee.surname.charAt(0)\n\t\t\t})).sort((a, b) => a.name < b.name ? -1 : 1)\n\t\t},\n\n\t\tteams: (state: any) => {\n\t\t\treturn state.teams\n\t\t},\n\n\t\tprojects: (state: any) => {\n\t\t\treturn state.projects\n\t\t},\n\n\t\tunscheduledSubtasks: (state: any) => {\n\t\t\treturn state.unscheduledSubtasks\n\t\t},\n\n\t\tongoingSubtasks: (state: any) => {\n\t\t\treturn state.ongoingSubtasks\n\t\t},\n\n\t\tisInitialized: (state: any) => {\n\t\t\treturn state.initialized\n\t\t}\n\t}\n}","import { App } \t\tfrom 'vue'\nimport tmStore \tfrom './store'\n\nexport default {\n\tinstall: (app: App) => {\n\t\tapp.config.globalProperties.$store.registerModule('tm', tmStore)\n\t}\n}","\n\n\n","/**\n * Date Utils & prototypes.\n *\n * Waiting for VS Code to support JavaScript private fields.\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Class_fields\n * Meantime keep `_` for private.\n */\n\nlet now, todayDate, todayF, self\nlet _dateObject = {}\nlet _timeObject = {}\n\nexport default class DateUtils {\n texts = {}\n\n constructor (texts, noPrototypes = false) {\n self = this // For use in Date prototypes.\n this._texts = texts\n\n // Add prototypes ASAP - only once.\n if (!noPrototypes && Date && !Date.prototype.addDays) this._initDatePrototypes()\n\n // @todo: This would be nicer, but how to set Date.noPrototypes ASAP only if user wants?\n // if (Date.noPrototypes) delete Date.noPrototypes\n // else this._initDatePrototypes()\n }\n\n _initDatePrototypes () {\n /* eslint-disable no-extend-native */\n Date.prototype.addDays = function (days) { return self.addDays(this, days) }\n Date.prototype.subtractDays = function (days) { return self.subtractDays(this, days) }\n Date.prototype.addHours = function (hours) { return self.addHours(this, hours) }\n Date.prototype.subtractHours = function (hours) { return self.subtractHours(this, hours) }\n Date.prototype.addMinutes = function (minutes) { return self.addMinutes(this, minutes) }\n Date.prototype.subtractMinutes = function (minutes) { return self.subtractMinutes(this, minutes) }\n Date.prototype.getWeek = function () { return self.getWeek(this) }\n Date.prototype.isToday = function () { return self.isToday(this) }\n Date.prototype.isLeapYear = function () { return self.isLeapYear(this) }\n Date.prototype.format = function (format = 'YYYY-MM-DD') { return self.formatDate(this, format) }\n Date.prototype.formatTime = function (format = 'HH:mm') { return self.formatTime(this, format) }\n /* eslint-enable no-extend-native */\n }\n\n removePrototypes () {\n delete Date.prototype.addDays\n delete Date.prototype.subtractDays\n delete Date.prototype.addHours\n delete Date.prototype.subtractHours\n delete Date.prototype.addMinutes\n delete Date.prototype.subtractMinutes\n delete Date.prototype.getWeek\n delete Date.prototype.isToday\n delete Date.prototype.isLeapYear\n delete Date.prototype.format\n delete Date.prototype.formatTime\n }\n\n updateTexts (texts) {\n this._texts = texts\n }\n\n // Cache Today's date (to a maximum) for better isToday() performances. Formatted without leading 0.\n // We still need to update Today's date when Today changes without page refresh.\n _todayFormatted () {\n if (todayDate !== (new Date()).getDate()) {\n now = new Date()\n todayDate = now.getDate()\n todayF = `${now.getFullYear()}-${now.getMonth()}-${now.getDate()}`\n }\n\n return todayF\n }\n\n // UTILITIES.\n // ====================================================================\n addDays (date, days) {\n const d = new Date(date.valueOf())\n d.setDate(d.getDate() + days)\n return d\n }\n\n subtractDays (date, days) {\n const d = new Date(date.valueOf())\n d.setDate(d.getDate() - days)\n return d\n }\n\n addHours (date, hours) {\n const d = new Date(date.valueOf())\n d.setHours(d.getHours() + hours)\n return d\n }\n\n subtractHours (date, hours) {\n const d = new Date(date.valueOf())\n d.setHours(d.getHours() - hours)\n return d\n }\n\n addMinutes (date, minutes) {\n const d = new Date(date.valueOf())\n d.setMinutes(d.getMinutes() + minutes)\n return d\n }\n\n subtractMinutes (date, minutes) {\n const d = new Date(date.valueOf())\n d.setMinutes(d.getMinutes() - minutes)\n return d\n }\n\n getWeek (date) {\n const d = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()))\n const dayNum = d.getUTCDay() || 7\n d.setUTCDate(d.getUTCDate() + 4 - dayNum)\n const yearStart = new Date(Date.UTC(d.getUTCFullYear(), 0, 1))\n return Math.ceil((((d - yearStart) / 86400000) + 1) / 7)\n }\n\n isToday (date) {\n return `${date.getFullYear()}-${date.getMonth()}-${date.getDate()}` === this._todayFormatted()\n }\n\n isLeapYear (date) {\n const year = date.getFullYear()\n return !(year % 400) || (year % 100 && !(year % 4))\n }\n\n // Returns today if it's FirstDayOfWeek (Monday or Sunday) or previous FirstDayOfWeek otherwise.\n getPreviousFirstDayOfWeek (date = null, weekStartsOnSunday) {\n const prevFirstDayOfWeek = (date && new Date(date.valueOf())) || new Date()\n const dayModifier = weekStartsOnSunday ? 7 : 6\n prevFirstDayOfWeek.setDate(prevFirstDayOfWeek.getDate() - (prevFirstDayOfWeek.getDay() + dayModifier) % 7)\n return prevFirstDayOfWeek\n }\n\n /**\n * Converts a string to a Javascript Date object. If a Date object is passed, return it as is.\n *\n * @param {String | Date} date the string to convert to Date.\n * @return {Date} the equivalent Javascript Date object.\n */\n stringToDate (date) {\n if (date instanceof Date) return date\n // Regexp way is less performant: https://jsperf.com/string-to-date-regexp-vs-new-date\n // const [, y, m, d, h = 0, min = 0] = date.match(/(\\d{4})-(\\d{2})-(\\d{2})(?: (\\d{2}):(\\d{2}))?/)\n // return new Date(y, parseInt(m) - 1, d, h, min)\n\n if (date.length === 10) date += ' 00:00'\n return new Date(date.replace(/-/g, '/')) // replace '-' with '/' for Safari.\n }\n\n /**\n * Simply takes a Date and returns the associated time in minutes (sum of hours + minutes).\n *\n * @param {Date} date the JavaScript Date to extract minutes from.\n * @return {Number} the number of minutes (total of hours plus minutes).\n */\n dateToMinutes = date => date.getHours() * 60 + date.getMinutes()\n\n /**\n * Count the number of days this date range spans onto.\n * E.g. countDays(2019-11-02 18:00, 2019-11-03 02:00) = 2\n *\n * @param {String | Date} start the start date\n * @param {String | Date} end the end date\n * @return {Integer} The number of days this date range involves\n */\n countDays (start, end) {\n // replace '-' with '/' for Safari.\n if (typeof start === 'string') start = start.replace(/-/g, '/')\n if (typeof end === 'string') end = end.replace(/-/g, '/')\n\n // Set start & end at midnight then compare the delta. Don't modify the original dates.\n start = (new Date(start)).setHours(0, 0, 0, 0)\n // Set end at midnight plus 1 sec, so Math.ceil will round it up to a full day.\n end = (new Date(end)).setHours(0, 0, 1, 0)\n\n // Remove the potential daylight saving delta.\n const timezoneDiffMs = (new Date(end).getTimezoneOffset() - new Date(start).getTimezoneOffset()) * 60 * 1000\n return Math.ceil((end - start - timezoneDiffMs) / (24 * 3600 * 1000))\n }\n\n /**\n * Take 2 dates and check if within the same time step (useful in overlapping events).\n *\n * @return {Boolean} `true` if their time is included in the same time step,\n * this means these 2 dates are very close.\n */\n datesInSameTimeStep (date1, date2, timeStep) {\n return Math.abs(date1.getTime() - date2.getTime()) <= timeStep * 60 * 1000\n }\n // ====================================================================\n\n // FORMATTERS.\n // ====================================================================\n /**\n * Formats a date/time to the given format and returns the formatted string.\n *\n * @param {Date} date a JavaScript Date object to format.\n * @param {String} format the wanted format.\n * @param {Object} texts Optional: the localized texts object to override the vue-cal one in this._texts.\n * This becomes useful when showing multiple instances with different languages,\n * like in the documentation page.\n * @return {String} the formatted date.\n */\n formatDate (date, format = 'YYYY-MM-DD', texts = null) {\n if (!texts) texts = this._texts\n if (!format) format = 'YYYY-MM-DD' // Allows passing null for default format.\n if (format === 'YYYY-MM-DD') return this.formatDateLite(date)\n\n // Reinit the date and time object on each function call.\n _dateObject = {}\n _timeObject = {}\n\n // Each keyword is a function to load the dateObject or timeObject on demand: no wasted resource.\n const dateObj = {\n YYYY: () => this._hydrateDateObject(date, texts).YYYY,\n YY: () => this._hydrateDateObject(date, texts).YY(),\n M: () => this._hydrateDateObject(date, texts).M,\n MM: () => this._hydrateDateObject(date, texts).MM(),\n MMM: () => this._hydrateDateObject(date, texts).MMM(),\n MMMM: () => this._hydrateDateObject(date, texts).MMMM(),\n MMMMG: () => this._hydrateDateObject(date, texts).MMMMG(),\n D: () => this._hydrateDateObject(date, texts).D,\n DD: () => this._hydrateDateObject(date, texts).DD(),\n S: () => this._hydrateDateObject(date, texts).S(),\n d: () => this._hydrateDateObject(date, texts).d,\n dd: () => this._hydrateDateObject(date, texts).dd(),\n ddd: () => this._hydrateDateObject(date, texts).ddd(),\n dddd: () => this._hydrateDateObject(date, texts).dddd(),\n HH: () => this._hydrateTimeObject(date, texts).HH,\n H: () => this._hydrateTimeObject(date, texts).H,\n hh: () => this._hydrateTimeObject(date, texts).hh,\n h: () => this._hydrateTimeObject(date, texts).h,\n am: () => this._hydrateTimeObject(date, texts).am,\n AM: () => this._hydrateTimeObject(date, texts).AM,\n mm: () => this._hydrateTimeObject(date, texts).mm,\n m: () => this._hydrateTimeObject(date, texts).m\n }\n\n return format.replace(/(\\{[a-zA-Z]+\\}|[a-zA-Z]+)/g, (m, contents) => {\n const result = dateObj[contents.replace(/\\{|\\}/g, '')]\n return result !== undefined ? result() : contents\n })\n }\n\n // More performant function to convert a Date to `YYYY-MM-DD` formatted string only.\n formatDateLite (date) {\n const m = date.getMonth() + 1\n const d = date.getDate()\n return `${date.getFullYear()}-${m < 10 ? '0' : ''}${m}-${d < 10 ? '0' : ''}${d}`\n }\n\n /**\n * Formats a time (from Date or number of mins) to the given format and returns the formatted string.\n *\n * @param {Date | Number} date a JavaScript Date object or a time in minutes.\n * @param {String} format the wanted format.\n * @param {Object} texts Optional: the localized texts object to override the vue-cal one in this._texts.\n * This becomes useful when showing multiple instances with different languages,\n * like in the documentation page.\n * @param {Boolean} round if time is 23:59:59, rounds up to 24:00 for formatting only.\n * @return {String} the formatted time.\n */\n formatTime (date, format = 'HH:mm', texts = null, round = false) {\n let shouldRound = false\n if (round) {\n const [h, m, s] = [date.getHours(), date.getMinutes(), date.getSeconds()]\n if ((h + m + s) === (23 + 59 + 59)) shouldRound = true\n }\n\n if (date instanceof Date && format === 'HH:mm') return shouldRound ? '24:00' : this.formatTimeLite(date)\n\n _timeObject = {} // Reinit the time object on each function call.\n if (!texts) texts = this._texts\n const timeObj = this._hydrateTimeObject(date, texts)\n\n const formatted = format.replace(/(\\{[a-zA-Z]+\\}|[a-zA-Z]+)/g, (m, contents) => {\n const result = timeObj[contents.replace(/\\{|\\}/g, '')]\n return result !== undefined ? result : contents\n })\n\n // Round 23:59:59 to 24:00. For 12-hour format there is nothing to replace: as both are 12am.\n // Also don't return `24:00` straight away as the user format may be different.\n return shouldRound ? formatted.replace('23:59', '24:00') : formatted\n }\n\n /**\n * Formats a time to 'HH:mm' from a Date and returns the formatted string.\n *\n * @param {Date} date a JavaScript Date object to format.\n * @return {String} the formatted time.\n */\n formatTimeLite (date) {\n const h = date.getHours()\n const m = date.getMinutes()\n return `${(h < 10 ? '0' : '') + h}:${(m < 10 ? '0' : '') + m}`\n }\n\n _nth (d) {\n if (d > 3 && d < 21) return 'th'\n switch (d % 10) {\n case 1: return 'st'\n case 2: return 'nd'\n case 3: return 'rd'\n default: return 'th'\n }\n }\n\n _hydrateDateObject (date, texts) {\n if (_dateObject.D) return _dateObject\n\n const YYYY = date.getFullYear()\n const M = date.getMonth() + 1\n const D = date.getDate()\n const day = date.getDay() // Day of the week.\n const dayNumber = (day - 1 + 7) % 7 // Day of the week. 0 to 6 with 6 = Sunday.\n // Some of this props are functions, to only calculate on demand.\n _dateObject = {\n // Year.\n YYYY, // 2019.\n YY: () => YYYY.toString().substring(2), // 19.\n\n // Month.\n M, // 1 to 12.\n MM: () => (M < 10 ? '0' : '') + M, // 01 to 12.\n MMM: () => texts.months[M - 1].substring(0, 3), // Jan to Dec.\n MMMM: () => texts.months[M - 1], // January to December.\n MMMMG: () => (texts.monthsGenitive || texts.months)[M - 1], // January to December in genitive form (Greek...)\n\n // Day.\n D, // 1 to 31.\n DD: () => (D < 10 ? '0' : '') + D, // 01 to 31.\n S: () => this._nth(D), // st, nd, rd, th.\n\n // Day of the week.\n d: dayNumber + 1, // 1 to 7 with 7 = Sunday.\n dd: () => texts.weekDays[dayNumber][0], // M to S.\n ddd: () => texts.weekDays[dayNumber].substr(0, 3), // Mon to Sun.\n dddd: () => texts.weekDays[dayNumber] // Monday to Sunday.\n }\n\n return _dateObject\n }\n\n _hydrateTimeObject (date, texts) {\n if (_timeObject.am) return _timeObject\n\n let H, m\n if (date instanceof Date) {\n H = date.getHours()\n m = date.getMinutes()\n }\n else {\n H = Math.floor(date / 60)\n m = Math.floor(date % 60)\n }\n\n const h = H % 12 ? H % 12 : 12\n const am = (texts || { am: 'am', pm: 'pm' })[H === 24 || H < 12 ? 'am' : 'pm']\n _timeObject = {\n H,\n h,\n HH: (H < 10 ? '0' : '') + H,\n hh: (h < 10 ? '0' : '') + h,\n am,\n AM: am.toUpperCase(),\n m,\n mm: (m < 10 ? '0' : '') + m\n }\n\n return _timeObject\n }\n // ====================================================================\n}\n","/**\n * Cell Utils.\n *\n * Waiting for VS Code to support JavaScript private fields.\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Class_fields\n * Meantime keep `_` for private.\n */\n\nconst minutesInADay = 24 * 60\n\nexport default class CellUtils {\n _vuecal = null\n\n constructor (vuecal) {\n this._vuecal = vuecal\n }\n\n /**\n * Select a cell and go to narrower view on double click or single click according to vuecalProps option.\n *\n * @param {Boolean} force Force switching to narrower view.\n * @param {Date} date The selected cell date at the exact time where it was clicked (through cursor coords).\n * @param {Integer} split The selected cell split if any.\n */\n selectCell = (force = false, date, split) => {\n // Cell-click event returns a date and time at cursor position.\n this._vuecal.$emit('cell-click', split ? { date, split } : date)\n\n // Switch to narrower view.\n if (this._vuecal.clickToNavigate || force) this._vuecal.switchToNarrowerView()\n\n // Handle double click manually for touch devices.\n else if (this._vuecal.dblclickToNavigate && 'ontouchstart' in window) {\n this._vuecal.domEvents.dblTapACell.taps++\n\n setTimeout(() => (this._vuecal.domEvents.dblTapACell.taps = 0), this._vuecal.domEvents.dblTapACell.timeout)\n\n if (this._vuecal.domEvents.dblTapACell.taps >= 2) {\n this._vuecal.domEvents.dblTapACell.taps = 0\n this._vuecal.switchToNarrowerView()\n this._vuecal.$emit('cell-dblclick', split ? { date, split } : date)\n }\n }\n }\n\n /**\n * Select a cell and go to narrower view on enter.\n *\n * @param {Boolean} force Force switching to narrower view.\n * @param {Date} date The selected cell date at the exact time where it was clicked (through cursor coords).\n * @param {Integer} split The selected cell split if any.\n */\n keyPressEnterCell = (date, split) => {\n // Cell-key-press-enter event returns a date and time at cursor position.\n this._vuecal.$emit('cell-keypress-enter', split ? { date, split } : date)\n\n // Switch to narrower view.\n this._vuecal.switchToNarrowerView()\n }\n\n /**\n * Get the coordinates of the mouse cursor from the cells wrapper referential (`ref=\"cells\"`).\n *\n * @todo Cache bounding box & update it on resize.\n * @param {Object} e the native DOM event object.\n * @return {Object} containing { x: {Number}, y: {Number} }\n */\n getPosition = e => {\n const { left, top } = this._vuecal.cellsEl.getBoundingClientRect()\n const { clientX, clientY } = 'ontouchstart' in window && e.touches ? e.touches[0] : e\n return { x: clientX - left, y: clientY - top }\n }\n\n /**\n * Get the number of minutes from the top to the mouse cursor.\n * Returns a constrained time between 0 and 24 * 60.\n *\n * @param {Object} e the native DOM event object.\n * @return {Object} containing { minutes: {Number}, cursorCoords: { x: {Number}, y: {Number} } }\n */\n minutesAtCursor = e => {\n let minutes = 0\n let cursorCoords = { x: 0, y: 0 }\n const { timeStep, timeCellHeight, timeFrom } = this._vuecal.$props\n\n if (typeof e === 'number') minutes = e\n else if (typeof e === 'object') {\n cursorCoords = this.getPosition(e)\n minutes = Math.round(cursorCoords.y * timeStep / parseInt(timeCellHeight) + timeFrom)\n }\n\n return { minutes: Math.max(Math.min(minutes, minutesInADay), 0), cursorCoords }\n }\n}\n","/**\n * Events Utils.\n *\n * Waiting for VS Code to support JavaScript private fields.\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Class_fields\n * Meantime keep `_` for private.\n */\n\nconst defaultEventDuration = 2 // In hours.\nconst minutesInADay = 24 * 60 // Don't do the maths every time.\n\nlet ud\n\n// Event overlaps: only for the current view, recreated on view change.\nlet _cellOverlaps, _comparisonArray\n\n// This is an approximation, it will not work with DLS time.\n// const approxDayMilliseconds = minutesInADay * 60 * 1000\n// This is an approximate minimum we can get in a year. Purposely stay below 365 but close.\n// const minYearMilliseconds = 364 * approxDayMilliseconds // Don't do the maths every time.\n\nexport default class EventUtils {\n _vuecal = null\n\n eventDefaults = {\n _eid: null,\n start: '', // Externally given formatted date & time or Date object.\n startTimeMinutes: 0,\n end: '', // Externally given formatted date & time or Date object.\n endTimeMinutes: 0,\n title: '',\n content: '',\n background: false,\n allDay: false,\n segments: null,\n repeat: null,\n daysCount: 1,\n deletable: true,\n deleting: false,\n titleEditable: true,\n resizable: true,\n resizing: false,\n draggable: true,\n dragging: false,\n draggingStatic: false, // Controls the CSS class of the static clone while dragging.\n focused: false,\n class: ''\n }\n\n constructor (vuecal, dateUtils) {\n this._vuecal = vuecal\n ud = dateUtils\n }\n\n /**\n * Create an event at the given date and time, and allow overriding\n * event attributes through the eventOptions object.\n *\n * @param {Date | String} dateTime The date and time of the new event start.\n * @param {Number} duration the event duration in minutes.\n * @param {Object} eventOptions some options to override the `eventDefaults` - optional.\n */\n createAnEvent (dateTime, duration, eventOptions) {\n if (typeof dateTime === 'string') dateTime = ud.stringToDate(dateTime)\n if (!(dateTime instanceof Date)) return false\n\n const startTimeMinutes = ud.dateToMinutes(dateTime)\n duration = duration * 1 || defaultEventDuration * 60\n const endTimeMinutes = startTimeMinutes + duration\n const end = ud.addMinutes(new Date(dateTime), duration)\n\n // Automatically add the required endTimeMinutes when passing an end.\n if (eventOptions.end) {\n if (typeof eventOptions.end === 'string') eventOptions.end = ud.stringToDate(eventOptions.end)\n eventOptions.endTimeMinutes = ud.dateToMinutes(eventOptions.end)\n }\n\n const event = {\n ...this.eventDefaults,\n _eid: `${this._vuecal._.uid}_${this._vuecal.eventIdIncrement++}`,\n start: dateTime,\n startTimeMinutes,\n end,\n endTimeMinutes,\n segments: null,\n ...eventOptions\n }\n\n // If the onEventCreate() function is given as a parameter to vue-cal:\n // 1. give it access to the created event & the deleteAnEvent() function.\n // 2. Prevent creation of the event if this function returns false.\n if (typeof this._vuecal.onEventCreate === 'function') {\n if (!this._vuecal.onEventCreate(event, () => this.deleteAnEvent(event))) return\n }\n\n // Check if event is a multiple day event and update days count.\n if (event.startDateF !== event.endDateF) {\n event.daysCount = ud.countDays(event.start, event.end)\n }\n\n // Add event to the mutableEvents array.\n this._vuecal.mutableEvents.push(event)\n\n // Add the new event to the current view.\n // The event may have been edited on the fly to become a multiple-day event,\n // the method addEventsToView makes sure the segments are created.\n this._vuecal.addEventsToView([event])\n\n this._vuecal.emitWithEvent('event-create', event)\n this._vuecal.$emit('event-change', { event: this._vuecal.cleanupEvent(event), originalEvent: null })\n\n return event\n }\n\n /**\n * Add an event segment (= day) to a multiple-day event.\n *\n * @param {Object} e the multiple-day event to add segment in.\n */\n addEventSegment (e) {\n // If event was previously single-day, event.segments = null,\n // so first create the first segment (first day).\n if (!e.segments) {\n e.segments = {}\n e.segments[ud.formatDateLite(e.start)] = {\n start: e.start,\n startTimeMinutes: e.startTimeMinutes,\n endTimeMinutes: minutesInADay,\n isFirstDay: true,\n isLastDay: false\n }\n }\n\n // Modify the last segment - which will not stay the last one after this function.\n const previousSegment = e.segments[ud.formatDateLite(e.end)]\n // previousSegment might not exist when dragging too fast, prevent errors.\n if (previousSegment) {\n previousSegment.isLastDay = false\n previousSegment.endTimeMinutes = minutesInADay\n }\n else {\n // @todo: when moving fast might lose the previousSegment.\n // Trying to update it would then result in an error, but do nothing would create a visual bug.\n }\n\n // Create the new last segment.\n const start = ud.addDays(e.end, 1)\n const formattedDate = ud.formatDateLite(start)\n start.setHours(0, 0, 0, 0)\n e.segments[formattedDate] = {\n start,\n startTimeMinutes: 0,\n endTimeMinutes: e.endTimeMinutes,\n isFirstDay: false,\n isLastDay: true\n }\n\n e.end = ud.addMinutes(start, e.endTimeMinutes)\n e.daysCount = Object.keys(e.segments).length\n\n return formattedDate\n }\n\n /**\n * Remove an event segment (= day) from a multiple-day event.\n *\n * @param {Object} e the multiple-day event to remove segments from.\n */\n removeEventSegment (e) {\n let segmentsCount = Object.keys(e.segments).length\n if (segmentsCount <= 1) return ud.formatDateLite(e.end)\n\n // Remove the last segment.\n delete e.segments[ud.formatDateLite(e.end)]\n segmentsCount--\n\n const end = ud.subtractDays(e.end, 1)\n const formattedDate = ud.formatDateLite(end)\n const previousSegment = e.segments[formattedDate]\n\n // If no more segments, reset the segments attribute to null.\n if (!segmentsCount) e.segments = null\n\n // previousSegment might not exist when dragging too fast, prevent errors.\n else if (previousSegment) {\n // Modify the new last segment.\n previousSegment.isLastDay = true\n previousSegment.endTimeMinutes = e.endTimeMinutes\n }\n else {\n // @todo: when moving fast might lose the previousSegment.\n // Trying to update it would then result in an error, but do nothing would create a visual bug.\n }\n\n e.daysCount = segmentsCount || 1\n e.end = end\n\n return formattedDate\n }\n\n /**\n * Create 1 segment per day of the given event, but only within the current view.\n * (It won't create segments for all the days in view that are not in the event!)\n *\n * An event segment is a piece of event per day that contains more day-specific data.\n *\n * @param {Object} e the multiple-day event to create segments for.\n * @param {Date} viewStartDate the starting date of the view.\n * @param {Date} viewEndDate the ending date of the view.\n */\n createEventSegments (e, viewStartDate, viewEndDate) {\n const viewStartTimestamp = viewStartDate.getTime()\n const viewEndTimestamp = viewEndDate.getTime()\n let eventStart = e.start.getTime()\n let eventEnd = e.end.getTime()\n let repeatedEventStartFound = false\n let timestamp, end, eventStartAtMidnight\n\n // @todo: I don't think we still need that:\n // Removing 1 sec when ending at 00:00, so that we don't create a segment for nothing on last day.\n if (!e.end.getHours() && !e.end.getMinutes()) eventEnd -= 1000\n\n e.segments = {}\n\n // The goal is to create 1 segment per day in the event, but only within the current view.\n if (!e.repeat) { // Simple case first.\n timestamp = Math.max(viewStartTimestamp, eventStart)\n end = Math.min(viewEndTimestamp, eventEnd)\n }\n else {\n // Start at the beginning of the range, and end at soonest between `repeat.until` if any or range end.\n // This range will most likely be too large (e.g. whole week) and we need to narrow it\n // down in the while loop below.\n // We must not create unused segments, it would break the render or result in weird behaviors.\n timestamp = viewStartTimestamp\n end = Math.min(\n viewEndTimestamp,\n e.repeat.until ? ud.stringToDate(e.repeat.until).getTime() : viewEndTimestamp\n )\n }\n\n while (timestamp <= end) {\n let createSegment = false\n // Be careful not to simply add 24 hours!\n // In case of DLS, that would cause the event to never end and browser to hang.\n // So use `addDays(1)` instead.\n const nextMidnight = ud.addDays(new Date(timestamp), 1).setHours(0, 0, 0, 0)\n let isFirstDay, isLastDay, start, formattedDate\n\n if (e.repeat) {\n const tmpDate = new Date(timestamp)\n const tmpDateFormatted = ud.formatDateLite(tmpDate)\n // If the current day in loop is a known date of the repeated event (in `e.occurrences`),\n // then we found the first day of the event repetition, now update the `eventStart` and\n // the end of the loop at current day + event days count.\n if (repeatedEventStartFound || (e.occurrences && e.occurrences[tmpDateFormatted])) {\n if (!repeatedEventStartFound) {\n eventStart = e.occurrences[tmpDateFormatted].start\n eventStartAtMidnight = new Date(eventStart).setHours(0, 0, 0, 0)\n eventEnd = e.occurrences[tmpDateFormatted].end\n }\n repeatedEventStartFound = true\n createSegment = true\n }\n\n isFirstDay = timestamp === eventStartAtMidnight\n isLastDay = tmpDateFormatted === ud.formatDateLite(new Date(eventEnd))\n start = new Date(isFirstDay ? eventStart : timestamp)\n formattedDate = ud.formatDateLite(start)\n // We want to find any potential other repetition of event in same range.\n if (isLastDay) repeatedEventStartFound = false\n }\n else {\n createSegment = true\n isFirstDay = timestamp === eventStart\n isLastDay = end === eventEnd && nextMidnight > end\n start = isFirstDay ? e.start : new Date(timestamp)\n formattedDate = ud.formatDateLite(isFirstDay ? e.start : start)\n }\n\n if (createSegment) {\n e.segments[formattedDate] = {\n start,\n startTimeMinutes: isFirstDay ? e.startTimeMinutes : 0,\n endTimeMinutes: isLastDay ? e.endTimeMinutes : minutesInADay,\n isFirstDay,\n isLastDay\n }\n }\n\n timestamp = nextMidnight\n }\n\n return e\n }\n\n /**\n * Delete an event.\n *\n * @param {Object} event the calendar event to delete.\n */\n deleteAnEvent (event) {\n this._vuecal.emitWithEvent('event-delete', event)\n\n // Delete the event globally.\n this._vuecal.mutableEvents = this._vuecal.mutableEvents.filter(e => e._eid !== event._eid)\n // Delete the event from the current view.\n // checkCellOverlappingEvents() will be re-run automatically from the cell computed events.\n this._vuecal.view.events = this._vuecal.view.events.filter(e => e._eid !== event._eid)\n }\n\n // EVENT OVERLAPS.\n // ===================================================================\n // Will recalculate all the overlaps of the current cell OR split.\n // cellEvents will contain only the current split events if in a split.\n checkCellOverlappingEvents (cellEvents, options) {\n _comparisonArray = cellEvents.slice(0)\n _cellOverlaps = {}\n\n // Can't filter background events before calling this function otherwise\n // when an event is changed to background it would not update its previous overlaps.\n cellEvents.forEach(e => {\n // For performance, never compare the current event in the next loops.\n // The array is smaller and smaller as we loop.\n _comparisonArray.shift()\n\n if (!_cellOverlaps[e._eid]) _cellOverlaps[e._eid] = { overlaps: [], start: e.start, position: 0, sameOverlaps: [] }\n _cellOverlaps[e._eid].position = 0\n\n _comparisonArray.forEach(e2 => {\n if (!_cellOverlaps[e2._eid]) _cellOverlaps[e2._eid] = { overlaps: [], start: e2.start, position: 0, sameOverlaps: [] }\n\n const eventIsInRange = this.eventInRange(e2, e.start, e.end)\n const eventSameOverlap = this.eventSameRange(e2, e)\n const eventsInSameTimeStep = options.overlapsPerTimeStep ? ud.datesInSameTimeStep(e.start, e2.start, options.timeStep) : 1\n // Add to the overlaps array if overlapping.\n if (!e.background && !e.allDay && !e2.background && !e2.allDay && eventIsInRange && eventsInSameTimeStep) {\n _cellOverlaps[e._eid].overlaps.push(e2._eid)\n _cellOverlaps[e._eid].overlaps = [...new Set(_cellOverlaps[e._eid].overlaps)] // Dedupe, most performant way.\n\n _cellOverlaps[e2._eid].overlaps.push(e._eid)\n _cellOverlaps[e2._eid].overlaps = [...new Set(_cellOverlaps[e2._eid].overlaps)] // Dedupe, most performant way.\n _cellOverlaps[e2._eid].position++\n \n if (eventSameOverlap) {\n _cellOverlaps[e._eid].sameOverlaps.push(e2._eid)\n _cellOverlaps[e._eid].sameOverlaps = [...new Set(_cellOverlaps[e._eid].sameOverlaps)] // Dedupe, most performant way.\n\n _cellOverlaps[e2._eid].sameOverlaps.push(e._eid)\n _cellOverlaps[e2._eid].sameOverlaps = [...new Set(_cellOverlaps[e2._eid].sameOverlaps)] // Dedupe, most performant way.\n }\n }\n // Remove from the overlaps array if not overlapping or if 1 of the 2 events is background or all-day long.\n else {\n let pos1, pos2\n if ((pos1 = (_cellOverlaps[e._eid] || { overlaps: [] }).overlaps.indexOf(e2._eid)) > -1) _cellOverlaps[e._eid].overlaps.splice(pos1, 1)\n if ((pos2 = (_cellOverlaps[e2._eid] || { overlaps: [] }).overlaps.indexOf(e._eid)) > -1) _cellOverlaps[e2._eid].overlaps.splice(pos2, 1)\n _cellOverlaps[e2._eid].position--\n }\n })\n })\n\n // Overlaps streak is the longest horizontal set of simultaneous events.\n // This is determining the width of events in a streak.\n // e.g. 3 overlapping events in a cell:\n // ___ ___\n // | 1 | |_2_| 1 overlaps 2 & 3; 2 & 3 don't overlap;\n // | | ___ => streak = 2; each width = 50% not 33%.\n // |___| |_3_|\n let longestStreak = 0\n for (const id in _cellOverlaps) {\n const item = _cellOverlaps[id]\n\n // Calculate the position of each event in current streak (determines the CSS left property).\n const overlapsRow = item.overlaps.map(id2 => ({ id: id2, start: _cellOverlaps[id2].start }))\n overlapsRow.push({ id, start: item.start })\n overlapsRow.sort((a, b) => a.start < b.start ? -1 : (a.start > b.start ? 1 : (a.id > b.id ? -1 : 1)))\n item.position = overlapsRow.findIndex(e => e.id === id)\n\n longestStreak = Math.max(this.getOverlapsStreak(item, _cellOverlaps), longestStreak)\n }\n\n // console.log([_cellOverlaps, longestStreak])\n\n return [_cellOverlaps, longestStreak]\n }\n\n /**\n * Overlaps streak is the longest horizontal set of simultaneous events.\n * This is determining the width of each events in this streak.\n * E.g. 3 overlapping events [1, 2, 3]; 1 overlaps 2 & 3; 2 & 3 don't overlap;\n * => streak = 2; each width = 50% not 33%.\n *\n * @param {Object} event The current event we are checking among all the events of the current cell.\n * @param {Object} cellOverlaps An indexed array of all the events overlaps for the current cell.\n * @return {Number} The number of simultaneous event for this event.\n */\n getOverlapsStreak (event, cellOverlaps = {}) {\n let streak = event.overlaps.length + 1\n let removeFromStreak = []\n event.overlaps.forEach(id => {\n if (!removeFromStreak.includes(id)) {\n const overlapsWithoutSelf = event.overlaps.filter(id2 => id2 !== id)\n overlapsWithoutSelf.forEach(id3 => {\n if (!cellOverlaps[id3].overlaps.includes(id)) removeFromStreak.push(id3)\n })\n }\n })\n\n removeFromStreak = [...new Set(removeFromStreak)] // Dedupe, most performant way.\n streak -= removeFromStreak.length\n return streak\n }\n\n /**\n * Tells whether an event is in a given date range, even partially.\n *\n * @param {Object} event The event to test.\n * @param {Date} start The start of range date object.\n * @param {Date} end The end of range date object.\n * @return {Boolean} true if in range, even partially.\n */\n eventInRange (event, start, end) {\n // Check if all-day or timeless event (if date but no time there won't be a `:` in event.start).\n if (event.allDay || !this._vuecal.time) {\n // Get the date and discard the time if any, then check it's within the date range.\n const startTimestamp = new Date(event.start).setHours(0, 0, 0, 0)\n const endTimestamp = new Date(event.end).setHours(23, 59, 0, 0)\n return (endTimestamp >= new Date(start).setHours(0, 0, 0, 0) &&\n startTimestamp <= new Date(end).setHours(0, 0, 0, 0))\n }\n\n const startTimestamp = event.start.getTime()\n const endTimestamp = event.end.getTime()\n return startTimestamp < end.getTime() && endTimestamp > start.getTime()\n }\n\n eventSameRange(event1, event2) {\n const isSameStart = event1.start.getTime() == event2.start.getTime()\n const isSameEnd = event1.end.getTime() == event2.end.getTime()\n return isSameStart && isSameEnd\n }\n}\n","
{{ split.label }}
","
","import { render } from \"./weekdays-headings.vue?vue&type=template&id=339102eb&lang=pug\"\nimport script from \"./weekdays-headings.vue?vue&type=script&lang=js\"\nexport * from \"./weekdays-headings.vue?vue&type=script&lang=js\"\n\nimport \"./weekdays-headings.vue?vue&type=style&index=0&id=339102eb&lang=scss\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./header.vue?vue&type=template&id=19ea4718&lang=pug\"\nimport script from \"./header.vue?vue&type=script&lang=js\"\nexport * from \"./header.vue?vue&type=script&lang=js\"\n\nimport \"./header.vue?vue&type=style&index=0&id=19ea4718&lang=scss\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","
{{ label }}
","
{{ cell.label }}\n
","
{{ vuecal.texts.deleteEvent }}
","import { render } from \"./event.vue?vue&type=template&id=4b2ee15a&lang=pug\"\nimport script from \"./event.vue?vue&type=script&lang=js\"\nexport * from \"./event.vue?vue&type=script&lang=js\"\n\nimport \"./event.vue?vue&type=style&index=0&id=4b2ee15a&lang=scss\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./cell.vue?vue&type=template&id=e1fa9802&lang=pug\"\nimport script from \"./cell.vue?vue&type=script&lang=js\"\nexport * from \"./cell.vue?vue&type=script&lang=js\"\n\nimport \"./cell.vue?vue&type=style&index=0&id=e1fa9802&lang=scss\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./all-day-bar.vue?vue&type=template&id=1fec77b5&lang=pug\"\nimport script from \"./all-day-bar.vue?vue&type=script&lang=js\"\nexport * from \"./all-day-bar.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./index.vue?vue&type=template&id=59399e28\"\nimport script from \"./index.vue?vue&type=script&lang=js\"\nexport * from \"./index.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { App } \t\tfrom 'vue'\nimport VueCal from './index.vue'\n\n\nexport default {\n\tinstall: (app: App) => {\n\n\t\tapp.component('Vue-cal', VueCal)\n\t}\n}","import { createApp } \tfrom 'vue'\nimport { IonicVue } \tfrom '@ionic/vue'\nimport { loadFonts } \tfrom './webfontloader'\nimport vuetify \t\t\tfrom './vuetify'\nimport { registerQuillUrlSanitizer } from './quill.util'\nimport loader \t\t\tfrom 'vue-loading-overlay'\nimport App \t\t\t\tfrom './App.vue'\n\nimport router \t\t\tfrom './router'\nimport store \t\t\tfrom '@/store'\nimport w \t\t\t\tfrom '@/plugins/w/w'\nimport axiosCustom from '@/plugins/w@custom/axios'\nimport tmStore \t\t\tfrom '@/plugins/tm@_store'\nimport vueCal \t\t\tfrom '@/plugins/app@vendor/vue-cal'\nimport { Options } \t\tfrom '@/plugins/w/w/types'\n\nimport '@ionic/vue/css/core.css'\nimport '@ionic/vue/css/normalize.css'\nimport '@ionic/vue/css/structure.css'\nimport '@ionic/vue/css/typography.css'\nimport '@ionic/vue/css/padding.css'\nimport '@ionic/vue/css/float-elements.css'\nimport '@ionic/vue/css/text-alignment.css'\nimport '@ionic/vue/css/text-transformation.css'\nimport '@ionic/vue/css/flex-utils.css'\nimport '@ionic/vue/css/display.css'\n\nimport '@/plugins/app/_theme/index.sass'\nimport 'vue-loading-overlay/dist/vue-loading.css'\nimport '@vuepic/vue-datepicker/dist/main.css'\n\nloadFonts()\nregisterQuillUrlSanitizer()\n\nconst options: Options = {\n\taxios: {\n\t\tdisabled: true\n\t},\n\ti18n: {\n\t\tlanguages: [\n\t\t\t{\n\t\t\t\ttitle: \"Slovenský\", flag: \"sk\", value: \"sk\"\n\t\t\t}\n\t\t],\n\t\tdefaultLanguage: 'sk'\n\t},\n\tmoxios: {\n\t\troutes: {\n\t\t\t// 'GET v1/auth/info': true,\n\t\t\t// 'POST v1/auth/forgot': true,\n\t\t\t// 'POST v1/auth/reset': true,\n\t\t\t// 'POST v1/auth/info': true,\n\t\t\t// 'POST v1/auth/invalidate': true,\n\t\t\t// 'POST v1/auth/login': true,\n\t\t\t// 'POST v1/auth/post': true,\n\n\t\t\t'GET v1/overview/teams': true,\n\t\t\t'GET v1/overview/tasks': true,\n\t\t\t// 'GET v1/search': true,\n\t\t}\n\t}\n}\n\nconst app = createApp(App)\n\t.use(router)\n\t.use(store)\n\t.use(axiosCustom)\n\t.use(w, options)\n\t.use(IonicVue)\n\t.use(vuetify)\n\t.use(vueCal)\n\t.use(tmStore)\n\t.use(loader, {\n\t\tcolor: '#6200EE'\n\t})\n\t.mount('#app')\n\n// @ts-expect-error\nexport const $t = app.$i18n.t\n","import { $t } from '@/plugins/app/_config/main'\n\nexport default {\n\tparseErrors(errors) {\n\t\t// @ts-expect-error\n\t\treturn Object.values(errors).map(error => $t(error?.$message)).join('. ')\n\t}\n}","export default {\n\tmethods: {\n\t\tcustomFilter(item, input) {\n\t\t\t// Replace accented characters with non-accented equivalents\n\t\t\tconst normalizedItem = item.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '');\n\t\t\tconst normalizedInput = input.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '');\n\t\t\t\n\t\t\t// Remove any character that is not a letter, number, or space from both the item and the input\n\t\t\tconst pattern = /[^a-zA-Z0-9 ]/g;\n\t\t\tconst cleanedItem = normalizedItem.replace(pattern, '');\n\t\t\tconst cleanedInput = normalizedInput.replace(pattern, '');\n\t\t\t\n\t\t\t// Check if the cleaned item starts with the cleaned input and return empty value for dropdown if present\n\t\t\treturn cleanedItem.toLowerCase().includes(cleanedInput.toLowerCase()) || item === '';\n\t\t}\n\t}\n}","import moment from 'moment'\n\nexport default {\n\tenrichEmployees(employees) {\n\t\treturn employees.map(employee => ({\n\t\t\t...employee, \n\t\t\t_fullName: `${ employee.name } ${ employee.surname }`,\n\t\t\t_initials: employee.name.charAt(0) + employee.surname.charAt(0)\n\t\t}))\n\t},\n\n\tformatDateTime(date) {\n\t\tmoment(date)\n\t\treturn moment(date).format('DD.MM.yyyy, HH:mm')\n\t},\n\n\tformatDateTimeForBackend(date) {\n\t\treturn moment(date).format('YYYY-MM-DD HH:mm:ss')\n\t},\n\n\tformatDate(date) {\n\t\treturn moment(date).format('DD.MM.yyyy')\n\t},\n\n\tisBefore(date, compareTo = null) {\n\t\treturn moment(date).isBefore(moment(compareTo))\n\t},\n\n\tisAfter(date, compareTo = moment()) {\n\t\treturn moment(date).isAfter(moment(compareTo))\n\t}\n}","var map = {\n\t\"./en.json\": 20790,\n\t\"./sk.json\": 71941\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 8973;","var map = {\n\t\"./ar.json\": [\n\t\t68568,\n\t\t8568\n\t],\n\t\"./bg.json\": [\n\t\t20684,\n\t\t684\n\t],\n\t\"./bn.json\": [\n\t\t61170,\n\t\t1170\n\t],\n\t\"./bs.json\": [\n\t\t41161,\n\t\t1161\n\t],\n\t\"./ca.json\": [\n\t\t40612,\n\t\t612\n\t],\n\t\"./cs.json\": [\n\t\t50213,\n\t\t213\n\t],\n\t\"./da.json\": [\n\t\t98542,\n\t\t8542\n\t],\n\t\"./de.json\": [\n\t\t4701,\n\t\t4701\n\t],\n\t\"./el.json\": [\n\t\t20453,\n\t\t453\n\t],\n\t\"./en.json\": [\n\t\t3320,\n\t\t3320\n\t],\n\t\"./es.json\": [\n\t\t60076,\n\t\t76\n\t],\n\t\"./et.json\": [\n\t\t44075,\n\t\t4075\n\t],\n\t\"./fa.json\": [\n\t\t69004,\n\t\t9004\n\t],\n\t\"./fr.json\": [\n\t\t60007,\n\t\t7\n\t],\n\t\"./he.json\": [\n\t\t23746,\n\t\t3746\n\t],\n\t\"./hr.json\": [\n\t\t92921,\n\t\t2921\n\t],\n\t\"./hu.json\": [\n\t\t75723,\n\t\t5723\n\t],\n\t\"./id.json\": [\n\t\t12502,\n\t\t2502\n\t],\n\t\"./is.json\": [\n\t\t13214,\n\t\t3214\n\t],\n\t\"./it.json\": [\n\t\t51380,\n\t\t1380\n\t],\n\t\"./ja.json\": [\n\t\t72484,\n\t\t2484\n\t],\n\t\"./ka.json\": [\n\t\t60285,\n\t\t285\n\t],\n\t\"./ko.json\": [\n\t\t79249,\n\t\t9249\n\t],\n\t\"./lt.json\": [\n\t\t42838,\n\t\t2838\n\t],\n\t\"./mn.json\": [\n\t\t6177,\n\t\t6177\n\t],\n\t\"./nl.json\": [\n\t\t99729,\n\t\t9729\n\t],\n\t\"./no.json\": [\n\t\t49409,\n\t\t9409\n\t],\n\t\"./pl.json\": [\n\t\t25409,\n\t\t5409\n\t],\n\t\"./pt-br.json\": [\n\t\t74529,\n\t\t4529\n\t],\n\t\"./ro.json\": [\n\t\t29715,\n\t\t9715\n\t],\n\t\"./ru.json\": [\n\t\t32113,\n\t\t2113\n\t],\n\t\"./sk.json\": [\n\t\t30229,\n\t\t229\n\t],\n\t\"./sl.json\": [\n\t\t28636,\n\t\t8636\n\t],\n\t\"./sq.json\": [\n\t\t204,\n\t\t204\n\t],\n\t\"./sr.json\": [\n\t\t55553,\n\t\t5553\n\t],\n\t\"./sv.json\": [\n\t\t75979,\n\t\t5979\n\t],\n\t\"./tr.json\": [\n\t\t5268,\n\t\t5268\n\t],\n\t\"./uk.json\": [\n\t\t14057,\n\t\t4057\n\t],\n\t\"./vi.json\": [\n\t\t88929,\n\t\t8929\n\t],\n\t\"./zh-cn.json\": [\n\t\t56730,\n\t\t6730\n\t],\n\t\"./zh-hk.json\": [\n\t\t30841,\n\t\t841\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__.t(id, 3 | 16);\n\t});\n}\nwebpackAsyncContext.keys = function() { return Object.keys(map); };\nwebpackAsyncContext.id = 66667;\nmodule.exports = webpackAsyncContext;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \".\" + {\"7\":\"7cef58a7\",\"76\":\"9977e9df\",\"188\":\"d74ce2b2\",\"204\":\"4dd3d03d\",\"213\":\"c9ed5252\",\"229\":\"b09f2145\",\"285\":\"6a0985b5\",\"453\":\"04d72c77\",\"612\":\"4ea201aa\",\"684\":\"017ebeb8\",\"841\":\"65cae984\",\"907\":\"bfa01f81\",\"924\":\"ddc3fd73\",\"1097\":\"88cdd882\",\"1161\":\"59a7c68b\",\"1170\":\"16217940\",\"1380\":\"fc40de11\",\"1466\":\"c5d34b19\",\"2113\":\"2a1bcdfa\",\"2484\":\"6def3002\",\"2502\":\"66addef9\",\"2612\":\"ea780a2e\",\"2838\":\"aa69ee5c\",\"2885\":\"d75b7a04\",\"2921\":\"b5aad8e9\",\"3214\":\"72d306e7\",\"3311\":\"bcab8a66\",\"3320\":\"fe7033d0\",\"3657\":\"e558064c\",\"3728\":\"3e558208\",\"3746\":\"09ee0424\",\"3862\":\"b079a5bd\",\"4057\":\"4b3b38fd\",\"4075\":\"2d83f71e\",\"4392\":\"02bf9f00\",\"4518\":\"8e2c3fa8\",\"4529\":\"6ff3334b\",\"4578\":\"5a7acff1\",\"4701\":\"e34c277a\",\"5268\":\"5d463fbd\",\"5409\":\"4ce439c3\",\"5456\":\"0e926456\",\"5553\":\"032fcbe7\",\"5723\":\"09853a5d\",\"5979\":\"385e1b41\",\"6177\":\"12db94aa\",\"6730\":\"61289e01\",\"7073\":\"57c96578\",\"7343\":\"1e290ed5\",\"8024\":\"bb377405\",\"8059\":\"91d676ea\",\"8520\":\"cb7009ea\",\"8542\":\"09badcc3\",\"8568\":\"7f0dfd32\",\"8636\":\"2a90cf11\",\"8731\":\"a28fea96\",\"8929\":\"ea6da50f\",\"8990\":\"6dd37151\",\"9004\":\"ffe04245\",\"9033\":\"727fb9e6\",\"9249\":\"d2b0f88c\",\"9407\":\"ed2e3833\",\"9409\":\"339f5afb\",\"9715\":\"21ca1afa\",\"9729\":\"812aea5b\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + chunkId + \".\" + {\"188\":\"37c2c58b\",\"907\":\"fa9ddfdd\",\"2612\":\"f67d9d9c\",\"2885\":\"10c05ec3\",\"3862\":\"f5c9dd84\",\"4392\":\"01299cfb\",\"5456\":\"2cf84289\",\"7073\":\"3978ef96\",\"8059\":\"2ab138a8\",\"9033\":\"ace2e544\",\"9407\":\"f4af91bc\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"jandl:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t};\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","var createStylesheet = function(chunkId, fullhref, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tdocument.head.appendChild(linkTag);\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t4826: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"188\":1,\"907\":1,\"2612\":1,\"2885\":1,\"3862\":1,\"4392\":1,\"5456\":1,\"7073\":1,\"8059\":1,\"9033\":1,\"9407\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t4826: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkjandl\"] = self[\"webpackChunkjandl\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4998], function() { return __webpack_require__(37729); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["webpackEmptyAsyncContext","req","Promise","resolve","then","e","Error","code","keys","id","module","exports","map","webpackContext","webpackContextResolve","__webpack_require__","o","Object","async","loadFonts","webFontLoader","load","google","families","createVuetify","registerQuillUrlSanitizer","Link","Quill","PROTOCOL_WHITELIST","push","CustomLinkSanitizer","static","url","sanitizedUrl","super","sanitize","protocolWhitelist","hasWhitelistedProtocol","some","protocol","startsWith","_createVNode","_component_v_app","_component_v_main","_component_router_view","_component_Z_team_modal","ref","onUpdate","$options","_component_Z_delete_team_modal","_component_Z_task_modal","onOnSubtaskEdited","_component_Z_delete_task_modal","onOnSubtaskDeleted","_component_Z_delete_timeBlock_modal","_component_Z_delete_blocker_modal","onOnBlockerDeleted","_component_Z_delete_master_task_modal","onOnMastertaskDeleted","_component_Z_complete_task_modal","_component_Z_complete_master_task_modal","onMasterTaskEdited","_component_Z_task_add_time_modal","_component_Z_blocker_modal","_component_Z_master_task_modal","_component_Z_delete_team_member_modal","_component_Z_show_menu_modal","_component_Z_unable_to_edit_office_task_modal","_component_Z_unable_to_complete_task_modal","class","_createBlock","_component_v_dialog","$data","persistent","_component_v_card","_createElementVNode","_hoisted_1","name","_component_v_icon","onClick","icon","size","_component_v_card_actions","_component_v_btn","variant","disabled","mounted","window","addEventListener","this","handleKeyDown","methods","event","keyCode","visible","mixins","modalMixin","emits","data","team","isDeleting","closeModal","$axios","delete_auth","$emit","$store","commit","error","$toast","$parseError","__exports__","height","_component_W_loadable","content","_component_v_text_field","$errors","length","label","hint","parseErrors","_createElementBlock","_Fragment","employees","employee","index","key","_fullName","splice","_component_v_autocomplete","_ctx","items","clearable","atLeastOne","value","AutocompleteMixin","v$","useVuelidate","errorUtils","employeeSelect","computed","mapGetters","employeesOptions","selectedEmployeesIds","enrichedEmployees","filter","includes","validations","required","$nextTick","$reset","t","get_auth_data","_enrichTeam","$validate","put_auth","fullTeamResource","post_auth","tmUtils","watch","employeeId","find","$refs","autocomplete","search","project_code","subtask","_hoisted_2","timeblocks","timeblock","is_finished","formatDateTime","start","end","JSON","parse","stringify","deadline","_update","deleteTimeblockWithoutId","i","timesheets","timesheet","employee_name","$events","emit","message","d","_hoisted_3","_hoisted_4","_hoisted_7","_hoisted_8","onFocus","master_task_id","title","_component_Datepicker","Date","format","locale","placeholder","_deadline_time","type","employee_id","version","xmlns","width","viewBox","duration","substring","readonly","_hoisted_12","_hoisted_10","_component_A_timeblock","onUpdateTimeblock","val","onRemoveTimeblock","deletable","editable","_hoisted_11","_hoisted_13","_component_QuillEditor","description","theme","onInput","$event","srcElement","innerHTML","_component_Z_files_upload","files","onFilesUploaded","_hoisted_14","_master_task","_hoisted_15","_hoisted_16","src","require","alt","_hoisted_19","_component_Z_task_readonly_info","onCloseModal","onUpdateSubtask","_hoisted_20","multiple","accept","onChange","fileUpload","click","file","_component_v_chip","toFixed","indexOf","$props","props","Array","default","isSaving","Boolean","uploadedFiles","created","maxSize","oversizedFiles","remove","_component_v_row","_component_v_col","cols","_component_v_sheet","_hoisted_5","_hoisted_6","date","form","starts_at_time","ends_at_time","components","Datepicker","showModal","isOffice365Task","splittedStartsAtTime","split","splittedEndsAtTime","moment","hours","parseInt","minutes","toISOString","_mergeDeadlineTimeDate","isAfterDeadline","originalTimeblock","console","log","newTimeblock","getDeadline","mDate","mDeadline","Number","isAfter","master_task_deadline","timeParts","setHours","setMinutes","preventInputFocus","setFocusEvent","document","querySelectorAll","forEach","input","onInputFocus","onDateFocus","undefined","target","blur","selectedEmployees","mastertask","projectsOptions","pattern","normalizedInput","projectCodeSearch","normalize","replace","projects","project","normalizedProjectCode","toLowerCase","filteredProjects","slice","project_id","selectedProject","onEmployeeSelected","showAddEmployeeInput","onEmployeeDurationChanged","totalDuration","parseFloat","invalid","teams","_component_A_mastertask_name","color","_component_A_mastertask_status","isFinished","_component_A_task_deadline","_component_A_task_timeblocks","_component_Z_created_by","created_by","_component_A_task_assigned_employee","_employee","_component_A_task_planned_time","_component_A_task_remaining_time","spent_time","_component_A_task_spent_time","_component_A_task_description","master_task_description","_component_Z_files","style","backgroundColor","String","openMastertask","editMode","_initials","charAt","surname","time","timestamp","_hoisted_9","numeric","minValue","user","formatDate","_component_v_tooltip","text","location","activator","_mergeProps","deadlineTime","getMasterTaskDeadline","toast","useToast","detectOS","platform","navigator","macosPlatforms","windowsPlatforms","prepareHTMLDescription","os","match","replaceAll","getCopyFunction","mastertaskDescription","copiedIndices","preparedDescription","preparedMastertaskDescription","emptyMessage","file_size","isLoading","response","fetch","path","blob","FileSaver","ZFiles","AMastertaskName","AMastertaskStatus","ATaskTimeblocks","ZCreatedBy","ATaskAssignedEmployee","ATaskPlannedTime","ATaskSpentTime","ATaskRemainingTime","ATaskDescription","ATaskDeadline","VuetifyFixFocusMixin","requiredIf","openMenu","scrollIntoView","behavior","block","inline","popup","querySelector","isBottom","yDifference","clientHeight","top","innerHeight","updateDate","updateStartTime","updateEndTime","SelectsMixin","ZTaskReadonlyInfo","ATimeblock","ZFilesUpload","QuillEditor","employeeValidations","showDatePicker","selectedNewDate","wasFormValidationTriggered","on","splittedDeadline","_enrichTask","$forceUpdate","toggleEditMode","mode","openDatepicker","updateTimeblock","removeTimeblock","savedSubtask","localStorage","getItem","parsedSubtask","setHTML","master_task","deleteTimeblock","$router","$route","employeesValid","_validateEmployees","timeblocksValid","_validateTimeblocks","setTimeout","validateAllFields","getHTML","patch_auth_form","removeItem","validEmployees","subtaskCopy","subtasks","openDeleteTaskModal","showCompleteTaskModal","filesUploaded","updateSubtask","hasValidEmployee","isError","_created_by","mastertasks","oldValue","handler","lastEmployee","deep","subtaskData","setItem","blocker","tempSubtask","tempMastertask","payload","datepicker","clearValue","_syncDatesTimes","splittedStart","splittedEnd","set","estimated_duration","_component_v_select","team_id","_allEmployees","min","onKeyup","_component_A_mastertask_description","_component_A_tasks_table","_component_v_table","_employeeInitials","_employeeFullName","checkmark","bin","eye","office365","enrichedtasks","openTaskModal","_component_Z_status","status","_component_Z_deadline","_component_Z_team","_component_Z_estimated_duration","_component_Z_planned_time","_component_Z_remaining_time","time_worked","_component_Z_spent_time","_component_Z_description","inheritedDescription","preparedInheritedDescription","isExceeded","enrichedEmployeesInTeam","enrichedEmployeesOutsideTeam","employeesOutsideOfTeam","em","ZDeadline","ZDescription","ZPlannedTime","ZRemainingTime","ZSpentTime","ZStatus","ZTeam","ZEstimatedDuration","AMastertaskDescription","ATasksTable","enrichedSubtasks","quillEditorRequired","minLength","$each","closeBothModals","teamId","memberId","task","beforeUnmount","off","removeEmployee","removeMemberAlert","member","loadMastertask","savedMastertask","parsedMastertask","toggleIsFinished","vuelidateValid","post_auth_data","openDeleteMasterTaskModal","addTask","onQuillEditorInput","isValid","getHours","getMinutes","toString","padStart","oldTeamEmployeesIds","employeesNotInOldTeam","_","_component_v_card_text","_component_v_spacer","localData","createTask","onTaskCreated","createBlocker","onBlockerCreated","loading","loadingTimeblocks","loadingCloseAll","areAllTimeblocksFinished","every","_finishSubtask","dispatch","promises","all","ZDeleteTeamModal","ZTeamModal","ZDeleteTaskModal","ZDeleteBlockerModal","ZTaskModal","ZMasterTaskModal","ZCompleteTaskModal","ZTaskAddTimeModal","ZBlockerModal","ZDeleteMasterTaskModal","ZDeleteTeamMemberModal","ZShowMenuModal","ZCompleteMasterTaskModal","ZDeleteTimeBlockModal","ZUnableToEditOfficeTaskModal","ZUnableToCompleteTaskModal","query","_showModalsAfterInicialization","onTeamUpdate","onTaskDeleted","onBlockerDeleted","onTaskEdited","onMasterTaskDeleted","repeat","getters","render","createStore","state","mutations","actions","modules","routes","redirect","component","children","meta","requiresAuth","router","createRouter","history","createWebHashHistory","process","beforeEach","to","from","next","isLoggedIn","store","axios","config","catch","reject","_config","params","headers","Authorization","install","app","options","globalProperties","encodeGetParams","p","entries","kv","encodeURIComponent","join","strToRegex","s","re","Moxios","constructor","_redirectRequestToMock","bind","_mocks","mock","append","k","m","reUrl","matchMethod","mocked","method","fname","VUE_APP_PLATFORM","toUpperCase","c","origin","moxios","values","events","mitt","I18n","properties","instance","translated","availableLanguages","languages","defaultLanguage","language","languageKey","vendorI18n","createI18n","legacy","fallbackLocale","messages","_loadLocaleMessages","missing","_missingTranslation","postTranslation","_postTranslation","changeLanguage","flag","initCurrentLanguage","Preferences","currentLanguage","_addAxiosHeaders","global","locales","warn","matched","use","i18n","$w18n","IonContent","IonPage","IonLabel","IonBackButton","IonCheckbox","IonText","IonButton","IonItem","IonItemGroup","IonItemSliding","IonItemOption","IonItemOptions","IonToolbar","IonHeader","IonFooter","IonSlides","IonSlide","IonSpinner","IonRow","IonCol","IonGrid","IonInput","IonButtons","IonIcon","IonImg","IonList","IonSkeletonText","IonTitle","IonMenu","IonSplitPane","IonMenuButton","IonRouterOutlet","IonSegment","IonSegmentButton","IonVirtualScroll","IonTextarea","IonSearchbar","IonRefresherContent","IonRefresher","IonInfiniteScrollContent","IonInfiniteScroll","IonAvatar","IonThumbnail","IonModal","IonRadioGroup","IonRadio","IonNote","IonCard","IonCardContent","IonTabBar","IonTabButton","IonMenuToggle","IonFab","IonFabButton","IonFabList","IonReorderGroup","IonReorder","IonSelect","IonSelectOption","IonToggle","IonBadge","IonChip","IonTabs","_unauthorised","namespaced","token","auth_success","auth_error","logout","open","login","credentials","signup","finally","forgotPassword","resetPassword","updateUserInfo","registerModule","auth","VueToast","_renderSlot","loader","_startLoading","_stopLoading","WLoadable","ionic","loadable","parseAndTranslate","errorsArray","_parseToArrayOfStrings","$t","statusText","toastUtils","_objectToFormData","formData","transformRequest","_buildFormData","parentKey","File","FormData","unscheduledSubtasks","ongoingSubtasks","initialized","ongoingSubtasksEmployeeId","unscheduledSubtasksEmployeeId","set_mastertasks","set_employees","set_teams","set_projects","set_unscheduled_subtasks","set_ongoing_subtasks","remove_ongoing_subtask","subtaskId","st","update_team","save_team","delete_team","update_subtask","delete_subtask","set_ongoing_subtasks_employee_id","set_unscheduled_subtasks_employee_id","initialize","reloadSubtasks","reloadMastertasks","loadMastertasks","loadEmployees","loadTeams","loadProjects","loadUnscheduledSubtasks","employeeIdToUse","loadOngoingSubtasks","removeOngoingSubtask","sort","a","b","isInitialized","tmStore","grow","row","column","_hoisted_27","lang","_component_vuecal_header","views","weekDaysInHeader","heading","view","_Transition","appear","_component_all_day_bar","titleEditable","contenteditable","onBlur","vuecal__flex","allDay","cell","week","wrap","_component_weekdays_headings","unscheduledTime","el","_component_vuecal_cell","selectCell","goNarrower","_hoisted_18","noEvent","_hoisted_22","formatTime","endTimeMinutes","daysCount","segments","formattedDate","isFirstDay","_hoisted_24","day","_hoisted_26","now","todayDate","todayF","self","_dateObject","_timeObject","DateUtils","texts","noPrototypes","_texts","prototype","addDays","_initDatePrototypes","days","subtractDays","addHours","subtractHours","addMinutes","subtractMinutes","getWeek","isToday","isLeapYear","removePrototypes","updateTexts","_todayFormatted","getDate","getFullYear","getMonth","valueOf","setDate","UTC","dayNum","getUTCDay","setUTCDate","getUTCDate","yearStart","getUTCFullYear","Math","ceil","year","getPreviousFirstDayOfWeek","weekStartsOnSunday","prevFirstDayOfWeek","dayModifier","getDay","stringToDate","countDays","timezoneDiffMs","getTimezoneOffset","datesInSameTimeStep","date1","date2","timeStep","abs","getTime","formatDateLite","dateObj","YYYY","_hydrateDateObject","YY","M","MM","MMM","MMMM","MMMMG","D","DD","S","dd","ddd","dddd","HH","_hydrateTimeObject","H","hh","h","am","AM","mm","contents","result","round","shouldRound","getSeconds","formatTimeLite","timeObj","formatted","_nth","dayNumber","months","monthsGenitive","weekDays","substr","floor","pm","minutesInADay","CellUtils","vuecal","force","_vuecal","clickToNavigate","switchToNarrowerView","dblclickToNavigate","domEvents","dblTapACell","taps","timeout","left","cellsEl","getBoundingClientRect","clientX","clientY","touches","x","y","cursorCoords","timeCellHeight","timeFrom","getPosition","max","defaultEventDuration","ud","_cellOverlaps","_comparisonArray","EventUtils","dateUtils","_eid","startTimeMinutes","background","deleting","resizable","resizing","draggable","dragging","draggingStatic","focused","createAnEvent","dateTime","eventOptions","dateToMinutes","eventDefaults","uid","eventIdIncrement","onEventCreate","deleteAnEvent","startDateF","endDateF","mutableEvents","addEventsToView","emitWithEvent","cleanupEvent","originalEvent","addEventSegment","isLastDay","previousSegment","removeEventSegment","segmentsCount","createEventSegments","viewStartDate","viewEndDate","viewStartTimestamp","viewEndTimestamp","eventStartAtMidnight","eventStart","eventEnd","repeatedEventStartFound","until","createSegment","nextMidnight","tmpDate","tmpDateFormatted","occurrences","checkCellOverlappingEvents","cellEvents","shift","overlaps","position","sameOverlaps","e2","eventIsInRange","eventInRange","eventSameOverlap","eventSameRange","eventsInSameTimeStep","overlapsPerTimeStep","pos1","pos2","Set","longestStreak","item","overlapsRow","id2","findIndex","getOverlapsStreak","cellOverlaps","streak","removeFromStreak","overlapsWithoutSelf","id3","startTimestamp","endTimestamp","event1","event2","isSameStart","isSameEnd","role","hideViewSelector","_createCommentVNode","_renderList","v","enabled","_normalizeClass","highlightedControl","onDragenter","drag","viewSelectorDragEnter","onDragleave","viewSelectorDragLeave","hideTitleBar","transitions","_resolveDynamicComponent","startDate","todayButton","_createSlots","$slots","fn","_createTextVNode","hide","today","clickable","toLocaleDateString","_normalizeStyle","onDblclick","dayOfMonth","full","small","xsmall","hasSplits","stickySplitLabels","daySplits","inject","transitionDirection","Function","DOMEvent","selectedDate","utils","cleanupHeading","initials","onTimelineScroll","viewPortOffset","headings","todayFound","startWeekOnSunday","short","cellWidth","reduce","total","weekdayCellStyles","hideWeekdays","cellHeadingsClickable","WeekdaysHeadings","editEvents","viewProps","goToToday","updateSelectedDate","switchToBroaderView","broaderView","switchView","get","direction","enabledViews","showDaySplits","minSplitWidth","dnd","isWeekView","isMonthView","minTimestamp","maxTimestamp","_TransitionGroup","tag","tabindex","onKeypress","_withKeys","onTouchstart","onMousedown","onContextmenu","cellContextmenu","cellDragEnter","onDragover","cellDragOver","cellDragLeave","onDrop","cellDragDrop","showTimeInCells","timeCells","eventsOnMonthView","j","_component_event","allOverlaps","overlapsStreak","cellOverlapsStreak","eventId","onMouseenter","onMouseleave","_withModifiers","onMouseup","onTouchend","onTouchmove","onDragstart","onDragend","delete","deleteEvent","cellFormattedDate","eventPosition","touch","dragThreshold","startX","startY","dragged","onMouseDown","targetElement","nodeName","parentElement","classList","contains","preventDefault","clickHoldAnEvent","focusAnEvent","resizeAnEvent","dragAnEvent","focusEvent","timeoutId","onMouseUp","mousedUp","onMouseEnter","onMouseLeave","onTouchMove","onEventClick","onTouchStart","onEnterKeypress","onDblClick","onEventDblclick","onDragStart","eventDragStart","onDragEnd","eventDragEnd","onResizeHandleMouseDown","assign","segment","originalEnd","originalEndTimeMinutes","touchDeleteEvent","cancelDeleteEvent","focusedEvent","cancelDelete","eventDimensions","minutesFromTop","timeTo","bottom","eventStyles","zIdnex","master_task_color","isArray","sameOverlapsLength","parentNotSameOverlaps","minEventWidth","eventClasses","is_blocker","resize","Event","cellSplits","timeAtCursor","highlighted","highlightedSplit","getSplitAtCursor","targetIsSplit","findAncestor","attributes","splitClasses","isWeekend","eventsCount","splitsCount","isDOMElementAnEvent","onCellkeyPressEnter","isSelected","onCellFocus","keyPressEnterCell","isDisabled","onCellMouseDown","clickHoldACell","cancelClickEventCreation","eventCreated","minutesAtCursor","mouseDownOnEvent","create","setUpEventCreation","startCursorY","dragToCreateEvent","dragCreateAnEvent","snapToTime","timeMinutes","plusHalfSnapTime","cellClickHold","setUpCellHoldTimer","cellId","onCellTouchStart","onCellClick","offsetY","dateFrom","dateTo","isTeamCalendar","onCellDblClick","onCellContextMenu","stopPropagation","nowInMinutes","isBeforeMinDate","endDate","isAfterMaxDate","disableDays","isYearsOrYearView","selected","isWeekOrDayView","specialHours","timeScale","cellStart","cellEnd","eventsCountOnYearView","outOfScopeEvents","showAllDayEvents","singleDayInRange","multipleDayInRange","recurrMultDayInRange","splits","cellClasses","current","outOfScope","cellStyles","timelineVisible","todaysTimePosition","Cell","cells","shortEvents","cellOrSplitMinWidth","hasCellOrSplitWidth","minCellWidth","textsDefaults","fill","weekDaysShort","years","month","createEvent","dateFormat","validViews","Header","AllDayBar","provide","previous","activeView","scrollToHour","allDayBarHeight","disableDatePrototypes","disableViews","dragToCreateThreshold","editableEvents","hideBody","hideWeekends","maxDate","minDate","resizeX","showWeekNumbers","splitDays","timeFormat","twelveHour","watchRealTime","ready","firstCellDate","lastCellDate","timeTickerIds","startCell","endCell","loadDragAndDrop","DragAndDrop","validateView","fromViewSelector","viewDateBeforeChange","oldView","setSeconds","daysToAdd","daysToSubtract","weekDaysCount","viewDate","scrollTop","previousNext","modifier","viewId","weekDay","weekDayIndex","isDayHidden","daysWithIndex","dayToShow","daysFromDate","reverse","ue","filteredEvents","Class","onMouseMove","eventResizing","eventDragCreation","isClickHoldingEvent","wasResizing","hasResized","dragCreatedEvent","dragCreateStarted","mouseUpOnEvent","eventClicked","mutableEvent","cleanEvent","oldDate","unfocusEvent","clearTimeout","eventClickHandler","onKeyUp","newEndTimeMins","offsetWidth","childElementCount","newEnd","newDaysCount","lastSegmentFormattedDate","dragFromBottom","onEventTitleBlur","oldTitle","updateMutableEvents","multipleDays","discardProps","prop","eventName","getWeekNumber","weekFromFirstCell","firstCellWeekNumber","firstCellDateWeekNumber","currentWeekNumber","timeTick","updateDateTexts","alignWithScrollbar","cellOrSplitHasEvents","loadLocale","currentView","hasTouch","hasEventClickHandler","passive","oncontextmenu","viewportTimelineOffset","removeEventListener","hasTimeColumn","isShortMonthView","TimeFormat","hasShortEvents","minWidth","visibleDaysCount","allDayBar","isNaN","viewCells","unshift","pop","specialDayHours","viewTitle","lastDayOfWeek","y1","m1","formattedMonthYear","y2","m2","fromYear","apply","firstDayOfWeek","dayOfWeek","isDayView","cssClasses","isYearsView","isYearView","oldEvents","newVal","VueCal","createApp","App","axiosCustom","w","IonicVue","vuetify","vueCal","mount","$i18n","errors","$message","customFilter","normalizedItem","cleanedItem","cleanedInput","enrichEmployees","formatDateTimeForBackend","isBefore","compareTo","webpackAsyncContext","ids","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","call","deferred","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","r","n","getter","__esModule","leafPrototypes","getProto","getPrototypeOf","obj","__proto__","ns","def","getOwnPropertyNames","definition","defineProperty","enumerable","f","chunkId","u","miniCssF","g","globalThis","hasOwnProperty","inProgress","dataWebpackPrefix","l","done","script","needAttach","scripts","getElementsByTagName","getAttribute","createElement","charset","nc","setAttribute","onScriptComplete","prev","onerror","onload","doneFns","parentNode","removeChild","head","appendChild","Symbol","toStringTag","nmd","paths","createStylesheet","fullhref","linkTag","rel","onLinkComplete","errorType","realHref","href","err","request","findStylesheet","existingLinkTags","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","promise","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/index.8d9a9325.js","mappings":"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","sources":["webpack://jandl/./node_modules/@stencil/core/internal/client/ lazy ^\\.\\/.*\\.entry\\.js.*$ include: \\.entry\\.js$ exclude: \\.system\\.entry\\.js$ namespace object","webpack://jandl/./node_modules/moment/locale/ sync ^\\.\\/.*$","webpack://jandl/./src/plugins/app/_config/webfontloader.ts","webpack://jandl/./src/plugins/app/_config/vuetify.ts","webpack://jandl/./src/plugins/app/_config/quill.util.ts","webpack://jandl/./src/plugins/app/_config/App.vue","webpack://jandl/./src/plugins/tm@modal/team/z-delete-team-modal.vue","webpack://jandl/./src/plugins/tm@modal/_mixins/modal.mixin.ts","webpack://jandl/./src/plugins/tm@modal/team/z-delete-team-modal.vue?889d","webpack://jandl/./src/plugins/tm@modal/team/z-team-modal.vue","webpack://jandl/./src/plugins/tm@modal/team/z-team-modal.vue?719b","webpack://jandl/./src/plugins/tm@modal/task/z-delete-task-modal.vue","webpack://jandl/./src/plugins/tm@modal/task/z-delete-task-modal.vue?dac1","webpack://jandl/./src/plugins/tm@modal/task/z-delete-timeblock-modal.vue","webpack://jandl/./src/plugins/tm@modal/task/z-delete-timeblock-modal.vue?c410","webpack://jandl/./src/plugins/tm@modal/task/z-task-modal.vue","webpack://jandl/./src/plugins/tm@_components/z-files-upload.vue","webpack://jandl/./src/plugins/tm@_components/z-files-upload.vue?aefd","webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-task-timeblocks.vue","webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-task-timeblocks.vue?441a","webpack://jandl/./src/plugins/tm@modal/_mixins/vuetify-fix-focus.ts","webpack://jandl/./src/plugins/tm@modal/master-task/_mixins/selects.mixin.ts","webpack://jandl/./src/plugins/tm@modal/task/_components/z-task-readonly-info.vue","webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-mastertask-name.vue","webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-mastertask-name.vue?35d3","webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-mastertask-status.vue","webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-mastertask-status.vue?8d63","webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-created-by.vue","webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-created-by.vue?b16b","webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-task-assigned-employee.vue","webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-task-assigned-employee.vue?4068","webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-task-planned-time.vue","webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-task-planned-time.vue?2bd6","webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-task-spent-time.vue","webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-task-spent-time.vue?618a","webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-task-remaining-time.vue","webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-task-remaining-time.vue?016a","webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-task-deadline.vue","webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-task-deadline.vue?2a63","webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-task-description.vue","webpack://jandl/./src/plugins/tm@_utils/server-links.utils.ts","webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-task-description.vue?bb5a","webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-files.vue","webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-files.vue?7ebd","webpack://jandl/./src/plugins/tm@modal/task/_components/z-task-readonly-info.vue?692c","webpack://jandl/./src/plugins/tm@modal/task/_components/a-timeblock.vue","webpack://jandl/./src/plugins/tm@modal/task/_components/a-timeblock.vue?fbbd","webpack://jandl/./src/plugins/tm@modal/task/z-task-modal.vue?a3ab","webpack://jandl/./src/plugins/tm@modal/blocker/z-delete-blocker-modal.vue","webpack://jandl/./src/plugins/tm@modal/blocker/z-delete-blocker-modal.vue?6a87","webpack://jandl/./src/plugins/tm@modal/task/z-complete-task-modal.vue","webpack://jandl/./src/plugins/tm@modal/task/z-complete-task-modal.vue?2beb","webpack://jandl/./src/plugins/tm@modal/master-task/z-complete-master-task-modal.vue","webpack://jandl/./src/plugins/tm@modal/master-task/z-complete-master-task-modal.vue?b36c","webpack://jandl/./src/plugins/tm@modal/task/z-task-add-time-modal.vue","webpack://jandl/./src/plugins/tm@modal/task/z-task-add-time-modal.vue?f996","webpack://jandl/./src/plugins/tm@modal/blocker/z-blocker-modal.vue","webpack://jandl/./src/plugins/tm@modal/blocker/z-blocker-modal.vue?7f6d","webpack://jandl/./src/plugins/tm@modal/master-task/z-delete-master-task-modal.vue","webpack://jandl/./src/plugins/tm@modal/master-task/z-delete-master-task-modal.vue?9c83","webpack://jandl/./src/plugins/tm@modal/master-task/z-master-task-modal.vue","webpack://jandl/./src/plugins/tm@modal/master-task/_components/a-tasks-table.vue","webpack://jandl/./src/plugins/tm@modal/master-task/_components/a-tasks-table.vue?85a6","webpack://jandl/./src/plugins/tm@modal/master-task/_components/a-mastertask-description.vue","webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-deadline.vue","webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-deadline.vue?6f7e","webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-description.vue","webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-description.vue?014c","webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-planned-time.vue","webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-planned-time.vue?c190","webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-remaining-time.vue","webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-remaining-time.vue?5784","webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-spent-time.vue","webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-spent-time.vue?ae50","webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-status.vue","webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-status.vue?c1f6","webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-team.vue","webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-team.vue?105d","webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-estimated-duration.vue","webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-estimated-duration.vue?eed0","webpack://jandl/./src/plugins/tm@modal/master-task/_components/a-mastertask-description.vue?b7f6","webpack://jandl/./src/plugins/tm@modal/master-task/z-master-task-modal.vue?651e","webpack://jandl/./src/plugins/tm@modal/master-task/z-delete-team-member-modal.vue","webpack://jandl/./src/plugins/tm@modal/master-task/z-delete-team-member-modal.vue?d914","webpack://jandl/./src/plugins/tm@modal/task-cell/z-show-menu-modal.vue","webpack://jandl/./src/plugins/tm@modal/task-cell/z-show-menu-modal.vue?b1a2","webpack://jandl/./src/plugins/tm@modal/task/z-unable-to-edit-office-task-modal.vue","webpack://jandl/./src/plugins/tm@modal/task/z-unable-to-edit-office-task-modal.vue?7dd8","webpack://jandl/./src/plugins/tm@modal/task/z-unable-to-complete-task-modal.vue","webpack://jandl/./src/plugins/tm@modal/task/z-unable-to-complete-task-modal.vue?691c","webpack://jandl/./src/plugins/app/_config/App.vue?b414","webpack://jandl/./src/store.ts","webpack://jandl/./src/plugins/app/_config/router.ts","webpack://jandl/./src/plugins/w/axios/models/axios.ts","webpack://jandl/./src/plugins/w/axios/index.ts","webpack://jandl/./src/plugins/w/moxios/utils/moxios.util.ts","webpack://jandl/./src/plugins/w/moxios/models/moxios.ts","webpack://jandl/./src/plugins/w/moxios/index.ts","webpack://jandl/./src/plugins/w/events/index.ts","webpack://jandl/./src/plugins/w/i18n/models/i18n.ts","webpack://jandl/./src/plugins/w/i18n/index.ts","webpack://jandl/./src/plugins/w/ionic/index.ts","webpack://jandl/./src/plugins/w/auth/refreshExpired.ts","webpack://jandl/./src/plugins/w/auth/auth.store.ts","webpack://jandl/./src/plugins/w/auth/index.ts","webpack://jandl/./src/plugins/w/toast/index.ts","webpack://jandl/./src/plugins/w/loadable/_components/w-loadable.vue","webpack://jandl/./src/plugins/w/loadable/_components/w-loadable.vue?0367","webpack://jandl/./src/plugins/w/loadable/index.ts","webpack://jandl/./src/plugins/w/w/index.ts","webpack://jandl/./src/plugins/w/toast/utils/toast.utils.ts","webpack://jandl/./src/plugins/w@custom/axios/models/axios.ts","webpack://jandl/./src/plugins/w@custom/axios/index.ts","webpack://jandl/./src/plugins/tm@_store/store/index.ts","webpack://jandl/./src/plugins/tm@_store/index.ts","webpack://jandl/./src/plugins/app@vendor/vue-cal/index.vue","webpack://jandl/./src/plugins/app@vendor/vue-cal/utils/date.js","webpack://jandl/./src/plugins/app@vendor/vue-cal/utils/cell.js","webpack://jandl/./src/plugins/app@vendor/vue-cal/utils/event.js","webpack://jandl/./src/plugins/app@vendor/vue-cal/header.vue","webpack://jandl/./src/plugins/app@vendor/vue-cal/weekdays-headings.vue","webpack://jandl/./src/plugins/app@vendor/vue-cal/weekdays-headings.vue?fe42","webpack://jandl/./src/plugins/app@vendor/vue-cal/header.vue?387a","webpack://jandl/./src/plugins/app@vendor/vue-cal/all-day-bar.vue","webpack://jandl/./src/plugins/app@vendor/vue-cal/cell.vue","webpack://jandl/./src/plugins/app@vendor/vue-cal/event.vue","webpack://jandl/./src/plugins/app@vendor/vue-cal/event.vue?094d","webpack://jandl/./src/plugins/app@vendor/vue-cal/cell.vue?9ee5","webpack://jandl/./src/plugins/app@vendor/vue-cal/all-day-bar.vue?9528","webpack://jandl/./src/plugins/app@vendor/vue-cal/index.vue?26da","webpack://jandl/./src/plugins/app@vendor/vue-cal/index.ts","webpack://jandl/./src/plugins/app/_config/main.ts","webpack://jandl/./src/plugins/lib@auth/_utils/error.utils.ts","webpack://jandl/./src/plugins/tm@_mixins/autocomplete.mixin.ts","webpack://jandl/./src/plugins/tm@_utils/tm.utils.ts","webpack://jandl/./src/locales/ sync [A-Za-z0-9-_,\\s]+\\.json$/","webpack://jandl/./src/plugins/app@vendor/vue-cal/i18n/ lazy ^\\.\\/.*\\.json$ namespace object","webpack://jandl/webpack/bootstrap","webpack://jandl/webpack/runtime/chunk loaded","webpack://jandl/webpack/runtime/compat get default export","webpack://jandl/webpack/runtime/create fake namespace object","webpack://jandl/webpack/runtime/define property getters","webpack://jandl/webpack/runtime/ensure chunk","webpack://jandl/webpack/runtime/get javascript chunk filename","webpack://jandl/webpack/runtime/get mini-css chunk filename","webpack://jandl/webpack/runtime/global","webpack://jandl/webpack/runtime/hasOwnProperty shorthand","webpack://jandl/webpack/runtime/load script","webpack://jandl/webpack/runtime/make namespace object","webpack://jandl/webpack/runtime/node module decorator","webpack://jandl/webpack/runtime/publicPath","webpack://jandl/webpack/runtime/css loading","webpack://jandl/webpack/runtime/jsonp chunk loading","webpack://jandl/webpack/startup"],"sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 41993;\nmodule.exports = webpackEmptyAsyncContext;","var map = {\n\t\"./af\": 63906,\n\t\"./af.js\": 63906,\n\t\"./ar\": 40902,\n\t\"./ar-dz\": 3853,\n\t\"./ar-dz.js\": 3853,\n\t\"./ar-kw\": 20299,\n\t\"./ar-kw.js\": 20299,\n\t\"./ar-ly\": 96825,\n\t\"./ar-ly.js\": 96825,\n\t\"./ar-ma\": 66379,\n\t\"./ar-ma.js\": 66379,\n\t\"./ar-sa\": 87700,\n\t\"./ar-sa.js\": 87700,\n\t\"./ar-tn\": 2059,\n\t\"./ar-tn.js\": 2059,\n\t\"./ar.js\": 40902,\n\t\"./az\": 76043,\n\t\"./az.js\": 76043,\n\t\"./be\": 7936,\n\t\"./be.js\": 7936,\n\t\"./bg\": 34078,\n\t\"./bg.js\": 34078,\n\t\"./bm\": 14014,\n\t\"./bm.js\": 14014,\n\t\"./bn\": 29554,\n\t\"./bn-bd\": 17114,\n\t\"./bn-bd.js\": 17114,\n\t\"./bn.js\": 29554,\n\t\"./bo\": 6529,\n\t\"./bo.js\": 6529,\n\t\"./br\": 65437,\n\t\"./br.js\": 65437,\n\t\"./bs\": 19647,\n\t\"./bs.js\": 19647,\n\t\"./ca\": 59951,\n\t\"./ca.js\": 59951,\n\t\"./cs\": 26113,\n\t\"./cs.js\": 26113,\n\t\"./cv\": 37965,\n\t\"./cv.js\": 37965,\n\t\"./cy\": 35858,\n\t\"./cy.js\": 35858,\n\t\"./da\": 33515,\n\t\"./da.js\": 33515,\n\t\"./de\": 62831,\n\t\"./de-at\": 6263,\n\t\"./de-at.js\": 6263,\n\t\"./de-ch\": 51127,\n\t\"./de-ch.js\": 51127,\n\t\"./de.js\": 62831,\n\t\"./dv\": 4510,\n\t\"./dv.js\": 4510,\n\t\"./el\": 68616,\n\t\"./el.js\": 68616,\n\t\"./en-au\": 24595,\n\t\"./en-au.js\": 24595,\n\t\"./en-ca\": 73545,\n\t\"./en-ca.js\": 73545,\n\t\"./en-gb\": 79609,\n\t\"./en-gb.js\": 79609,\n\t\"./en-ie\": 43727,\n\t\"./en-ie.js\": 43727,\n\t\"./en-il\": 93302,\n\t\"./en-il.js\": 93302,\n\t\"./en-in\": 46305,\n\t\"./en-in.js\": 46305,\n\t\"./en-nz\": 39128,\n\t\"./en-nz.js\": 39128,\n\t\"./en-sg\": 84569,\n\t\"./en-sg.js\": 84569,\n\t\"./eo\": 50650,\n\t\"./eo.js\": 50650,\n\t\"./es\": 26358,\n\t\"./es-do\": 64214,\n\t\"./es-do.js\": 64214,\n\t\"./es-mx\": 38639,\n\t\"./es-mx.js\": 38639,\n\t\"./es-us\": 30232,\n\t\"./es-us.js\": 30232,\n\t\"./es.js\": 26358,\n\t\"./et\": 47279,\n\t\"./et.js\": 47279,\n\t\"./eu\": 15515,\n\t\"./eu.js\": 15515,\n\t\"./fa\": 27981,\n\t\"./fa.js\": 27981,\n\t\"./fi\": 37090,\n\t\"./fi.js\": 37090,\n\t\"./fil\": 79208,\n\t\"./fil.js\": 79208,\n\t\"./fo\": 2799,\n\t\"./fo.js\": 2799,\n\t\"./fr\": 23463,\n\t\"./fr-ca\": 2213,\n\t\"./fr-ca.js\": 2213,\n\t\"./fr-ch\": 52848,\n\t\"./fr-ch.js\": 52848,\n\t\"./fr.js\": 23463,\n\t\"./fy\": 41468,\n\t\"./fy.js\": 41468,\n\t\"./ga\": 88163,\n\t\"./ga.js\": 88163,\n\t\"./gd\": 2898,\n\t\"./gd.js\": 2898,\n\t\"./gl\": 76312,\n\t\"./gl.js\": 76312,\n\t\"./gom-deva\": 20682,\n\t\"./gom-deva.js\": 20682,\n\t\"./gom-latn\": 49178,\n\t\"./gom-latn.js\": 49178,\n\t\"./gu\": 31400,\n\t\"./gu.js\": 31400,\n\t\"./he\": 52795,\n\t\"./he.js\": 52795,\n\t\"./hi\": 17009,\n\t\"./hi.js\": 17009,\n\t\"./hr\": 46506,\n\t\"./hr.js\": 46506,\n\t\"./hu\": 69565,\n\t\"./hu.js\": 69565,\n\t\"./hy-am\": 93864,\n\t\"./hy-am.js\": 93864,\n\t\"./id\": 5626,\n\t\"./id.js\": 5626,\n\t\"./is\": 36649,\n\t\"./is.js\": 36649,\n\t\"./it\": 90151,\n\t\"./it-ch\": 95348,\n\t\"./it-ch.js\": 95348,\n\t\"./it.js\": 90151,\n\t\"./ja\": 79830,\n\t\"./ja.js\": 79830,\n\t\"./jv\": 33751,\n\t\"./jv.js\": 33751,\n\t\"./ka\": 63365,\n\t\"./ka.js\": 63365,\n\t\"./kk\": 85980,\n\t\"./kk.js\": 85980,\n\t\"./km\": 99571,\n\t\"./km.js\": 99571,\n\t\"./kn\": 25880,\n\t\"./kn.js\": 25880,\n\t\"./ko\": 16809,\n\t\"./ko.js\": 16809,\n\t\"./ku\": 96773,\n\t\"./ku.js\": 96773,\n\t\"./ky\": 65505,\n\t\"./ky.js\": 65505,\n\t\"./lb\": 50553,\n\t\"./lb.js\": 50553,\n\t\"./lo\": 51237,\n\t\"./lo.js\": 51237,\n\t\"./lt\": 91563,\n\t\"./lt.js\": 91563,\n\t\"./lv\": 61057,\n\t\"./lv.js\": 61057,\n\t\"./me\": 96495,\n\t\"./me.js\": 96495,\n\t\"./mi\": 83096,\n\t\"./mi.js\": 83096,\n\t\"./mk\": 43874,\n\t\"./mk.js\": 43874,\n\t\"./ml\": 46055,\n\t\"./ml.js\": 46055,\n\t\"./mn\": 87747,\n\t\"./mn.js\": 87747,\n\t\"./mr\": 17113,\n\t\"./mr.js\": 17113,\n\t\"./ms\": 8687,\n\t\"./ms-my\": 7948,\n\t\"./ms-my.js\": 7948,\n\t\"./ms.js\": 8687,\n\t\"./mt\": 14532,\n\t\"./mt.js\": 14532,\n\t\"./my\": 4655,\n\t\"./my.js\": 4655,\n\t\"./nb\": 56961,\n\t\"./nb.js\": 56961,\n\t\"./ne\": 2512,\n\t\"./ne.js\": 2512,\n\t\"./nl\": 48448,\n\t\"./nl-be\": 72936,\n\t\"./nl-be.js\": 72936,\n\t\"./nl.js\": 48448,\n\t\"./nn\": 49031,\n\t\"./nn.js\": 49031,\n\t\"./oc-lnc\": 5174,\n\t\"./oc-lnc.js\": 5174,\n\t\"./pa-in\": 30118,\n\t\"./pa-in.js\": 30118,\n\t\"./pl\": 93448,\n\t\"./pl.js\": 93448,\n\t\"./pt\": 33518,\n\t\"./pt-br\": 62447,\n\t\"./pt-br.js\": 62447,\n\t\"./pt.js\": 33518,\n\t\"./ro\": 70817,\n\t\"./ro.js\": 70817,\n\t\"./ru\": 10262,\n\t\"./ru.js\": 10262,\n\t\"./sd\": 58990,\n\t\"./sd.js\": 58990,\n\t\"./se\": 43842,\n\t\"./se.js\": 43842,\n\t\"./si\": 37711,\n\t\"./si.js\": 37711,\n\t\"./sk\": 80756,\n\t\"./sk.js\": 80756,\n\t\"./sl\": 3772,\n\t\"./sl.js\": 3772,\n\t\"./sq\": 6187,\n\t\"./sq.js\": 6187,\n\t\"./sr\": 40732,\n\t\"./sr-cyrl\": 75713,\n\t\"./sr-cyrl.js\": 75713,\n\t\"./sr.js\": 40732,\n\t\"./ss\": 99455,\n\t\"./ss.js\": 99455,\n\t\"./sv\": 69770,\n\t\"./sv.js\": 69770,\n\t\"./sw\": 80959,\n\t\"./sw.js\": 80959,\n\t\"./ta\": 36459,\n\t\"./ta.js\": 36459,\n\t\"./te\": 25302,\n\t\"./te.js\": 25302,\n\t\"./tet\": 67975,\n\t\"./tet.js\": 67975,\n\t\"./tg\": 71294,\n\t\"./tg.js\": 71294,\n\t\"./th\": 2385,\n\t\"./th.js\": 2385,\n\t\"./tk\": 24613,\n\t\"./tk.js\": 24613,\n\t\"./tl-ph\": 58668,\n\t\"./tl-ph.js\": 58668,\n\t\"./tlh\": 58190,\n\t\"./tlh.js\": 58190,\n\t\"./tr\": 74506,\n\t\"./tr.js\": 74506,\n\t\"./tzl\": 63440,\n\t\"./tzl.js\": 63440,\n\t\"./tzm\": 69852,\n\t\"./tzm-latn\": 42350,\n\t\"./tzm-latn.js\": 42350,\n\t\"./tzm.js\": 69852,\n\t\"./ug-cn\": 70730,\n\t\"./ug-cn.js\": 70730,\n\t\"./uk\": 40099,\n\t\"./uk.js\": 40099,\n\t\"./ur\": 72100,\n\t\"./ur.js\": 72100,\n\t\"./uz\": 96002,\n\t\"./uz-latn\": 26322,\n\t\"./uz-latn.js\": 26322,\n\t\"./uz.js\": 96002,\n\t\"./vi\": 14207,\n\t\"./vi.js\": 14207,\n\t\"./x-pseudo\": 24674,\n\t\"./x-pseudo.js\": 24674,\n\t\"./yo\": 10570,\n\t\"./yo.js\": 10570,\n\t\"./zh-cn\": 73644,\n\t\"./zh-cn.js\": 73644,\n\t\"./zh-hk\": 22591,\n\t\"./zh-hk.js\": 22591,\n\t\"./zh-mo\": 89503,\n\t\"./zh-mo.js\": 89503,\n\t\"./zh-tw\": 88080,\n\t\"./zh-tw.js\": 88080\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;","export async function loadFonts() {\n\tconst webFontLoader = await import('webfontloader')\n\n\twebFontLoader.load({\n\t\tgoogle: {\n\t\t\tfamilies: ['Roboto:100,300,400,500,700,900&display=swap']\n\t\t}\n\t})\n}\n","import { createVuetify } from \"vuetify\"\nimport \"@mdi/font/css/materialdesignicons.css\"\nimport \"vuetify/styles\"\n\nexport default createVuetify()","import { Quill } from '@vueup/vue-quill'\n\nexport function registerQuillUrlSanitizer() {\n const Link = Quill.import('formats/link')\n\n // Extend the protocol whitelist\n Link.PROTOCOL_WHITELIST.push('smb', 'fmp', 'radar', 'rdar', 'sms', '\\\\')\n\n class CustomLinkSanitizer extends Link {\n static sanitize(url) {\n const sanitizedUrl = super.sanitize(url)\n\n if (!sanitizedUrl || sanitizedUrl === 'about:blank') return sanitizedUrl\n\n const protocolWhitelist = Link.PROTOCOL_WHITELIST\n const hasWhitelistedProtocol = protocolWhitelist.some(protocol => sanitizedUrl.startsWith(protocol))\n\n if (hasWhitelistedProtocol) return sanitizedUrl\n\n return `https://${sanitizedUrl}`\n } \n }\n\n Quill.register('formats/link', CustomLinkSanitizer, true)\n}","\n\n","\n\n","export default {\n\tmounted() {\n\t\twindow.addEventListener('keydown', this.handleKeyDown)\n\t},\n\n\tmethods: {\n\t\thandleKeyDown(event) {\n\t\t\t// if (event.keyCode === 27) this.closeModal()\n\t\t\tif (event.keyCode === 27) this.visible = false\n\t\t}\n\t},\n}","import { render } from \"./z-delete-team-modal.vue?vue&type=template&id=67985565\"\nimport script from \"./z-delete-team-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-delete-team-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./z-team-modal.vue?vue&type=template&id=3218e2d8\"\nimport script from \"./z-team-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-team-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./z-delete-task-modal.vue?vue&type=template&id=69a1b060\"\nimport script from \"./z-delete-task-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-delete-task-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n","import { render } from \"./z-delete-timeblock-modal.vue?vue&type=template&id=4aa4bee3&scoped=true\"\nimport script from \"./z-delete-timeblock-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-delete-timeblock-modal.vue?vue&type=script&lang=js\"\n\nimport \"./z-delete-timeblock-modal.vue?vue&type=style&index=0&id=4aa4bee3&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4aa4bee3\"]])\n\nexport default __exports__","\n\n\n\n\n","\n\n\n\n","import { render } from \"./z-files-upload.vue?vue&type=template&id=a2a40214&scoped=true\"\nimport script from \"./z-files-upload.vue?vue&type=script&lang=js\"\nexport * from \"./z-files-upload.vue?vue&type=script&lang=js\"\n\nimport \"./z-files-upload.vue?vue&type=style&index=0&id=a2a40214&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-a2a40214\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./a-task-timeblocks.vue?vue&type=template&id=7761eb90\"\nimport script from \"./a-task-timeblocks.vue?vue&type=script&lang=js\"\nexport * from \"./a-task-timeblocks.vue?vue&type=script&lang=js\"\n\nimport \"./a-task-timeblocks.vue?vue&type=style&index=0&id=7761eb90&lang=sass\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","export default {\n\t// Mixin to fix autofocus on v-input in modals where date selects are used\n\tdata() {\n\t\treturn {\n\t\t\tpreventInputFocus: false\n\t\t}\n\t},\n\n\tmethods: {\n\t\tsetFocusEvent() {\n\t\t\tdocument.querySelectorAll('.v-autocomplete input').forEach(input => {\n\t\t\t\tinput.addEventListener('focus', this.onInputFocus)\n\t\t\t})\n\t\t},\n\n\t\tonDateFocus($event) {\n\t\t\tif ($event == undefined) {\n\t\t\t\tthis.preventInputFocus = true\n\t\t\t}\n\t\t},\n\n\t\tonInputFocus($event) {\n\t\t\tif (this.preventInputFocus) {\n\t\t\t\t$event.target.blur()\n\t\t\t\tthis.preventInputFocus = false\n\t\t\t}\n\t\t}\n\t}\n}","export default {\n\tcomputed: {\n\t\temployeesOptions() {\n\t\t\tconst selectedEmployees = [...this.mastertask.employees].map(employee => employee.id)\n\n\t\t\treturn this.enrichedEmployees.filter(\n\t\t\t\t(employee) => !selectedEmployees.includes(employee.id)\n\t\t\t) || []\n\t\t},\n\n\t\tprojectsOptions() {\n\t\t\t// Added to \"paginate\" projects, because v-autocomplete was unable to handle so many projects at once\n\n\t\t\tconst pattern = /[^a-zA-Z0-9 ]/g\n\n\t\t\tconst normalizedInput = this.projectCodeSearch\n\t\t\t\t? this.projectCodeSearch.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '').replace(pattern, '')\n\t\t\t\t: ''\n\n\t\t\tconst projects = this.projects.filter(project => {\n\t\t\t\tconst normalizedProjectCode = project.code.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '').replace(pattern, '')\n\t\t\t\treturn normalizedProjectCode.toLowerCase().includes(normalizedInput.toLowerCase())\n\t\t\t})\n\n\t\t\tlet filteredProjects \t= projects?.length ? projects.slice(0, 10) : this.projects.slice(0, 10)\n\n\t\t\tif (!this.mastertask?.project_id)\n\t\t\t\treturn filteredProjects\n\n\t\t\tconst selectedProject \t= this.projects.find(project => project.id == this.mastertask?.project_id)\n\t\t\tfilteredProjects \t\t= filteredProjects.filter(project => project.id != selectedProject.id)\n\n\t\t\treturn [...filteredProjects, selectedProject]\n\t\t}\n\t},\n\n\tmethods: {\n\t\t// onProjectSelected(id) {\n\t\t// \tconst project = this.projects.find(project => project.id == id)\n\t\t// \tthis.mastertask.project_code = project.code\n\t\t// \tthis.mastertask.project_id \t = project.id\n\t\t// },\n\n\t\tonEmployeeSelected(id) {\n\t\t\tconst employee = this.enrichedEmployees.find(employee => employee.id == id)\n\t\t\tthis.mastertask.employees.push(employee)\n\t\t\tthis.showAddEmployeeInput = false\n\t\t},\n\n\t\tonEmployeeDurationChanged() {\n\t\t\tlet totalDuration = 0\n\n\t\t\tthis.mastertask.employees = this.mastertask.employees.map(employee => {\n\t\t\t\tif (typeof employee.duration == 'string') {\n\t\t\t\t\ttotalDuration += parseFloat(employee.duration)\n\t\t\t\t\temployee.duration = parseFloat(employee.duration)\n\t\t\t\t\temployee.invalid = false\n\t\t\t\t}\n\t\t\t\telse if (typeof employee.duration == 'number') {\n\t\t\t\t\ttotalDuration += employee.duration\n\t\t\t\t\temployee.invalid = false\n\t\t\t\t}\n\n\t\t\t\treturn employee\n\t\t\t})\n\n\t\t\tthis.mastertask.duration = totalDuration\n\t\t}\n\t},\n\n\twatch: {\n\t\t'mastertask.team_id'(value) {\n\t\t\tif (!value) return\n\t\t\t\n\t\t\tconst team = this.teams.find(team => team.id == value)\n\t\t\tif (!team) return\n\n\t\t\tthis.mastertask.team \t\t= JSON.parse(JSON.stringify(team))\n\t\t\tthis.mastertask.employees = [...this.mastertask.team.employees]\n\t\t},\n\t}\n}","\n\n\n","\n\n\n","import { render } from \"./a-mastertask-name.vue?vue&type=template&id=154bd9ae\"\nimport script from \"./a-mastertask-name.vue?vue&type=script&lang=js\"\nexport * from \"./a-mastertask-name.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./a-mastertask-status.vue?vue&type=template&id=40b1e729\"\nimport script from \"./a-mastertask-status.vue?vue&type=script&lang=js\"\nexport * from \"./a-mastertask-status.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./z-created-by.vue?vue&type=template&id=76476816\"\nimport script from \"./z-created-by.vue?vue&type=script&lang=js\"\nexport * from \"./z-created-by.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./a-task-assigned-employee.vue?vue&type=template&id=e04c27ce\"\nimport script from \"./a-task-assigned-employee.vue?vue&type=script&lang=js\"\nexport * from \"./a-task-assigned-employee.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./a-task-planned-time.vue?vue&type=template&id=5c6a17d5\"\nimport script from \"./a-task-planned-time.vue?vue&type=script&lang=js\"\nexport * from \"./a-task-planned-time.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n","import { render } from \"./a-task-spent-time.vue?vue&type=template&id=f216d188&scoped=true\"\nimport script from \"./a-task-spent-time.vue?vue&type=script&lang=js\"\nexport * from \"./a-task-spent-time.vue?vue&type=script&lang=js\"\n\nimport \"./a-task-spent-time.vue?vue&type=style&index=0&id=f216d188&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-f216d188\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./a-task-remaining-time.vue?vue&type=template&id=76900acb\"\nimport script from \"./a-task-remaining-time.vue?vue&type=script&lang=js\"\nexport * from \"./a-task-remaining-time.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./a-task-deadline.vue?vue&type=template&id=1d87e2c9\"\nimport script from \"./a-task-deadline.vue?vue&type=script&lang=js\"\nexport * from \"./a-task-deadline.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { useToast } from 'vue-toast-notification';\nconst toast = useToast();\n\ndeclare global {\n interface Window {\n\ttoast: typeof toast;\n }\n}\n\nwindow.toast = toast;\n\nexport function detectOS() {\n\tconst platform = window.navigator.platform\n\tconst macosPlatforms = ['Macintosh', 'MacIntel', 'MacPPC', 'Mac68K']\n\tconst windowsPlatforms = ['Win32', 'Win64', 'Windows', 'WinCE']\n\n\tif (macosPlatforms.indexOf(platform) !== -1) {\n\t\treturn 'mac'\n\t} else if (windowsPlatforms.indexOf(platform) !== -1) {\n\t\treturn 'win'\n\t}\n\treturn 'win'\n}\n\nexport function prepareHTMLDescription(description) {\n\tif (!description) return description\n\n\tconst os = detectOS()\n\n\tif (os === 'mac') {\n\t\tdescription = description.replace(/\\\\\\\\/g, 'smb://')\n\n\t\t// find all smb links and replace them with clickable links, separated by ' ', '<', '>', '\"', and '(', ')' characters\n\t\tdescription = description = description.replace(/(smb:\\/\\/[^\\s<>\"()]+)/g, function(match) {\n\t\t\treturn '' + match.replace(/\\\\/g, '/') + ''\n\t\t})\n\t} else {\n\t\tdescription = description.replace(/smb:\\/\\//g, '\\\\\\\\')\n\n\t\t\n\t\t// find all windows links and replace them with clickable links, separated by ' ', '<', '>', '\"', and '(', ')' characters\n\t\tdescription = description.replace(/(\\\\\\\\[^\\s<>\"()]+)/g, function(match) {\n\t\t\tmatch = match.replaceAll('/', '\\\\')\n\t\t\treturn '' + match + '';\n\t\t});\n\t}\n\n\treturn description;\n}\n\nfunction getCopyFunction(text) {\n\treturn `\n\t\tif (navigator.clipboard && navigator.clipboard.writeText) {\n\t\t\tnavigator.clipboard.writeText('${text.replace(/\\\\/g, '\\\\\\\\')}').then(() => {\n\t\t\t\twindow.toast.success('Link copied to clipboard!')\n\t\t\t}).catch(err => {\n\t\t\t\twindow.toast.error('Failed to copy link to clipboard!')\n\t\t\t});\n\t\t} else {\n\t\t\tconst input = document.createElement('input');\n\t\t\tinput.style.position = 'fixed';\n\t\t\tinput.style.opacity = 0;\n\t\t\tinput.style.pointerEvents = 'none';\n\t\t\tinput.value = '${text.replace(/\\\\/g, '\\\\\\\\')}';\n\t\t\tdocument.body.appendChild(input);\n\t\t\tinput.select();\n\t\t\tinput.focus();\n\t\t\tdocument.execCommand('copy');\n\t\t\tdocument.body.removeChild(input);\n\t\t\twindow.toast.success('Link copied to clipboard!')\n\t\t}\n\t`\n}","import { render } from \"./a-task-description.vue?vue&type=template&id=37e8334d\"\nimport script from \"./a-task-description.vue?vue&type=script&lang=js\"\nexport * from \"./a-task-description.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n","import { render } from \"./z-files.vue?vue&type=template&id=f01fa1ac&scoped=true\"\nimport script from \"./z-files.vue?vue&type=script&lang=js\"\nexport * from \"./z-files.vue?vue&type=script&lang=js\"\n\nimport \"./z-files.vue?vue&type=style&index=0&id=f01fa1ac&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-f01fa1ac\"]])\n\nexport default __exports__","import { render } from \"./z-task-readonly-info.vue?vue&type=template&id=ed26273c\"\nimport script from \"./z-task-readonly-info.vue?vue&type=script&lang=js\"\nexport * from \"./z-task-readonly-info.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\ne","import { render } from \"./a-timeblock.vue?vue&type=template&id=031787aa&scoped=true\"\nimport script from \"./a-timeblock.vue?vue&type=script&lang=js\"\nexport * from \"./a-timeblock.vue?vue&type=script&lang=js\"\n\nimport \"./a-timeblock.vue?vue&type=style&index=0&id=031787aa&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-031787aa\"]])\n\nexport default __exports__","import { render } from \"./z-task-modal.vue?vue&type=template&id=5102a689&scoped=true\"\nimport script from \"./z-task-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-task-modal.vue?vue&type=script&lang=js\"\n\nimport \"./z-task-modal.vue?vue&type=style&index=0&id=5102a689&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-5102a689\"]])\n\nexport default __exports__","\n\n","import { render } from \"./z-delete-blocker-modal.vue?vue&type=template&id=fe8d1392\"\nimport script from \"./z-delete-blocker-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-delete-blocker-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./z-complete-task-modal.vue?vue&type=template&id=e0b2ec2c\"\nimport script from \"./z-complete-task-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-complete-task-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./z-complete-master-task-modal.vue?vue&type=template&id=62a2645e\"\nimport script from \"./z-complete-master-task-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-complete-master-task-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./z-task-add-time-modal.vue?vue&type=template&id=7cc49c67\"\nimport script from \"./z-task-add-time-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-task-add-time-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./z-blocker-modal.vue?vue&type=template&id=1ca4825a\"\nimport script from \"./z-blocker-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-blocker-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./z-delete-master-task-modal.vue?vue&type=template&id=9419f686\"\nimport script from \"./z-delete-master-task-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-delete-master-task-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","\n\n\n\n\n","import { render } from \"./a-tasks-table.vue?vue&type=template&id=753dec0e&scoped=true\"\nimport script from \"./a-tasks-table.vue?vue&type=script&lang=js\"\nexport * from \"./a-tasks-table.vue?vue&type=script&lang=js\"\n\nimport \"./a-tasks-table.vue?vue&type=style&index=0&id=753dec0e&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-753dec0e\"]])\n\nexport default __exports__","\n\n\n","\n\n","import { render } from \"./z-deadline.vue?vue&type=template&id=13a73f8f\"\nimport script from \"./z-deadline.vue?vue&type=script&lang=js\"\nexport * from \"./z-deadline.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./z-description.vue?vue&type=template&id=09dc9550\"\nimport script from \"./z-description.vue?vue&type=script&lang=js\"\nexport * from \"./z-description.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./z-planned-time.vue?vue&type=template&id=0c44c1d0\"\nimport script from \"./z-planned-time.vue?vue&type=script&lang=js\"\nexport * from \"./z-planned-time.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./z-remaining-time.vue?vue&type=template&id=759929d5\"\nimport script from \"./z-remaining-time.vue?vue&type=script&lang=js\"\nexport * from \"./z-remaining-time.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./z-spent-time.vue?vue&type=template&id=cc4966e2\"\nimport script from \"./z-spent-time.vue?vue&type=script&lang=js\"\nexport * from \"./z-spent-time.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./z-status.vue?vue&type=template&id=5a460912\"\nimport script from \"./z-status.vue?vue&type=script&lang=js\"\nexport * from \"./z-status.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./z-team.vue?vue&type=template&id=3dfe3a63\"\nimport script from \"./z-team.vue?vue&type=script&lang=js\"\nexport * from \"./z-team.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./z-estimated-duration.vue?vue&type=template&id=5c7dad8e\"\nimport script from \"./z-estimated-duration.vue?vue&type=script&lang=js\"\nexport * from \"./z-estimated-duration.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./a-mastertask-description.vue?vue&type=template&id=2ed63137\"\nimport script from \"./a-mastertask-description.vue?vue&type=script&lang=js\"\nexport * from \"./a-mastertask-description.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./z-master-task-modal.vue?vue&type=template&id=4b1eca40&scoped=true\"\nimport script from \"./z-master-task-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-master-task-modal.vue?vue&type=script&lang=js\"\n\nimport \"./z-master-task-modal.vue?vue&type=style&index=0&id=4b1eca40&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4b1eca40\"]])\n\nexport default __exports__","\r\n\r\n","import { render } from \"./z-delete-team-member-modal.vue?vue&type=template&id=554335ff\"\nimport script from \"./z-delete-team-member-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-delete-team-member-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./z-show-menu-modal.vue?vue&type=template&id=1399b161\"\nimport script from \"./z-show-menu-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-show-menu-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./z-unable-to-edit-office-task-modal.vue?vue&type=template&id=4cd44904\"\nimport script from \"./z-unable-to-edit-office-task-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-unable-to-edit-office-task-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n","import { render } from \"./z-unable-to-complete-task-modal.vue?vue&type=template&id=3c7fa7bc&scoped=true\"\nimport script from \"./z-unable-to-complete-task-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-unable-to-complete-task-modal.vue?vue&type=script&lang=js\"\n\nimport \"./z-unable-to-complete-task-modal.vue?vue&type=style&index=0&id=3c7fa7bc&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3c7fa7bc\"]])\n\nexport default __exports__","import { render } from \"./App.vue?vue&type=template&id=0c83946b\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createStore } from \"vuex\";\n\nexport default createStore({\n state: {},\n getters: {},\n mutations: {},\n actions: {},\n modules: {},\n});","import { createRouter, createWebHashHistory, RouteRecordRaw } from 'vue-router'\nimport store from '@/store'\n\nconst routes: Array = [\n\t{\n\t\tpath: '',\n\t\tredirect: '/auth'\n\t},\n\t{\n\t\tpath: '/auth/',\n\t\tcomponent: () => import('@/plugins/app/_layout/auth/auth.layout.vue'),\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tpath: '',\n\t\t\t\tredirect: '/auth/login'\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: '/auth/login',\n\t\t\t\tname: 'Login',\n\t\t\t\tcomponent: () => import('@/plugins/lib@auth/login/login.vue'),\n\t\t\t\tmeta: {requiresAuth: false}\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: '/auth/forgot-password',\n\t\t\t\tname: 'Forgot password',\n\t\t\t\tcomponent: () => import('@/plugins/lib@auth/forgot-password/forgot-password.vue'),\n\t\t\t\tmeta: {requiresAuth: false}\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: '/auth/forgot-success',\n\t\t\t\tname: 'Forgot success',\n\t\t\t\tcomponent: () => import('@/plugins/lib@auth/forgot-success/forgot-success.vue'),\n\t\t\t\tmeta: {requiresAuth: false}\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: '/auth/reset-password',\n\t\t\t\tname: 'Reset password',\n\t\t\t\tcomponent: () => import('@/plugins/lib@auth/reset-password/reset-password.vue'),\n\t\t\t\tmeta: {requiresAuth: null}\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tpath: '/app',\n\t\tcomponent: () => import('@/plugins/app/_layout/app/app.layout.vue'),\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tpath: '',\n\t\t\t\tredirect: '/app/dashboard'\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: '/app/dashboard',\n\t\t\t\tredirect: '/app/dashboard/tasks',\n\t\t\t\tchildren: [\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/dashboard/tasks',\n\t\t\t\t\t\tname: 'Dashboard - Tasks',\n\t\t\t\t\t\tmeta: { title: 'Sub Tasks', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/tm@dashboard/tasks/tasks.vue')\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/dashboard/teams',\n\t\t\t\t\t\tname: 'Dashboard - Teams',\n\t\t\t\t\t\tmeta: { title: 'Teams Overview', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/tm@dashboard/teams/teams.vue')\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/dashboard/projects',\n\t\t\t\t\t\tname: 'Dashboard - Projects',\n\t\t\t\t\t\tmeta: { title: 'Projects overview', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/tm@dashboard/projects/projects.vue')\n\t\t\t\t\t},\n\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/overview/unscheduled',\n\t\t\t\t\t\tname: 'Overview - Unscheduled tasks',\n\t\t\t\t\t\tmeta: { title: 'Unscheduled Sub Tasks', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/tm@overview/tasks-unscheduled/tasks-unscheduled.vue')\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/overview/ongoing',\n\t\t\t\t\t\tname: 'Overview - Ongoing tasks',\n\t\t\t\t\t\tmeta: { title: 'Ongoing Sub Tasks', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/tm@overview/tasks-ongoing/tasks-ongoing.vue')\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/overview/teams',\n\t\t\t\t\t\tname: 'Overview - Teams',\n\t\t\t\t\t\tmeta: { title: 'Teams', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/tm@overview/teams/teams.vue')\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/dashboard/user',\n\t\t\t\t\t\tname: 'Dashboard - User',\n\t\t\t\t\t\tmeta: { title: 'Profile', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/tm@profile/profile/my-profile.vue')\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/search',\n\t\t\t\t\t\tname: 'Search',\n\t\t\t\t\t\tmeta: { title: 'Search Results', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/lib@search/search/search.vue')\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tpath: '/:catchAll(.*)',\n\t\tname: '404',\n\t\tcomponent: () => import('@/plugins/w@screen/404/404.vue'),\n\t\tmeta: {requiresAuth: null}\n\t}\n]\n\nconst router = createRouter({\n\thistory: createWebHashHistory(process.env.BASE_URL),\n\troutes\n})\n\nrouter.beforeEach((to, from, next) => {\n\tconst isLoggedIn = store.getters['auth/isLoggedIn']\n\n\tif (to.meta.requiresAuth === true) {\n\t\tif (isLoggedIn)\n\t\t\treturn next()\n\t\telse\n\t\t\treturn next({name: 'Login'})\n\t} else if (to.meta.requiresAuth === false) {\n\t\tif (!isLoggedIn)\n\t\t\treturn next()\n\t\telse\n\t\t\treturn next({name: 'Dashboard - Tasks'})\n\t} else {\n\t\treturn next()\n\t}\n})\n\nexport default router\n","import axios from 'axios'\nimport store from '@/store'\n\naxios.defaults.baseURL = process.env.VUE_APP_WAXIOS_URL\n\nexport default {\n\tasync get(url: string, config?: any) {\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync get_auth(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync get_data(url: string, config?: any) {\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync get_auth_data(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => Promise.resolve(response.data.data))\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync post(url: string, params = null, config?: any) {\n\n\t\treturn axios.post(url, params, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync post_auth(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.post(url, params, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync post_data(url: string, params = null, config?: any) {\n\n\t\treturn axios.post(url, params, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync post_auth_data(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.post(url, params, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync delete(url: string, config?: any) {\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync delete_auth(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync delete_data(url: string, config?: any) {\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync delete_auth_data(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync patch(url: string, params = null, config?: any) {\n\t\treturn axios.patch(url, params, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync patch_auth(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.patch(url, params, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync patch_data(url: string, params = null, config?: any) {\n\t\treturn axios.patch(url, params, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync patch_auth_data(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.patch(url, params, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync put(url: string, params = null, config?: any) {\n\t\treturn axios.put(url, params, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync put_auth(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.put(url, params, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync put_data(url: string, params = null, config?: any) {\n\t\treturn axios.put(url, params, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync put_auth_data(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.put(url, params, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\t_config(config: any) {\n\t\tif (config) console.error('NOT IMPLEMENTED')\n\n\t\tif (!store.getters['auth/token']) {\n\t\t\treturn {headers: {}}\n\t\t}\n\n\t\treturn {\n\t\t\theaders: {\n\t\t\t\tAuthorization: `Bearer ${store.getters['auth/token']}`\n\t\t\t}\n\t\t}\n\t}\n}","import { App } \t\tfrom 'vue'\nimport { Options } \tfrom './types'\nimport axios \t\tfrom './models/axios'\n\nexport default {\n\tinstall: (app: App, options: Options) => {\n\t\tif (options && options.disabled === true) return\n\n\t\tapp.config.globalProperties.$axios = axios\n\t}\n}","export const encodeGetParams = p =>\n\tObject.entries(p).map(kv => kv.map(encodeURIComponent).join('=')).join('&')\n\nexport function strToRegex(s) {\n\tlet re = s\n\tre = re.replace(/\\//g, '\\\\/')\n\tre = re.replace(/\\./g, '\\\\.')\n\tre = re.replace(/\\([^)]+\\)/g, '[^/]+')\n\treturn re\n}\n","import axios from 'axios'\nimport { encodeGetParams, strToRegex } from '../utils/moxios.util'\n\nexport class Moxios {\n\t_mocks = {}\n\n\tconstructor() {\n\t\taxios.interceptors.request.use(this._redirectRequestToMock.bind(this))\n\t\tthis._mocks = {}\n\t}\n\n\tmock(append) {\n\t\tfor (const k in append) {\n\t\t\tlet m = append[k]\n\n\t\t\tif (m === false) continue\n\n\t\t\tm = {}\n\n\t\t\tm.name = k\n\t\t\tm.url = k.split(' ')[1]\n\n\t\t\tif (!m.reUrl)\n\t\t\t\tm.reUrl = strToRegex( m.url )\n\n\t\t\tif (!m.matchMethod)\n\t\t\t\tm.matchMethod = k.split(' ')[0].toLowerCase()\n\n\t\t\tthis._mocks[k] = m\n\t\t}\n\t}\n\n\n\t_redirectRequestToMock(config) {\n\t\t// if (localStorage['isMoxios'] == 'false') {\n\t\t// \treturn config\n\t\t// }\n\n\t\tconst url = config.url.replace(/https?:\\/\\/[^/?]+/, '')\n\n\t\tlet mocked\n\n\t\tfor (const k in this._mocks) {\n\t\t\tconst m = this._mocks[k]\n\n\t\t\tif (config.method == m.matchMethod && url.match(m.reUrl)) {\n\t\t\t\tmocked = m\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\n\t\tif (mocked) {\n\t\t\tif (!mocked.fname)\n\t\t\t\tprocess.env.VUE_APP_PLATFORM\n\t\t\t\t\t? mocked.fname = `/mock/${process.env.VUE_APP_PLATFORM}/${mocked.url}.${config.method.toUpperCase()}.json`\n\t\t\t\t\t: mocked.fname = `/mock/${mocked.url}.${config.method.toUpperCase()}.json`\n\n\n\t\t\tconsole.log(mocked.fname = `/mock/${mocked.url}.${config.method.toUpperCase()}.json`)\n\n\t\t\tconst c = {\n\t\t\t\tmethod: 'get',\n\t\t\t\turl: window.location.origin + mocked.fname+'?___MOCK___&'+encodeGetParams(config.data||{}),\n\t\t\t}\n\n\t\t\tconfig = {...config, ...c}\n\t\t}\n\n\t\treturn config\n\t}\n\n}\n\n","import { App } \t\tfrom 'vue'\nimport { Moxios } \tfrom './models/moxios'\nimport { Options } \tfrom './types/index.js'\n\nexport default {\n\tinstall: (app: App, options: Options) => {\n\t\tconst moxios = new Moxios()\n\n\t\tif (!options || !options.routes || !Object.values(options.routes).length || options.disabled === true) return\n\n\t\tmoxios.mock(options.routes)\n\t}\n}","import { Options } \tfrom './types'\nimport mitt \t\tfrom 'mitt'\n\nexport default {\n\tinstall: (app, options: Options) => {\n\t\tif (options && options.disabled === true) return\n\n\t\tconst events = mitt()\n\t\tapp.config.globalProperties.$events = events\n\t}\n}","import { Language, Options } from \"../types\"\nimport { Ref, ref } from 'vue'\nimport axios from 'axios'\nimport { createI18n, I18n as I18nType } from 'vue-i18n'\nimport { Preferences } from '@capacitor/preferences'\n\n\nexport class I18n {\n\tpublic currentLanguage: Ref = ref();\n\tpublic availableLanguages: Language[];\n\tpublic vendorI18n: I18nType\n\tpublic defaultLanguage: Language | null;\n\n\tprivate languageKey: string;\n\n\tconstructor(properties: Options) {\n\t\tthis.availableLanguages = properties.languages || []\n\t\tthis.defaultLanguage = properties.languages.find(language => language.value == properties.defaultLanguage)\n\t\tthis.languageKey = properties.languageKey || process.env.VUE_APP_PLATFORM + '_language' || 'w18n_language'\n\n\t\tthis.vendorI18n = createI18n({\n\t\t\tlegacy: true,\n\t\t\tfallbackLocale: this.defaultLanguage.value,\n\t\t\tmessages: this._loadLocaleMessages(),\n\t\t\tmissing: this._missingTranslation,\n\t\t\tpostTranslation: this._postTranslation,\n\t\t})\n\n\t\tthis.changeLanguage({ title: \"Slovenský\", flag: \"sk\", value: \"sk\" })\n\t\tthis.initCurrentLanguage()\n\t}\n\n\tpublic async initCurrentLanguage() {\n\t\tconst { value } = await Preferences.get({ key: this.languageKey })\n\n\t\tif (value) {\n\t\t\tthis.currentLanguage.value = JSON.parse(value)\n\t\t} else if (this.defaultLanguage) {\n\t\t\tthis.currentLanguage.value = this.defaultLanguage\n\t\t} else if (this.availableLanguages[0]) {\n\t\t\tthis.currentLanguage.value = this.availableLanguages[0]\n\t\t} else {\n\t\t\treturn console.error('[w18n] Could not init current language')\n\t\t}\n\n\t\tconst availableLanguages = {}\n\n\t\tthis.availableLanguages.forEach(language => {\n\t\t\tavailableLanguages[language.value] = language.title\n\t\t})\n\n\t\tthis.changeLanguage(this.currentLanguage.value)\n\t\t// Translations.setup(this.currentLanguage.value.value, availableLanguages)\n\n\t\tthis._addAxiosHeaders()\n\t}\n\n\tpublic changeLanguage(language: Language) {\n\t\tthis.currentLanguage.value = language\n\t\tthis._addAxiosHeaders()\n\n\t\tPreferences.set({\n\t\t\tkey: this.languageKey,\n\t\t\tvalue: JSON.stringify(language)\n\t\t})\n\n\t\tthis.vendorI18n.global.locale = language.value\n\t}\n\n\n\tprivate _addAxiosHeaders() {\n\t\taxios.interceptors.request.use(config => {\n\t\t\tif (this.currentLanguage.value && this.currentLanguage.value.value) {\n\t\t\t\tconfig.headers['Accept-Language'] = this.currentLanguage.value.value\n\t\t\t}\n\n\t\t\treturn config\n\t\t})\n\n\t\taxios.interceptors.response.use(\n\t\t\t(response) => {\n\t\t\t\treturn response\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\treturn Promise.reject(error?.response || error)\n\t\t\t}\n\t\t)\n\t}\n\n\tpublic _loadLocaleMessages(path = '@/locales') {\n\t\tlet locales\n\t\ttry {\n\t\t\tlocales = require.context(\n\t\t\t\t'@/locales',\n\t\t\t\ttrue,\n\t\t\t\t/[A-Za-z0-9-_,\\s]+\\.json$/i\n\t\t\t)\n\t\t} catch (error) {\n\t\t\tconsole.warn('[@wezeo/i18n] Could not initialize i18n. Missing folder /src/locales.')\n\t\t\treturn {}\n\t\t}\n\n\t\tconst messages: { [key: string]: { [key: string]: string } } = {}\n\n\t\tlocales.keys().forEach((key) => {\n\t\t\tconst matched = key.match(/([A-Za-z0-9-_]+)\\./i)\n\t\t\tif (matched && matched.length > 1) {\n\t\t\t\tconst locale = matched[1]\n\n\t\t\t\tmessages[locale] = locales(key)\n\t\t\t}\n\t\t})\n\t\treturn messages\n\t}\n\n\tprivate _missingTranslation = (locale, key, instance?, type?) => {\n\t\treturn key\n\t}\n\n\tprivate _postTranslation = (translated) => {\n\t\treturn translated\n\t}\n}\n","import { Options } \tfrom './types'\nimport { I18n } \tfrom './models/i18n'\nimport events \t\tfrom '@/plugins/w/events'\n\nexport default {\n\tinstall: (app, options: Options) => {\n\t\tif (options && options.disabled === true)\n\t\t\treturn\n\n\t\tif (!options || !options.languages || !options.defaultLanguage)\n\t\t\treturn console.warn('[@wezeo/i18n] Could not initialize i18n. Missing configuration options.')\n\n\t\tif (!app.config.globalProperties.$events) {\n\t\t\tapp.use(events)\n\t\t}\n\n\t\tconst i18n = new I18n(options)\n\n\t\tapp.use(i18n.vendorI18n)\n\t\tapp.config.globalProperties.$w18n = i18n\n\t}\n}","import { App } \t\tfrom 'vue'\nimport { Options } \tfrom './types'\n\n\nimport {\n\tIonContent, IonPage, IonLabel, IonBackButton, IonCheckbox, IonText, IonButton, IonItem,\n\tIonToolbar, IonHeader, IonFooter, IonSlides, IonSlide, IonRow, IonCol, IonGrid, IonInput, IonButtons,\n\tIonIcon, IonList, IonTitle, IonMenu, IonRouterOutlet, IonMenuButton, IonSegment, IonSegmentButton, IonVirtualScroll,\n\tIonTextarea, IonSearchbar, IonRefresherContent, IonRefresher, IonInfiniteScrollContent, IonInfiniteScroll, IonAvatar,\n\tIonModal, IonRadioGroup, IonRadio, IonNote, IonCard, IonCardContent, IonTabBar, IonTabButton, IonMenuToggle, IonFab,\n\tIonFabButton, IonReorderGroup, IonReorder, IonFabList, IonSelect, IonSelectOption, IonToggle, IonBadge, IonChip, IonTabs, IonItemGroup, IonThumbnail, IonItemSliding, IonItemOption, IonItemOptions, IonImg, IonSkeletonText, IonSpinner, IonSplitPane\n} from '@ionic/vue'\n\nexport default {\n\tinstall: (app: App, options: Options) => {\n\t\tif (options && options.disabled === true) return\n\n\t\tapp.component('ion-content', IonContent)\n\t\tapp.component('ion-page', IonPage)\n\t\tapp.component('ion-label', IonLabel)\n\t\tapp.component('ion-back-button', IonBackButton)\n\t\tapp.component('ion-checkbox', IonCheckbox)\n\t\tapp.component('ion-text', IonText)\n\t\tapp.component('ion-button', IonButton)\n\t\tapp.component('ion-item', IonItem)\n\t\tapp.component('ion-item-group', IonItemGroup)\n\t\tapp.component('ion-item-sliding', IonItemSliding)\n\t\tapp.component('ion-item-option', IonItemOption)\n\t\tapp.component('ion-item-options', IonItemOptions)\n\t\tapp.component('ion-toolbar', IonToolbar)\n\t\tapp.component('ion-header', IonHeader)\n\t\tapp.component('ion-footer', IonFooter)\n\t\tapp.component('ion-slides', IonSlides)\n\t\tapp.component('ion-slide', IonSlide)\n\t\tapp.component('ion-spinner', IonSpinner)\n\t\tapp.component('ion-row', IonRow)\n\t\tapp.component('ion-col', IonCol)\n\t\tapp.component('ion-grid', IonGrid)\n\t\tapp.component('ion-input', IonInput)\n\t\tapp.component('ion-buttons', IonButtons)\n\t\tapp.component('ion-icon', IonIcon)\n\t\tapp.component('ion-img', IonImg)\n\t\tapp.component('ion-list', IonList)\n\t\tapp.component('ion-skeleton-text', IonSkeletonText)\n\t\tapp.component('ion-title', IonTitle)\n\t\tapp.component('ion-menu', IonMenu),\n\t\tapp.component('ion-split-pane', IonSplitPane)\n\t\tapp.component('ion-menu-button', IonMenuButton)\n\t\tapp.component('ion-router-outlet', IonRouterOutlet)\n\t\tapp.component('ion-segment', IonSegment)\n\t\tapp.component('ion-segment-button', IonSegmentButton)\n\t\tapp.component('ion-virtual-scroll', IonVirtualScroll)\n\t\tapp.component('ion-textarea', IonTextarea)\n\t\tapp.component('ion-searchbar', IonSearchbar)\n\t\tapp.component('ion-refresher-content', IonRefresherContent)\n\t\tapp.component('ion-refresher', IonRefresher)\n\t\tapp.component('ion-infinite-scroll-content', IonInfiniteScrollContent)\n\t\tapp.component('ion-infinite-scroll', IonInfiniteScroll)\n\t\tapp.component('ion-avatar', IonAvatar)\n\t\tapp.component('ion-thumbnail', IonThumbnail)\n\t\tapp.component('ion-modal', IonModal)\n\t\tapp.component('ion-radio-group', IonRadioGroup)\n\t\tapp.component('ion-radio', IonRadio)\n\t\tapp.component('ion-note', IonNote)\n\t\tapp.component('ion-card', IonCard)\n\t\tapp.component('ion-card-content', IonCardContent)\n\t\tapp.component('ion-tab-bar', IonTabBar)\n\t\tapp.component('ion-tab-button', IonTabButton),\n\t\tapp.component('ion-menu-toggle', IonMenuToggle)\n\t\tapp.component('ion-fab', IonFab)\n\t\tapp.component('ion-fab-button', IonFabButton)\n\t\tapp.component('ion-fab-list', IonFabList)\n\t\tapp.component('ion-reorder-group', IonReorderGroup)\n\t\tapp.component('ion-reorder', IonReorder)\n\t\tapp.component('ion-select', IonSelect)\n\t\tapp.component('ion-select-option', IonSelectOption)\n\t\tapp.component('ion-toggle', IonToggle)\n\t\tapp.component('ion-badge', IonBadge)\n\t\tapp.component('ion-chip', IonChip),\n\t\tapp.component('ion-tabs', IonTabs)\n\t}\n}","/* eslint-disable */\nimport axios from 'axios'\nimport store from '@/store'\n\nasync function _unauthorised(error: any) {\n\tif (error?.response?.data?.message == 'Unauthenticated.')\n\t\treturn store.dispatch('auth/logout')\n\t\n\treturn Promise.reject(error)\n}\n\naxios.interceptors.response.use(\n\t(response) => response,\n\t(error) => _unauthorised(error),\n)","import axios from '@/plugins/w/axios/models/axios'\nimport './refreshExpired'\n\nexport default {\n\tnamespaced: true,\n\tstate: {\n\t\ttoken: localStorage.getItem('wzo_vue_user_token') || '',\n\t\tuser: JSON.parse(localStorage.getItem('wzo_vue_user_user') || '{}'),\n\t},\n\tmutations: {\n\t\tauth_success(state: any, data: any) {\n\t\t\tif (data.token) {\n\t\t\t\tstate.token = data.token\n\t\t\t\tlocalStorage.setItem('wzo_vue_user_token', data.token)\n\t\t\t}\n\n\t\t\tif (data.user) {\n\t\t\t\tstate.user = data.user\n\t\t\t\tlocalStorage.setItem('wzo_vue_user_user', JSON.stringify(data.user))\n\t\t\t}\n\t\t},\n\t\tauth_error(state: any) {\n\t\t\tstate.token = ''\n\t\t\tlocalStorage.removeItem('wzo_vue_user_token')\n\t\t\tlocalStorage.removeItem('wzo_vue_user_user')\n\t\t},\n\t\tlogout(state: any) {\n\t\t\tstate.token = ''\n\t\t\tstate.user = null\n\t\t\tlocalStorage.removeItem('wzo_vue_user_token')\n\t\t\tlocalStorage.removeItem('wzo_vue_user_user')\n\t\t\twindow.open(location.origin, \"_self\")\n\t\t}\n\t},\n\tactions: {\n\t\tlogin({commit}: {commit: any}, credentials: any) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.post('v1/tokens/create', {data: credentials})\n\t\t\t\t\t.then((response: any) => {\n\t\t\t\t\t\tconst token = response.token\n\t\t\t\t\t\tconst user = response.user\n\n\t\t\t\t\t\tcommit('auth_success', {\n\t\t\t\t\t\t\ttoken: token,\n\t\t\t\t\t\t\tuser: user\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\tresolve(response)\n\t\t\t\t\t}).catch(error => {\n\t\t\t\t\t\tcommit('auth_error')\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\t\tsignup({commit }: {commit: any}, credentials: any) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\tcommit('auth_request')\n\n\t\t\t\taxios.post_data('v1/auth/signup', credentials)\n\t\t\t\t\t.then((response: any) => {\n\t\t\t\t\t\tconst token = response.token\n\t\t\t\t\t\tconst user = response.user\n\n\t\t\t\t\t\tcommit('auth_success', {\n\t\t\t\t\t\t\ttoken: token,\n\t\t\t\t\t\t\tuser: user\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\tresolve(response)\n\t\t\t\t\t}).catch(error => {\n\t\t\t\t\t\tcommit('auth_error')\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\t\t// eslint-disable-next-line\n\t\tlogout({commit}: {commit: any}) {\n\t\t\treturn new Promise((resolve) => {\n\t\t\t\taxios.post_auth_data('v1/auth/invalidate')\n\t\t\t\t\t.finally(() => {\n\t\t\t\t\t\tcommit('logout')\n\t\t\t\t\t\tresolve(null)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\t\t// eslint-disable-next-line\n\t\tforgotPassword({commit}: {commit: any}, credentials: any) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.post('v1/users/forgot', {data: credentials})\n\t\t\t\t\t.then(response => resolve(response))\n\t\t\t\t\t.catch(error => reject(error))\n\t\t\t})\n\t\t},\n\t\t// eslint-disable-next-line\n\t\tresetPassword({commit}: {commit: any}, credentials: any) {\n\t\t\tcommit('auth_success', {token: credentials.token})\n\t\t\t\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.post_auth_data('v1/users/reset', {data: credentials})\n\t\t\t\t\t.then(response => {\n\t\t\t\t\t\tcommit('logout')\n\t\t\t\t\t\tresolve(response)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => reject(error))\n\t\t\t})\n\t\t},\n\t\tasync refreshToken({commit}: {commit: any}) {\n\t\t\ttry {\n\t\t\t\tconst response: any = await axios.post_auth_data('v1/auth/refresh')\n\n\t\t\t\tconst token = response.token\n\t\t\t\tconst user = response.user\n\n\t\t\t\tcommit('auth_success', {\n\t\t\t\t\ttoken: token,\n\t\t\t\t\tuser: user\n\t\t\t\t})\n\n\t\t\t\treturn token\n\t\t\t} catch (error) {\n\t\t\t\tcommit('auth_error')\n\t\t\t\tconsole.error(error)\n\t\t\t}\n\t\t},\n\t\tasync userInfo({commit}: {commit: any}) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.get_auth_data('v1/auth/info')\n\t\t\t\t\t.then((response: any) => {\n\t\t\t\t\t\tconst user = response.user\n\n\t\t\t\t\t\tcommit('auth_success', {\n\t\t\t\t\t\t\tuser: user\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\tresolve(user)\n\t\t\t\t\t}).catch(error => {\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\t\tupdateUserInfo({commit}: {commit: any}, data: any) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.put_auth(`v1/users/${data.id}`, {data: data})\n\t\t\t\t\t.then((response: any) => {\n\t\t\t\t\t\tconst user = response.user\n\n\t\t\t\t\t\tcommit('auth_success', {\n\t\t\t\t\t\t\tuser: user\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\tresolve(user)\n\t\t\t\t\t}).catch(error => {\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\t},\n\tgetters: {\n\t\tisLoggedIn: (state: any) => {\n\t\t\treturn !!state.token\n\t\t},\n\t\tuser: (state: any) => {\n\t\t\treturn state.user\n\t\t},\n\t\ttoken: (state: any) => {\n\t\t\treturn (state.token && state.token != undefined) ? state.token : null\n\t\t}\n\t}\n}","import { App } \t\tfrom 'vue'\nimport { Options } \tfrom './types'\nimport auth \t\tfrom './auth.store'\n\nexport default {\n\tinstall: (app: App, options: Options) => {\n\t\tif (options && options.disabled == true) return\n\n\t\tif (!app.config.globalProperties.$store)\n\t\t\treturn console.warn('[w/auth] Could not initialize. App does not have vuex store added.')\n\n\t\tapp.config.globalProperties.$store.registerModule('auth', auth)\n\t}\n}","import { Options } \tfrom './types'\n// import { Toast } from './models/Toast'\nimport 'vue-toast-notification/dist/theme-sugar.css'\nimport VueToast from 'vue-toast-notification'\n\nexport default {\n\tinstall: (app, options: Options) => {\n\t\tif (options && options.disabled === true) return\n\n\t\tapp.use(VueToast)\n\n\t\t// app.config.globalProperties.$wToast = new Toast()\n\t\tapp.config.globalProperties.$parseError = (error) => error?.data?.message || error?.response?.data?.message || error?.message || error\n\t}\n}","\n\n\n\n","import { render } from \"./w-loadable.vue?vue&type=template&id=a2444234&scoped=true\"\nimport script from \"./w-loadable.vue?vue&type=script&lang=js\"\nexport * from \"./w-loadable.vue?vue&type=script&lang=js\"\n\nimport \"./w-loadable.vue?vue&type=style&index=0&id=a2444234&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-a2444234\"]])\n\nexport default __exports__","import { App } \t\tfrom 'vue'\nimport { Options } \tfrom './types'\nimport WLoadable\tfrom './_components/w-loadable.vue'\n\nexport default {\n\tinstall: (app: App, options: Options) => {\n\t\tif (options && options.disabled === true) return\n\n\t\tapp.component('W-loadable', WLoadable)\n\t}\n}","import { App } \t\tfrom 'vue'\nimport { Options } \tfrom './types'\n\nimport axios\t \tfrom '@/plugins/w/axios'\nimport moxios\t \tfrom '@/plugins/w/moxios'\nimport events\t \tfrom '@/plugins/w/events'\nimport i18n\t \t\tfrom '@/plugins/w/i18n'\nimport ionic\t \tfrom '@/plugins/w/ionic'\nimport auth\t\t\tfrom '@/plugins/w/auth'\nimport toast\t\tfrom '@/plugins/w/toast'\nimport loadable\t\tfrom '@/plugins/w/loadable'\n\nexport default {\n\tinstall: (app: App, options: Options = {}) => {\n\t\tevents.install(app, options.events)\n\t\taxios.install(app, options.axios)\n\t\ti18n.install(app, options.i18n)\n\t\tmoxios.install(app, options.moxios)\n\t\tionic.install(app, options.ionic)\n\t\tauth.install(app, options.auth)\n\t\ttoast.install(app, options.toast)\n\t\tloadable.install(app, options.loadable)\n\t}\n}","import { $t } from '@/plugins/app/_config/main'\n\nexport default {\n\tparseAndTranslate(data) {\n\t\tconst errorsArray = this._parseToArrayOfStrings(data)\n\t\treturn errorsArray.join(', ')\n\t},\n\n\t_parseToArrayOfStrings(data) {\n\t\tif (data?.data?.message) {\n\t\t\treturn [$t(data.data.message)]\n\t\t}\n\n\t\tif (typeof data == 'string') {\n\t\t\treturn [$t(data)]\n\t\t}\n\n\t\tif (data?.response?.data)\n\t\t\treturn Object.values(data?.response?.data)\n\n\t\tif (data && data.error && typeof data.error == 'string') {\n\t\t\treturn [$t(data.error)]\n\t\t}\n\n\t\tif (data && data.error && typeof data.error == 'object') {\n\t\t\treturn Object.values($t(data.error))\n\t\t}\n\n\t\tif (data.data && data.data.error && typeof data.data.error == 'string') {\n\t\t\treturn [$t(data.data.error)]\n\t\t}\n\n\t\tif (data && data.data && data.data.error && typeof data.data.error == 'object') {\n\t\t\treturn Object.values(data.data.error).map(error => $t(error[0]) + ' ')\n\t\t}\n\n\t\tif (data.statusText) {\n\t\t\treturn [$t(data.statusText)]\n\t\t}\n\n\t\treturn [data]\n\t}\n}","import axios from 'axios'\nimport store from '@/store'\nimport toastUtils from '@/plugins/w/toast/utils/toast.utils'\n\naxios.defaults.baseURL = process.env.VUE_APP_WAXIOS_URL\n\nexport default {\n\tasync get(url: string, config?: any) {\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync get_auth(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync get_data(url: string, config?: any) {\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync get_auth_data(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => Promise.resolve(response.data.data))\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync post(url: string, params = null, config?: any) {\n\n\t\treturn axios.post(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync post_auth(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.post(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync post_data(url: string, params = null, config?: any) {\n\n\t\treturn axios.post(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync post_auth_data(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.post(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync delete(url: string, config?: any) {\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync delete_auth(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync delete_data(url: string, config?: any) {\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync delete_auth_data(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync patch(url: string, params = null, config?: any) {\n\t\treturn axios.patch(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync patch_auth(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.patch(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync patch_auth_form(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\t\tconfig.headers['Content-Type'] = 'multipart/form-data'\n\t\tconst formData = this._objectToFormData(params)\n\t\tformData.append('_method', 'put')\n\t\tconfig.transformRequest = formData => formData\n\n\t\treturn axios.post(url, formData, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync patch_data(url: string, params = null, config?: any) {\n\t\treturn axios.patch(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync patch_auth_data(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.patch(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync put(url: string, params = null, config?: any) {\n\t\treturn axios.put(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync put_auth(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.put(url, {data: params}, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync put_data(url: string, params = null, config?: any) {\n\t\treturn axios.put(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync put_auth_data(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.put(url, {data: params}, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\t_config(config: any) {\n\t\tif (config) console.error('NOT IMPLEMENTED')\n\n\t\tif (!store.getters['auth/token']) {\n\t\t\treturn {headers: {}}\n\t\t}\n\n\t\treturn {\n\t\t\theaders: {\n\t\t\t\tAuthorization: `Bearer ${store.getters['auth/token']}`\n\t\t\t}\n\t\t}\n\t},\n\n\t_buildFormData(formData, data, parentKey) {\n\t\tif (data && typeof data === 'object' && !(data instanceof Date) && !(data instanceof File))\n\t\t\tObject.keys(data).forEach(key => this._buildFormData(formData, data[key], parentKey ? `${parentKey}[${key}]` : key));\n\t\telse\n\t\t\tformData.append(parentKey, data == null ? '' : data);\n\t},\n\n\t_objectToFormData(data) {\n\t\tconst formData = new FormData()\n\t\tthis._buildFormData(formData, {data: data})\n\n\t\treturn formData\n\t}\n}","import { App } \t\tfrom 'vue'\nimport { Options } \tfrom './types'\nimport axios \t\tfrom './models/axios'\n\nexport default {\n\tinstall: (app: App, options: Options) => {\n\t\tif (options && options.disabled === true) return\n\n\t\tapp.config.globalProperties.$axios = axios\n\t}\n}","import axios from '@/plugins/w@custom/axios/models/axios'\nimport store from '@/store'\n\nexport default {\n\tnamespaced: true,\n\n\tstate: {\n\t\tmastertasks: null,\n\t\temployees: null,\n\t\tteams: null,\n\t\tprojects: null,\n\t\tunscheduledSubtasks: null,\n\t\tongoingSubtasks: null,\n\t\tinitialized: false,\n\t\tongoingSubtasksEmployeeId: null,\n\t\tunscheduledSubtasksEmployeeId: null\n\t},\n\n\tmutations: {\n\t\tset_mastertasks(state: any, mastertasks: any) {\n\t\t\tstate.mastertasks = mastertasks\n\t\t},\n\n\t\tset_employees(state: any, employees: any) {\n\t\t\tstate.employees = employees\n\n\t\t\t// TODO: Remove\n\t\t\t// const employee = employees.find(employee => employee.email == 'zachariah.vonrueden@jandl.sk')\n\t\t\t// store.commit('auth/auth_success', {\n\t\t\t// \tuser: employee\n\t\t\t// })\n\t\t},\n\n\t\tset_teams(state: any, teams: any) {\n\t\t\tstate.teams = teams\n\t\t},\n\n\t\tset_projects(state: any, projects: any) {\n\t\t\tstate.projects = projects\n\t\t},\n\n\t\tset_unscheduled_subtasks(state: any, subtasks: any) {\n\t\t\tstate.unscheduledSubtasks = subtasks\n\t\t},\n\n\t\tset_ongoing_subtasks(state: any, subtasks: any) {\n\t\t\tstate.ongoingSubtasks = subtasks\n\t\t},\n\n\t\tremove_ongoing_subtask(state: any, subtaskId: any) {\n\t\t\tstate.ongoingSubtasks = state.ongoingSubtasks.filter(st => st.id != subtaskId)\n\t\t},\n\n\t\tupdate_team(state: any, team: any) {\n\t\t\tstate.teams = state.teams.map(t => {\n\t\t\t\tif (t.id == team.id)\n\t\t\t\t\treturn team\n\n\t\t\t\treturn t\n\t\t\t})\n\t\t},\n\n\t\tsave_team(state: any, team: any) {\n\t\t\tstate.teams.push(team)\n\t\t},\n\n\t\tdelete_team(state: any, team: any) {\n\t\t\tstate.teams = state.teams.filter(t => t.id != team.id)\n\t\t},\n\n\t\tupdate_subtask(state: any, subtask: any) {\n\t\t\tstate.unscheduledSubtasks \t= state.unscheduledSubtasks.map(st \t\t=> st.id == subtask.id ? subtask : st)\n\t\t\tstate.ongoingSubtasks \t\t= state.ongoingSubtasks.map(st \t\t\t=> st.id == subtask.id ? subtask : st)\n\t\t\t\n\t\t\t// state.mastertasks \t\t\t= state.mastertasks.map(mastertask \t\t=> {\n\t\t\t// \tmastertask.subtasks \t= mastertask.subtasks.map(st => st.id == subtask.id ? subtask : st)\n\t\t\t// \treturn mastertask\n\t\t\t// })\n\t\t},\n\n\t\tdelete_subtask(state: any, subtask: any) {\n\t\t\tstate.unscheduledSubtasks \t= state.unscheduledSubtasks.filter(st \t=> st.id != subtask.id)\n\t\t\tstate.ongoingSubtasks \t\t= state.ongoingSubtasks.filter(st \t\t=> st.id != subtask.id)\n\n\t\t\t// state.mastertasks \t\t\t= state.mastertasks.map(mastertask \t\t=> {\n\t\t\t// \tmastertask.subtasks = mastertask.subtasks.filter(st => st.id != subtask.id)\n\t\t\t// \treturn mastertask\n\t\t\t// })\n\t\t},\n\n\t\tset_ongoing_subtasks_employee_id(state: any, employeeId: any) {\n\t\t\tstate.ongoingSubtasksEmployeeId = employeeId\n\t\t},\n\n\t\tset_unscheduled_subtasks_employee_id(state: any, employeeId: any) {\n\t\t\tstate.unscheduledSubtasksEmployeeId = employeeId\n\t\t},\n\n\t\tinitialized(state: any) {\n\t\t\tstate.initialized = true\n\t\t}\n\t},\n\n\tactions: {\n\t\tinitialize({dispatch, commit}: {dispatch: any, commit: any}) {\n\t\t\treturn Promise.all([\n\t\t\t\tdispatch('loadMastertasks'),\n\t\t\t\tdispatch('loadEmployees'),\n\t\t\t\tdispatch('loadTeams'),\n\t\t\t\tdispatch('loadProjects'),\n\t\t\t\tdispatch('loadUnscheduledSubtasks'),\n\t\t\t\tdispatch('loadOngoingSubtasks')\n\t\t\t]).then(() => commit('initialized'))\n\t\t},\n\n\t\treloadSubtasks({dispatch}: {dispatch: any}) {\n\t\t\treturn Promise.all([\n\t\t\t\tdispatch('loadMastertasks'),\n\t\t\t\tdispatch('loadProjects'),\n\t\t\t\tdispatch('loadUnscheduledSubtasks'),\n\t\t\t\tdispatch('loadOngoingSubtasks')\n\t\t\t])\n\t\t},\n\n\t\treloadMastertasks({dispatch}: {dispatch: any}) {\n\t\t\treturn Promise.all([\n\t\t\t\tdispatch('loadMastertasks')\n\t\t\t])\n\t\t},\n\n\t\tloadMastertasks({commit}: {commit: any}) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t// axios.get_auth('v1/mastertasks')\n\t\t\t\taxios.get_auth('v1/mastertasks/?simple=true')\n\t\t\t\t\t.then(({ mastertasks }) => {\n\t\t\t\t\t\tcommit('set_mastertasks', mastertasks)\n\t\t\t\t\t\tresolve(mastertasks)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => {\n\t\t\t\t\t\tcommit('set_mastertasks', {error: error})\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\n\t\tloadEmployees({commit}: {commit: any}) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.get_auth_data('v1/employees')\n\t\t\t\t\t.then(employees => {\n\t\t\t\t\t\tcommit('set_employees', employees)\n\t\t\t\t\t\tresolve(employees)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => {\n\t\t\t\t\t\tcommit('set_employees', {error: error})\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t\t\n\t\t},\n\n\t\tloadTeams({commit}: {commit: any}) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.get_auth_data('v1/teams')\n\t\t\t\t\t.then(teams => {\n\t\t\t\t\t\tcommit('set_teams', teams)\n\t\t\t\t\t\tresolve(teams)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => {\n\t\t\t\t\t\tcommit('set_teams', {error: error})\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\n\t\tloadProjects({commit}: {commit: any}) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.get_auth_data('v1/projects')\n\t\t\t\t\t.then(project => {\n\t\t\t\t\t\tcommit('set_projects', project)\n\t\t\t\t\t\tresolve(project)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => {\n\t\t\t\t\t\tcommit('set_projects', {error: error})\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t\t\n\t\t},\n\n\t\tloadUnscheduledSubtasks({commit, state}: {commit: any, state: any}, employeeId = undefined) {\n\t\t\tlet employeeIdToUse = undefined\n\n\t\t\tif (employeeId) {\n\t\t\t\temployeeIdToUse = employeeId\n\t\t\t\tcommit('set_unscheduled_subtasks_employee_id', employeeId)\n\t\t\t} else if (state.unscheduledSubtasksEmployeeId) {\n\t\t\t\temployeeIdToUse = state.unscheduledSubtasksEmployeeId\n\t\t\t} else {\n\t\t\t\temployeeIdToUse = store.getters['auth/user']?.id\n\t\t\t}\n\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.get_auth(`v1/subtasks?type=unscheduled&employee_id=${employeeIdToUse}`)\n\t\t\t\t\t.then(({subtasks}) => {\n\t\t\t\t\t\tcommit('set_unscheduled_subtasks', subtasks)\n\t\t\t\t\t\tresolve(subtasks)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => {\n\t\t\t\t\t\tcommit('set_unscheduled_subtasks', {error: error})\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\n\t\tloadOngoingSubtasks({commit, state}: {commit: any, state: any}, employeeId = undefined) {\n\t\t\tlet employeeIdToUse = undefined\n\n\t\t\tif (employeeId) {\n\t\t\t\temployeeIdToUse = employeeId\n\t\t\t\tcommit('set_ongoing_subtasks_employee_id', employeeId)\n\t\t\t} else if (state.ongoingSubtasksEmployeeId) {\n\t\t\t\temployeeIdToUse = state.ongoingSubtasksEmployeeId\n\t\t\t} else {\n\t\t\t\temployeeIdToUse = store.getters['auth/user']?.id\n\t\t\t\tcommit('set_ongoing_subtasks_employee_id', employeeIdToUse)\n\t\t\t}\n\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.get_auth(`v1/subtasks?type=ongoing&employee_id=${employeeIdToUse}`)\n\t\t\t\t\t.then(({subtasks}) => {\n\t\t\t\t\t\tcommit('set_ongoing_subtasks', subtasks)\n\t\t\t\t\t\tresolve(subtasks)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => {\n\t\t\t\t\t\tcommit('set_ongoing_subtasks', {error: error})\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t},\n\n\t\tremoveOngoingSubtask({commit}: {commit: any}, subtaskId: any) {\n\t\t\tcommit('remove_ongoing_subtask', subtaskId)\n\t\t}\n\n\t},\n\n\tgetters: {\n\t\tmastertasks: (state: any) => {\n\t\t\treturn state.mastertasks\n\t\t},\n\n\t\temployees: (state: any) => {\n\t\t\treturn state.employees\n\t\t},\n\n\t\tenrichedEmployees: (state: any) => {\n\t\t\tif (!state.employees) return []\n\t\t\t\n\t\t\treturn state.employees.map(employee => ({\n\t\t\t\t...employee, \n\t\t\t\t_fullName: `${ employee.name } ${ employee.surname }`,\n\t\t\t\t_initials: employee.name.charAt(0) + employee.surname.charAt(0)\n\t\t\t})).sort((a, b) => a.name < b.name ? -1 : 1)\n\t\t},\n\n\t\tteams: (state: any) => {\n\t\t\treturn state.teams\n\t\t},\n\n\t\tprojects: (state: any) => {\n\t\t\treturn state.projects\n\t\t},\n\n\t\tunscheduledSubtasks: (state: any) => {\n\t\t\treturn state.unscheduledSubtasks\n\t\t},\n\n\t\tongoingSubtasks: (state: any) => {\n\t\t\treturn state.ongoingSubtasks\n\t\t},\n\n\t\tisInitialized: (state: any) => {\n\t\t\treturn state.initialized\n\t\t}\n\t}\n}","import { App } \t\tfrom 'vue'\nimport tmStore \tfrom './store'\n\nexport default {\n\tinstall: (app: App) => {\n\t\tapp.config.globalProperties.$store.registerModule('tm', tmStore)\n\t}\n}","\n\n\n","/**\n * Date Utils & prototypes.\n *\n * Waiting for VS Code to support JavaScript private fields.\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Class_fields\n * Meantime keep `_` for private.\n */\n\nlet now, todayDate, todayF, self\nlet _dateObject = {}\nlet _timeObject = {}\n\nexport default class DateUtils {\n texts = {}\n\n constructor (texts, noPrototypes = false) {\n self = this // For use in Date prototypes.\n this._texts = texts\n\n // Add prototypes ASAP - only once.\n if (!noPrototypes && Date && !Date.prototype.addDays) this._initDatePrototypes()\n\n // @todo: This would be nicer, but how to set Date.noPrototypes ASAP only if user wants?\n // if (Date.noPrototypes) delete Date.noPrototypes\n // else this._initDatePrototypes()\n }\n\n _initDatePrototypes () {\n /* eslint-disable no-extend-native */\n Date.prototype.addDays = function (days) { return self.addDays(this, days) }\n Date.prototype.subtractDays = function (days) { return self.subtractDays(this, days) }\n Date.prototype.addHours = function (hours) { return self.addHours(this, hours) }\n Date.prototype.subtractHours = function (hours) { return self.subtractHours(this, hours) }\n Date.prototype.addMinutes = function (minutes) { return self.addMinutes(this, minutes) }\n Date.prototype.subtractMinutes = function (minutes) { return self.subtractMinutes(this, minutes) }\n Date.prototype.getWeek = function () { return self.getWeek(this) }\n Date.prototype.isToday = function () { return self.isToday(this) }\n Date.prototype.isLeapYear = function () { return self.isLeapYear(this) }\n Date.prototype.format = function (format = 'YYYY-MM-DD') { return self.formatDate(this, format) }\n Date.prototype.formatTime = function (format = 'HH:mm') { return self.formatTime(this, format) }\n /* eslint-enable no-extend-native */\n }\n\n removePrototypes () {\n delete Date.prototype.addDays\n delete Date.prototype.subtractDays\n delete Date.prototype.addHours\n delete Date.prototype.subtractHours\n delete Date.prototype.addMinutes\n delete Date.prototype.subtractMinutes\n delete Date.prototype.getWeek\n delete Date.prototype.isToday\n delete Date.prototype.isLeapYear\n delete Date.prototype.format\n delete Date.prototype.formatTime\n }\n\n updateTexts (texts) {\n this._texts = texts\n }\n\n // Cache Today's date (to a maximum) for better isToday() performances. Formatted without leading 0.\n // We still need to update Today's date when Today changes without page refresh.\n _todayFormatted () {\n if (todayDate !== (new Date()).getDate()) {\n now = new Date()\n todayDate = now.getDate()\n todayF = `${now.getFullYear()}-${now.getMonth()}-${now.getDate()}`\n }\n\n return todayF\n }\n\n // UTILITIES.\n // ====================================================================\n addDays (date, days) {\n const d = new Date(date.valueOf())\n d.setDate(d.getDate() + days)\n return d\n }\n\n subtractDays (date, days) {\n const d = new Date(date.valueOf())\n d.setDate(d.getDate() - days)\n return d\n }\n\n addHours (date, hours) {\n const d = new Date(date.valueOf())\n d.setHours(d.getHours() + hours)\n return d\n }\n\n subtractHours (date, hours) {\n const d = new Date(date.valueOf())\n d.setHours(d.getHours() - hours)\n return d\n }\n\n addMinutes (date, minutes) {\n const d = new Date(date.valueOf())\n d.setMinutes(d.getMinutes() + minutes)\n return d\n }\n\n subtractMinutes (date, minutes) {\n const d = new Date(date.valueOf())\n d.setMinutes(d.getMinutes() - minutes)\n return d\n }\n\n getWeek (date) {\n const d = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()))\n const dayNum = d.getUTCDay() || 7\n d.setUTCDate(d.getUTCDate() + 4 - dayNum)\n const yearStart = new Date(Date.UTC(d.getUTCFullYear(), 0, 1))\n return Math.ceil((((d - yearStart) / 86400000) + 1) / 7)\n }\n\n isToday (date) {\n return `${date.getFullYear()}-${date.getMonth()}-${date.getDate()}` === this._todayFormatted()\n }\n\n isLeapYear (date) {\n const year = date.getFullYear()\n return !(year % 400) || (year % 100 && !(year % 4))\n }\n\n // Returns today if it's FirstDayOfWeek (Monday or Sunday) or previous FirstDayOfWeek otherwise.\n getPreviousFirstDayOfWeek (date = null, weekStartsOnSunday) {\n const prevFirstDayOfWeek = (date && new Date(date.valueOf())) || new Date()\n const dayModifier = weekStartsOnSunday ? 7 : 6\n prevFirstDayOfWeek.setDate(prevFirstDayOfWeek.getDate() - (prevFirstDayOfWeek.getDay() + dayModifier) % 7)\n return prevFirstDayOfWeek\n }\n\n /**\n * Converts a string to a Javascript Date object. If a Date object is passed, return it as is.\n *\n * @param {String | Date} date the string to convert to Date.\n * @return {Date} the equivalent Javascript Date object.\n */\n stringToDate (date) {\n if (date instanceof Date) return date\n // Regexp way is less performant: https://jsperf.com/string-to-date-regexp-vs-new-date\n // const [, y, m, d, h = 0, min = 0] = date.match(/(\\d{4})-(\\d{2})-(\\d{2})(?: (\\d{2}):(\\d{2}))?/)\n // return new Date(y, parseInt(m) - 1, d, h, min)\n\n if (date.length === 10) date += ' 00:00'\n return new Date(date.replace(/-/g, '/')) // replace '-' with '/' for Safari.\n }\n\n /**\n * Simply takes a Date and returns the associated time in minutes (sum of hours + minutes).\n *\n * @param {Date} date the JavaScript Date to extract minutes from.\n * @return {Number} the number of minutes (total of hours plus minutes).\n */\n dateToMinutes = date => date.getHours() * 60 + date.getMinutes()\n\n /**\n * Count the number of days this date range spans onto.\n * E.g. countDays(2019-11-02 18:00, 2019-11-03 02:00) = 2\n *\n * @param {String | Date} start the start date\n * @param {String | Date} end the end date\n * @return {Integer} The number of days this date range involves\n */\n countDays (start, end) {\n // replace '-' with '/' for Safari.\n if (typeof start === 'string') start = start.replace(/-/g, '/')\n if (typeof end === 'string') end = end.replace(/-/g, '/')\n\n // Set start & end at midnight then compare the delta. Don't modify the original dates.\n start = (new Date(start)).setHours(0, 0, 0, 0)\n // Set end at midnight plus 1 sec, so Math.ceil will round it up to a full day.\n end = (new Date(end)).setHours(0, 0, 1, 0)\n\n // Remove the potential daylight saving delta.\n const timezoneDiffMs = (new Date(end).getTimezoneOffset() - new Date(start).getTimezoneOffset()) * 60 * 1000\n return Math.ceil((end - start - timezoneDiffMs) / (24 * 3600 * 1000))\n }\n\n /**\n * Take 2 dates and check if within the same time step (useful in overlapping events).\n *\n * @return {Boolean} `true` if their time is included in the same time step,\n * this means these 2 dates are very close.\n */\n datesInSameTimeStep (date1, date2, timeStep) {\n return Math.abs(date1.getTime() - date2.getTime()) <= timeStep * 60 * 1000\n }\n // ====================================================================\n\n // FORMATTERS.\n // ====================================================================\n /**\n * Formats a date/time to the given format and returns the formatted string.\n *\n * @param {Date} date a JavaScript Date object to format.\n * @param {String} format the wanted format.\n * @param {Object} texts Optional: the localized texts object to override the vue-cal one in this._texts.\n * This becomes useful when showing multiple instances with different languages,\n * like in the documentation page.\n * @return {String} the formatted date.\n */\n formatDate (date, format = 'YYYY-MM-DD', texts = null) {\n if (!texts) texts = this._texts\n if (!format) format = 'YYYY-MM-DD' // Allows passing null for default format.\n if (format === 'YYYY-MM-DD') return this.formatDateLite(date)\n\n // Reinit the date and time object on each function call.\n _dateObject = {}\n _timeObject = {}\n\n // Each keyword is a function to load the dateObject or timeObject on demand: no wasted resource.\n const dateObj = {\n YYYY: () => this._hydrateDateObject(date, texts).YYYY,\n YY: () => this._hydrateDateObject(date, texts).YY(),\n M: () => this._hydrateDateObject(date, texts).M,\n MM: () => this._hydrateDateObject(date, texts).MM(),\n MMM: () => this._hydrateDateObject(date, texts).MMM(),\n MMMM: () => this._hydrateDateObject(date, texts).MMMM(),\n MMMMG: () => this._hydrateDateObject(date, texts).MMMMG(),\n D: () => this._hydrateDateObject(date, texts).D,\n DD: () => this._hydrateDateObject(date, texts).DD(),\n S: () => this._hydrateDateObject(date, texts).S(),\n d: () => this._hydrateDateObject(date, texts).d,\n dd: () => this._hydrateDateObject(date, texts).dd(),\n ddd: () => this._hydrateDateObject(date, texts).ddd(),\n dddd: () => this._hydrateDateObject(date, texts).dddd(),\n HH: () => this._hydrateTimeObject(date, texts).HH,\n H: () => this._hydrateTimeObject(date, texts).H,\n hh: () => this._hydrateTimeObject(date, texts).hh,\n h: () => this._hydrateTimeObject(date, texts).h,\n am: () => this._hydrateTimeObject(date, texts).am,\n AM: () => this._hydrateTimeObject(date, texts).AM,\n mm: () => this._hydrateTimeObject(date, texts).mm,\n m: () => this._hydrateTimeObject(date, texts).m\n }\n\n return format.replace(/(\\{[a-zA-Z]+\\}|[a-zA-Z]+)/g, (m, contents) => {\n const result = dateObj[contents.replace(/\\{|\\}/g, '')]\n return result !== undefined ? result() : contents\n })\n }\n\n // More performant function to convert a Date to `YYYY-MM-DD` formatted string only.\n formatDateLite (date) {\n const m = date.getMonth() + 1\n const d = date.getDate()\n return `${date.getFullYear()}-${m < 10 ? '0' : ''}${m}-${d < 10 ? '0' : ''}${d}`\n }\n\n /**\n * Formats a time (from Date or number of mins) to the given format and returns the formatted string.\n *\n * @param {Date | Number} date a JavaScript Date object or a time in minutes.\n * @param {String} format the wanted format.\n * @param {Object} texts Optional: the localized texts object to override the vue-cal one in this._texts.\n * This becomes useful when showing multiple instances with different languages,\n * like in the documentation page.\n * @param {Boolean} round if time is 23:59:59, rounds up to 24:00 for formatting only.\n * @return {String} the formatted time.\n */\n formatTime (date, format = 'HH:mm', texts = null, round = false) {\n let shouldRound = false\n if (round) {\n const [h, m, s] = [date.getHours(), date.getMinutes(), date.getSeconds()]\n if ((h + m + s) === (23 + 59 + 59)) shouldRound = true\n }\n\n if (date instanceof Date && format === 'HH:mm') return shouldRound ? '24:00' : this.formatTimeLite(date)\n\n _timeObject = {} // Reinit the time object on each function call.\n if (!texts) texts = this._texts\n const timeObj = this._hydrateTimeObject(date, texts)\n\n const formatted = format.replace(/(\\{[a-zA-Z]+\\}|[a-zA-Z]+)/g, (m, contents) => {\n const result = timeObj[contents.replace(/\\{|\\}/g, '')]\n return result !== undefined ? result : contents\n })\n\n // Round 23:59:59 to 24:00. For 12-hour format there is nothing to replace: as both are 12am.\n // Also don't return `24:00` straight away as the user format may be different.\n return shouldRound ? formatted.replace('23:59', '24:00') : formatted\n }\n\n /**\n * Formats a time to 'HH:mm' from a Date and returns the formatted string.\n *\n * @param {Date} date a JavaScript Date object to format.\n * @return {String} the formatted time.\n */\n formatTimeLite (date) {\n const h = date.getHours()\n const m = date.getMinutes()\n return `${(h < 10 ? '0' : '') + h}:${(m < 10 ? '0' : '') + m}`\n }\n\n _nth (d) {\n if (d > 3 && d < 21) return 'th'\n switch (d % 10) {\n case 1: return 'st'\n case 2: return 'nd'\n case 3: return 'rd'\n default: return 'th'\n }\n }\n\n _hydrateDateObject (date, texts) {\n if (_dateObject.D) return _dateObject\n\n const YYYY = date.getFullYear()\n const M = date.getMonth() + 1\n const D = date.getDate()\n const day = date.getDay() // Day of the week.\n const dayNumber = (day - 1 + 7) % 7 // Day of the week. 0 to 6 with 6 = Sunday.\n // Some of this props are functions, to only calculate on demand.\n _dateObject = {\n // Year.\n YYYY, // 2019.\n YY: () => YYYY.toString().substring(2), // 19.\n\n // Month.\n M, // 1 to 12.\n MM: () => (M < 10 ? '0' : '') + M, // 01 to 12.\n MMM: () => texts.months[M - 1].substring(0, 3), // Jan to Dec.\n MMMM: () => texts.months[M - 1], // January to December.\n MMMMG: () => (texts.monthsGenitive || texts.months)[M - 1], // January to December in genitive form (Greek...)\n\n // Day.\n D, // 1 to 31.\n DD: () => (D < 10 ? '0' : '') + D, // 01 to 31.\n S: () => this._nth(D), // st, nd, rd, th.\n\n // Day of the week.\n d: dayNumber + 1, // 1 to 7 with 7 = Sunday.\n dd: () => texts.weekDays[dayNumber][0], // M to S.\n ddd: () => texts.weekDays[dayNumber].substr(0, 3), // Mon to Sun.\n dddd: () => texts.weekDays[dayNumber] // Monday to Sunday.\n }\n\n return _dateObject\n }\n\n _hydrateTimeObject (date, texts) {\n if (_timeObject.am) return _timeObject\n\n let H, m\n if (date instanceof Date) {\n H = date.getHours()\n m = date.getMinutes()\n }\n else {\n H = Math.floor(date / 60)\n m = Math.floor(date % 60)\n }\n\n const h = H % 12 ? H % 12 : 12\n const am = (texts || { am: 'am', pm: 'pm' })[H === 24 || H < 12 ? 'am' : 'pm']\n _timeObject = {\n H,\n h,\n HH: (H < 10 ? '0' : '') + H,\n hh: (h < 10 ? '0' : '') + h,\n am,\n AM: am.toUpperCase(),\n m,\n mm: (m < 10 ? '0' : '') + m\n }\n\n return _timeObject\n }\n // ====================================================================\n}\n","/**\n * Cell Utils.\n *\n * Waiting for VS Code to support JavaScript private fields.\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Class_fields\n * Meantime keep `_` for private.\n */\n\nconst minutesInADay = 24 * 60\n\nexport default class CellUtils {\n _vuecal = null\n\n constructor (vuecal) {\n this._vuecal = vuecal\n }\n\n /**\n * Select a cell and go to narrower view on double click or single click according to vuecalProps option.\n *\n * @param {Boolean} force Force switching to narrower view.\n * @param {Date} date The selected cell date at the exact time where it was clicked (through cursor coords).\n * @param {Integer} split The selected cell split if any.\n */\n selectCell = (force = false, date, split) => {\n // Cell-click event returns a date and time at cursor position.\n this._vuecal.$emit('cell-click', split ? { date, split } : date)\n\n // Switch to narrower view.\n if (this._vuecal.clickToNavigate || force) this._vuecal.switchToNarrowerView()\n\n // Handle double click manually for touch devices.\n else if (this._vuecal.dblclickToNavigate && 'ontouchstart' in window) {\n this._vuecal.domEvents.dblTapACell.taps++\n\n setTimeout(() => (this._vuecal.domEvents.dblTapACell.taps = 0), this._vuecal.domEvents.dblTapACell.timeout)\n\n if (this._vuecal.domEvents.dblTapACell.taps >= 2) {\n this._vuecal.domEvents.dblTapACell.taps = 0\n this._vuecal.switchToNarrowerView()\n this._vuecal.$emit('cell-dblclick', split ? { date, split } : date)\n }\n }\n }\n\n /**\n * Select a cell and go to narrower view on enter.\n *\n * @param {Boolean} force Force switching to narrower view.\n * @param {Date} date The selected cell date at the exact time where it was clicked (through cursor coords).\n * @param {Integer} split The selected cell split if any.\n */\n keyPressEnterCell = (date, split) => {\n // Cell-key-press-enter event returns a date and time at cursor position.\n this._vuecal.$emit('cell-keypress-enter', split ? { date, split } : date)\n\n // Switch to narrower view.\n this._vuecal.switchToNarrowerView()\n }\n\n /**\n * Get the coordinates of the mouse cursor from the cells wrapper referential (`ref=\"cells\"`).\n *\n * @todo Cache bounding box & update it on resize.\n * @param {Object} e the native DOM event object.\n * @return {Object} containing { x: {Number}, y: {Number} }\n */\n getPosition = e => {\n const { left, top } = this._vuecal.cellsEl.getBoundingClientRect()\n const { clientX, clientY } = 'ontouchstart' in window && e.touches ? e.touches[0] : e\n return { x: clientX - left, y: clientY - top }\n }\n\n /**\n * Get the number of minutes from the top to the mouse cursor.\n * Returns a constrained time between 0 and 24 * 60.\n *\n * @param {Object} e the native DOM event object.\n * @return {Object} containing { minutes: {Number}, cursorCoords: { x: {Number}, y: {Number} } }\n */\n minutesAtCursor = e => {\n let minutes = 0\n let cursorCoords = { x: 0, y: 0 }\n const { timeStep, timeCellHeight, timeFrom } = this._vuecal.$props\n\n if (typeof e === 'number') minutes = e\n else if (typeof e === 'object') {\n cursorCoords = this.getPosition(e)\n minutes = Math.round(cursorCoords.y * timeStep / parseInt(timeCellHeight) + timeFrom)\n }\n\n return { minutes: Math.max(Math.min(minutes, minutesInADay), 0), cursorCoords }\n }\n}\n","/**\n * Events Utils.\n *\n * Waiting for VS Code to support JavaScript private fields.\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Class_fields\n * Meantime keep `_` for private.\n */\n\nconst defaultEventDuration = 2 // In hours.\nconst minutesInADay = 24 * 60 // Don't do the maths every time.\n\nlet ud\n\n// Event overlaps: only for the current view, recreated on view change.\nlet _cellOverlaps, _comparisonArray\n\n// This is an approximation, it will not work with DLS time.\n// const approxDayMilliseconds = minutesInADay * 60 * 1000\n// This is an approximate minimum we can get in a year. Purposely stay below 365 but close.\n// const minYearMilliseconds = 364 * approxDayMilliseconds // Don't do the maths every time.\n\nexport default class EventUtils {\n _vuecal = null\n\n eventDefaults = {\n _eid: null,\n start: '', // Externally given formatted date & time or Date object.\n startTimeMinutes: 0,\n end: '', // Externally given formatted date & time or Date object.\n endTimeMinutes: 0,\n title: '',\n content: '',\n background: false,\n allDay: false,\n segments: null,\n repeat: null,\n daysCount: 1,\n deletable: true,\n deleting: false,\n titleEditable: true,\n resizable: true,\n resizing: false,\n draggable: true,\n dragging: false,\n draggingStatic: false, // Controls the CSS class of the static clone while dragging.\n focused: false,\n class: ''\n }\n\n constructor (vuecal, dateUtils) {\n this._vuecal = vuecal\n ud = dateUtils\n }\n\n /**\n * Create an event at the given date and time, and allow overriding\n * event attributes through the eventOptions object.\n *\n * @param {Date | String} dateTime The date and time of the new event start.\n * @param {Number} duration the event duration in minutes.\n * @param {Object} eventOptions some options to override the `eventDefaults` - optional.\n */\n createAnEvent (dateTime, duration, eventOptions) {\n if (typeof dateTime === 'string') dateTime = ud.stringToDate(dateTime)\n if (!(dateTime instanceof Date)) return false\n\n const startTimeMinutes = ud.dateToMinutes(dateTime)\n duration = duration * 1 || defaultEventDuration * 60\n const endTimeMinutes = startTimeMinutes + duration\n const end = ud.addMinutes(new Date(dateTime), duration)\n\n // Automatically add the required endTimeMinutes when passing an end.\n if (eventOptions.end) {\n if (typeof eventOptions.end === 'string') eventOptions.end = ud.stringToDate(eventOptions.end)\n eventOptions.endTimeMinutes = ud.dateToMinutes(eventOptions.end)\n }\n\n const event = {\n ...this.eventDefaults,\n _eid: `${this._vuecal._.uid}_${this._vuecal.eventIdIncrement++}`,\n start: dateTime,\n startTimeMinutes,\n end,\n endTimeMinutes,\n segments: null,\n ...eventOptions\n }\n\n // If the onEventCreate() function is given as a parameter to vue-cal:\n // 1. give it access to the created event & the deleteAnEvent() function.\n // 2. Prevent creation of the event if this function returns false.\n if (typeof this._vuecal.onEventCreate === 'function') {\n if (!this._vuecal.onEventCreate(event, () => this.deleteAnEvent(event))) return\n }\n\n // Check if event is a multiple day event and update days count.\n if (event.startDateF !== event.endDateF) {\n event.daysCount = ud.countDays(event.start, event.end)\n }\n\n // Add event to the mutableEvents array.\n this._vuecal.mutableEvents.push(event)\n\n // Add the new event to the current view.\n // The event may have been edited on the fly to become a multiple-day event,\n // the method addEventsToView makes sure the segments are created.\n this._vuecal.addEventsToView([event])\n\n this._vuecal.emitWithEvent('event-create', event)\n this._vuecal.$emit('event-change', { event: this._vuecal.cleanupEvent(event), originalEvent: null })\n\n return event\n }\n\n /**\n * Add an event segment (= day) to a multiple-day event.\n *\n * @param {Object} e the multiple-day event to add segment in.\n */\n addEventSegment (e) {\n // If event was previously single-day, event.segments = null,\n // so first create the first segment (first day).\n if (!e.segments) {\n e.segments = {}\n e.segments[ud.formatDateLite(e.start)] = {\n start: e.start,\n startTimeMinutes: e.startTimeMinutes,\n endTimeMinutes: minutesInADay,\n isFirstDay: true,\n isLastDay: false\n }\n }\n\n // Modify the last segment - which will not stay the last one after this function.\n const previousSegment = e.segments[ud.formatDateLite(e.end)]\n // previousSegment might not exist when dragging too fast, prevent errors.\n if (previousSegment) {\n previousSegment.isLastDay = false\n previousSegment.endTimeMinutes = minutesInADay\n }\n else {\n // @todo: when moving fast might lose the previousSegment.\n // Trying to update it would then result in an error, but do nothing would create a visual bug.\n }\n\n // Create the new last segment.\n const start = ud.addDays(e.end, 1)\n const formattedDate = ud.formatDateLite(start)\n start.setHours(0, 0, 0, 0)\n e.segments[formattedDate] = {\n start,\n startTimeMinutes: 0,\n endTimeMinutes: e.endTimeMinutes,\n isFirstDay: false,\n isLastDay: true\n }\n\n e.end = ud.addMinutes(start, e.endTimeMinutes)\n e.daysCount = Object.keys(e.segments).length\n\n return formattedDate\n }\n\n /**\n * Remove an event segment (= day) from a multiple-day event.\n *\n * @param {Object} e the multiple-day event to remove segments from.\n */\n removeEventSegment (e) {\n let segmentsCount = Object.keys(e.segments).length\n if (segmentsCount <= 1) return ud.formatDateLite(e.end)\n\n // Remove the last segment.\n delete e.segments[ud.formatDateLite(e.end)]\n segmentsCount--\n\n const end = ud.subtractDays(e.end, 1)\n const formattedDate = ud.formatDateLite(end)\n const previousSegment = e.segments[formattedDate]\n\n // If no more segments, reset the segments attribute to null.\n if (!segmentsCount) e.segments = null\n\n // previousSegment might not exist when dragging too fast, prevent errors.\n else if (previousSegment) {\n // Modify the new last segment.\n previousSegment.isLastDay = true\n previousSegment.endTimeMinutes = e.endTimeMinutes\n }\n else {\n // @todo: when moving fast might lose the previousSegment.\n // Trying to update it would then result in an error, but do nothing would create a visual bug.\n }\n\n e.daysCount = segmentsCount || 1\n e.end = end\n\n return formattedDate\n }\n\n /**\n * Create 1 segment per day of the given event, but only within the current view.\n * (It won't create segments for all the days in view that are not in the event!)\n *\n * An event segment is a piece of event per day that contains more day-specific data.\n *\n * @param {Object} e the multiple-day event to create segments for.\n * @param {Date} viewStartDate the starting date of the view.\n * @param {Date} viewEndDate the ending date of the view.\n */\n createEventSegments (e, viewStartDate, viewEndDate) {\n const viewStartTimestamp = viewStartDate.getTime()\n const viewEndTimestamp = viewEndDate.getTime()\n let eventStart = e.start.getTime()\n let eventEnd = e.end.getTime()\n let repeatedEventStartFound = false\n let timestamp, end, eventStartAtMidnight\n\n // @todo: I don't think we still need that:\n // Removing 1 sec when ending at 00:00, so that we don't create a segment for nothing on last day.\n if (!e.end.getHours() && !e.end.getMinutes()) eventEnd -= 1000\n\n e.segments = {}\n\n // The goal is to create 1 segment per day in the event, but only within the current view.\n if (!e.repeat) { // Simple case first.\n timestamp = Math.max(viewStartTimestamp, eventStart)\n end = Math.min(viewEndTimestamp, eventEnd)\n }\n else {\n // Start at the beginning of the range, and end at soonest between `repeat.until` if any or range end.\n // This range will most likely be too large (e.g. whole week) and we need to narrow it\n // down in the while loop below.\n // We must not create unused segments, it would break the render or result in weird behaviors.\n timestamp = viewStartTimestamp\n end = Math.min(\n viewEndTimestamp,\n e.repeat.until ? ud.stringToDate(e.repeat.until).getTime() : viewEndTimestamp\n )\n }\n\n while (timestamp <= end) {\n let createSegment = false\n // Be careful not to simply add 24 hours!\n // In case of DLS, that would cause the event to never end and browser to hang.\n // So use `addDays(1)` instead.\n const nextMidnight = ud.addDays(new Date(timestamp), 1).setHours(0, 0, 0, 0)\n let isFirstDay, isLastDay, start, formattedDate\n\n if (e.repeat) {\n const tmpDate = new Date(timestamp)\n const tmpDateFormatted = ud.formatDateLite(tmpDate)\n // If the current day in loop is a known date of the repeated event (in `e.occurrences`),\n // then we found the first day of the event repetition, now update the `eventStart` and\n // the end of the loop at current day + event days count.\n if (repeatedEventStartFound || (e.occurrences && e.occurrences[tmpDateFormatted])) {\n if (!repeatedEventStartFound) {\n eventStart = e.occurrences[tmpDateFormatted].start\n eventStartAtMidnight = new Date(eventStart).setHours(0, 0, 0, 0)\n eventEnd = e.occurrences[tmpDateFormatted].end\n }\n repeatedEventStartFound = true\n createSegment = true\n }\n\n isFirstDay = timestamp === eventStartAtMidnight\n isLastDay = tmpDateFormatted === ud.formatDateLite(new Date(eventEnd))\n start = new Date(isFirstDay ? eventStart : timestamp)\n formattedDate = ud.formatDateLite(start)\n // We want to find any potential other repetition of event in same range.\n if (isLastDay) repeatedEventStartFound = false\n }\n else {\n createSegment = true\n isFirstDay = timestamp === eventStart\n isLastDay = end === eventEnd && nextMidnight > end\n start = isFirstDay ? e.start : new Date(timestamp)\n formattedDate = ud.formatDateLite(isFirstDay ? e.start : start)\n }\n\n if (createSegment) {\n e.segments[formattedDate] = {\n start,\n startTimeMinutes: isFirstDay ? e.startTimeMinutes : 0,\n endTimeMinutes: isLastDay ? e.endTimeMinutes : minutesInADay,\n isFirstDay,\n isLastDay\n }\n }\n\n timestamp = nextMidnight\n }\n\n return e\n }\n\n /**\n * Delete an event.\n *\n * @param {Object} event the calendar event to delete.\n */\n deleteAnEvent (event) {\n this._vuecal.emitWithEvent('event-delete', event)\n\n // Delete the event globally.\n this._vuecal.mutableEvents = this._vuecal.mutableEvents.filter(e => e._eid !== event._eid)\n // Delete the event from the current view.\n // checkCellOverlappingEvents() will be re-run automatically from the cell computed events.\n this._vuecal.view.events = this._vuecal.view.events.filter(e => e._eid !== event._eid)\n }\n\n // EVENT OVERLAPS.\n // ===================================================================\n // Will recalculate all the overlaps of the current cell OR split.\n // cellEvents will contain only the current split events if in a split.\n checkCellOverlappingEvents (cellEvents, options) {\n _comparisonArray = cellEvents.slice(0)\n _cellOverlaps = {}\n\n // Can't filter background events before calling this function otherwise\n // when an event is changed to background it would not update its previous overlaps.\n cellEvents.forEach(e => {\n // For performance, never compare the current event in the next loops.\n // The array is smaller and smaller as we loop.\n _comparisonArray.shift()\n\n if (!_cellOverlaps[e._eid]) _cellOverlaps[e._eid] = { overlaps: [], start: e.start, position: 0, sameOverlaps: [] }\n _cellOverlaps[e._eid].position = 0\n\n _comparisonArray.forEach(e2 => {\n if (!_cellOverlaps[e2._eid]) _cellOverlaps[e2._eid] = { overlaps: [], start: e2.start, position: 0, sameOverlaps: [] }\n\n const eventIsInRange = this.eventInRange(e2, e.start, e.end)\n const eventSameOverlap = this.eventSameRange(e2, e)\n const eventsInSameTimeStep = options.overlapsPerTimeStep ? ud.datesInSameTimeStep(e.start, e2.start, options.timeStep) : 1\n // Add to the overlaps array if overlapping.\n if (!e.background && !e.allDay && !e2.background && !e2.allDay && eventIsInRange && eventsInSameTimeStep) {\n _cellOverlaps[e._eid].overlaps.push(e2._eid)\n _cellOverlaps[e._eid].overlaps = [...new Set(_cellOverlaps[e._eid].overlaps)] // Dedupe, most performant way.\n\n _cellOverlaps[e2._eid].overlaps.push(e._eid)\n _cellOverlaps[e2._eid].overlaps = [...new Set(_cellOverlaps[e2._eid].overlaps)] // Dedupe, most performant way.\n _cellOverlaps[e2._eid].position++\n \n if (eventSameOverlap) {\n _cellOverlaps[e._eid].sameOverlaps.push(e2._eid)\n _cellOverlaps[e._eid].sameOverlaps = [...new Set(_cellOverlaps[e._eid].sameOverlaps)] // Dedupe, most performant way.\n\n _cellOverlaps[e2._eid].sameOverlaps.push(e._eid)\n _cellOverlaps[e2._eid].sameOverlaps = [...new Set(_cellOverlaps[e2._eid].sameOverlaps)] // Dedupe, most performant way.\n }\n }\n // Remove from the overlaps array if not overlapping or if 1 of the 2 events is background or all-day long.\n else {\n let pos1, pos2\n if ((pos1 = (_cellOverlaps[e._eid] || { overlaps: [] }).overlaps.indexOf(e2._eid)) > -1) _cellOverlaps[e._eid].overlaps.splice(pos1, 1)\n if ((pos2 = (_cellOverlaps[e2._eid] || { overlaps: [] }).overlaps.indexOf(e._eid)) > -1) _cellOverlaps[e2._eid].overlaps.splice(pos2, 1)\n _cellOverlaps[e2._eid].position--\n }\n })\n })\n\n // Overlaps streak is the longest horizontal set of simultaneous events.\n // This is determining the width of events in a streak.\n // e.g. 3 overlapping events in a cell:\n // ___ ___\n // | 1 | |_2_| 1 overlaps 2 & 3; 2 & 3 don't overlap;\n // | | ___ => streak = 2; each width = 50% not 33%.\n // |___| |_3_|\n let longestStreak = 0\n for (const id in _cellOverlaps) {\n const item = _cellOverlaps[id]\n\n // Calculate the position of each event in current streak (determines the CSS left property).\n const overlapsRow = item.overlaps.map(id2 => ({ id: id2, start: _cellOverlaps[id2].start }))\n overlapsRow.push({ id, start: item.start })\n overlapsRow.sort((a, b) => a.start < b.start ? -1 : (a.start > b.start ? 1 : (a.id > b.id ? -1 : 1)))\n item.position = overlapsRow.findIndex(e => e.id === id)\n\n longestStreak = Math.max(this.getOverlapsStreak(item, _cellOverlaps), longestStreak)\n }\n\n // console.log([_cellOverlaps, longestStreak])\n\n return [_cellOverlaps, longestStreak]\n }\n\n /**\n * Overlaps streak is the longest horizontal set of simultaneous events.\n * This is determining the width of each events in this streak.\n * E.g. 3 overlapping events [1, 2, 3]; 1 overlaps 2 & 3; 2 & 3 don't overlap;\n * => streak = 2; each width = 50% not 33%.\n *\n * @param {Object} event The current event we are checking among all the events of the current cell.\n * @param {Object} cellOverlaps An indexed array of all the events overlaps for the current cell.\n * @return {Number} The number of simultaneous event for this event.\n */\n getOverlapsStreak (event, cellOverlaps = {}) {\n let streak = event.overlaps.length + 1\n let removeFromStreak = []\n event.overlaps.forEach(id => {\n if (!removeFromStreak.includes(id)) {\n const overlapsWithoutSelf = event.overlaps.filter(id2 => id2 !== id)\n overlapsWithoutSelf.forEach(id3 => {\n if (!cellOverlaps[id3].overlaps.includes(id)) removeFromStreak.push(id3)\n })\n }\n })\n\n removeFromStreak = [...new Set(removeFromStreak)] // Dedupe, most performant way.\n streak -= removeFromStreak.length\n return streak\n }\n\n /**\n * Tells whether an event is in a given date range, even partially.\n *\n * @param {Object} event The event to test.\n * @param {Date} start The start of range date object.\n * @param {Date} end The end of range date object.\n * @return {Boolean} true if in range, even partially.\n */\n eventInRange (event, start, end) {\n // Check if all-day or timeless event (if date but no time there won't be a `:` in event.start).\n if (event.allDay || !this._vuecal.time) {\n // Get the date and discard the time if any, then check it's within the date range.\n const startTimestamp = new Date(event.start).setHours(0, 0, 0, 0)\n const endTimestamp = new Date(event.end).setHours(23, 59, 0, 0)\n return (endTimestamp >= new Date(start).setHours(0, 0, 0, 0) &&\n startTimestamp <= new Date(end).setHours(0, 0, 0, 0))\n }\n\n const startTimestamp = event.start.getTime()\n const endTimestamp = event.end.getTime()\n return startTimestamp < end.getTime() && endTimestamp > start.getTime()\n }\n\n eventSameRange(event1, event2) {\n const isSameStart = event1.start.getTime() == event2.start.getTime()\n const isSameEnd = event1.end.getTime() == event2.end.getTime()\n return isSameStart && isSameEnd\n }\n}\n","
{{ split.label }}
","
","import { render } from \"./weekdays-headings.vue?vue&type=template&id=339102eb&lang=pug\"\nimport script from \"./weekdays-headings.vue?vue&type=script&lang=js\"\nexport * from \"./weekdays-headings.vue?vue&type=script&lang=js\"\n\nimport \"./weekdays-headings.vue?vue&type=style&index=0&id=339102eb&lang=scss\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./header.vue?vue&type=template&id=19ea4718&lang=pug\"\nimport script from \"./header.vue?vue&type=script&lang=js\"\nexport * from \"./header.vue?vue&type=script&lang=js\"\n\nimport \"./header.vue?vue&type=style&index=0&id=19ea4718&lang=scss\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","
{{ label }}
","
{{ cell.label }}\n
","
{{ vuecal.texts.deleteEvent }}
","import { render } from \"./event.vue?vue&type=template&id=4b2ee15a&lang=pug\"\nimport script from \"./event.vue?vue&type=script&lang=js\"\nexport * from \"./event.vue?vue&type=script&lang=js\"\n\nimport \"./event.vue?vue&type=style&index=0&id=4b2ee15a&lang=scss\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./cell.vue?vue&type=template&id=e1fa9802&lang=pug\"\nimport script from \"./cell.vue?vue&type=script&lang=js\"\nexport * from \"./cell.vue?vue&type=script&lang=js\"\n\nimport \"./cell.vue?vue&type=style&index=0&id=e1fa9802&lang=scss\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./all-day-bar.vue?vue&type=template&id=1fec77b5&lang=pug\"\nimport script from \"./all-day-bar.vue?vue&type=script&lang=js\"\nexport * from \"./all-day-bar.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./index.vue?vue&type=template&id=59399e28\"\nimport script from \"./index.vue?vue&type=script&lang=js\"\nexport * from \"./index.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { App } \t\tfrom 'vue'\nimport VueCal from './index.vue'\n\n\nexport default {\n\tinstall: (app: App) => {\n\n\t\tapp.component('Vue-cal', VueCal)\n\t}\n}","import { createApp } \tfrom 'vue'\nimport { IonicVue } \tfrom '@ionic/vue'\nimport { loadFonts } \tfrom './webfontloader'\nimport vuetify \t\t\tfrom './vuetify'\nimport { registerQuillUrlSanitizer } from './quill.util'\nimport loader \t\t\tfrom 'vue-loading-overlay'\nimport App \t\t\t\tfrom './App.vue'\n\nimport router \t\t\tfrom './router'\nimport store \t\t\tfrom '@/store'\nimport w \t\t\t\tfrom '@/plugins/w/w'\nimport axiosCustom from '@/plugins/w@custom/axios'\nimport tmStore \t\t\tfrom '@/plugins/tm@_store'\nimport vueCal \t\t\tfrom '@/plugins/app@vendor/vue-cal'\nimport { Options } \t\tfrom '@/plugins/w/w/types'\n\nimport '@ionic/vue/css/core.css'\nimport '@ionic/vue/css/normalize.css'\nimport '@ionic/vue/css/structure.css'\nimport '@ionic/vue/css/typography.css'\nimport '@ionic/vue/css/padding.css'\nimport '@ionic/vue/css/float-elements.css'\nimport '@ionic/vue/css/text-alignment.css'\nimport '@ionic/vue/css/text-transformation.css'\nimport '@ionic/vue/css/flex-utils.css'\nimport '@ionic/vue/css/display.css'\n\nimport '@/plugins/app/_theme/index.sass'\nimport 'vue-loading-overlay/dist/vue-loading.css'\nimport '@vuepic/vue-datepicker/dist/main.css'\n\nloadFonts()\nregisterQuillUrlSanitizer()\n\nconst options: Options = {\n\taxios: {\n\t\tdisabled: true\n\t},\n\ti18n: {\n\t\tlanguages: [\n\t\t\t{\n\t\t\t\ttitle: \"Slovenský\", flag: \"sk\", value: \"sk\"\n\t\t\t}\n\t\t],\n\t\tdefaultLanguage: 'sk'\n\t},\n\tmoxios: {\n\t\troutes: {\n\t\t\t// 'GET v1/auth/info': true,\n\t\t\t// 'POST v1/auth/forgot': true,\n\t\t\t// 'POST v1/auth/reset': true,\n\t\t\t// 'POST v1/auth/info': true,\n\t\t\t// 'POST v1/auth/invalidate': true,\n\t\t\t// 'POST v1/auth/login': true,\n\t\t\t// 'POST v1/auth/post': true,\n\n\t\t\t'GET v1/overview/teams': true,\n\t\t\t'GET v1/overview/tasks': true,\n\t\t\t// 'GET v1/search': true,\n\t\t}\n\t}\n}\n\nconst app = createApp(App)\n\t.use(router)\n\t.use(store)\n\t.use(axiosCustom)\n\t.use(w, options)\n\t.use(IonicVue)\n\t.use(vuetify)\n\t.use(vueCal)\n\t.use(tmStore)\n\t.use(loader, {\n\t\tcolor: '#6200EE'\n\t})\n\t.mount('#app')\n\n// @ts-expect-error\nexport const $t = app.$i18n.t\n","import { $t } from '@/plugins/app/_config/main'\n\nexport default {\n\tparseErrors(errors) {\n\t\t// @ts-expect-error\n\t\treturn Object.values(errors).map(error => $t(error?.$message)).join('. ')\n\t}\n}","export default {\n\tmethods: {\n\t\tcustomFilter(item, input) {\n\t\t\t// Replace accented characters with non-accented equivalents\n\t\t\tconst normalizedItem = item.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '');\n\t\t\tconst normalizedInput = input.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '');\n\t\t\t\n\t\t\t// Remove any character that is not a letter, number, or space from both the item and the input\n\t\t\tconst pattern = /[^a-zA-Z0-9 ]/g;\n\t\t\tconst cleanedItem = normalizedItem.replace(pattern, '');\n\t\t\tconst cleanedInput = normalizedInput.replace(pattern, '');\n\t\t\t\n\t\t\t// Check if the cleaned item starts with the cleaned input and return empty value for dropdown if present\n\t\t\treturn cleanedItem.toLowerCase().includes(cleanedInput.toLowerCase()) || item === '';\n\t\t}\n\t}\n}","import moment from 'moment'\n\nexport default {\n\tenrichEmployees(employees) {\n\t\treturn employees.map(employee => ({\n\t\t\t...employee, \n\t\t\t_fullName: `${ employee.name } ${ employee.surname }`,\n\t\t\t_initials: employee.name.charAt(0) + employee.surname.charAt(0)\n\t\t}))\n\t},\n\n\tformatDateTime(date) {\n\t\tmoment(date)\n\t\treturn moment(date).format('DD.MM.yyyy, HH:mm')\n\t},\n\n\tformatDateTimeForBackend(date) {\n\t\treturn moment(date).format('YYYY-MM-DD HH:mm:ss')\n\t},\n\n\tformatDate(date) {\n\t\treturn moment(date).format('DD.MM.yyyy')\n\t},\n\n\tisBefore(date, compareTo = null) {\n\t\treturn moment(date).isBefore(moment(compareTo))\n\t},\n\n\tisAfter(date, compareTo = moment()) {\n\t\treturn moment(date).isAfter(moment(compareTo))\n\t}\n}","var map = {\n\t\"./en.json\": 20790,\n\t\"./sk.json\": 71941\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 8973;","var map = {\n\t\"./ar.json\": [\n\t\t68568,\n\t\t8568\n\t],\n\t\"./bg.json\": [\n\t\t20684,\n\t\t684\n\t],\n\t\"./bn.json\": [\n\t\t61170,\n\t\t1170\n\t],\n\t\"./bs.json\": [\n\t\t41161,\n\t\t1161\n\t],\n\t\"./ca.json\": [\n\t\t40612,\n\t\t612\n\t],\n\t\"./cs.json\": [\n\t\t50213,\n\t\t213\n\t],\n\t\"./da.json\": [\n\t\t98542,\n\t\t8542\n\t],\n\t\"./de.json\": [\n\t\t4701,\n\t\t4701\n\t],\n\t\"./el.json\": [\n\t\t20453,\n\t\t453\n\t],\n\t\"./en.json\": [\n\t\t3320,\n\t\t3320\n\t],\n\t\"./es.json\": [\n\t\t60076,\n\t\t76\n\t],\n\t\"./et.json\": [\n\t\t44075,\n\t\t4075\n\t],\n\t\"./fa.json\": [\n\t\t69004,\n\t\t9004\n\t],\n\t\"./fr.json\": [\n\t\t60007,\n\t\t7\n\t],\n\t\"./he.json\": [\n\t\t23746,\n\t\t3746\n\t],\n\t\"./hr.json\": [\n\t\t92921,\n\t\t2921\n\t],\n\t\"./hu.json\": [\n\t\t75723,\n\t\t5723\n\t],\n\t\"./id.json\": [\n\t\t12502,\n\t\t2502\n\t],\n\t\"./is.json\": [\n\t\t13214,\n\t\t3214\n\t],\n\t\"./it.json\": [\n\t\t51380,\n\t\t1380\n\t],\n\t\"./ja.json\": [\n\t\t72484,\n\t\t2484\n\t],\n\t\"./ka.json\": [\n\t\t60285,\n\t\t285\n\t],\n\t\"./ko.json\": [\n\t\t79249,\n\t\t9249\n\t],\n\t\"./lt.json\": [\n\t\t42838,\n\t\t2838\n\t],\n\t\"./mn.json\": [\n\t\t6177,\n\t\t6177\n\t],\n\t\"./nl.json\": [\n\t\t99729,\n\t\t9729\n\t],\n\t\"./no.json\": [\n\t\t49409,\n\t\t9409\n\t],\n\t\"./pl.json\": [\n\t\t25409,\n\t\t5409\n\t],\n\t\"./pt-br.json\": [\n\t\t74529,\n\t\t4529\n\t],\n\t\"./ro.json\": [\n\t\t29715,\n\t\t9715\n\t],\n\t\"./ru.json\": [\n\t\t32113,\n\t\t2113\n\t],\n\t\"./sk.json\": [\n\t\t30229,\n\t\t229\n\t],\n\t\"./sl.json\": [\n\t\t28636,\n\t\t8636\n\t],\n\t\"./sq.json\": [\n\t\t204,\n\t\t204\n\t],\n\t\"./sr.json\": [\n\t\t55553,\n\t\t5553\n\t],\n\t\"./sv.json\": [\n\t\t75979,\n\t\t5979\n\t],\n\t\"./tr.json\": [\n\t\t5268,\n\t\t5268\n\t],\n\t\"./uk.json\": [\n\t\t14057,\n\t\t4057\n\t],\n\t\"./vi.json\": [\n\t\t88929,\n\t\t8929\n\t],\n\t\"./zh-cn.json\": [\n\t\t56730,\n\t\t6730\n\t],\n\t\"./zh-hk.json\": [\n\t\t30841,\n\t\t841\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__.t(id, 3 | 16);\n\t});\n}\nwebpackAsyncContext.keys = function() { return Object.keys(map); };\nwebpackAsyncContext.id = 66667;\nmodule.exports = webpackAsyncContext;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \".\" + {\"7\":\"7cef58a7\",\"76\":\"9977e9df\",\"188\":\"d74ce2b2\",\"204\":\"4dd3d03d\",\"213\":\"c9ed5252\",\"229\":\"b09f2145\",\"285\":\"6a0985b5\",\"453\":\"04d72c77\",\"612\":\"4ea201aa\",\"684\":\"017ebeb8\",\"841\":\"65cae984\",\"907\":\"bfa01f81\",\"924\":\"ddc3fd73\",\"1097\":\"88cdd882\",\"1161\":\"59a7c68b\",\"1170\":\"16217940\",\"1380\":\"fc40de11\",\"1466\":\"c5d34b19\",\"2113\":\"2a1bcdfa\",\"2484\":\"6def3002\",\"2502\":\"66addef9\",\"2612\":\"ea780a2e\",\"2838\":\"aa69ee5c\",\"2885\":\"d75b7a04\",\"2921\":\"b5aad8e9\",\"3214\":\"72d306e7\",\"3311\":\"bcab8a66\",\"3320\":\"fe7033d0\",\"3657\":\"e558064c\",\"3728\":\"3e558208\",\"3746\":\"09ee0424\",\"3862\":\"b079a5bd\",\"4057\":\"4b3b38fd\",\"4075\":\"2d83f71e\",\"4392\":\"02bf9f00\",\"4518\":\"8e2c3fa8\",\"4529\":\"6ff3334b\",\"4578\":\"5a7acff1\",\"4701\":\"e34c277a\",\"5268\":\"5d463fbd\",\"5409\":\"4ce439c3\",\"5456\":\"e8c8face\",\"5553\":\"032fcbe7\",\"5723\":\"09853a5d\",\"5979\":\"385e1b41\",\"6177\":\"12db94aa\",\"6730\":\"61289e01\",\"7073\":\"57c96578\",\"7343\":\"1e290ed5\",\"8024\":\"bb377405\",\"8059\":\"91d676ea\",\"8520\":\"cb7009ea\",\"8542\":\"09badcc3\",\"8568\":\"7f0dfd32\",\"8636\":\"2a90cf11\",\"8731\":\"a28fea96\",\"8929\":\"ea6da50f\",\"8990\":\"6dd37151\",\"9004\":\"ffe04245\",\"9033\":\"727fb9e6\",\"9249\":\"d2b0f88c\",\"9407\":\"ed2e3833\",\"9409\":\"339f5afb\",\"9715\":\"21ca1afa\",\"9729\":\"812aea5b\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + chunkId + \".\" + {\"188\":\"37c2c58b\",\"907\":\"fa9ddfdd\",\"2612\":\"f67d9d9c\",\"2885\":\"10c05ec3\",\"3862\":\"f5c9dd84\",\"4392\":\"01299cfb\",\"5456\":\"2cf84289\",\"7073\":\"3978ef96\",\"8059\":\"2ab138a8\",\"9033\":\"ace2e544\",\"9407\":\"f4af91bc\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"jandl:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t};\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","var createStylesheet = function(chunkId, fullhref, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tdocument.head.appendChild(linkTag);\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t4826: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"188\":1,\"907\":1,\"2612\":1,\"2885\":1,\"3862\":1,\"4392\":1,\"5456\":1,\"7073\":1,\"8059\":1,\"9033\":1,\"9407\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t4826: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkjandl\"] = self[\"webpackChunkjandl\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4998], function() { return __webpack_require__(37729); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["webpackEmptyAsyncContext","req","Promise","resolve","then","e","Error","code","keys","id","module","exports","map","webpackContext","webpackContextResolve","__webpack_require__","o","Object","async","loadFonts","webFontLoader","load","google","families","createVuetify","registerQuillUrlSanitizer","Link","Quill","PROTOCOL_WHITELIST","push","CustomLinkSanitizer","static","url","sanitizedUrl","super","sanitize","protocolWhitelist","hasWhitelistedProtocol","some","protocol","startsWith","_createVNode","_component_v_app","_component_v_main","_component_router_view","_component_Z_team_modal","ref","onUpdate","$options","_component_Z_delete_team_modal","_component_Z_task_modal","onOnSubtaskEdited","_component_Z_delete_task_modal","onOnSubtaskDeleted","_component_Z_delete_timeBlock_modal","_component_Z_delete_blocker_modal","onOnBlockerDeleted","_component_Z_delete_master_task_modal","onOnMastertaskDeleted","_component_Z_complete_task_modal","_component_Z_complete_master_task_modal","onMasterTaskEdited","_component_Z_task_add_time_modal","_component_Z_blocker_modal","_component_Z_master_task_modal","_component_Z_delete_team_member_modal","_component_Z_show_menu_modal","_component_Z_unable_to_edit_office_task_modal","_component_Z_unable_to_complete_task_modal","class","_createBlock","_component_v_dialog","$data","persistent","_component_v_card","_createElementVNode","_hoisted_1","name","_component_v_icon","onClick","icon","size","_component_v_card_actions","_component_v_btn","variant","disabled","mounted","window","addEventListener","this","handleKeyDown","methods","event","keyCode","visible","mixins","modalMixin","emits","data","team","isDeleting","closeModal","$axios","delete_auth","$emit","$store","commit","error","$toast","$parseError","__exports__","height","_component_W_loadable","content","_component_v_text_field","$errors","length","label","hint","parseErrors","_createElementBlock","_Fragment","employees","employee","index","key","_fullName","splice","_component_v_autocomplete","_ctx","items","clearable","atLeastOne","value","AutocompleteMixin","v$","useVuelidate","errorUtils","employeeSelect","computed","mapGetters","employeesOptions","selectedEmployeesIds","enrichedEmployees","filter","includes","validations","required","$nextTick","$reset","t","get_auth_data","_enrichTeam","$validate","put_auth","fullTeamResource","post_auth","tmUtils","watch","employeeId","find","$refs","autocomplete","search","project_code","subtask","_hoisted_2","timeblocks","timeblock","is_finished","formatDateTime","start","end","JSON","parse","stringify","deadline","_update","deleteTimeblockWithoutId","i","timesheets","timesheet","employee_name","$events","emit","message","d","_hoisted_3","_hoisted_4","_hoisted_7","_hoisted_8","onFocus","master_task_id","title","_component_Datepicker","Date","format","locale","placeholder","_deadline_time","type","employee_id","version","xmlns","width","viewBox","duration","substring","readonly","_hoisted_12","_hoisted_10","_component_A_timeblock","onUpdateTimeblock","val","onRemoveTimeblock","deletable","editable","_hoisted_11","_hoisted_13","_component_QuillEditor","description","theme","onInput","$event","srcElement","innerHTML","_component_Z_files_upload","files","onFilesUploaded","_hoisted_14","_master_task","_hoisted_15","_hoisted_16","src","require","alt","_hoisted_19","_component_Z_task_readonly_info","onCloseModal","onUpdateSubtask","_hoisted_20","multiple","accept","onChange","fileUpload","click","file","_component_v_chip","toFixed","indexOf","$props","props","Array","default","isSaving","Boolean","uploadedFiles","created","maxSize","oversizedFiles","remove","_component_v_row","_component_v_col","cols","_component_v_sheet","_hoisted_5","_hoisted_6","date","form","starts_at_time","ends_at_time","components","Datepicker","showModal","isOffice365Task","splittedStartsAtTime","split","splittedEndsAtTime","moment","hours","parseInt","minutes","toISOString","_mergeDeadlineTimeDate","isAfterDeadline","originalTimeblock","console","log","newTimeblock","getDeadline","mDate","mDeadline","Number","isAfter","master_task_deadline","timeParts","setHours","setMinutes","preventInputFocus","setFocusEvent","document","querySelectorAll","forEach","input","onInputFocus","onDateFocus","undefined","target","blur","selectedEmployees","mastertask","projectsOptions","pattern","normalizedInput","projectCodeSearch","normalize","replace","projects","project","normalizedProjectCode","toLowerCase","filteredProjects","slice","project_id","selectedProject","onEmployeeSelected","showAddEmployeeInput","onEmployeeDurationChanged","totalDuration","parseFloat","invalid","teams","_component_A_mastertask_name","color","_component_A_mastertask_status","isFinished","_component_A_task_deadline","_component_A_task_timeblocks","_component_Z_created_by","created_by","_component_A_task_assigned_employee","_employee","_component_A_task_planned_time","_component_A_task_remaining_time","spent_time","_component_A_task_spent_time","_component_A_task_description","master_task_description","_component_Z_files","style","backgroundColor","String","openMastertask","editMode","_initials","charAt","surname","time","timestamp","_hoisted_9","numeric","minValue","user","formatDate","_component_v_tooltip","text","location","activator","_mergeProps","deadlineTime","getMasterTaskDeadline","toast","useToast","detectOS","platform","navigator","macosPlatforms","windowsPlatforms","prepareHTMLDescription","os","match","replaceAll","getCopyFunction","mastertaskDescription","copiedIndices","preparedDescription","preparedMastertaskDescription","emptyMessage","file_size","isLoading","response","fetch","path","blob","FileSaver","ZFiles","AMastertaskName","AMastertaskStatus","ATaskTimeblocks","ZCreatedBy","ATaskAssignedEmployee","ATaskPlannedTime","ATaskSpentTime","ATaskRemainingTime","ATaskDescription","ATaskDeadline","VuetifyFixFocusMixin","requiredIf","openMenu","scrollIntoView","behavior","block","inline","popup","querySelector","isBottom","yDifference","clientHeight","top","innerHeight","updateDate","updateStartTime","updateEndTime","SelectsMixin","ZTaskReadonlyInfo","ATimeblock","ZFilesUpload","QuillEditor","employeeValidations","showDatePicker","selectedNewDate","wasFormValidationTriggered","on","splittedDeadline","_enrichTask","$forceUpdate","toggleEditMode","mode","openDatepicker","updateTimeblock","removeTimeblock","savedSubtask","localStorage","getItem","parsedSubtask","setHTML","master_task","deleteTimeblock","$router","$route","employeesValid","_validateEmployees","timeblocksValid","_validateTimeblocks","setTimeout","validateAllFields","getHTML","patch_auth_form","removeItem","validEmployees","subtaskCopy","subtasks","openDeleteTaskModal","showCompleteTaskModal","filesUploaded","updateSubtask","hasValidEmployee","isError","_created_by","mastertasks","oldValue","handler","lastEmployee","deep","subtaskData","setItem","blocker","tempSubtask","tempMastertask","payload","datepicker","clearValue","_syncDatesTimes","splittedStart","splittedEnd","set","estimated_duration","_component_v_select","team_id","_allEmployees","min","onKeyup","_component_A_mastertask_description","_component_A_tasks_table","_component_v_table","_employeeInitials","_employeeFullName","checkmark","bin","eye","office365","enrichedtasks","openTaskModal","_component_Z_status","status","_component_Z_deadline","_component_Z_team","_component_Z_estimated_duration","_component_Z_planned_time","_component_Z_remaining_time","time_worked","_component_Z_spent_time","_component_Z_description","inheritedDescription","preparedInheritedDescription","isExceeded","enrichedEmployeesInTeam","enrichedEmployeesOutsideTeam","employeesOutsideOfTeam","em","ZDeadline","ZDescription","ZPlannedTime","ZRemainingTime","ZSpentTime","ZStatus","ZTeam","ZEstimatedDuration","AMastertaskDescription","ATasksTable","enrichedSubtasks","quillEditorRequired","minLength","$each","closeBothModals","teamId","memberId","task","beforeUnmount","off","removeEmployee","removeMemberAlert","member","loadMastertask","savedMastertask","parsedMastertask","toggleIsFinished","vuelidateValid","post_auth_data","openDeleteMasterTaskModal","addTask","onQuillEditorInput","isValid","getHours","getMinutes","toString","padStart","oldTeamEmployeesIds","employeesNotInOldTeam","_","_component_v_card_text","_component_v_spacer","localData","createTask","onTaskCreated","createBlocker","onBlockerCreated","loading","loadingTimeblocks","loadingCloseAll","areAllTimeblocksFinished","every","_finishSubtask","dispatch","promises","all","ZDeleteTeamModal","ZTeamModal","ZDeleteTaskModal","ZDeleteBlockerModal","ZTaskModal","ZMasterTaskModal","ZCompleteTaskModal","ZTaskAddTimeModal","ZBlockerModal","ZDeleteMasterTaskModal","ZDeleteTeamMemberModal","ZShowMenuModal","ZCompleteMasterTaskModal","ZDeleteTimeBlockModal","ZUnableToEditOfficeTaskModal","ZUnableToCompleteTaskModal","query","_showModalsAfterInicialization","onTeamUpdate","onTaskDeleted","onBlockerDeleted","onTaskEdited","onMasterTaskDeleted","repeat","getters","render","createStore","state","mutations","actions","modules","routes","redirect","component","children","meta","requiresAuth","router","createRouter","history","createWebHashHistory","process","beforeEach","to","from","next","isLoggedIn","store","axios","config","catch","reject","_config","params","headers","Authorization","install","app","options","globalProperties","encodeGetParams","p","entries","kv","encodeURIComponent","join","strToRegex","s","re","Moxios","constructor","_redirectRequestToMock","bind","_mocks","mock","append","k","m","reUrl","matchMethod","mocked","method","fname","VUE_APP_PLATFORM","toUpperCase","c","origin","moxios","values","events","mitt","I18n","properties","instance","translated","availableLanguages","languages","defaultLanguage","language","languageKey","vendorI18n","createI18n","legacy","fallbackLocale","messages","_loadLocaleMessages","missing","_missingTranslation","postTranslation","_postTranslation","changeLanguage","flag","initCurrentLanguage","Preferences","currentLanguage","_addAxiosHeaders","global","locales","warn","matched","use","i18n","$w18n","IonContent","IonPage","IonLabel","IonBackButton","IonCheckbox","IonText","IonButton","IonItem","IonItemGroup","IonItemSliding","IonItemOption","IonItemOptions","IonToolbar","IonHeader","IonFooter","IonSlides","IonSlide","IonSpinner","IonRow","IonCol","IonGrid","IonInput","IonButtons","IonIcon","IonImg","IonList","IonSkeletonText","IonTitle","IonMenu","IonSplitPane","IonMenuButton","IonRouterOutlet","IonSegment","IonSegmentButton","IonVirtualScroll","IonTextarea","IonSearchbar","IonRefresherContent","IonRefresher","IonInfiniteScrollContent","IonInfiniteScroll","IonAvatar","IonThumbnail","IonModal","IonRadioGroup","IonRadio","IonNote","IonCard","IonCardContent","IonTabBar","IonTabButton","IonMenuToggle","IonFab","IonFabButton","IonFabList","IonReorderGroup","IonReorder","IonSelect","IonSelectOption","IonToggle","IonBadge","IonChip","IonTabs","_unauthorised","namespaced","token","auth_success","auth_error","logout","open","login","credentials","signup","finally","forgotPassword","resetPassword","updateUserInfo","registerModule","auth","VueToast","_renderSlot","loader","_startLoading","_stopLoading","WLoadable","ionic","loadable","parseAndTranslate","errorsArray","_parseToArrayOfStrings","$t","statusText","toastUtils","_objectToFormData","formData","transformRequest","_buildFormData","parentKey","File","FormData","unscheduledSubtasks","ongoingSubtasks","initialized","ongoingSubtasksEmployeeId","unscheduledSubtasksEmployeeId","set_mastertasks","set_employees","set_teams","set_projects","set_unscheduled_subtasks","set_ongoing_subtasks","remove_ongoing_subtask","subtaskId","st","update_team","save_team","delete_team","update_subtask","delete_subtask","set_ongoing_subtasks_employee_id","set_unscheduled_subtasks_employee_id","initialize","reloadSubtasks","reloadMastertasks","loadMastertasks","loadEmployees","loadTeams","loadProjects","loadUnscheduledSubtasks","employeeIdToUse","loadOngoingSubtasks","removeOngoingSubtask","sort","a","b","isInitialized","tmStore","grow","row","column","_hoisted_27","lang","_component_vuecal_header","views","weekDaysInHeader","heading","view","_Transition","appear","_component_all_day_bar","titleEditable","contenteditable","onBlur","vuecal__flex","allDay","cell","week","wrap","_component_weekdays_headings","unscheduledTime","el","_component_vuecal_cell","selectCell","goNarrower","_hoisted_18","noEvent","_hoisted_22","formatTime","endTimeMinutes","daysCount","segments","formattedDate","isFirstDay","_hoisted_24","day","_hoisted_26","now","todayDate","todayF","self","_dateObject","_timeObject","DateUtils","texts","noPrototypes","_texts","prototype","addDays","_initDatePrototypes","days","subtractDays","addHours","subtractHours","addMinutes","subtractMinutes","getWeek","isToday","isLeapYear","removePrototypes","updateTexts","_todayFormatted","getDate","getFullYear","getMonth","valueOf","setDate","UTC","dayNum","getUTCDay","setUTCDate","getUTCDate","yearStart","getUTCFullYear","Math","ceil","year","getPreviousFirstDayOfWeek","weekStartsOnSunday","prevFirstDayOfWeek","dayModifier","getDay","stringToDate","countDays","timezoneDiffMs","getTimezoneOffset","datesInSameTimeStep","date1","date2","timeStep","abs","getTime","formatDateLite","dateObj","YYYY","_hydrateDateObject","YY","M","MM","MMM","MMMM","MMMMG","D","DD","S","dd","ddd","dddd","HH","_hydrateTimeObject","H","hh","h","am","AM","mm","contents","result","round","shouldRound","getSeconds","formatTimeLite","timeObj","formatted","_nth","dayNumber","months","monthsGenitive","weekDays","substr","floor","pm","minutesInADay","CellUtils","vuecal","force","_vuecal","clickToNavigate","switchToNarrowerView","dblclickToNavigate","domEvents","dblTapACell","taps","timeout","left","cellsEl","getBoundingClientRect","clientX","clientY","touches","x","y","cursorCoords","timeCellHeight","timeFrom","getPosition","max","defaultEventDuration","ud","_cellOverlaps","_comparisonArray","EventUtils","dateUtils","_eid","startTimeMinutes","background","deleting","resizable","resizing","draggable","dragging","draggingStatic","focused","createAnEvent","dateTime","eventOptions","dateToMinutes","eventDefaults","uid","eventIdIncrement","onEventCreate","deleteAnEvent","startDateF","endDateF","mutableEvents","addEventsToView","emitWithEvent","cleanupEvent","originalEvent","addEventSegment","isLastDay","previousSegment","removeEventSegment","segmentsCount","createEventSegments","viewStartDate","viewEndDate","viewStartTimestamp","viewEndTimestamp","eventStartAtMidnight","eventStart","eventEnd","repeatedEventStartFound","until","createSegment","nextMidnight","tmpDate","tmpDateFormatted","occurrences","checkCellOverlappingEvents","cellEvents","shift","overlaps","position","sameOverlaps","e2","eventIsInRange","eventInRange","eventSameOverlap","eventSameRange","eventsInSameTimeStep","overlapsPerTimeStep","pos1","pos2","Set","longestStreak","item","overlapsRow","id2","findIndex","getOverlapsStreak","cellOverlaps","streak","removeFromStreak","overlapsWithoutSelf","id3","startTimestamp","endTimestamp","event1","event2","isSameStart","isSameEnd","role","hideViewSelector","_createCommentVNode","_renderList","v","enabled","_normalizeClass","highlightedControl","onDragenter","drag","viewSelectorDragEnter","onDragleave","viewSelectorDragLeave","hideTitleBar","transitions","_resolveDynamicComponent","startDate","todayButton","_createSlots","$slots","fn","_createTextVNode","hide","today","clickable","toLocaleDateString","_normalizeStyle","onDblclick","dayOfMonth","full","small","xsmall","hasSplits","stickySplitLabels","daySplits","inject","transitionDirection","Function","DOMEvent","selectedDate","utils","cleanupHeading","initials","onTimelineScroll","viewPortOffset","headings","todayFound","startWeekOnSunday","short","cellWidth","reduce","total","weekdayCellStyles","hideWeekdays","cellHeadingsClickable","WeekdaysHeadings","editEvents","viewProps","goToToday","updateSelectedDate","switchToBroaderView","broaderView","switchView","get","direction","enabledViews","showDaySplits","minSplitWidth","dnd","isWeekView","isMonthView","minTimestamp","maxTimestamp","_TransitionGroup","tag","tabindex","onKeypress","_withKeys","onTouchstart","onMousedown","onContextmenu","cellContextmenu","cellDragEnter","onDragover","cellDragOver","cellDragLeave","onDrop","cellDragDrop","showTimeInCells","timeCells","eventsOnMonthView","j","_component_event","allOverlaps","overlapsStreak","cellOverlapsStreak","eventId","onMouseenter","onMouseleave","_withModifiers","onMouseup","onTouchend","onTouchmove","onDragstart","onDragend","delete","deleteEvent","cellFormattedDate","eventPosition","touch","dragThreshold","startX","startY","dragged","onMouseDown","targetElement","nodeName","parentElement","classList","contains","preventDefault","clickHoldAnEvent","focusAnEvent","resizeAnEvent","dragAnEvent","focusEvent","timeoutId","onMouseUp","mousedUp","onMouseEnter","onMouseLeave","onTouchMove","onEventClick","onTouchStart","onEnterKeypress","onDblClick","onEventDblclick","onDragStart","eventDragStart","onDragEnd","eventDragEnd","onResizeHandleMouseDown","assign","segment","originalEnd","originalEndTimeMinutes","touchDeleteEvent","cancelDeleteEvent","focusedEvent","cancelDelete","eventDimensions","minutesFromTop","timeTo","bottom","eventStyles","zIdnex","master_task_color","isArray","sameOverlapsLength","parentNotSameOverlaps","minEventWidth","eventClasses","is_blocker","resize","Event","cellSplits","timeAtCursor","highlighted","highlightedSplit","getSplitAtCursor","targetIsSplit","findAncestor","attributes","splitClasses","isWeekend","eventsCount","splitsCount","isDOMElementAnEvent","onCellkeyPressEnter","isSelected","onCellFocus","keyPressEnterCell","isDisabled","onCellMouseDown","clickHoldACell","cancelClickEventCreation","eventCreated","minutesAtCursor","mouseDownOnEvent","create","setUpEventCreation","startCursorY","dragToCreateEvent","dragCreateAnEvent","snapToTime","timeMinutes","plusHalfSnapTime","cellClickHold","setUpCellHoldTimer","cellId","onCellTouchStart","onCellClick","offsetY","dateFrom","dateTo","isTeamCalendar","onCellDblClick","onCellContextMenu","stopPropagation","nowInMinutes","isBeforeMinDate","endDate","isAfterMaxDate","disableDays","isYearsOrYearView","selected","isWeekOrDayView","specialHours","timeScale","cellStart","cellEnd","eventsCountOnYearView","outOfScopeEvents","showAllDayEvents","singleDayInRange","multipleDayInRange","recurrMultDayInRange","splits","cellClasses","current","outOfScope","cellStyles","timelineVisible","todaysTimePosition","Cell","cells","shortEvents","cellOrSplitMinWidth","hasCellOrSplitWidth","minCellWidth","textsDefaults","fill","weekDaysShort","years","month","createEvent","dateFormat","validViews","Header","AllDayBar","provide","previous","activeView","scrollToHour","allDayBarHeight","disableDatePrototypes","disableViews","dragToCreateThreshold","editableEvents","hideBody","hideWeekends","maxDate","minDate","resizeX","showWeekNumbers","splitDays","timeFormat","twelveHour","watchRealTime","ready","firstCellDate","lastCellDate","timeTickerIds","startCell","endCell","loadDragAndDrop","DragAndDrop","validateView","fromViewSelector","viewDateBeforeChange","oldView","setSeconds","daysToAdd","daysToSubtract","weekDaysCount","viewDate","scrollTop","previousNext","modifier","viewId","weekDay","weekDayIndex","isDayHidden","daysWithIndex","dayToShow","daysFromDate","reverse","ue","filteredEvents","Class","onMouseMove","eventResizing","eventDragCreation","isClickHoldingEvent","wasResizing","hasResized","dragCreatedEvent","dragCreateStarted","mouseUpOnEvent","eventClicked","mutableEvent","cleanEvent","oldDate","unfocusEvent","clearTimeout","eventClickHandler","onKeyUp","newEndTimeMins","offsetWidth","childElementCount","newEnd","newDaysCount","lastSegmentFormattedDate","dragFromBottom","onEventTitleBlur","oldTitle","updateMutableEvents","multipleDays","discardProps","prop","eventName","getWeekNumber","weekFromFirstCell","firstCellWeekNumber","firstCellDateWeekNumber","currentWeekNumber","timeTick","updateDateTexts","alignWithScrollbar","cellOrSplitHasEvents","loadLocale","currentView","hasTouch","hasEventClickHandler","passive","oncontextmenu","viewportTimelineOffset","removeEventListener","hasTimeColumn","isShortMonthView","TimeFormat","hasShortEvents","minWidth","visibleDaysCount","allDayBar","isNaN","viewCells","unshift","pop","specialDayHours","viewTitle","lastDayOfWeek","y1","m1","formattedMonthYear","y2","m2","fromYear","apply","firstDayOfWeek","dayOfWeek","isDayView","cssClasses","isYearsView","isYearView","oldEvents","newVal","VueCal","createApp","App","axiosCustom","w","IonicVue","vuetify","vueCal","mount","$i18n","errors","$message","customFilter","normalizedItem","cleanedItem","cleanedInput","enrichEmployees","formatDateTimeForBackend","isBefore","compareTo","webpackAsyncContext","ids","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","call","deferred","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","r","n","getter","__esModule","leafPrototypes","getProto","getPrototypeOf","obj","__proto__","ns","def","getOwnPropertyNames","definition","defineProperty","enumerable","f","chunkId","u","miniCssF","g","globalThis","hasOwnProperty","inProgress","dataWebpackPrefix","l","done","script","needAttach","scripts","getElementsByTagName","getAttribute","createElement","charset","nc","setAttribute","onScriptComplete","prev","onerror","onload","doneFns","parentNode","removeChild","head","appendChild","Symbol","toStringTag","nmd","paths","createStylesheet","fullhref","linkTag","rel","onLinkComplete","errorType","realHref","href","err","request","findStylesheet","existingLinkTags","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","promise","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/app/src/plugins/tm@dashboard/teams/_mixins/TeamsCalendar.mixin.ts b/app/src/plugins/tm@dashboard/teams/_mixins/TeamsCalendar.mixin.ts index 785c65c..93ee37b 100644 --- a/app/src/plugins/tm@dashboard/teams/_mixins/TeamsCalendar.mixin.ts +++ b/app/src/plugins/tm@dashboard/teams/_mixins/TeamsCalendar.mixin.ts @@ -154,6 +154,11 @@ export default { subtask.timeblocks.forEach(timeblock => { const formattedDate = moment(timeblock.start).format('DD-MM-YYYY') + let type = 'subtask'; + + if (subtask.type == 'office365') + type = 'office365' + if (formattedDate == calendarDate) { tasks.push({ id: subtask.id, @@ -167,7 +172,7 @@ export default { initials: employee?.name?.charAt(0)?.toUpperCase() + employee?.surname?.charAt(0)?.toUpperCase(), split: split, project_code: subtask.project_code, - type: 'subtask', + type, subtask, _timeblock_id: timeblock.id, _timeblock_is_finished: timeblock.is_finished,