ToDo by JANDL
\ No newline at end of file
+ToDo by JANDL
\ No newline at end of file
diff --git a/app/dist/js/1466.92176aab.js b/app/dist/js/1466.2eaeb2d3.js
similarity index 99%
rename from app/dist/js/1466.92176aab.js
rename to app/dist/js/1466.2eaeb2d3.js
index 8c13442..006c3fb 100644
--- a/app/dist/js/1466.92176aab.js
+++ b/app/dist/js/1466.2eaeb2d3.js
@@ -1,2 +1,2 @@
"use strict";(self["webpackChunkjandl"]=self["webpackChunkjandl"]||[]).push([[1466],{91466:function(e,t,l){l.r(t),l.d(t,{DragAndDrop:function(){return v}});var i=l(82482);const a=800;let n=null,r=null,u={id:null,date:null},s=!1,c=!0,d={el:null,cell:null,timeout:null};const o={_eid:null,fromVueCal:null,toVueCal:null},v=class{constructor(e){(0,i.Z)(this,"_vuecal",void 0),this._vuecal=e}_getEventStart(e){const{timeStep:t,timeCellHeight:l,timeFrom:i,utils:a}=this._vuecal;let{y:n}=a.cell.getPosition(e);return n-=1*e.dataTransfer.getData("cursor-grab-at"),Math.round(n*t/parseInt(l)+i)}_updateEventStartEnd(e,t,l,i){const a=1*l.duration||t.endTimeMinutes-t.startTimeMinutes;let n=Math.max(this._getEventStart(e),0);if(this._vuecal.snapToTime){const e=n+this._vuecal.snapToTime/2;n=e-e%this._vuecal.snapToTime}t.startTimeMinutes=n,t.start=new Date(new Date(i).setMinutes(n)),t.endTimeMinutes=Math.min(n+a,1440),t.end=new Date(new Date(i).setMinutes(t.endTimeMinutes))}eventDragStart(e,t){if(3===e.target.nodeType)return e.preventDefault();e.dataTransfer.dropEffect="move",e.dataTransfer.setData("event",JSON.stringify(t)),e.dataTransfer.setData("cursor-grab-at",e.offsetY);const{clickHoldAnEvent:l}=this._vuecal.domEvents;setTimeout((()=>{l._eid=null,clearTimeout(l.timeoutId),t.deleting=!1}),0),this._vuecal.domEvents.dragAnEvent._eid=t._eid,o._eid=t._eid,o.fromVueCal=this._vuecal._.uid,t.dragging=!0,setTimeout((()=>t.draggingStatic=!0),0),s=!1,u={id:this._vuecal.view.id,date:this._vuecal.view.startDate},c=!0}eventDragEnd(e){this._vuecal.domEvents.dragAnEvent._eid=null,o._eid=null,e.dragging=!1,e.draggingStatic=!1;const{fromVueCal:t,toVueCal:l}=o;l&&t!==l&&this._vuecal.utils.event.deleteAnEvent(e),o.fromVueCal=null,o.toVueCal=null,s&&c&&u.id&&this._vuecal.switchView(u.id,u.date,!0)}cellDragEnter(e,t,l){const i=e.currentTarget;if(!e.currentTarget.contains(e.relatedTarget)){if(i===d.el||!i.className.includes("vuecal__cell-content"))return!1;d.el&&(d.cell.highlighted=!1),d={el:i,cell:t,timeout:clearTimeout(d.timeout)},t.highlighted=!0,["years","year","month"].includes(this._vuecal.view.id)&&(d.timeout=setTimeout((()=>this._vuecal.switchToNarrowerView(l)),2e3))}}cellDragOver(e,t,l,i){e.preventDefault(),t.highlighted=!0,(i||0===i)&&(t.highlightedSplit=i)}cellDragLeave(e,t){e.preventDefault(),e.currentTarget.contains(e.relatedTarget)||(t.highlightedSplit=!1,d.cell===t&&(clearTimeout(d.timeout),d={el:null,cell:null,timeout:null},t.highlighted=!1))}cellDragDrop(e,t,l,i){e.preventDefault(),clearTimeout(d.timeout),d={el:null,cell:null,timeout:null};const a=JSON.parse(e.dataTransfer.getData("event")||"{}");let n,r;if(o.fromVueCal!==this._vuecal._.uid){const{_eid:e,start:t,end:r,duration:u,...s}=a;n=this._vuecal.utils.event.createAnEvent(l,u,{...s,split:i})}else if(n=this._vuecal.view.events.find((e=>e._eid===o._eid)),n||(n=this._vuecal.mutableEvents.find((e=>e._eid===o._eid)),r=!!n),!n){const e=a.endTimeMinutes-a.startTimeMinutes,{start:t,end:r,...u}=a;n=this._vuecal.utils.event.createAnEvent(l,e,{...u,split:i})}const{start:u,split:s}=n;this._updateEventStartEnd(e,n,a,l),r&&this._vuecal.addEventsToView([n]),n.dragging=!1,(i||0===i)&&(n.split=i),t.highlighted=!1,t.highlightedSplit=null,c=!1,o.toVueCal=this._vuecal._.uid;const v={event:this._vuecal.cleanupEvent(n),oldDate:u,newDate:n.start,...(i||0===i)&&{oldSplit:s,newSplit:i},originalEvent:this._vuecal.cleanupEvent(a),external:!o.fromVueCal};this._vuecal.$emit("event-drop",v),this._vuecal.$emit("event-change",{event:v.event,originalEvent:v.originalEvent}),setTimeout((()=>{o._eid&&this.eventDragEnd(n)}),300)}viewSelectorDragEnter(e,t,l){e.currentTarget.contains(e.relatedTarget)||(l.highlightedControl=t,clearTimeout(n),n=setTimeout((()=>{if(["previous","next"].includes(t))this._vuecal[t](),clearInterval(r),r=setInterval(this._vuecal[t],a);else if("today"===t){let e;clearInterval(r),this._vuecal.view.id.includes("year")&&(e=this._vuecal.enabledViews.filter((e=>!e.includes("year")))[0]),this._vuecal.switchView(e||this._vuecal.view.id,new Date((new Date).setHours(0,0,0,0)),!0)}else this._vuecal.switchView(t,null,!0);s=!0}),a))}viewSelectorDragLeave(e,t,l){e.currentTarget.contains(e.relatedTarget)||l.highlightedControl===t&&(l.highlightedControl=null,n&&(n=clearTimeout(n)),r&&(r=clearInterval(r)))}}}}]);
-//# sourceMappingURL=1466.92176aab.js.map
\ No newline at end of file
+//# sourceMappingURL=1466.2eaeb2d3.js.map
\ No newline at end of file
diff --git a/app/dist/js/1466.92176aab.js.map b/app/dist/js/1466.2eaeb2d3.js.map
similarity index 99%
rename from app/dist/js/1466.92176aab.js.map
rename to app/dist/js/1466.2eaeb2d3.js.map
index 04850fa..5dadaef 100644
--- a/app/dist/js/1466.92176aab.js.map
+++ b/app/dist/js/1466.2eaeb2d3.js.map
@@ -1 +1 @@
-{"version":3,"file":"js/1466.92176aab.js","mappings":"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","sources":["webpack://jandl/./src/plugins/app@vendor/vue-cal/modules/drag-and-drop.js"],"sourcesContent":["/**\n * Events drag and drop module.\n *\n * Note: 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 holdOverTimeout = 800 // How long we should hold over an element before it reacts.\nlet changeViewTimeout = null\nlet pressPrevOrNextInterval = null\nlet viewBeforeDrag = { id: null, date: null } // To go back if cancelling.\nlet viewChanged = false\nlet cancelViewChange = true\nlet dragOverCell = { el: null, cell: null, timeout: null }\nconst dragging = {\n _eid: null,\n fromVueCal: null,\n toVueCal: null\n}\n\nexport const DragAndDrop = class {\n _vuecal\n\n constructor (vuecal) {\n this._vuecal = vuecal\n }\n\n /**\n * When click and drag an event the cursor can be anywhere in the event,\n * when dropping the event, we need to subtract the cursor position in the event.\n *\n * @param {Object} e The associated DOM event.\n */\n _getEventStart (e) {\n const { timeStep, timeCellHeight, timeFrom, utils } = this._vuecal\n let { y } = utils.cell.getPosition(e)\n y -= e.dataTransfer.getData('cursor-grab-at') * 1\n return Math.round(y * timeStep / parseInt(timeCellHeight) + timeFrom)\n }\n\n /**\n * On drop, update the event start and end date directly into the event.\n *\n * @param {Object} e The associated DOM event.\n * @param {Object} event The event being dragged.\n * @param {Object} transferData The transfer data from the HTML5 dragging event.\n * @param {Date} cellDate The hovered cell starting date.\n */\n _updateEventStartEnd (e, event, transferData, cellDate) {\n // If no duration calculate it from event.endTimeMinutes - event.startTimeMinutes\n // before we modify the start and end.\n const eventDuration = transferData.duration * 1 || (event.endTimeMinutes - event.startTimeMinutes)\n\n // Force the start of the event at previous midnight minimum.\n let startTimeMinutes = Math.max(this._getEventStart(e), 0)\n\n // On drop, snap to time every X minutes if the option is on.\n if (this._vuecal.snapToTime) {\n const plusHalfSnapTime = (startTimeMinutes + this._vuecal.snapToTime / 2)\n startTimeMinutes = plusHalfSnapTime - (plusHalfSnapTime % this._vuecal.snapToTime)\n }\n\n event.startTimeMinutes = startTimeMinutes\n event.start = new Date(new Date(cellDate).setMinutes(startTimeMinutes))\n // Force the end of the event at next midnight maximum.\n event.endTimeMinutes = Math.min(startTimeMinutes + eventDuration, 24 * 60)\n event.end = new Date(new Date(cellDate).setMinutes(event.endTimeMinutes))\n }\n\n /**\n * On event drag start, only possible if editableEvent is true.\n * /!\\ This is using the native HTML5 drag & drop, not supported on touch devices.\n *\n * @param {Object} e The associated DOM event.\n * @param {Object} event The event being dragged.\n */\n eventDragStart (e, event) {\n // Cancel the drag if event has draggable set to false and trying to drag a text selection.\n if (e.target.nodeType === 3) return e.preventDefault()\n\n e.dataTransfer.dropEffect = 'move'\n // Transfer the event's data to the receiver (when successfully drag & dropping out of Vue Cal).\n // Notice: in Firefox the drag is prevented if there is no dataTransfer.setData().\n e.dataTransfer.setData('event', JSON.stringify(event))\n // When click and drag an event the cursor can be anywhere in the event,\n // when later dropping the event, we need to subtract the cursor position in the event.\n e.dataTransfer.setData('cursor-grab-at', e.offsetY) // In pixels.\n\n const { clickHoldAnEvent } = this._vuecal.domEvents\n // Cancel any delete on dragStart (if held for too long). Don't drag an event with a visible delete button.\n setTimeout(() => {\n clickHoldAnEvent._eid = null\n clearTimeout(clickHoldAnEvent.timeoutId)\n event.deleting = false\n }, 0)\n\n this._vuecal.domEvents.dragAnEvent._eid = event._eid // Only for vuecal dragging-event class.\n dragging._eid = event._eid\n dragging.fromVueCal = this._vuecal._.uid\n event.dragging = true\n // Controls the CSS class of the static event that remains while a copy is being dragged.\n // Thanks to this class, the event being dragged can have a different style.\n setTimeout(() => (event.draggingStatic = true), 0)\n\n viewChanged = false\n viewBeforeDrag = { id: this._vuecal.view.id, date: this._vuecal.view.startDate }\n\n cancelViewChange = true // Re-init the cancel view: should cancel unless a cell received the event.\n }\n\n /**\n * On event drag end, when releasing the event.\n *\n * @param {Object} event The event being dragged.\n */\n eventDragEnd (event) {\n this._vuecal.domEvents.dragAnEvent._eid = null\n dragging._eid = null\n event.dragging = false\n event.draggingStatic = false\n\n // If an event is dragged from a Vue Cal instance and dropped in a different one, remove the\n // event from the first one.\n const { fromVueCal, toVueCal } = dragging\n if (toVueCal && fromVueCal !== toVueCal) this._vuecal.utils.event.deleteAnEvent(event)\n dragging.fromVueCal = null\n dragging.toVueCal = null\n\n // When dropping the event, cancel view change if no cell received the event (in cellDragDrop).\n if (viewChanged && cancelViewChange && viewBeforeDrag.id) this._vuecal.switchView(viewBeforeDrag.id, viewBeforeDrag.date, true)\n }\n\n /**\n * On cell/split enter with a dragging event.\n * Highlight the cell, and if on `years`, `year`, `month` view,\n * set a timer to go deeper on drag hold over this cell.\n *\n * @param {Object} e The associated DOM event.\n * @param {Object} cell The cell component's $data.\n * @param {Date} cellDate The hovered cell starting date.\n */\n cellDragEnter (e, cell, cellDate) {\n const target = e.currentTarget\n\n // Cancel dragEnter event if hovering a child.\n if (e.currentTarget.contains(e.relatedTarget)) return\n if (target === dragOverCell.el || !target.className.includes('vuecal__cell-content')) return false\n\n // Un-highlight the previous cell.\n if (dragOverCell.el) dragOverCell.cell.highlighted = false\n\n dragOverCell = { el: target, cell, timeout: clearTimeout(dragOverCell.timeout) }\n cell.highlighted = true\n\n // On `years`, `year` & `month` views, go to narrower view on drag and hold.\n if (['years', 'year', 'month'].includes(this._vuecal.view.id)) {\n dragOverCell.timeout = setTimeout(() => this._vuecal.switchToNarrowerView(cellDate), 2000)\n }\n }\n\n /**\n * On cell/split drag over, highlight the cell being hovered,\n * Useful when starting to drag event on the same cell/split it's in.\n * Warning: This is fired repeatedly as long as you stay over this cell/split.\n *\n * @param {Object} e The associated DOM event.\n * @param {Object} cell The cell component's $data.\n * @param {Date} cellDate The hovered cell starting date.\n * @param {Number|String} split The optional split being hovered if any.\n */\n cellDragOver (e, cell, cellDate, split) {\n e.preventDefault()\n cell.highlighted = true\n if (split || split === 0) cell.highlightedSplit = split\n }\n\n /**\n * When event drag leaves a cell/split.\n * Remove the cell/split highlighted state.\n * Warning: cell dragleave event happens AFTER another cell dragenter!\n *\n * @param {Object} e The associated DOM event.\n * @param {Object} cell The cell component's $data.\n */\n cellDragLeave (e, cell) {\n e.preventDefault()\n\n if (e.currentTarget.contains(e.relatedTarget)) return\n\n cell.highlightedSplit = false\n\n // Only cancel the timer if leaving the current cell to no other one.\n // If leaving this cell to enter another, a cancel is done in cellDragEnter,\n // and a new timer is started.\n if (dragOverCell.cell === cell) {\n clearTimeout(dragOverCell.timeout)\n dragOverCell = { el: null, cell: null, timeout: null }\n cell.highlighted = false\n }\n }\n\n /**\n * On successful event drop into a cell/split.\n * Change the event start and end time and remove the event dragging state\n * and cell/split highlighted state.\n *\n * @param {Object} e The associated DOM event.\n * @param {Object} cell The cell component's $data.\n * @param {Date} cellDate The hovered cell starting date.\n * @param {Number|String} split The optional split being dropped into, if any.\n */\n cellDragDrop (e, cell, cellDate, split) {\n // Needed to prevent navigation to the text set in dataTransfer from eventDragStart().\n e.preventDefault()\n\n clearTimeout(dragOverCell.timeout)\n dragOverCell = { el: null, cell: null, timeout: null }\n\n const transferData = JSON.parse(e.dataTransfer.getData('event') || '{}')\n let event, addToView\n\n // If the event is not coming from this Vue Cal it means that we are accepting a new event.\n // So create the event in this Vue Cal.\n if (dragging.fromVueCal !== this._vuecal._.uid) {\n // Removing the _eid is mandatory! It prevents the event to be duplicated when drag and\n // dropping to another calendar then back to the original place.\n const { _eid, start, end, duration, ...cleanTransferData } = transferData\n // Note: createAnEvent adds the event to the view.\n event = this._vuecal.utils.event.createAnEvent(cellDate, duration, { ...cleanTransferData, split })\n }\n else {\n // Find the dragged event from its _eid in the view or mutableEvents array.\n // If dragging the event to another day, the event is not in the view array but in the\n // mutableEvents one.\n event = this._vuecal.view.events.find(evt => evt._eid === dragging._eid)\n\n if (!event) {\n event = this._vuecal.mutableEvents.find(evt => evt._eid === dragging._eid)\n addToView = !!event\n }\n\n // Case where events are fetched from the backend and removed from the array when not in the view.\n // So it won't be found in the mutableEvents array.\n if (!event) {\n const duration = transferData.endTimeMinutes - transferData.startTimeMinutes\n // Pass exactly the same event as it was before the view change (same _eid as well) except dates.\n const { start, end, ...cleanTransferData } = transferData\n event = this._vuecal.utils.event.createAnEvent(cellDate, duration, { ...cleanTransferData, split })\n // Note: createAnEvent adds the event to the view.\n }\n }\n\n const { start: oldDate, split: oldSplit } = event\n this._updateEventStartEnd(e, event, transferData, cellDate)\n\n // Only add the event to view after the start and end are modified otherwise\n // it would be filtered out from the function if not in range.\n if (addToView) this._vuecal.addEventsToView([event])\n\n event.dragging = false\n if (split || split === 0) event.split = split\n\n cell.highlighted = false\n cell.highlightedSplit = null\n cancelViewChange = false\n dragging.toVueCal = this._vuecal._.uid\n\n // Emit `event-drop` & `event-change` events and return the updated event.\n const params = {\n event: this._vuecal.cleanupEvent(event),\n oldDate,\n newDate: event.start,\n ...((split || split === 0) && { oldSplit, newSplit: split }),\n originalEvent: this._vuecal.cleanupEvent(transferData),\n external: !dragging.fromVueCal // If external event, not coming from any Vue Cal.\n }\n this._vuecal.$emit('event-drop', params)\n this._vuecal.$emit('event-change', { event: params.event, originalEvent: params.originalEvent })\n\n // Sometimes the event dragend does not trigger (?!), so manually trigger it if it didn't.\n setTimeout(() => {\n if (dragging._eid) this.eventDragEnd(event)\n }, 300)\n }\n\n /**\n * On drag enter on a view button or on today, prev & next buttons.\n * Sets a highlighted state on the hovered button, and go to requested view.\n *\n * @param {Object} e The associated DOM event.\n * @param {String} id The id of the header element being hovered. One of:\n * previous, next, today, years, year, month, week, day.\n * @param {Object} headerData The header component's $data.\n */\n viewSelectorDragEnter (e, id, headerData) {\n if (e.currentTarget.contains(e.relatedTarget)) return\n\n headerData.highlightedControl = id\n clearTimeout(changeViewTimeout)\n changeViewTimeout = setTimeout(() => {\n if (['previous', 'next'].includes(id)) {\n this._vuecal[id]()\n // Keep pressing on previous or next button until user goes away.\n clearInterval(pressPrevOrNextInterval)\n pressPrevOrNextInterval = setInterval(this._vuecal[id], holdOverTimeout)\n }\n else if (id === 'today') {\n clearInterval(pressPrevOrNextInterval)\n let viewId\n if (this._vuecal.view.id.includes('year')) {\n // If hovering today from a year or years view go to narrower view from month view.\n viewId = this._vuecal.enabledViews.filter(view => !view.includes('year'))[0]\n }\n this._vuecal.switchView(viewId || this._vuecal.view.id, new Date(new Date().setHours(0, 0, 0, 0)), true)\n }\n else this._vuecal.switchView(id, null, true)\n viewChanged = true\n }, holdOverTimeout)\n }\n\n /**\n * On drag leave on a view button or on today, prev & next buttons.\n * Removes the highlighted state on the hovered button, and cancel the timer to\n * go to the requested view.\n *\n * @param {Object} e The associated DOM event.\n * @param {String} id The id of the header element being hovered. One of:\n * previous, next, today, years, year, month, week, day.\n * @param {Object} headerData The header component's $data.\n */\n viewSelectorDragLeave (e, id, headerData) {\n if (e.currentTarget.contains(e.relatedTarget)) return\n\n // Only cancel the timer if leaving the current nav button to no other one.\n // If leaving this nav button to enter another, a cancel is done in viewSelectorDragEnter,\n // and a new timer is started.\n if (headerData.highlightedControl === id) {\n headerData.highlightedControl = null\n if (changeViewTimeout) changeViewTimeout = clearTimeout(changeViewTimeout)\n if (pressPrevOrNextInterval) pressPrevOrNextInterval = clearInterval(pressPrevOrNextInterval)\n }\n }\n}\n"],"names":["holdOverTimeout","changeViewTimeout","pressPrevOrNextInterval","viewBeforeDrag","id","date","viewChanged","cancelViewChange","dragOverCell","el","cell","timeout","dragging","_eid","fromVueCal","toVueCal","DragAndDrop","constructor","vuecal","this","_vuecal","_getEventStart","e","timeStep","timeCellHeight","timeFrom","utils","y","getPosition","dataTransfer","getData","Math","round","parseInt","_updateEventStartEnd","event","transferData","cellDate","eventDuration","duration","endTimeMinutes","startTimeMinutes","max","snapToTime","plusHalfSnapTime","start","Date","setMinutes","min","end","eventDragStart","target","nodeType","preventDefault","dropEffect","setData","JSON","stringify","offsetY","clickHoldAnEvent","domEvents","setTimeout","clearTimeout","timeoutId","deleting","dragAnEvent","_","uid","draggingStatic","view","startDate","eventDragEnd","deleteAnEvent","switchView","cellDragEnter","currentTarget","contains","relatedTarget","className","includes","highlighted","switchToNarrowerView","cellDragOver","split","highlightedSplit","cellDragLeave","cellDragDrop","parse","addToView","cleanTransferData","createAnEvent","events","find","evt","mutableEvents","oldDate","oldSplit","addEventsToView","params","cleanupEvent","newDate","newSplit","originalEvent","external","$emit","viewSelectorDragEnter","headerData","highlightedControl","clearInterval","setInterval","viewId","enabledViews","filter","setHours","viewSelectorDragLeave"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"js/1466.2eaeb2d3.js","mappings":"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","sources":["webpack://jandl/./src/plugins/app@vendor/vue-cal/modules/drag-and-drop.js"],"sourcesContent":["/**\n * Events drag and drop module.\n *\n * Note: 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 holdOverTimeout = 800 // How long we should hold over an element before it reacts.\nlet changeViewTimeout = null\nlet pressPrevOrNextInterval = null\nlet viewBeforeDrag = { id: null, date: null } // To go back if cancelling.\nlet viewChanged = false\nlet cancelViewChange = true\nlet dragOverCell = { el: null, cell: null, timeout: null }\nconst dragging = {\n _eid: null,\n fromVueCal: null,\n toVueCal: null\n}\n\nexport const DragAndDrop = class {\n _vuecal\n\n constructor (vuecal) {\n this._vuecal = vuecal\n }\n\n /**\n * When click and drag an event the cursor can be anywhere in the event,\n * when dropping the event, we need to subtract the cursor position in the event.\n *\n * @param {Object} e The associated DOM event.\n */\n _getEventStart (e) {\n const { timeStep, timeCellHeight, timeFrom, utils } = this._vuecal\n let { y } = utils.cell.getPosition(e)\n y -= e.dataTransfer.getData('cursor-grab-at') * 1\n return Math.round(y * timeStep / parseInt(timeCellHeight) + timeFrom)\n }\n\n /**\n * On drop, update the event start and end date directly into the event.\n *\n * @param {Object} e The associated DOM event.\n * @param {Object} event The event being dragged.\n * @param {Object} transferData The transfer data from the HTML5 dragging event.\n * @param {Date} cellDate The hovered cell starting date.\n */\n _updateEventStartEnd (e, event, transferData, cellDate) {\n // If no duration calculate it from event.endTimeMinutes - event.startTimeMinutes\n // before we modify the start and end.\n const eventDuration = transferData.duration * 1 || (event.endTimeMinutes - event.startTimeMinutes)\n\n // Force the start of the event at previous midnight minimum.\n let startTimeMinutes = Math.max(this._getEventStart(e), 0)\n\n // On drop, snap to time every X minutes if the option is on.\n if (this._vuecal.snapToTime) {\n const plusHalfSnapTime = (startTimeMinutes + this._vuecal.snapToTime / 2)\n startTimeMinutes = plusHalfSnapTime - (plusHalfSnapTime % this._vuecal.snapToTime)\n }\n\n event.startTimeMinutes = startTimeMinutes\n event.start = new Date(new Date(cellDate).setMinutes(startTimeMinutes))\n // Force the end of the event at next midnight maximum.\n event.endTimeMinutes = Math.min(startTimeMinutes + eventDuration, 24 * 60)\n event.end = new Date(new Date(cellDate).setMinutes(event.endTimeMinutes))\n }\n\n /**\n * On event drag start, only possible if editableEvent is true.\n * /!\\ This is using the native HTML5 drag & drop, not supported on touch devices.\n *\n * @param {Object} e The associated DOM event.\n * @param {Object} event The event being dragged.\n */\n eventDragStart (e, event) {\n // Cancel the drag if event has draggable set to false and trying to drag a text selection.\n if (e.target.nodeType === 3) return e.preventDefault()\n\n e.dataTransfer.dropEffect = 'move'\n // Transfer the event's data to the receiver (when successfully drag & dropping out of Vue Cal).\n // Notice: in Firefox the drag is prevented if there is no dataTransfer.setData().\n e.dataTransfer.setData('event', JSON.stringify(event))\n // When click and drag an event the cursor can be anywhere in the event,\n // when later dropping the event, we need to subtract the cursor position in the event.\n e.dataTransfer.setData('cursor-grab-at', e.offsetY) // In pixels.\n\n const { clickHoldAnEvent } = this._vuecal.domEvents\n // Cancel any delete on dragStart (if held for too long). Don't drag an event with a visible delete button.\n setTimeout(() => {\n clickHoldAnEvent._eid = null\n clearTimeout(clickHoldAnEvent.timeoutId)\n event.deleting = false\n }, 0)\n\n this._vuecal.domEvents.dragAnEvent._eid = event._eid // Only for vuecal dragging-event class.\n dragging._eid = event._eid\n dragging.fromVueCal = this._vuecal._.uid\n event.dragging = true\n // Controls the CSS class of the static event that remains while a copy is being dragged.\n // Thanks to this class, the event being dragged can have a different style.\n setTimeout(() => (event.draggingStatic = true), 0)\n\n viewChanged = false\n viewBeforeDrag = { id: this._vuecal.view.id, date: this._vuecal.view.startDate }\n\n cancelViewChange = true // Re-init the cancel view: should cancel unless a cell received the event.\n }\n\n /**\n * On event drag end, when releasing the event.\n *\n * @param {Object} event The event being dragged.\n */\n eventDragEnd (event) {\n this._vuecal.domEvents.dragAnEvent._eid = null\n dragging._eid = null\n event.dragging = false\n event.draggingStatic = false\n\n // If an event is dragged from a Vue Cal instance and dropped in a different one, remove the\n // event from the first one.\n const { fromVueCal, toVueCal } = dragging\n if (toVueCal && fromVueCal !== toVueCal) this._vuecal.utils.event.deleteAnEvent(event)\n dragging.fromVueCal = null\n dragging.toVueCal = null\n\n // When dropping the event, cancel view change if no cell received the event (in cellDragDrop).\n if (viewChanged && cancelViewChange && viewBeforeDrag.id) this._vuecal.switchView(viewBeforeDrag.id, viewBeforeDrag.date, true)\n }\n\n /**\n * On cell/split enter with a dragging event.\n * Highlight the cell, and if on `years`, `year`, `month` view,\n * set a timer to go deeper on drag hold over this cell.\n *\n * @param {Object} e The associated DOM event.\n * @param {Object} cell The cell component's $data.\n * @param {Date} cellDate The hovered cell starting date.\n */\n cellDragEnter (e, cell, cellDate) {\n const target = e.currentTarget\n\n // Cancel dragEnter event if hovering a child.\n if (e.currentTarget.contains(e.relatedTarget)) return\n if (target === dragOverCell.el || !target.className.includes('vuecal__cell-content')) return false\n\n // Un-highlight the previous cell.\n if (dragOverCell.el) dragOverCell.cell.highlighted = false\n\n dragOverCell = { el: target, cell, timeout: clearTimeout(dragOverCell.timeout) }\n cell.highlighted = true\n\n // On `years`, `year` & `month` views, go to narrower view on drag and hold.\n if (['years', 'year', 'month'].includes(this._vuecal.view.id)) {\n dragOverCell.timeout = setTimeout(() => this._vuecal.switchToNarrowerView(cellDate), 2000)\n }\n }\n\n /**\n * On cell/split drag over, highlight the cell being hovered,\n * Useful when starting to drag event on the same cell/split it's in.\n * Warning: This is fired repeatedly as long as you stay over this cell/split.\n *\n * @param {Object} e The associated DOM event.\n * @param {Object} cell The cell component's $data.\n * @param {Date} cellDate The hovered cell starting date.\n * @param {Number|String} split The optional split being hovered if any.\n */\n cellDragOver (e, cell, cellDate, split) {\n e.preventDefault()\n cell.highlighted = true\n if (split || split === 0) cell.highlightedSplit = split\n }\n\n /**\n * When event drag leaves a cell/split.\n * Remove the cell/split highlighted state.\n * Warning: cell dragleave event happens AFTER another cell dragenter!\n *\n * @param {Object} e The associated DOM event.\n * @param {Object} cell The cell component's $data.\n */\n cellDragLeave (e, cell) {\n e.preventDefault()\n\n if (e.currentTarget.contains(e.relatedTarget)) return\n\n cell.highlightedSplit = false\n\n // Only cancel the timer if leaving the current cell to no other one.\n // If leaving this cell to enter another, a cancel is done in cellDragEnter,\n // and a new timer is started.\n if (dragOverCell.cell === cell) {\n clearTimeout(dragOverCell.timeout)\n dragOverCell = { el: null, cell: null, timeout: null }\n cell.highlighted = false\n }\n }\n\n /**\n * On successful event drop into a cell/split.\n * Change the event start and end time and remove the event dragging state\n * and cell/split highlighted state.\n *\n * @param {Object} e The associated DOM event.\n * @param {Object} cell The cell component's $data.\n * @param {Date} cellDate The hovered cell starting date.\n * @param {Number|String} split The optional split being dropped into, if any.\n */\n cellDragDrop (e, cell, cellDate, split) {\n // Needed to prevent navigation to the text set in dataTransfer from eventDragStart().\n e.preventDefault()\n\n clearTimeout(dragOverCell.timeout)\n dragOverCell = { el: null, cell: null, timeout: null }\n\n const transferData = JSON.parse(e.dataTransfer.getData('event') || '{}')\n let event, addToView\n\n // If the event is not coming from this Vue Cal it means that we are accepting a new event.\n // So create the event in this Vue Cal.\n if (dragging.fromVueCal !== this._vuecal._.uid) {\n // Removing the _eid is mandatory! It prevents the event to be duplicated when drag and\n // dropping to another calendar then back to the original place.\n const { _eid, start, end, duration, ...cleanTransferData } = transferData\n // Note: createAnEvent adds the event to the view.\n event = this._vuecal.utils.event.createAnEvent(cellDate, duration, { ...cleanTransferData, split })\n }\n else {\n // Find the dragged event from its _eid in the view or mutableEvents array.\n // If dragging the event to another day, the event is not in the view array but in the\n // mutableEvents one.\n event = this._vuecal.view.events.find(evt => evt._eid === dragging._eid)\n\n if (!event) {\n event = this._vuecal.mutableEvents.find(evt => evt._eid === dragging._eid)\n addToView = !!event\n }\n\n // Case where events are fetched from the backend and removed from the array when not in the view.\n // So it won't be found in the mutableEvents array.\n if (!event) {\n const duration = transferData.endTimeMinutes - transferData.startTimeMinutes\n // Pass exactly the same event as it was before the view change (same _eid as well) except dates.\n const { start, end, ...cleanTransferData } = transferData\n event = this._vuecal.utils.event.createAnEvent(cellDate, duration, { ...cleanTransferData, split })\n // Note: createAnEvent adds the event to the view.\n }\n }\n\n const { start: oldDate, split: oldSplit } = event\n this._updateEventStartEnd(e, event, transferData, cellDate)\n\n // Only add the event to view after the start and end are modified otherwise\n // it would be filtered out from the function if not in range.\n if (addToView) this._vuecal.addEventsToView([event])\n\n event.dragging = false\n if (split || split === 0) event.split = split\n\n cell.highlighted = false\n cell.highlightedSplit = null\n cancelViewChange = false\n dragging.toVueCal = this._vuecal._.uid\n\n // Emit `event-drop` & `event-change` events and return the updated event.\n const params = {\n event: this._vuecal.cleanupEvent(event),\n oldDate,\n newDate: event.start,\n ...((split || split === 0) && { oldSplit, newSplit: split }),\n originalEvent: this._vuecal.cleanupEvent(transferData),\n external: !dragging.fromVueCal // If external event, not coming from any Vue Cal.\n }\n this._vuecal.$emit('event-drop', params)\n this._vuecal.$emit('event-change', { event: params.event, originalEvent: params.originalEvent })\n\n // Sometimes the event dragend does not trigger (?!), so manually trigger it if it didn't.\n setTimeout(() => {\n if (dragging._eid) this.eventDragEnd(event)\n }, 300)\n }\n\n /**\n * On drag enter on a view button or on today, prev & next buttons.\n * Sets a highlighted state on the hovered button, and go to requested view.\n *\n * @param {Object} e The associated DOM event.\n * @param {String} id The id of the header element being hovered. One of:\n * previous, next, today, years, year, month, week, day.\n * @param {Object} headerData The header component's $data.\n */\n viewSelectorDragEnter (e, id, headerData) {\n if (e.currentTarget.contains(e.relatedTarget)) return\n\n headerData.highlightedControl = id\n clearTimeout(changeViewTimeout)\n changeViewTimeout = setTimeout(() => {\n if (['previous', 'next'].includes(id)) {\n this._vuecal[id]()\n // Keep pressing on previous or next button until user goes away.\n clearInterval(pressPrevOrNextInterval)\n pressPrevOrNextInterval = setInterval(this._vuecal[id], holdOverTimeout)\n }\n else if (id === 'today') {\n clearInterval(pressPrevOrNextInterval)\n let viewId\n if (this._vuecal.view.id.includes('year')) {\n // If hovering today from a year or years view go to narrower view from month view.\n viewId = this._vuecal.enabledViews.filter(view => !view.includes('year'))[0]\n }\n this._vuecal.switchView(viewId || this._vuecal.view.id, new Date(new Date().setHours(0, 0, 0, 0)), true)\n }\n else this._vuecal.switchView(id, null, true)\n viewChanged = true\n }, holdOverTimeout)\n }\n\n /**\n * On drag leave on a view button or on today, prev & next buttons.\n * Removes the highlighted state on the hovered button, and cancel the timer to\n * go to the requested view.\n *\n * @param {Object} e The associated DOM event.\n * @param {String} id The id of the header element being hovered. One of:\n * previous, next, today, years, year, month, week, day.\n * @param {Object} headerData The header component's $data.\n */\n viewSelectorDragLeave (e, id, headerData) {\n if (e.currentTarget.contains(e.relatedTarget)) return\n\n // Only cancel the timer if leaving the current nav button to no other one.\n // If leaving this nav button to enter another, a cancel is done in viewSelectorDragEnter,\n // and a new timer is started.\n if (headerData.highlightedControl === id) {\n headerData.highlightedControl = null\n if (changeViewTimeout) changeViewTimeout = clearTimeout(changeViewTimeout)\n if (pressPrevOrNextInterval) pressPrevOrNextInterval = clearInterval(pressPrevOrNextInterval)\n }\n }\n}\n"],"names":["holdOverTimeout","changeViewTimeout","pressPrevOrNextInterval","viewBeforeDrag","id","date","viewChanged","cancelViewChange","dragOverCell","el","cell","timeout","dragging","_eid","fromVueCal","toVueCal","DragAndDrop","constructor","vuecal","this","_vuecal","_getEventStart","e","timeStep","timeCellHeight","timeFrom","utils","y","getPosition","dataTransfer","getData","Math","round","parseInt","_updateEventStartEnd","event","transferData","cellDate","eventDuration","duration","endTimeMinutes","startTimeMinutes","max","snapToTime","plusHalfSnapTime","start","Date","setMinutes","min","end","eventDragStart","target","nodeType","preventDefault","dropEffect","setData","JSON","stringify","offsetY","clickHoldAnEvent","domEvents","setTimeout","clearTimeout","timeoutId","deleting","dragAnEvent","_","uid","draggingStatic","view","startDate","eventDragEnd","deleteAnEvent","switchView","cellDragEnter","currentTarget","contains","relatedTarget","className","includes","highlighted","switchToNarrowerView","cellDragOver","split","highlightedSplit","cellDragLeave","cellDragDrop","parse","addToView","cleanTransferData","createAnEvent","events","find","evt","mutableEvents","oldDate","oldSplit","addEventsToView","params","cleanupEvent","newDate","newSplit","originalEvent","external","$emit","viewSelectorDragEnter","headerData","highlightedControl","clearInterval","setInterval","viewId","enabledViews","filter","setHours","viewSelectorDragLeave"],"sourceRoot":""}
\ No newline at end of file
diff --git a/app/dist/js/188.5e35d228.js b/app/dist/js/188.cf07b9ea.js
similarity index 94%
rename from app/dist/js/188.5e35d228.js
rename to app/dist/js/188.cf07b9ea.js
index a91e72b..f8d74b4 100644
--- a/app/dist/js/188.5e35d228.js
+++ b/app/dist/js/188.cf07b9ea.js
@@ -1,2 +1,2 @@
"use strict";(self["webpackChunkjandl"]=self["webpackChunkjandl"]||[]).push([[188],{60188:function(e,r,a){a.r(r),a.d(r,{default:function(){return k}});var n=a(73396),t=a(53289);const s=e=>((0,n.dD)("data-v-271466de"),e=e(),(0,n.Cn)(),e),d={class:"error-page"},c=s((()=>(0,n._)("h1",{class:"error-heading text-center"},"Error 404",-1))),l={class:"d-flex align-center"},o=s((()=>(0,n._)("p",null," Ospravedlňujeme sa, stránka ktorú hľadáte neexistuje. ",-1)));function i(e,r){return(0,n.wg)(),(0,n.iD)("div",d,[c,(0,n._)("div",l,[(0,n.Wm)(t.t,{onClick:r[0]||(r[0]=r=>e.$router.go(-1)),icon:"mdi-arrow-left",size:"large",class:"mr-15"}),o])])}var u=a(40089);const f={},v=(0,u.Z)(f,[["render",i],["__scopeId","data-v-271466de"]]);var k=v}}]);
-//# sourceMappingURL=188.5e35d228.js.map
\ No newline at end of file
+//# sourceMappingURL=188.cf07b9ea.js.map
\ No newline at end of file
diff --git a/app/dist/js/188.5e35d228.js.map b/app/dist/js/188.cf07b9ea.js.map
similarity index 68%
rename from app/dist/js/188.5e35d228.js.map
rename to app/dist/js/188.cf07b9ea.js.map
index 103f7c2..b9a87a2 100644
--- a/app/dist/js/188.5e35d228.js.map
+++ b/app/dist/js/188.cf07b9ea.js.map
@@ -1 +1 @@
-{"version":3,"file":"js/188.5e35d228.js","mappings":"gPACMA,MAAM,c,UACVC,EAAAA,EAAAA,GAAoD,MAAhDD,MAAM,6BAA4B,aAAS,K,GAC1CA,MAAM,uB,UAEVC,EAAAA,EAAAA,GAEI,SAFD,2DAEH,K,kCANFC,EAAAA,EAAAA,IAQM,MARNC,EAQM,CAPLC,GACAH,EAAAA,EAAAA,GAKM,MALNI,EAKM,EAJLC,EAAAA,EAAAA,IAA0FC,EAAAA,EAAAA,CAAjFC,QAAK,eAAEC,EAAAA,QAAQC,IAAI,IAAIC,KAAK,iBAAiBC,KAAK,QAAQZ,MAAM,UACzEa,K,gBCJH,MAAMC,EAAS,CAAC,EAKVC,GAA2B,OAAgBD,EAAQ,CAAC,CAAC,SAASE,GAAQ,CAAC,YAAY,qBAEzF,O","sources":["webpack://jandl/./src/plugins/w@screen/404/404.vue","webpack://jandl/./src/plugins/w@screen/404/404.vue?fa92"],"sourcesContent":["\n\t
\n\t\t
Error 404
\n\t\t
\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\tOspravedlňujeme sa, stránka ktorú hľadáte neexistuje.\n\t\t\t
\n\t\t
\n\t
\n\n\n\n","import { render } from \"./404.vue?vue&type=template&id=271466de&scoped=true\"\nconst script = {}\n\nimport \"./404.vue?vue&type=style&index=0&id=271466de&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-271466de\"]])\n\nexport default __exports__"],"names":["class","_createElementVNode","_createElementBlock","_hoisted_1","_hoisted_2","_hoisted_3","_createVNode","_component_v_icon","onClick","_ctx","go","icon","size","_hoisted_4","script","__exports__","render"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"js/188.cf07b9ea.js","mappings":"gPACMA,MAAM,c,UACVC,EAAAA,EAAAA,GAAoD,MAAhDD,MAAM,6BAA4B,aAAS,K,GAC1CA,MAAM,uB,UAEVC,EAAAA,EAAAA,GAEI,SAFD,2DAEH,K,kCANFC,EAAAA,EAAAA,IAQM,MARNC,EAQM,CAPLC,GACAH,EAAAA,EAAAA,GAKM,MALNI,EAKM,EAJLC,EAAAA,EAAAA,IAA0FC,EAAAA,EAAAA,CAAjFC,QAAK,eAAEC,EAAAA,QAAQC,IAAI,IAAIC,KAAK,iBAAiBC,KAAK,QAAQZ,MAAM,UACzEa,K,gBCJH,MAAMC,EAAS,CAAC,EAKVC,GAA2B,OAAgBD,EAAQ,CAAC,CAAC,SAASE,GAAQ,CAAC,YAAY,qBAEzF,O","sources":["webpack://jandl/./src/plugins/w@screen/404/404.vue","webpack://jandl/./src/plugins/w@screen/404/404.vue?fa92"],"sourcesContent":["\n\t
\n\t\t
Error 404
\n\t\t
\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\tOspravedlňujeme sa, stránka ktorú hľadáte neexistuje.\n\t\t\t
\n\n\n\n\n\n","import { render } from \"./z-timeline.vue?vue&type=template&id=4a93660a&scoped=true\"\nimport script from \"./z-timeline.vue?vue&type=script&lang=js\"\nexport * from \"./z-timeline.vue?vue&type=script&lang=js\"\n\nimport \"./z-timeline.vue?vue&type=style&index=0&id=4a93660a&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/jakubpapso/Repositories/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4a93660a\"]])\n\nexport default __exports__"],"names":["data","header","initialized","marginTop","calendar_previousScrollPosition","isVisible","unmounted","this","$refs","page","querySelector","removeEventListener","handleScroll","methods","_initScrollListener","repeat","calendar","setTimeout","addEventListener","_handleScroll","scrollTop","e","document","target","showHeader","offsetHeight","Math","abs","hideHeader","style","transition","generateTimelineTasks","subtasks","date","employee","tasks","blockers","homeoffices","generateTimelineEvents","nonWorkingHours","generateTimelineNonWorkingHours","getUnscheduledTime","unscheduledTime","forEach","subtask","duration","spent_time","isWeekend","moment","day","includes","type","_generateEventsFromBlocker","timeblocks","timeblock","push","_composeTimelineEvent","filter","blocker","diffInDays","differenceInCalendarDays","Date","start","id","addDays","end","master_task","initials","name","charAt","toUpperCase","surname","split","_getSplitFromDate","project_code","_timeblock_id","_timeblock_is_finished","is_finished","_real_start","_real_end","dates","isSame","format","_getDatesInRange","map","d","dStart","set","hours","minutes","dEnd","isBlocker","color","draggable","add","events","dayStart","dayEnd","_getDayStartEnd","i","title","_setMinutesToDate","work_start","work_end","_getDifferenceInHours","date1","date2","_getDifferenceInMinutes","diff","getTime","round","newDate","setHours","floor","class","_createElementVNode","_createElementBlock","_hoisted_1","_createVNode","_component_Vue_cal","$props","onEventClick","$options","$data","editing","unscheduled_times","showTimeInCells","scrollHour","onReady","onViewChange","onEventDrop","onEventFocus","_hoisted_2","_hoisted_3","isHomeoffice","src","require","_hoisted_5","_hoisted_6","_hoisted_8","_hoisted_10","toLocaleDateString","weekday","_hoisted_11","_hoisted_12","_hoisted_13","fullname","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","String","padStart","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","event","_hoisted_23","_hoisted_24","_component_v_icon","icon","_hoisted_25","approved","backgroundColor","_Fragment","key","_hoisted_26","_createBlock","_component_v_tooltip","text","location","activator","props","_hoisted_27","_hoisted_28","_hoisted_29","_hoisted_30","size","deadline","_hoisted_31","_mergeProps","_hoisted_32","_component_v_btn","rounded","onClick","alt","calData","Object","required","default","calConfig","splits","Array","vueCalConfig","drag","resize","delete","create","focusedEventId","timeCellHeight","tmUtils","visible","computed","mapGetters","isAfterDeadline","getDeadline","mDate","mDeadline","getHours","getMinutes","isAfter","master_task_deadline","weekChanged","scrollContainer","$el","getElementsByClassName","scrollLeft","async","newSplit","startTimeMinutes","endTimeMinutes","find","$route","editedSubtask","timesheets","timesheet","employee_name","$axios","put_auth","$events","emit","employee_id","$store","getters","error","$toast","message","correctMargins","length","heightOfDayHeader","clientHeight","getHeadingDate","value","today","yesterday","setDate","getDate","tomorrow","getEventLength","taskClicked","eventFocused","task_id","completeTask","originalTimeblock","newTimeblock","editTask","deleteTimeBlockInTask","editBlocker","deleteBlocker","__exports__","render"],"sourceRoot":""}
\ No newline at end of file
diff --git a/app/dist/js/6901.23ee64a2.js b/app/dist/js/2715.5a675aef.js
similarity index 96%
rename from app/dist/js/6901.23ee64a2.js
rename to app/dist/js/2715.5a675aef.js
index a262442..c144088 100644
--- a/app/dist/js/6901.23ee64a2.js
+++ b/app/dist/js/2715.5a675aef.js
@@ -1,2 +1,2 @@
-"use strict";(self["webpackChunkjandl"]=self["webpackChunkjandl"]||[]).push([[6901],{58311:function(e,t,s){s.r(t),s.d(t,{default:function(){return S}});var a=s(73396);const i={ref:"page"};function n(e,t,s,n,r,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&&!r.hideCal?((0,a.wg)(),(0,a.j4)(d,{key:1,"cal-data":e.calendarData,"cal-config":r.calendarConfig,splits:e.splitDays},null,8,["cal-data","cal-config","splits"])):(0,a.kq)("",!0)],512)}var r=s(60988),l=s(67312),o=s(16824),d=s(45869);const h={class:"d-flex date-wrapper"},u=["src"],c=["src"];function m(e,t,i,n,m,f){return(0,a.wg)(),(0,a.j4)(o.o,{class:"px-10 py-8 subheader"},{default:(0,a.w5)((()=>[(0,a.Wm)(r.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",h,[(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,u)])),_: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),p=s(85174),_=s(83299),k=s(20065),g={mixins:[_.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,p.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)}}},b=s(40089);const D=(0,b.Z)(g,[["render",m],["__scopeId","data-v-35b7352e"]]);var y=D,w=s(65329),C=s(36797),v=s.n(C),T=(s(57658),s(2750)),F={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),n=this._getRemainingWorkCapacityMinutes(s);let r=0;this.calendarData.tasks.forEach((e=>{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||i.isBefore(v()(),"days")||i.isSame(v()(),"days")||(r+=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 l=n-r;e.push({id:a+1,name:s.name,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: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,n)=>{(!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((n=>{const r=v()(n.start).format("DD-MM-YYYY");r==t&&e.push({id:s.id,start:new Date(n.start),end:new Date(n.end),master_task:s.master_task,name:i?.name,surname:i?.surname,isWeekend:v()(n.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:n.id,_timeblock_is_finished:n.is_finished,_real_start:new Date(n.start),_real_end:new Date(n.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,n=s.diff(v()().startOf("day"),"minutes");return a>n?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!")}this._initScrollListener()}}};const Y=(0,b.Z)(M,[["render",n],["__scopeId","data-v-7174789f"]]);var S=Y}}]);
-//# sourceMappingURL=6901.23ee64a2.js.map
\ No newline at end of file
+"use strict";(self["webpackChunkjandl"]=self["webpackChunkjandl"]||[]).push([[2715],{75804:function(e,t,s){s.r(t),s.d(t,{default:function(){return S}});var a=s(73396);const i={ref:"page"};function n(e,t,s,n,r,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&&!r.hideCal?((0,a.wg)(),(0,a.j4)(d,{key:1,"cal-data":e.calendarData,"cal-config":r.calendarConfig,splits:e.splitDays},null,8,["cal-data","cal-config","splits"])):(0,a.kq)("",!0)],512)}var r=s(60988),l=s(67312),o=s(16824),d=s(45869);const h={class:"d-flex date-wrapper"},u=["src"],c=["src"];function m(e,t,i,n,m,f){return(0,a.wg)(),(0,a.j4)(o.o,{class:"px-10 py-8 subheader"},{default:(0,a.w5)((()=>[(0,a.Wm)(r.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",h,[(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,u)])),_: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),p=s(85174),_=s(83299),k=s(20065),g={mixins:[_.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,p.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)}}},b=s(40089);const D=(0,b.Z)(g,[["render",m],["__scopeId","data-v-35b7352e"]]);var y=D,w=s(65329),C=s(36797),v=s.n(C),T=(s(57658),s(2750)),F={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),n=this._getRemainingWorkCapacityMinutes(s);let r=0;this.calendarData.tasks.forEach((e=>{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||i.isBefore(v()(),"days")||i.isSame(v()(),"days")||(r+=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 l=n-r;e.push({id:a+1,name:s.name,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: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,n)=>{(!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((n=>{const r=v()(n.start).format("DD-MM-YYYY");r==t&&e.push({id:s.id,start:new Date(n.start),end:new Date(n.end),master_task:s.master_task,name:i?.name,surname:i?.surname,isWeekend:v()(n.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:n.id,_timeblock_is_finished:n.is_finished,_real_start:new Date(n.start),_real_end:new Date(n.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,n=s.diff(v()().startOf("day"),"minutes");return a>n?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,b.Z)(M,[["render",n],["__scopeId","data-v-05ec28af"]]);var S=Y}}]);
+//# sourceMappingURL=2715.5a675aef.js.map
\ No newline at end of file
diff --git a/app/dist/js/2715.5a675aef.js.map b/app/dist/js/2715.5a675aef.js.map
new file mode 100644
index 0000000..ba29104
--- /dev/null
+++ b/app/dist/js/2715.5a675aef.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"js/2715.5a675aef.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\t
\n\t\t\n\t\t\n\t
\n\n\n\n\n","\n\t\n\t\t\n\t\t
\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t
\n\t\t\n\t\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/jakubpapso/Repositories/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\n\t\t\t\tthis.calendarData.tasks.forEach(task => {\n\t\t\t\t\t// console.log(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)\n\t\t\t\t\t\treturn\n\n\t\t\t\t\tif (selectedDate.isBefore(moment(), 'days')) {\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\t// Today\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\tscheduledCapacityMinutes += 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\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\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=05ec28af&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=05ec28af&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/jakubpapso/Repositories/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-05ec28af\"]])\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","task","subtask","employee_id","is_finished","isBefore","isSame","timelineUtils","_real_end","_real_start","split","push","name","fullname","surname","initials","charAt","toUpperCase","toFixed","isHomeoffice","nonWorkingHours","earliestHour","calendarConfig","dayStart","dayEnd","_getDayStartEnd","work_start","title","_setMinutesToDate","draggable","work_end","scrollHour","calendarDate","format","e","timeblocks","timeblock","formattedDate","master_task","isWeekend","project_code","_timeblock_id","_timeblock_is_finished","isBlocker","color","minutes","setHours","Math","floor","now","isAfter","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/2998.e20db982.js b/app/dist/js/2998.47657227.js
similarity index 99%
rename from app/dist/js/2998.e20db982.js
rename to app/dist/js/2998.47657227.js
index 9a09f34..3620add 100644
--- a/app/dist/js/2998.e20db982.js
+++ b/app/dist/js/2998.47657227.js
@@ -1,2 +1,2 @@
"use strict";(self["webpackChunkjandl"]=self["webpackChunkjandl"]||[]).push([[2998],{32998:function(e,r,s){s.r(r),s.d(r,{default:function(){return k}});var t=s(73396),o=s(23369);const a={class:"auth-card"},n=(0,t._)("h1",null,"Reset password",-1),i=(0,t._)("p",{class:"mb-10"},"We have sent you a confirmation code on your email. You can insert him or continue with link in your email",-1);function l(e,r,s,l,d,c){const u=(0,t.up)("A-reset-password-form");return(0,t.wg)(),(0,t.j4)(o.K,null,{default:(0,t.w5)((()=>[(0,t._)("div",a,[n,i,(0,t.Wm)(u,{"navigate-to-after-password-reset":"/auth/login"})])])),_:1})}var d=s(49242),c=s(87139),u=s(67312),m=s(96422),p=s(45869);const h={class:"d-flex flex-column"};function w(e,r,s,o,a,n){return(0,t.wg)(),(0,t.j4)(m.O,{onKeydown:r[6]||(r[6]=(0,d.D2)((e=>n.submit()),["enter"]))},{default:(0,t.w5)((()=>[(0,t.Wm)(p.hw,{modelValue:a.credentials.email,"onUpdate:modelValue":r[0]||(r[0]=e=>a.credentials.email=e),label:"E-mail",autocomplete:"email","bg-color":"white",variant:"solo",type:"email",class:(0,c.C_)(["mb-2",{error:a.v$.credentials.email.$errors.length}]),hint:a.v$.credentials.email.$errors?a.errorUtils.parseErrors(a.v$.credentials.email.$errors):null},null,8,["modelValue","hint","class"]),(0,t.Wm)(p.hw,{modelValue:a.credentials.password,"onUpdate:modelValue":r[1]||(r[1]=e=>a.credentials.password=e),label:"Heslo",autocomplete:"new-password","bg-color":"white",variant:"solo",type:a.showPassword?"text":"password",class:(0,c.C_)(["mb-2",{error:a.v$.credentials.password.$errors.length}]),hint:a.v$.credentials.password.$errors?a.errorUtils.parseErrors(a.v$.credentials.password.$errors):null,counter:12,"append-icon":a.showPassword?"mdi-eye":"mdi-eye-off","onClick:append":r[2]||(r[2]=e=>a.showPassword=!a.showPassword)},null,8,["modelValue","type","hint","class","append-icon"]),(0,t.Wm)(p.hw,{modelValue:a.credentials.password_confirmation,"onUpdate:modelValue":r[3]||(r[3]=e=>a.credentials.password_confirmation=e),autocomplete:"new-password","bg-color":"white",variant:"solo",label:"Potvrdenie hesla",type:a.showConfirmationPassword?"text":"password",counter:12,class:(0,c.C_)(["mb-2",{error:a.v$.credentials.password_confirmation.$errors.length}]),hint:a.v$.credentials.password_confirmation.$errors?a.errorUtils.parseErrors(a.v$.credentials.password_confirmation.$errors):null,"append-icon":a.showConfirmationPassword?"mdi-eye":"mdi-eye-off","onClick:append":r[4]||(r[4]=e=>a.showConfirmationPassword=!a.showConfirmationPassword)},null,8,["modelValue","type","hint","class","append-icon"]),(0,t._)("div",h,[(0,t.Wm)(u.T,{class:"button",color:"#7F39FB",onClick:r[5]||(r[5]=(0,d.iM)((e=>n.submit()),["prevent"])),disabled:!a.credentials.token},{default:(0,t.w5)((()=>[(0,t.Uk)("Change password")])),_:1},8,["disabled"])])])),_:1})}s(57658);var f=s(33053),v=s(69117),$=s(7648),b={props:{navigateToAfterPasswordReset:{type:String,required:!0}},data(){return{errorUtils:$.Z,v$:(0,f.ZP)(),credentials:{email:this.$route.query.email,token:this.$route.query.token},showPassword:!1,showConfirmationPassword:!1}},validations(){return{credentials:{email:{required:v.C1,email:v.Do},password:{required:v.C1,minLength:(0,v.Ei)(12)},password_confirmation:{required:v.C1,minLength:(0,v.Ei)(12),sameAs:(0,v.sH)(this.credentials.password)}}}},mounted(){if(!this.$route.query.token)return this.$toast.error("Error. Please check that the link is correct")},methods:{async submit(){if(await this.v$.$validate())try{await this.$store.dispatch("auth/resetPassword",this.credentials),this.$router.push({name:"Login"}),this.$toast.success("Your password has been successfully changed.")}catch(e){this.$toast.error(this.$parseError(e))}}}},y=s(40089);const C=(0,y.Z)(b,[["render",w]]);var g=C,P={components:{AResetPasswordForm:g}};const _=(0,y.Z)(P,[["render",l]]);var k=_},96422:function(e,r,s){s.d(r,{O:function(){return d}});var t=s(73396),o=s(4357),a=s(53185),n=s(44870),i=s(80320),l=s(89888);const d=(0,i.a)({name:"VForm",props:{...(0,o.vC)()},emits:{"update:modelValue":e=>!0,submit:e=>!0},setup(e,r){let{slots:s,emit:i}=r;const d=(0,o.Np)(e),c=(0,n.iH)();function u(e){e.preventDefault(),d.reset()}function m(e){const r=e,s=d.validate();r.then=s.then.bind(s),r.catch=s.catch.bind(s),r.finally=s.finally.bind(s),i("submit",r),r.defaultPrevented||s.then((e=>{let{valid:r}=e;var s;r&&(null==(s=c.value)||s.submit())})),r.preventDefault()}return(0,l.L)((()=>{var e;return(0,t.Wm)("form",{ref:c,class:"v-form",novalidate:!0,onReset:u,onSubmit:m},[null==(e=s.default)?void 0:e.call(s,d)])})),(0,a.F)(d,c)}})},23369:function(e,r,s){s.d(r,{K:function(){return i}});var t=s(73396),o=(s(98099),s(71138)),a=s(80320),n=s(89888);const i=(0,a.a)({name:"VContainer",props:{fluid:{type:Boolean,default:!1},...(0,o.Q)()},setup(e,r){let{slots:s}=r;return(0,n.L)((()=>(0,t.Wm)(e.tag,{class:["v-container",{"v-container--fluid":e.fluid}]},s))),{}}})}}]);
-//# sourceMappingURL=2998.e20db982.js.map
\ No newline at end of file
+//# sourceMappingURL=2998.47657227.js.map
\ No newline at end of file
diff --git a/app/dist/js/2998.e20db982.js.map b/app/dist/js/2998.47657227.js.map
similarity index 65%
rename from app/dist/js/2998.e20db982.js.map
rename to app/dist/js/2998.47657227.js.map
index fdb8890..c9a5e73 100644
--- a/app/dist/js/2998.e20db982.js.map
+++ b/app/dist/js/2998.47657227.js.map
@@ -1 +1 @@
-{"version":3,"file":"js/2998.e20db982.js","mappings":"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","sources":["webpack://jandl/./src/plugins/lib@auth/reset-password/reset-password.vue","webpack://jandl/./src/plugins/lib@auth/reset-password/_components/a-reset-password-form.vue","webpack://jandl/./src/plugins/lib@auth/reset-password/_components/a-reset-password-form.vue?54ce","webpack://jandl/./src/plugins/lib@auth/reset-password/reset-password.vue?7d03","webpack://jandl/../../../src/components/VForm/VForm.tsx","webpack://jandl/../../../src/components/VGrid/VContainer.tsx"],"sourcesContent":["\n\t\n\t\t
\n\t\t\t
Reset password
\n\t\t\t
We have sent you a confirmation code on your email. You can insert him or continue with link in your email
\n\n\t\t\t\n\t\t
\n\t\n\n\n\n","\n\t\n\t\t\n\t\t\n\t\t\n\n\t\t
\n\t\t\tChange password\n\t\t
\n\t\n\n\n","import { render } from \"./a-reset-password-form.vue?vue&type=template&id=99ad34ea\"\nimport script from \"./a-reset-password-form.vue?vue&type=script&lang=js\"\nexport * from \"./a-reset-password-form.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/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 \"./reset-password.vue?vue&type=template&id=e4a15eb4\"\nimport script from \"./reset-password.vue?vue&type=script&lang=js\"\nexport * from \"./reset-password.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","// Composables\nimport { createForm, makeFormProps } from '@/composables/form'\nimport { forwardRefs } from '@/composables/forwardRefs'\n\n// Utilities\nimport { ref } from 'vue'\nimport { defineComponent, useRender } from '@/util'\n\n// Types\nimport type { SubmitEventPromise } from '@/composables/form'\n\nexport const VForm = defineComponent({\n name: 'VForm',\n\n props: {\n ...makeFormProps(),\n },\n\n emits: {\n 'update:modelValue': (val: boolean | null) => true,\n submit: (e: SubmitEventPromise) => true,\n },\n\n setup (props, { slots, emit }) {\n const form = createForm(props)\n const formRef = ref()\n\n function onReset (e: Event) {\n e.preventDefault()\n form.reset()\n }\n\n function onSubmit (_e: Event) {\n const e = _e as SubmitEventPromise\n\n const ready = form.validate()\n e.then = ready.then.bind(ready)\n e.catch = ready.catch.bind(ready)\n e.finally = ready.finally.bind(ready)\n\n emit('submit', e)\n\n if (!e.defaultPrevented) {\n ready.then(({ valid }) => {\n if (valid) {\n formRef.value?.submit()\n }\n })\n }\n\n e.preventDefault()\n }\n\n useRender(() => ((\n \n )))\n\n return forwardRefs(form, formRef)\n },\n})\n\nexport type VForm = InstanceType\n","// Styles\nimport './VGrid.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { defineComponent, useRender } from '@/util'\n\nexport const VContainer = defineComponent({\n name: 'VContainer',\n\n props: {\n fluid: {\n type: Boolean,\n default: false,\n },\n\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n useRender(() => (\n \n ))\n\n return {}\n },\n})\n\nexport type VContainer = InstanceType\n"],"names":["class","_createElementVNode","_createBlock","_component_v_container","_hoisted_1","_hoisted_2","_hoisted_3","_createVNode","_component_A_reset_password_form","_component_v_form","onKeydown","$options","_component_v_text_field","$data","email","label","autocomplete","variant","type","error","credentials","$errors","length","hint","parseErrors","password","counter","password_confirmation","_component_v_btn","color","onClick","disabled","token","props","navigateToAfterPasswordReset","String","required","data","errorUtils","v$","useVuelidate","this","$route","query","showPassword","showConfirmationPassword","validations","minLength","sameAs","mounted","$toast","methods","async","$validate","$store","dispatch","$router","push","name","success","$parseError","__exports__","components","AResetPasswordForm","render","VForm","defineComponent","makeFormProps","emits","val","submit","e","setup","slots","emit","form","createForm","formRef","ref","onReset","preventDefault","reset","onSubmit","_e","ready","validate","then","bind","catch","finally","defaultPrevented","_ref2","valid","value","_formRef$value","useRender","default","_slots$default","forwardRefs","VContainer","fluid","Boolean","makeTagProps"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"js/2998.47657227.js","mappings":"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","sources":["webpack://jandl/./src/plugins/lib@auth/reset-password/reset-password.vue","webpack://jandl/./src/plugins/lib@auth/reset-password/_components/a-reset-password-form.vue","webpack://jandl/./src/plugins/lib@auth/reset-password/_components/a-reset-password-form.vue?54ce","webpack://jandl/./src/plugins/lib@auth/reset-password/reset-password.vue?7d03","webpack://jandl/../../../src/components/VForm/VForm.tsx","webpack://jandl/../../../src/components/VGrid/VContainer.tsx"],"sourcesContent":["\n\t\n\t\t
\n\t\t\t
Reset password
\n\t\t\t
We have sent you a confirmation code on your email. You can insert him or continue with link in your email
\n\n\t\t\t\n\t\t
\n\t\n\n\n\n","\n\t\n\t\t\n\t\t\n\t\t\n\n\t\t
\n\t\t\tChange password\n\t\t
\n\t\n\n\n","import { render } from \"./a-reset-password-form.vue?vue&type=template&id=99ad34ea\"\nimport script from \"./a-reset-password-form.vue?vue&type=script&lang=js\"\nexport * from \"./a-reset-password-form.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/jakubpapso/Repositories/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 \"./reset-password.vue?vue&type=template&id=e4a15eb4\"\nimport script from \"./reset-password.vue?vue&type=script&lang=js\"\nexport * from \"./reset-password.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/jakubpapso/Repositories/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","// Composables\nimport { createForm, makeFormProps } from '@/composables/form'\nimport { forwardRefs } from '@/composables/forwardRefs'\n\n// Utilities\nimport { ref } from 'vue'\nimport { defineComponent, useRender } from '@/util'\n\n// Types\nimport type { SubmitEventPromise } from '@/composables/form'\n\nexport const VForm = defineComponent({\n name: 'VForm',\n\n props: {\n ...makeFormProps(),\n },\n\n emits: {\n 'update:modelValue': (val: boolean | null) => true,\n submit: (e: SubmitEventPromise) => true,\n },\n\n setup (props, { slots, emit }) {\n const form = createForm(props)\n const formRef = ref()\n\n function onReset (e: Event) {\n e.preventDefault()\n form.reset()\n }\n\n function onSubmit (_e: Event) {\n const e = _e as SubmitEventPromise\n\n const ready = form.validate()\n e.then = ready.then.bind(ready)\n e.catch = ready.catch.bind(ready)\n e.finally = ready.finally.bind(ready)\n\n emit('submit', e)\n\n if (!e.defaultPrevented) {\n ready.then(({ valid }) => {\n if (valid) {\n formRef.value?.submit()\n }\n })\n }\n\n e.preventDefault()\n }\n\n useRender(() => ((\n \n )))\n\n return forwardRefs(form, formRef)\n },\n})\n\nexport type VForm = InstanceType\n","// Styles\nimport './VGrid.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { defineComponent, useRender } from '@/util'\n\nexport const VContainer = defineComponent({\n name: 'VContainer',\n\n props: {\n fluid: {\n type: Boolean,\n default: false,\n },\n\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n useRender(() => (\n \n ))\n\n return {}\n },\n})\n\nexport type VContainer = InstanceType\n"],"names":["class","_createElementVNode","_createBlock","_component_v_container","_hoisted_1","_hoisted_2","_hoisted_3","_createVNode","_component_A_reset_password_form","_component_v_form","onKeydown","$options","_component_v_text_field","$data","email","label","autocomplete","variant","type","error","credentials","$errors","length","hint","parseErrors","password","counter","password_confirmation","_component_v_btn","color","onClick","disabled","token","props","navigateToAfterPasswordReset","String","required","data","errorUtils","v$","useVuelidate","this","$route","query","showPassword","showConfirmationPassword","validations","minLength","sameAs","mounted","$toast","methods","async","$validate","$store","dispatch","$router","push","name","success","$parseError","__exports__","components","AResetPasswordForm","render","VForm","defineComponent","makeFormProps","emits","val","submit","e","setup","slots","emit","form","createForm","formRef","ref","onReset","preventDefault","reset","onSubmit","_e","ready","validate","then","bind","catch","finally","defaultPrevented","_ref2","valid","value","_formRef$value","useRender","default","_slots$default","forwardRefs","VContainer","fluid","Boolean","makeTagProps"],"sourceRoot":""}
\ No newline at end of file
diff --git a/app/dist/js/3539.e2aabd54.js b/app/dist/js/3539.8561909a.js
similarity index 98%
rename from app/dist/js/3539.e2aabd54.js
rename to app/dist/js/3539.8561909a.js
index c09a493..f558ad6 100644
--- a/app/dist/js/3539.e2aabd54.js
+++ b/app/dist/js/3539.8561909a.js
@@ -1,2 +1,2 @@
"use strict";(self["webpackChunkjandl"]=self["webpackChunkjandl"]||[]).push([[3539],{33539:function(r,e,o){o.r(e),o.d(e,{default:function(){return b}});var t=o(73396),a=o(87139),s=o(67312),l=o(45869);const n=r=>((0,t.dD)("data-v-0573c29c"),r=r(),(0,t.Cn)(),r),i={class:"border-bottom py-5 px-5"},d=n((()=>(0,t._)("h1",null,"Všeobecné informácie",-1))),u={class:"py-5 px-5 border-bottom"},m=n((()=>(0,t._)("h1",null,"Pracovná doba",-1))),c={class:"py-5 px-5"};function h(r,e,o,n,h,p){return(0,t.wg)(),(0,t.iD)(t.HY,null,[(0,t._)("div",i,[d,(0,t.Wm)(l.hw,{class:"w-75",variant:"solo",label:"Meno",disabled:!0,modelValue:r.user.name,"onUpdate:modelValue":e[0]||(e[0]=e=>r.user.name=e)},null,8,["modelValue"]),(0,t.Wm)(l.hw,{class:"w-75",variant:"solo",label:"Priezvisko",modelValue:r.user.surname,"onUpdate:modelValue":e[1]||(e[1]=e=>r.user.surname=e),disabled:!0},null,8,["modelValue"])]),(0,t._)("div",u,[m,(0,t.Wm)(l.hw,{class:(0,a.C_)(["w-75",{error:h.v$.form.work_start.$errors.length}]),variant:"solo",label:"Začiatok",modelValue:h.form.work_start,"onUpdate:modelValue":e[2]||(e[2]=r=>h.form.work_start=r),"append-inner-icon":"mdi-clock-outline",type:"time",hint:h.v$.form.work_start.$errors?h.errorUtils.parseErrors(h.v$.form.work_start.$errors):null},null,8,["modelValue","class","hint"]),(0,t.Wm)(l.hw,{class:(0,a.C_)(["w-75",{error:h.v$.form.work_end.$errors.length}]),variant:"solo",label:"Koniec",modelValue:h.form.work_end,"onUpdate:modelValue":e[3]||(e[3]=r=>h.form.work_end=r),"append-inner-icon":"mdi-clock-outline",type:"time",hint:h.v$.form.work_end.$errors?h.errorUtils.parseErrors(h.v$.form.work_end.$errors):null},null,8,["modelValue","class","hint"])]),(0,t._)("div",c,[(0,t.Wm)(s.T,{class:"button primary",onClick:e[4]||(e[4]=r=>p.updateUserInfo())},{default:(0,t.w5)((()=>[(0,t.Uk)("ULOŽIŤ ZMENY")])),_:1})])],64)}var p=o(33053),w=o(69117),_=o(7648),f=o(20065),k={data(){return{errorUtils:_.Z,v$:(0,p.ZP)(),form:{}}},computed:{...(0,f.Se)("auth",["user"])},validations(){return{form:{work_start:{required:w.C1},work_end:{required:w.C1}}}},mounted(){this._setDates()},methods:{async updateUserInfo(){if(!await this.v$.$validate())return;const[r,e]=this.form.work_start.split(":"),[o,t]=this.form.work_end.split(":"),a={id:this.user.id,work_start:parseFloat(r)+parseFloat(e)/60,work_end:parseFloat(o)+parseFloat(t)/60};try{await this.$store.dispatch("auth/updateUserInfo",a),this.$toast.success("Profil bol úspešne zmenený")}catch(s){this.$toast.error(this.$parseError(s))}},_setDates(){this.form={work_start:this.decimalHoursToTime(this.user.work_start),work_end:this.decimalHoursToTime(this.user.work_end)}},decimalHoursToTime(r){var e=Math.floor(r),o=Math.floor(60*r%60);return e=(e<10?"0":"")+e,o=(o<10?"0":"")+o,e+":"+o}},watch:{user(){this._setDates()}}},v=o(40089);const $=(0,v.Z)(k,[["render",h],["__scopeId","data-v-0573c29c"]]);var b=$}}]);
-//# sourceMappingURL=3539.e2aabd54.js.map
\ No newline at end of file
+//# sourceMappingURL=3539.8561909a.js.map
\ No newline at end of file
diff --git a/app/dist/js/3539.e2aabd54.js.map b/app/dist/js/3539.8561909a.js.map
similarity index 85%
rename from app/dist/js/3539.e2aabd54.js.map
rename to app/dist/js/3539.8561909a.js.map
index c952051..1d68539 100644
--- a/app/dist/js/3539.e2aabd54.js.map
+++ b/app/dist/js/3539.8561909a.js.map
@@ -1 +1 @@
-{"version":3,"file":"js/3539.e2aabd54.js","mappings":"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","sources":["webpack://jandl/./src/plugins/tm@profile/profile/my-profile.vue","webpack://jandl/./src/plugins/tm@profile/profile/my-profile.vue?3eeb"],"sourcesContent":["\n\t
\n\t\t
Všeobecné informácie
\n\t\t\n\t\t\n\t
\n\t
\n\t\t
Pracovná doba
\n\t\t\n\t\t\n\t
\n\t
\n\t\tULOŽIŤ ZMENY\n\t
\n\n\n\n\n\n","import { render } from \"./my-profile.vue?vue&type=template&id=0573c29c&scoped=true\"\nimport script from \"./my-profile.vue?vue&type=script&lang=js\"\nexport * from \"./my-profile.vue?vue&type=script&lang=js\"\n\nimport \"./my-profile.vue?vue&type=style&index=0&id=0573c29c&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-0573c29c\"]])\n\nexport default __exports__"],"names":["class","_createElementVNode","_hoisted_1","_hoisted_2","_createVNode","_component_v_text_field","variant","label","disabled","_ctx","name","surname","_hoisted_3","_hoisted_4","error","$data","form","work_start","$errors","length","type","hint","parseErrors","work_end","_hoisted_5","_component_v_btn","onClick","$options","data","errorUtils","v$","useVuelidate","computed","mapGetters","validations","required","mounted","this","_setDates","methods","async","$validate","sHours","sMinutes","split","eHours","eMinutes","id","user","parseFloat","$store","dispatch","$toast","success","$parseError","decimalHoursToTime","decimalHours","hours","Math","floor","mins","watch","__exports__","render"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"js/3539.8561909a.js","mappings":"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","sources":["webpack://jandl/./src/plugins/tm@profile/profile/my-profile.vue","webpack://jandl/./src/plugins/tm@profile/profile/my-profile.vue?3eeb"],"sourcesContent":["\n\t
\n\t\t
Všeobecné informácie
\n\t\t\n\t\t\n\t
\n\t
\n\t\t
Pracovná doba
\n\t\t\n\t\t\n\t
\n\t
\n\t\tULOŽIŤ ZMENY\n\t
\n\n\n\n\n\n","import { render } from \"./my-profile.vue?vue&type=template&id=0573c29c&scoped=true\"\nimport script from \"./my-profile.vue?vue&type=script&lang=js\"\nexport * from \"./my-profile.vue?vue&type=script&lang=js\"\n\nimport \"./my-profile.vue?vue&type=style&index=0&id=0573c29c&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/jakubpapso/Repositories/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-0573c29c\"]])\n\nexport default __exports__"],"names":["class","_createElementVNode","_hoisted_1","_hoisted_2","_createVNode","_component_v_text_field","variant","label","disabled","_ctx","name","surname","_hoisted_3","_hoisted_4","error","$data","form","work_start","$errors","length","type","hint","parseErrors","work_end","_hoisted_5","_component_v_btn","onClick","$options","data","errorUtils","v$","useVuelidate","computed","mapGetters","validations","required","mounted","this","_setDates","methods","async","$validate","sHours","sMinutes","split","eHours","eMinutes","id","user","parseFloat","$store","dispatch","$toast","success","$parseError","decimalHoursToTime","decimalHours","hours","Math","floor","mins","watch","__exports__","render"],"sourceRoot":""}
\ No newline at end of file
diff --git a/app/dist/js/4252.d8564809.js b/app/dist/js/4252.0b218032.js
similarity index 99%
rename from app/dist/js/4252.d8564809.js
rename to app/dist/js/4252.0b218032.js
index 41851fd..6343bd3 100644
--- a/app/dist/js/4252.d8564809.js
+++ b/app/dist/js/4252.0b218032.js
@@ -1,2 +1,2 @@
"use strict";(self["webpackChunkjandl"]=self["webpackChunkjandl"]||[]).push([[4252],{94252:function(e,t,a){a.r(t),a.d(t,{default:function(){return se}});var l=a(73396),s=a(97718);const o={class:"main-content"};function n(e,t,a,n,r,i){const u=(0,l.up)("A-sidemenu"),c=(0,l.up)("A-header"),d=(0,l.up)("router-view"),m=(0,l.up)("ion-split-pane");return(0,l.wg)(),(0,l.j4)(m,{"content-id":"main-content"},{default:(0,l.w5)((()=>[(0,l.Wm)(u,{ref:"sidemenu"},null,512),(0,l.Wm)(s.q,{onClick:t[0]||(t[0]=t=>e.$events.emit("close-menu")),class:"split-pane-right-side"},{default:(0,l.w5)((()=>[(0,l.Wm)(c),(0,l._)("div",o,[(0,l.Wm)(d,{id:"main-content"})])])),_:1})])),_:1})}a(57658);var r=a(87139);const i=["src"],u={key:0,class:"mb-4 text-center rounded-circle badge"};function c(e,t,s,o,n,c){const d=(0,l.up)("ion-item"),m=(0,l.up)("ion-list"),p=(0,l.up)("ion-content"),h=(0,l.up)("ion-menu");return(0,l.wg)(),(0,l.j4)(h,{ref:"menu","content-id":"main-content"},{default:(0,l.w5)((()=>[(0,l.Wm)(p,null,{default:(0,l.w5)((()=>[(0,l._)("img",{class:"py-5 px-5 cursor-pointer",src:a(67958),alt:"Jandl-logo",onClick:t[0]||(t[0]=e=>c.refreshPage())},null,8,i),(0,l.Wm)(m,{lines:"none",id:"labels-list"},{default:(0,l.w5)((()=>[((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)(n.pages,(t=>((0,l.wg)(),(0,l.j4)(d,{key:t.pageName,class:(0,r.C_)({active:c.isActive(t.pageName)}),onClick:a=>{e.$router.push({name:t.pageName}),c.closeMenu()}},{default:(0,l.w5)((()=>[(0,l.Uk)((0,r.zw)(t.title)+" ",1),"Overview - Unscheduled tasks"==t.pageName&&e.unscheduledSubtasks?.length>=1?((0,l.wg)(),(0,l.iD)("span",u,(0,r.zw)(e.unscheduledSubtasks?.length),1)):(0,l.kq)("",!0)])),_:2},1032,["class","onClick"])))),128))])),_:1})])),_:1})])),_:1},512)}var d=a(20065),m={data(){return{pages:[{title:"Sub Tasks",pageName:"Dashboard - Tasks"},{title:"Teams overview",pageName:"Dashboard - Teams"},{title:"Projects overview",pageName:"Dashboard - Projects"},{title:"Unscheduled Sub Tasks",pageName:"Overview - Unscheduled tasks"},{title:"Ongoing Sub Tasks",pageName:"Overview - Ongoing tasks"},{title:"Teams",pageName:"Overview - Teams"}]}},computed:{...(0,d.Se)("tm",["unscheduledSubtasks"])},created(){this.$events.on("close-menu",(()=>this.closeMenu())),this.$events.on("toggle-menu",(()=>this.toggleMenu()))},methods:{isActive(e){return this.$route.name==e},closeMenu(){this.$refs.menu.$el.close()},toggleMenu(){this.$refs.menu.$el.toggle()},refreshPage(){window.location="/#/app/dashboard/tasks"}}},p=a(40089);const h=(0,p.Z)(m,[["render",c],["__scopeId","data-v-797d13be"]]);var v=h,g=a(49242),f=a(90836),b=a(68952),k=a(52718),w=a(71138),_=a(80320),y=a(89888);const W=(0,_.e)()({name:"VToolbarTitle",props:{text:String,...(0,w.Q)()},setup(e,t){let{slots:a}=t;return(0,y.L)((()=>{var t;const s=!!(a.default||a.text||e.text);return(0,l.Wm)(e.tag,{class:"v-toolbar-title"},{default:()=>[s&&(0,l.Wm)("div",{class:"v-toolbar-title__placeholder"},[a.text?a.text():e.text,null==(t=a.default)?void 0:t.call(a)])]})})),{}}});var x=a(62718),$=a(12465),S=a(34231),T=a(7041),C=a(98434),N=a(22370),U=a(44870),j=a(13766),A=a(131);const B=[null,"prominent","default","comfortable","compact"],V=(0,j.U)({absolute:Boolean,collapse:Boolean,color:String,density:{type:String,default:"default",validator:e=>B.includes(e)},extended:Boolean,extensionHeight:{type:[Number,String],default:48},flat:Boolean,floating:Boolean,height:{type:[Number,String],default:64},image:String,title:String,...(0,x.m)(),...(0,$.c)(),...(0,S.I)(),...(0,w.Q)({tag:"header"}),...(0,T.x$)()},"v-toolbar"),z=(0,_.e)()({name:"VToolbar",props:V(),setup(e,t){var a;let{slots:s}=t;const{backgroundColorClasses:o,backgroundColorStyles:n}=(0,N.Y5)((0,U.Vh)(e,"color")),{borderClasses:r}=(0,x.P)(e),{elevationClasses:i}=(0,$.Y)(e),{roundedClasses:u}=(0,S.b)(e),{themeClasses:c}=(0,T.ER)(e),d=(0,U.iH)(!!(e.extended||null!=(a=s.extension)&&a.call(s))),m=(0,l.Fl)((()=>parseInt(Number(e.height)+("prominent"===e.density?Number(e.height):0)-("comfortable"===e.density?8:0)-("compact"===e.density?16:0),10))),p=(0,l.Fl)((()=>d.value?parseInt(Number(e.extensionHeight)+("prominent"===e.density?Number(e.extensionHeight):0)-("comfortable"===e.density?4:0)-("compact"===e.density?8:0),10):0));return(0,C.AF)({VBtn:{variant:"text"}}),(0,y.L)((()=>{var t,a,h,v,g;const w=!(!e.title&&!s.title),_=!(!s.image&&!e.image),y=null==(t=s.extension)?void 0:t.call(s);return d.value=!(!e.extended&&!y),(0,l.Wm)(e.tag,{class:["v-toolbar",{"v-toolbar--absolute":e.absolute,"v-toolbar--collapse":e.collapse,"v-toolbar--flat":e.flat,"v-toolbar--floating":e.floating,[`v-toolbar--density-${e.density}`]:!0},o.value,r.value,i.value,u.value,c.value],style:[n.value]},{default:()=>[_&&(0,l.Wm)("div",{key:"image",class:"v-toolbar__image"},[(0,l.Wm)(f.z,{defaults:{VImg:{cover:!0,src:e.image}}},{default:()=>[s.image?null==(a=s.image)?void 0:a.call(s):(0,l.Wm)(k.f,null,null)]})]),(0,l.Wm)("div",{class:"v-toolbar__content",style:{height:(0,A.kb)(m.value)}},[s.prepend&&(0,l.Wm)("div",{class:"v-toolbar__prepend"},[null==(h=s.prepend)?void 0:h.call(s)]),w&&(0,l.Wm)(W,{key:"title",text:e.title},{text:s.title}),null==(v=s.default)?void 0:v.call(s),s.append&&(0,l.Wm)("div",{class:"v-toolbar__append"},[null==(g=s.append)?void 0:g.call(s)])]),(0,l.Wm)(b.Fx,null,{default:()=>[d.value&&(0,l.Wm)("div",{class:"v-toolbar__extension",style:{height:(0,A.kb)(p.value)}},[y])]})]})})),{contentHeight:m,extensionHeight:p}}});function H(e){return(0,A.ei)(e,Object.keys((null==z?void 0:z.props)??{}))}var M=a(87396),O=a(8717);const I=(0,_.a)({name:"VAppBar",props:{modelValue:{type:Boolean,default:!0},location:{type:String,default:"top",validator:e=>["top","bottom"].includes(e)},...V(),...(0,M.o8)(),height:{type:[Number,String],default:64}},emits:{"update:modelValue":e=>!0},setup(e,t){let{slots:a}=t;const s=(0,U.iH)(),o=(0,O.z)(e,"modelValue"),n=(0,l.Fl)((()=>{var e,t;const a=(null==(e=s.value)?void 0:e.contentHeight)??0,l=(null==(t=s.value)?void 0:t.extensionHeight)??0;return a+l})),{layoutItemStyles:r}=(0,M.eW)({id:e.name,order:(0,l.Fl)((()=>parseInt(e.order,10))),position:(0,U.Vh)(e,"location"),layoutSize:n,elementSize:n,active:o,absolute:(0,U.Vh)(e,"absolute")});return(0,y.L)((()=>{const[t]=H(e);return(0,l.Wm)(z,(0,l.dG)({ref:s,class:["v-app-bar",{"v-app-bar--bottom":"bottom"===e.location}],style:{...r.value,height:void 0}},t),a)})),{}}});var D=a(67312),E=a(4960);const F=(0,_.a)({name:"VAppBarNavIcon",props:{icon:{type:E.lE,default:"$menu"}},setup(e,t){let{slots:a}=t;return(0,y.L)((()=>(0,l.Wm)(D.T,{class:"v-app-bar-nav-icon",icon:e.icon},a))),{}}});var P=a(53289),K=a(98649),L=a(98777),q=a(4193);const G={class:"d-flex justify-space-between align-center w-100"},R={class:"d-flex justify-end align-center w-100 header-sm"},Y=["src"],Z={class:"d-flex justify-between align-center"},Q={class:"employee-name ml-4"};function J(e,t,s,o,n,i){return(0,l.wg)(),(0,l.j4)(I,{class:"header"},{default:(0,l.w5)((()=>[(0,l.Wm)(F,{onClick:t[0]||(t[0]=t=>e.$events.emit("toggle-menu")),class:"menu-icon"}),(0,l._)("div",G,[(0,l._)("h1",null,(0,r.zw)(e.$route.meta.title),1),(0,l._)("div",R,[(0,l._)("img",{class:"search-icon",src:a(52906),alt:"search-icon"},null,8,Y),(0,l.wy)((0,l._)("input",{class:"search-input mx-2","onUpdate:modelValue":t[1]||(t[1]=e=>n.search=e),type:"text",placeholder:"Search",onClick:t[2]||(t[2]=t=>e.$router.push({name:"Search"})),onKeyup:t[3]||(t[3]=t=>e.$events.emit("onSearch",n.search))},null,544),[[g.nr,n.search]]),(0,l.Wm)(q.T,null,{activator:(0,l.w5)((({props:e})=>[(0,l.Wm)(D.T,(0,l.dG)(e,{class:"button primary mr-5"}),{default:(0,l.w5)((()=>[(0,l.Wm)(P.t,{icon:"mdi-plus",size:"large"}),(0,l.Uk)("Vytvoriť ")])),_:2},1040)])),default:(0,l.w5)((()=>[(0,l.Wm)(K.i,null,{default:(0,l.w5)((()=>[(0,l.Wm)(L.l,{class:"cursor-pointer hover-background",onClick:t[4]||(t[4]=e=>i.createMasterTask())},{default:(0,l.w5)((()=>[(0,l.Uk)("MASTER TASK")])),_:1}),(0,l.Wm)(L.l,{class:"cursor-pointer hover-background",onClick:t[5]||(t[5]=e=>i.createTask())},{default:(0,l.w5)((()=>[(0,l.Uk)("SUB TASK")])),_:1}),(0,l.Wm)(L.l,{class:"cursor-pointer hover-background",onClick:t[6]||(t[6]=e=>i.createTeam())},{default:(0,l.w5)((()=>[(0,l.Uk)("TÍM")])),_:1}),(0,l.Wm)(L.l,{class:"cursor-pointer hover-background",onClick:t[7]||(t[7]=e=>i.createBlocker())},{default:(0,l.w5)((()=>[(0,l.Uk)("BLOCKER")])),_:1})])),_:1})])),_:1}),e.user?((0,l.wg)(),(0,l.j4)(q.T,{key:0},{activator:(0,l.w5)((({props:a})=>[(0,l.Wm)(D.T,(0,l.dG)({class:"menu-dropdown"},a),{default:(0,l.w5)((()=>[(0,l._)("div",Z,[(0,l._)("p",{class:"employee-select-avatar d-flex justify-center align-center",onClick:t[8]||(t[8]=(0,g.iM)((t=>e.$router.push({name:"Dashboard - User"})),["stop"]))},(0,r.zw)(e.user.name?.charAt(0))+(0,r.zw)(e.user.surname?.charAt(0)),1),(0,l._)("div",null,[(0,l._)("span",Q,(0,r.zw)(`${e.user.name} ${e.user.surname||""}`),1),(0,l.Wm)(P.t,{class:"ml-3",icon:"mdi-chevron-down",size:"x-small"})])])])),_:2},1040)])),default:(0,l.w5)((()=>[(0,l.Wm)(K.i,{class:"text-center"},{default:(0,l.w5)((()=>[(0,l.Wm)(L.l,{class:"cursor-pointer hover-background",onClick:t[9]||(t[9]=(0,g.iM)((t=>e.$router.push({name:"Dashboard - User"})),["stop"]))},{default:(0,l.w5)((()=>[(0,l.Uk)("Profil")])),_:1}),(0,l.Wm)(L.l,null,{default:(0,l.w5)((()=>[(0,l.Wm)(D.T,{class:"button",onClick:t[10]||(t[10]=e=>i.logOut())},{default:(0,l.w5)((()=>[(0,l.Uk)("Odhlásiť sa")])),_:1})])),_:1})])),_:1})])),_:1})):(0,l.kq)("",!0)])])])),_:1})}var X={data(){return{search:""}},computed:{...(0,d.Se)("auth",["user"])},methods:{async logOut(){try{await this.$store.dispatch("auth/logout"),this.$router.push("/"),this.$toast.success("Boli ste odhlásený")}catch(e){this.$toast.error(this.$parseError(e))}},createMasterTask(){this.$events.emit("show-mastertask-modal",{})},createTask(){this.$events.emit("show-subtask-modal",{})},createTeam(){this.$events.emit("show-team-modal",{})},createBlocker(){this.$events.emit("show-blocker-modal",{})}},watch:{$route(e,t){this.search=""}}};const ee=(0,p.Z)(X,[["render",J],["__scopeId","data-v-e8d3951a"]]);var te=ee,ae={components:{ASidemenu:v,AHeader:te},data(){return{loader:null}},async mounted(){this.loader=this.$loading.show();try{await this.$store.dispatch("tm/initialize")}catch(e){this.$toast.error(this.$parseError(e))}finally{this.loader?.hide()}}};const le=(0,p.Z)(ae,[["render",n],["__scopeId","data-v-79f1cea8"]]);var se=le},52906:function(e,t,a){e.exports=a.p+"img/search.bd80c5fb.svg"},67958:function(e,t,a){e.exports=a.p+"img/jandl-logo.d5c18b80.svg"}}]);
-//# sourceMappingURL=4252.d8564809.js.map
\ No newline at end of file
+//# sourceMappingURL=4252.0b218032.js.map
\ No newline at end of file
diff --git a/app/dist/js/4252.0b218032.js.map b/app/dist/js/4252.0b218032.js.map
new file mode 100644
index 0000000..0ca842c
--- /dev/null
+++ b/app/dist/js/4252.0b218032.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"js/4252.0b218032.js","mappings":"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","sources":["webpack://jandl/./src/plugins/app/_layout/app/app.layout.vue","webpack://jandl/./src/plugins/app/_layout/app/_components/a-sidemenu.vue","webpack://jandl/./src/plugins/app/_layout/app/_components/a-sidemenu.vue?726e","webpack://jandl/../../../src/components/VToolbar/VToolbarTitle.tsx","webpack://jandl/../../../src/components/VToolbar/VToolbar.tsx","webpack://jandl/../../../src/components/VAppBar/VAppBar.tsx","webpack://jandl/../../../src/components/VAppBar/VAppBarNavIcon.tsx","webpack://jandl/./src/plugins/app/_layout/app/_components/a-header.vue","webpack://jandl/./src/plugins/app/_layout/app/_components/a-header.vue?9ad9","webpack://jandl/./src/plugins/app/_layout/app/app.layout.vue?60ee"],"sourcesContent":["\n\t\n\t\t\n\n\t\t\n\t\t\t\n\n\t\t\t
\n\t\t\n\t\n\n\n\n\n\n","import { render } from \"./a-header.vue?vue&type=template&id=e8d3951a&scoped=true\"\nimport script from \"./a-header.vue?vue&type=script&lang=js\"\nexport * from \"./a-header.vue?vue&type=script&lang=js\"\n\nimport \"./a-header.vue?vue&type=style&index=0&id=e8d3951a&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-e8d3951a\"]])\n\nexport default __exports__","import { render } from \"./app.layout.vue?vue&type=template&id=79f1cea8&scoped=true\"\nimport script from \"./app.layout.vue?vue&type=script&lang=js\"\nexport * from \"./app.layout.vue?vue&type=script&lang=js\"\n\nimport \"./app.layout.vue?vue&type=style&index=0&id=79f1cea8&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-79f1cea8\"]])\n\nexport default __exports__"],"names":["class","_createBlock","_component_ion_split_pane","_createVNode","_component_A_sidemenu","ref","_component_v_app","onClick","_ctx","emit","_component_A_header","_createElementVNode","_hoisted_1","_component_router_view","id","_component_ion_menu","_component_ion_content","src","require","alt","$options","_component_ion_list","lines","_createElementBlock","_Fragment","$data","page","_component_ion_item","key","pageName","active","push","name","title","length","_hoisted_2","data","pages","computed","mapGetters","created","this","$events","on","closeMenu","toggleMenu","methods","isActive","$route","$refs","menu","$el","close","toggle","refreshPage","window","location","__exports__","VToolbarTitle","genericComponent","props","text","String","makeTagProps","setup","slots","useRender","hasText","default","_slots$default","allowedDensities","makeVToolbarProps","propsFactory","absolute","Boolean","collapse","color","density","type","validator","v","includes","extended","extensionHeight","Number","flat","floating","height","image","makeBorderProps","makeElevationProps","makeRoundedProps","tag","makeThemeProps","VToolbar","backgroundColorClasses","backgroundColorStyles","useBackgroundColor","toRef","borderClasses","useBorder","elevationClasses","useElevation","roundedClasses","useRounded","themeClasses","provideTheme","isExtended","extension","_slots$extension","contentHeight","parseInt","value","provideDefaults","VBtn","variant","hasTitle","hasImage","_slots$extension2","VImg","cover","_slots$image","convertToUnit","prepend","_slots$prepend","append","_slots$append","filterToolbarProps","pick","Object","keys","VAppBar","defineComponent","modelValue","makeLayoutItemProps","emits","vToolbarRef","useProxiedModel","_vToolbarRef$value","_vToolbarRef$value2","layoutItemStyles","useLayoutItem","order","position","layoutSize","elementSize","toolbarProps","undefined","VAppBarNavIcon","icon","IconValue","_component_v_app_bar","_component_v_app_bar_nav_icon","meta","placeholder","onKeyup","_component_v_menu","activator","_component_v_btn","_mergeProps","_component_v_icon","size","_component_v_list","_component_v_list_item","_hoisted_4","charAt","surname","_hoisted_5","search","async","$store","dispatch","$router","$toast","success","error","$parseError","createMasterTask","createTask","createTeam","createBlocker","watch","to","from","components","ASidemenu","AHeader","loader","$loading","show","hide","render"],"sourceRoot":""}
\ No newline at end of file
diff --git a/app/dist/js/5921.070bb4f8.js b/app/dist/js/5921.e09dad37.js
similarity index 98%
rename from app/dist/js/5921.070bb4f8.js
rename to app/dist/js/5921.e09dad37.js
index 3323ad3..09c4c44 100644
--- a/app/dist/js/5921.070bb4f8.js
+++ b/app/dist/js/5921.e09dad37.js
@@ -1,2 +1,2 @@
"use strict";(self["webpackChunkjandl"]=self["webpackChunkjandl"]||[]).push([[5921],{75921:function(e,t,r){r.r(t),r.d(t,{default:function(){return k}});var a=r(73396),n=r(23369);const o={class:"auth-card"},s=(0,a._)("h1",null,"Forgotten password?",-1),l=(0,a._)("p",{class:"mb-10"},"We will send you a confirmation code on your email with the instructions",-1);function i(e,t,r,i,u,c){const d=(0,a.up)("A-forgot-password-form");return(0,a.wg)(),(0,a.j4)(n.K,null,{default:(0,a.w5)((()=>[(0,a._)("div",o,[s,l,(0,a.Wm)(d,{"navigate-to-after-forgot-password":"/auth/reset-password"})])])),_:1})}r(57658);var u=r(49242),c=r(87139),d=r(67312),m=r(96422),f=r(45869);const p={class:"d-flex flex-column"};function v(e,t,r,n,o,s){return(0,a.wg)(),(0,a.j4)(m.O,{onKeydown:t[3]||(t[3]=(0,u.D2)((e=>s.submit()),["enter"]))},{default:(0,a.w5)((()=>[(0,a.Wm)(f.hw,{modelValue:o.credentials.email,"onUpdate:modelValue":t[0]||(t[0]=e=>o.credentials.email=e),variant:"solo","bg-color":"white",hint:o.v$.credentials.email.$errors?o.errorUtils.parseErrors(o.v$.credentials.email.$errors):null,class:(0,c.C_)([{error:o.v$.credentials.email.$errors.length},"mb-2"]),label:"E-mail",autocomplete:"email"},null,8,["modelValue","hint","class"]),(0,a._)("div",p,[(0,a.Wm)(d.T,{class:"button",color:"#7F39FB",onClick:t[1]||(t[1]=(0,u.iM)((e=>s.submit()),["prevent"]))},{default:(0,a.w5)((()=>[(0,a.Uk)("Send code")])),_:1}),(0,a._)("p",{class:"mt-5 text-center cursor-pointer",onClick:t[2]||(t[2]=t=>e.$router.push({name:"Login"}))},"Did you remember your password? Log in")])])),_:1})}var h=r(33053),w=r(69117),b=r(7648),g={props:{navigateToAfterForgotPassword:{type:String,required:!0}},data(){return{errorUtils:b.Z,v$:(0,h.ZP)(),credentials:{},showPassword:!1}},validations(){return{credentials:{email:{required:w.C1,email:w.Do}}}},methods:{async submit(){if(await this.v$.$validate())try{await this.$store.dispatch("auth/forgotPassword",this.credentials),this.$router.push({name:"Forgot success",query:{email:this.credentials.email}})}catch(e){this.$toast.error(this.$parseError(e))}}}},$=r(40089);const y=(0,$.Z)(g,[["render",v]]);var F=y,_={components:{AForgotPasswordForm:F}};const C=(0,$.Z)(_,[["render",i]]);var k=C},96422:function(e,t,r){r.d(t,{O:function(){return u}});var a=r(73396),n=r(4357),o=r(53185),s=r(44870),l=r(80320),i=r(89888);const u=(0,l.a)({name:"VForm",props:{...(0,n.vC)()},emits:{"update:modelValue":e=>!0,submit:e=>!0},setup(e,t){let{slots:r,emit:l}=t;const u=(0,n.Np)(e),c=(0,s.iH)();function d(e){e.preventDefault(),u.reset()}function m(e){const t=e,r=u.validate();t.then=r.then.bind(r),t.catch=r.catch.bind(r),t.finally=r.finally.bind(r),l("submit",t),t.defaultPrevented||r.then((e=>{let{valid:t}=e;var r;t&&(null==(r=c.value)||r.submit())})),t.preventDefault()}return(0,i.L)((()=>{var e;return(0,a.Wm)("form",{ref:c,class:"v-form",novalidate:!0,onReset:d,onSubmit:m},[null==(e=r.default)?void 0:e.call(r,u)])})),(0,o.F)(u,c)}})},23369:function(e,t,r){r.d(t,{K:function(){return l}});var a=r(73396),n=(r(98099),r(71138)),o=r(80320),s=r(89888);const l=(0,o.a)({name:"VContainer",props:{fluid:{type:Boolean,default:!1},...(0,n.Q)()},setup(e,t){let{slots:r}=t;return(0,s.L)((()=>(0,a.Wm)(e.tag,{class:["v-container",{"v-container--fluid":e.fluid}]},r))),{}}})}}]);
-//# sourceMappingURL=5921.070bb4f8.js.map
\ No newline at end of file
+//# sourceMappingURL=5921.e09dad37.js.map
\ No newline at end of file
diff --git a/app/dist/js/5921.070bb4f8.js.map b/app/dist/js/5921.e09dad37.js.map
similarity index 56%
rename from app/dist/js/5921.070bb4f8.js.map
rename to app/dist/js/5921.e09dad37.js.map
index 92b05c8..2c38ecc 100644
--- a/app/dist/js/5921.070bb4f8.js.map
+++ b/app/dist/js/5921.e09dad37.js.map
@@ -1 +1 @@
-{"version":3,"file":"js/5921.070bb4f8.js","mappings":"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","sources":["webpack://jandl/./src/plugins/lib@auth/forgot-password/forgot-password.vue","webpack://jandl/./src/plugins/lib@auth/forgot-password/_components/a-forgot-password-form.vue","webpack://jandl/./src/plugins/lib@auth/forgot-password/_components/a-forgot-password-form.vue?59f3","webpack://jandl/./src/plugins/lib@auth/forgot-password/forgot-password.vue?c2c2","webpack://jandl/../../../src/components/VForm/VForm.tsx","webpack://jandl/../../../src/components/VGrid/VContainer.tsx"],"sourcesContent":["\n\t\n\t\t
\n\t\t\t
Forgotten password?
\n\t\t\t
We will send you a confirmation code on your email with the instructions
\n\n\t\t\t\n\t\t
\n\t\n\n\n\n","\n\t\n\t\t\n\n\t\t
\n\t\t\tSend code\n\t\t\t
Did you remember your password? Log in
\n\t\t
\n\t\n\n\n","import { render } from \"./a-forgot-password-form.vue?vue&type=template&id=169cf1d2\"\nimport script from \"./a-forgot-password-form.vue?vue&type=script&lang=js\"\nexport * from \"./a-forgot-password-form.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/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 \"./forgot-password.vue?vue&type=template&id=27b579fa\"\nimport script from \"./forgot-password.vue?vue&type=script&lang=js\"\nexport * from \"./forgot-password.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","// Composables\nimport { createForm, makeFormProps } from '@/composables/form'\nimport { forwardRefs } from '@/composables/forwardRefs'\n\n// Utilities\nimport { ref } from 'vue'\nimport { defineComponent, useRender } from '@/util'\n\n// Types\nimport type { SubmitEventPromise } from '@/composables/form'\n\nexport const VForm = defineComponent({\n name: 'VForm',\n\n props: {\n ...makeFormProps(),\n },\n\n emits: {\n 'update:modelValue': (val: boolean | null) => true,\n submit: (e: SubmitEventPromise) => true,\n },\n\n setup (props, { slots, emit }) {\n const form = createForm(props)\n const formRef = ref()\n\n function onReset (e: Event) {\n e.preventDefault()\n form.reset()\n }\n\n function onSubmit (_e: Event) {\n const e = _e as SubmitEventPromise\n\n const ready = form.validate()\n e.then = ready.then.bind(ready)\n e.catch = ready.catch.bind(ready)\n e.finally = ready.finally.bind(ready)\n\n emit('submit', e)\n\n if (!e.defaultPrevented) {\n ready.then(({ valid }) => {\n if (valid) {\n formRef.value?.submit()\n }\n })\n }\n\n e.preventDefault()\n }\n\n useRender(() => ((\n \n )))\n\n return forwardRefs(form, formRef)\n },\n})\n\nexport type VForm = InstanceType\n","// Styles\nimport './VGrid.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { defineComponent, useRender } from '@/util'\n\nexport const VContainer = defineComponent({\n name: 'VContainer',\n\n props: {\n fluid: {\n type: Boolean,\n default: false,\n },\n\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n useRender(() => (\n \n ))\n\n return {}\n },\n})\n\nexport type VContainer = InstanceType\n"],"names":["class","_createElementVNode","_createBlock","_component_v_container","_hoisted_1","_hoisted_2","_hoisted_3","_createVNode","_component_A_forgot_password_form","_component_v_form","onKeydown","$options","_component_v_text_field","$data","email","variant","hint","credentials","$errors","parseErrors","error","length","label","autocomplete","_component_v_btn","color","onClick","_ctx","push","name","props","navigateToAfterForgotPassword","type","String","required","data","errorUtils","v$","useVuelidate","showPassword","validations","methods","async","this","$validate","$store","dispatch","$router","query","$toast","$parseError","__exports__","components","AForgotPasswordForm","render","VForm","defineComponent","makeFormProps","emits","val","submit","e","setup","slots","emit","form","createForm","formRef","ref","onReset","preventDefault","reset","onSubmit","_e","ready","validate","then","bind","catch","finally","defaultPrevented","_ref2","valid","value","_formRef$value","useRender","default","_slots$default","forwardRefs","VContainer","fluid","Boolean","makeTagProps"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"js/5921.e09dad37.js","mappings":"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","sources":["webpack://jandl/./src/plugins/lib@auth/forgot-password/forgot-password.vue","webpack://jandl/./src/plugins/lib@auth/forgot-password/_components/a-forgot-password-form.vue","webpack://jandl/./src/plugins/lib@auth/forgot-password/_components/a-forgot-password-form.vue?59f3","webpack://jandl/./src/plugins/lib@auth/forgot-password/forgot-password.vue?c2c2","webpack://jandl/../../../src/components/VForm/VForm.tsx","webpack://jandl/../../../src/components/VGrid/VContainer.tsx"],"sourcesContent":["\n\t\n\t\t
\n\t\t\t
Forgotten password?
\n\t\t\t
We will send you a confirmation code on your email with the instructions
\n\n\t\t\t\n\t\t
\n\t\n\n\n\n","\n\t\n\t\t\n\n\t\t
\n\t\t\tSend code\n\t\t\t
Did you remember your password? Log in
\n\t\t
\n\t\n\n\n","import { render } from \"./a-forgot-password-form.vue?vue&type=template&id=169cf1d2\"\nimport script from \"./a-forgot-password-form.vue?vue&type=script&lang=js\"\nexport * from \"./a-forgot-password-form.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/jakubpapso/Repositories/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 \"./forgot-password.vue?vue&type=template&id=27b579fa\"\nimport script from \"./forgot-password.vue?vue&type=script&lang=js\"\nexport * from \"./forgot-password.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/jakubpapso/Repositories/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","// Composables\nimport { createForm, makeFormProps } from '@/composables/form'\nimport { forwardRefs } from '@/composables/forwardRefs'\n\n// Utilities\nimport { ref } from 'vue'\nimport { defineComponent, useRender } from '@/util'\n\n// Types\nimport type { SubmitEventPromise } from '@/composables/form'\n\nexport const VForm = defineComponent({\n name: 'VForm',\n\n props: {\n ...makeFormProps(),\n },\n\n emits: {\n 'update:modelValue': (val: boolean | null) => true,\n submit: (e: SubmitEventPromise) => true,\n },\n\n setup (props, { slots, emit }) {\n const form = createForm(props)\n const formRef = ref()\n\n function onReset (e: Event) {\n e.preventDefault()\n form.reset()\n }\n\n function onSubmit (_e: Event) {\n const e = _e as SubmitEventPromise\n\n const ready = form.validate()\n e.then = ready.then.bind(ready)\n e.catch = ready.catch.bind(ready)\n e.finally = ready.finally.bind(ready)\n\n emit('submit', e)\n\n if (!e.defaultPrevented) {\n ready.then(({ valid }) => {\n if (valid) {\n formRef.value?.submit()\n }\n })\n }\n\n e.preventDefault()\n }\n\n useRender(() => ((\n \n )))\n\n return forwardRefs(form, formRef)\n },\n})\n\nexport type VForm = InstanceType\n","// Styles\nimport './VGrid.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { defineComponent, useRender } from '@/util'\n\nexport const VContainer = defineComponent({\n name: 'VContainer',\n\n props: {\n fluid: {\n type: Boolean,\n default: false,\n },\n\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n useRender(() => (\n \n ))\n\n return {}\n },\n})\n\nexport type VContainer = InstanceType\n"],"names":["class","_createElementVNode","_createBlock","_component_v_container","_hoisted_1","_hoisted_2","_hoisted_3","_createVNode","_component_A_forgot_password_form","_component_v_form","onKeydown","$options","_component_v_text_field","$data","email","variant","hint","credentials","$errors","parseErrors","error","length","label","autocomplete","_component_v_btn","color","onClick","_ctx","push","name","props","navigateToAfterForgotPassword","type","String","required","data","errorUtils","v$","useVuelidate","showPassword","validations","methods","async","this","$validate","$store","dispatch","$router","query","$toast","$parseError","__exports__","components","AForgotPasswordForm","render","VForm","defineComponent","makeFormProps","emits","val","submit","e","setup","slots","emit","form","createForm","formRef","ref","onReset","preventDefault","reset","onSubmit","_e","ready","validate","then","bind","catch","finally","defaultPrevented","_ref2","valid","value","_formRef$value","useRender","default","_slots$default","forwardRefs","VContainer","fluid","Boolean","makeTagProps"],"sourceRoot":""}
\ No newline at end of file
diff --git a/app/dist/js/630.73358fb6.js b/app/dist/js/630.73358fb6.js
deleted file mode 100644
index d112fff..0000000
--- a/app/dist/js/630.73358fb6.js
+++ /dev/null
@@ -1,2 +0,0 @@
-"use strict";(self["webpackChunkjandl"]=self["webpackChunkjandl"]||[]).push([[630],{38492:function(e,t,s){s.r(t),s.d(t,{default:function(){return T}});var i=s(73396);const l={ref:"page"};function a(e,t,s,a,n,r){const o=(0,i.up)("A-task-filter"),d=(0,i.up)("Z-timeline");return(0,i.wg)(),(0,i.iD)("div",l,[e.$store.getters["tm/isInitialized"]?((0,i.wg)(),(0,i.j4)(o,{key:0,"split-days":r.timelineData?r.splitDays:null,onFilterChanged:r.onFilterChanged,ref:"filter"},null,8,["split-days","onFilterChanged"])):(0,i.kq)("",!0),r.timelineData&&!n.hideCal?((0,i.wg)(),(0,i.j4)(d,{key:1,calData:r.timelineData,calConfig:n.config,splits:r.splitDays},null,8,["calData","calConfig","splits"])):(0,i.kq)("",!0)],512)}s(57658);var n=s(60988),r=s(67312),o=s(16824),d=s(45869);const h={class:"d-flex date-wrapper"},u=["src"],m=["src"];function c(e,t,l,a,c,f){return(0,i.wg)(),(0,i.j4)(o.o,{class:"px-7 py-5 subheader"},{default:(0,i.w5)((()=>[(0,i.Wm)(n.f,{"custom-filter":e.customFilter,"match-any":!0,modelValue:c.selectedEmployee,"onUpdate:modelValue":t[0]||(t[0]=e=>c.selectedEmployee=e),class:"subheader-input",items:e.enrichedEmployees,"menu-props":{maxHeight:500},"item-title":"_fullName","item-value":"id",label:"Zamestnanec",variant:"outlined"},null,8,["custom-filter","modelValue","items"]),(0,i._)("div",h,[(0,i.Wm)(r.T,{class:"subheader-icon-button prev",variant:"outlined",onClick:t[1]||(t[1]=e=>f.prevWeek())},{default:(0,i.w5)((()=>[(0,i._)("img",{src:s(38351),alt:""},null,8,u)])),_:1}),(0,i.Wm)(d.hw,{class:"subheader-input disabled",label:"Dátum",modelValue:c.selectedDate,"onUpdate:modelValue":t[2]||(t[2]=e=>c.selectedDate=e),variant:"outlined","append-inner-icon":"mdi-calendar-blank-outline"},null,8,["modelValue"]),(0,i.Wm)(r.T,{class:"subheader-icon-button next",variant:"outlined",onClick:t[3]||(t[3]=e=>f.nextWeek())},{default:(0,i.w5)((()=>[(0,i._)("img",{src:s(35902),alt:""},null,8,m)])),_:1})]),(0,i.Wm)(d.hw,{class:"subheader-input disabled",label:"Nenaplánované hodiny",variant:"outlined",disabled:!0,modelValue:c.time,"onUpdate:modelValue":t[4]||(t[4]=e=>c.time=e)},null,8,["modelValue"])])),_:1})}var f=s(83299),p=s(20065),k=s(11271),y=s(85174),_={mixins:[f.Z],emits:["filter-changed"],props:{splitDays:{type:[Array,null],default:()=>null}},data(){return{date:new Date,selectedEmployee:null,selectedDate:null,time:null,filter:{start:null,end:null,employee:null}}},computed:{...(0,p.Se)("auth",["user"]),...(0,p.Se)("tm",["enrichedEmployees"])},mounted(){this.selectedEmployee=Number(localStorage.getItem("selectedEmployee")||this.user.id),this.$nextTick((()=>this._updateFilters()))},methods:{prevWeek(){this.date=(0,k.Z)(this.date,7),this._updateFilters()},nextWeek(){this.date=(0,y.Z)(this.date,7),this._updateFilters()},_updateFilters(){this.filter.start=(0,k.Z)(this.date,1),this.filter.end=(0,y.Z)(this.date,5),this.selectedDate=String(this.filter.start?.toLocaleDateString("sk-SK")+" - "+this.filter.end?.toLocaleDateString("sk-SK")),this._emitFilterChanged()},_emitFilterChanged(){this.filter.start&&this.filter.end&&this.filter.employee&&this.$emit("filter-changed",this.filter)}},watch:{selectedEmployee(e){this.filter.employee=this.enrichedEmployees.find((t=>t.id==e)),this._emitFilterChanged(),localStorage.setItem("selectedEmployee",e)},splitDays(){this.time=this.splitDays.map((e=>parseFloat(e.unscheduledTime))).reduce(((e,t)=>e+t),0)}}},g=s(40089);const b=(0,g.Z)(_,[["render",c],["__scopeId","data-v-88d48386"]]);var D=b,v=s(65329),w=s(36797),C=s.n(w),Z=s(2750),F=s(70026),$={mixins:[F.Z],components:{ATaskFilter:D,ZTimeline:v.Z},data(){return{hideCal:!1,filter:null,subtasks:null,config:{date:(0,k.Z)(new Date,1),scrollHour:7}}},computed:{...(0,p.Se)("auth",["user"]),splitDays(){const e=[],t={},s={},i=C()(),l=60*(this.user.work_end-this.user.work_start);this.timelineData.tasks.forEach((e=>{"non-working-hours"==e.type||e.subtask?.is_finished||e.blocker?.is_finished||(s[e.split]||(s[e.split]=0),i.isAfter(C()(e._real_end))||(i.isAfter(C()(e._real_start))&&i.isBefore(C()(e._real_end))?s[e.split]+=Z.Z._getDifferenceInMinutes(e._real_end,new Date):s[e.split]+=Z.Z._getDifferenceInMinutes(e._real_end,e._real_start)))})),s[1]=0,this.timelineData.homeoffices.forEach((e=>{t[e.split-1]=!0}));for(let a=0;a<7;a++){let n;s[a+1]||(s[a+1]=0);const r=C()((0,y.Z)(this.filter.start,a));if(r.isBefore(C()(),"days"))n=0;else if(r.isSame(C()(),"days")){const e=i.diff(i.clone().startOf("day"),"minutes"),t=60*this.user.work_start>e?this.user.work_start:e/60,l=60*(this.user.work_end-t);n=l-s[a+1]/60<0?0:l-s[a+1]}else n=l-s[a+1];isNaN(n)&&(n=l),e.push({id:a+1,fullname:`${this.filter.employee.name} ${this.filter.employee.surname}`,initials:this.filter.employee.name.charAt(0).toUpperCase()+this.filter.employee.surname.charAt(0).toUpperCase(),unscheduledTime:(n/60).toFixed(1),date:(0,y.Z)(this.filter.start,a),isHomeoffice:!!t[a],isWeekend:Z.Z.isWeekend((0,y.Z)(this.filter.start,a))})}return e},unscheduledTime(){return this.subtasks?Z.Z.getUnscheduledTime(this.subtasks):0},timelineData(){if(!this.subtasks||!this.filter)return null;const{tasks:e,blockers:t,nonWorkingHours:s,homeoffices:i}=Z.Z.generateTimelineTasks(this.subtasks,new Date(this.filter.start),this.filter.employee);return{name:this.filter.employee.name,surname:this.filter.employee.surname,unscheduledTime:this.unscheduledTime,tasks:[...e,...t,...s],homeoffices:i}}},mounted(){this.$events.on("on-subtask-edited",(()=>{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=C()(e.start).format("YYYY-MM-DD")),e.end&&(t.end=C()(e.end).format("YYYY-MM-DD")),e.employee&&(t.employee_id=e.employee.id);const s=new URLSearchParams(t).toString();try{const{subtasks:e,blockers:t}=await this.$axios.get_auth(`v1/subtasks?${s}`);this.config.scrollHour=this.filter?.employee.work_start-1,this.config.date=this.filter.start,this.subtasks=[...e,...t],this.hideCal=!0,setTimeout((()=>{this.hideCal=!1}),0)}catch(i){this.$toast.error("Nepodarilo sa nacitat data!")}this._initScrollListener()}}};const S=(0,g.Z)($,[["render",a],["__scopeId","data-v-7cd015f5"]]);var T=S}}]);
-//# sourceMappingURL=630.73358fb6.js.map
\ No newline at end of file
diff --git a/app/dist/js/630.73358fb6.js.map b/app/dist/js/630.73358fb6.js.map
deleted file mode 100644
index 5d2cac0..0000000
--- a/app/dist/js/630.73358fb6.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"js/630.73358fb6.js","mappings":"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","sources":["webpack://jandl/./src/plugins/tm@dashboard/tasks/tasks.vue","webpack://jandl/./src/plugins/tm@dashboard/tasks/_components/a-tasks-filter.vue","webpack://jandl/./src/plugins/tm@dashboard/tasks/_components/a-tasks-filter.vue?1c78","webpack://jandl/./src/plugins/tm@dashboard/tasks/tasks.vue?f083"],"sourcesContent":["\n\t
\n\t\t\n\t\t\n\t
\n\n\n\n\n","\n\t\n\t\t\n\t\t
\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t
\n\t\t\n\t\n\n\n\n\n\n\n\n","import { render } from \"./a-tasks-filter.vue?vue&type=template&id=88d48386&scoped=true\"\nimport script from \"./a-tasks-filter.vue?vue&type=script&lang=js\"\nexport * from \"./a-tasks-filter.vue?vue&type=script&lang=js\"\n\nimport \"./a-tasks-filter.vue?vue&type=style&index=0&id=88d48386&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-88d48386\"]])\n\nexport default __exports__","import { render } from \"./tasks.vue?vue&type=template&id=7cd015f5&scoped=true\"\nimport script from \"./tasks.vue?vue&type=script&lang=js\"\nexport * from \"./tasks.vue?vue&type=script&lang=js\"\n\nimport \"./tasks.vue?vue&type=style&index=0&id=7cd015f5&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-7cd015f5\"]])\n\nexport default __exports__"],"names":["ref","_createElementBlock","_hoisted_1","_ctx","getters","_createBlock","_component_A_task_filter","$options","onFilterChanged","$data","_component_Z_timeline","calData","calConfig","splits","class","_component_v_row","_createVNode","_component_v_autocomplete","items","maxHeight","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","selectedEmployee","selectedDate","time","filter","start","end","employee","computed","mapGetters","mounted","this","Number","localStorage","getItem","user","id","$nextTick","_updateFilters","methods","prevWeek","subDays","nextWeek","addDays","String","toLocaleDateString","_emitFilterChanged","$emit","watch","enrichedEmployees","find","setItem","map","day","parseFloat","unscheduledTime","reduce","acc","val","__exports__","FilterMixin","components","ATaskFilter","ZTimeline","hideCal","subtasks","config","scrollHour","days","homeoffice","schedulesCapacityBySplit","now","moment","dailyCapacityMinutes","work_end","work_start","timelineData","tasks","forEach","task","subtask","is_finished","blocker","split","isAfter","_real_end","_real_start","isBefore","timelineUtils","homeoffices","i","isSame","elapsedMinutes","diff","clone","startOf","workStart","todayCapacityMinutes","isNaN","push","fullname","name","surname","initials","charAt","toUpperCase","toFixed","isHomeoffice","isWeekend","blockers","nonWorkingHours","$events","on","unmounted","off","async","urlQueryObject","format","employee_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/6834.cc50ca6f.js b/app/dist/js/6834.cc50ca6f.js
new file mode 100644
index 0000000..e472481
--- /dev/null
+++ b/app/dist/js/6834.cc50ca6f.js
@@ -0,0 +1,2 @@
+"use strict";(self["webpackChunkjandl"]=self["webpackChunkjandl"]||[]).push([[6834],{75955:function(e,t,s){s.r(t),s.d(t,{default:function(){return S}});var i=s(73396);const l={ref:"page"};function a(e,t,s,a,n,r){const o=(0,i.up)("A-task-filter"),d=(0,i.up)("Z-timeline");return(0,i.wg)(),(0,i.iD)("div",l,[e.$store.getters["tm/isInitialized"]?((0,i.wg)(),(0,i.j4)(o,{key:0,"split-days":r.timelineData?r.splitDays:null,onFilterChanged:r.onFilterChanged,ref:"filter"},null,8,["split-days","onFilterChanged"])):(0,i.kq)("",!0),r.timelineData&&!n.hideCal?((0,i.wg)(),(0,i.j4)(d,{key:1,calData:r.timelineData,calConfig:n.config,splits:r.splitDays},null,8,["calData","calConfig","splits"])):(0,i.kq)("",!0)],512)}s(57658);var n=s(60988),r=s(67312),o=s(16824),d=s(45869);const h={class:"d-flex date-wrapper"},u=["src"],m=["src"];function c(e,t,l,a,c,f){return(0,i.wg)(),(0,i.j4)(o.o,{class:"px-7 py-5 subheader"},{default:(0,i.w5)((()=>[(0,i.Wm)(n.f,{"custom-filter":e.customFilter,"match-any":!0,modelValue:c.selectedEmployee,"onUpdate:modelValue":t[0]||(t[0]=e=>c.selectedEmployee=e),class:"subheader-input",items:e.enrichedEmployees,"menu-props":{maxHeight:500},"item-title":"_fullName","item-value":"id",label:"Zamestnanec",variant:"outlined"},null,8,["custom-filter","modelValue","items"]),(0,i._)("div",h,[(0,i.Wm)(r.T,{class:"subheader-icon-button prev",variant:"outlined",onClick:t[1]||(t[1]=e=>f.prevWeek())},{default:(0,i.w5)((()=>[(0,i._)("img",{src:s(38351),alt:""},null,8,u)])),_:1}),(0,i.Wm)(d.hw,{class:"subheader-input disabled",label:"Dátum",modelValue:c.selectedDate,"onUpdate:modelValue":t[2]||(t[2]=e=>c.selectedDate=e),variant:"outlined","append-inner-icon":"mdi-calendar-blank-outline"},null,8,["modelValue"]),(0,i.Wm)(r.T,{class:"subheader-icon-button next",variant:"outlined",onClick:t[3]||(t[3]=e=>f.nextWeek())},{default:(0,i.w5)((()=>[(0,i._)("img",{src:s(35902),alt:""},null,8,m)])),_:1})]),(0,i.Wm)(d.hw,{class:"subheader-input disabled",label:"Nenaplánované hodiny",variant:"outlined",disabled:!0,modelValue:c.time,"onUpdate:modelValue":t[4]||(t[4]=e=>c.time=e)},null,8,["modelValue"])])),_:1})}var f=s(83299),p=s(20065),k=s(11271),y=s(85174),_={mixins:[f.Z],emits:["filter-changed"],props:{splitDays:{type:[Array,null],default:()=>null}},data(){return{date:new Date,selectedEmployee:null,selectedDate:null,time:null,filter:{start:null,end:null,employee:null}}},computed:{...(0,p.Se)("auth",["user"]),...(0,p.Se)("tm",["enrichedEmployees"])},mounted(){this.selectedEmployee=Number(localStorage.getItem("selectedEmployee")||this.user.id),this.$nextTick((()=>this._updateFilters()))},methods:{prevWeek(){this.date=(0,k.Z)(this.date,7),this._updateFilters()},nextWeek(){this.date=(0,y.Z)(this.date,7),this._updateFilters()},_updateFilters(){this.filter.start=(0,k.Z)(this.date,1),this.filter.end=(0,y.Z)(this.date,5),this.selectedDate=String(this.filter.start?.toLocaleDateString("sk-SK")+" - "+this.filter.end?.toLocaleDateString("sk-SK")),this._emitFilterChanged()},_emitFilterChanged(){this.filter.start&&this.filter.end&&this.filter.employee&&this.$emit("filter-changed",this.filter)}},watch:{selectedEmployee(e){this.filter.employee=this.enrichedEmployees.find((t=>t.id==e)),this._emitFilterChanged(),localStorage.setItem("selectedEmployee",e)},splitDays(){this.time=this.splitDays.map((e=>parseFloat(e.unscheduledTime))).reduce(((e,t)=>e+t),0)}}},g=s(40089);const b=(0,g.Z)(_,[["render",c],["__scopeId","data-v-88d48386"]]);var D=b,v=s(65329),w=s(36797),C=s.n(w),Z=s(2750),F=s(70026),$={mixins:[F.Z],components:{ATaskFilter:D,ZTimeline:v.Z},data(){return{hideCal:!1,filter:null,subtasks:null,config:{date:(0,k.Z)(new Date,1),scrollHour:7}}},computed:{...(0,p.Se)("auth",["user"]),splitDays(){const e=[],t={},s={},i=C()(),l=60*(this.user.work_end-this.user.work_start);this.timelineData.tasks.forEach((e=>{"non-working-hours"==e.type||e.subtask?.is_finished||e.blocker?.is_finished||(s[e.split]||(s[e.split]=0),i.isAfter(C()(e._real_end))||(i.isAfter(C()(e._real_start))&&i.isBefore(C()(e._real_end))?s[e.split]+=Z.Z._getDifferenceInMinutes(e._real_end,new Date):s[e.split]+=Z.Z._getDifferenceInMinutes(e._real_end,e._real_start)))})),s[1]=0,this.timelineData.homeoffices.forEach((e=>{t[e.split-1]=!0}));for(let a=0;a<7;a++){let n;s[a+1]||(s[a+1]=0);const r=C()((0,y.Z)(this.filter.start,a));if(r.isBefore(C()(),"days"))n=0;else if(r.isSame(C()(),"days")){const e=i.diff(i.clone().startOf("day"),"minutes"),t=60*this.user.work_start>e?this.user.work_start:e/60,l=60*(this.user.work_end-t);n=l-s[a+1]/60<0?0:l-s[a+1]}else n=l-s[a+1];isNaN(n)&&(n=l),e.push({id:a+1,fullname:`${this.filter.employee.name} ${this.filter.employee.surname}`,initials:this.filter.employee.name.charAt(0).toUpperCase()+this.filter.employee.surname.charAt(0).toUpperCase(),unscheduledTime:(n/60).toFixed(1),date:(0,y.Z)(this.filter.start,a),isHomeoffice:!!t[a],isWeekend:Z.Z.isWeekend((0,y.Z)(this.filter.start,a))})}return e},unscheduledTime(){return this.subtasks?Z.Z.getUnscheduledTime(this.subtasks):0},timelineData(){if(!this.subtasks||!this.filter)return null;const{tasks:e,blockers:t,nonWorkingHours:s,homeoffices:i}=Z.Z.generateTimelineTasks(this.subtasks,new Date(this.filter.start),this.filter.employee);return{name:this.filter.employee.name,surname:this.filter.employee.surname,unscheduledTime:this.unscheduledTime,tasks:[...e,...t,...s],homeoffices:i}}},mounted(){this.$events.on("on-subtask-edited",(()=>{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=C()(e.start).format("YYYY-MM-DD")),e.end&&(t.end=C()(e.end).format("YYYY-MM-DD")),e.employee&&(t.employee_id=e.employee.id);const s=new URLSearchParams(t).toString();try{const{subtasks:e,blockers:t}=await this.$axios.get_auth(`v1/subtasks?${s}`);this.config.scrollHour=this.filter?.employee.work_start-1,this.config.date=this.filter.start,this.subtasks=[...e,...t],this.hideCal=!0,setTimeout((()=>{this.hideCal=!1}),0)}catch(i){this.$toast.error("Nepodarilo sa nacitat data!")}setTimeout((()=>{this._initScrollListener()}),100)}}};const T=(0,g.Z)($,[["render",a],["__scopeId","data-v-161e1ef6"]]);var S=T}}]);
+//# sourceMappingURL=6834.cc50ca6f.js.map
\ No newline at end of file
diff --git a/app/dist/js/6834.cc50ca6f.js.map b/app/dist/js/6834.cc50ca6f.js.map
new file mode 100644
index 0000000..5af88a2
--- /dev/null
+++ b/app/dist/js/6834.cc50ca6f.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"js/6834.cc50ca6f.js","mappings":"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","sources":["webpack://jandl/./src/plugins/tm@dashboard/tasks/tasks.vue","webpack://jandl/./src/plugins/tm@dashboard/tasks/_components/a-tasks-filter.vue","webpack://jandl/./src/plugins/tm@dashboard/tasks/_components/a-tasks-filter.vue?1c78","webpack://jandl/./src/plugins/tm@dashboard/tasks/tasks.vue?f083"],"sourcesContent":["\n\t
\n\t\t\n\t\t\n\t
\n\n\n\n\n","\n\t\n\t\t\n\t\t
\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t
\n\t\t\n\t\n\n\n\n\n\n\n\n","import { render } from \"./a-tasks-filter.vue?vue&type=template&id=88d48386&scoped=true\"\nimport script from \"./a-tasks-filter.vue?vue&type=script&lang=js\"\nexport * from \"./a-tasks-filter.vue?vue&type=script&lang=js\"\n\nimport \"./a-tasks-filter.vue?vue&type=style&index=0&id=88d48386&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/jakubpapso/Repositories/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-88d48386\"]])\n\nexport default __exports__","import { render } from \"./tasks.vue?vue&type=template&id=161e1ef6&scoped=true\"\nimport script from \"./tasks.vue?vue&type=script&lang=js\"\nexport * from \"./tasks.vue?vue&type=script&lang=js\"\n\nimport \"./tasks.vue?vue&type=style&index=0&id=161e1ef6&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/jakubpapso/Repositories/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-161e1ef6\"]])\n\nexport default __exports__"],"names":["ref","_createElementBlock","_hoisted_1","_ctx","getters","_createBlock","_component_A_task_filter","$options","onFilterChanged","$data","_component_Z_timeline","calData","calConfig","splits","class","_component_v_row","_createVNode","_component_v_autocomplete","items","maxHeight","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","selectedEmployee","selectedDate","time","filter","start","end","employee","computed","mapGetters","mounted","this","Number","localStorage","getItem","user","id","$nextTick","_updateFilters","methods","prevWeek","subDays","nextWeek","addDays","String","toLocaleDateString","_emitFilterChanged","$emit","watch","enrichedEmployees","find","setItem","map","day","parseFloat","unscheduledTime","reduce","acc","val","__exports__","FilterMixin","components","ATaskFilter","ZTimeline","hideCal","subtasks","config","scrollHour","days","homeoffice","schedulesCapacityBySplit","now","moment","dailyCapacityMinutes","work_end","work_start","timelineData","tasks","forEach","task","subtask","is_finished","blocker","split","isAfter","_real_end","_real_start","isBefore","timelineUtils","homeoffices","i","isSame","elapsedMinutes","diff","clone","startOf","workStart","todayCapacityMinutes","isNaN","push","fullname","name","surname","initials","charAt","toUpperCase","toFixed","isHomeoffice","isWeekend","blockers","nonWorkingHours","$events","on","unmounted","off","async","urlQueryObject","format","employee_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/6901.23ee64a2.js.map b/app/dist/js/6901.23ee64a2.js.map
deleted file mode 100644
index 8d93571..0000000
--- a/app/dist/js/6901.23ee64a2.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"js/6901.23ee64a2.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\t
\n\t\t\n\t\t\n\t
\n\n\n\n\n","\n\t\n\t\t\n\t\t
\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t
\n\t\t\n\t\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/romankravarik/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\n\t\t\t\tthis.calendarData.tasks.forEach(task => {\n\t\t\t\t\t// console.log(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)\n\t\t\t\t\t\treturn\n\n\t\t\t\t\tif (selectedDate.isBefore(moment(), 'days')) {\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\t// Today\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\tscheduledCapacityMinutes += 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\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\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=7174789f&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=7174789f&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-7174789f\"]])\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","task","subtask","employee_id","is_finished","isBefore","isSame","timelineUtils","_real_end","_real_start","split","push","name","fullname","surname","initials","charAt","toUpperCase","toFixed","isHomeoffice","nonWorkingHours","earliestHour","calendarConfig","dayStart","dayEnd","_getDayStartEnd","work_start","title","_setMinutesToDate","draggable","work_end","scrollHour","calendarDate","format","e","timeblocks","timeblock","formattedDate","master_task","isWeekend","project_code","_timeblock_id","_timeblock_is_finished","isBlocker","color","minutes","setHours","Math","floor","now","isAfter","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/7023.4a3b210c.js b/app/dist/js/7023.049c4171.js
similarity index 99%
rename from app/dist/js/7023.4a3b210c.js
rename to app/dist/js/7023.049c4171.js
index f1c0e58..f7c4235 100644
--- a/app/dist/js/7023.4a3b210c.js
+++ b/app/dist/js/7023.049c4171.js
@@ -1,2 +1,2 @@
"use strict";(self["webpackChunkjandl"]=self["webpackChunkjandl"]||[]).push([[7023],{35299:function(e,t,s){s.d(t,{Z:function(){return p}});var a=s(73396),l=s(60988),n=s(16824),r=s(10240),i=s(45869);function d(e,t,s,d,o,c){return(0,a.wg)(),(0,a.j4)(n.o,{class:"px-10 py-8 subheader"},{default:(0,a.w5)((()=>[(0,a.Wm)(l.f,{"custom-filter":e.customFilter,"match-any":!0,modelValue:o.selectedEmployeeId,"onUpdate:modelValue":t[0]||(t[0]=e=>o.selectedEmployeeId=e),class:"subheader-input",variant:"outlined",label:"Zamestanec",items:e.enrichedEmployees,"item-title":"_fullName","item-value":"id"},null,8,["custom-filter","modelValue","items"]),(0,a.Wm)(i.hw,{modelValue:o.searchQuery,"onUpdate:modelValue":t[1]||(t[1]=e=>o.searchQuery=e),class:"subheader-input",variant:"outlined",placeholder:"Vyhľadávanie","prepend-inner-icon":"mdi-magnify",onInput:c.onInput,type:"text"},null,8,["modelValue","onInput"]),(0,a.Wm)(r.r,{modelValue:o.sortOrder,"onUpdate:modelValue":t[2]||(t[2]=e=>o.sortOrder=e),class:"subheader-input",items:o.sortOptions,variant:"outlined",label:"Zoradiť podľa","item-title":"text","item-value":"value"},null,8,["modelValue","items"])])),_:1})}var o=s(20065),c=s(83299),u={mixins:[c.Z],emits:["search","employee-selected","update-sort-order"],data(){return{selectedEmployeeId:null,searchQuery:"",sortOrder:null,sortOptions:[{text:"Zrušiť filter",value:null},{text:"Názov (A-Z)",value:"nameAsc"},{text:"Názov (Z-A)",value:"nameDesc"},{text:"Dátum (Najnovší - Najstarší)",value:"deadlineDesc"},{text:"Dátum (Najstarší - Najnovší)",value:"deadlineAsc"}]}},mounted(){this.selectedEmployeeId=this.$store.getters["auth/user"].id},computed:{...(0,o.Se)("tm",["enrichedEmployees"])},methods:{onInput(){this.$emit("search",this.searchQuery)}},watch:{selectedEmployeeId(){this.$emit("employee-selected",this.selectedEmployeeId)},sortOrder(e){this.$emit("update-sort-order",e)}}},m=s(40089);const h=(0,m.Z)(u,[["render",d],["__scopeId","data-v-45dcb20a"]]);var p=h},37023:function(e,t,s){s.r(t),s.d(t,{default:function(){return E}});var a=s(73396);function l(e,t,s,l,n,r){const i=(0,a.up)("Z-tasks-search"),d=(0,a.up)("A-ongoing-table"),o=(0,a.up)("W-loadable");return(0,a.wg)(),(0,a.iD)("div",null,[(0,a.Wm)(i,{onSearch:r.onSearch,onEmployeeSelected:r.onEmployeeSelected,onUpdateSortOrder:r.onUpdateSortOrder},null,8,["onSearch","onEmployeeSelected","onUpdateSortOrder"]),(0,a.Wm)(o,{content:r.filteredOngoingTasks,emptyMessage:n.searchQuery.length?"Neboli nájdené žiadne úlohy":"Nenašli sa žiadne záznamy"},{default:(0,a.w5)((()=>[(0,a.Wm)(d,{subtasks:r.filteredOngoingTasks},null,8,["subtasks"])])),_:1},8,["content","emptyMessage"])])}var n=s(35299),r=s(20065),i=s(49242),d=s(87139),o=s(4413),c=s(80678);const u=e=>((0,a.dD)("data-v-1bf90e8b"),e=e(),(0,a.Cn)(),e),m=u((()=>(0,a._)("th",{class:"text-left"},"Názov",-1))),h=u((()=>(0,a._)("th",{class:"text-left"},"Deadline",-1))),p=u((()=>(0,a._)("th",{class:"text-left"},"Najbližší neuzavretý",-1))),k=u((()=>(0,a._)("th",{class:"text-left"},"Naplánované",-1))),y=u((()=>(0,a._)("th",{class:"text-left"},"Zostávajúce",-1))),f=u((()=>(0,a._)("th",{class:"text-left"},"Akcia",-1))),g=["onClick"],_={key:0},D={class:"task-action"},w={class:"d-flex justify-start"},b=["src","onClick"],v=["src","onClick"];function S(e,t,l,n,r,u){return(0,a.wg)(),(0,a.j4)(o.Y,null,{default:(0,a.w5)((()=>[(0,a._)("thead",null,[(0,a._)("tr",null,[(0,a._)("th",{onClick:t[0]||(t[0]=(...e)=>u.getSelectedTimeblockDeadline&&u.getSelectedTimeblockDeadline(...e)),class:"text-left"},"Kód projektu"),m,h,p,k,y,f])]),(0,a._)("tbody",null,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(l.subtasks,(e=>((0,a.wg)(),(0,a.iD)("tr",{class:"cursor-pointer",key:e.id,onClick:(0,i.iM)((t=>u.editTask(e,!1)),["stop"])},[(0,a._)("td",null,(0,d.zw)(e.project_code),1),(0,a._)("td",null,(0,d.zw)(e.title??e.master_task),1),e.deadline?((0,a.wg)(),(0,a.iD)("td",_,(0,d.zw)(u.getDeadline(e)),1)):(0,a.kq)("",!0),(0,a.Wm)(c.N,{text:"Deadline z Mastertasku",location:"end"},{activator:(0,a.w5)((({props:t})=>[e.deadline?(0,a.kq)("",!0):((0,a.wg)(),(0,a.iD)("td",(0,d.vs)((0,a.dG)({key:0},t)),(0,d.zw)(u.getDeadline(e))+"*",17))])),_:2},1024),(0,a._)("td",null,(0,d.zw)(u.displayTimeblock(e)),1),(0,a._)("td",null,(0,d.zw)(e.duration)+" h",1),(0,a._)("td",null,(0,d.zw)((e.duration-e.spent_time).toFixed(2))+" h",1),(0,a._)("td",D,[(0,a._)("div",w,[(0,a._)("img",{class:"pencil-icon",src:s(34413),alt:"pencil-icon",onClick:(0,i.iM)((t=>u.editTask(e,!1)),["stop"])},null,8,b),(0,a._)("img",{class:"trash-icon",src:s(27484),alt:"trash-icon",onClick:(0,i.iM)((t=>u.deleteTask(e)),["stop"])},null,8,v)])])],8,g)))),128))])])),_:1})}var O=s(36797),T=s.n(O),M={props:{subtasks:{type:Array,required:!0}},computed:{...(0,r.Se)("tm",["mastertasks"])},methods:{editTask(e,t=!1){this.$events.emit("show-subtask-modal",{subtask:e,editMode:t})},deleteTask(e){this.$events.emit("show-delete-task-modal",{subtask:e})},getDeadline(e){return e?.deadline?T()(e.deadline).format("DD.MM.yyyy"):T()(e.master_task_deadline).format("DD.MM.yyyy")},getSelectedTimeblockDeadline(e){const t=T()(),s=e.filter((e=>0===e.is_finished));if(s.length>0)return T()(s[0].end).format("DD.MM.yyyy, HH:mm");const a=e.filter((e=>T()(e.end).isAfter(t))).sort(((e,t)=>T()(e.end).diff(T()(t.end))));return a.length>0&&0===a.is_finished?T()(a[0].end).format("DD.MM.yyyy, HH:mm"):""},displayTimeblock(e){const t=this.getSelectedTimeblockDeadline(e.timeblocks);return""!==t?t:"Žiadny termín"}}},x=s(40089);const C=(0,x.Z)(M,[["render",S],["__scopeId","data-v-1bf90e8b"]]);var j=C,z={components:{ZTasksSearch:n.Z,AOngoingTable:j},data(){return{searchQuery:"",sortOrder:null}},ionViewWillEnter(){this.$store.dispatch("tm/loadOngoingSubtasks")},computed:{...(0,r.Se)("tm",["ongoingSubtasks","mastertasks"]),filteredOngoingTasks(){if(!this.ongoingSubtasks)return null;let e=this.ongoingSubtasks.filter((e=>this.filterParams(this.searchQuery,e.master_task?.name||e.title)||this.filterParams(this.searchQuery,e.project_code)));return"nameAsc"===this.sortOrder?e.sort(((e,t)=>{const s=(e.title||e.master_task||"").toLowerCase(),a=(t.title||t.master_task||"").toLowerCase();return s.localeCompare(a)})):"nameDesc"===this.sortOrder?e.sort(((e,t)=>{const s=(e.title||e.master_task||"").toLowerCase(),a=(t.title||t.master_task||"").toLowerCase();return a.localeCompare(s)})):"deadlineDesc"===this.sortOrder?e.sort(((e,t)=>{const s=e.deadline?new Date(e.deadline):new Date(this.getMasterTaskDeadline(e)),a=t.deadline?new Date(t.deadline):new Date(this.getMasterTaskDeadline(t));return a-s})):"deadlineAsc"===this.sortOrder&&e.sort(((e,t)=>{const s=e.deadline?new Date(e.deadline):new Date(this.getMasterTaskDeadline(e)),a=t.deadline?new Date(t.deadline):new Date(this.getMasterTaskDeadline(t));return s-a})),e}},methods:{onSearch(e){this.searchQuery=e},onEmployeeSelected(e){this.$store.dispatch("tm/loadOngoingSubtasks",e)},onUpdateSortOrder(e){this.sortOrder=e},filterParams(e,t){return!!t&&t.toLowerCase().includes(e.toLowerCase())},getMasterTaskDeadline(e){return e.master_task_deadline}}};const Z=(0,x.Z)(z,[["render",l]]);var E=Z}}]);
-//# sourceMappingURL=7023.4a3b210c.js.map
\ No newline at end of file
+//# sourceMappingURL=7023.049c4171.js.map
\ No newline at end of file
diff --git a/app/dist/js/7023.049c4171.js.map b/app/dist/js/7023.049c4171.js.map
new file mode 100644
index 0000000..47b7d97
--- /dev/null
+++ b/app/dist/js/7023.049c4171.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"js/7023.049c4171.js","mappings":"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","sources":["webpack://jandl/./src/plugins/tm@overview/_components/z-tasks-search.vue","webpack://jandl/./src/plugins/tm@overview/_components/z-tasks-search.vue?73c5","webpack://jandl/./src/plugins/tm@overview/tasks-ongoing/tasks-ongoing.vue","webpack://jandl/./src/plugins/tm@overview/tasks-ongoing/_components/a-ongoing-table.vue","webpack://jandl/./src/plugins/tm@overview/tasks-ongoing/_components/a-ongoing-table.vue?01fe","webpack://jandl/./src/plugins/tm@overview/tasks-ongoing/tasks-ongoing.vue?4b27"],"sourcesContent":["\n\t\n\t\t\n\t\t\n\t\t\n\t\n\n\n\n\n","import { render } from \"./z-tasks-search.vue?vue&type=template&id=45dcb20a&scoped=true\"\nimport script from \"./z-tasks-search.vue?vue&type=script&lang=js\"\nexport * from \"./z-tasks-search.vue?vue&type=script&lang=js\"\n\nimport \"./z-tasks-search.vue?vue&type=style&index=0&id=45dcb20a&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/jakubpapso/Repositories/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-45dcb20a\"]])\n\nexport default __exports__","\n\t
\n\n\t\t\n\n\t\t\n\t\t\t\n\t\t\n\n\t
\n\n\n","\n\t\n\t\t\n\t\t\t
\n\t\t\t\t
Kód projektu
\n\t\t\t\t
Názov
\n\t\t\t\t
Deadline
\n\t\t\t\t
Najbližší neuzavretý
\n\t\t\t\t
Naplánované
\n\t\t\t\t
Zostávajúce
\n\t\t\t\t
Akcia
\n\t\t\t
\n\t\t\n\n\t\t\n\t\t\t
\n\t\t\t\t
{{ subtask.project_code }}
\n\t\t\t\t
{{ subtask.title ?? subtask.master_task }}
\n\t\t\t\t
{{ getDeadline(subtask) }}
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t
{{ getDeadline(subtask) }}*
\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t
{{ displayTimeblock(subtask) }}
\n\t\t\t\t
{{ subtask.duration }} h
\n\t\t\t\t
{{ (subtask.duration - subtask.spent_time).toFixed(2) }} h
\n\t\t\n\n\n\t\n\n\n\n\n\n","import { render } from \"./a-ongoing-table.vue?vue&type=template&id=1bf90e8b&scoped=true\"\nimport script from \"./a-ongoing-table.vue?vue&type=script&lang=js\"\nexport * from \"./a-ongoing-table.vue?vue&type=script&lang=js\"\n\nimport \"./a-ongoing-table.vue?vue&type=style&index=0&id=1bf90e8b&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-1bf90e8b\"]])\n\nexport default __exports__","import { render } from \"./tasks-ongoing.vue?vue&type=template&id=d5ac8152\"\nimport script from \"./tasks-ongoing.vue?vue&type=script&lang=js\"\nexport * from \"./tasks-ongoing.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_createBlock","_component_v_row","class","_createVNode","_component_v_autocomplete","_ctx","$data","variant","label","items","_component_v_text_field","placeholder","onInput","$options","type","_component_v_select","mixins","AutocompleteMixin","emits","data","selectedEmployeeId","searchQuery","sortOrder","sortOptions","text","value","mounted","this","$store","getters","id","computed","mapGetters","methods","$emit","watch","__exports__","render","_createElementBlock","_component_Z_tasks_search","onSearch","onEmployeeSelected","onUpdateSortOrder","_component_W_loadable","content","emptyMessage","length","_component_A_ongoing_table","subtasks","_createElementVNode","_component_v_table","onClick","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_Fragment","$props","subtask","key","project_code","title","master_task","deadline","_component_v_tooltip","location","activator","props","duration","spent_time","toFixed","_hoisted_9","_hoisted_10","src","require","alt","Array","required","editTask","editMode","$events","emit","deleteTask","getDeadline","moment","format","master_task_deadline","getSelectedTimeblockDeadline","timeblocks","currentDate","unfinishedTimeblocks","filter","tb","is_finished","end","upcomingTimeblocks","isAfter","sort","a","b","diff","displayTimeblock","timeblockDeadline","components","ZTasksSearch","AOngoingTable","ionViewWillEnter","dispatch","filteredOngoingTasks","ongoingSubtasks","filteredSubtasks","filterParams","name","nameA","toLowerCase","nameB","localeCompare","deadlineA","Date","getMasterTaskDeadline","deadlineB","newSortOrder","row","includes"],"sourceRoot":""}
\ No newline at end of file
diff --git a/app/dist/js/7073.dc374d33.js b/app/dist/js/7073.2b5ef168.js
similarity index 97%
rename from app/dist/js/7073.dc374d33.js
rename to app/dist/js/7073.2b5ef168.js
index e50e45f..28eef46 100644
--- a/app/dist/js/7073.dc374d33.js
+++ b/app/dist/js/7073.2b5ef168.js
@@ -1,2 +1,2 @@
"use strict";(self["webpackChunkjandl"]=self["webpackChunkjandl"]||[]).push([[7073],{97073:function(t,e,a){a.r(e),a.d(e,{default:function(){return g}});var l=a(73396);function n(t,e,a,n,s,c){const i=(0,l.up)("A-teams-table"),o=(0,l.up)("W-loadable");return(0,l.wg)(),(0,l.j4)(o,{content:t.teams},{default:(0,l.w5)((()=>[(0,l.Wm)(i,{teams:t.teams},null,8,["teams"])])),_:1},8,["content"])}var s=a(20065),c=a(87139),i=a(49242),o=a(4413);const d=t=>((0,l.dD)("data-v-3b2a586c"),t=t(),(0,l.Cn)(),t),r=d((()=>(0,l._)("thead",null,[(0,l._)("tr",null,[(0,l._)("th",{class:"text-left"},"Názov"),(0,l._)("th",{class:"text-left"},"Akcia")])],-1))),m={class:"task-action"},u={class:"d-flex justify-start"},p=["src","onClick"],_=["src","onClick"];function f(t,e,n,s,d,f){return(0,l.wg)(),(0,l.iD)("div",null,[(0,l.Wm)(o.Y,null,{default:(0,l.w5)((()=>[r,(0,l._)("tbody",null,[((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)(n.teams,(t=>((0,l.wg)(),(0,l.iD)("tr",{key:t.id},[(0,l._)("td",null,(0,c.zw)(t.name),1),(0,l._)("td",m,[(0,l._)("div",u,[(0,l._)("img",{class:"pencil-icon",src:a(60666),alt:"pencil-icon",onClick:(0,i.iM)((e=>f.editTeam(t)),["stop"])},null,8,p),(0,l._)("img",{class:"trash-icon",src:a(27484),alt:"trash-icon",onClick:(0,i.iM)((e=>f.deleteTeam(t)),["stop"])},null,8,_)])])])))),128))])])),_:1})])}var h={props:{teams:{type:Array,required:!0}},methods:{editTeam(t){this.$events.emit("show-team-modal",{team:t})},deleteTeam(t){this.$events.emit("show-delete-team-modal",{team:t})}}},v=a(40089);const k=(0,v.Z)(h,[["render",f],["__scopeId","data-v-3b2a586c"]]);var w=k,b={components:{ATeamsTable:w},computed:{...(0,s.Se)("tm",["teams"])}};const C=(0,v.Z)(b,[["render",n]]);var g=C}}]);
-//# sourceMappingURL=7073.dc374d33.js.map
\ No newline at end of file
+//# sourceMappingURL=7073.2b5ef168.js.map
\ No newline at end of file
diff --git a/app/dist/js/7073.dc374d33.js.map b/app/dist/js/7073.2b5ef168.js.map
similarity index 73%
rename from app/dist/js/7073.dc374d33.js.map
rename to app/dist/js/7073.2b5ef168.js.map
index 51ce2e8..7fedf6c 100644
--- a/app/dist/js/7073.dc374d33.js.map
+++ b/app/dist/js/7073.2b5ef168.js.map
@@ -1 +1 @@
-{"version":3,"file":"js/7073.dc374d33.js","mappings":"4QACCA,EAAAA,EAAAA,IAEaC,EAAAA,CAFAC,QAASC,EAAAA,OAAK,C,kBAC1B,IAAgC,EAAhCC,EAAAA,EAAAA,IAAgCC,EAAAA,CAAhBC,MAAOH,EAAAA,OAAK,qB,yICC3BI,EAAAA,EAAAA,GAKQ,eAJPA,EAAAA,EAAAA,GAGK,YAFJA,EAAAA,EAAAA,GAAgC,MAA5BC,MAAM,aAAY,UACtBD,EAAAA,EAAAA,GAAgC,MAA5BC,MAAM,aAAY,aAAK,K,GAOvBA,MAAM,e,GACJA,MAAM,wB,kFAbhBC,EAAAA,EAAAA,IAqBM,aApBLL,EAAAA,EAAAA,IAmBUM,EAAAA,EAAAA,KAAAA,C,kBAlBT,IAKQ,CALRC,GAOAJ,EAAAA,EAAAA,GAUQ,6BATPE,EAAAA,EAAAA,IAQKG,EAAAA,GAAAA,MAAAA,EAAAA,EAAAA,IARcC,EAAAA,OAARC,K,WAAXL,EAAAA,EAAAA,IAQK,MARsBM,IAAKD,EAAKE,I,EACpCT,EAAAA,EAAAA,GAAwB,mBAAjBO,EAAKG,MAAI,IAChBV,EAAAA,EAAAA,GAKK,KALLW,EAKK,EAJJX,EAAAA,EAAAA,GAGM,MAHNY,EAGM,EAFLZ,EAAAA,EAAAA,GAAgI,OAA3HC,MAAM,cAAeY,IAAKC,EAAQ,OAAwCC,IAAI,cAAeC,SAAK,YAAOC,EAAAA,SAASV,IAAI,W,WAC3HP,EAAAA,EAAAA,GAA6H,OAAxHC,MAAM,aAAcY,IAAKC,EAAQ,OAAqCC,IAAI,aAAcC,SAAK,YAAOC,EAAAA,WAAWV,IAAI,W,sCAU/H,OACCW,MAAO,CACNnB,MAAO,CACNoB,KAAMC,MACNC,UAAU,IAIZC,QAAS,CACRC,SAAShB,GACRiB,KAAKC,QAAQC,KAAK,kBAAmB,CAACnB,QACvC,EAEAoB,WAAWpB,GACViB,KAAKC,QAAQC,KAAK,yBAA0B,CAACnB,QAC9C,I,WClCF,MAAMqB,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAAS,GAAQ,CAAC,YAAY,qBAEzF,QFCA,GACCC,WAAY,CACXC,YAAWA,GAGZC,SAAU,KACNC,EAAAA,EAAAA,IAAW,KAAM,CAAC,YGXvB,MAAM,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O","sources":["webpack://jandl/./src/plugins/tm@overview/teams/teams.vue","webpack://jandl/./src/plugins/tm@overview/teams/_components/a-teams-table.vue","webpack://jandl/./src/plugins/tm@overview/teams/_components/a-teams-table.vue?10fa","webpack://jandl/./src/plugins/tm@overview/teams/teams.vue?424c"],"sourcesContent":["\n\t\n\t\t\n\t\n\n\n","\n\t
\n\t\t\n\t\t\t\n\t\t\t\t
\n\t\t\t\t\t
Názov
\n\t\t\t\t\t
Akcia
\n\t\t\t\t
\n\t\t\t\n\n\t\t\t\n\t\t\t\t
\n\t\t\t\t\t
{{ team.name }}
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\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
\n\t\t\t\t
\n\t\t\t\n\t\t\n\t
\n\n\n\n\n\n","import { render } from \"./a-teams-table.vue?vue&type=template&id=3b2a586c&scoped=true\"\nimport script from \"./a-teams-table.vue?vue&type=script&lang=js\"\nexport * from \"./a-teams-table.vue?vue&type=script&lang=js\"\n\nimport \"./a-teams-table.vue?vue&type=style&index=0&id=3b2a586c&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3b2a586c\"]])\n\nexport default __exports__","import { render } from \"./teams.vue?vue&type=template&id=46dd9d16\"\nimport script from \"./teams.vue?vue&type=script&lang=js\"\nexport * from \"./teams.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_createBlock","_component_W_loadable","content","_ctx","_createVNode","_component_A_teams_table","teams","_createElementVNode","class","_createElementBlock","_component_v_table","_hoisted_1","_Fragment","$props","team","key","id","name","_hoisted_2","_hoisted_3","src","require","alt","onClick","$options","props","type","Array","required","methods","editTeam","this","$events","emit","deleteTeam","__exports__","components","ATeamsTable","computed","mapGetters","render"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"js/7073.2b5ef168.js","mappings":"4QACCA,EAAAA,EAAAA,IAEaC,EAAAA,CAFAC,QAASC,EAAAA,OAAK,C,kBAC1B,IAAgC,EAAhCC,EAAAA,EAAAA,IAAgCC,EAAAA,CAAhBC,MAAOH,EAAAA,OAAK,qB,yICC3BI,EAAAA,EAAAA,GAKQ,eAJPA,EAAAA,EAAAA,GAGK,YAFJA,EAAAA,EAAAA,GAAgC,MAA5BC,MAAM,aAAY,UACtBD,EAAAA,EAAAA,GAAgC,MAA5BC,MAAM,aAAY,aAAK,K,GAOvBA,MAAM,e,GACJA,MAAM,wB,kFAbhBC,EAAAA,EAAAA,IAqBM,aApBLL,EAAAA,EAAAA,IAmBUM,EAAAA,EAAAA,KAAAA,C,kBAlBT,IAKQ,CALRC,GAOAJ,EAAAA,EAAAA,GAUQ,6BATPE,EAAAA,EAAAA,IAQKG,EAAAA,GAAAA,MAAAA,EAAAA,EAAAA,IARcC,EAAAA,OAARC,K,WAAXL,EAAAA,EAAAA,IAQK,MARsBM,IAAKD,EAAKE,I,EACpCT,EAAAA,EAAAA,GAAwB,mBAAjBO,EAAKG,MAAI,IAChBV,EAAAA,EAAAA,GAKK,KALLW,EAKK,EAJJX,EAAAA,EAAAA,GAGM,MAHNY,EAGM,EAFLZ,EAAAA,EAAAA,GAAgI,OAA3HC,MAAM,cAAeY,IAAKC,EAAQ,OAAwCC,IAAI,cAAeC,SAAK,YAAOC,EAAAA,SAASV,IAAI,W,WAC3HP,EAAAA,EAAAA,GAA6H,OAAxHC,MAAM,aAAcY,IAAKC,EAAQ,OAAqCC,IAAI,aAAcC,SAAK,YAAOC,EAAAA,WAAWV,IAAI,W,sCAU/H,OACCW,MAAO,CACNnB,MAAO,CACNoB,KAAMC,MACNC,UAAU,IAIZC,QAAS,CACRC,SAAShB,GACRiB,KAAKC,QAAQC,KAAK,kBAAmB,CAACnB,QACvC,EAEAoB,WAAWpB,GACViB,KAAKC,QAAQC,KAAK,yBAA0B,CAACnB,QAC9C,I,WClCF,MAAMqB,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAAS,GAAQ,CAAC,YAAY,qBAEzF,QFCA,GACCC,WAAY,CACXC,YAAWA,GAGZC,SAAU,KACNC,EAAAA,EAAAA,IAAW,KAAM,CAAC,YGXvB,MAAM,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O","sources":["webpack://jandl/./src/plugins/tm@overview/teams/teams.vue","webpack://jandl/./src/plugins/tm@overview/teams/_components/a-teams-table.vue","webpack://jandl/./src/plugins/tm@overview/teams/_components/a-teams-table.vue?10fa","webpack://jandl/./src/plugins/tm@overview/teams/teams.vue?424c"],"sourcesContent":["\n\t\n\t\t\n\t\n\n\n","\n\t