diff --git a/app/dist/css/4628.466ff22e.css b/app/dist/css/4628.466ff22e.css new file mode 100644 index 0000000..1472fea --- /dev/null +++ b/app/dist/css/4628.466ff22e.css @@ -0,0 +1 @@ +.subheader[data-v-35b7352e]{max-width:100%;margin:0;border-bottom:1px solid rgba(33,33,33,.08);gap:25px;flex-wrap:wrap;flex:0 0 auto}.subheader-icon-button[data-v-35b7352e]{border:1px solid #ababab;height:50px;width:50px;min-width:auto!important;padding:0;margin:0}.subheader-icon-button.prev[data-v-35b7352e]{margin-right:10px}.subheader-icon-button.next[data-v-35b7352e]{margin-left:10px}.subheader-icon-button[data-v-35b7352e] .v-btn__append{margin:0}.subheader-input[data-v-35b7352e]{max-width:250px!important;min-width:250px;height:50px!important}.subheader-input[data-v-35b7352e] .v-input__control .v-field{height:50px!important;--v-input-control-height:50px!important;--v-input-padding-top:15px!important}.subheader-input[data-v-35b7352e] .v-input__details{display:none}.subheader-input.disabled[data-v-35b7352e]{pointer-events:none!important}@media(max-width:1312px){.date-wrapper[data-v-35b7352e]{order:3}}@media(max-width:600px){.subheader[data-v-35b7352e]{gap:15px;padding:20px!important}.subheader-input[data-v-35b7352e]{max-width:100%!important;min-width:100%;margin:0 10px 10px 0}.date-wrapper[data-v-35b7352e]{flex-wrap:wrap;gap:10px;flex:1 1 100%}.date-wrapper .subheader-icon-button[data-v-35b7352e]{order:3;margin:0;flex:1 1 calc(50% - 5px);height:40px}}.event[data-v-78164856]{height:100%}.event__office-footer[data-v-78164856]{padding:5px 15px}.event__office-footer img[data-v-78164856]{height:19px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.event .custom-event-body[data-v-78164856]{padding:20px 10px;width:100%}.event__footer[data-v-78164856]{flex-flow:row wrap;justify-content:center;alight-items:center;padding-top:15px;border-top:1px solid rgba(33,33,33,.08)}.event__footer__button[data-v-78164856]{box-shadow:none!important;margin-bottom:8px;padding:9px!important;min-height:-moz-fit-content;min-height:fit-content;height:-moz-fit-content;height:fit-content;min-width:-moz-fit-content;min-width:fit-content;width:-moz-fit-content;width:fit-content}.event__footer__button.completed[data-v-78164856]{background:#06dece}.event__footer__button img[data-v-78164856]{width:18px}.vuecal[data-v-cc30b5ae]{box-shadow:none!important}.calendar-wrapper[data-v-cc30b5ae]{width:100%;height:100%}.calendar-wrapper[data-v-cc30b5ae] .vuecal__cells{-ms-overflow-style:none;scrollbar-width:none;border-left:1px solid rgba(0,0,0,.1);padding-left:20px}.calendar-wrapper[data-v-cc30b5ae] .vuecal__cells::-webkit-scrollbar{display:none}.calendar-wrapper[data-v-cc30b5ae] .vuecal__flex{flex-wrap:nowrap!important}.calendar-wrapper[data-v-cc30b5ae] .vuecal__time-column{width:80px;box-shadow:none!important}.calendar-wrapper[data-v-cc30b5ae] .vuecal__time-column .time-column-line{width:20px;height:0;border:1px solid rgba(33,33,33,.08);margin-left:10px}@media(max-width:450px){.calendar-wrapper[data-v-cc30b5ae] .vuecal__time-column{width:70px}.calendar-wrapper[data-v-cc30b5ae] .vuecal__time-column .time-column-line{width:10px}}.calendar-wrapper[data-v-cc30b5ae] .vuecal__cell:before{border:none}.calendar-wrapper[data-v-cc30b5ae] .vuecal__scrollable-body{position:relative}.calendar-wrapper[data-v-cc30b5ae] .vuecal__split-days-headers{position:absolute;top:0;left:20px;z-index:999;background:#fff;padding-bottom:15px;width:calc(100% - 20px)}.calendar-wrapper[data-v-cc30b5ae] .vuecal__cell-split{margin-right:20px}.calendar-wrapper[data-v-cc30b5ae] .day-split-header{height:-moz-fit-content;height:fit-content;min-height:100%;padding-right:20px}.calendar-wrapper[data-v-cc30b5ae] .day-split-header .weekday-label{justify-content:start!important;font-size:18px;font-weight:700}.calendar-wrapper[data-v-cc30b5ae] .day-split-header .day-name{text-align:left;font-size:17px;font-weight:500;text-transform:capitalize}.calendar-wrapper[data-v-cc30b5ae] .day-split-header .unscheduled-time{background:rgba(0,0,0,.04);border-radius:24px;padding:10px 10px;margin-top:10px}.calendar-wrapper[data-v-cc30b5ae] .day-split-header .unscheduled-time .text-wrap{width:-moz-min-content;width:min-content;margin-left:12px}.calendar-wrapper[data-v-cc30b5ae] .day-split-header .unscheduled-time .text-wrap h1{font-size:14px}.calendar-wrapper[data-v-cc30b5ae] .day-split-header .unscheduled-time .text-wrap p{font-weight:400;font-size:15px;line-height:normal}.calendar-wrapper[data-v-cc30b5ae] .day-split-header .unscheduled-time .unscheduled-time-initials{width:30px;height:30px;background:#6200ee;border-radius:50%}.calendar-wrapper[data-v-cc30b5ae] .day-split-header .unscheduled-time .unscheduled-time-initials p{font-weight:400;font-size:15px;color:#fff}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body{-ms-overflow-style:none;scrollbar-width:none}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body::-webkit-scrollbar{display:none}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__now-line{display:none!important}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal:not(.vuecal--day-view) .vuecal__cell--selected:not(.vuecal__cell--today),.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__cell--current:not(.vuecal__cell--today),.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__cell--highlighted,.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__cell--selected,.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__cell--today{border-radius:16px}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__cell-split--weekend{background-color:hsla(0,100%,74%,.3)!important;border-radius:16px}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__event{border-radius:16px;min-height:70px!important;text-align:left;background:#f8f8f8;transition:min-height .4s,height .4s,box-shadow .4s,width .4s,left .4s}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__event:has(.completed){background:#fbfbfb!important;border:1px solid #ccc!important}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__event:has(.event__body--non-working-hours){background:repeating-linear-gradient(135deg,#d7d7d7,#d7d7d7 1px,#e0e0e0 0,#e0e0e0 20px);border:1px solid #d7d7d7}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__event.vuecal__event--focus{z-index:100!important;min-height:350px!important;width:100%!important;left:0!important}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__event:not(.vuecal__event--focus):has(.micro-event) .event__body{padding:5px!important}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__event:not(.vuecal__event--focus):has(.short-event) .event__body:not(.micro-event){padding:10px 5px!important}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__event:not(.vuecal__event--focus) .short-event .project-code{display:none!important}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__event:not(.vuecal__event--focus) .short-event h3{font-size:16px!important}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__event:not(.vuecal__event--focus) .mini-event .event-content{width:100%;padding:5px 10px}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__event:not(.vuecal__event--focus) .mini-event .event-initials-wrapper .event-initials{margin-right:0}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__event:not(.vuecal__event--focus) .mini-event h3{font-size:14px!important;text-overflow:ellipsis;width:calc(100% - 35px);white-space:nowrap;overflow:hidden;margin:0}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__event:not(.vuecal__event--focus) .micro-event .event__footer,.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__event:not(.vuecal__event--focus) .mini-event .event-initials-date{display:none!important}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__event .project-code{margin:0 0 20px;display:block}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__event h3{font-size:15px;font-weight:400;color:#000;margin:0 0 10px;max-height:100%}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__event small{color:#000}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__event .event-initials-wrapper{margin-bottom:20px}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__event .event-initials{height:30px;width:30px;border:1px solid #000;border-radius:50%;padding:5px;margin-right:7px}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__event .event-initials small{font-size:11px}.not-approved[data-v-cc30b5ae]{background:repeating-linear-gradient(135deg,#d7d7d7,#d7d7d7 1px,#e0e0e0 0,#e0e0e0 20px)!important}.w-loadable[data-v-78c69006]{text-align:center;padding-top:20px;height:calc(100% - 121px)}@media(max-width:1312px){.w-loadable[data-v-78c69006]{height:calc(100% - 202px)}} \ No newline at end of file diff --git a/app/dist/css/6631.fc57b3c0.css b/app/dist/css/6631.fc57b3c0.css deleted file mode 100644 index 823a02a..0000000 --- a/app/dist/css/6631.fc57b3c0.css +++ /dev/null @@ -1 +0,0 @@ -.subheader[data-v-88d48386]{max-width:100%;margin:0;border-bottom:1px solid rgba(33,33,33,.08);gap:25px;flex-wrap:wrap;flex:0 0 auto}.subheader-icon-button[data-v-88d48386]{border:1px solid #ababab;height:50px;width:50px;min-width:auto!important;padding:0;margin:0}.subheader-icon-button.prev[data-v-88d48386]{margin-right:10px}.subheader-icon-button.next[data-v-88d48386]{margin-left:10px}.subheader-icon-button[data-v-88d48386] .v-btn__append{margin:0}.subheader-input[data-v-88d48386]{max-width:175px;min-width:175px;height:60px!important}.subheader-input[data-v-88d48386]:nth-child(2){max-width:250px!important;min-width:250px!important}.subheader-input[data-v-88d48386] .v-input__control .v-field{height:50px!important;--v-input-control-height:50px!important;--v-input-padding-top:15px!important}.subheader-input[data-v-88d48386] .v-input__details{display:none}.subheader-input.disabled[data-v-88d48386]{pointer-events:none!important}@media(max-width:1312px){.date-wrapper[data-v-88d48386]{order:3}}@media(max-width:600px){.subheader[data-v-88d48386]{gap:15px;padding:20px!important}.subheader-input[data-v-88d48386]{max-width:100%!important;min-width:100%;margin:0 10px 10px 0}.date-wrapper[data-v-88d48386]{flex-wrap:wrap;gap:10px;flex:1 1 100%}.date-wrapper .subheader-icon-button[data-v-88d48386]{order:3;margin:0;flex:1 1 calc(50% - 5px);height:40px}}@media(min-width:601px)and (max-width:825px){.subheader[data-v-88d48386]{flex-wrap:nowrap;padding:8px 20px 8px 20px!important}.subheader-input[data-v-88d48386]{max-width:calc(31.333% - 10px)!important;min-width:calc(31.333% - 10px)!important}.subheader-input[data-v-88d48386]:nth-child(3){max-width:calc(23.333% - 10px)!important;min-width:calc(23.333% - 10px)!important}}.colWidth[data-v-38719c0c]{width:120px}.vuecal[data-v-38719c0c]{box-shadow:none!important}.calendar-wrapper[data-v-38719c0c]{width:100%;height:100%}.calendar-wrapper[data-v-38719c0c] .vuecal__cells{-ms-overflow-style:none;scrollbar-width:none;border-left:1px solid rgba(0,0,0,.1);padding-left:20px}.calendar-wrapper[data-v-38719c0c] .vuecal__cells::-webkit-scrollbar{display:none}.calendar-wrapper[data-v-38719c0c] .vuecal__flex{flex-wrap:nowrap!important}.calendar-wrapper[data-v-38719c0c] .vuecal__time-column{width:80px;box-shadow:none!important}.calendar-wrapper[data-v-38719c0c] .vuecal__time-column .time-column-line{width:20px;height:0;border:1px solid rgba(33,33,33,.08);margin-left:10px}@media(max-width:450px){.calendar-wrapper[data-v-38719c0c] .vuecal__time-column{width:70px}.calendar-wrapper[data-v-38719c0c] .vuecal__time-column .time-column-line{width:10px}}.calendar-wrapper[data-v-38719c0c] .vuecal__cell:before{border:none}.calendar-wrapper[data-v-38719c0c] .vuecal__scrollable-body{position:relative}.calendar-wrapper[data-v-38719c0c] .vuecal__split-days-headers{position:absolute;top:0;left:20px;z-index:999;background:#fff;padding-bottom:15px;width:calc(100% - 20px)}.calendar-wrapper[data-v-38719c0c] .vuecal__cell-split{margin-right:20px}.calendar-wrapper[data-v-38719c0c] .day-split-header{height:-moz-fit-content;height:fit-content;min-height:100%;padding-right:20px}.calendar-wrapper[data-v-38719c0c] .day-split-header .weekday-label{justify-content:start!important;font-size:18px;font-weight:700}.calendar-wrapper[data-v-38719c0c] .day-split-header .day-name{text-align:left;font-size:17px;font-weight:500;text-transform:capitalize}.calendar-wrapper[data-v-38719c0c] .day-split-header .unscheduled-time{background:rgba(0,0,0,.04);border-radius:24px;padding:10px 10px;margin-top:10px}.calendar-wrapper[data-v-38719c0c] .day-split-header .unscheduled-time .text-wrap{width:-moz-min-content;width:min-content;margin-left:12px}.calendar-wrapper[data-v-38719c0c] .day-split-header .unscheduled-time .text-wrap h1{font-size:14px}.calendar-wrapper[data-v-38719c0c] .day-split-header .unscheduled-time .text-wrap p{font-weight:400;font-size:15px;line-height:normal}.calendar-wrapper[data-v-38719c0c] .day-split-header .unscheduled-time .unscheduled-time-initials{width:30px;height:30px;background:#6200ee;border-radius:50%}.calendar-wrapper[data-v-38719c0c] .day-split-header .unscheduled-time .unscheduled-time-initials p{font-weight:400;font-size:15px;color:#fff}.calendar-wrapper[data-v-38719c0c] .vuecal__body{-ms-overflow-style:none;scrollbar-width:none}.calendar-wrapper[data-v-38719c0c] .vuecal__body::-webkit-scrollbar{display:none}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__now-line{display:none!important}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal:not(.vuecal--day-view) .vuecal__cell--selected:not(.vuecal__cell--today),.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__cell--current:not(.vuecal__cell--today),.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__cell--highlighted,.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__cell--selected,.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__cell--today{border-radius:16px}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__cell-split--weekend{background-color:hsla(0,100%,74%,.3)!important;border-radius:16px}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event{border-radius:16px;min-height:70px!important;text-align:left;background:#f8f8f8;transition:min-height .4s,height .4s,box-shadow .4s,width .4s,left .4s}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event .custom-event-body{padding:20px 10px;width:100%}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event .event-content.is-blocker *{color:#fff!important}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event .event-content.is-blocker .event-details .event-initials{border:1px solid #fff}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event .event-content.is-blocker .event-footer{border-top:1px solid hsla(0,0%,100%,.19)}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event:has(.completed){background:#fbfbfb!important;border:1px solid #ccc!important}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event:has(.non-working-event){background:repeating-linear-gradient(135deg,#d7d7d7,#d7d7d7 1px,#e0e0e0 0,#e0e0e0 20px);border:1px solid #d7d7d7}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event.vuecal__event--focus{z-index:100!important;min-height:350px!important;width:100%!important;left:0!important}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event:not(.vuecal__event--focus):has(.micro-event) .custom-event-body{padding:5px!important}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event:not(.vuecal__event--focus):has(.short-event) .custom-event-body:not(.micro-event){padding:10px 5px!important}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event:not(.vuecal__event--focus) .short-event .project-code{display:none!important}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event:not(.vuecal__event--focus) .short-event h3{font-size:16px!important}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event:not(.vuecal__event--focus) .mini-event .event-content{width:100%;padding:5px 10px}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event:not(.vuecal__event--focus) .mini-event .event-initials-wrapper .event-initials{margin-right:0}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event:not(.vuecal__event--focus) .mini-event h3{font-size:14px!important;text-overflow:ellipsis;width:calc(100% - 35px);white-space:nowrap;overflow:hidden;margin:0}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event:not(.vuecal__event--focus) .micro-event .event-footer,.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event:not(.vuecal__event--focus) .mini-event .event-initials-date{display:none!important}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event .project-code{margin:0 0 20px;display:block}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event h3{font-size:15px;font-weight:400;color:#000;margin:0 0 10px;max-height:100%}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event small{color:#000}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event .event-initials-wrapper{margin-bottom:20px}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event .event-initials{height:30px;width:30px;border:1px solid #000;border-radius:50%;padding:5px;margin-right:7px}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event .event-initials small{font-size:11px}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event .event-footer{flex-flow:row wrap;justify-content:center;alight-items:center;padding-top:15px;border-top:1px solid rgba(33,33,33,.08)}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event .event-footer .event-footer-button{box-shadow:none!important;margin-bottom:8px;padding:9px!important;min-height:-moz-fit-content;min-height:fit-content;height:-moz-fit-content;height:fit-content;min-width:-moz-fit-content;min-width:fit-content;width:-moz-fit-content;width:fit-content}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event .event-footer .event-footer-button.completed{background:#06dece}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event .event-footer .event-footer-button img{width:18px}.not-approved[data-v-38719c0c]{background:repeating-linear-gradient(135deg,#d7d7d7,#d7d7d7 1px,#e0e0e0 0,#e0e0e0 20px)!important}.w-loadable[data-v-2293e78a]{text-align:center;padding-top:20px;height:calc(100% - 121px)}@media(max-width:1312px){.w-loadable[data-v-2293e78a]{height:calc(100% - 202px)}} \ No newline at end of file diff --git a/app/dist/css/6881.ba630185.css b/app/dist/css/6881.ba630185.css new file mode 100644 index 0000000..eb5e67f --- /dev/null +++ b/app/dist/css/6881.ba630185.css @@ -0,0 +1 @@ +.subheader[data-v-88d48386]{max-width:100%;margin:0;border-bottom:1px solid rgba(33,33,33,.08);gap:25px;flex-wrap:wrap;flex:0 0 auto}.subheader-icon-button[data-v-88d48386]{border:1px solid #ababab;height:50px;width:50px;min-width:auto!important;padding:0;margin:0}.subheader-icon-button.prev[data-v-88d48386]{margin-right:10px}.subheader-icon-button.next[data-v-88d48386]{margin-left:10px}.subheader-icon-button[data-v-88d48386] .v-btn__append{margin:0}.subheader-input[data-v-88d48386]{max-width:175px;min-width:175px;height:60px!important}.subheader-input[data-v-88d48386]:nth-child(2){max-width:250px!important;min-width:250px!important}.subheader-input[data-v-88d48386] .v-input__control .v-field{height:50px!important;--v-input-control-height:50px!important;--v-input-padding-top:15px!important}.subheader-input[data-v-88d48386] .v-input__details{display:none}.subheader-input.disabled[data-v-88d48386]{pointer-events:none!important}@media(max-width:1312px){.date-wrapper[data-v-88d48386]{order:3}}@media(max-width:600px){.subheader[data-v-88d48386]{gap:15px;padding:20px!important}.subheader-input[data-v-88d48386]{max-width:100%!important;min-width:100%;margin:0 10px 10px 0}.date-wrapper[data-v-88d48386]{flex-wrap:wrap;gap:10px;flex:1 1 100%}.date-wrapper .subheader-icon-button[data-v-88d48386]{order:3;margin:0;flex:1 1 calc(50% - 5px);height:40px}}@media(min-width:601px)and (max-width:825px){.subheader[data-v-88d48386]{flex-wrap:nowrap;padding:8px 20px 8px 20px!important}.subheader-input[data-v-88d48386]{max-width:calc(31.333% - 10px)!important;min-width:calc(31.333% - 10px)!important}.subheader-input[data-v-88d48386]:nth-child(3){max-width:calc(23.333% - 10px)!important;min-width:calc(23.333% - 10px)!important}}.event[data-v-78164856]{height:100%}.event__office-footer[data-v-78164856]{padding:5px 15px}.event__office-footer img[data-v-78164856]{height:19px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.event .custom-event-body[data-v-78164856]{padding:20px 10px;width:100%}.event__footer[data-v-78164856]{flex-flow:row wrap;justify-content:center;alight-items:center;padding-top:15px;border-top:1px solid rgba(33,33,33,.08)}.event__footer__button[data-v-78164856]{box-shadow:none!important;margin-bottom:8px;padding:9px!important;min-height:-moz-fit-content;min-height:fit-content;height:-moz-fit-content;height:fit-content;min-width:-moz-fit-content;min-width:fit-content;width:-moz-fit-content;width:fit-content}.event__footer__button.completed[data-v-78164856]{background:#06dece}.event__footer__button img[data-v-78164856]{width:18px}.vuecal[data-v-cc30b5ae]{box-shadow:none!important}.calendar-wrapper[data-v-cc30b5ae]{width:100%;height:100%}.calendar-wrapper[data-v-cc30b5ae] .vuecal__cells{-ms-overflow-style:none;scrollbar-width:none;border-left:1px solid rgba(0,0,0,.1);padding-left:20px}.calendar-wrapper[data-v-cc30b5ae] .vuecal__cells::-webkit-scrollbar{display:none}.calendar-wrapper[data-v-cc30b5ae] .vuecal__flex{flex-wrap:nowrap!important}.calendar-wrapper[data-v-cc30b5ae] .vuecal__time-column{width:80px;box-shadow:none!important}.calendar-wrapper[data-v-cc30b5ae] .vuecal__time-column .time-column-line{width:20px;height:0;border:1px solid rgba(33,33,33,.08);margin-left:10px}@media(max-width:450px){.calendar-wrapper[data-v-cc30b5ae] .vuecal__time-column{width:70px}.calendar-wrapper[data-v-cc30b5ae] .vuecal__time-column .time-column-line{width:10px}}.calendar-wrapper[data-v-cc30b5ae] .vuecal__cell:before{border:none}.calendar-wrapper[data-v-cc30b5ae] .vuecal__scrollable-body{position:relative}.calendar-wrapper[data-v-cc30b5ae] .vuecal__split-days-headers{position:absolute;top:0;left:20px;z-index:999;background:#fff;padding-bottom:15px;width:calc(100% - 20px)}.calendar-wrapper[data-v-cc30b5ae] .vuecal__cell-split{margin-right:20px}.calendar-wrapper[data-v-cc30b5ae] .day-split-header{height:-moz-fit-content;height:fit-content;min-height:100%;padding-right:20px}.calendar-wrapper[data-v-cc30b5ae] .day-split-header .weekday-label{justify-content:start!important;font-size:18px;font-weight:700}.calendar-wrapper[data-v-cc30b5ae] .day-split-header .day-name{text-align:left;font-size:17px;font-weight:500;text-transform:capitalize}.calendar-wrapper[data-v-cc30b5ae] .day-split-header .unscheduled-time{background:rgba(0,0,0,.04);border-radius:24px;padding:10px 10px;margin-top:10px}.calendar-wrapper[data-v-cc30b5ae] .day-split-header .unscheduled-time .text-wrap{width:-moz-min-content;width:min-content;margin-left:12px}.calendar-wrapper[data-v-cc30b5ae] .day-split-header .unscheduled-time .text-wrap h1{font-size:14px}.calendar-wrapper[data-v-cc30b5ae] .day-split-header .unscheduled-time .text-wrap p{font-weight:400;font-size:15px;line-height:normal}.calendar-wrapper[data-v-cc30b5ae] .day-split-header .unscheduled-time .unscheduled-time-initials{width:30px;height:30px;background:#6200ee;border-radius:50%}.calendar-wrapper[data-v-cc30b5ae] .day-split-header .unscheduled-time .unscheduled-time-initials p{font-weight:400;font-size:15px;color:#fff}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body{-ms-overflow-style:none;scrollbar-width:none}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body::-webkit-scrollbar{display:none}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__now-line{display:none!important}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal:not(.vuecal--day-view) .vuecal__cell--selected:not(.vuecal__cell--today),.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__cell--current:not(.vuecal__cell--today),.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__cell--highlighted,.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__cell--selected,.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__cell--today{border-radius:16px}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__cell-split--weekend{background-color:hsla(0,100%,74%,.3)!important;border-radius:16px}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__event{border-radius:16px;min-height:70px!important;text-align:left;background:#f8f8f8;transition:min-height .4s,height .4s,box-shadow .4s,width .4s,left .4s}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__event:has(.completed){background:#fbfbfb!important;border:1px solid #ccc!important}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__event:has(.event__body--non-working-hours){background:repeating-linear-gradient(135deg,#d7d7d7,#d7d7d7 1px,#e0e0e0 0,#e0e0e0 20px);border:1px solid #d7d7d7}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__event.vuecal__event--focus{z-index:100!important;min-height:350px!important;width:100%!important;left:0!important}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__event:not(.vuecal__event--focus):has(.micro-event) .event__body{padding:5px!important}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__event:not(.vuecal__event--focus):has(.short-event) .event__body:not(.micro-event){padding:10px 5px!important}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__event:not(.vuecal__event--focus) .short-event .project-code{display:none!important}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__event:not(.vuecal__event--focus) .short-event h3{font-size:16px!important}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__event:not(.vuecal__event--focus) .mini-event .event-content{width:100%;padding:5px 10px}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__event:not(.vuecal__event--focus) .mini-event .event-initials-wrapper .event-initials{margin-right:0}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__event:not(.vuecal__event--focus) .mini-event h3{font-size:14px!important;text-overflow:ellipsis;width:calc(100% - 35px);white-space:nowrap;overflow:hidden;margin:0}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__event:not(.vuecal__event--focus) .micro-event .event__footer,.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__event:not(.vuecal__event--focus) .mini-event .event-initials-date{display:none!important}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__event .project-code{margin:0 0 20px;display:block}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__event h3{font-size:15px;font-weight:400;color:#000;margin:0 0 10px;max-height:100%}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__event small{color:#000}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__event .event-initials-wrapper{margin-bottom:20px}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__event .event-initials{height:30px;width:30px;border:1px solid #000;border-radius:50%;padding:5px;margin-right:7px}.calendar-wrapper[data-v-cc30b5ae] .vuecal__body .vuecal__event .event-initials small{font-size:11px}.not-approved[data-v-cc30b5ae]{background:repeating-linear-gradient(135deg,#d7d7d7,#d7d7d7 1px,#e0e0e0 0,#e0e0e0 20px)!important}.w-loadable[data-v-2293e78a]{text-align:center;padding-top:20px;height:calc(100% - 121px)}@media(max-width:1312px){.w-loadable[data-v-2293e78a]{height:calc(100% - 202px)}} \ No newline at end of file diff --git a/app/dist/css/7023.c0c8bee7.css b/app/dist/css/7910.5c6ae9ba.css similarity index 62% rename from app/dist/css/7023.c0c8bee7.css rename to app/dist/css/7910.5c6ae9ba.css index 4d88727..0b54180 100644 --- a/app/dist/css/7023.c0c8bee7.css +++ b/app/dist/css/7910.5c6ae9ba.css @@ -1 +1 @@ -.subheader[data-v-45dcb20a]{max-width:100%;margin:0;border-bottom:1px solid rgba(33,33,33,.08);gap:25px;flex-wrap:wrap;flex:0 0 auto}.subheader-input[data-v-45dcb20a]{max-width:250px!important;min-width:250px;height:56px}.subheader-input[data-v-45dcb20a] .v-input__control .v-field{height:50px!important;--v-input-control-height:50px!important;--v-input-padding-top:15px!important}.subheader-input[data-v-45dcb20a] .v-input__details{display:none}.subheader-input.disabled[data-v-45dcb20a]{pointer-events:none!important}@media(max-width:600px){.subheader[data-v-45dcb20a]{gap:15px;padding:20px!important}.subheader-input[data-v-45dcb20a]{max-width:100%!important;min-width:100%;margin-bottom:15px}}[data-v-45dcb20a] .v-select__selection-text{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}td[data-v-1bf90e8b],th[data-v-1bf90e8b],v-table[data-v-1bf90e8b]{border:thin solid rgba(var(--v-border-color),var(--v-border-opacity))}@media screen and (max-width:496px){.task-action div[data-v-1bf90e8b]{display:flex;flex-direction:column}.task-action div .pencil-icon[data-v-1bf90e8b],.task-action div .trash-icon[data-v-1bf90e8b]{border-radius:50%;margin:6px;padding:6px}}tbody tr[data-v-1bf90e8b]:hover{background:rgba(0,0,0,.1)} \ No newline at end of file +.subheader[data-v-45dcb20a]{max-width:100%;margin:0;border-bottom:1px solid rgba(33,33,33,.08);gap:25px;flex-wrap:wrap;flex:0 0 auto}.subheader-input[data-v-45dcb20a]{max-width:250px!important;min-width:250px;height:56px}.subheader-input[data-v-45dcb20a] .v-input__control .v-field{height:50px!important;--v-input-control-height:50px!important;--v-input-padding-top:15px!important}.subheader-input[data-v-45dcb20a] .v-input__details{display:none}.subheader-input.disabled[data-v-45dcb20a]{pointer-events:none!important}@media(max-width:600px){.subheader[data-v-45dcb20a]{gap:15px;padding:20px!important}.subheader-input[data-v-45dcb20a]{max-width:100%!important;min-width:100%;margin-bottom:15px}}[data-v-45dcb20a] .v-select__selection-text{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}td[data-v-eeb895c0],th[data-v-eeb895c0],v-table[data-v-eeb895c0]{border:thin solid rgba(var(--v-border-color),var(--v-border-opacity))}.office-icon[data-v-eeb895c0]{height:20px;margin-left:12px}@media screen and (max-width:379px){.task-action div[data-v-eeb895c0]{display:flex;flex-direction:column}.task-action div .pencil-icon[data-v-eeb895c0],.task-action div .trash-icon[data-v-eeb895c0]{border-radius:50%;margin:6px;padding:6px}}tbody tr[data-v-eeb895c0]:hover{background:rgba(0,0,0,.1)} \ No newline at end of file diff --git a/app/dist/css/8138.90b016bc.css b/app/dist/css/8138.90b016bc.css deleted file mode 100644 index 45f6d2f..0000000 --- a/app/dist/css/8138.90b016bc.css +++ /dev/null @@ -1 +0,0 @@ -.subheader[data-v-35b7352e]{max-width:100%;margin:0;border-bottom:1px solid rgba(33,33,33,.08);gap:25px;flex-wrap:wrap;flex:0 0 auto}.subheader-icon-button[data-v-35b7352e]{border:1px solid #ababab;height:50px;width:50px;min-width:auto!important;padding:0;margin:0}.subheader-icon-button.prev[data-v-35b7352e]{margin-right:10px}.subheader-icon-button.next[data-v-35b7352e]{margin-left:10px}.subheader-icon-button[data-v-35b7352e] .v-btn__append{margin:0}.subheader-input[data-v-35b7352e]{max-width:250px!important;min-width:250px;height:50px!important}.subheader-input[data-v-35b7352e] .v-input__control .v-field{height:50px!important;--v-input-control-height:50px!important;--v-input-padding-top:15px!important}.subheader-input[data-v-35b7352e] .v-input__details{display:none}.subheader-input.disabled[data-v-35b7352e]{pointer-events:none!important}@media(max-width:1312px){.date-wrapper[data-v-35b7352e]{order:3}}@media(max-width:600px){.subheader[data-v-35b7352e]{gap:15px;padding:20px!important}.subheader-input[data-v-35b7352e]{max-width:100%!important;min-width:100%;margin:0 10px 10px 0}.date-wrapper[data-v-35b7352e]{flex-wrap:wrap;gap:10px;flex:1 1 100%}.date-wrapper .subheader-icon-button[data-v-35b7352e]{order:3;margin:0;flex:1 1 calc(50% - 5px);height:40px}}.colWidth[data-v-38719c0c]{width:120px}.vuecal[data-v-38719c0c]{box-shadow:none!important}.calendar-wrapper[data-v-38719c0c]{width:100%;height:100%}.calendar-wrapper[data-v-38719c0c] .vuecal__cells{-ms-overflow-style:none;scrollbar-width:none;border-left:1px solid rgba(0,0,0,.1);padding-left:20px}.calendar-wrapper[data-v-38719c0c] .vuecal__cells::-webkit-scrollbar{display:none}.calendar-wrapper[data-v-38719c0c] .vuecal__flex{flex-wrap:nowrap!important}.calendar-wrapper[data-v-38719c0c] .vuecal__time-column{width:80px;box-shadow:none!important}.calendar-wrapper[data-v-38719c0c] .vuecal__time-column .time-column-line{width:20px;height:0;border:1px solid rgba(33,33,33,.08);margin-left:10px}@media(max-width:450px){.calendar-wrapper[data-v-38719c0c] .vuecal__time-column{width:70px}.calendar-wrapper[data-v-38719c0c] .vuecal__time-column .time-column-line{width:10px}}.calendar-wrapper[data-v-38719c0c] .vuecal__cell:before{border:none}.calendar-wrapper[data-v-38719c0c] .vuecal__scrollable-body{position:relative}.calendar-wrapper[data-v-38719c0c] .vuecal__split-days-headers{position:absolute;top:0;left:20px;z-index:999;background:#fff;padding-bottom:15px;width:calc(100% - 20px)}.calendar-wrapper[data-v-38719c0c] .vuecal__cell-split{margin-right:20px}.calendar-wrapper[data-v-38719c0c] .day-split-header{height:-moz-fit-content;height:fit-content;min-height:100%;padding-right:20px}.calendar-wrapper[data-v-38719c0c] .day-split-header .weekday-label{justify-content:start!important;font-size:18px;font-weight:700}.calendar-wrapper[data-v-38719c0c] .day-split-header .day-name{text-align:left;font-size:17px;font-weight:500;text-transform:capitalize}.calendar-wrapper[data-v-38719c0c] .day-split-header .unscheduled-time{background:rgba(0,0,0,.04);border-radius:24px;padding:10px 10px;margin-top:10px}.calendar-wrapper[data-v-38719c0c] .day-split-header .unscheduled-time .text-wrap{width:-moz-min-content;width:min-content;margin-left:12px}.calendar-wrapper[data-v-38719c0c] .day-split-header .unscheduled-time .text-wrap h1{font-size:14px}.calendar-wrapper[data-v-38719c0c] .day-split-header .unscheduled-time .text-wrap p{font-weight:400;font-size:15px;line-height:normal}.calendar-wrapper[data-v-38719c0c] .day-split-header .unscheduled-time .unscheduled-time-initials{width:30px;height:30px;background:#6200ee;border-radius:50%}.calendar-wrapper[data-v-38719c0c] .day-split-header .unscheduled-time .unscheduled-time-initials p{font-weight:400;font-size:15px;color:#fff}.calendar-wrapper[data-v-38719c0c] .vuecal__body{-ms-overflow-style:none;scrollbar-width:none}.calendar-wrapper[data-v-38719c0c] .vuecal__body::-webkit-scrollbar{display:none}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__now-line{display:none!important}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal:not(.vuecal--day-view) .vuecal__cell--selected:not(.vuecal__cell--today),.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__cell--current:not(.vuecal__cell--today),.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__cell--highlighted,.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__cell--selected,.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__cell--today{border-radius:16px}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__cell-split--weekend{background-color:hsla(0,100%,74%,.3)!important;border-radius:16px}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event{border-radius:16px;min-height:70px!important;text-align:left;background:#f8f8f8;transition:min-height .4s,height .4s,box-shadow .4s,width .4s,left .4s}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event .custom-event-body{padding:20px 10px;width:100%}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event .event-content.is-blocker *{color:#fff!important}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event .event-content.is-blocker .event-details .event-initials{border:1px solid #fff}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event .event-content.is-blocker .event-footer{border-top:1px solid hsla(0,0%,100%,.19)}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event:has(.completed){background:#fbfbfb!important;border:1px solid #ccc!important}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event:has(.non-working-event){background:repeating-linear-gradient(135deg,#d7d7d7,#d7d7d7 1px,#e0e0e0 0,#e0e0e0 20px);border:1px solid #d7d7d7}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event.vuecal__event--focus{z-index:100!important;min-height:350px!important;width:100%!important;left:0!important}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event:not(.vuecal__event--focus):has(.micro-event) .custom-event-body{padding:5px!important}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event:not(.vuecal__event--focus):has(.short-event) .custom-event-body:not(.micro-event){padding:10px 5px!important}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event:not(.vuecal__event--focus) .short-event .project-code{display:none!important}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event:not(.vuecal__event--focus) .short-event h3{font-size:16px!important}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event:not(.vuecal__event--focus) .mini-event .event-content{width:100%;padding:5px 10px}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event:not(.vuecal__event--focus) .mini-event .event-initials-wrapper .event-initials{margin-right:0}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event:not(.vuecal__event--focus) .mini-event h3{font-size:14px!important;text-overflow:ellipsis;width:calc(100% - 35px);white-space:nowrap;overflow:hidden;margin:0}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event:not(.vuecal__event--focus) .micro-event .event-footer,.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event:not(.vuecal__event--focus) .mini-event .event-initials-date{display:none!important}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event .project-code{margin:0 0 20px;display:block}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event h3{font-size:15px;font-weight:400;color:#000;margin:0 0 10px;max-height:100%}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event small{color:#000}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event .event-initials-wrapper{margin-bottom:20px}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event .event-initials{height:30px;width:30px;border:1px solid #000;border-radius:50%;padding:5px;margin-right:7px}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event .event-initials small{font-size:11px}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event .event-footer{flex-flow:row wrap;justify-content:center;alight-items:center;padding-top:15px;border-top:1px solid rgba(33,33,33,.08)}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event .event-footer .event-footer-button{box-shadow:none!important;margin-bottom:8px;padding:9px!important;min-height:-moz-fit-content;min-height:fit-content;height:-moz-fit-content;height:fit-content;min-width:-moz-fit-content;min-width:fit-content;width:-moz-fit-content;width:fit-content}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event .event-footer .event-footer-button.completed{background:#06dece}.calendar-wrapper[data-v-38719c0c] .vuecal__body .vuecal__event .event-footer .event-footer-button img{width:18px}.not-approved[data-v-38719c0c]{background:repeating-linear-gradient(135deg,#d7d7d7,#d7d7d7 1px,#e0e0e0 0,#e0e0e0 20px)!important}.w-loadable[data-v-78c69006]{text-align:center;padding-top:20px;height:calc(100% - 121px)}@media(max-width:1312px){.w-loadable[data-v-78c69006]{height:calc(100% - 202px)}} \ No newline at end of file diff --git a/app/dist/css/9215.03c22964.css b/app/dist/css/9730.834f8ac7.css similarity index 62% rename from app/dist/css/9215.03c22964.css rename to app/dist/css/9730.834f8ac7.css index e9acd75..995cde0 100644 --- a/app/dist/css/9215.03c22964.css +++ b/app/dist/css/9730.834f8ac7.css @@ -1 +1 @@ -.subheader[data-v-45dcb20a]{max-width:100%;margin:0;border-bottom:1px solid rgba(33,33,33,.08);gap:25px;flex-wrap:wrap;flex:0 0 auto}.subheader-input[data-v-45dcb20a]{max-width:250px!important;min-width:250px;height:56px}.subheader-input[data-v-45dcb20a] .v-input__control .v-field{height:50px!important;--v-input-control-height:50px!important;--v-input-padding-top:15px!important}.subheader-input[data-v-45dcb20a] .v-input__details{display:none}.subheader-input.disabled[data-v-45dcb20a]{pointer-events:none!important}@media(max-width:600px){.subheader[data-v-45dcb20a]{gap:15px;padding:20px!important}.subheader-input[data-v-45dcb20a]{max-width:100%!important;min-width:100%;margin-bottom:15px}}[data-v-45dcb20a] .v-select__selection-text{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}td[data-v-7c21f464],th[data-v-7c21f464],v-table[data-v-7c21f464]{border:thin solid rgba(var(--v-border-color),var(--v-border-opacity))}@media screen and (max-width:379px){.task-action div[data-v-7c21f464]{display:flex;flex-direction:column}.task-action div .pencil-icon[data-v-7c21f464],.task-action div .trash-icon[data-v-7c21f464]{border-radius:50%;margin:6px;padding:6px}}tbody tr[data-v-7c21f464]:hover{background:rgba(0,0,0,.1)} \ No newline at end of file +.subheader[data-v-45dcb20a]{max-width:100%;margin:0;border-bottom:1px solid rgba(33,33,33,.08);gap:25px;flex-wrap:wrap;flex:0 0 auto}.subheader-input[data-v-45dcb20a]{max-width:250px!important;min-width:250px;height:56px}.subheader-input[data-v-45dcb20a] .v-input__control .v-field{height:50px!important;--v-input-control-height:50px!important;--v-input-padding-top:15px!important}.subheader-input[data-v-45dcb20a] .v-input__details{display:none}.subheader-input.disabled[data-v-45dcb20a]{pointer-events:none!important}@media(max-width:600px){.subheader[data-v-45dcb20a]{gap:15px;padding:20px!important}.subheader-input[data-v-45dcb20a]{max-width:100%!important;min-width:100%;margin-bottom:15px}}[data-v-45dcb20a] .v-select__selection-text{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}td[data-v-6c8f34fe],th[data-v-6c8f34fe],v-table[data-v-6c8f34fe]{border:thin solid rgba(var(--v-border-color),var(--v-border-opacity))}.office-icon[data-v-6c8f34fe]{height:20px;margin-left:12px}@media screen and (max-width:496px){.task-action div[data-v-6c8f34fe]{display:flex;flex-direction:column}.task-action div .pencil-icon[data-v-6c8f34fe],.task-action div .trash-icon[data-v-6c8f34fe]{border-radius:50%;margin:6px;padding:6px}}tbody tr[data-v-6c8f34fe]:hover{background:rgba(0,0,0,.1)} \ No newline at end of file diff --git a/app/dist/css/index.84377cdb.css b/app/dist/css/index.84377cdb.css deleted file mode 100644 index 59cf3e6..0000000 --- a/app/dist/css/index.84377cdb.css +++ /dev/null @@ -1 +0,0 @@ -@import url(https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap);.close-icon[data-v-4aa4bee3]:hover{background:red;color:#fff!important}.upload-btn[data-v-a2a40214]{color:#6200ee;border-radius:4px;border:1px solid #e5e5e5}.hidden-input[data-v-a2a40214]{opacity:0;overflow:hidden;position:absolute;width:1px;height:1px}.gif-loader[data-v-a2a40214]{height:30px}.completed{background:#06dece}.width-100[data-v-f216d188]{width:100%}.gif-loader[data-v-f01fa1ac]{height:30px;margin-left:30px}.timeblock[data-v-031787aa]{position:relative;border-top:1px solid #e0e0e0;padding:20px 0 5px 0}.timeblock .splitted-time-inputs[data-v-031787aa]{display:flex!important;flex-direction:row!important;gap:15px;margin-bottom:-11px}.timeblock .x-button[data-v-031787aa]{display:flex;justify-content:flex-end;align-items:center;position:relative;bottom:5px}.timeblock .x-button button[data-v-031787aa]{margin-right:5px}.error input[data-v-031787aa]{border:1px solid red!important}.datepicker-wrapper[data-v-031787aa]{width:100%}.datepicker-wrapper .datepicker-input[data-v-031787aa]{width:100%!important;pointer-events:none}.w-full[data-v-2aaf3118]{width:100%}.date-wrap[data-v-2aaf3118]{display:flex;flex-flow:row;width:100%;gap:20px;margin-bottom:20px}.date-wrap .dp__main[data-v-2aaf3118]{width:calc(50% - 10px)!important}.scrolling[data-v-2aaf3118]{overflow:hidden!important}.border-bottom[data-v-2aaf3118]{border-bottom:1px solid rgba(0,0,0,.1)}.done-btn[data-v-2aaf3118]{background:#7f39fb!important;border-radius:4px!important;color:#fff!important;height:50px;width:203px}.remove-employee[data-v-2aaf3118]{position:relative;width:100%}.remove-employee svg[data-v-2aaf3118]{position:absolute;right:205px;top:28px;z-index:5;opacity:.5}.remove-employee.hide-arrow[data-v-2aaf3118] .mdi-menu-down,.remove-employee.hide-arrow[data-v-2aaf3118] .mdi-menu-up{display:none}.employee-wrapper[data-v-2aaf3118]{position:relative;width:100%}.employee-wrapper svg[data-v-2aaf3118]{position:absolute;right:4px;top:28px;z-index:5;opacity:.5}.employee-wrapper.hide-arrow[data-v-2aaf3118] .mdi-menu-down,.employee-wrapper.hide-arrow[data-v-2aaf3118] .mdi-menu-up{display:none}@media screen and (max-width:522px){.files[data-v-2aaf3118]{margin-top:104px!important}}.timeblocks[data-v-2aaf3118]{display:flex;flex-direction:column;align-items:center;border-bottom:1px solid #e0e0e0}.timeblocks .end-button[data-v-2aaf3118]{width:100%;display:flex;justify-content:flex-end;align-items:center;border-top:1px solid #e0e0e0;height:70px}.timeblocks .end-button button[data-v-2aaf3118]{background:#7f39fb!important;border-radius:4px!important;color:#fff!important;height:50px;width:203px}.timeblocks .splitted-time-inputs[data-v-2aaf3118]{display:flex!important;flex-direction:row!important;gap:15px;margin-bottom:-11px}.timeblock[data-v-2aaf3118]{position:relative;border-top:1px solid #e0e0e0;padding:20px 0 10px 0}.timeblock .splitted-time-inputs[data-v-2aaf3118]{display:flex!important;flex-direction:row!important;gap:15px;margin-bottom:-11px}.datepicker-wrapper[data-v-2aaf3118]{width:70%}.datepicker-wrapper .datepicker-input[data-v-2aaf3118]{width:100%!important;pointer-events:none}tbody[data-v-ca093826],v-table[data-v-ca093826]{border-top:thin solid rgba(var(--v-border-color),var(--v-border-opacity));border-bottom:thin solid rgba(var(--v-border-color),var(--v-border-opacity))}td[data-v-ca093826]:not(:last-child){border-right:thin solid rgba(var(--v-border-color),var(--v-border-opacity))}.line-clamp[data-v-ca093826]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.date-wrap[data-v-03d0eea6]{display:flex;flex-flow:row;width:100%;gap:20px}.date-wrap .dp__main[data-v-03d0eea6]{width:calc(50% - 10px)!important}.employee-select-avatar[data-v-03d0eea6]{background:#6200ee;color:#fff;border-radius:50%;font-size:11.5px;height:22px;width:22px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.remove-input[data-v-03d0eea6]{position:absolute;top:50%;right:0;transform:translate(-15px,-50%);color:#666!important;z-index:10;cursor:pointer}.scrolling[data-v-03d0eea6]{overflow:hidden!important}.border-bottom[data-v-03d0eea6]{border-bottom:1px solid rgba(0,0,0,.1)}.subtask-btn[data-v-03d0eea6]{border:thin solid rgba(var(--v-border-color),var(--v-border-opacity))!important;color:#7f39fb!important;height:53px;text-align:center}[data-v-03d0eea6] .v-field__clearable{opacity:1!important}.vuecal__weekdays-headings{border-bottom:1px solid #ddd;margin-bottom:-1px}.vuecal--view-with-time .vuecal__weekdays-headings,.vuecal--week-numbers .vuecal__weekdays-headings{padding-left:3em}.vuecal--view-with-time.vuecal--twelve-hour .vuecal__weekdays-headings{font-size:.9em;padding-left:4em}.vuecal--overflow-x.vuecal--view-with-time .vuecal__weekdays-headings{padding-left:0}.vuecal__heading{width:100%;height:2.8em;font-weight:400;justify-content:center;text-align:center;align-items:center;position:relative;overflow:hidden}.vuecal__heading>.vuecal__flex{width:100%;height:100%;align-items:normal!important}.vuecal--sticky-split-labels .vuecal__heading{height:3.4em}.vuecal--day-view .vuecal__heading,.vuecal--month-view .vuecal__heading,.vuecal--week-view .vuecal__heading{width:14.2857%}.vuecal--hide-weekends.vuecal--day-view .vuecal__heading,.vuecal--hide-weekends.vuecal--month-view .vuecal__heading,.vuecal--hide-weekends.vuecal--week-view .vuecal__heading,.vuecal--years-view .vuecal__heading{width:20%}.vuecal--year-view .vuecal__heading{width:33.33%}.vuecal__heading .weekday-label{flex-shrink:0;display:flex;justify-content:center;align-items:center}.vuecal--small .vuecal__heading .small,.vuecal--xsmall .vuecal__heading .xsmall{display:block}.vuecal--small .vuecal__heading .full,.vuecal--small .vuecal__heading .xsmall,.vuecal--xsmall .vuecal__heading .full,.vuecal--xsmall .vuecal__heading .small,.vuecal__heading .small,.vuecal__heading .xsmall{display:none}.vuecal .vuecal__split-days-headers{align-items:center}@media screen and (max-width:550px){.vuecal__heading{line-height:1.2}.vuecal--small .vuecal__heading .small,.vuecal--xsmall .vuecal__heading .xsmall,.vuecal__heading .small{display:block}.vuecal--small .vuecal__heading .full,.vuecal--small .vuecal__heading .xsmall,.vuecal--xsmall .vuecal__heading .full,.vuecal--xsmall .vuecal__heading .small,.vuecal__heading .full,.vuecal__heading .xsmall{display:none}.vuecal--overflow-x .vuecal__heading .full,.vuecal--small.vuecal--overflow-x .vuecal__heading .small,.vuecal--xsmall.vuecal--overflow-x .vuecal__heading .xsmall{display:block}.vuecal--overflow-x .vuecal__heading .small,.vuecal--overflow-x .vuecal__heading .xsmall,.vuecal--small.vuecal--overflow-x .vuecal__heading .full,.vuecal--small.vuecal--overflow-x .vuecal__heading .xsmall,.vuecal--xsmall.vuecal--overflow-x .vuecal__heading .full,.vuecal--xsmall.vuecal--overflow-x .vuecal__heading .small{display:none}}@media screen and (max-width:450px){.vuecal--small .vuecal__heading .xsmall,.vuecal--xsmall .vuecal__heading .xsmall,.vuecal__heading .xsmall{display:block}.vuecal--small .vuecal__heading .full,.vuecal--small .vuecal__heading .small,.vuecal--xsmall .vuecal__heading .full,.vuecal--xsmall .vuecal__heading .small,.vuecal__heading .full,.vuecal__heading .small{display:none}.vuecal--small.vuecal--overflow-x .vuecal__heading .small,.vuecal--xsmall.vuecal--overflow-x .vuecal__heading .xsmall{display:block}.vuecal--small.vuecal--overflow-x .vuecal__heading .full,.vuecal--small.vuecal--overflow-x .vuecal__heading .xsmall,.vuecal--xsmall.vuecal--overflow-x .vuecal__heading .full,.vuecal--xsmall.vuecal--overflow-x .vuecal__heading .small{display:none}}.vuecal__header button{outline:none;font-family:inherit}.vuecal__menu{padding:0;margin:0;list-style-type:none;justify-content:center;background-color:rgba(0,0,0,.02)}.vuecal__view-btn{background:none;border:none;padding:.3em 1em;height:2.2em;font-size:1.3em;border-bottom:0 solid currentColor;cursor:pointer;color:inherit;box-sizing:border-box;transition:.2s}.vuecal__view-btn--active{border-bottom-width:2px;background:hsla(0,0%,100%,.15)}.vuecal__title-bar{background-color:rgba(0,0,0,.1);display:flex;align-items:center;text-align:center;justify-content:space-between;font-size:1.4em;line-height:1.3;min-height:2em}.vuecal--xsmall .vuecal__title-bar{font-size:1.3em}.vuecal__title{position:relative;justify-content:center}.vuecal__title button{cursor:pointer;background:none;border:none}.vuecal__title button.slide-fade--left-leave-active,.vuecal__title button.slide-fade--right-leave-active{width:100%}.vuecal__today-btn{position:relative;align-items:center;display:flex;font-size:.8em;background:none;border:none}.vuecal__today-btn span.default{font-size:.8em;padding:3px 6px;text-transform:uppercase;cursor:pointer}.vuecal__arrow{cursor:pointer;position:relative;z-index:1;background:none;border:none;white-space:nowrap}.vuecal__arrow--prev{margin-left:.6em}.vuecal__arrow--next{margin-right:.6em}.vuecal__arrow i.angle{display:inline-block;border:solid currentColor;border-width:0 2px 2px 0;padding:.25em;transform:rotate(-45deg)}.vuecal__arrow--prev i.angle{border-width:2px 0 0 2px}.vuecal__arrow--highlighted,.vuecal__today-btn--highlighted,.vuecal__view-btn--highlighted{position:relative;background-color:rgba(0,0,0,.04)}.vuecal__arrow--highlighted *,.vuecal__today-btn--highlighted *,.vuecal__view-btn--highlighted *{pointer-events:none}.vuecal__arrow--highlighted:after,.vuecal__arrow--highlighted:before,.vuecal__today-btn--highlighted:after,.vuecal__today-btn--highlighted:before,.vuecal__view-btn--highlighted:after,.vuecal__view-btn--highlighted:before{content:"";background-color:inherit;animation:sonar .8s ease-out infinite;position:absolute;top:50%;left:50%;pointer-events:none}.vuecal__arrow--highlighted:before,.vuecal__today-btn--highlighted:before,.vuecal__view-btn--highlighted:before{width:3em;height:3em;border-radius:3em;margin-top:-1.5em;margin-left:-1.5em}.vuecal__arrow--highlighted:after,.vuecal__today-btn--highlighted:after,.vuecal__view-btn--highlighted:after{animation-duration:1.5s;animation-delay:.1s;width:2.6em;height:2.6em;border-radius:2.6em;margin-top:-1.3em;margin-left:-1.3em}@keyframes sonar{0%,20%{opacity:1}to{transform:scale(2.5);opacity:0}}@media screen and (max-width:450px){.vuecal__title{font-size:.9em}.vuecal__view-btn{padding-left:.6em;padding-right:.6em}}@media screen and (max-width:350px){.vuecal__view-btn{font-size:1.1em}}.vuecal__event{color:#666;background-color:hsla(0,0%,97%,.8);position:relative;box-sizing:border-box;left:0;width:100%;z-index:1;transition:box-shadow .3s,left .3s,width .3s;overflow:hidden}.vuecal--no-time .vuecal__event{min-height:8px}.vuecal:not(.vuecal--dragging-event) .vuecal__event:hover{z-index:2}.vuecal__cell .vuecal__event *{-webkit-user-select:text;-moz-user-select:text;user-select:text}.vuecal--view-with-time .vuecal__event:not(.vuecal__event--all-day){position:absolute}.vuecal--view-with-time .vuecal__bg .vuecal__event--all-day{position:absolute;top:0;bottom:0;z-index:0;opacity:.6;width:auto;right:0}.vuecal--view-with-time .vuecal__all-day .vuecal__event--all-day{position:relative;left:0}.vuecal__event--background{z-index:0}.vuecal__event--focus,.vuecal__event:focus{box-shadow:1px 1px 6px rgba(0,0,0,.2);z-index:3;outline:none}.vuecal__event.vuecal__event--dragging{opacity:.7}.vuecal__event.vuecal__event--static{opacity:0;transition:opacity .1s}@-moz-document url-prefix(){.vuecal__event.vuecal__event--dragging{opacity:1}}.vuecal__event-resize-handle{position:absolute;bottom:0;left:0;right:0;height:1em;background-color:hsla(0,0%,100%,.3);opacity:0;transform:translateY(110%);transition:.3s;cursor:ns-resize}.vuecal__event--focus .vuecal__event-resize-handle,.vuecal__event--resizing .vuecal__event-resize-handle,.vuecal__event:focus .vuecal__event-resize-handle,.vuecal__event:hover .vuecal__event-resize-handle{opacity:1;transform:translateY(0)}.vuecal__event--dragging .vuecal__event-resize-handle{display:none}.vuecal__event-delete{position:absolute;top:0;left:0;right:0;display:flex;flex-direction:column;align-items:center;justify-content:center;height:1.4em;line-height:1.4em;background-color:rgba(221,51,51,.85);color:#fff;z-index:0;cursor:pointer;transform:translateY(-110%);transition:.3s}.vuecal__event .vuecal__event-delete{-webkit-user-select:none;-moz-user-select:none;user-select:none}.vuecal--full-height-delete .vuecal__event-delete{height:auto;bottom:0}.vuecal--full-height-delete .vuecal__event-delete:before{content:"";width:1.7em;height:1.8em;display:block;background-image:url('data:image/svg+xml;utf8,')}.vuecal__event--deletable .vuecal__event-delete{transform:translateY(0);z-index:1}.vuecal__event--deletable.vuecal__event--dragging .vuecal__event-delete{opacity:0;transition:none}.vuecal--month-view .vuecal__event-title{font-size:.85em}.vuecal--short-events .vuecal__event-title{text-align:left;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:0 3px}.vuecal__event-content,.vuecal__event-title{-webkit-hyphens:auto;hyphens:auto}.vuecal__event-title--edit{border-bottom:1px solid transparent;text-align:center;transition:.3s;color:inherit;background-image:url('data:image/svg+xml;utf8,');background-repeat:no-repeat;background-position:120% .15em;background-size:.4em;outline:none;width:100%}.vuecal__event-title--edit:focus,.vuecal__event-title--edit:hover{border-color:rgba(0,0,0,.4);background-position:99% .15em;background-size:1.2em}.vuecal__cell{position:relative;width:100%;display:flex;justify-content:center;align-items:center;text-align:center;transition:background-color .15s ease-in-out}.vuecal__cells.month-view .vuecal__cell,.vuecal__cells.week-view .vuecal__cell{width:14.2857%}.vuecal--hide-weekends .vuecal__cells.month-view .vuecal__cell,.vuecal--hide-weekends .vuecal__cells.week-view .vuecal__cell,.vuecal__cells.years-view .vuecal__cell{width:20%}.vuecal__cells.year-view .vuecal__cell{width:33.33%}.vuecal__cells.day-view .vuecal__cell{flex:1}.vuecal--overflow-x.vuecal--day-view .vuecal__cell{width:auto}.vuecal--click-to-navigate .vuecal__cell:not(.vuecal__cell--disabled){cursor:pointer}.vuecal--day-view.vuecal--no-time .vuecal__cell:not(.vuecal__cell--has-splits),.vuecal--view-with-time .vuecal__cell,.vuecal--week-view.vuecal--no-time .vuecal__cell:not(.vuecal__cell--has-splits){display:block}.vuecal__cell.vuecal__cell--has-splits{flex-direction:row;display:flex}.vuecal__cell:before{content:"";position:absolute;z-index:0;top:0;left:0;right:-1px;bottom:-1px;border:1px solid hsla(0,0%,77%,.25)}.vuecal--overflow-x.vuecal--day-view .vuecal__cell:before{bottom:0}.vuecal__cell--current,.vuecal__cell--today{background-color:rgba(240,240,255,.4);z-index:1}.vuecal__cell--selected{background-color:rgba(235,255,245,.4);z-index:2}.vuecal--day-view .vuecal__cell--selected{background:none}.vuecal__cell--out-of-scope{color:rgba(0,0,0,.25)}.vuecal__cell--disabled{color:rgba(0,0,0,.25);cursor:not-allowed}.vuecal__cell--highlighted:not(.vuecal__cell--has-splits),.vuecal__cell-split.vuecal__cell-split--highlighted{background-color:rgba(0,0,0,.04);transition-duration:5ms}.vuecal__cell-content{position:relative;width:100%;height:100%;outline:none}.vuecal--month-view .vuecal__cell-content,.vuecal--year-view .vuecal__cell-content,.vuecal--years-view .vuecal__cell-content{justify-content:center}.vuecal__cell .cell-time-labels{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column}.vuecal__cell .cell-time-label{flex-grow:1;font-size:.8em;opacity:.3;line-height:1.7}.vuecal__cell-split{display:flex;flex-grow:1;flex-direction:column;height:100%;position:relative;transition:background-color .15s ease-in-out}.vuecal__cell-events{width:100%}.vuecal__cell-events-count{position:absolute;left:50%;top:65%;transform:translateX(-50%);min-width:12px;height:12px;line-height:12px;padding:0 3px;background:#999;color:#fff;border-radius:12px;font-size:10px;box-sizing:border-box}.vuecal__cell .vuecal__special-hours{position:absolute;left:0;right:0;box-sizing:border-box}.vuecal--overflow-x.vuecal--week-view .vuecal__cell,.vuecal__cell-split{overflow:hidden}.vuecal__no-event{padding-top:1em;color:#aaa;justify-self:flex-start;margin-bottom:auto}.vuecal__all-day .vuecal__no-event{display:none}.vuecal__now-line{position:absolute;left:0;width:100%;height:0;color:red;border-top:1px solid currentColor;opacity:.6;z-index:1}.vuecal__now-line:before{content:"";position:absolute;top:-6px;left:0;border:5px solid transparent;border-left-color:currentColor}.vuecal{height:100%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}.vuecal *,.vuecal--has-touch :not(.vuecal__event-title--edit){-webkit-user-select:none;-moz-user-select:none;user-select:none}.vuecal--has-touch :not(.vuecal__event-title--edit){-webkit-touch-callout:none}.vuecal .clickable{cursor:pointer}.vuecal--drag-creating-event,.vuecal--resizing-event{cursor:ns-resize}.vuecal--dragging-event{cursor:move;cursor:grabbing}.vuecal .dragging-helper{position:absolute;width:60px;height:40px;background:rgba(138,190,230,.8);border:1px solid #61a9e0;z-index:10}.vuecal--xsmall{font-size:.9em}.vuecal__flex{display:flex;flex-direction:row}.vuecal__flex[column]{flex-direction:column;flex:1 1 auto}.vuecal__flex[grow]{flex:1 1 auto;width:100%}.vuecal__flex[wrap]{flex-wrap:wrap}.vuecal__split-days-headers.slide-fade--right-leave-active{display:none}.vuecal--week-numbers.vuecal--month-view .vuecal__split-days-headers{margin-left:3em}.vuecal--day-view:not(.vuecal--overflow-x) .vuecal__split-days-headers{margin-left:3em;height:2.2em}.vuecal--day-view.vuecal--twelve-hour:not(.vuecal--overflow-x) .vuecal__split-days-headers{margin-left:4em}.vuecal__split-days-headers .day-split-header{display:flex;flex-grow:1;flex-basis:0;justify-content:center;align-items:center;height:100%}.vuecal__split-days-headers .vuecal--day-view.vuecal--overflow-x.vuecal--sticky-split-labels .day-split-header{height:1.5em}.vuecal__body{position:relative;overflow:hidden}.vuecal__all-day{min-height:1.7em;margin-bottom:-1px;flex-shrink:0}.vuecal__all-day-text{width:3em;box-sizing:border-box;color:#999;padding-right:2px;display:flex;flex-shrink:0;align-items:center;justify-content:flex-end;border-bottom:1px solid #ddd;-webkit-hyphens:auto;hyphens:auto}.vuecal__all-day-text span{font-size:.85em;text-align:right;line-height:1.1}.vuecal--twelve-hour .vuecal__all-day>span{width:4em}.vuecal__bg{overflow:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;min-height:60px;position:relative;width:100%}.vuecal--no-time .vuecal__bg{display:flex;flex:1 1 auto;overflow:auto}.vuecal__week-numbers{width:3em;flex-shrink:0!important}.vuecal__week-numbers .vuecal__week-number-cell{opacity:.4;font-size:.9em;align-items:center;justify-items:center;justify-content:center}.vuecal__scrollbar-check{position:absolute;top:0;left:0;right:0;bottom:0;overflow:scroll;visibility:hidden;z-index:-1}.vuecal__scrollbar-check div{height:120%}.vuecal__time-column{width:3em;height:100%;flex-shrink:0}.vuecal--twelve-hour .vuecal__time-column{width:4em;font-size:.9em}.vuecal--overflow-x.vuecal--week-view .vuecal__time-column{margin-top:4em;box-shadow:0 1px 1px rgba(0,0,0,.3)}.vuecal--overflow-x.vuecal--week-view.vuecal--sticky-split-labels .vuecal__time-column{margin-top:3.4em}.vuecal--overflow-x.vuecal--day-view.vuecal--sticky-split-labels .vuecal__time-column{margin-top:1.5em}.vuecal__time-column .vuecal__time-cell{color:#999;text-align:right;font-size:.9em;background:#fff}.vuecal__time-column .vuecal__time-cell-line:before{content:"";position:absolute;left:0;right:0;border-top:1px solid #f5f5f5;z-index:-1}.vuecal__time-column .vuecal__time-cell-line.hour:before{border-top:1px solid #e0e0e0}.vuecal__cells{margin:0 1px 1px 0}.vuecal--overflow-x.vuecal--day-view .vuecal__cells{margin:0}.vuecal--events-on-month-view.vuecal--short-events .vuecal__cells{width:99.9%}.vuecal--overflow-x.vuecal--day-view .vuecal__cells,.vuecal--overflow-x.vuecal--week-view .vuecal__cells{flex-wrap:nowrap;overflow:auto}.slide-fade--left-enter-active,.slide-fade--left-leave-active,.slide-fade--right-enter-active,.slide-fade--right-leave-active{transition:.25s ease-out}.slide-fade--left-enter-from,.slide-fade--right-leave-to{transform:translateX(-15px);opacity:0}.slide-fade--left-leave-to,.slide-fade--right-enter-from{transform:translateX(15px);opacity:0}.slide-fade--left-leave-active,.slide-fade--right-leave-active{position:absolute!important;height:100%}.vuecal__title-bar .slide-fade--left-leave-active,.vuecal__title-bar .slide-fade--right-leave-active{left:0;right:0;height:auto}.vuecal__heading .slide-fade--left-leave-active,.vuecal__heading .slide-fade--right-leave-active{display:flex;align-items:center}.vuecal--green-theme .vuecal__cell-events-count,.vuecal--green-theme .vuecal__menu{background-color:#42b983;color:#fff}.vuecal--green-theme .vuecal__title-bar{background-color:#e4f5ef}.vuecal--green-theme .vuecal__cell--current,.vuecal--green-theme .vuecal__cell--today{background-color:rgba(240,240,255,.4)}.vuecal--green-theme:not(.vuecal--day-view) .vuecal__cell--selected{background-color:rgba(235,255,245,.4)}.vuecal--green-theme .vuecal__cell--selected:before{border-color:rgba(66,185,131,.5)}.vuecal--green-theme .vuecal__cell--highlighted:not(.vuecal__cell--has-splits),.vuecal--green-theme .vuecal__cell-split--highlighted{background-color:rgba(195,255,225,.5)}.vuecal--green-theme .vuecal__arrow--highlighted,.vuecal--green-theme .vuecal__today-btn--highlighted,.vuecal--green-theme .vuecal__view-btn--highlighted{background-color:rgba(136,236,191,.25)}.vuecal--blue-theme .vuecal__cell-events-count,.vuecal--blue-theme .vuecal__menu{background-color:rgba(66,163,185,.8);color:#fff}.vuecal--blue-theme .vuecal__title-bar{background-color:rgba(0,165,188,.3)}.vuecal--blue-theme .vuecal__cell--current,.vuecal--blue-theme .vuecal__cell--today{background-color:rgba(240,240,255,.4)}.vuecal--blue-theme:not(.vuecal--day-view) .vuecal__cell--selected{background-color:rgba(235,253,255,.4)}.vuecal--blue-theme .vuecal__cell--selected:before{border-color:rgba(115,191,204,.5)}.vuecal--blue-theme .vuecal__cell--highlighted:not(.vuecal__cell--has-splits),.vuecal--blue-theme .vuecal__cell-split--highlighted{background-color:rgba(0,165,188,.06)}.vuecal--blue-theme .vuecal__arrow--highlighted,.vuecal--blue-theme .vuecal__today-btn--highlighted,.vuecal--blue-theme .vuecal__view-btn--highlighted{background-color:rgba(66,163,185,.2)}.vuecal--rounded-theme .vuecal__weekdays-headings{border:none}.vuecal--rounded-theme .vuecal__cell,.vuecal--rounded-theme .vuecal__cell:before{background:none;border:none}.vuecal--rounded-theme .vuecal__cell--out-of-scope{opacity:.4}.vuecal--rounded-theme .vuecal__cell-content{width:30px;height:30px;flex-grow:0;border:1px solid transparent;border-radius:30px;color:#333}.vuecal--rounded-theme.vuecal--day-view .vuecal__cell-content{width:auto;background:none}.vuecal--rounded-theme.vuecal--year-view .vuecal__cell{width:33.33%}.vuecal--rounded-theme.vuecal--year-view .vuecal__cell-content{width:85px}.vuecal--rounded-theme.vuecal--years-view .vuecal__cell-content{width:52px}.vuecal--rounded-theme .vuecal__cell{background-color:transparent!important}.vuecal--rounded-theme.vuecal--green-theme:not(.vuecal--day-view) .vuecal__cell-content{background-color:#f1faf7}.vuecal--rounded-theme.vuecal--green-theme:not(.vuecal--day-view) .vuecal__cell--today .vuecal__cell-content{background-color:#42b983;color:#fff}.vuecal--rounded-theme.vuecal--green-theme .vuecal--day-view .vuecal__cell--today:before{background-color:rgba(66,185,131,.05)}.vuecal--rounded-theme.vuecal--green-theme:not(.vuecal--day-view) .vuecal__cell--selected .vuecal__cell-content{border-color:#42b983}.vuecal--rounded-theme.vuecal--green-theme .vuecal__cell--highlighted:not(.vuecal__cell--has-splits),.vuecal--rounded-theme.vuecal--green-theme .vuecal__cell-split--highlighted{background-color:rgba(195,255,225,.5)}.vuecal--rounded-theme.vuecal--blue-theme:not(.vuecal--day-view) .vuecal__cell-content{background-color:rgba(100,182,255,.2)}.vuecal--rounded-theme.vuecal--blue-theme:not(.vuecal--day-view) .vuecal__cell--today .vuecal__cell-content{background-color:#8fb7e4;color:#fff}.vuecal--rounded-theme.vuecal--blue-theme .vuecal--day-view .vuecal__cell--today:before{background-color:rgba(143,183,228,.1)}.vuecal--rounded-theme.vuecal--blue-theme:not(.vuecal--day-view) .vuecal__cell--selected .vuecal__cell-content{border-color:#61a9e0}.vuecal--rounded-theme.vuecal--blue-theme .vuecal__cell--highlighted:not(.vuecal__cell--has-splits),.vuecal--rounded-theme.vuecal--blue-theme .vuecal__cell-split--highlighted{background-color:rgba(0,165,188,.06)}.vuecal--date-picker .vuecal__title-bar{font-size:1.2em}.vuecal--date-picker .vuecal__heading{height:2.2em;font-weight:500;opacity:.4}.vuecal--date-picker .vuecal__weekdays-headings{border:none}.vuecal--date-picker .vuecal__body{margin-left:1px}.vuecal--date-picker .vuecal__cell,.vuecal--date-picker .vuecal__cell:before{background:none;border:none}.vuecal--date-picker .vuecal__cell-content{height:26px;flex-grow:0;border:1px solid transparent;border-radius:25px;transition:background-color .2s cubic-bezier(.39,.58,.57,1)}.vuecal--date-picker.vuecal--years-view .vuecal__cell-content{flex:0;padding:0 4px;height:24px}.vuecal--date-picker.vuecal--year-view .vuecal__cell-content{flex:0;padding:0 15px}.vuecal--date-picker.vuecal--month-view .vuecal__cell-content{width:26px}.vuecal--date-picker:not(.vuecal--day-view) .vuecal__cell-content:hover{background-color:rgba(0,0,0,.1)}.vuecal--date-picker:not(.vuecal--day-view) .vuecal__cell--selected .vuecal__cell-content{background-color:#42b982;color:#fff}.vuecal--date-picker:not(.vuecal--day-view) .vuecal__cell--current .vuecal__cell-content,.vuecal--date-picker:not(.vuecal--day-view) .vuecal__cell--today .vuecal__cell-content{border-color:#42b982}*{margin:0;padding:0}html{scroll-behavior:smooth}#app{overflow-x:hidden}.w-app{font:15px Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff!important;color:#2c3e50;margin-top:8em;padding-top:12em}.page-container{width:100%;max-width:1200px;margin-left:auto;margin-right:auto}a{text-decoration:none;color:#42b983}a[name]{position:relative;top:-4em;display:block}.scrollable{height:250px;overflow-y:scroll;padding-right:1.8em}.footer{font-size:.9em;font-style:italic;margin:3em 0 3.5em}.footer .w-icon{font-size:1.2em}.footer .w-icon.heart{transition:1s ease-out;cursor:pointer}.footer .w-icon.heart:hover{animation:pulse 1.8s ease-out infinite}@keyframes pulse{0%,20%,30%,35%,45%,to{transform:scale(1)}25%,40%{transform:scale(1.3)}}@media screen and (max-width:1240px){:root{--container-padding:20px}.page-container{padding-left:var(--container-padding);padding-right:var(--container-padding)}}@media screen and (max-width:524px){:root{--container-padding:12px}}.v-dialog h1{font-size:26px;font-weight:500}.dp__input{height:56px;border:1px solid #e5e5e5!important}.dp__active_date,.dp__range_end,.dp__range_start{background:#7f39fb!important}.dp__select{color:#7f39fb!important}.dp__today{border:1px solid #7f39fb!important}.dp__range_between{background:#f4e8ff!important}.dp__action{font-weight:500!important}.task-action .trash-icon{margin-left:12px}.task-action .pencil-icon,.task-action .trash-icon{padding:10px;background:rgba(0,0,0,.04);border-radius:50%;cursor:pointer;max-height:32px;max-width:32px}.status-badge{background:#f2e7fe;color:#7f39fb;width:-moz-fit-content;width:fit-content}.hover{cursor:pointer!important}.task-badge{background:rgba(0,0,0,.04);width:-moz-fit-content;width:fit-content;padding:5px 20px;min-width:50px}.employee-selected-avatar{background:#6200ee;color:#fff;border-radius:50%;padding:13px;font-size:11.5px;height:24px;width:24px}.circle-border{border:1px solid rgba(0,0,0,.2);border-radius:50%;padding:13px;height:24px;width:24px}.is-finished{background:#06dece!important}.strike-through{text-decoration:line-through}.add-date{color:#fff;border-radius:50%;background:#6200ee;padding:13px;height:24px;width:24px}th{font-size:16px!important}.task-action{width:50%}.v-card{padding:35px!important}.cursor-pointer:hover{cursor:pointer}.hover-background:hover{background-color:rgba(0,0,0,var(--v-hover-opacity))}.v-input__control{border-radius:4px}.border-select .v-input__control{border:1px solid #e5e5e5!important}input[type=time]::-webkit-calendar-picker-indicator{display:none;border:1px solid #e5e5e5!important}.rich-text-editor .ql-tooltip{left:0!important}.v-toast,.v-toast__item{z-index:10000!important}.vld-overlay .vld-background{opacity:1}.v-row.subheader .v-input{height:40px!important}.server-links{background:#7f39fb;padding:4px 5px}.server-links a{color:#fff}@media(max-width:534px){.mobile-view{flex-direction:column;gap:20px}}.description-detail{background:rgba(0,0,0,.04);color:rgba(0,0,0,.6);height:-moz-fit-content;height:fit-content}.description-detail li{margin-left:15px}.description-detail li.ql-indent-1{margin-left:30px}.description-detail li.ql-indent-2{margin-left:45px}.description-detail li.ql-indent-3{margin-left:60px}.description-detail li.ql-indent-4{margin-left:75px}.description-detail li.ql-indent-5{margin-left:90px}.description-detail li.ql-indent-6{margin-left:105px}.description-detail li.ql-indent-7{margin-left:120px}.description-detail li.ql-indent-8{margin-left:135px}.description-detail li.ql-indent-9{margin-left:150px}.v-autocomplete__content{max-height:46vh!important}.auth-card{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:1px solid rgba(0,0,0,.1);border-radius:16px;padding:30px;width:100%;max-width:486px;margin:auto}.auth-card img{position:absolute;right:60px;bottom:188px;cursor:pointer}.auth-card .button{color:#fff!important}.auth-card .v-field{border-bottom:1px solid transparent}@media screen and (max-width:904px){.auth-card{position:relative;padding:0;border:none;top:0;left:0;transform:translate(0)}.auth-card h1{font-size:19px}.auth-card p{font-size:15px}.auth-card .v-icon{position:absolute!important;right:15px}}.v-field--variant-solo{box-shadow:none!important;border:1px solid rgba(0,0,0,.1)!important}.v-input__append{margin:0!important}.v-input__append .v-icon{position:absolute!important;right:45px}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none}.error-message{position:absolute;top:50%;left:30px;color:red;opacity:.8}.v-select .v-field--variant-solo{border:none!important}.rich-text-editor{border:1px solid rgba(0,0,0,.1)}.error .dp__input,.v-input.error .v-input__control{border:1px solid red!important}.error .ql-container.ql-snow,.error .ql-toolbar.ql-snow{border-color:red!important}.v-messages__message{color:red!important}:root{--color-primary:#7f39fb;--color-primary-contrast:#fff;--color-primary-shade:#5716c6}.button{height:50px!important;min-width:203px;border-radius:4px!important;border-width:1px}.button.half{width:50%}.button.block{width:100%}.button.primary{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-contrast)}.button.primary:active,.button.primary:hover{background-color:var(--color-primary-shade);border-color:var(--color-primary-shade);color:var(--color-primary-contrast)}.button.primary.outline{background-color:var(--color-primary-contrast);border-color:var(--color-primary);color:var(--color-primary)}.button.primary.outline:active,.button.primary.outline:hover{background-color:var(--color-primary-shade);border-color:var(--color-primary-shade);color:var(--color-primary-contrast)}.button.cancel{height:50px;width:100%;border:thin solid rgba(var(--v-border-color),var(--v-border-opacity))!important;color:#7f39fb!important}.modal-header{flex:0 0 auto}.modal-header .icon{padding:10px;background:rgba(0,0,0,.04);border-radius:50%}.modal-header .icon:hover{cursor:pointer}.modal-header .icon.trash{margin-left:12px}.modal-input{width:100%!important;flex:0 0 auto}.modal-content{flex:1 1 100%;margin:10px 0;overflow-y:scroll}.remove-input{pointer-events:auto;opacity:1;position:absolute;left:92%;top:25%}.relative{position:relative!important}.splitted-inputs{width:100%;display:flex;justify-content:space-between}.splitted-inputs .left{width:70%!important}.splitted-inputs .right{width:25%!important}*{font-family:Roboto,sans-serif} \ No newline at end of file diff --git a/app/dist/css/index.ab8cecf8.css b/app/dist/css/index.ab8cecf8.css new file mode 100644 index 0000000..74d77c6 --- /dev/null +++ b/app/dist/css/index.ab8cecf8.css @@ -0,0 +1 @@ +@import url(https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap);.close-icon[data-v-4aa4bee3]:hover{background:red;color:#fff!important}.upload-btn[data-v-a2a40214]{color:#6200ee;border-radius:4px;border:1px solid #e5e5e5}.hidden-input[data-v-a2a40214]{opacity:0;overflow:hidden;position:absolute;width:1px;height:1px}.gif-loader[data-v-a2a40214]{height:30px}.completed{background:#06dece}.width-100[data-v-f216d188]{width:100%}.gif-loader[data-v-f01fa1ac]{height:30px;margin-left:30px}.timeblock[data-v-031787aa]{position:relative;border-top:1px solid #e0e0e0;padding:20px 0 5px 0}.timeblock .splitted-time-inputs[data-v-031787aa]{display:flex!important;flex-direction:row!important;gap:15px;margin-bottom:-11px}.timeblock .x-button[data-v-031787aa]{display:flex;justify-content:flex-end;align-items:center;position:relative;bottom:5px}.timeblock .x-button button[data-v-031787aa]{margin-right:5px}.error input[data-v-031787aa]{border:1px solid red!important}.datepicker-wrapper[data-v-031787aa]{width:100%}.datepicker-wrapper .datepicker-input[data-v-031787aa]{width:100%!important;pointer-events:none}.w-full[data-v-2aaf3118]{width:100%}.date-wrap[data-v-2aaf3118]{display:flex;flex-flow:row;width:100%;gap:20px;margin-bottom:20px}.date-wrap .dp__main[data-v-2aaf3118]{width:calc(50% - 10px)!important}.scrolling[data-v-2aaf3118]{overflow:hidden!important}.border-bottom[data-v-2aaf3118]{border-bottom:1px solid rgba(0,0,0,.1)}.done-btn[data-v-2aaf3118]{background:#7f39fb!important;border-radius:4px!important;color:#fff!important;height:50px;width:203px}.remove-employee[data-v-2aaf3118]{position:relative;width:100%}.remove-employee svg[data-v-2aaf3118]{position:absolute;right:205px;top:28px;z-index:5;opacity:.5}.remove-employee.hide-arrow[data-v-2aaf3118] .mdi-menu-down,.remove-employee.hide-arrow[data-v-2aaf3118] .mdi-menu-up{display:none}.employee-wrapper[data-v-2aaf3118]{position:relative;width:100%}.employee-wrapper svg[data-v-2aaf3118]{position:absolute;right:4px;top:28px;z-index:5;opacity:.5}.employee-wrapper.hide-arrow[data-v-2aaf3118] .mdi-menu-down,.employee-wrapper.hide-arrow[data-v-2aaf3118] .mdi-menu-up{display:none}@media screen and (max-width:522px){.files[data-v-2aaf3118]{margin-top:104px!important}}.timeblocks[data-v-2aaf3118]{display:flex;flex-direction:column;align-items:center;border-bottom:1px solid #e0e0e0}.timeblocks .end-button[data-v-2aaf3118]{width:100%;display:flex;justify-content:flex-end;align-items:center;border-top:1px solid #e0e0e0;height:70px}.timeblocks .end-button button[data-v-2aaf3118]{background:#7f39fb!important;border-radius:4px!important;color:#fff!important;height:50px;width:203px}.timeblocks .splitted-time-inputs[data-v-2aaf3118]{display:flex!important;flex-direction:row!important;gap:15px;margin-bottom:-11px}.timeblock[data-v-2aaf3118]{position:relative;border-top:1px solid #e0e0e0;padding:20px 0 10px 0}.timeblock .splitted-time-inputs[data-v-2aaf3118]{display:flex!important;flex-direction:row!important;gap:15px;margin-bottom:-11px}.datepicker-wrapper[data-v-2aaf3118]{width:70%}.datepicker-wrapper .datepicker-input[data-v-2aaf3118]{width:100%!important;pointer-events:none}tbody[data-v-1f594a8c],v-table[data-v-1f594a8c]{border-top:thin solid rgba(var(--v-border-color),var(--v-border-opacity));border-bottom:thin solid rgba(var(--v-border-color),var(--v-border-opacity))}td[data-v-1f594a8c]:not(:last-child){border-right:thin solid rgba(var(--v-border-color),var(--v-border-opacity))}.office-icon[data-v-1f594a8c]{height:20px;margin-left:12px}.line-clamp[data-v-1f594a8c]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.date-wrap[data-v-5da18474]{display:flex;flex-flow:row;width:100%;gap:20px}.date-wrap .dp__main[data-v-5da18474]{width:calc(50% - 10px)!important}.employee-select-avatar[data-v-5da18474]{background:#6200ee;color:#fff;border-radius:50%;font-size:11.5px;height:22px;width:22px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.remove-input[data-v-5da18474]{position:absolute;top:50%;right:0;transform:translate(-15px,-50%);color:#666!important;z-index:10;cursor:pointer}.scrolling[data-v-5da18474]{overflow:hidden!important}.border-bottom[data-v-5da18474]{border-bottom:1px solid rgba(0,0,0,.1)}.subtask-btn[data-v-5da18474]{border:thin solid rgba(var(--v-border-color),var(--v-border-opacity))!important;color:#7f39fb!important;height:53px;text-align:center}[data-v-5da18474] .v-field__clearable{opacity:1!important}.vuecal__weekdays-headings{border-bottom:1px solid #ddd;margin-bottom:-1px}.vuecal--view-with-time .vuecal__weekdays-headings,.vuecal--week-numbers .vuecal__weekdays-headings{padding-left:3em}.vuecal--view-with-time.vuecal--twelve-hour .vuecal__weekdays-headings{font-size:.9em;padding-left:4em}.vuecal--overflow-x.vuecal--view-with-time .vuecal__weekdays-headings{padding-left:0}.vuecal__heading{width:100%;height:2.8em;font-weight:400;justify-content:center;text-align:center;align-items:center;position:relative;overflow:hidden}.vuecal__heading>.vuecal__flex{width:100%;height:100%;align-items:normal!important}.vuecal--sticky-split-labels .vuecal__heading{height:3.4em}.vuecal--day-view .vuecal__heading,.vuecal--month-view .vuecal__heading,.vuecal--week-view .vuecal__heading{width:14.2857%}.vuecal--hide-weekends.vuecal--day-view .vuecal__heading,.vuecal--hide-weekends.vuecal--month-view .vuecal__heading,.vuecal--hide-weekends.vuecal--week-view .vuecal__heading,.vuecal--years-view .vuecal__heading{width:20%}.vuecal--year-view .vuecal__heading{width:33.33%}.vuecal__heading .weekday-label{flex-shrink:0;display:flex;justify-content:center;align-items:center}.vuecal--small .vuecal__heading .small,.vuecal--xsmall .vuecal__heading .xsmall{display:block}.vuecal--small .vuecal__heading .full,.vuecal--small .vuecal__heading .xsmall,.vuecal--xsmall .vuecal__heading .full,.vuecal--xsmall .vuecal__heading .small,.vuecal__heading .small,.vuecal__heading .xsmall{display:none}.vuecal .vuecal__split-days-headers{align-items:center}@media screen and (max-width:550px){.vuecal__heading{line-height:1.2}.vuecal--small .vuecal__heading .small,.vuecal--xsmall .vuecal__heading .xsmall,.vuecal__heading .small{display:block}.vuecal--small .vuecal__heading .full,.vuecal--small .vuecal__heading .xsmall,.vuecal--xsmall .vuecal__heading .full,.vuecal--xsmall .vuecal__heading .small,.vuecal__heading .full,.vuecal__heading .xsmall{display:none}.vuecal--overflow-x .vuecal__heading .full,.vuecal--small.vuecal--overflow-x .vuecal__heading .small,.vuecal--xsmall.vuecal--overflow-x .vuecal__heading .xsmall{display:block}.vuecal--overflow-x .vuecal__heading .small,.vuecal--overflow-x .vuecal__heading .xsmall,.vuecal--small.vuecal--overflow-x .vuecal__heading .full,.vuecal--small.vuecal--overflow-x .vuecal__heading .xsmall,.vuecal--xsmall.vuecal--overflow-x .vuecal__heading .full,.vuecal--xsmall.vuecal--overflow-x .vuecal__heading .small{display:none}}@media screen and (max-width:450px){.vuecal--small .vuecal__heading .xsmall,.vuecal--xsmall .vuecal__heading .xsmall,.vuecal__heading .xsmall{display:block}.vuecal--small .vuecal__heading .full,.vuecal--small .vuecal__heading .small,.vuecal--xsmall .vuecal__heading .full,.vuecal--xsmall .vuecal__heading .small,.vuecal__heading .full,.vuecal__heading .small{display:none}.vuecal--small.vuecal--overflow-x .vuecal__heading .small,.vuecal--xsmall.vuecal--overflow-x .vuecal__heading .xsmall{display:block}.vuecal--small.vuecal--overflow-x .vuecal__heading .full,.vuecal--small.vuecal--overflow-x .vuecal__heading .xsmall,.vuecal--xsmall.vuecal--overflow-x .vuecal__heading .full,.vuecal--xsmall.vuecal--overflow-x .vuecal__heading .small{display:none}}.vuecal__header button{outline:none;font-family:inherit}.vuecal__menu{padding:0;margin:0;list-style-type:none;justify-content:center;background-color:rgba(0,0,0,.02)}.vuecal__view-btn{background:none;border:none;padding:.3em 1em;height:2.2em;font-size:1.3em;border-bottom:0 solid currentColor;cursor:pointer;color:inherit;box-sizing:border-box;transition:.2s}.vuecal__view-btn--active{border-bottom-width:2px;background:hsla(0,0%,100%,.15)}.vuecal__title-bar{background-color:rgba(0,0,0,.1);display:flex;align-items:center;text-align:center;justify-content:space-between;font-size:1.4em;line-height:1.3;min-height:2em}.vuecal--xsmall .vuecal__title-bar{font-size:1.3em}.vuecal__title{position:relative;justify-content:center}.vuecal__title button{cursor:pointer;background:none;border:none}.vuecal__title button.slide-fade--left-leave-active,.vuecal__title button.slide-fade--right-leave-active{width:100%}.vuecal__today-btn{position:relative;align-items:center;display:flex;font-size:.8em;background:none;border:none}.vuecal__today-btn span.default{font-size:.8em;padding:3px 6px;text-transform:uppercase;cursor:pointer}.vuecal__arrow{cursor:pointer;position:relative;z-index:1;background:none;border:none;white-space:nowrap}.vuecal__arrow--prev{margin-left:.6em}.vuecal__arrow--next{margin-right:.6em}.vuecal__arrow i.angle{display:inline-block;border:solid currentColor;border-width:0 2px 2px 0;padding:.25em;transform:rotate(-45deg)}.vuecal__arrow--prev i.angle{border-width:2px 0 0 2px}.vuecal__arrow--highlighted,.vuecal__today-btn--highlighted,.vuecal__view-btn--highlighted{position:relative;background-color:rgba(0,0,0,.04)}.vuecal__arrow--highlighted *,.vuecal__today-btn--highlighted *,.vuecal__view-btn--highlighted *{pointer-events:none}.vuecal__arrow--highlighted:after,.vuecal__arrow--highlighted:before,.vuecal__today-btn--highlighted:after,.vuecal__today-btn--highlighted:before,.vuecal__view-btn--highlighted:after,.vuecal__view-btn--highlighted:before{content:"";background-color:inherit;animation:sonar .8s ease-out infinite;position:absolute;top:50%;left:50%;pointer-events:none}.vuecal__arrow--highlighted:before,.vuecal__today-btn--highlighted:before,.vuecal__view-btn--highlighted:before{width:3em;height:3em;border-radius:3em;margin-top:-1.5em;margin-left:-1.5em}.vuecal__arrow--highlighted:after,.vuecal__today-btn--highlighted:after,.vuecal__view-btn--highlighted:after{animation-duration:1.5s;animation-delay:.1s;width:2.6em;height:2.6em;border-radius:2.6em;margin-top:-1.3em;margin-left:-1.3em}@keyframes sonar{0%,20%{opacity:1}to{transform:scale(2.5);opacity:0}}@media screen and (max-width:450px){.vuecal__title{font-size:.9em}.vuecal__view-btn{padding-left:.6em;padding-right:.6em}}@media screen and (max-width:350px){.vuecal__view-btn{font-size:1.1em}}.vuecal__event{color:#666;background-color:hsla(0,0%,97%,.8);position:relative;box-sizing:border-box;left:0;width:100%;z-index:1;transition:box-shadow .3s,left .3s,width .3s;overflow:hidden}.vuecal--no-time .vuecal__event{min-height:8px}.vuecal:not(.vuecal--dragging-event) .vuecal__event:hover{z-index:2}.vuecal__cell .vuecal__event *{-webkit-user-select:text;-moz-user-select:text;user-select:text}.vuecal--view-with-time .vuecal__event:not(.vuecal__event--all-day){position:absolute}.vuecal--view-with-time .vuecal__bg .vuecal__event--all-day{position:absolute;top:0;bottom:0;z-index:0;opacity:.6;width:auto;right:0}.vuecal--view-with-time .vuecal__all-day .vuecal__event--all-day{position:relative;left:0}.vuecal__event--background{z-index:0}.vuecal__event--focus,.vuecal__event:focus{box-shadow:1px 1px 6px rgba(0,0,0,.2);z-index:3;outline:none}.vuecal__event.vuecal__event--dragging{opacity:.7}.vuecal__event.vuecal__event--static{opacity:0;transition:opacity .1s}@-moz-document url-prefix(){.vuecal__event.vuecal__event--dragging{opacity:1}}.vuecal__event-resize-handle{position:absolute;bottom:0;left:0;right:0;height:1em;background-color:hsla(0,0%,100%,.3);opacity:0;transform:translateY(110%);transition:.3s;cursor:ns-resize}.vuecal__event--focus .vuecal__event-resize-handle,.vuecal__event--resizing .vuecal__event-resize-handle,.vuecal__event:focus .vuecal__event-resize-handle,.vuecal__event:hover .vuecal__event-resize-handle{opacity:1;transform:translateY(0)}.vuecal__event--dragging .vuecal__event-resize-handle{display:none}.vuecal__event-delete{position:absolute;top:0;left:0;right:0;display:flex;flex-direction:column;align-items:center;justify-content:center;height:1.4em;line-height:1.4em;background-color:rgba(221,51,51,.85);color:#fff;z-index:0;cursor:pointer;transform:translateY(-110%);transition:.3s}.vuecal__event .vuecal__event-delete{-webkit-user-select:none;-moz-user-select:none;user-select:none}.vuecal--full-height-delete .vuecal__event-delete{height:auto;bottom:0}.vuecal--full-height-delete .vuecal__event-delete:before{content:"";width:1.7em;height:1.8em;display:block;background-image:url('data:image/svg+xml;utf8,')}.vuecal__event--deletable .vuecal__event-delete{transform:translateY(0);z-index:1}.vuecal__event--deletable.vuecal__event--dragging .vuecal__event-delete{opacity:0;transition:none}.vuecal--month-view .vuecal__event-title{font-size:.85em}.vuecal--short-events .vuecal__event-title{text-align:left;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:0 3px}.vuecal__event-content,.vuecal__event-title{-webkit-hyphens:auto;hyphens:auto}.vuecal__event-title--edit{border-bottom:1px solid transparent;text-align:center;transition:.3s;color:inherit;background-image:url('data:image/svg+xml;utf8,');background-repeat:no-repeat;background-position:120% .15em;background-size:.4em;outline:none;width:100%}.vuecal__event-title--edit:focus,.vuecal__event-title--edit:hover{border-color:rgba(0,0,0,.4);background-position:99% .15em;background-size:1.2em}.vuecal__cell{position:relative;width:100%;display:flex;justify-content:center;align-items:center;text-align:center;transition:background-color .15s ease-in-out}.vuecal__cells.month-view .vuecal__cell,.vuecal__cells.week-view .vuecal__cell{width:14.2857%}.vuecal--hide-weekends .vuecal__cells.month-view .vuecal__cell,.vuecal--hide-weekends .vuecal__cells.week-view .vuecal__cell,.vuecal__cells.years-view .vuecal__cell{width:20%}.vuecal__cells.year-view .vuecal__cell{width:33.33%}.vuecal__cells.day-view .vuecal__cell{flex:1}.vuecal--overflow-x.vuecal--day-view .vuecal__cell{width:auto}.vuecal--click-to-navigate .vuecal__cell:not(.vuecal__cell--disabled){cursor:pointer}.vuecal--day-view.vuecal--no-time .vuecal__cell:not(.vuecal__cell--has-splits),.vuecal--view-with-time .vuecal__cell,.vuecal--week-view.vuecal--no-time .vuecal__cell:not(.vuecal__cell--has-splits){display:block}.vuecal__cell.vuecal__cell--has-splits{flex-direction:row;display:flex}.vuecal__cell:before{content:"";position:absolute;z-index:0;top:0;left:0;right:-1px;bottom:-1px;border:1px solid hsla(0,0%,77%,.25)}.vuecal--overflow-x.vuecal--day-view .vuecal__cell:before{bottom:0}.vuecal__cell--current,.vuecal__cell--today{background-color:rgba(240,240,255,.4);z-index:1}.vuecal__cell--selected{background-color:rgba(235,255,245,.4);z-index:2}.vuecal--day-view .vuecal__cell--selected{background:none}.vuecal__cell--out-of-scope{color:rgba(0,0,0,.25)}.vuecal__cell--disabled{color:rgba(0,0,0,.25);cursor:not-allowed}.vuecal__cell--highlighted:not(.vuecal__cell--has-splits),.vuecal__cell-split.vuecal__cell-split--highlighted{background-color:rgba(0,0,0,.04);transition-duration:5ms}.vuecal__cell-content{position:relative;width:100%;height:100%;outline:none}.vuecal--month-view .vuecal__cell-content,.vuecal--year-view .vuecal__cell-content,.vuecal--years-view .vuecal__cell-content{justify-content:center}.vuecal__cell .cell-time-labels{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column}.vuecal__cell .cell-time-label{flex-grow:1;font-size:.8em;opacity:.3;line-height:1.7}.vuecal__cell-split{display:flex;flex-grow:1;flex-direction:column;height:100%;position:relative;transition:background-color .15s ease-in-out}.vuecal__cell-events{width:100%}.vuecal__cell-events-count{position:absolute;left:50%;top:65%;transform:translateX(-50%);min-width:12px;height:12px;line-height:12px;padding:0 3px;background:#999;color:#fff;border-radius:12px;font-size:10px;box-sizing:border-box}.vuecal__cell .vuecal__special-hours{position:absolute;left:0;right:0;box-sizing:border-box}.vuecal--overflow-x.vuecal--week-view .vuecal__cell,.vuecal__cell-split{overflow:hidden}.vuecal__no-event{padding-top:1em;color:#aaa;justify-self:flex-start;margin-bottom:auto}.vuecal__all-day .vuecal__no-event{display:none}.vuecal__now-line{position:absolute;left:0;width:100%;height:0;color:red;border-top:1px solid currentColor;opacity:.6;z-index:1}.vuecal__now-line:before{content:"";position:absolute;top:-6px;left:0;border:5px solid transparent;border-left-color:currentColor}.vuecal{height:100%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}.vuecal *,.vuecal--has-touch :not(.vuecal__event-title--edit){-webkit-user-select:none;-moz-user-select:none;user-select:none}.vuecal--has-touch :not(.vuecal__event-title--edit){-webkit-touch-callout:none}.vuecal .clickable{cursor:pointer}.vuecal--drag-creating-event,.vuecal--resizing-event{cursor:ns-resize}.vuecal--dragging-event{cursor:move;cursor:grabbing}.vuecal .dragging-helper{position:absolute;width:60px;height:40px;background:rgba(138,190,230,.8);border:1px solid #61a9e0;z-index:10}.vuecal--xsmall{font-size:.9em}.vuecal__flex{display:flex;flex-direction:row}.vuecal__flex[column]{flex-direction:column;flex:1 1 auto}.vuecal__flex[grow]{flex:1 1 auto;width:100%}.vuecal__flex[wrap]{flex-wrap:wrap}.vuecal__split-days-headers.slide-fade--right-leave-active{display:none}.vuecal--week-numbers.vuecal--month-view .vuecal__split-days-headers{margin-left:3em}.vuecal--day-view:not(.vuecal--overflow-x) .vuecal__split-days-headers{margin-left:3em;height:2.2em}.vuecal--day-view.vuecal--twelve-hour:not(.vuecal--overflow-x) .vuecal__split-days-headers{margin-left:4em}.vuecal__split-days-headers .day-split-header{display:flex;flex-grow:1;flex-basis:0;justify-content:center;align-items:center;height:100%}.vuecal__split-days-headers .vuecal--day-view.vuecal--overflow-x.vuecal--sticky-split-labels .day-split-header{height:1.5em}.vuecal__body{position:relative;overflow:hidden}.vuecal__all-day{min-height:1.7em;margin-bottom:-1px;flex-shrink:0}.vuecal__all-day-text{width:3em;box-sizing:border-box;color:#999;padding-right:2px;display:flex;flex-shrink:0;align-items:center;justify-content:flex-end;border-bottom:1px solid #ddd;-webkit-hyphens:auto;hyphens:auto}.vuecal__all-day-text span{font-size:.85em;text-align:right;line-height:1.1}.vuecal--twelve-hour .vuecal__all-day>span{width:4em}.vuecal__bg{overflow:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;min-height:60px;position:relative;width:100%}.vuecal--no-time .vuecal__bg{display:flex;flex:1 1 auto;overflow:auto}.vuecal__week-numbers{width:3em;flex-shrink:0!important}.vuecal__week-numbers .vuecal__week-number-cell{opacity:.4;font-size:.9em;align-items:center;justify-items:center;justify-content:center}.vuecal__scrollbar-check{position:absolute;top:0;left:0;right:0;bottom:0;overflow:scroll;visibility:hidden;z-index:-1}.vuecal__scrollbar-check div{height:120%}.vuecal__time-column{width:3em;height:100%;flex-shrink:0}.vuecal--twelve-hour .vuecal__time-column{width:4em;font-size:.9em}.vuecal--overflow-x.vuecal--week-view .vuecal__time-column{margin-top:4em;box-shadow:0 1px 1px rgba(0,0,0,.3)}.vuecal--overflow-x.vuecal--week-view.vuecal--sticky-split-labels .vuecal__time-column{margin-top:3.4em}.vuecal--overflow-x.vuecal--day-view.vuecal--sticky-split-labels .vuecal__time-column{margin-top:1.5em}.vuecal__time-column .vuecal__time-cell{color:#999;text-align:right;font-size:.9em;background:#fff}.vuecal__time-column .vuecal__time-cell-line:before{content:"";position:absolute;left:0;right:0;border-top:1px solid #f5f5f5;z-index:-1}.vuecal__time-column .vuecal__time-cell-line.hour:before{border-top:1px solid #e0e0e0}.vuecal__cells{margin:0 1px 1px 0}.vuecal--overflow-x.vuecal--day-view .vuecal__cells{margin:0}.vuecal--events-on-month-view.vuecal--short-events .vuecal__cells{width:99.9%}.vuecal--overflow-x.vuecal--day-view .vuecal__cells,.vuecal--overflow-x.vuecal--week-view .vuecal__cells{flex-wrap:nowrap;overflow:auto}.slide-fade--left-enter-active,.slide-fade--left-leave-active,.slide-fade--right-enter-active,.slide-fade--right-leave-active{transition:.25s ease-out}.slide-fade--left-enter-from,.slide-fade--right-leave-to{transform:translateX(-15px);opacity:0}.slide-fade--left-leave-to,.slide-fade--right-enter-from{transform:translateX(15px);opacity:0}.slide-fade--left-leave-active,.slide-fade--right-leave-active{position:absolute!important;height:100%}.vuecal__title-bar .slide-fade--left-leave-active,.vuecal__title-bar .slide-fade--right-leave-active{left:0;right:0;height:auto}.vuecal__heading .slide-fade--left-leave-active,.vuecal__heading .slide-fade--right-leave-active{display:flex;align-items:center}.vuecal--green-theme .vuecal__cell-events-count,.vuecal--green-theme .vuecal__menu{background-color:#42b983;color:#fff}.vuecal--green-theme .vuecal__title-bar{background-color:#e4f5ef}.vuecal--green-theme .vuecal__cell--current,.vuecal--green-theme .vuecal__cell--today{background-color:rgba(240,240,255,.4)}.vuecal--green-theme:not(.vuecal--day-view) .vuecal__cell--selected{background-color:rgba(235,255,245,.4)}.vuecal--green-theme .vuecal__cell--selected:before{border-color:rgba(66,185,131,.5)}.vuecal--green-theme .vuecal__cell--highlighted:not(.vuecal__cell--has-splits),.vuecal--green-theme .vuecal__cell-split--highlighted{background-color:rgba(195,255,225,.5)}.vuecal--green-theme .vuecal__arrow--highlighted,.vuecal--green-theme .vuecal__today-btn--highlighted,.vuecal--green-theme .vuecal__view-btn--highlighted{background-color:rgba(136,236,191,.25)}.vuecal--blue-theme .vuecal__cell-events-count,.vuecal--blue-theme .vuecal__menu{background-color:rgba(66,163,185,.8);color:#fff}.vuecal--blue-theme .vuecal__title-bar{background-color:rgba(0,165,188,.3)}.vuecal--blue-theme .vuecal__cell--current,.vuecal--blue-theme .vuecal__cell--today{background-color:rgba(240,240,255,.4)}.vuecal--blue-theme:not(.vuecal--day-view) .vuecal__cell--selected{background-color:rgba(235,253,255,.4)}.vuecal--blue-theme .vuecal__cell--selected:before{border-color:rgba(115,191,204,.5)}.vuecal--blue-theme .vuecal__cell--highlighted:not(.vuecal__cell--has-splits),.vuecal--blue-theme .vuecal__cell-split--highlighted{background-color:rgba(0,165,188,.06)}.vuecal--blue-theme .vuecal__arrow--highlighted,.vuecal--blue-theme .vuecal__today-btn--highlighted,.vuecal--blue-theme .vuecal__view-btn--highlighted{background-color:rgba(66,163,185,.2)}.vuecal--rounded-theme .vuecal__weekdays-headings{border:none}.vuecal--rounded-theme .vuecal__cell,.vuecal--rounded-theme .vuecal__cell:before{background:none;border:none}.vuecal--rounded-theme .vuecal__cell--out-of-scope{opacity:.4}.vuecal--rounded-theme .vuecal__cell-content{width:30px;height:30px;flex-grow:0;border:1px solid transparent;border-radius:30px;color:#333}.vuecal--rounded-theme.vuecal--day-view .vuecal__cell-content{width:auto;background:none}.vuecal--rounded-theme.vuecal--year-view .vuecal__cell{width:33.33%}.vuecal--rounded-theme.vuecal--year-view .vuecal__cell-content{width:85px}.vuecal--rounded-theme.vuecal--years-view .vuecal__cell-content{width:52px}.vuecal--rounded-theme .vuecal__cell{background-color:transparent!important}.vuecal--rounded-theme.vuecal--green-theme:not(.vuecal--day-view) .vuecal__cell-content{background-color:#f1faf7}.vuecal--rounded-theme.vuecal--green-theme:not(.vuecal--day-view) .vuecal__cell--today .vuecal__cell-content{background-color:#42b983;color:#fff}.vuecal--rounded-theme.vuecal--green-theme .vuecal--day-view .vuecal__cell--today:before{background-color:rgba(66,185,131,.05)}.vuecal--rounded-theme.vuecal--green-theme:not(.vuecal--day-view) .vuecal__cell--selected .vuecal__cell-content{border-color:#42b983}.vuecal--rounded-theme.vuecal--green-theme .vuecal__cell--highlighted:not(.vuecal__cell--has-splits),.vuecal--rounded-theme.vuecal--green-theme .vuecal__cell-split--highlighted{background-color:rgba(195,255,225,.5)}.vuecal--rounded-theme.vuecal--blue-theme:not(.vuecal--day-view) .vuecal__cell-content{background-color:rgba(100,182,255,.2)}.vuecal--rounded-theme.vuecal--blue-theme:not(.vuecal--day-view) .vuecal__cell--today .vuecal__cell-content{background-color:#8fb7e4;color:#fff}.vuecal--rounded-theme.vuecal--blue-theme .vuecal--day-view .vuecal__cell--today:before{background-color:rgba(143,183,228,.1)}.vuecal--rounded-theme.vuecal--blue-theme:not(.vuecal--day-view) .vuecal__cell--selected .vuecal__cell-content{border-color:#61a9e0}.vuecal--rounded-theme.vuecal--blue-theme .vuecal__cell--highlighted:not(.vuecal__cell--has-splits),.vuecal--rounded-theme.vuecal--blue-theme .vuecal__cell-split--highlighted{background-color:rgba(0,165,188,.06)}.vuecal--date-picker .vuecal__title-bar{font-size:1.2em}.vuecal--date-picker .vuecal__heading{height:2.2em;font-weight:500;opacity:.4}.vuecal--date-picker .vuecal__weekdays-headings{border:none}.vuecal--date-picker .vuecal__body{margin-left:1px}.vuecal--date-picker .vuecal__cell,.vuecal--date-picker .vuecal__cell:before{background:none;border:none}.vuecal--date-picker .vuecal__cell-content{height:26px;flex-grow:0;border:1px solid transparent;border-radius:25px;transition:background-color .2s cubic-bezier(.39,.58,.57,1)}.vuecal--date-picker.vuecal--years-view .vuecal__cell-content{flex:0;padding:0 4px;height:24px}.vuecal--date-picker.vuecal--year-view .vuecal__cell-content{flex:0;padding:0 15px}.vuecal--date-picker.vuecal--month-view .vuecal__cell-content{width:26px}.vuecal--date-picker:not(.vuecal--day-view) .vuecal__cell-content:hover{background-color:rgba(0,0,0,.1)}.vuecal--date-picker:not(.vuecal--day-view) .vuecal__cell--selected .vuecal__cell-content{background-color:#42b982;color:#fff}.vuecal--date-picker:not(.vuecal--day-view) .vuecal__cell--current .vuecal__cell-content,.vuecal--date-picker:not(.vuecal--day-view) .vuecal__cell--today .vuecal__cell-content{border-color:#42b982}*{margin:0;padding:0}html{scroll-behavior:smooth}#app{overflow-x:hidden}.w-app{font:15px Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff!important;color:#2c3e50;margin-top:8em;padding-top:12em}.page-container{width:100%;max-width:1200px;margin-left:auto;margin-right:auto}a{text-decoration:none;color:#42b983}a[name]{position:relative;top:-4em;display:block}.scrollable{height:250px;overflow-y:scroll;padding-right:1.8em}.footer{font-size:.9em;font-style:italic;margin:3em 0 3.5em}.footer .w-icon{font-size:1.2em}.footer .w-icon.heart{transition:1s ease-out;cursor:pointer}.footer .w-icon.heart:hover{animation:pulse 1.8s ease-out infinite}@keyframes pulse{0%,20%,30%,35%,45%,to{transform:scale(1)}25%,40%{transform:scale(1.3)}}@media screen and (max-width:1240px){:root{--container-padding:20px}.page-container{padding-left:var(--container-padding);padding-right:var(--container-padding)}}@media screen and (max-width:524px){:root{--container-padding:12px}}.v-dialog h1{font-size:26px;font-weight:500}.dp__input{height:56px;border:1px solid #e5e5e5!important}.dp__active_date,.dp__range_end,.dp__range_start{background:#7f39fb!important}.dp__select{color:#7f39fb!important}.dp__today{border:1px solid #7f39fb!important}.dp__range_between{background:#f4e8ff!important}.dp__action{font-weight:500!important}.task-action .trash-icon{margin-left:12px}.task-action .pencil-icon,.task-action .trash-icon{padding:10px;background:rgba(0,0,0,.04);border-radius:50%;cursor:pointer;max-height:32px;max-width:32px}.status-badge{background:#f2e7fe;color:#7f39fb;width:-moz-fit-content;width:fit-content}.hover{cursor:pointer!important}.task-badge{background:rgba(0,0,0,.04);width:-moz-fit-content;width:fit-content;padding:5px 20px;min-width:50px}.employee-selected-avatar{background:#6200ee;color:#fff;border-radius:50%;padding:13px;font-size:11.5px;height:24px;width:24px}.circle-border{border:1px solid rgba(0,0,0,.2);border-radius:50%;padding:13px;height:24px;width:24px}.is-finished{background:#06dece!important}.strike-through{text-decoration:line-through}.add-date{color:#fff;border-radius:50%;background:#6200ee;padding:13px;height:24px;width:24px}th{font-size:16px!important}.task-action{width:50%}.v-card{padding:35px!important}.cursor-pointer:hover{cursor:pointer}.hover-background:hover{background-color:rgba(0,0,0,var(--v-hover-opacity))}.v-input__control{border-radius:4px}.border-select .v-input__control{border:1px solid #e5e5e5!important}input[type=time]::-webkit-calendar-picker-indicator{display:none;border:1px solid #e5e5e5!important}.rich-text-editor .ql-tooltip{left:0!important}.v-toast,.v-toast__item{z-index:10000!important}.vld-overlay .vld-background{opacity:1}.v-row.subheader .v-input{height:40px!important}.server-links{background:#7f39fb;padding:4px 5px}.server-links a{color:#fff}@media(max-width:534px){.mobile-view{flex-direction:column;gap:20px}}.description-detail{background:rgba(0,0,0,.04);color:rgba(0,0,0,.6);height:-moz-fit-content;height:fit-content}.description-detail li{margin-left:15px}.description-detail li.ql-indent-1{margin-left:30px}.description-detail li.ql-indent-2{margin-left:45px}.description-detail li.ql-indent-3{margin-left:60px}.description-detail li.ql-indent-4{margin-left:75px}.description-detail li.ql-indent-5{margin-left:90px}.description-detail li.ql-indent-6{margin-left:105px}.description-detail li.ql-indent-7{margin-left:120px}.description-detail li.ql-indent-8{margin-left:135px}.description-detail li.ql-indent-9{margin-left:150px}.v-autocomplete__content{max-height:46vh!important}.auth-card{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:1px solid rgba(0,0,0,.1);border-radius:16px;padding:30px;width:100%;max-width:486px;margin:auto}.auth-card img{position:absolute;right:60px;bottom:188px;cursor:pointer}.auth-card .button{color:#fff!important}.auth-card .v-field{border-bottom:1px solid transparent}@media screen and (max-width:904px){.auth-card{position:relative;padding:0;border:none;top:0;left:0;transform:translate(0)}.auth-card h1{font-size:19px}.auth-card p{font-size:15px}.auth-card .v-icon{position:absolute!important;right:15px}}.v-field--variant-solo{box-shadow:none!important;border:1px solid rgba(0,0,0,.1)!important}.v-input__append{margin:0!important}.v-input__append .v-icon{position:absolute!important;right:45px}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none}.error-message{position:absolute;top:50%;left:30px;color:red;opacity:.8}.v-select .v-field--variant-solo{border:none!important}.rich-text-editor{border:1px solid rgba(0,0,0,.1)}.error .dp__input,.v-input.error .v-input__control{border:1px solid red!important}.error .ql-container.ql-snow,.error .ql-toolbar.ql-snow{border-color:red!important}.v-messages__message{color:red!important}:root{--color-primary:#7f39fb;--color-primary-contrast:#fff;--color-primary-shade:#5716c6}.button{height:50px!important;min-width:203px;border-radius:4px!important;border-width:1px}.button.half{width:50%}.button.block{width:100%}.button.primary{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-contrast)}.button.primary:active,.button.primary:hover{background-color:var(--color-primary-shade);border-color:var(--color-primary-shade);color:var(--color-primary-contrast)}.button.primary.outline{background-color:var(--color-primary-contrast);border-color:var(--color-primary);color:var(--color-primary)}.button.primary.outline:active,.button.primary.outline:hover{background-color:var(--color-primary-shade);border-color:var(--color-primary-shade);color:var(--color-primary-contrast)}.button.cancel{height:50px;width:100%;border:thin solid rgba(var(--v-border-color),var(--v-border-opacity))!important;color:#7f39fb!important}.modal-header{flex:0 0 auto}.modal-header .icon{padding:10px;background:rgba(0,0,0,.04);border-radius:50%}.modal-header .icon:hover{cursor:pointer}.modal-header .icon.trash{margin-left:12px}.modal-input{width:100%!important;flex:0 0 auto}.modal-content{flex:1 1 100%;margin:10px 0;overflow-y:scroll}.remove-input{pointer-events:auto;opacity:1;position:absolute;left:92%;top:25%}.relative{position:relative!important}.splitted-inputs{width:100%;display:flex;justify-content:space-between}.splitted-inputs .left{width:70%!important}.splitted-inputs .right{width:25%!important}*{font-family:Roboto,sans-serif} \ No newline at end of file diff --git a/app/dist/img/office-365.84b4e31a.svg b/app/dist/img/office-365.84b4e31a.svg new file mode 100644 index 0000000..724a2d9 --- /dev/null +++ b/app/dist/img/office-365.84b4e31a.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/app/dist/index.html b/app/dist/index.html index 997be8a..a091745 100644 --- a/app/dist/index.html +++ b/app/dist/index.html @@ -1 +1 @@ -ToDo by JANDL
\ No newline at end of file +ToDo by JANDL
\ No newline at end of file diff --git a/app/dist/js/2612.baba8cc8.js b/app/dist/js/2612.ea780a2e.js similarity index 95% rename from app/dist/js/2612.baba8cc8.js rename to app/dist/js/2612.ea780a2e.js index 9b8f52a..c779d3b 100644 --- a/app/dist/js/2612.baba8cc8.js +++ b/app/dist/js/2612.ea780a2e.js @@ -1,2 +1,2 @@ -"use strict";(self["webpackChunkjandl"]=self["webpackChunkjandl"]||[]).push([[2612],{32612: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),b=a(90836),f=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)(b.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)(f.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-59503dfa"]]);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-2467b0ba"]]);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=2612.baba8cc8.js.map \ No newline at end of file +"use strict";(self["webpackChunkjandl"]=self["webpackChunkjandl"]||[]).push([[2612],{32612: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),b=a(90836),f=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 $=a(62718),x=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,$.m)(),...(0,x.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,$.P)(e),{elevationClasses:i}=(0,x.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)(b.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)(f.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-59503dfa"]]);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-2467b0ba"]]);var se=le},67958:function(e,t,a){e.exports=a.p+"img/jandl-logo.d5c18b80.svg"}}]); +//# sourceMappingURL=2612.ea780a2e.js.map \ No newline at end of file diff --git a/app/dist/js/2612.baba8cc8.js.map b/app/dist/js/2612.ea780a2e.js.map similarity index 99% rename from app/dist/js/2612.baba8cc8.js.map rename to app/dist/js/2612.ea780a2e.js.map index 277f90a..e31e956 100644 --- a/app/dist/js/2612.baba8cc8.js.map +++ b/app/dist/js/2612.ea780a2e.js.map @@ -1 +1 @@ -{"version":3,"file":"js/2612.baba8cc8.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\n\n\n\n","\n\n\n\n\n","import { render } from \"./a-sidemenu.vue?vue&type=template&id=797d13be&scoped=true\"\nimport script from \"./a-sidemenu.vue?vue&type=script&lang=js\"\nexport * from \"./a-sidemenu.vue?vue&type=script&lang=js\"\n\nimport \"./a-sidemenu.vue?vue&type=style&index=0&id=797d13be&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-797d13be\"]])\n\nexport default __exports__","// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { genericComponent, useRender } from '@/util'\n\n// Types\nimport type { SlotsToProps } from '@/util'\n\nexport const VToolbarTitle = genericComponent {\n $props: SlotsToProps<{\n default: []\n text: []\n }>\n}>()({\n name: 'VToolbarTitle',\n\n props: {\n text: String,\n\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n useRender(() => {\n const hasText = !!(slots.default || slots.text || props.text)\n\n return (\n \n { hasText && (\n
\n { slots.text ? slots.text() : props.text }\n\n { slots.default?.() }\n
\n ) }\n
\n )\n })\n\n return {}\n },\n})\n\nexport type VToolbarTitle = InstanceType\n","// Styles\nimport './VToolbar.sass'\n\n// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VExpandTransition } from '@/components/transitions'\nimport { VImg } from '@/components/VImg'\nimport { VToolbarTitle } from './VToolbarTitle'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { provideDefaults } from '@/composables/defaults'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { computed, ref, toRef } from 'vue'\nimport { convertToUnit, genericComponent, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ExtractPropTypes, PropType } from 'vue'\nimport type { SlotsToProps } from '@/util'\n\nconst allowedDensities = [null, 'prominent', 'default', 'comfortable', 'compact'] as const\n\nexport type Density = null | 'prominent' | 'default' | 'comfortable' | 'compact'\n\nexport const makeVToolbarProps = propsFactory({\n absolute: Boolean,\n collapse: Boolean,\n color: String,\n density: {\n type: String as PropType,\n default: 'default',\n validator: (v: any) => allowedDensities.includes(v),\n },\n extended: Boolean,\n extensionHeight: {\n type: [Number, String],\n default: 48,\n },\n flat: Boolean,\n floating: Boolean,\n height: {\n type: [Number, String],\n default: 64,\n },\n image: String,\n title: String,\n\n ...makeBorderProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'header' }),\n ...makeThemeProps(),\n}, 'v-toolbar')\n\nexport const VToolbar = genericComponent {\n $props: SlotsToProps<{\n default: []\n image: []\n prepend: []\n append: []\n title: []\n extension: []\n }>\n}>()({\n name: 'VToolbar',\n\n props: makeVToolbarProps(),\n\n setup (props, { slots }) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { themeClasses } = provideTheme(props)\n\n const isExtended = ref(!!(props.extended || slots.extension?.()))\n const contentHeight = computed(() => parseInt((\n Number(props.height) +\n (props.density === 'prominent' ? Number(props.height) : 0) -\n (props.density === 'comfortable' ? 8 : 0) -\n (props.density === 'compact' ? 16 : 0)\n ), 10))\n const extensionHeight = computed(() => isExtended.value\n ? parseInt((\n Number(props.extensionHeight) +\n (props.density === 'prominent' ? Number(props.extensionHeight) : 0) -\n (props.density === 'comfortable' ? 4 : 0) -\n (props.density === 'compact' ? 8 : 0)\n ), 10)\n : 0\n )\n\n provideDefaults({\n VBtn: {\n variant: 'text',\n },\n })\n\n useRender(() => {\n const hasTitle = !!(props.title || slots.title)\n const hasImage = !!(slots.image || props.image)\n\n const extension = slots.extension?.()\n isExtended.value = !!(props.extended || extension)\n\n return (\n \n { hasImage && (\n
\n \n { slots.image ? slots.image?.() : () }\n \n
\n ) }\n\n \n { slots.prepend && (\n
\n { slots.prepend?.() }\n
\n ) }\n\n { hasTitle && (\n \n {{ text: slots.title }}\n \n ) }\n\n { slots.default?.() }\n\n { slots.append && (\n
\n { slots.append?.() }\n
\n ) }\n \n\n \n { isExtended.value && (\n \n { extension }\n \n ) }\n \n \n )\n })\n\n return {\n contentHeight,\n extensionHeight,\n }\n },\n})\n\nexport type VToolbar = InstanceType\n\nexport function filterToolbarProps (props: ExtractPropTypes>) {\n return pick(props, Object.keys(VToolbar?.props ?? {}) as any)\n}\n","// Styles\nimport './VAppBar.sass'\n\n// Components\nimport { filterToolbarProps, makeVToolbarProps, VToolbar } from '@/components/VToolbar/VToolbar'\n\n// Composables\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref, toRef } from 'vue'\nimport { defineComponent, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VAppBar = defineComponent({\n name: 'VAppBar',\n\n props: {\n // TODO: Implement scrolling techniques\n // hideOnScroll: Boolean\n // invertedScroll: Boolean\n // collapseOnScroll: Boolean\n // elevateOnScroll: Boolean\n // shrinkOnScroll: Boolean\n // fadeImageOnScroll: Boolean\n modelValue: {\n type: Boolean,\n default: true,\n },\n location: {\n type: String as PropType<'top' | 'bottom'>,\n default: 'top',\n validator: (value: any) => ['top', 'bottom'].includes(value),\n },\n\n ...makeVToolbarProps(),\n ...makeLayoutItemProps(),\n\n height: {\n type: [Number, String],\n default: 64,\n },\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const vToolbarRef = ref()\n const isActive = useProxiedModel(props, 'modelValue')\n const height = computed(() => {\n const height: number = vToolbarRef.value?.contentHeight ?? 0\n const extensionHeight: number = vToolbarRef.value?.extensionHeight ?? 0\n\n return (height + extensionHeight)\n })\n const { layoutItemStyles } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: toRef(props, 'location'),\n layoutSize: height,\n elementSize: height,\n active: isActive,\n absolute: toRef(props, 'absolute'),\n })\n\n useRender(() => {\n const [toolbarProps] = filterToolbarProps(props)\n\n return (\n \n )\n })\n\n return {}\n },\n})\n\nexport type VAppBar = InstanceType\n","// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\n\n// Utilities\nimport { defineComponent, useRender } from '@/util'\n\nexport const VAppBarNavIcon = defineComponent({\n name: 'VAppBarNavIcon',\n\n props: {\n icon: {\n type: IconValue,\n default: '$menu',\n },\n },\n\n setup (props, { slots }) {\n useRender(() => (\n \n ))\n\n return {}\n },\n})\n\nexport type VAppBarNavIcon = InstanceType\n","\n\n\n\n\n","import { render } from \"./a-header.vue?vue&type=template&id=59503dfa&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=59503dfa&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-59503dfa\"]])\n\nexport default __exports__","import { render } from \"./app.layout.vue?vue&type=template&id=2467b0ba&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=2467b0ba&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-2467b0ba\"]])\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 +{"version":3,"file":"js/2612.ea780a2e.js","mappings":"4LAOQA,MAAM,gB,uJANbC,EAAAA,EAAAA,IAUiBC,EAAAA,CAVD,aAAW,gBAAc,C,kBACxC,IAA6B,EAA7BC,EAAAA,EAAAA,IAA6BC,EAAAA,CAAjBC,IAAI,YAAU,WAE1BF,EAAAA,EAAAA,IAMQG,EAAAA,EAAAA,CANAC,QAAK,eAAEC,EAAAA,QAAQC,KAAK,eAAeT,MAAM,yB,mBAChD,IAAY,EAAZG,EAAAA,EAAAA,IAAYO,IAEZC,EAAAA,EAAAA,GAEM,MAFNC,EAEM,EADLT,EAAAA,EAAAA,IAAiCU,EAAAA,CAApBC,GAAG,sB,gECUdd,MAAM,yC,+IAjBXC,EAAAA,EAAAA,IAqBWc,EAAAA,CArBDV,IAAI,OAAO,aAAW,gB,mBAC/B,IAmBc,EAnBdF,EAAAA,EAAAA,IAmBca,EAAAA,KAAAA,C,kBAlBb,IAKE,EALFL,EAAAA,EAAAA,GAKE,OAJDX,MAAM,2BACLiB,IAAKC,EAAQ,OACdC,IAAI,aACHZ,QAAK,eAAEa,EAAAA,gB,WAGTjB,EAAAA,EAAAA,IAUWkB,EAAAA,CAVDC,MAAM,OAAOR,GAAG,e,mBAExB,IAAqB,gBADtBS,EAAAA,EAAAA,IAQWC,EAAAA,GAAAA,MAAAA,EAAAA,EAAAA,IAPKC,EAAAA,OAARC,K,WADRzB,EAAAA,EAAAA,IAQW0B,EAAAA,CANTC,IAAKF,EAAKG,SACV7B,OAAK,SAAA8B,OAAYV,EAAAA,SAASM,EAAKG,YAC/BtB,QAAK,IAAEC,EAAAA,QAAQuB,KAAK,CAADC,KAASN,EAAKG,WAAaT,EAAAA,WAAW,G,mBAAG,IAAgB,mBAAbM,EAAKO,OAAQ,IAC7E,GACwB,gCAAjBP,EAAKG,UAA8CrB,EAAAA,qBAAqB0B,QAAU,IAAJ,WADrFX,EAAAA,EAAAA,IAEuF,OAFvFY,GAEuF,QAArC3B,EAAAA,qBAAqB0B,QAAM,uB,sFAUlF,GACCE,OACC,MAAO,CACNC,MAAO,CAAC,CACPJ,MAAO,YACPJ,SAAU,qBAEX,CACCI,MAAO,iBACPJ,SAAU,qBAEX,CACCI,MAAO,oBACPJ,SAAU,wBAEX,CACCI,MAAO,wBACPJ,SAAU,gCAEX,CACCI,MAAO,oBACPJ,SAAU,4BAEX,CACCI,MAAO,QACPJ,SAAU,qBAGb,EAEAS,SAAU,KACNC,EAAAA,EAAAA,IAAW,KAAM,CAAC,yBAGtBC,UACCC,KAAKC,QAAQC,GAAG,cAAc,IAAMF,KAAKG,cACzCH,KAAKC,QAAQC,GAAG,eAAe,IAAMF,KAAKI,cAC3C,EAEAC,QAAS,CACRC,SAASlB,GACR,OAAOY,KAAKO,OAAOhB,MAAQH,CAC5B,EAEAe,YACCH,KAAKQ,MAAMC,KAAKC,IAAIC,OACrB,EAEAP,aACCJ,KAAKQ,MAAMC,KAAKC,IAAIE,QACrB,EAEAC,cACCC,OAAOC,SAAW,wBACnB,I,WC3EF,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAAS,GAAQ,CAAC,YAAY,qBAEzF,Q,6ECAO,MAAMC,GAAgBC,EAAAA,EAAAA,IAAAA,CAKxB,CACH3B,KAAM,gBAEN4B,MAAO,CACLC,KAAMC,WAEHC,EAAAA,EAAAA,MAGLC,MAAOJ,EAAO,GAAW,IAAX,MAAEK,GAAO,EAiBrB,OAhBAC,EAAAA,EAAAA,IAAU,KAAM,MACd,MAAMC,KAAaF,EAAMG,SAAWH,EAAMJ,MAAQD,EAAMC,MAExD,OAAO,eAAP,MACmB,mBAAiB,CAAAO,QAAAA,IAAAA,CAC9BD,IAAW,eAAJ,MACI,gCAA8B,CACrCF,EAAMJ,KAAOI,EAAMJ,OAASD,EAAMC,KAErB,OAFyB,EAEtCI,EAAMG,cAAO,EAAbC,EAAAA,KAAAA,OAEL,IAKA,CAAC,CACV,I,oGCfF,MAAMC,EAAmB,CAAC,KAAM,YAAa,UAAW,cAAe,WAI1DC,GAAoBC,EAAAA,EAAAA,GAAa,CAC5CC,SAAUC,QACVC,SAAUD,QACVE,MAAOd,OACPe,QAAS,CACPC,KAAMhB,OACNM,QAAS,UACTW,UAAYC,GAAWV,EAAiBW,SAASD,IAEnDE,SAAUR,QACVS,gBAAiB,CACfL,KAAM,CAACM,OAAQtB,QACfM,QAAS,IAEXiB,KAAMX,QACNY,SAAUZ,QACVa,OAAQ,CACNT,KAAM,CAACM,OAAQtB,QACfM,QAAS,IAEXoB,MAAO1B,OACP7B,MAAO6B,WAEJ2B,EAAAA,EAAAA,SACAC,EAAAA,EAAAA,SACAC,EAAAA,EAAAA,SACA5B,EAAAA,EAAAA,GAAa,CAAE6B,IAAK,eACpBC,EAAAA,EAAAA,OACF,aAEUC,GAAWnC,EAAAA,EAAAA,IAAAA,CASnB,CACH3B,KAAM,WAEN4B,MAAOW,IAEPP,MAAOJ,EAAO,GAAW,UAAX,MAAEK,GAAO,EACrB,MAAM,uBAAE8B,EAAsB,sBAAEC,IAA0BC,EAAAA,EAAAA,KAAmBC,EAAAA,EAAAA,IAAMtC,EAAO,WACpF,cAAEuC,IAAkBC,EAAAA,EAAAA,GAAUxC,IAC9B,iBAAEyC,IAAqBC,EAAAA,EAAAA,GAAa1C,IACpC,eAAE2C,IAAmBC,EAAAA,EAAAA,GAAW5C,IAChC,aAAE6C,IAAiBC,EAAAA,EAAAA,IAAa9C,GAEhC+C,GAAatG,EAAAA,EAAAA,OAAOuD,EAAMsB,UAA2B,OAAnB,EAAIjB,EAAM2C,YAANC,EAAAA,KAAAA,KACtCC,GAAgBxE,EAAAA,EAAAA,KAAS,IAAMyE,SACnC3B,OAAOxB,EAAM2B,SACM,cAAlB3B,EAAMiB,QAA0BO,OAAOxB,EAAM2B,QAAU,IACrC,gBAAlB3B,EAAMiB,QAA4B,EAAI,IACpB,YAAlBjB,EAAMiB,QAAwB,GAAK,GACnC,MACGM,GAAkB7C,EAAAA,EAAAA,KAAS,IAAMqE,EAAWK,MAC9CD,SACA3B,OAAOxB,EAAMuB,kBACM,cAAlBvB,EAAMiB,QAA0BO,OAAOxB,EAAMuB,iBAAmB,IAC9C,gBAAlBvB,EAAMiB,QAA4B,EAAI,IACpB,YAAlBjB,EAAMiB,QAAwB,EAAI,GAClC,IACD,IA2FJ,OAxFAoC,EAAAA,EAAAA,IAAgB,CACdC,KAAM,CACJC,QAAS,WAIbjD,EAAAA,EAAAA,IAAU,KAAM,cACd,MAAMkD,KAAcxD,EAAM3B,QAASgC,EAAMhC,OACnCoF,KAAcpD,EAAMuB,QAAS5B,EAAM4B,OAEnCoB,EAA2B,OAAlB,EAAG3C,EAAM2C,gBAAS,EAAfU,EAAAA,KAAAA,GAGlB,OAFAX,EAAWK,SAAWpD,EAAMsB,WAAY0B,IAEjC,eAAP,MAEW,CACL,YACA,CACE,sBAAuBhD,EAAMa,SAC7B,sBAAuBb,EAAMe,SAC7B,kBAAmBf,EAAMyB,KACzB,sBAAuBzB,EAAM0B,SAC7B,CAAE,sBAAqB1B,EAAMiB,YAAY,GAE3CkB,EAAuBiB,MACvBb,EAAca,MACdX,EAAiBW,MACjBT,EAAeS,MACfP,EAAaO,OACd,MACM,CACLhB,EAAsBgB,QACvB,CAAA5C,QAAAA,IAAAA,CAECiD,IAAY,eAAJ,IACC,QAAO,MAAO,oBAAkB,wBAE3B,CACRE,KAAM,CACJC,OAAO,EACPvG,IAAK2C,EAAM4B,SAEd,CAAApB,QAAAA,IAAAA,CAECH,EAAMuB,MAAmB,OAAd,EAAGvB,EAAMuB,YAAK,EAAXiC,EAAAA,KAAAA,IAAkB,QAAC,qBAGxC,qBAGO,qBAAoB,MACnB,CAAElC,QAAQmC,EAAAA,EAAAA,IAAcZ,EAAcE,SAAQ,CAEnD/C,EAAM0D,UAAW,eAAJ,MACF,sBAAoB,CACd,OADc,EAC3B1D,EAAM0D,cAAO,EAAbC,EAAAA,KAAAA,KAIJR,IAAY,QAAC,GAAL,IACW,QAAO,KAAQxD,EAAM3B,OAAK,CACxC4B,KAAMI,EAAMhC,QAIJ,OAFd,EAECgC,EAAMG,cAAO,EAAbC,EAAAA,KAAAA,GAEAJ,EAAM4D,SAAU,eAAJ,MACD,qBAAmB,CACd,OADc,EAC1B5D,EAAM4D,aAAM,EAAZC,EAAAA,KAAAA,QAEL,mBAAA1D,QAAAA,IAAAA,CAICuC,EAAWK,QAAS,eAAJ,MAER,uBAAsB,MACrB,CAAEzB,QAAQmC,EAAAA,EAAAA,IAAcvC,EAAgB6B,SAAQ,CAErDJ,SAEL,IAMF,CACLE,gBACA3B,kBAEJ,IAKK,SAAS4C,EAAoBnE,GAClC,OAAOoE,EAAAA,EAAAA,IAAKpE,EAAOqE,OAAOC,MAAa,MAARpC,OAAQ,EAARA,EAAUlC,QAAS,CAAC,GACrD,C,yBCpLO,MAAMuE,GAAUC,EAAAA,EAAAA,GAAgB,CACrCpG,KAAM,UAEN4B,MAAO,CAQLyE,WAAY,CACVvD,KAAMJ,QACNN,SAAS,GAEXZ,SAAU,CACRsB,KAAMhB,OACNM,QAAS,MACTW,UAAYiC,GAAe,CAAC,MAAO,UAAU/B,SAAS+B,OAGrDzC,QACA+D,EAAAA,EAAAA,MAEH/C,OAAQ,CACNT,KAAM,CAACM,OAAQtB,QACfM,QAAS,KAIbmE,MAAO,CACL,oBAAsBvB,IAAmB,GAG3ChD,MAAOJ,EAAO,GAAW,IAAX,MAAEK,GAAO,EACrB,MAAMuE,GAAcnI,EAAAA,EAAAA,MACd0C,GAAW0F,EAAAA,EAAAA,GAAgB7E,EAAO,cAClC2B,GAASjD,EAAAA,EAAAA,KAAS,KAAM,QAC5B,MAAMiD,GAAkC,OAAjB,EAAAiD,EAAYxB,YAAK,EAAjB0B,EAAmB5B,gBAAiB,EACrD3B,GAA2C,OAAjB,EAAAqD,EAAYxB,YAAK,EAAjB2B,EAAmBxD,kBAAmB,EAEtE,OAAQI,EAASJ,CAAe,KAE5B,iBAAEyD,IAAqBC,EAAAA,EAAAA,IAAc,CACzC/H,GAAI8C,EAAM5B,KACV8G,OAAOxG,EAAAA,EAAAA,KAAS,IAAMyE,SAASnD,EAAMkF,MAAO,MAC5CC,UAAU7C,EAAAA,EAAAA,IAAMtC,EAAO,YACvBoF,WAAYzD,EACZ0D,YAAa1D,EACbzD,OAAQiB,EACR0B,UAAUyB,EAAAA,EAAAA,IAAMtC,EAAO,cAyBzB,OAtBAM,EAAAA,EAAAA,IAAU,KACR,MAAOgF,GAAgBnB,EAAmBnE,GAE1C,OAAO,QAAC,YAAR,IAEU4E,EAAW,MACV,CACL,YACA,CACE,oBAAwC,WAAnB5E,EAAMJ,WAE9B,MACM,IACFoF,EAAiB5B,MACpBzB,YAAQ4D,IAELD,GACKjF,EAAK,IAKd,CAAC,CACV,I,yBCpFK,MAAMmF,GAAiBhB,EAAAA,EAAAA,GAAgB,CAC5CpG,KAAM,iBAEN4B,MAAO,CACLyF,KAAM,CACJvE,KAAMwE,EAAAA,GACNlF,QAAS,UAIbJ,MAAOJ,EAAO,GAAW,IAAX,MAAEK,GAAO,EASrB,OARAC,EAAAA,EAAAA,IAAU,KAAM,QAAC,KAAP,MAEA,qBAAoB,KACnBN,EAAMyF,MACHpF,KAIP,CAAC,CACV,I,wDCzBKjE,MAAM,mD,GAGLA,MAAM,mD,aAsBFA,MAAM,uC,GAMHA,MAAM,sB,0CAlCpBC,EAAAA,EAAAA,IAmDYsJ,EAAAA,CAnDDvJ,MAAM,UAAQ,C,kBACxB,IAAgG,EAAhGG,EAAAA,EAAAA,IAAgGqJ,EAAAA,CAA3EjJ,QAAK,eAAEC,EAAAA,QAAQC,KAAK,gBAAgBT,MAAM,eAE/DW,EAAAA,EAAAA,GA8CM,MA9CNC,EA8CM,EA7CLD,EAAAA,EAAAA,GAAgC,mBAAzBH,EAAAA,OAAOiJ,KAAKxH,OAAK,IAExBtB,EAAAA,EAAAA,GA0CM,MA1CNwB,EA0CM,EAzCLxB,EAAAA,EAAAA,GAAmG,OAA9FX,MAAM,cAAeiB,IAAKC,EAAQ,OAAwCC,IAAI,e,oBACnFR,EAAAA,EAAAA,GAAuK,SAAhKX,MAAM,oB,qCAA6ByB,EAAAA,OAAM,GAAEqD,KAAK,OAAO4E,YAAY,SAAUnJ,QAAK,eAAEC,EAAAA,QAAQuB,KAAK,CAADC,KAAAA,YAAqB2H,QAAK,eAAEnJ,EAAAA,QAAQC,KAAK,WAAYgB,EAAAA,U,iBAAlHA,EAAAA,WAE1CtB,EAAAA,EAAAA,IAaSyJ,EAAAA,EAAAA,KAAAA,CAZSC,WAAS,SACzB,EAD6BjG,WAAK,EAClCzD,EAAAA,EAAAA,IAEQ2J,EAAAA,GAFRC,EAAAA,EAAAA,IAAenG,EAAK,CAAE5D,MAAM,wBAAqB,C,kBAChD,IAA8C,EAA9CG,EAAAA,EAAAA,IAA8C6J,EAAAA,EAAAA,CAAtCX,KAAK,WAAWY,KAAK,W,QAAiB,gB,gCAIhD,IAKS,EALT9J,EAAAA,EAAAA,IAKS+J,EAAAA,EAAAA,KAAAA,C,kBAJR,IAA0G,EAA1G/J,EAAAA,EAAAA,IAA0GgK,EAAAA,EAAAA,CAA7FnK,MAAM,kCAAmCO,QAAK,eAAEa,EAAAA,qB,mBAAoB,IAAW,UAAX,kB,OACjFjB,EAAAA,EAAAA,IAAiGgK,EAAAA,EAAAA,CAApFnK,MAAM,kCAAmCO,QAAK,eAAEa,EAAAA,e,mBAAc,IAAQ,UAAR,e,OAC3EjB,EAAAA,EAAAA,IAA4FgK,EAAAA,EAAAA,CAA/EnK,MAAM,kCAAmCO,QAAK,eAAEa,EAAAA,e,mBAAc,IAAG,UAAH,U,OAC3EjB,EAAAA,EAAAA,IAAmGgK,EAAAA,EAAAA,CAAtFnK,MAAM,kCAAmCO,QAAK,eAAEa,EAAAA,kB,mBAAiB,IAAO,UAAP,c,wBAIlEZ,EAAAA,OAAI,WAAlBP,EAAAA,EAAAA,IAsBS2J,EAAAA,EAAAA,CAAAhI,IAAAA,GAAA,CArBSiI,WAAS,SACzB,EAD6BjG,WAAK,EAClCzD,EAAAA,EAAAA,IAWQ2J,EAAAA,GAXRC,EAAAA,EAAAA,IAWQ,CAXD/J,MAAM,iBAAwB4D,GAAK,C,kBACzC,IASM,EATNjD,EAAAA,EAAAA,GASM,MATNyJ,EASM,EARLzJ,EAAAA,EAAAA,GAEI,KAFDX,MAAM,4DAA6DO,QAAK,yBAAOC,EAAAA,QAAQuB,KAAK,CAADC,KAAAA,sBAAA,a,QAC1FxB,EAAAA,KAAKwB,MAAMqI,OAAO,KAAD,QAAS7J,EAAAA,KAAK8J,SAASD,OAAO,IAAD,IAGlD1J,EAAAA,EAAAA,GAGM,aAFLA,EAAAA,EAAAA,GAAkF,OAAlF4J,GAAkF,WAA3C/J,EAAAA,KAAKwB,QAAQxB,EAAAA,KAAK8J,SAAW,MAAJ,IAChEnK,EAAAA,EAAAA,IAAqE6J,EAAAA,EAAAA,CAA7DhK,MAAM,OAAOqJ,KAAK,mBAAmBY,KAAK,mB,gCAMtD,IAKS,EALT9J,EAAAA,EAAAA,IAKS+J,EAAAA,EAAAA,CALDlK,MAAM,eAAa,C,kBAC1B,IAAgI,EAAhIG,EAAAA,EAAAA,IAAgIgK,EAAAA,EAAAA,CAAnHnK,MAAM,kCAAmCO,QAAK,yBAAOC,EAAAA,QAAQuB,KAAK,CAADC,KAAAA,sBAAA,Y,mBAA8B,IAAM,UAAN,a,OAC5G7B,EAAAA,EAAAA,IAEcgK,EAAAA,EAAAA,KAAAA,C,kBADb,IAA2D,EAA3DhK,EAAAA,EAAAA,IAA2D2J,EAAAA,EAAAA,CAApD9J,MAAM,SAAUO,QAAK,iBAAEa,EAAAA,W,mBAAU,IAAW,UAAX,kB,+DAa/C,OACCgB,OACC,MAAO,CACNoI,OAAQ,GAEV,EAEAlI,SAAU,KACNC,EAAAA,EAAAA,IAAW,OAAQ,CAAC,UAGxBO,QAAS,CACR2H,eACC,UACOhI,KAAKiI,OAAOC,SAAS,eAC3BlI,KAAKmI,QAAQ7I,KAAK,KAClBU,KAAKoI,OAAOC,QAAQ,qBAMrB,CALE,MAAOC,GACRtI,KAAKoI,OAAOE,MAAMtI,KAAKuI,YAAYD,GAIpC,CACD,EAEAE,mBACCxI,KAAKC,QAAQjC,KAAK,wBAAyB,CAAC,EAC7C,EAEAyK,aACCzI,KAAKC,QAAQjC,KAAK,qBAAsB,CAAC,EAC1C,EAEA0K,aACC1I,KAAKC,QAAQjC,KAAK,kBAAmB,CAAC,EACvC,EAEA2K,gBACC3I,KAAKC,QAAQjC,KAAK,qBAAsB,CAAC,EAC1C,GAGD4K,MAAO,CACN,OAAUC,EAAIC,GACb9I,KAAK+H,OAAS,EACf,IChGF,MAAM,IAA2B,OAAgB,EAAQ,CAAC,CAAC,SAAS,GAAQ,CAAC,YAAY,qBAEzF,URSA,IACCgB,WAAY,CACXC,UAAS,EACTC,QAAOA,IAGRtJ,OACC,MAAO,CACNuJ,OAAQ,KAEV,EAEAlB,gBACChI,KAAKkJ,OAASlJ,KAAKmJ,SAASC,OAE5B,UACOpJ,KAAKiI,OAAOC,SAAS,gBAQ5B,CAPE,MAAOI,GACRtI,KAAKoI,OAAOE,MAAMtI,KAAKuI,YAAYD,GAIpC,CAAE,QACDtI,KAAKkJ,QAAQG,MACd,CACD,GSpCD,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,SAASC,GAAQ,CAAC,YAAY,qBAEzF,S","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\n\n\n\n","\n\n\n\n\n","import { render } from \"./a-sidemenu.vue?vue&type=template&id=797d13be&scoped=true\"\nimport script from \"./a-sidemenu.vue?vue&type=script&lang=js\"\nexport * from \"./a-sidemenu.vue?vue&type=script&lang=js\"\n\nimport \"./a-sidemenu.vue?vue&type=style&index=0&id=797d13be&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-797d13be\"]])\n\nexport default __exports__","// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { genericComponent, useRender } from '@/util'\n\n// Types\nimport type { SlotsToProps } from '@/util'\n\nexport const VToolbarTitle = genericComponent {\n $props: SlotsToProps<{\n default: []\n text: []\n }>\n}>()({\n name: 'VToolbarTitle',\n\n props: {\n text: String,\n\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n useRender(() => {\n const hasText = !!(slots.default || slots.text || props.text)\n\n return (\n \n { hasText && (\n
\n { slots.text ? slots.text() : props.text }\n\n { slots.default?.() }\n
\n ) }\n
\n )\n })\n\n return {}\n },\n})\n\nexport type VToolbarTitle = InstanceType\n","// Styles\nimport './VToolbar.sass'\n\n// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VExpandTransition } from '@/components/transitions'\nimport { VImg } from '@/components/VImg'\nimport { VToolbarTitle } from './VToolbarTitle'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { provideDefaults } from '@/composables/defaults'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { computed, ref, toRef } from 'vue'\nimport { convertToUnit, genericComponent, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ExtractPropTypes, PropType } from 'vue'\nimport type { SlotsToProps } from '@/util'\n\nconst allowedDensities = [null, 'prominent', 'default', 'comfortable', 'compact'] as const\n\nexport type Density = null | 'prominent' | 'default' | 'comfortable' | 'compact'\n\nexport const makeVToolbarProps = propsFactory({\n absolute: Boolean,\n collapse: Boolean,\n color: String,\n density: {\n type: String as PropType,\n default: 'default',\n validator: (v: any) => allowedDensities.includes(v),\n },\n extended: Boolean,\n extensionHeight: {\n type: [Number, String],\n default: 48,\n },\n flat: Boolean,\n floating: Boolean,\n height: {\n type: [Number, String],\n default: 64,\n },\n image: String,\n title: String,\n\n ...makeBorderProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'header' }),\n ...makeThemeProps(),\n}, 'v-toolbar')\n\nexport const VToolbar = genericComponent {\n $props: SlotsToProps<{\n default: []\n image: []\n prepend: []\n append: []\n title: []\n extension: []\n }>\n}>()({\n name: 'VToolbar',\n\n props: makeVToolbarProps(),\n\n setup (props, { slots }) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { themeClasses } = provideTheme(props)\n\n const isExtended = ref(!!(props.extended || slots.extension?.()))\n const contentHeight = computed(() => parseInt((\n Number(props.height) +\n (props.density === 'prominent' ? Number(props.height) : 0) -\n (props.density === 'comfortable' ? 8 : 0) -\n (props.density === 'compact' ? 16 : 0)\n ), 10))\n const extensionHeight = computed(() => isExtended.value\n ? parseInt((\n Number(props.extensionHeight) +\n (props.density === 'prominent' ? Number(props.extensionHeight) : 0) -\n (props.density === 'comfortable' ? 4 : 0) -\n (props.density === 'compact' ? 8 : 0)\n ), 10)\n : 0\n )\n\n provideDefaults({\n VBtn: {\n variant: 'text',\n },\n })\n\n useRender(() => {\n const hasTitle = !!(props.title || slots.title)\n const hasImage = !!(slots.image || props.image)\n\n const extension = slots.extension?.()\n isExtended.value = !!(props.extended || extension)\n\n return (\n \n { hasImage && (\n
\n \n { slots.image ? slots.image?.() : () }\n \n
\n ) }\n\n \n { slots.prepend && (\n
\n { slots.prepend?.() }\n
\n ) }\n\n { hasTitle && (\n \n {{ text: slots.title }}\n \n ) }\n\n { slots.default?.() }\n\n { slots.append && (\n
\n { slots.append?.() }\n
\n ) }\n \n\n \n { isExtended.value && (\n \n { extension }\n \n ) }\n \n \n )\n })\n\n return {\n contentHeight,\n extensionHeight,\n }\n },\n})\n\nexport type VToolbar = InstanceType\n\nexport function filterToolbarProps (props: ExtractPropTypes>) {\n return pick(props, Object.keys(VToolbar?.props ?? {}) as any)\n}\n","// Styles\nimport './VAppBar.sass'\n\n// Components\nimport { filterToolbarProps, makeVToolbarProps, VToolbar } from '@/components/VToolbar/VToolbar'\n\n// Composables\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref, toRef } from 'vue'\nimport { defineComponent, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VAppBar = defineComponent({\n name: 'VAppBar',\n\n props: {\n // TODO: Implement scrolling techniques\n // hideOnScroll: Boolean\n // invertedScroll: Boolean\n // collapseOnScroll: Boolean\n // elevateOnScroll: Boolean\n // shrinkOnScroll: Boolean\n // fadeImageOnScroll: Boolean\n modelValue: {\n type: Boolean,\n default: true,\n },\n location: {\n type: String as PropType<'top' | 'bottom'>,\n default: 'top',\n validator: (value: any) => ['top', 'bottom'].includes(value),\n },\n\n ...makeVToolbarProps(),\n ...makeLayoutItemProps(),\n\n height: {\n type: [Number, String],\n default: 64,\n },\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const vToolbarRef = ref()\n const isActive = useProxiedModel(props, 'modelValue')\n const height = computed(() => {\n const height: number = vToolbarRef.value?.contentHeight ?? 0\n const extensionHeight: number = vToolbarRef.value?.extensionHeight ?? 0\n\n return (height + extensionHeight)\n })\n const { layoutItemStyles } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: toRef(props, 'location'),\n layoutSize: height,\n elementSize: height,\n active: isActive,\n absolute: toRef(props, 'absolute'),\n })\n\n useRender(() => {\n const [toolbarProps] = filterToolbarProps(props)\n\n return (\n \n )\n })\n\n return {}\n },\n})\n\nexport type VAppBar = InstanceType\n","// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\n\n// Utilities\nimport { defineComponent, useRender } from '@/util'\n\nexport const VAppBarNavIcon = defineComponent({\n name: 'VAppBarNavIcon',\n\n props: {\n icon: {\n type: IconValue,\n default: '$menu',\n },\n },\n\n setup (props, { slots }) {\n useRender(() => (\n \n ))\n\n return {}\n },\n})\n\nexport type VAppBarNavIcon = InstanceType\n","\n\n\n\n\n","import { render } from \"./a-header.vue?vue&type=template&id=59503dfa&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=59503dfa&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-59503dfa\"]])\n\nexport default __exports__","import { render } from \"./app.layout.vue?vue&type=template&id=2467b0ba&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=2467b0ba&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-2467b0ba\"]])\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/4392.fe4711b4.js b/app/dist/js/4392.02bf9f00.js similarity index 99% rename from app/dist/js/4392.fe4711b4.js rename to app/dist/js/4392.02bf9f00.js index b6a70e0..63f4b3f 100644 --- a/app/dist/js/4392.fe4711b4.js +++ b/app/dist/js/4392.02bf9f00.js @@ -1,2 +1,2 @@ "use strict";(self["webpackChunkjandl"]=self["webpackChunkjandl"]||[]).push([[4392],{44392:function(t,e,s){s.r(e),s.d(e,{default:function(){return oe}});var a=s(73396),n=s(87139);const i={key:0,class:"px-3 py-3"},r={key:1,class:"px-3"},l={key:2,class:"results-wrapper"};function o(t,e,s,o,c,u){const d=(0,a.up)("A-search-result-mastertasks"),h=(0,a.up)("A-search-result-subtasks"),m=(0,a.up)("A-search-result-team");return(0,a.wg)(),(0,a.iD)("div",null,[this.searchResults?this.searchResults.error?((0,a.wg)(),(0,a.iD)("p",r,(0,n.zw)(this.searchResults.error),1)):((0,a.wg)(),(0,a.iD)("div",l,[(0,a.Wm)(d,{mastertasks:c.searchResults.mastertasks},null,8,["mastertasks"]),(0,a.Wm)(h,{subtasks:c.searchResults.subtasks},null,8,["subtasks"]),(0,a.Wm)(m,{teams:c.searchResults.teams},null,8,["teams"])])):((0,a.wg)(),(0,a.iD)("p",i,(0,n.zw)(this.search?.length?t.$t("Searching..."):t.$t("Type something")),1))])}function c(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}var u=c,d="object"==typeof global&&global&&global.Object===Object&&global,h=d,m="object"==typeof self&&self&&self.Object===Object&&self,k=h||m||Function("return this")(),p=k,f=function(){return p.Date.now()},v=f,y=/\s/;function _(t){var e=t.length;while(e--&&y.test(t.charAt(e)));return e}var g=_,b=/^\s+/;function w(t){return t?t.slice(0,g(t)+1).replace(b,""):t}var M=w,T=p.Symbol,C=T,D=Object.prototype,$=D.hasOwnProperty,S=D.toString,j=C?C.toStringTag:void 0;function x(t){var e=$.call(t,j),s=t[j];try{t[j]=void 0;var a=!0}catch(i){}var n=S.call(t);return a&&(e?t[j]=s:delete t[j]),n}var A=x,R=Object.prototype,O=R.toString;function N(t){return O.call(t)}var E=N,W="[object Null]",z="[object Undefined]",I=C?C.toStringTag:void 0;function q(t){return null==t?void 0===t?z:W:I&&I in Object(t)?A(t):E(t)}var Y=q;function Z(t){return null!=t&&"object"==typeof t}var F=Z,H="[object Symbol]";function K(t){return"symbol"==typeof t||F(t)&&Y(t)==H}var P=K,U=NaN,B=/^[-+]0x[0-9a-f]+$/i,G=/^0b[01]+$/i,J=/^0o[0-7]+$/i,L=parseInt;function Q(t){if("number"==typeof t)return t;if(P(t))return U;if(u(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=u(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=M(t);var s=G.test(t);return s||J.test(t)?L(t.slice(2),s?2:8):B.test(t)?U:+t}var V=Q,X="Expected a function",tt=Math.max,et=Math.min;function st(t,e,s){var a,n,i,r,l,o,c=0,d=!1,h=!1,m=!0;if("function"!=typeof t)throw new TypeError(X);function k(e){var s=a,i=n;return a=n=void 0,c=e,r=t.apply(i,s),r}function p(t){return c=t,l=setTimeout(_,e),d?k(t):r}function f(t){var s=t-o,a=t-c,n=e-s;return h?et(n,i-a):n}function y(t){var s=t-o,a=t-c;return void 0===o||s>=e||s<0||h&&a>=i}function _(){var t=v();if(y(t))return g(t);l=setTimeout(_,f(t))}function g(t){return l=void 0,m&&a?k(t):(a=n=void 0,r)}function b(){void 0!==l&&clearTimeout(l),c=0,a=o=n=l=void 0}function w(){return void 0===l?r:g(v())}function M(){var t=v(),s=y(t);if(a=arguments,n=this,o=t,s){if(void 0===l)return p(o);if(h)return clearTimeout(l),l=setTimeout(_,e),k(o)}return void 0===l&&(l=setTimeout(_,e)),r}return e=V(e)||0,u(s)&&(d=!!s.leading,h="maxWait"in s,i=h?tt(V(s.maxWait)||0,e):i,m="trailing"in s?!!s.trailing:m),M.cancel=b,M.flush=w,M}var at=st,nt=s(49242),it=s(4413);const rt=t=>((0,a.dD)("data-v-277dd78c"),t=t(),(0,a.Cn)(),t),lt={key:0},ot=rt((()=>(0,a._)("h1",{class:"px-3 py-3"},"Teams",-1))),ct={class:"task-action"},ut={class:"d-flex justify-start"},dt=["src","onClick"],ht=["src","onClick"],mt={key:1,class:"px-3 py-3"},kt=rt((()=>(0,a._)("h1",null,"Teams",-1))),pt=rt((()=>(0,a._)("p",null,"No teams match the search",-1))),ft=[kt,pt];function vt(t,e,i,r,l,o){return Array.isArray(i.teams)&&i.teams.length?((0,a.wg)(),(0,a.iD)("div",lt,[ot,(0,a.Wm)(it.Y,null,{default:(0,a.w5)((()=>[(0,a._)("tbody",null,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(i.teams,(t=>((0,a.wg)(),(0,a.iD)("tr",{key:t.id},[(0,a._)("td",null,(0,n.zw)(t.name),1),(0,a._)("td",ct,[(0,a._)("div",ut,[(0,a._)("img",{class:"pencil-icon",src:s(60666),alt:"pencil-icon",onClick:(0,nt.iM)((e=>o.editTeam(t)),["stop"])},null,8,dt),(0,a._)("img",{class:"trash-icon",src:s(27484),alt:"trash-icon",onClick:(0,nt.iM)((e=>o.deleteTeam(t)),["stop"])},null,8,ht)])])])))),128))])])),_:1})])):((0,a.wg)(),(0,a.iD)("div",mt,ft))}var yt={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})}}},_t=s(40089);const gt=(0,_t.Z)(yt,[["render",vt],["__scopeId","data-v-277dd78c"]]);var bt=gt;const wt=t=>((0,a.dD)("data-v-3e3aff59"),t=t(),(0,a.Cn)(),t),Mt={key:0},Tt=wt((()=>(0,a._)("h1",{class:"px-3 py-3"},"Subtasks",-1))),Ct={class:"d-flex align-center"},Dt={class:"employee-selected-avatar d-flex justify-center align-center"},$t={class:"ml-2"},St={class:"task-action"},jt={class:"d-flex justify-start"},xt=["src","onClick"],At=["src","onClick"],Rt=["src","onClick"],Ot=["src","onClick"],Nt=["src","onClick"],Et={key:1,class:"px-3 py-3"},Wt=wt((()=>(0,a._)("h1",null,"Subtasks",-1))),zt=wt((()=>(0,a._)("p",null,"No subtasks match the search",-1))),It=[Wt,zt];function qt(t,e,i,r,l,o){return Array.isArray(i.subtasks)&&i.subtasks.length?((0,a.wg)(),(0,a.iD)("div",Mt,[Tt,(0,a.Wm)(it.Y,null,{default:(0,a.w5)((()=>[(0,a._)("tbody",null,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(o.enrichedtasks,(t=>((0,a.wg)(),(0,a.iD)("tr",{key:t.id},[(0,a._)("td",null,(0,n.zw)(t.master_task),1),(0,a._)("td",Ct,[(0,a._)("p",Dt,(0,n.zw)(t._employeeInitials),1),(0,a._)("p",$t,(0,n.zw)(t._employeeFullName),1)]),(0,a._)("td",St,[(0,a._)("div",jt,[t.is_finished?((0,a.wg)(),(0,a.iD)("img",{key:0,class:"pencil-icon is-finished",src:s(53830),alt:"checkmark-icon",onClick:(0,nt.iM)((e=>o.clickCompleteTask(t)),["stop"])},null,8,xt)):(0,a.kq)("",!0),t.is_finished?(0,a.kq)("",!0):((0,a.wg)(),(0,a.iD)("img",{key:1,class:"pencil-icon",src:s(53830),alt:"checkmark-icon",onClick:(0,nt.iM)((e=>o.clickCompleteTask(t)),["stop"])},null,8,At)),(0,a._)("img",{class:"pencil-icon ml-2",src:s(60666),alt:"pencil-icon",onClick:(0,nt.iM)((e=>o.openTaskModal(t,!0)),["stop"])},null,8,Rt),(0,a._)("img",{class:"pencil-icon ml-2",src:s(34413),alt:"eye-icon",onClick:(0,nt.iM)((e=>o.openTaskModal(t,!1)),["stop"])},null,8,Ot),(0,a._)("img",{class:"trash-icon ml-2",src:s(27484),alt:"trash-icon",onClick:(0,nt.iM)((e=>o.openDeleteTaskModal(t)),["stop"])},null,8,Nt)])])])))),128))])])),_:1})])):((0,a.wg)(),(0,a.iD)("div",Et,It))}var Yt=s(20065),Zt={props:{subtasks:{type:Array,required:!0}},computed:{...(0,Yt.Se)("tm",["enrichedEmployees"]),enrichedtasks(){return this.subtasks.map((t=>{const e=this.enrichedEmployees.find((e=>e.id==t.employee_id));return{...t,_employeeInitials:e._initials,_employeeFullName:e._fullName}}))}},methods:{openDeleteTaskModal(t){this.$events.emit("show-delete-task-modal",{subtask:t})},openTaskModal(t,e){this.$events.emit("show-subtask-modal",{subtask:t,editMode:e})},async clickCompleteTask(t){this.$events.emit("show-complete-task-modal",{subtask:t})}}};const Ft=(0,_t.Z)(Zt,[["render",qt],["__scopeId","data-v-3e3aff59"]]);var Ht=Ft;const Kt=t=>((0,a.dD)("data-v-47f1104c"),t=t(),(0,a.Cn)(),t),Pt={key:0},Ut=Kt((()=>(0,a._)("h1",{class:"px-3 py-3"},"Mastertasks",-1))),Bt={class:"task-action"},Gt={class:"d-flex justify-start"},Jt=["src","onClick"],Lt=["src","onClick"],Qt=["src","onClick"],Vt={key:1,class:"px-3 py-3"},Xt=Kt((()=>(0,a._)("h1",null,"Mastertasks",-1))),te=Kt((()=>(0,a._)("p",null,"No mastertasks match the search",-1))),ee=[Xt,te];function se(t,e,i,r,l,o){return Array.isArray(i.mastertasks)&&i.mastertasks.length?((0,a.wg)(),(0,a.iD)("div",Pt,[Ut,(0,a.Wm)(it.Y,null,{default:(0,a.w5)((()=>[(0,a._)("tbody",null,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(i.mastertasks,(t=>((0,a.wg)(),(0,a.iD)("tr",{key:t.id},[(0,a._)("td",null,(0,n.zw)(t.name),1),(0,a._)("td",Bt,[(0,a._)("div",Gt,[(0,a._)("img",{class:"pencil-icon",src:s(60666),alt:"pencil-icon",onClick:(0,nt.iM)((e=>o.openEditMasterTaskModal(t,!0)),["stop"])},null,8,Jt),(0,a._)("img",{class:"pencil-icon ml-2",src:s(34413),alt:"eye-icon",onClick:(0,nt.iM)((e=>o.openEditMasterTaskModal(t,!1)),["stop"])},null,8,Lt),(0,a._)("img",{class:"trash-icon ml-2",src:s(27484),alt:"trash-icon",onClick:(0,nt.iM)((e=>o.openDeleteMasterTaskModal(t)),["stop"])},null,8,Qt)])])])))),128))])])),_:1})])):((0,a.wg)(),(0,a.iD)("div",Vt,ee))}var ae={props:{mastertasks:{type:Array,required:!0}},methods:{openDeleteMasterTaskModal(t){this.$events.emit("show-delete-master-task-modal",{mastertask:t})},openEditMasterTaskModal(t,e){this.$events.emit("show-mastertask-modal",{mastertask:t,editMode:e})}}};const ne=(0,_t.Z)(ae,[["render",se],["__scopeId","data-v-47f1104c"]]);var ie=ne,re={components:{ASearchResultTeam:bt,ASearchResultSubtasks:Ht,ASearchResultMastertasks:ie},data(){return{searchResults:null,search:""}},created(){this.$events.on("onSearch",(t=>{t?.length&&(this.search=t,this.onSearch(t))}))},mounted(){this.$events.on("on-subtask-edited",(()=>{this.onSearch(this.search,!1)})),this.$events.on("on-subtask-deleted",(()=>{this.onSearch(this.search,!1)})),this.$events.on("on-mastertask-edited",(()=>{this.onSearch(this.search,!1)})),this.$events.on("on-mastertask-deleted",(()=>{this.onSearch(this.search,!1)}))},unmounted(){this.$events.off("on-subtask-edited"),this.$events.off("on-subtask-deleted"),this.$events.off("on-mastertask-edited"),this.$events.off("on-mastertask-deleted")},methods:{onSearch:at((async function(t,e=!0){try{e&&(this.searchResults=null);const{mastertasks:s,subtasks:a,teams:n}=await this.$axios.get_auth(`v1/search?q=${t}`);this.searchResults={mastertasks:s.data,subtasks:a.data,teams:n.data}}catch(s){this.$toast.error(this.$parseError(s)),this.searchResults={error:s}}}),300)}};const le=(0,_t.Z)(re,[["render",o],["__scopeId","data-v-05a9edba"]]);var oe=le}}]); -//# sourceMappingURL=4392.fe4711b4.js.map \ No newline at end of file +//# sourceMappingURL=4392.02bf9f00.js.map \ No newline at end of file diff --git a/app/dist/js/4392.fe4711b4.js.map b/app/dist/js/4392.02bf9f00.js.map similarity index 99% rename from app/dist/js/4392.fe4711b4.js.map rename to app/dist/js/4392.02bf9f00.js.map index d1b37c3..f9ce7eb 100644 --- a/app/dist/js/4392.fe4711b4.js.map +++ b/app/dist/js/4392.02bf9f00.js.map @@ -1 +1 @@ -{"version":3,"file":"js/4392.fe4711b4.js","mappings":"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","sources":["webpack://jandl/./src/plugins/lib@search/search/search.vue","webpack://jandl/./node_modules/lodash-es/isObject.js","webpack://jandl/./node_modules/lodash-es/_freeGlobal.js","webpack://jandl/./node_modules/lodash-es/_root.js","webpack://jandl/./node_modules/lodash-es/now.js","webpack://jandl/./node_modules/lodash-es/_trimmedEndIndex.js","webpack://jandl/./node_modules/lodash-es/_baseTrim.js","webpack://jandl/./node_modules/lodash-es/_Symbol.js","webpack://jandl/./node_modules/lodash-es/_getRawTag.js","webpack://jandl/./node_modules/lodash-es/_objectToString.js","webpack://jandl/./node_modules/lodash-es/_baseGetTag.js","webpack://jandl/./node_modules/lodash-es/isObjectLike.js","webpack://jandl/./node_modules/lodash-es/isSymbol.js","webpack://jandl/./node_modules/lodash-es/toNumber.js","webpack://jandl/./node_modules/lodash-es/debounce.js","webpack://jandl/./src/plugins/lib@search/search/_components/a-search-result-team.vue","webpack://jandl/./src/plugins/lib@search/search/_components/a-search-result-team.vue?aa1c","webpack://jandl/./src/plugins/lib@search/search/_components/a-search-result-subtasks.vue","webpack://jandl/./src/plugins/lib@search/search/_components/a-search-result-subtasks.vue?396a","webpack://jandl/./src/plugins/lib@search/search/_components/a-search-result-mastertasks.vue","webpack://jandl/./src/plugins/lib@search/search/_components/a-search-result-mastertasks.vue?d1b7","webpack://jandl/./src/plugins/lib@search/search/search.vue?296b"],"sourcesContent":["\n\n\n\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nexport default isObject;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n","import root from './_root.js';\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nexport default now;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nexport default trimmedEndIndex;\n","import trimmedEndIndex from './_trimmedEndIndex.js';\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nexport default baseTrim;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nexport default isSymbol;\n","import baseTrim from './_baseTrim.js';\nimport isObject from './isObject.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nexport default toNumber;\n","import isObject from './isObject.js';\nimport now from './now.js';\nimport toNumber from './toNumber.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nexport default debounce;\n","\n \n\n\n","import { render } from \"./a-search-result-team.vue?vue&type=template&id=277dd78c&scoped=true\"\nimport script from \"./a-search-result-team.vue?vue&type=script&lang=js\"\nexport * from \"./a-search-result-team.vue?vue&type=script&lang=js\"\n\nimport \"./a-search-result-team.vue?vue&type=style&index=0&id=277dd78c&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-277dd78c\"]])\n\nexport default __exports__","\n \n\n\n","import { render } from \"./a-search-result-subtasks.vue?vue&type=template&id=3e3aff59&scoped=true\"\nimport script from \"./a-search-result-subtasks.vue?vue&type=script&lang=js\"\nexport * from \"./a-search-result-subtasks.vue?vue&type=script&lang=js\"\n\nimport \"./a-search-result-subtasks.vue?vue&type=style&index=0&id=3e3aff59&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3e3aff59\"]])\n\nexport default __exports__","\n \n\n\n","import { render } from \"./a-search-result-mastertasks.vue?vue&type=template&id=47f1104c&scoped=true\"\nimport script from \"./a-search-result-mastertasks.vue?vue&type=script&lang=js\"\nexport * from \"./a-search-result-mastertasks.vue?vue&type=script&lang=js\"\n\nimport \"./a-search-result-mastertasks.vue?vue&type=style&index=0&id=47f1104c&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-47f1104c\"]])\n\nexport default __exports__","import { render } from \"./search.vue?vue&type=template&id=05a9edba&scoped=true\"\nimport script from \"./search.vue?vue&type=script&lang=js\"\nexport * from \"./search.vue?vue&type=script&lang=js\"\n\nimport \"./search.vue?vue&type=style&index=0&id=05a9edba&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-05a9edba\"]])\n\nexport default __exports__"],"names":["class","_createElementBlock","searchResults","error","_hoisted_2","_hoisted_3","_createVNode","_component_A_search_result_mastertasks","mastertasks","$data","_component_A_search_result_subtasks","subtasks","_component_A_search_result_team","teams","_hoisted_1","search","length","_ctx","isObject","value","type","freeGlobal","global","Object","freeSelf","self","root","Function","now","reWhitespace","trimmedEndIndex","string","index","test","charAt","reTrimStart","baseTrim","slice","replace","Symbol","objectProto","prototype","hasOwnProperty","nativeObjectToString","toString","symToStringTag","undefined","getRawTag","isOwn","call","tag","unmasked","e","result","objectToString","nullTag","undefinedTag","baseGetTag","isObjectLike","symbolTag","isSymbol","NAN","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","toNumber","other","valueOf","isBinary","FUNC_ERROR_TEXT","nativeMax","Math","max","nativeMin","min","debounce","func","wait","options","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","TypeError","invokeFunc","time","args","thisArg","apply","leadingEdge","setTimeout","timerExpired","remainingWait","timeSinceLastCall","timeSinceLastInvoke","timeWaiting","shouldInvoke","trailingEdge","cancel","clearTimeout","flush","debounced","isInvoking","arguments","this","_createElementVNode","_hoisted_8","_hoisted_9","Array","isArray","$props","_component_v_table","_Fragment","team","key","id","name","_hoisted_4","src","require","alt","onClick","$options","_hoisted_7","props","required","methods","editTeam","$events","emit","deleteTeam","__exports__","_hoisted_14","_hoisted_15","subtask","master_task","_employeeInitials","_hoisted_5","_employeeFullName","_hoisted_6","is_finished","_hoisted_13","computed","mapGetters","enrichedtasks","map","employee","enrichedEmployees","find","employee_id","_initials","_fullName","openDeleteTaskModal","openTaskModal","editMode","async","_hoisted_10","mastertask","openDeleteMasterTaskModal","openEditMasterTaskModal","components","ASearchResultTeam","ASearchResultSubtasks","ASearchResultMastertasks","data","created","on","onSearch","mounted","unmounted","off","reset","$axios","get_auth","$toast","$parseError","render"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/4392.02bf9f00.js","mappings":"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","sources":["webpack://jandl/./src/plugins/lib@search/search/search.vue","webpack://jandl/./node_modules/lodash-es/isObject.js","webpack://jandl/./node_modules/lodash-es/_freeGlobal.js","webpack://jandl/./node_modules/lodash-es/_root.js","webpack://jandl/./node_modules/lodash-es/now.js","webpack://jandl/./node_modules/lodash-es/_trimmedEndIndex.js","webpack://jandl/./node_modules/lodash-es/_baseTrim.js","webpack://jandl/./node_modules/lodash-es/_Symbol.js","webpack://jandl/./node_modules/lodash-es/_getRawTag.js","webpack://jandl/./node_modules/lodash-es/_objectToString.js","webpack://jandl/./node_modules/lodash-es/_baseGetTag.js","webpack://jandl/./node_modules/lodash-es/isObjectLike.js","webpack://jandl/./node_modules/lodash-es/isSymbol.js","webpack://jandl/./node_modules/lodash-es/toNumber.js","webpack://jandl/./node_modules/lodash-es/debounce.js","webpack://jandl/./src/plugins/lib@search/search/_components/a-search-result-team.vue","webpack://jandl/./src/plugins/lib@search/search/_components/a-search-result-team.vue?aa1c","webpack://jandl/./src/plugins/lib@search/search/_components/a-search-result-subtasks.vue","webpack://jandl/./src/plugins/lib@search/search/_components/a-search-result-subtasks.vue?396a","webpack://jandl/./src/plugins/lib@search/search/_components/a-search-result-mastertasks.vue","webpack://jandl/./src/plugins/lib@search/search/_components/a-search-result-mastertasks.vue?d1b7","webpack://jandl/./src/plugins/lib@search/search/search.vue?296b"],"sourcesContent":["\n\n\n\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nexport default isObject;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n","import root from './_root.js';\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nexport default now;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nexport default trimmedEndIndex;\n","import trimmedEndIndex from './_trimmedEndIndex.js';\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nexport default baseTrim;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nexport default isSymbol;\n","import baseTrim from './_baseTrim.js';\nimport isObject from './isObject.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nexport default toNumber;\n","import isObject from './isObject.js';\nimport now from './now.js';\nimport toNumber from './toNumber.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nexport default debounce;\n","\n \n\n\n","import { render } from \"./a-search-result-team.vue?vue&type=template&id=277dd78c&scoped=true\"\nimport script from \"./a-search-result-team.vue?vue&type=script&lang=js\"\nexport * from \"./a-search-result-team.vue?vue&type=script&lang=js\"\n\nimport \"./a-search-result-team.vue?vue&type=style&index=0&id=277dd78c&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-277dd78c\"]])\n\nexport default __exports__","\n \n\n\n","import { render } from \"./a-search-result-subtasks.vue?vue&type=template&id=3e3aff59&scoped=true\"\nimport script from \"./a-search-result-subtasks.vue?vue&type=script&lang=js\"\nexport * from \"./a-search-result-subtasks.vue?vue&type=script&lang=js\"\n\nimport \"./a-search-result-subtasks.vue?vue&type=style&index=0&id=3e3aff59&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3e3aff59\"]])\n\nexport default __exports__","\n \n\n\n","import { render } from \"./a-search-result-mastertasks.vue?vue&type=template&id=47f1104c&scoped=true\"\nimport script from \"./a-search-result-mastertasks.vue?vue&type=script&lang=js\"\nexport * from \"./a-search-result-mastertasks.vue?vue&type=script&lang=js\"\n\nimport \"./a-search-result-mastertasks.vue?vue&type=style&index=0&id=47f1104c&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-47f1104c\"]])\n\nexport default __exports__","import { render } from \"./search.vue?vue&type=template&id=05a9edba&scoped=true\"\nimport script from \"./search.vue?vue&type=script&lang=js\"\nexport * from \"./search.vue?vue&type=script&lang=js\"\n\nimport \"./search.vue?vue&type=style&index=0&id=05a9edba&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-05a9edba\"]])\n\nexport default __exports__"],"names":["class","_createElementBlock","searchResults","error","_hoisted_2","_hoisted_3","_createVNode","_component_A_search_result_mastertasks","mastertasks","$data","_component_A_search_result_subtasks","subtasks","_component_A_search_result_team","teams","_hoisted_1","search","length","_ctx","isObject","value","type","freeGlobal","global","Object","freeSelf","self","root","Function","now","reWhitespace","trimmedEndIndex","string","index","test","charAt","reTrimStart","baseTrim","slice","replace","Symbol","objectProto","prototype","hasOwnProperty","nativeObjectToString","toString","symToStringTag","undefined","getRawTag","isOwn","call","tag","unmasked","e","result","objectToString","nullTag","undefinedTag","baseGetTag","isObjectLike","symbolTag","isSymbol","NAN","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","toNumber","other","valueOf","isBinary","FUNC_ERROR_TEXT","nativeMax","Math","max","nativeMin","min","debounce","func","wait","options","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","TypeError","invokeFunc","time","args","thisArg","apply","leadingEdge","setTimeout","timerExpired","remainingWait","timeSinceLastCall","timeSinceLastInvoke","timeWaiting","shouldInvoke","trailingEdge","cancel","clearTimeout","flush","debounced","isInvoking","arguments","this","_createElementVNode","_hoisted_8","_hoisted_9","Array","isArray","$props","_component_v_table","_Fragment","team","key","id","name","_hoisted_4","src","require","alt","onClick","$options","_hoisted_7","props","required","methods","editTeam","$events","emit","deleteTeam","__exports__","_hoisted_14","_hoisted_15","subtask","master_task","_employeeInitials","_hoisted_5","_employeeFullName","_hoisted_6","is_finished","_hoisted_13","computed","mapGetters","enrichedtasks","map","employee","enrichedEmployees","find","employee_id","_initials","_fullName","openDeleteTaskModal","openTaskModal","editMode","async","_hoisted_10","mastertask","openDeleteMasterTaskModal","openEditMasterTaskModal","components","ASearchResultTeam","ASearchResultSubtasks","ASearchResultMastertasks","data","created","on","onSearch","mounted","unmounted","off","reset","$axios","get_auth","$toast","$parseError","render"],"sourceRoot":""} \ No newline at end of file diff --git a/app/dist/js/8138.8372c355.js b/app/dist/js/4628.091a4a79.js similarity index 97% rename from app/dist/js/8138.8372c355.js rename to app/dist/js/4628.091a4a79.js index 128cfc0..683b97c 100644 --- a/app/dist/js/8138.8372c355.js +++ b/app/dist/js/4628.091a4a79.js @@ -1,2 +1,2 @@ -"use strict";(self["webpackChunkjandl"]=self["webpackChunkjandl"]||[]).push([[8138],{63124: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(69204),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-78c69006"]]);var S=Y}}]); -//# sourceMappingURL=8138.8372c355.js.map \ No newline at end of file +"use strict";(self["webpackChunkjandl"]=self["webpackChunkjandl"]||[]).push([[4628],{63124: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(26062),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-78c69006"]]);var S=Y}}]); +//# sourceMappingURL=4628.091a4a79.js.map \ No newline at end of file diff --git a/app/dist/js/8138.8372c355.js.map b/app/dist/js/4628.091a4a79.js.map similarity index 99% rename from app/dist/js/8138.8372c355.js.map rename to app/dist/js/4628.091a4a79.js.map index 9d37c80..0ff58e1 100644 --- a/app/dist/js/8138.8372c355.js.map +++ b/app/dist/js/4628.091a4a79.js.map @@ -1 +1 @@ -{"version":3,"file":"js/8138.8372c355.js","mappings":"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","sources":["webpack://jandl/./src/plugins/tm@dashboard/teams/teams.vue","webpack://jandl/./src/plugins/tm@dashboard/teams/_components/a-team-filter.vue","webpack://jandl/./src/plugins/tm@dashboard/teams/_components/a-team-filter.vue?5918","webpack://jandl/./src/plugins/tm@dashboard/teams/_mixins/TeamsCalendar.mixin.ts","webpack://jandl/./src/plugins/tm@dashboard/teams/teams.vue?577a"],"sourcesContent":["\n\n\n\n","\n\n\n\n","import { render } from \"./a-team-filter.vue?vue&type=template&id=35b7352e&scoped=true\"\nimport script from \"./a-team-filter.vue?vue&type=script&lang=js\"\nexport * from \"./a-team-filter.vue?vue&type=script&lang=js\"\n\nimport \"./a-team-filter.vue?vue&type=style&index=0&id=35b7352e&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-35b7352e\"]])\n\nexport default __exports__","import { setHours, setMinutes } from 'date-fns'\nimport moment \t\t\t\t\tfrom 'moment'\nimport timelineUtils \t\t\tfrom '@/plugins/tm@dashboard/tasks/_utils/timeline.utils'\n\nexport default {\n\tcomputed: {\n\t\tcalendarData() {\n\t\t\tif (!this.subtasks || !this.blockers)\n\t\t\t\treturn\n\n\t\t\tconst blockers = this._generateBlockers()\n\n\t\t\treturn {\n\t\t\t\ttasks: [...this._generateNonWorking(), ...this._generateTasks(), ...blockers.filter(blocker => blocker.type != 'home_office')],\n\t\t\t\thomeoffices: [...blockers.filter(blocker => blocker.type == 'home_office')]\n\t\t\t}\n\t\t},\n\n\t\tsplitDays() {\n\t\t\tconst days = []\n\t\t\tconst homeoffice = {}\n\t\t\tconst now\t\t= moment()\n\n\t\t\tthis.filter.team.employees.forEach((employee, index) => {\n\t\t\t\tconst selectedDate \t\t\t\t= moment(this.filter.start)\n\t\t\t\tconst capacityMinutes \t\t\t= this._getRemainingWorkCapacityMinutes(employee)\n\t\t\t\tlet scheduledCapacityMinutes\t= 0\n\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=78c69006&scoped=true\"\nimport script from \"./teams.vue?vue&type=script&lang=js\"\nexport * from \"./teams.vue?vue&type=script&lang=js\"\n\nimport \"./teams.vue?vue&type=style&index=0&id=78c69006&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-78c69006\"]])\n\nexport default __exports__"],"names":["ref","_createElementBlock","_hoisted_1","_ctx","getters","_createBlock","_component_A_team_filter","onFilterChanged","$options","$data","_component_Z_timeline","splits","class","_component_v_row","_createVNode","_component_v_autocomplete","items","label","variant","_createElementVNode","_component_v_btn","onClick","src","require","alt","_component_v_text_field","disabled","mixins","AutocompleteMixin","emits","props","splitDays","type","Array","default","data","date","Date","selectedTeam","selectedDate","time","filter","start","end","team","computed","mapGetters","mounted","savedTeam","localStorage","getItem","this","JSON","parse","teams","id","$nextTick","_updateFilters","methods","prevDay","subDays","nextDay","addDays","String","toLocaleDateString","_emitFilterChanged","$emit","setItem","watch","find","map","day","parseFloat","unscheduledTime","reduce","acc","val","__exports__","calendarData","subtasks","blockers","_generateBlockers","tasks","_generateNonWorking","_generateTasks","blocker","homeoffices","days","homeoffice","moment","employees","forEach","employee","index","capacityMinutes","_getRemainingWorkCapacityMinutes","scheduledCapacityMinutes","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 +{"version":3,"file":"js/4628.091a4a79.js","mappings":"gLACMA,IAAI,Q,qGAATC,EAAAA,EAAAA,IAGM,MAHNC,EAGM,CAFgBC,EAAAA,OAAOC,QAAQ,sBAAD,WAAnCC,EAAAA,EAAAA,IAA4IC,EAAAA,C,MAAjF,aAAYH,EAAAA,aAAeA,EAAAA,UAAY,KAAOI,gBAAgBC,EAAAA,iB,0DACvGL,EAAAA,eAAiBM,EAAAA,UAAO,WAA1CJ,EAAAA,EAAAA,IAAwHK,EAAAA,C,MAA3E,WAAUP,EAAAA,aAAe,aAAYM,EAAAA,eAAiBE,OAAQR,EAAAA,W,2HCUtGS,MAAM,uB,8DAZZP,EAAAA,EAAAA,IA8BQQ,EAAAA,EAAAA,CA9BDD,MAAM,wBAAsB,C,kBAClC,IAUE,EAVFE,EAAAA,EAAAA,IAUEC,EAAAA,EAAAA,CATA,gBAAeZ,EAAAA,aACf,aAAW,E,WACHM,EAAAA,a,qCAAAA,EAAAA,aAAY,GACrBG,MAAM,kBACLI,MAAOb,EAAAA,MACR,aAAW,OACX,aAAW,KACXc,MAAM,MACNC,QAAQ,Y,gDAETC,EAAAA,EAAAA,GAUM,MAVNjB,EAUM,EATLY,EAAAA,EAAAA,IAA6JM,EAAAA,EAAAA,CAAtJR,MAAM,6BAA6BM,QAAQ,WAAYG,QAAK,eAAEb,EAAAA,Y,mBAAW,IAAqE,EAArEW,EAAAA,EAAAA,GAAqE,OAA/DG,IAAKC,EAAQ,OAA2CC,IAAI,I,oBAClJV,EAAAA,EAAAA,IAMgBW,EAAAA,GAAAA,CALfb,MAAM,2BACNK,MAAM,Q,WACGR,EAAAA,a,qCAAAA,EAAAA,aAAY,GACrBS,QAAQ,WACR,oBAAkB,8B,wBAEnBJ,EAAAA,EAAAA,IAA6JM,EAAAA,EAAAA,CAAtJR,MAAM,6BAA6BM,QAAQ,WAAYG,QAAK,eAAEb,EAAAA,Y,mBAAW,IAAqE,EAArEW,EAAAA,EAAAA,GAAqE,OAA/DG,IAAKC,EAAQ,OAA2CC,IAAI,I,sBAEnJV,EAAAA,EAAAA,IAMgBW,EAAAA,GAAAA,CALfb,MAAM,2BACNK,MAAM,uB,WACGR,EAAAA,K,qCAAAA,EAAAA,KAAI,GACbS,QAAQ,WACPQ,UAAU,G,gFAWd,GACCC,OAAQ,CAACC,EAAAA,GACTC,MAAO,CAAC,kBAERC,MAAO,CACNC,UAAW,CACVC,KAAM,CAACC,MAAO,MACdC,QAAS,IAAM,OAIjBC,OACC,MAAO,CACNC,KAAM,IAAIC,KACVC,aAAc,KACdC,aAAc,KACdC,KAAM,KACNC,OAAQ,CACPC,MAAO,KACPC,IAAK,KACLC,KAAM,MAGT,EAEAC,SAAU,KACNC,EAAAA,EAAAA,IAAW,OAAQ,CAAC,aACpBA,EAAAA,EAAAA,IAAW,KAAM,CAAC,WAGtBC,UACC,MAAMC,EAAYC,aAAaC,QAAQ,gBACzBC,KAAKb,aAAhBU,EAA+BI,KAAKC,MAAML,GACpBG,KAAKG,MAAM,IAAIC,GAExCJ,KAAKK,WAAU,IAAML,KAAKM,kBAC3B,EAEAC,QAAS,CACRC,UACCR,KAAKf,MAAOwB,EAAAA,EAAAA,GAAQT,KAAKf,KAAM,GAC/Be,KAAKM,gBACN,EAEAI,UACCV,KAAKf,MAAO0B,EAAAA,EAAAA,GAAQX,KAAKf,KAAM,GAC/Be,KAAKM,gBACN,EAEAA,iBACCN,KAAKV,OAAOC,MAASS,KAAKf,KAC1Be,KAAKV,OAAOE,IAAOQ,KAAKf,KAExBe,KAAKZ,aAAgBwB,OAAOZ,KAAKV,OAAOC,OAAOsB,mBAAmB,UAElEb,KAAKc,oBACN,EAEAA,qBACMd,KAAKV,OAAOC,OAAUS,KAAKV,OAAOE,KAAQQ,KAAKV,OAAOG,OAE3DO,KAAKe,MAAM,iBAAkBf,KAAKV,QAElCQ,aAAakB,QAAQ,eAAgBhB,KAAKV,OAAOG,KAAKW,IACvD,GAGDa,MAAO,CACN9B,aAAaiB,GACZJ,KAAKV,OAAOG,KAAOO,KAAKG,MAAMe,MAAKzB,GAAQA,EAAKW,IAAMA,IACtDJ,KAAKc,oBACN,EAEAlC,YACCoB,KAAKX,KAAOW,KAAKpB,UAAUuC,KAAIC,GAAOC,WAAWD,EAAIE,mBAAkBC,QAAO,CAACC,EAAKC,IAAQD,EAAMC,GAAK,EACxG,I,WC5GF,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAAS,GAAQ,CAAC,YAAY,qBAEzF,Q,oDCLA,GACChC,SAAU,CACTiC,eACC,IAAK3B,KAAK4B,WAAa5B,KAAK6B,SAC3B,OAED,MAAMA,EAAW7B,KAAK8B,oBAEtB,MAAO,CACNC,MAAO,IAAI/B,KAAKgC,yBAA0BhC,KAAKiC,oBAAqBJ,EAASvC,QAAO4C,GAA2B,eAAhBA,EAAQrD,QACvGsD,YAAa,IAAIN,EAASvC,QAAO4C,GAA2B,eAAhBA,EAAQrD,QAEtD,EAEAD,YACC,MAAMwD,EAAO,GACPC,EAAa,CAAC,EACPC,MA8Cb,OA5CAtC,KAAKV,OAAOG,KAAK8C,UAAUC,SAAQ,CAACC,EAAUC,KAC7C,MAAMtD,EAAmBkD,IAAOtC,KAAKV,OAAOC,OACtCoD,EAAsB3C,KAAK4C,iCAAiCH,GAClE,IAAII,EAA2B,EAE/B7C,KAAK2B,aAAaI,MAAMS,SAAQM,IAE1BA,EAAKC,SAASC,aAAeP,EAASrC,IAAQ0C,EAAKZ,SAASO,UAAUrC,IAAMqC,EAASrC,IAGzE,qBAAb0C,EAAKjE,MAA+BiE,EAAKC,SAASE,aAAeH,EAAKZ,SAASe,aAG/E7D,EAAa8D,SAASZ,MAAU,SAGzBlD,EAAa+D,OAAOb,MAAU,UAIxCO,GAA4BO,EAAAA,EAAAA,wBAAsCN,EAAKO,UAAWP,EAAKQ,a,IAIzFtD,KAAK2B,aAAaQ,YAAYK,SAAQM,IACjCA,EAAKZ,QAAQO,UAAUrC,IAAMqC,EAASrC,KAE1CiC,EAAWS,EAAKS,QAAS,EAAI,IAG9B,MAAMjC,EAAkBqB,EAAkBE,EAE1CT,EAAKoB,KAAK,CACTpD,GAAIsC,EAAQ,EACZe,KAAMhB,EAASgB,KACfT,YAAaP,EAASrC,GACtBnB,KAAMe,KAAKV,OAAOC,MAClBmE,SAAU,GAAGjB,EAASgB,QAAQhB,EAASkB,UACvCC,SAAUnB,EAASgB,KAAKI,OAAO,GAAGC,cAAgBrB,EAASkB,QAAQE,OAAO,GAAGC,cAC7ExC,gBAAiBA,EAAkB,GAAKA,EAAkB,IAAIyC,QAAQ,GAAK,EAC3EC,eAAc3B,EAAWK,EAAQ,IAChC,IAGIN,CACR,GAGD7B,QAAS,CACRyB,sBACC,MAAMiC,EAAoB,GACpBhF,EAAY,IAAIC,KAAKc,KAAKV,OAAOC,OACvC,IAAI2E,EAAe,KACnBlE,KAAKmE,eAAelF,KAAOA,EAE3B,MAAQM,MAAO6E,EAAU5E,IAAK6E,GAAWrE,KAAKsE,kBA2B9C,OAzBAtE,KAAKV,OAAOG,KAAK8C,UAAUC,SAAQ,CAACC,EAAUC,OACxCwB,GAAiBzB,EAAS8B,WAAcL,KAC5CA,EAAezB,EAAS8B,YAGzBN,EAAgBT,KAAK,CACpBgB,MAAO,oBACPjF,MAAO6E,EACP5E,IAAKQ,KAAKyE,kBAAgD,IAA7BhC,EAAS8B,WAAa,KACnDhB,MAAOb,EAAQ,EACf7D,KAAM,oBACN6F,WAAW,IAGZT,EAAgBT,KAAK,CACpBgB,MAAO,oBACPjF,MAAOS,KAAKyE,kBAA8C,IAA3BhC,EAASkC,SAAW,KACnDnF,IAAK6E,EACLd,MAAOb,EAAQ,EACf7D,KAAM,oBACN6F,WAAW,GACV,IAGH1E,KAAKmE,eAAeS,WAAcV,EAAgB,EAC3CD,CACR,EAEAhC,iBACC,MAAMF,EAAQ,GACR8C,EAAgBvC,IAAOtC,KAAKV,OAAOC,OAAOuF,OAAO,cAwCvD,OAtCA9E,KAAK4B,SAASY,SAAQO,IACrB,IAAIQ,EAAU,KACVd,EAAW,KAEfzC,KAAKV,OAAOG,KAAK8C,UAAUC,SAAQ,CAACuC,EAAGrC,KAClCqC,EAAE3E,IAAM2C,EAAQC,cACnBO,EAAQb,EAAQ,EAChBD,EAAWsC,E,IAIbhC,EAAQiC,WAAWxC,SAAQyC,IAC1B,MAAMC,EAAgB5C,IAAO2C,EAAU1F,OAAOuF,OAAO,cAEjDI,GAAiBL,GACpB9C,EAAMyB,KAAK,CACVpD,GAAI2C,EAAQ3C,GACZb,MAAO,IAAIL,KAAK+F,EAAU1F,OAC1BC,IAAK,IAAIN,KAAK+F,EAAUzF,KACxB2F,YAAapC,EAAQoC,YACrB1B,KAAMhB,GAAUgB,KAChBE,QAASlB,GAAUkB,QAEnByB,UAAW9C,IAAO2C,EAAU1F,OAAO6B,MAAQ,GAAK,EAChDwC,SAAUnB,GAAUgB,MAAMI,OAAO,IAAIC,cAAgBrB,GAAUkB,SAASE,OAAO,IAAIC,cACnFP,MAAOA,EACP8B,aAActC,EAAQsC,aACtBxG,KAAM,UACNkE,UACAuC,cAAeL,EAAU7E,GACzBmF,uBAAwBN,EAAUhC,YAClCK,YAAa,IAAIpE,KAAK+F,EAAU1F,OAChC8D,UAAW,IAAInE,KAAK+F,EAAUzF,M,GAG/B,IAGIuC,CACR,EAEAD,oBACC,MAAMD,EAAW,GA6BjB,OA3BA7B,KAAK6B,SAASW,SAAQN,IACrB,IAAIqB,EAAU,KACVd,EAAW,KAEfzC,KAAKV,OAAOG,KAAK8C,UAAUC,SAAQ,CAACuC,EAAGrC,KAClCqC,EAAE3E,IAAM8B,EAAQO,UAAUrC,KAC7BmD,EAAQb,EAAQ,EAChBD,EAAWsC,E,IAIblD,EAAS2B,KAAK,CACbtB,UACAqB,QACAhE,MAAO,IAAIL,KAAKgD,EAAQ3C,OACxBC,IAAK,IAAIN,KAAKgD,EAAQ1C,KACtBX,KAAMqD,EAAQrD,KACd2G,WAAW,EACX5B,SAAU,GAAGnB,GAAUgB,KAAK,KAAKhB,GAAUkB,QAAQ,KACnD8B,MAAO,UACPf,WAAW,EACXU,UAAW9C,IAAOJ,EAAQ3C,OAAO6B,MAAQ,GAAK,EAC9CkC,YAAa,IAAIpE,KAAKgD,EAAQ3C,OAC9B8D,UAAW,IAAInE,KAAKgD,EAAQ1C,MAC3B,IAGIqC,CACR,EAEAyC,kBACC,MAAO,CACN/E,MAAOS,KAAKyE,kBAAkB,GAC9BjF,IAAKQ,KAAKyE,kBAAkB,MAE9B,EAEAA,kBAAkBiB,EAASzG,EAAO,IAAIC,KAAKc,KAAKV,OAAOC,QAEtD,OADAN,EAAK0G,SAASC,KAAKC,MAAMH,EAAU,IAAKA,EAAU,GAAI,EAAG,GAClDzG,CACR,EAEA2D,iCAAiCH,GAChC,MAAMxD,EAAQqD,IAAOtC,KAAKV,OAAOC,OAC3BuG,EAAOxD,MAEb,GAAIwD,EAAIC,QAAQ9G,EAAM,QAErB,OAAO,EACD,GAAI6G,EAAI5C,SAASjE,EAAM,QAE7B,OAAmD,IAA3CwD,EAASkC,SAAWlC,EAAS8B,YAItC,MAAMyB,EAA6C,GAAtBvD,EAAS8B,WAChC0B,EAAyC,GAApBxD,EAASkC,SAC9BuB,EAAgCJ,EAAIK,KAAK7D,MAAS8D,QAAQ,OAAQ,WAExE,OAAIJ,EAAmBE,EACfD,EAAiBD,EAChBC,EAAiBC,EAClB,EAEAD,EAAiBC,CAC1B,I,WH9MF,GACC1H,OAAQ,CAAC6H,EAAeC,EAAAA,GAExBC,WAAY,CACXC,YAAW,EACXC,UAASA,EAAAA,GAGVzH,OACC,MAAO,CACN0H,SAAS,EAETpH,OAAQ,KACRsC,SAAU,KACVC,SAAU,KACVsC,eAAgB,CACflF,KAAM,IAAIC,KACV0F,WAAY,GAGf,EAEAlF,SAAU,KACNC,EAAAA,EAAAA,IAAW,OAAQ,CAAC,UAGxBC,UACCI,KAAK2G,QAAQC,GAAG,qBAAqB,KACpC5G,KAAK5C,gBAAgB4C,KAAKV,OAAO,IAGlCU,KAAK2G,QAAQC,GAAG,sBAAsB,KACrC5G,KAAK5C,gBAAgB4C,KAAKV,OAAO,IAGlCU,KAAK2G,QAAQC,GAAG,qBAAqB,KACpC5G,KAAK5C,gBAAgB4C,KAAKV,OAAO,IAGlCU,KAAK2G,QAAQC,GAAG,sBAAsB,KACrC5G,KAAK5C,gBAAgB4C,KAAKV,OAAO,GAEnC,EAEAuH,YACC7G,KAAK2G,QAAQG,IAAI,qBACjB9G,KAAK2G,QAAQG,IAAI,sBACjB9G,KAAK2G,QAAQG,IAAI,qBACjB9G,KAAK2G,QAAQG,IAAI,qBAClB,EAEAvG,QAAS,CACRwG,sBAAsBzH,GACrBU,KAAKV,OAASA,EAEd,MAAM0H,EAAiB,CAAC,EAEpB1H,EAAOC,QAASyH,EAAezH,MAAU+C,IAAOhD,EAAOC,OAAOuF,OAAO,eACrExF,EAAOE,MAAOwH,EAAexH,IAAS8C,IAAOhD,EAAOE,KAAKsF,OAAO,eAChExF,EAAOG,OAAQuH,EAAeC,QAAY3H,EAAOG,KAAKW,IAE1D,MAAM8G,EAAkB,IAAIC,gBAAgBH,GAAgBI,WAE5D,IACC,MAAM,SAAExF,EAAQ,SAAEC,SAAoB7B,KAAKqH,OAAOC,SAAU,eAAcJ,KAC1ElH,KAAK4B,SAAWA,EAChB5B,KAAK6B,SAAWA,EAChB7B,KAAK0G,SAAU,EACfa,YAAW,KAAQvH,KAAK0G,SAAU,CAAI,GAAK,EAM5C,CALE,MAAOc,GACRxH,KAAKyH,OAAOD,MAAM,8BAInB,CAEAD,YAAW,KACVvH,KAAK0H,qBAAoB,GACvB,IACJ,IIvFF,MAAM,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,GAAQ,CAAC,YAAY,qBAEzF,O","sources":["webpack://jandl/./src/plugins/tm@dashboard/teams/teams.vue","webpack://jandl/./src/plugins/tm@dashboard/teams/_components/a-team-filter.vue","webpack://jandl/./src/plugins/tm@dashboard/teams/_components/a-team-filter.vue?5918","webpack://jandl/./src/plugins/tm@dashboard/teams/_mixins/TeamsCalendar.mixin.ts","webpack://jandl/./src/plugins/tm@dashboard/teams/teams.vue?577a"],"sourcesContent":["\n\n\n\n","\n\n\n\n","import { render } from \"./a-team-filter.vue?vue&type=template&id=35b7352e&scoped=true\"\nimport script from \"./a-team-filter.vue?vue&type=script&lang=js\"\nexport * from \"./a-team-filter.vue?vue&type=script&lang=js\"\n\nimport \"./a-team-filter.vue?vue&type=style&index=0&id=35b7352e&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-35b7352e\"]])\n\nexport default __exports__","import { setHours, setMinutes } from 'date-fns'\nimport moment \t\t\t\t\tfrom 'moment'\nimport timelineUtils \t\t\tfrom '@/plugins/tm@dashboard/tasks/_utils/timeline.utils'\n\nexport default {\n\tcomputed: {\n\t\tcalendarData() {\n\t\t\tif (!this.subtasks || !this.blockers)\n\t\t\t\treturn\n\n\t\t\tconst blockers = this._generateBlockers()\n\n\t\t\treturn {\n\t\t\t\ttasks: [...this._generateNonWorking(), ...this._generateTasks(), ...blockers.filter(blocker => blocker.type != 'home_office')],\n\t\t\t\thomeoffices: [...blockers.filter(blocker => blocker.type == 'home_office')]\n\t\t\t}\n\t\t},\n\n\t\tsplitDays() {\n\t\t\tconst days = []\n\t\t\tconst homeoffice = {}\n\t\t\tconst now\t\t= moment()\n\n\t\t\tthis.filter.team.employees.forEach((employee, index) => {\n\t\t\t\tconst selectedDate \t\t\t\t= moment(this.filter.start)\n\t\t\t\tconst capacityMinutes \t\t\t= this._getRemainingWorkCapacityMinutes(employee)\n\t\t\t\tlet scheduledCapacityMinutes\t= 0\n\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=78c69006&scoped=true\"\nimport script from \"./teams.vue?vue&type=script&lang=js\"\nexport * from \"./teams.vue?vue&type=script&lang=js\"\n\nimport \"./teams.vue?vue&type=style&index=0&id=78c69006&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-78c69006\"]])\n\nexport default __exports__"],"names":["ref","_createElementBlock","_hoisted_1","_ctx","getters","_createBlock","_component_A_team_filter","onFilterChanged","$options","$data","_component_Z_timeline","splits","class","_component_v_row","_createVNode","_component_v_autocomplete","items","label","variant","_createElementVNode","_component_v_btn","onClick","src","require","alt","_component_v_text_field","disabled","mixins","AutocompleteMixin","emits","props","splitDays","type","Array","default","data","date","Date","selectedTeam","selectedDate","time","filter","start","end","team","computed","mapGetters","mounted","savedTeam","localStorage","getItem","this","JSON","parse","teams","id","$nextTick","_updateFilters","methods","prevDay","subDays","nextDay","addDays","String","toLocaleDateString","_emitFilterChanged","$emit","setItem","watch","find","map","day","parseFloat","unscheduledTime","reduce","acc","val","__exports__","calendarData","subtasks","blockers","_generateBlockers","tasks","_generateNonWorking","_generateTasks","blocker","homeoffices","days","homeoffice","moment","employees","forEach","employee","index","capacityMinutes","_getRemainingWorkCapacityMinutes","scheduledCapacityMinutes","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/6367.babd4318.js b/app/dist/js/6367.babd4318.js deleted file mode 100644 index 81a0e0c..0000000 --- a/app/dist/js/6367.babd4318.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self["webpackChunkjandl"]=self["webpackChunkjandl"]||[]).push([[6367],{70026:function(e,t){t["Z"]={data(){return{header:{initialized:!1,marginTop:0,calendar_previousScrollPosition:0,isVisible:!0}}},unmounted(){this.$refs.page?.querySelector(".vuecal__bg")?.removeEventListener("scroll",this.handleScroll)},methods:{_initScrollListener(e=0){if(this.initialized&&e>0)return;const t=this.$refs.page?.querySelector(".vuecal__bg");if(!t)return setTimeout((()=>{e<20&&this._initScrollListener(e+1)}),200);t.addEventListener("scroll",this._handleScroll),this.initialized=!0,this.header.calendar_previousScrollPosition=t.scrollTop},_handleScroll(e){const t=document.querySelector("div.subheader");this.initialized?(this.header.calendar_previousScrollPosition>e.target.scrollTop?this.header.isVisible||this.showHeader():(t.offsetHeight,Math.abs(e.target.scrollTop),this.header.isVisible&&this.hideHeader()),this.header.calendar_previousScrollPosition=e.target.scrollTop):this.header.calendar_previousScrollPosition=e.target.scrollTop},hideHeader(){const e=document.querySelector("div.subheader");e.style.transition="margin-top 0.5s",e.style.marginTop=`-${e.offsetHeight}px`,this.header.isVisible=!1,setTimeout((()=>{e.style.transition=""}),500)},showHeader(){const e=document.querySelector("div.subheader");e.style.transition="margin-top 0.5s",e.style.marginTop="0",this.header.isVisible=!0,setTimeout((()=>{e.style.transition=""}),500)}}}},2750:function(e,t,s){s(57658);var i=s(67462),a=s(85174),n=s(36797),l=s.n(n);t["Z"]={generateTimelineTasks(e,t,s){const{tasks:i,blockers:a,homeoffices:n}=this.generateTimelineEvents(e,s,t),{nonWorkingHours:l}=this.generateTimelineNonWorkingHours(t,s);return{tasks:i,blockers:a,nonWorkingHours:l,homeoffices:n}},getUnscheduledTime(e){let t=0;return e.forEach((e=>t+=e.duration-e.spent_time)),t},isWeekend(e){return l()(e).day()%6==0},generateTimelineEvents(e,t,s){let i=[];const a=[];return e.forEach((e=>{["blocker","adhoc","home_office","vacation","free_day"].includes(e.type)?i=[...i,...this._generateEventsFromBlocker(e,s)]:e.timeblocks?.forEach((i=>{a.push(this._composeTimelineEvent(e,t,s,i))}))})),{tasks:a,blockers:i.filter((e=>"home_office"!=e.type)),homeoffices:i.filter((e=>"home_office"==e.type))}},_composeTimelineEvent(e,t,s,n){const l=(0,i.Z)(s,new Date(n.start));return{id:e.id,start:(0,a.Z)(new Date(n.start),l),end:(0,a.Z)(new Date(n.end),l),master_task:e.master_task,date:new Date(n.start),isWeekend:this.isWeekend(n.start),initials:t.name.charAt(0).toUpperCase()+t.surname.charAt(0).toUpperCase(),split:this._getSplitFromDate(s,n.start),project_code:e.project_code,subtask:e,type:"subtask",_timeblock_id:n.id,_timeblock_is_finished:n.is_finished,_real_start:new Date(n.start),_real_end:new Date(n.end)}},_generateEventsFromBlocker(e,t){const s=l()(e.start),n=l()(e.end),o=s.isSame(n,"date")?[l()(s).format("YYYY-MM-DD")]:this._getDatesInRange(s,n),r=o.map((o=>{const r=(0,i.Z)(t,new Date(o)),c=new Date(l()(o).set({hours:s.hours(),minutes:s.minutes()}).format("YYYY-MM-DD HH:mm")),d=new Date(l()(o).set({hours:n.hours(),minutes:n.minutes()}).format("YYYY-MM-DD HH:mm"));return{blocker:e,split:this._getSplitFromDate(t,o),start:(0,a.Z)(c,r),end:(0,a.Z)(d,r),date:new Date(o),type:e.type,isBlocker:!0,initials:`${e.employee?.name[0]}${e.employee?.surname[0]}`,color:"#B00020",draggable:!1,_real_start:c,_real_end:d}}));return r},_getDatesInRange(e,t){const s=[];while(e<=t)s.push(l()(e).format("YYYY-MM-DD")),e.add(1,"day");return s},generateTimelineNonWorkingHours(e,t){const s=[],{start:i,end:a}=this._getDayStartEnd(e);for(let n=0;n<7;n++)s.push({title:"Non working hours",start:i,end:this._setMinutesToDate(60*t.work_start,e),type:"non-working-hours",split:n+1,draggable:!1}),s.push({title:"Non working hours",start:this._setMinutesToDate(60*t.work_end,e),end:a,type:"non-working-hours",split:n+1,draggable:!1});return{nonWorkingHours:s}},_getSplitFromDate(e,t){return-1*(0,i.Z)(new Date(e),new Date(t))+1},_getDifferenceInHours(e,t){return this._getDifferenceInMinutes(e,t)/60},_getDifferenceInMinutes(e,t){let s=(e.getTime()-t.getTime())/1e3;return s/=60,Math.abs(Math.round(s))},_getDayStartEnd(e){return{start:this._setMinutesToDate(0,e),end:this._setMinutesToDate(1439,e)}},_setMinutesToDate(e,t){const s=new Date(t);return s.setHours(Math.floor(e/60),e%60,0,0),s}}},69204:function(e,t,s){s.d(t,{Z:function(){return ie}});var i=s(73396),a=s(87139),n=s(49242),l=s(67312),o=s(53289),r=s(80678);const c=e=>((0,i.dD)("data-v-38719c0c"),e=e(),(0,i.Cn)(),e),d={class:"calendar-wrapper"},u={class:"colWidth h-100 d-flex flex-column"},m={key:0,class:"d-flex align-center"},h=["src"],k={class:"weekday-label"},g={key:1,class:"d-flex align-center"},p=["src"],_={class:"weekday-label"},f={key:2},b={class:"day-name"},v={class:"unscheduled-time-initials d-flex align-center justify-center"},w={class:"text-wrap me-4"},y={class:"mb-0 mt-0 unscheduled-time-name"},D={class:"mb-0 mt-0"},T={class:"d-flex justify-center"},C={class:"d-flex justify-center"},S={style:{"margin-top":"-9px"}},M=c((()=>(0,i._)("div",{class:"time-column-line"},null,-1))),x=c((()=>(0,i._)("span",{class:"vuecal__time-cell-line hour"},null,-1))),$=c((()=>(0,i._)("span",{class:"vuecal__time-cell-line",style:{"margin-top":"25px"}},null,-1))),H=c((()=>(0,i._)("span",{class:"vuecal__time-cell-line",style:{"margin-top":"50px"}},null,-1))),E=c((()=>(0,i._)("span",{class:"vuecal__time-cell-line",style:{"margin-top":"75px"}},null,-1))),z={key:0,class:"custom-event-body non-working-event colWidth h-100 d-flex flex-column justify-center"},j={class:"d-flex justify-center align-center"},B={class:"mb-0 ms-2"},W={key:0,class:"project-code"},Y={class:"d-flex align-center event-details event-initials-wrapper"},L={class:"event-initials d-flex justify-center align-center"},Z={class:"event-initials-date"},q={key:2,class:"d-flex align-center"},F={key:0,class:"ml-1"},I={class:"event-footer d-flex"},N=["src"],V=["src"],K=["src"],A=["src"],P=["src"],R=["src"];function U(e,t,c,U,O,G){const J=(0,i.up)("Vue-cal");return(0,i.wg)(),(0,i.iD)("div",d,[(0,i.Wm)(J,{"hide-view-selector":!0,"hide-title-bar":!0,"disable-views":["years","year","month","week"],"active-view":"day","selected-date":c.calConfig.date,onEventClick:G.taskClicked,"editable-events":O.vueCalConfig.editing,events:c.calData.tasks,unscheduledTime:c.calData.unscheduled_times,"overlaps-per-time-step":!1,showTimeInCells:!1,"time-cell-height":O.timeCellHeight,"snap-to-time":15,"scroll-to-hour":c.calConfig.scrollHour,"split-days":c.splits,"sticky-split-labels":!0,"min-split-width":140,onReady:t[0]||(t[0]=e=>G.onReady()),onViewChange:G.weekChanged,onEventDrop:G.eventMoved,onEventFocus:G.eventFocused},{"split-label":(0,i.w5)((({split:e})=>[(0,i._)("div",u,[e.date?((0,i.wg)(),(0,i.iD)("span",m,[e.isHomeoffice?((0,i.wg)(),(0,i.iD)("img",{key:0,src:s(87500),class:"mr-2"},null,8,h)):(0,i.kq)("",!0),(0,i._)("p",k,(0,a.zw)(G.getHeadingDate(e.date)),1)])):((0,i.wg)(),(0,i.iD)("span",g,[e.isHomeoffice?((0,i.wg)(),(0,i.iD)("img",{key:0,src:s(87500),class:"mr-2"},null,8,p)):(0,i.kq)("",!0),(0,i._)("p",_,(0,a.zw)(e.name),1)])),e.date?((0,i.wg)(),(0,i.iD)("span",f,[(0,i._)("p",b,(0,a.zw)(e.date.toLocaleDateString("en-EN",{weekday:"long"})),1)])):(0,i.kq)("",!0),(0,i._)("div",{class:(0,a.C_)(["unscheduled-time d-flex align-center text-left",{"vuecal__cell-split--weekend":e.isWeekend}])},[(0,i._)("div",v,[(0,i._)("p",null,(0,a.zw)(e.initials),1)]),(0,i._)("div",w,[(0,i._)("p",y,(0,a.zw)(e.fullname),1),(0,i._)("h1",D,(0,a.zw)(e.unscheduledTime)+" h",1)])],2)])])),"time-cell":(0,i.w5)((({hours:e,minutes:t})=>[(0,i._)("span",T,[(0,i._)("span",C,[(0,i._)("p",S,(0,a.zw)(e)+":"+(0,a.zw)(String(t).padStart(2,"0")),1),M,x]),$,H,E])])),event:(0,i.w5)((({event:e})=>["non-working-hours"==e.type?((0,i.wg)(),(0,i.iD)("div",z,[(0,i._)("div",j,[(0,i.Wm)(o.t,{icon:"mdi-cancel",color:"black"}),(0,i._)("h3",B,(0,a.zw)(e.title),1)])])):["subtask","blocker","adhoc","vacation","free_day"].includes(e.type)?((0,i.wg)(),(0,i.iD)("div",{key:1,class:(0,a.C_)(["custom-event-body colWidth h-100 d-flex flex-column justify-space-between",{"short-event":G.getEventLength(e)<=9e6,"mini-event":G.getEventLength(e)<=54e5,"micro-event":G.getEventLength(e)<=36e5,"not-approved":!e.blocker?.approved&&e.isBlocker}]),style:(0,a.j5)({backgroundColor:e._timeblock_is_finished||e.subtask?.is_finished?"#dedfe0":e.color||e.subtask?.color})},[(0,i._)("div",{class:(0,a.C_)(["event-content",{"is-blocker":e.isBlocker}])},["subtask"==e.type?((0,i.wg)(),(0,i.iD)(i.HY,{key:0},[e.subtask.project_code?((0,i.wg)(),(0,i.iD)("small",W,(0,a.zw)(e.subtask.project_code),1)):(0,i.kq)("",!0),(0,i._)("h3",null,(0,a.zw)(e.subtask.title??e.subtask.master_task?.name??e.subtask.master_task),1)],64)):((0,i.wg)(),(0,i.j4)(r.N,{key:1,text:e.blocker?.approved?"Schválený":"Neschválený",location:"bottom"},{activator:(0,i.w5)((({props:t})=>[(0,i._)("div",(0,a.vs)((0,i.F4)(t)),[(0,i._)("h3",null,(0,a.zw)(e.blocker?.approved?e.blocker.name:e.blocker.name+"*"),1)],16)])),_:2},1032,["text"])),(0,i._)("div",Y,[(0,i._)("div",L,[(0,i._)("small",null,(0,a.zw)(e.initials),1)]),(0,i._)("small",Z,(0,a.zw)(e.date?.toLocaleDateString("sk-SK")),1)]),"subtask"==e.type?((0,i.wg)(),(0,i.iD)("div",q,[(0,i.Wm)(o.t,{icon:"mdi-skull-outline",size:"small"}),e?.subtask.deadline?((0,i.wg)(),(0,i.iD)("small",F,(0,a.zw)(G.getDeadline(e?.subtask)),1)):((0,i.wg)(),(0,i.j4)(r.N,{key:1,text:"Deadline z Mastertasku",location:"bottom"},{activator:(0,i.w5)((({props:t})=>[e?.subtask?.deadline?(0,i.kq)("",!0):((0,i.wg)(),(0,i.iD)("small",(0,i.dG)({key:0,class:"cursor-pointer ml-1"},t),(0,a.zw)(G.getDeadline(e?.subtask))+"*",17))])),_:2},1024))])):(0,i.kq)("",!0)],2),(0,i._)("div",I,["adhoc"==e.type?((0,i.wg)(),(0,i.iD)(i.HY,{key:0},[(0,i.Wm)(l.T,{rounded:"",class:"event-footer-button me-2",onClick:(0,n.iM)((t=>G.editBlocker(e)),["stop"])},{default:(0,i.w5)((()=>[(0,i._)("img",{src:s(60666),alt:""},null,8,N)])),_:2},1032,["onClick"]),(0,i.Wm)(l.T,{rounded:"",class:"event-footer-button me-2",onClick:(0,n.iM)((t=>G.deleteBlocker(e)),["stop"])},{default:(0,i.w5)((()=>[(0,i._)("img",{src:s(27484),alt:""},null,8,V)])),_:2},1032,["onClick"])],64)):"subtask"==e.type?((0,i.wg)(),(0,i.iD)(i.HY,{key:1},[(0,i.Wm)(l.T,{rounded:"",class:(0,a.C_)(["event-footer-button me-2",{completed:e.subtask?.is_finished}]),onClick:(0,n.iM)((t=>G.completeTask(e)),["stop"])},{default:(0,i.w5)((()=>[(0,i._)("img",{src:s(9003),alt:""},null,8,K)])),_:2},1032,["class","onClick"]),(0,i.Wm)(l.T,{rounded:"",class:(0,a.C_)(["event-footer-button me-2",{completed:e._timeblock_is_finished}]),onClick:(0,n.iM)((t=>G.toggleTimeblockIsFinished(e)),["stop"])},{default:(0,i.w5)((()=>[(0,i._)("img",{src:s(53830),alt:""},null,8,A)])),_:2},1032,["class","onClick"]),(0,i.Wm)(l.T,{rounded:"",class:"event-footer-button me-2",onClick:(0,n.iM)((t=>G.editTask(e)),["stop"])},{default:(0,i.w5)((()=>[(0,i._)("img",{src:s(34413),alt:""},null,8,P)])),_:2},1032,["onClick"]),(0,i.Wm)(l.T,{rounded:"",class:"event-footer-button me-2",onClick:(0,n.iM)((t=>G.deleteTimeBlockInTask(e)),["stop"])},{default:(0,i.w5)((()=>[(0,i._)("img",{src:s(27484),alt:""},null,8,R)])),_:2},1032,["onClick"])],64)):(0,i.kq)("",!0)])],6)):(0,i.kq)("",!0)])),_:1},8,["selected-date","onEventClick","editable-events","events","unscheduledTime","time-cell-height","scroll-to-hour","split-days","onViewChange","onEventDrop","onEventFocus"])])}var O=s(85174),G=s(34407),J=s(20065),Q=s(36797),X=s.n(Q),ee={props:{calData:{type:Object,required:!0,default(){return{}}},calConfig:{type:Object,required:!0,default(){return{date:new Date,scrollHour:7}}},splits:{type:Array,required:!1,default(){return[]}}},data(){return{vueCalConfig:{editing:{title:!1,drag:!0,resize:!1,delete:!1,create:!1}},focusedEventId:null,timeCellHeight:100,tmUtils:G.Z,visible:!1}},computed:{...(0,J.Se)("tm",["mastertasks"])},methods:{isAfterDeadline(e){const t=this.getDeadline(e.subtask);if(!t)return;const s=X()(e.date),i=X()(t),a=e.end.getHours(),n=e.end.getMinutes();return s.hours(a),s.minutes(n),s.isAfter(i)},getDeadline(e){return e?.deadline?e.deadline:e.master_task_deadline},weekChanged(){const e=this.$el.getElementsByClassName("vuecal__scrollable-body")[0];e.scrollLeft=0},async eventMoved({event:e,newSplit:t}){const s=(0,O.Z)(this.calConfig.date,t-1),i=s.setHours(Math.floor(e.startTimeMinutes/60),Math.round(e.startTimeMinutes%60),0),a=s.setHours(Math.floor(e.endTimeMinutes/60),Math.round(e.endTimeMinutes%60),0),n=this.splits.find((e=>e.id==t));if("Dashboard - Tasks"==this.$route.name){const t={...e.subtask,timeblocks:[...e.subtask.timeblocks,{id:e._timeblock_id,is_finished:0,start:G.Z.formatDateTimeForBackend(i),end:G.Z.formatDateTimeForBackend(a)}],timesheets:e.subtask.timesheets.map((e=>(delete e.employee_name,e)))};try{const{subtask:e}=await this.$axios.put_auth(`v1/subtasks/${t.id}`,t);this.$events.emit("on-subtask-edited",e),e.employee_id==this.$store.getters["auth/user"].id&&this.$events.emit("show-task-add-time-modal",{subtask:e})}catch(l){this.$toast.error(l.message||l)}const s=this.isAfterDeadline(e);s&&this.$toast.error("Timeblock, ktorý ste presunuli je po deadline !")}else if("Dashboard - Teams"==this.$route.name){const t={...e.subtask,employee_id:n.employee_id,timeblocks:[...e.subtask.timeblocks,{id:e._timeblock_id,is_finished:0,start:G.Z.formatDateTimeForBackend(e.start),end:G.Z.formatDateTimeForBackend(e.end)}],timesheets:e.subtask.timesheets.map((e=>(delete e.employee_name,e)))};try{const{subtask:e}=await this.$axios.put_auth(`v1/subtasks/${t.id}`,t);this.$events.emit("on-subtask-edited",e)}catch(l){this.$toast.error(l.message||l)}}},onReady(){this.correctMargins()},correctMargins(){if(!this.$el.getElementsByClassName("vuecal__split-days-headers").length)return;const e=this.$el.getElementsByClassName("vuecal__split-days-headers")[0].clientHeight;this.$el.getElementsByClassName("vuecal__time-column")[0].style.marginTop=`${e}px`,this.$el.getElementsByClassName("vuecal__cells-body")[0].style.marginTop=`${e}px`},getHeadingDate(e){const t=new Date(e),s=new Date,i=new Date((new Date).setDate(s.getDate()-1)),a=new Date((new Date).setDate(s.getDate()+1));return s.toLocaleDateString("sk-SK")===t.toLocaleDateString("sk-SK")?"Dnes":i.toLocaleDateString("sk-SK")===t.toLocaleDateString("sk-SK")?"Včera":a.toLocaleDateString("sk-SK")===t.toLocaleDateString("sk-SK")?"Zajtra":t.toLocaleDateString("sk-SK")},getEventLength(e){return e.end.getTime()-e.start.getTime()},taskClicked(e){},eventFocused(e){this.focusedEventId=e.task_id},completeTask({subtask:e}){this.$events.emit("show-complete-task-modal",{subtask:e})},async toggleTimeblockIsFinished(e){const t=e.subtask,s=t.timeblocks.find((t=>t.id==e._timeblock_id));s.is_finished=s?.is_finished?0:1;try{const{data:e}=await this.$axios.put_auth(`v1/timeblocks/${s.id}`,s);t.timeblocks=t.timeblocks.map((t=>t.id==e.id?e:t)),this.$events.emit("on-subtask-edited",t),s.is_finished&&this.$events.emit("show-task-add-time-modal",{subtask:t})}catch(i){this.$toast.error(i.message||i)}},editTask({subtask:e}){this.$events.emit("show-subtask-modal",{subtask:e})},deleteTimeBlockInTask({subtask:e}){this.$events.emit("show-delete-timeblock-modal",{subtask:e})},editBlocker({blocker:e}){this.$events.emit("show-blocker-modal",{blocker:e})},deleteBlocker({blocker:e}){this.$events.emit("show-delete-blocker-modal",{blocker:e})}}},te=s(40089);const se=(0,te.Z)(ee,[["render",U],["__scopeId","data-v-38719c0c"]]);var ie=se},9003:function(e,t,s){e.exports=s.p+"img/checkmark-double.8bc9494b.svg"},87500:function(e,t,s){e.exports=s.p+"img/home.a9495a95.svg"},35902:function(e,t,s){e.exports=s.p+"img/icon-next.25e7a4f4.svg"},38351:function(e,t,s){e.exports=s.p+"img/icon-prev.22ba0fa6.svg"}}]); -//# sourceMappingURL=6367.babd4318.js.map \ No newline at end of file diff --git a/app/dist/js/6367.babd4318.js.map b/app/dist/js/6367.babd4318.js.map deleted file mode 100644 index 6801813..0000000 --- a/app/dist/js/6367.babd4318.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"js/6367.babd4318.js","mappings":"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","sources":["webpack://jandl/./src/plugins/tm@dashboard/_mixins/Filter.mixin.ts","webpack://jandl/./src/plugins/tm@dashboard/tasks/_utils/timeline.utils.ts","webpack://jandl/./src/plugins/tm@dashboard/_components/z-timeline.vue","webpack://jandl/./src/plugins/tm@dashboard/_components/z-timeline.vue?b342"],"sourcesContent":["export default {\n\tdata() {\n\t\treturn {\n\t\t\theader: {\n\t\t\t\tinitialized: false,\n\t\t\t\tmarginTop: 0,\n\t\t\t\tcalendar_previousScrollPosition: 0,\n\t\t\t\tisVisible: true\n\t\t\t}\n\t\t}\n\t},\n\n\tunmounted() {\n\t\tthis.$refs.page?.querySelector('.vuecal__bg')?.removeEventListener('scroll', this.handleScroll)\n\t},\n\n\tmethods: {\n\t\t_initScrollListener(repeat = 0) {\n\t\t\tif (this.initialized && repeat > 0) return\n\n\t\t\tconst calendar = this.$refs.page?.querySelector('.vuecal__bg')\n\n\t\t\tif (!calendar)\n\t\t\t\treturn setTimeout(() => {\n\t\t\t\t\tif (repeat < 20) this._initScrollListener(repeat + 1)\n\t\t\t\t}, 200)\n\n\t\t\tcalendar.addEventListener('scroll', this._handleScroll)\n\t\t\tthis.initialized = true\n\t\t\tthis.header.calendar_previousScrollPosition = calendar.scrollTop\n\t\t\t// if (calendar.scrollTop > 0 && this.header.isVisible) {\n\t\t\t// \tthis.hideHeader()\n\t\t\t// }\n\t\t},\n\n\t\t_handleScroll(e) {\n\t\t\tconst header = document.querySelector('div.subheader') as HTMLElement\n\n\t\t\t// Check if the header is initialized\n\t\t\tif (!this.initialized) {\n\t\t\t\tthis.header.calendar_previousScrollPosition = e.target.scrollTop\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (this.header.calendar_previousScrollPosition > e.target.scrollTop) {\n\t\t\t\t// On the way up\n\t\t\t\tif (!this.header.isVisible) {\n\t\t\t\t\tthis.showHeader()\n\t\t\t\t}\n\t\t\t} else if (header.offsetHeight > Math.abs(e.target.scrollTop)) {\n\t\t\t\t// On the way down\n\t\t\t\tif (this.header.isVisible) {\n\t\t\t\t\tthis.hideHeader()\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// On the way down below filter height\n\t\t\t\tif (this.header.isVisible) {\n\t\t\t\t\tthis.hideHeader()\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.header.calendar_previousScrollPosition = e.target.scrollTop\n\t\t},\n\n\t\thideHeader() {\n\t\t\tconst header = document.querySelector('div.subheader') as HTMLElement\n\n\t\t\theader.style.transition = 'margin-top 0.5s'\n\t\t\theader.style.marginTop = `-${header.offsetHeight}px`\n\t\t\tthis.header.isVisible = false\n\n\t\t\tsetTimeout(() => {\n\t\t\t\theader.style.transition = ''\n\t\t\t}, 500)\n\t\t},\n\n\t\tshowHeader() {\n\t\t\tconst header = document.querySelector('div.subheader') as HTMLElement\n\n\t\t\theader.style.transition = 'margin-top 0.5s'\n\t\t\theader.style.marginTop = '0'\n\t\t\tthis.header.isVisible = true\n\n\t\t\tsetTimeout(() => {\n\t\t\t\theader.style.transition = ''\n\t\t\t}, 500)\n\t\t},\n\t}\n}\n","import { setHours, setMinutes, addDays, differenceInCalendarDays } from 'date-fns'\nimport moment from 'moment'\n\nexport default {\n\tgenerateTimelineTasks(subtasks, date, employee) {\n\t\tconst { tasks, blockers, homeoffices } = this.generateTimelineEvents(subtasks, employee, date)\n\t\tconst { nonWorkingHours } = this.generateTimelineNonWorkingHours(date, employee)\n\n\t\treturn {\n\t\t\ttasks,\n\t\t\tblockers,\n\t\t\tnonWorkingHours,\n\t\t\thomeoffices\n\t\t}\n\t},\n\n\tgetUnscheduledTime(subtasks) {\n\t\tlet unscheduledTime = 0\n\t\tsubtasks.forEach(subtask => unscheduledTime += (subtask.duration - subtask.spent_time))\n\n\t\treturn unscheduledTime\n\t},\n\n\tisWeekend(date) {\n\t\treturn moment(date).day() % 6 == 0\n\t},\n\n\tgenerateTimelineEvents(subtasks, employee, date) {\n\t\tlet blockers = []\n\t\tconst tasks = []\n\n\t\tsubtasks.forEach(subtask => {\n\t\t\tif (['blocker', 'adhoc', 'home_office', 'vacation', 'free_day'].includes(subtask.type)) {\n\t\t\t\tblockers = [...blockers, ...this._generateEventsFromBlocker(subtask, date)]\n\t\t\t} else {\n\t\t\t\tsubtask.timeblocks?.forEach((timeblock) => {\n\t\t\t\t\ttasks.push(this._composeTimelineEvent(subtask, employee, date, timeblock))\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\n\t\treturn {\n\t\t\ttasks,\n\t\t\tblockers: blockers.filter(blocker => blocker.type != 'home_office'),\n\t\t\thomeoffices: blockers.filter(blocker => blocker.type == 'home_office')\n\t\t}\n\t},\n\n\t_composeTimelineEvent(subtask, employee, date, timeblock) {\n\t\tconst diffInDays = differenceInCalendarDays(date, new Date(timeblock.start))\n\n\t\treturn {\n\t\t\tid: subtask.id,\n\t\t\tstart: addDays(new Date(timeblock.start), diffInDays),\n\t\t\tend: addDays(new Date(timeblock.end), diffInDays),\n\t\t\tmaster_task: subtask.master_task,\n\t\t\tdate: new Date(timeblock.start),\n\t\t\tisWeekend: this.isWeekend(timeblock.start),\n\t\t\tinitials: employee.name.charAt(0).toUpperCase() + employee.surname.charAt(0).toUpperCase(),\n\t\t\tsplit: this._getSplitFromDate(date, timeblock.start),\n\t\t\tproject_code: subtask.project_code,\n\t\t\tsubtask: subtask,\n\t\t\ttype: 'subtask',\n\t\t\t_timeblock_id: timeblock.id,\n\t\t\t_timeblock_is_finished: timeblock.is_finished,\n\t\t\t_real_start: new Date(timeblock.start),\n\t\t\t_real_end: new Date(timeblock.end)\n\t\t}\n\t},\n\n\t_generateEventsFromBlocker(blocker, date) {\n\t\tconst start = moment(blocker.start)\n\t\tconst end \t= moment(blocker.end)\n\n\t\tconst dates \t= start.isSame(end, 'date') ? [moment(start).format('YYYY-MM-DD')] : this._getDatesInRange(start, end)\n\t\tconst blockers \t= dates.map(d => {\n\t\t\tconst diffInDays = differenceInCalendarDays(date, new Date(d))\n\t\t\tconst dStart = new Date(moment(d).set({hours: start.hours(), minutes: start.minutes()}).format('YYYY-MM-DD HH:mm'))\n\t\t\tconst dEnd = new Date(moment(d).set({hours: end.hours(), minutes: end.minutes()}).format('YYYY-MM-DD HH:mm'))\n\n\t\t\treturn {\n\t\t\t\tblocker,\n\t\t\t\tsplit: this._getSplitFromDate(date, d),\n\t\t\t\tstart: addDays(dStart, diffInDays),\n\t\t\t\tend: addDays(dEnd, diffInDays),\n\t\t\t\tdate: new Date(d),\n\t\t\t\ttype: blocker.type,\n\t\t\t\tisBlocker: true,\n\t\t\t\tinitials: `${blocker.employee?.name[0]}${blocker.employee?.surname[0]}`,\n\t\t\t\tcolor: '#B00020',\n\t\t\t\tdraggable: false,\n\t\t\t\t_real_start: dStart,\n\t\t\t\t_real_end: dEnd\n\t\t\t}\n\t\t})\n\n\t\treturn blockers\n\t},\n\n\t_getDatesInRange(start, end) {\n\t\tconst dates = []\n\n\t\twhile (start <= end) {\n\t\t\tdates.push(moment(start).format('YYYY-MM-DD'))\n\t\t\tstart.add(1, 'day')\n\t\t}\n\n\t\treturn dates\n\t},\n\n\tgenerateTimelineNonWorkingHours(date, employee) {\n\t\tconst events = []\n\n\t\tconst { start: dayStart, end: dayEnd } = this._getDayStartEnd(date)\n\n\t\tfor (let i = 0; i < 7; i++) {\n\t\t\tevents.push({\n\t\t\t\ttitle: \"Non working hours\",\n\t\t\t\tstart: dayStart,\n\t\t\t\tend: this._setMinutesToDate(employee.work_start * 60, date),\n\t\t\t\ttype: 'non-working-hours',\n\t\t\t\tsplit: i + 1,\n\t\t\t\tdraggable: false\n\t\t\t})\n\n\t\t\tevents.push({\n\t\t\t\ttitle: \"Non working hours\",\n\t\t\t\tstart: this._setMinutesToDate(employee.work_end * 60, date),\n\t\t\t\tend: dayEnd,\n\t\t\t\ttype: 'non-working-hours',\n\t\t\t\tsplit: i + 1,\n\t\t\t\tdraggable: false\n\t\t\t})\n\t\t}\n\n\t\treturn {nonWorkingHours: events}\n\t},\n\n\t_getSplitFromDate(date, start) {\n\t\treturn differenceInCalendarDays(new Date(date), new Date(start)) * (-1) + 1\n\t},\n\n\t_getDifferenceInHours(date1, date2) {\n\t\treturn this._getDifferenceInMinutes(date1, date2) / 60\n\t},\n\n\t_getDifferenceInMinutes(date1, date2) {\n\t\tlet diff = (date1.getTime() - date2.getTime()) / 1000\n\t\tdiff /= 60\n\t\treturn Math.abs(Math.round(diff))\n\t},\n\n\t_getDayStartEnd(date) {\n\t\treturn {\n\t\t\tstart: this._setMinutesToDate(0, date),\n\t\t\tend: this._setMinutesToDate(1439, date)\n\t\t}\n\t},\n\n\t_setMinutesToDate(minutes, date) {\n\t\tconst newDate = new Date(date)\n\t\tnewDate.setHours(Math.floor(minutes / 60), minutes % 60, 0, 0)\n\t\treturn newDate\n\t}\n}","\n\n\n\n\n","import { render } from \"./z-timeline.vue?vue&type=template&id=38719c0c&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=38719c0c&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-38719c0c\"]])\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/6431.67cb67ed.js b/app/dist/js/6431.67cb67ed.js new file mode 100644 index 0000000..f75351d --- /dev/null +++ b/app/dist/js/6431.67cb67ed.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkjandl"]=self["webpackChunkjandl"]||[]).push([[6431],{70026:function(e,t){t["Z"]={data(){return{header:{initialized:!1,marginTop:0,calendar_previousScrollPosition:0,isVisible:!0}}},unmounted(){this.$refs.page?.querySelector(".vuecal__bg")?.removeEventListener("scroll",this.handleScroll)},methods:{_initScrollListener(e=0){if(this.initialized&&e>0)return;const t=this.$refs.page?.querySelector(".vuecal__bg");if(!t)return setTimeout((()=>{e<20&&this._initScrollListener(e+1)}),200);t.addEventListener("scroll",this._handleScroll),this.initialized=!0,this.header.calendar_previousScrollPosition=t.scrollTop},_handleScroll(e){const t=document.querySelector("div.subheader");this.initialized?(this.header.calendar_previousScrollPosition>e.target.scrollTop?this.header.isVisible||this.showHeader():(t.offsetHeight,Math.abs(e.target.scrollTop),this.header.isVisible&&this.hideHeader()),this.header.calendar_previousScrollPosition=e.target.scrollTop):this.header.calendar_previousScrollPosition=e.target.scrollTop},hideHeader(){const e=document.querySelector("div.subheader");e.style.transition="margin-top 0.5s",e.style.marginTop=`-${e.offsetHeight}px`,this.header.isVisible=!1,setTimeout((()=>{e.style.transition=""}),500)},showHeader(){const e=document.querySelector("div.subheader");e.style.transition="margin-top 0.5s",e.style.marginTop="0",this.header.isVisible=!0,setTimeout((()=>{e.style.transition=""}),500)}}}},2750:function(e,t,s){s(57658);var i=s(67462),n=s(85174),a=s(36797),l=s.n(a);t["Z"]={generateTimelineTasks(e,t,s){const{tasks:i,blockers:n,homeoffices:a}=this.generateTimelineEvents(e,s,t),{nonWorkingHours:l}=this.generateTimelineNonWorkingHours(t,s);return{tasks:i,blockers:n,nonWorkingHours:l,homeoffices:a}},getUnscheduledTime(e){let t=0;return e.forEach((e=>t+=e.duration-e.spent_time)),t},isWeekend(e){return l()(e).day()%6==0},generateTimelineEvents(e,t,s){let i=[];const n=[];return e.forEach((e=>{["blocker","adhoc","home_office","vacation","free_day"].includes(e.type)?i=[...i,...this._generateEventsFromBlocker(e,s)]:e.timeblocks?.forEach((i=>{n.push(this._composeTimelineEvent(e,t,s,i))}))})),{tasks:n,blockers:i.filter((e=>"home_office"!=e.type)),homeoffices:i.filter((e=>"home_office"==e.type))}},_composeTimelineEvent(e,t,s,a){const l=(0,i.Z)(s,new Date(a.start));return{id:e.id,start:(0,n.Z)(new Date(a.start),l),end:(0,n.Z)(new Date(a.end),l),master_task:e.master_task,date:new Date(a.start),isWeekend:this.isWeekend(a.start),initials:t.name.charAt(0).toUpperCase()+t.surname.charAt(0).toUpperCase(),split:this._getSplitFromDate(s,a.start),project_code:e.project_code,subtask:e,type:"subtask",_timeblock_id:a.id,_timeblock_is_finished:a.is_finished,_real_start:new Date(a.start),_real_end:new Date(a.end),draggable:!1}},_generateEventsFromBlocker(e,t){const s=l()(e.start),a=l()(e.end),o=s.isSame(a,"date")?[l()(s).format("YYYY-MM-DD")]:this._getDatesInRange(s,a),r=o.map((o=>{const r=(0,i.Z)(t,new Date(o)),c=new Date(l()(o).set({hours:s.hours(),minutes:s.minutes()}).format("YYYY-MM-DD HH:mm")),d=new Date(l()(o).set({hours:a.hours(),minutes:a.minutes()}).format("YYYY-MM-DD HH:mm"));return{blocker:e,split:this._getSplitFromDate(t,o),start:(0,n.Z)(c,r),end:(0,n.Z)(d,r),date:new Date(o),type:e.type,isBlocker:!0,initials:`${e.employee?.name[0]}${e.employee?.surname[0]}`,color:"#B00020",draggable:!1,_real_start:c,_real_end:d}}));return r},_getDatesInRange(e,t){const s=[];while(e<=t)s.push(l()(e).format("YYYY-MM-DD")),e.add(1,"day");return s},generateTimelineNonWorkingHours(e,t){const s=[],{start:i,end:n}=this._getDayStartEnd(e);for(let a=0;a<7;a++)s.push({title:"Non working hours",start:i,end:this._setMinutesToDate(60*t.work_start,e),type:"non-working-hours",split:a+1,draggable:!1}),s.push({title:"Non working hours",start:this._setMinutesToDate(60*t.work_end,e),end:n,type:"non-working-hours",split:a+1,draggable:!1});return{nonWorkingHours:s}},_getSplitFromDate(e,t){return-1*(0,i.Z)(new Date(e),new Date(t))+1},_getDifferenceInHours(e,t){return this._getDifferenceInMinutes(e,t)/60},_getDifferenceInMinutes(e,t){let s=(e.getTime()-t.getTime())/1e3;return s/=60,Math.abs(Math.round(s))},_getDayStartEnd(e){return{start:this._setMinutesToDate(0,e),end:this._setMinutesToDate(1439,e)}},_setMinutesToDate(e,t){const s=new Date(t);return s.setHours(Math.floor(e/60),e%60,0,0),s}}},26062:function(e,t,s){s.d(t,{Z:function(){return ue}});var i=s(73396),n=s(87139);const a=e=>((0,i.dD)("data-v-cc30b5ae"),e=e(),(0,i.Cn)(),e),l={class:"calendar-wrapper"},o={class:"w-[120px] h-100 d-flex flex-column"},r={key:0,class:"d-flex align-center"},c=["src"],d={class:"weekday-label"},u={key:1,class:"d-flex align-center"},m=["src"],k={class:"weekday-label"},h={key:2},_={class:"day-name"},v={class:"unscheduled-time-initials d-flex align-center justify-center"},p={class:"text-wrap me-4"},g={class:"mb-0 mt-0 unscheduled-time-name"},b={class:"mb-0 mt-0"},f={class:"d-flex justify-center"},w={class:"d-flex justify-center"},y={style:{"margin-top":"-9px"}},D=a((()=>(0,i._)("div",{class:"time-column-line"},null,-1))),T=a((()=>(0,i._)("span",{class:"vuecal__time-cell-line hour"},null,-1))),S=a((()=>(0,i._)("span",{class:"vuecal__time-cell-line",style:{"margin-top":"25px"}},null,-1))),C=a((()=>(0,i._)("span",{class:"vuecal__time-cell-line",style:{"margin-top":"50px"}},null,-1))),M=a((()=>(0,i._)("span",{class:"vuecal__time-cell-line",style:{"margin-top":"75px"}},null,-1)));function $(e,t,a,$,x,E){const H=(0,i.up)("A-timeline-event"),B=(0,i.up)("Vue-cal");return(0,i.wg)(),(0,i.iD)("div",l,[(0,i.Wm)(B,{"hide-view-selector":!0,"hide-title-bar":!0,"disable-views":["years","year","month","week"],"active-view":"day","selected-date":a.calConfig.date,onEventClick:E.taskClicked,"editable-events":x.vueCalConfig.editing,events:a.calData.tasks,unscheduledTime:a.calData.unscheduled_times,"overlaps-per-time-step":!1,showTimeInCells:!1,"time-cell-height":x.timeCellHeight,"snap-to-time":15,"scroll-to-hour":a.calConfig.scrollHour,"split-days":a.splits,"sticky-split-labels":!0,"min-split-width":140,onReady:t[0]||(t[0]=e=>E.onReady()),onViewChange:E.weekChanged,onEventDrop:E.eventMoved,onEventFocus:E.eventFocused},{"split-label":(0,i.w5)((({split:e})=>[(0,i._)("div",o,[e.date?((0,i.wg)(),(0,i.iD)("span",r,[e.isHomeoffice?((0,i.wg)(),(0,i.iD)("img",{key:0,src:s(87500),class:"mr-2"},null,8,c)):(0,i.kq)("",!0),(0,i._)("p",d,(0,n.zw)(E.getHeadingDate(e.date)),1)])):((0,i.wg)(),(0,i.iD)("span",u,[e.isHomeoffice?((0,i.wg)(),(0,i.iD)("img",{key:0,src:s(87500),class:"mr-2"},null,8,m)):(0,i.kq)("",!0),(0,i._)("p",k,(0,n.zw)(e.name),1)])),e.date?((0,i.wg)(),(0,i.iD)("span",h,[(0,i._)("p",_,(0,n.zw)(e.date.toLocaleDateString("en-EN",{weekday:"long"})),1)])):(0,i.kq)("",!0),(0,i._)("div",{class:(0,n.C_)(["unscheduled-time d-flex align-center text-left",{"vuecal__cell-split--weekend":e.isWeekend}])},[(0,i._)("div",v,[(0,i._)("p",null,(0,n.zw)(e.initials),1)]),(0,i._)("div",p,[(0,i._)("p",g,(0,n.zw)(e.fullname),1),(0,i._)("h1",b,(0,n.zw)(e.unscheduledTime)+" h",1)])],2)])])),"time-cell":(0,i.w5)((({hours:e,minutes:t})=>[(0,i._)("span",f,[(0,i._)("span",w,[(0,i._)("p",y,(0,n.zw)(e)+":"+(0,n.zw)(String(t).padStart(2,"0")),1),D,T]),S,C,M])])),event:(0,i.w5)((({event:e})=>[(0,i.Wm)(H,{event:e,onEditBlocker:E.editBlocker,onDeleteBlocker:E.deleteBlocker,onCompleteTask:E.completeTask,onToggleTimeblockIsFinished:E.toggleTimeblockIsFinished,onEditTask:E.editTask,onDeleteTimeblockInTask:E.deleteTimeBlockInTask},null,8,["event","onEditBlocker","onDeleteBlocker","onCompleteTask","onToggleTimeblockIsFinished","onEditTask","onDeleteTimeblockInTask"])])),_:1},8,["selected-date","onEventClick","editable-events","events","unscheduledTime","time-cell-height","scroll-to-hour","split-days","onViewChange","onEventDrop","onEventFocus"])])}var x=s(85174),E=s(34407),H=s(20065),B=s(36797),j=s.n(B),z=(s(57658),s(44870)),F=s(49242),W=s(65687),Z=s(67312),I=s(53289),Y=s(80678);const U={key:0,class:"custom-event-body non-working-event colWidth h-100 d-flex flex-column justify-center"},q={class:"d-flex justify-center align-center"},L={class:"mb-0 ms-2"},N={key:0,class:"project-code"},V={class:"d-flex align-center event-details event-initials-wrapper"},A={class:"event-initials d-flex justify-center align-center"},K={class:"event-initials-date"},P={key:2,class:"d-flex align-center"},R={key:0,class:"ml-1"},O={key:0,class:"event__office-footer"},G=["src"],J={class:"event__footer d-flex"},Q=["src"],X=["src"],ee=["src"],te=["src"],se=["src"],ie=["src"],ne=["src"];var ae=(0,i.aZ)({__name:"a-timeline-event",props:{event:null},emits:["edit-blocker","delete-blocker","complete-task","toggle-timeblock-is-finished","edit-task","delete-timeblock-in-task"],setup(e,{emit:t}){const s=e,a=(0,i.FN)(),l=(0,i.Fl)((()=>{if(s.event.subtask)return s.event.subtask.deadline?s.event.subtask.deadline:s.event.subtask.master_task_deadline})),o=(0,i.Fl)((()=>s.event.end.getTime()-s.event.start.getTime())),r=(0,i.Fl)((()=>{const e=[];return o.value<=9e6&&e.push("short-event"),o.value<=54e5&&e.push("mini-event"),o.value<=36e5&&e.push("micro-event"),!s.event.blocker?.approved&&s.event.isBlocker&&e.push("not-approved"),e.join(" ")})),c=(0,i.Fl)((()=>!0)),d=()=>{const e=a?.appContext.config.globalProperties.$events;e.emit("show-unable-to-edit-office-task-modal",s.event)};return(a,o)=>((0,i.wg)(),(0,i.iD)("div",{class:(0,n.C_)(["event",{"event--office":(0,z.SU)(c)}])},["non-working-hours"==s.event.type?((0,i.wg)(),(0,i.iD)("div",U,[(0,i._)("div",q,[(0,i.Wm)(I.t,{icon:"mdi-cancel",color:"black"}),(0,i._)("h3",L,(0,n.zw)(s.event.title),1)])])):["subtask","blocker","adhoc","vacation","free_day"].includes(e.event.type)?((0,i.wg)(),(0,i.iD)("div",{key:1,class:(0,n.C_)(["custom-event-body colWidth h-100 d-flex flex-column justify-space-between",(0,z.SU)(r)]),style:(0,n.j5)({backgroundColor:e.event._timeblock_is_finished||e.event.subtask?.is_finished?"#dedfe0":e.event.color||e.event.subtask?.color})},[(0,i._)("div",{class:(0,n.C_)(["event-content",{"is-blocker":s.event.isBlocker}])},["subtask"==s.event.type?((0,i.wg)(),(0,i.iD)(i.HY,{key:0},[s.event.subtask.project_code?((0,i.wg)(),(0,i.iD)("small",N,(0,n.zw)(s.event.subtask.project_code),1)):(0,i.kq)("",!0),(0,i._)("h3",null,(0,n.zw)(s.event.subtask.title??s.event.subtask.master_task?.name??s.event.subtask.master_task),1)],64)):((0,i.wg)(),(0,i.j4)(Y.N,{key:1,text:e.event.blocker?.approved?"Schválený":"Neschválený",location:"bottom"},{activator:(0,i.w5)((({props:e})=>[(0,i._)("div",(0,n.vs)((0,i.F4)(e)),[(0,i._)("h3",null,(0,n.zw)(e.event.blocker?.approved?e.event.blocker.name:e.event.blocker.name+"*"),1)],16)])),_:1},8,["text"])),(0,i._)("div",V,[(0,i._)("div",A,[(0,i._)("small",null,(0,n.zw)(s.event.initials),1)]),(0,i._)("small",K,(0,n.zw)(s.event.date?.toLocaleDateString("sk-SK")),1)]),"subtask"==e.event.type?((0,i.wg)(),(0,i.iD)("div",P,[(0,i.Wm)(I.t,{icon:"mdi-skull-outline",size:"small"}),s.event?.subtask.deadline?((0,i.wg)(),(0,i.iD)("small",R,(0,n.zw)((0,z.SU)(l)),1)):((0,i.wg)(),(0,i.j4)(Y.N,{key:1,text:"Deadline z Mastertasku",location:"bottom"},{activator:(0,i.w5)((({props:e})=>[e.event?.subtask?.deadline?(0,i.kq)("",!0):((0,i.wg)(),(0,i.iD)("small",(0,i.dG)({key:0,class:"cursor-pointer ml-1"},e),(0,n.zw)((0,z.SU)(l))+"*",17))])),_:1}))])):(0,i.kq)("",!0)],2),(0,i._)("div",null,[(0,z.SU)(c)?((0,i.wg)(),(0,i.iD)("div",O,[(0,i._)("img",{src:(0,z.SU)(W.QS),alt:""},null,8,G)])):(0,i.kq)("",!0),(0,i._)("div",J,[(0,z.SU)(c)?((0,i.wg)(),(0,i.j4)(Z.T,{key:0,rounded:"",class:"event__footer__button me-2",onClick:(0,F.iM)(d,["stop"])},{default:(0,i.w5)((()=>[(0,i._)("img",{src:(0,z.SU)(W.iy),alt:""},null,8,Q)])),_:1},8,["onClick"])):"adhoc"==e.event.type?((0,i.wg)(),(0,i.iD)(i.HY,{key:1},[(0,i.Wm)(Z.T,{rounded:"",class:"event__footer__button me-2",onClick:o[0]||(o[0]=(0,F.iM)((e=>t("edit-blocker",s.event)),["stop"]))},{default:(0,i.w5)((()=>[(0,i._)("img",{src:(0,z.SU)(W.rI),alt:""},null,8,X)])),_:1}),(0,i.Wm)(Z.T,{rounded:"",class:"event__footer__button me-2",onClick:o[1]||(o[1]=(0,F.iM)((e=>t("delete-blocker",s.event)),["stop"]))},{default:(0,i.w5)((()=>[(0,i._)("img",{src:(0,z.SU)(W.Ly),alt:""},null,8,ee)])),_:1})],64)):"subtask"==s.event.type?((0,i.wg)(),(0,i.iD)(i.HY,{key:2},[(0,i.Wm)(Z.T,{rounded:"",class:(0,n.C_)(["event__footer__button me-2",{completed:s.event.subtask?.is_finished}]),onClick:o[2]||(o[2]=(0,F.iM)((e=>t("complete-task",s.event)),["stop"]))},{default:(0,i.w5)((()=>[(0,i._)("img",{src:(0,z.SU)(W.Jc),alt:""},null,8,te)])),_:1},8,["class"]),(0,i.Wm)(Z.T,{rounded:"",class:(0,n.C_)(["event__footer__button me-2",{completed:s.event._timeblock_is_finished}]),onClick:o[3]||(o[3]=(0,F.iM)((e=>t("toggle-timeblock-is-finished",s.event)),["stop"]))},{default:(0,i.w5)((()=>[(0,i._)("img",{src:(0,z.SU)(W.d2),alt:""},null,8,se)])),_:1},8,["class"]),(0,i.Wm)(Z.T,{rounded:"",class:"event__footer__button me-2",onClick:o[4]||(o[4]=(0,F.iM)((e=>t("edit-task",s.event)),["stop"]))},{default:(0,i.w5)((()=>[(0,i._)("img",{src:(0,z.SU)(W.iy),alt:""},null,8,ie)])),_:1}),(0,i.Wm)(Z.T,{rounded:"",class:"event__footer__button me-2",onClick:o[5]||(o[5]=(0,F.iM)((e=>t("delete-timeblock-in-task",s.event)),["stop"]))},{default:(0,i.w5)((()=>[(0,i._)("img",{src:(0,z.SU)(W.Ly),alt:""},null,8,ne)])),_:1})],64)):(0,i.kq)("",!0)])])],6)):(0,i.kq)("",!0)],2))}}),le=s(40089);const oe=(0,le.Z)(ae,[["__scopeId","data-v-78164856"]]);var re=oe,ce={components:{ATimelineEvent:re},props:{calData:{type:Object,required:!0,default(){return{}}},calConfig:{type:Object,required:!0,default(){return{date:new Date,scrollHour:7}}},splits:{type:Array,required:!1,default(){return[]}}},data(){return{vueCalConfig:{editing:{title:!1,drag:!0,resize:!1,delete:!1,create:!1}},focusedEventId:null,timeCellHeight:100,tmUtils:E.Z,visible:!1}},computed:{...(0,H.Se)("tm",["mastertasks"])},methods:{isAfterDeadline(e){const t=this.getDeadline(e.subtask);if(!t)return;const s=j()(e.date),i=j()(t),n=e.end.getHours(),a=e.end.getMinutes();return s.hours(n),s.minutes(a),s.isAfter(i)},getDeadline(e){return e?.deadline?e.deadline:e.master_task_deadline},weekChanged(){const e=this.$el.getElementsByClassName("vuecal__scrollable-body")[0];e.scrollLeft=0},async eventMoved({event:e,newSplit:t}){const s=(0,x.Z)(this.calConfig.date,t-1),i=s.setHours(Math.floor(e.startTimeMinutes/60),Math.round(e.startTimeMinutes%60),0),n=s.setHours(Math.floor(e.endTimeMinutes/60),Math.round(e.endTimeMinutes%60),0),a=this.splits.find((e=>e.id==t));if("Dashboard - Tasks"==this.$route.name){const t={...e.subtask,timeblocks:[...e.subtask.timeblocks,{id:e._timeblock_id,is_finished:0,start:E.Z.formatDateTimeForBackend(i),end:E.Z.formatDateTimeForBackend(n)}],timesheets:e.subtask.timesheets.map((e=>(delete e.employee_name,e)))};try{const{subtask:e}=await this.$axios.put_auth(`v1/subtasks/${t.id}`,t);this.$events.emit("on-subtask-edited",e),e.employee_id==this.$store.getters["auth/user"].id&&this.$events.emit("show-task-add-time-modal",{subtask:e})}catch(l){this.$toast.error(l.message||l)}const s=this.isAfterDeadline(e);s&&this.$toast.error("Timeblock, ktorý ste presunuli je po deadline !")}else if("Dashboard - Teams"==this.$route.name){const t={...e.subtask,employee_id:a.employee_id,timeblocks:[...e.subtask.timeblocks,{id:e._timeblock_id,is_finished:0,start:E.Z.formatDateTimeForBackend(e.start),end:E.Z.formatDateTimeForBackend(e.end)}],timesheets:e.subtask.timesheets.map((e=>(delete e.employee_name,e)))};try{const{subtask:e}=await this.$axios.put_auth(`v1/subtasks/${t.id}`,t);this.$events.emit("on-subtask-edited",e)}catch(l){this.$toast.error(l.message||l)}}},onReady(){this.correctMargins()},correctMargins(){if(!this.$el.getElementsByClassName("vuecal__split-days-headers").length)return;const e=this.$el.getElementsByClassName("vuecal__split-days-headers")[0].clientHeight;this.$el.getElementsByClassName("vuecal__time-column")[0].style.marginTop=`${e}px`,this.$el.getElementsByClassName("vuecal__cells-body")[0].style.marginTop=`${e}px`},getHeadingDate(e){const t=new Date(e),s=new Date,i=new Date((new Date).setDate(s.getDate()-1)),n=new Date((new Date).setDate(s.getDate()+1));return s.toLocaleDateString("sk-SK")===t.toLocaleDateString("sk-SK")?"Dnes":i.toLocaleDateString("sk-SK")===t.toLocaleDateString("sk-SK")?"Včera":n.toLocaleDateString("sk-SK")===t.toLocaleDateString("sk-SK")?"Zajtra":t.toLocaleDateString("sk-SK")},taskClicked(e){},eventFocused(e){this.focusedEventId=e.task_id},completeTask({subtask:e}){this.$events.emit("show-complete-task-modal",{subtask:e})},async toggleTimeblockIsFinished(e){const t=e.subtask,s=t.timeblocks.find((t=>t.id==e._timeblock_id));s.is_finished=s?.is_finished?0:1;try{const{data:e}=await this.$axios.put_auth(`v1/timeblocks/${s.id}`,s);t.timeblocks=t.timeblocks.map((t=>t.id==e.id?e:t)),this.$events.emit("on-subtask-edited",t),s.is_finished&&this.$events.emit("show-task-add-time-modal",{subtask:t})}catch(i){this.$toast.error(i.message||i)}},editTask({subtask:e}){this.$events.emit("show-subtask-modal",{subtask:e})},deleteTimeBlockInTask({subtask:e}){this.$events.emit("show-delete-timeblock-modal",{subtask:e})},editBlocker({blocker:e}){this.$events.emit("show-blocker-modal",{blocker:e})},deleteBlocker({blocker:e}){this.$events.emit("show-delete-blocker-modal",{blocker:e})}}};const de=(0,le.Z)(ce,[["render",$],["__scopeId","data-v-cc30b5ae"]]);var ue=de}}]); +//# sourceMappingURL=6431.67cb67ed.js.map \ No newline at end of file diff --git a/app/dist/js/6431.67cb67ed.js.map b/app/dist/js/6431.67cb67ed.js.map new file mode 100644 index 0000000..be0914e --- /dev/null +++ b/app/dist/js/6431.67cb67ed.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/6431.67cb67ed.js","mappings":"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","sources":["webpack://jandl/./src/plugins/tm@dashboard/_mixins/Filter.mixin.ts","webpack://jandl/./src/plugins/tm@dashboard/tasks/_utils/timeline.utils.ts","webpack://jandl/./src/plugins/tm@dashboard/_components/z-timeline.vue","webpack://jandl/./src/plugins/tm@dashboard/_components/a-timeline-event.vue?8998","webpack://jandl/./src/plugins/tm@dashboard/_components/a-timeline-event.vue","webpack://jandl/./src/plugins/tm@dashboard/_components/z-timeline.vue?b342"],"sourcesContent":["export default {\n\tdata() {\n\t\treturn {\n\t\t\theader: {\n\t\t\t\tinitialized: false,\n\t\t\t\tmarginTop: 0,\n\t\t\t\tcalendar_previousScrollPosition: 0,\n\t\t\t\tisVisible: true\n\t\t\t}\n\t\t}\n\t},\n\n\tunmounted() {\n\t\tthis.$refs.page?.querySelector('.vuecal__bg')?.removeEventListener('scroll', this.handleScroll)\n\t},\n\n\tmethods: {\n\t\t_initScrollListener(repeat = 0) {\n\t\t\tif (this.initialized && repeat > 0) return\n\n\t\t\tconst calendar = this.$refs.page?.querySelector('.vuecal__bg')\n\n\t\t\tif (!calendar)\n\t\t\t\treturn setTimeout(() => {\n\t\t\t\t\tif (repeat < 20) this._initScrollListener(repeat + 1)\n\t\t\t\t}, 200)\n\n\t\t\tcalendar.addEventListener('scroll', this._handleScroll)\n\t\t\tthis.initialized = true\n\t\t\tthis.header.calendar_previousScrollPosition = calendar.scrollTop\n\t\t\t// if (calendar.scrollTop > 0 && this.header.isVisible) {\n\t\t\t// \tthis.hideHeader()\n\t\t\t// }\n\t\t},\n\n\t\t_handleScroll(e) {\n\t\t\tconst header = document.querySelector('div.subheader') as HTMLElement\n\n\t\t\t// Check if the header is initialized\n\t\t\tif (!this.initialized) {\n\t\t\t\tthis.header.calendar_previousScrollPosition = e.target.scrollTop\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (this.header.calendar_previousScrollPosition > e.target.scrollTop) {\n\t\t\t\t// On the way up\n\t\t\t\tif (!this.header.isVisible) {\n\t\t\t\t\tthis.showHeader()\n\t\t\t\t}\n\t\t\t} else if (header.offsetHeight > Math.abs(e.target.scrollTop)) {\n\t\t\t\t// On the way down\n\t\t\t\tif (this.header.isVisible) {\n\t\t\t\t\tthis.hideHeader()\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// On the way down below filter height\n\t\t\t\tif (this.header.isVisible) {\n\t\t\t\t\tthis.hideHeader()\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.header.calendar_previousScrollPosition = e.target.scrollTop\n\t\t},\n\n\t\thideHeader() {\n\t\t\tconst header = document.querySelector('div.subheader') as HTMLElement\n\n\t\t\theader.style.transition = 'margin-top 0.5s'\n\t\t\theader.style.marginTop = `-${header.offsetHeight}px`\n\t\t\tthis.header.isVisible = false\n\n\t\t\tsetTimeout(() => {\n\t\t\t\theader.style.transition = ''\n\t\t\t}, 500)\n\t\t},\n\n\t\tshowHeader() {\n\t\t\tconst header = document.querySelector('div.subheader') as HTMLElement\n\n\t\t\theader.style.transition = 'margin-top 0.5s'\n\t\t\theader.style.marginTop = '0'\n\t\t\tthis.header.isVisible = true\n\n\t\t\tsetTimeout(() => {\n\t\t\t\theader.style.transition = ''\n\t\t\t}, 500)\n\t\t},\n\t}\n}\n","import { setHours, setMinutes, addDays, differenceInCalendarDays } from 'date-fns'\nimport moment from 'moment'\n\nexport default {\n\tgenerateTimelineTasks(subtasks, date, employee) {\n\t\tconst { tasks, blockers, homeoffices } = this.generateTimelineEvents(subtasks, employee, date)\n\t\tconst { nonWorkingHours } = this.generateTimelineNonWorkingHours(date, employee)\n\n\t\treturn {\n\t\t\ttasks,\n\t\t\tblockers,\n\t\t\tnonWorkingHours,\n\t\t\thomeoffices\n\t\t}\n\t},\n\n\tgetUnscheduledTime(subtasks) {\n\t\tlet unscheduledTime = 0\n\t\tsubtasks.forEach(subtask => unscheduledTime += (subtask.duration - subtask.spent_time))\n\n\t\treturn unscheduledTime\n\t},\n\n\tisWeekend(date) {\n\t\treturn moment(date).day() % 6 == 0\n\t},\n\n\tgenerateTimelineEvents(subtasks, employee, date) {\n\t\tlet blockers = []\n\t\tconst tasks = []\n\n\t\tsubtasks.forEach(subtask => {\n\t\t\tif (['blocker', 'adhoc', 'home_office', 'vacation', 'free_day'].includes(subtask.type)) {\n\t\t\t\tblockers = [...blockers, ...this._generateEventsFromBlocker(subtask, date)]\n\t\t\t} else {\n\t\t\t\tsubtask.timeblocks?.forEach((timeblock) => {\n\t\t\t\t\ttasks.push(this._composeTimelineEvent(subtask, employee, date, timeblock))\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\n\t\treturn {\n\t\t\ttasks,\n\t\t\tblockers: blockers.filter(blocker => blocker.type != 'home_office'),\n\t\t\thomeoffices: blockers.filter(blocker => blocker.type == 'home_office')\n\t\t}\n\t},\n\n\t_composeTimelineEvent(subtask, employee, date, timeblock) {\n\t\tconst diffInDays = differenceInCalendarDays(date, new Date(timeblock.start))\n\n\t\treturn {\n\t\t\tid: subtask.id,\n\t\t\tstart: addDays(new Date(timeblock.start), diffInDays),\n\t\t\tend: addDays(new Date(timeblock.end), diffInDays),\n\t\t\tmaster_task: subtask.master_task,\n\t\t\tdate: new Date(timeblock.start),\n\t\t\tisWeekend: this.isWeekend(timeblock.start),\n\t\t\tinitials: employee.name.charAt(0).toUpperCase() + employee.surname.charAt(0).toUpperCase(),\n\t\t\tsplit: this._getSplitFromDate(date, timeblock.start),\n\t\t\tproject_code: subtask.project_code,\n\t\t\tsubtask: subtask,\n\t\t\ttype: 'subtask',\n\t\t\t_timeblock_id: timeblock.id,\n\t\t\t_timeblock_is_finished: timeblock.is_finished,\n\t\t\t_real_start: new Date(timeblock.start),\n\t\t\t_real_end: new Date(timeblock.end),\n\t\t\tdraggable: false // TODO office365: Disable only for office 365 events\n\t\t}\n\t},\n\n\t_generateEventsFromBlocker(blocker, date) {\n\t\tconst start = moment(blocker.start)\n\t\tconst end \t= moment(blocker.end)\n\n\t\tconst dates \t= start.isSame(end, 'date') ? [moment(start).format('YYYY-MM-DD')] : this._getDatesInRange(start, end)\n\t\tconst blockers \t= dates.map(d => {\n\t\t\tconst diffInDays = differenceInCalendarDays(date, new Date(d))\n\t\t\tconst dStart = new Date(moment(d).set({hours: start.hours(), minutes: start.minutes()}).format('YYYY-MM-DD HH:mm'))\n\t\t\tconst dEnd = new Date(moment(d).set({hours: end.hours(), minutes: end.minutes()}).format('YYYY-MM-DD HH:mm'))\n\n\t\t\treturn {\n\t\t\t\tblocker,\n\t\t\t\tsplit: this._getSplitFromDate(date, d),\n\t\t\t\tstart: addDays(dStart, diffInDays),\n\t\t\t\tend: addDays(dEnd, diffInDays),\n\t\t\t\tdate: new Date(d),\n\t\t\t\ttype: blocker.type,\n\t\t\t\tisBlocker: true,\n\t\t\t\tinitials: `${blocker.employee?.name[0]}${blocker.employee?.surname[0]}`,\n\t\t\t\tcolor: '#B00020',\n\t\t\t\tdraggable: false,\n\t\t\t\t_real_start: dStart,\n\t\t\t\t_real_end: dEnd\n\t\t\t}\n\t\t})\n\n\t\treturn blockers\n\t},\n\n\t_getDatesInRange(start, end) {\n\t\tconst dates = []\n\n\t\twhile (start <= end) {\n\t\t\tdates.push(moment(start).format('YYYY-MM-DD'))\n\t\t\tstart.add(1, 'day')\n\t\t}\n\n\t\treturn dates\n\t},\n\n\tgenerateTimelineNonWorkingHours(date, employee) {\n\t\tconst events = []\n\n\t\tconst { start: dayStart, end: dayEnd } = this._getDayStartEnd(date)\n\n\t\tfor (let i = 0; i < 7; i++) {\n\t\t\tevents.push({\n\t\t\t\ttitle: \"Non working hours\",\n\t\t\t\tstart: dayStart,\n\t\t\t\tend: this._setMinutesToDate(employee.work_start * 60, date),\n\t\t\t\ttype: 'non-working-hours',\n\t\t\t\tsplit: i + 1,\n\t\t\t\tdraggable: false\n\t\t\t})\n\n\t\t\tevents.push({\n\t\t\t\ttitle: \"Non working hours\",\n\t\t\t\tstart: this._setMinutesToDate(employee.work_end * 60, date),\n\t\t\t\tend: dayEnd,\n\t\t\t\ttype: 'non-working-hours',\n\t\t\t\tsplit: i + 1,\n\t\t\t\tdraggable: false\n\t\t\t})\n\t\t}\n\n\t\treturn {nonWorkingHours: events}\n\t},\n\n\t_getSplitFromDate(date, start) {\n\t\treturn differenceInCalendarDays(new Date(date), new Date(start)) * (-1) + 1\n\t},\n\n\t_getDifferenceInHours(date1, date2) {\n\t\treturn this._getDifferenceInMinutes(date1, date2) / 60\n\t},\n\n\t_getDifferenceInMinutes(date1, date2) {\n\t\tlet diff = (date1.getTime() - date2.getTime()) / 1000\n\t\tdiff /= 60\n\t\treturn Math.abs(Math.round(diff))\n\t},\n\n\t_getDayStartEnd(date) {\n\t\treturn {\n\t\t\tstart: this._setMinutesToDate(0, date),\n\t\t\tend: this._setMinutesToDate(1439, date)\n\t\t}\n\t},\n\n\t_setMinutesToDate(minutes, date) {\n\t\tconst newDate = new Date(date)\n\t\tnewDate.setHours(Math.floor(minutes / 60), minutes % 60, 0, 0)\n\t\treturn newDate\n\t}\n}","\n\n\n\n\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, Fragment as _Fragment, normalizeProps as _normalizeProps, guardReactiveProps as _guardReactiveProps, withCtx as _withCtx, createBlock as _createBlock, mergeProps as _mergeProps, normalizeClass as _normalizeClass, withModifiers as _withModifiers, normalizeStyle as _normalizeStyle, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-78164856\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"custom-event-body non-working-event colWidth h-100 d-flex flex-column justify-center\"\n}\nconst _hoisted_2 = { class: \"d-flex justify-center align-center\" }\nconst _hoisted_3 = { class: \"mb-0 ms-2\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"project-code\"\n}\nconst _hoisted_5 = { class: \"d-flex align-center event-details event-initials-wrapper\" }\nconst _hoisted_6 = { class: \"event-initials d-flex justify-center align-center\" }\nconst _hoisted_7 = { class: \"event-initials-date\" }\nconst _hoisted_8 = {\n key: 2,\n class: \"d-flex align-center\"\n}\nconst _hoisted_9 = {\n key: 0,\n class: \"ml-1\"\n}\nconst _hoisted_10 = {\n key: 0,\n class: \"event__office-footer\"\n}\nconst _hoisted_11 = [\"src\"]\nconst _hoisted_12 = { class: \"event__footer d-flex\" }\nconst _hoisted_13 = [\"src\"]\nconst _hoisted_14 = [\"src\"]\nconst _hoisted_15 = [\"src\"]\nconst _hoisted_16 = [\"src\"]\nconst _hoisted_17 = [\"src\"]\nconst _hoisted_18 = [\"src\"]\nconst _hoisted_19 = [\"src\"]\n\nimport { bin, checkmarkDouble, checkmark, eye, pencil, office365 } from '@/plugins/app/_img'\nimport { computed, ComputedRef, getCurrentInstance } from 'vue'\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'a-timeline-event',\n props: {\n event: null\n },\n emits: [\"edit-blocker\", \"delete-blocker\", \"complete-task\", \"toggle-timeblock-is-finished\", \"edit-task\", \"delete-timeblock-in-task\"],\n setup(__props: any, { emit: emits }: { emit: ({\n\t(e: 'edit-blocker', event: any): void,\n\t(e: 'delete-blocker', event: any): void,\n\t(e: 'complete-task', event: any): void,\n\t(e: 'toggle-timeblock-is-finished', event: any): void,\n\t(e: 'edit-task', event: any): void,\n\t(e: 'delete-timeblock-in-task', event: any): void\n}), expose: any, slots: any, attrs: any }) {\n\nconst props = __props as {\n\tevent: any // TODO office365: Define type\n};\n\nconst instance = getCurrentInstance()\n\n\n\n\n\nconst deadline: ComputedRef = computed(() => {\n\tif (!props.event.subtask)\n\t\treturn undefined\n\n\tif (props.event.subtask.deadline)\n\t\treturn props.event.subtask.deadline\n\n\treturn props.event.subtask.master_task_deadline\n})\n\nconst eventLength: ComputedRef = computed(() => props.event.end.getTime() - props.event.start.getTime())\n\nconst subtaskCssClass: ComputedRef = computed(() => {\n\tconst classes = []\n\tif (eventLength.value <= 9000000) classes.push('short-event')\n\tif (eventLength.value <= 5400000) classes.push('mini-event')\n\tif (eventLength.value <= 3600000) classes.push('micro-event')\n\tif (!props.event.blocker?.approved && props.event.isBlocker) classes.push('not-approved')\n\treturn classes.join(' ')\n})\n\nconst isOfficeEvent: ComputedRef = computed(() => {\n\treturn true\n})\n\nconst editOfficeEvent = () => {\n\tconst eventBus = instance?.appContext.config.globalProperties.$events\n\teventBus.emit('show-unable-to-edit-office-task-modal', props.event)\n}\n\nreturn (_ctx: any,_cache: any) => {\n const _component_v_icon = _resolveComponent(\"v-icon\")!\n const _component_v_tooltip = _resolveComponent(\"v-tooltip\")!\n const _component_v_btn = _resolveComponent(\"v-btn\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"event\", { 'event--office': _unref(isOfficeEvent) }])\n }, [\n (props.event.type == 'non-working-hours')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_component_v_icon, {\n icon: \"mdi-cancel\",\n color: \"black\"\n }),\n _createElementVNode(\"h3\", _hoisted_3, _toDisplayString(props.event.title), 1)\n ])\n ]))\n : (['subtask', 'blocker', 'adhoc', 'vacation', 'free_day'].includes(__props.event.type))\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: _normalizeClass([\"custom-event-body colWidth h-100 d-flex flex-column justify-space-between\", _unref(subtaskCssClass)]),\n style: _normalizeStyle({ backgroundColor: __props.event._timeblock_is_finished || __props.event.subtask?.is_finished ? '#dedfe0' : __props.event.color || __props.event.subtask?.color })\n }, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"event-content\", { 'is-blocker': props.event.isBlocker }])\n }, [\n (props.event.type == 'subtask')\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n (props.event.subtask.project_code)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_4, _toDisplayString(props.event.subtask.project_code), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"h3\", null, _toDisplayString(props.event.subtask.title ?? props.event.subtask.master_task?.name ?? props.event.subtask.master_task), 1)\n ], 64))\n : (_openBlock(), _createBlock(_component_v_tooltip, {\n key: 1,\n text: __props.event.blocker?.approved ? 'Schválený' : 'Neschválený',\n location: \"bottom\"\n }, {\n activator: _withCtx(({ props }) => [\n _createElementVNode(\"div\", _normalizeProps(_guardReactiveProps(props)), [\n _createElementVNode(\"h3\", null, _toDisplayString(props.event.blocker?.approved ? props.event.blocker.name : props.event.blocker.name + '*'), 1)\n ], 16)\n ]),\n _: 1\n }, 8, [\"text\"])),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"small\", null, _toDisplayString(props.event.initials), 1)\n ]),\n _createElementVNode(\"small\", _hoisted_7, _toDisplayString(props.event.date?.toLocaleDateString('sk-SK')), 1)\n ]),\n (__props.event.type == 'subtask')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _createVNode(_component_v_icon, {\n icon: \"mdi-skull-outline\",\n size: \"small\"\n }),\n (props.event?.subtask.deadline)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_9, _toDisplayString(_unref(deadline)), 1))\n : (_openBlock(), _createBlock(_component_v_tooltip, {\n key: 1,\n text: \"Deadline z Mastertasku\",\n location: \"bottom\"\n }, {\n activator: _withCtx(({ props }) => [\n (!props.event?.subtask?.deadline)\n ? (_openBlock(), _createElementBlock(\"small\", _mergeProps({\n key: 0,\n class: \"cursor-pointer ml-1\"\n }, props), _toDisplayString(_unref(deadline)) + \"*\", 17))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }))\n ]))\n : _createCommentVNode(\"\", true)\n ], 2),\n _createElementVNode(\"div\", null, [\n (_unref(isOfficeEvent))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_10, [\n _createElementVNode(\"img\", {\n src: _unref(office365),\n alt: \"\"\n }, null, 8, _hoisted_11)\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_12, [\n (_unref(isOfficeEvent))\n ? (_openBlock(), _createBlock(_component_v_btn, {\n key: 0,\n rounded: \"\",\n class: \"event__footer__button me-2\",\n onClick: _withModifiers(editOfficeEvent, [\"stop\"])\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"img\", {\n src: _unref(eye),\n alt: \"\"\n }, null, 8, _hoisted_13)\n ]),\n _: 1\n }, 8, [\"onClick\"]))\n : (__props.event.type == 'adhoc')\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n _createVNode(_component_v_btn, {\n rounded: \"\",\n class: \"event__footer__button me-2\",\n onClick: _cache[0] || (_cache[0] = _withModifiers(($event: any) => (emits('edit-blocker', props.event)), [\"stop\"]))\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"img\", {\n src: _unref(pencil),\n alt: \"\"\n }, null, 8, _hoisted_14)\n ]),\n _: 1\n }),\n _createVNode(_component_v_btn, {\n rounded: \"\",\n class: \"event__footer__button me-2\",\n onClick: _cache[1] || (_cache[1] = _withModifiers(($event: any) => (emits('delete-blocker', props.event)), [\"stop\"]))\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"img\", {\n src: _unref(bin),\n alt: \"\"\n }, null, 8, _hoisted_15)\n ]),\n _: 1\n })\n ], 64))\n : (props.event.type == 'subtask')\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 2 }, [\n _createVNode(_component_v_btn, {\n rounded: \"\",\n class: _normalizeClass([\"event__footer__button me-2\", { completed: props.event.subtask?.is_finished }]),\n onClick: _cache[2] || (_cache[2] = _withModifiers(($event: any) => (emits('complete-task', props.event)), [\"stop\"]))\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"img\", {\n src: _unref(checkmarkDouble),\n alt: \"\"\n }, null, 8, _hoisted_16)\n ]),\n _: 1\n }, 8, [\"class\"]),\n _createVNode(_component_v_btn, {\n rounded: \"\",\n class: _normalizeClass([\"event__footer__button me-2\", { completed: props.event._timeblock_is_finished }]),\n onClick: _cache[3] || (_cache[3] = _withModifiers(($event: any) => (emits('toggle-timeblock-is-finished', props.event)), [\"stop\"]))\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"img\", {\n src: _unref(checkmark),\n alt: \"\"\n }, null, 8, _hoisted_17)\n ]),\n _: 1\n }, 8, [\"class\"]),\n _createVNode(_component_v_btn, {\n rounded: \"\",\n class: \"event__footer__button me-2\",\n onClick: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (emits('edit-task', props.event)), [\"stop\"]))\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"img\", {\n src: _unref(eye),\n alt: \"\"\n }, null, 8, _hoisted_18)\n ]),\n _: 1\n }),\n _createVNode(_component_v_btn, {\n rounded: \"\",\n class: \"event__footer__button me-2\",\n onClick: _cache[5] || (_cache[5] = _withModifiers(($event: any) => (emits('delete-timeblock-in-task', props.event)), [\"stop\"]))\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"img\", {\n src: _unref(bin),\n alt: \"\"\n }, null, 8, _hoisted_19)\n ]),\n _: 1\n })\n ], 64))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ], 6))\n : _createCommentVNode(\"\", true)\n ], 2))\n}\n}\n\n})","import script from \"./a-timeline-event.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./a-timeline-event.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./a-timeline-event.vue?vue&type=style&index=0&id=78164856&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-78164856\"]])\n\nexport default __exports__","import { render } from \"./z-timeline.vue?vue&type=template&id=cc30b5ae&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=cc30b5ae&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-cc30b5ae\"]])\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","draggable","dates","isSame","format","_getDatesInRange","map","d","dStart","set","hours","minutes","dEnd","isBlocker","color","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","_component_A_timeline_event","onEditBlocker","onDeleteBlocker","onCompleteTask","onToggleTimeblockIsFinished","onEditTask","onDeleteTimeblockInTask","key","_hoisted_4","_hoisted_7","_hoisted_9","_defineComponent","__name","props","emits","setup","__props","emit","instance","getCurrentInstance","deadline","computed","master_task_deadline","eventLength","subtaskCssClass","classes","value","approved","join","isOfficeEvent","editOfficeEvent","eventBus","appContext","config","globalProperties","$events","_ctx","_cache","_openBlock","_normalizeClass","_unref","_component_v_icon","icon","_toDisplayString","_normalizeStyle","backgroundColor","_Fragment","_createCommentVNode","_createBlock","_component_v_tooltip","text","location","activator","_withCtx","_normalizeProps","_guardReactiveProps","_","size","_mergeProps","office365","alt","_component_v_btn","rounded","onClick","_withModifiers","default","eye","$event","pencil","bin","completed","checkmarkDouble","checkmark","__exports__","components","ATimelineEvent","calData","Object","required","calConfig","splits","Array","vueCalConfig","drag","resize","delete","create","focusedEventId","timeCellHeight","tmUtils","visible","mapGetters","isAfterDeadline","getDeadline","mDate","mDeadline","getHours","getMinutes","isAfter","weekChanged","scrollContainer","$el","getElementsByClassName","scrollLeft","async","newSplit","startTimeMinutes","endTimeMinutes","find","$route","editedSubtask","timesheets","timesheet","employee_name","$axios","put_auth","employee_id","$store","getters","error","$toast","message","correctMargins","length","heightOfDayHeader","clientHeight","getHeadingDate","today","yesterday","setDate","getDate","tomorrow","taskClicked","eventFocused","task_id","completeTask","originalTimeblock","newTimeblock","editTask","deleteTimeBlockInTask","editBlocker","deleteBlocker","render"],"sourceRoot":""} \ No newline at end of file diff --git a/app/dist/js/6631.836257dd.js b/app/dist/js/6881.c397716c.js similarity index 97% rename from app/dist/js/6631.836257dd.js rename to app/dist/js/6881.c397716c.js index 7c986a2..a97a731 100644 --- a/app/dist/js/6631.836257dd.js +++ b/app/dist/js/6881.c397716c.js @@ -1,2 +1,2 @@ -"use strict";(self["webpackChunkjandl"]=self["webpackChunkjandl"]||[]).push([[6631],{88624: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(69204),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-2293e78a"]]);var S=T}}]); -//# sourceMappingURL=6631.836257dd.js.map \ No newline at end of file +"use strict";(self["webpackChunkjandl"]=self["webpackChunkjandl"]||[]).push([[6881],{88624: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(26062),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-2293e78a"]]);var S=T}}]); +//# sourceMappingURL=6881.c397716c.js.map \ No newline at end of file diff --git a/app/dist/js/6631.836257dd.js.map b/app/dist/js/6881.c397716c.js.map similarity index 99% rename from app/dist/js/6631.836257dd.js.map rename to app/dist/js/6881.c397716c.js.map index 2a7c037..984d313 100644 --- a/app/dist/js/6631.836257dd.js.map +++ b/app/dist/js/6881.c397716c.js.map @@ -1 +1 @@ -{"version":3,"file":"js/6631.836257dd.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\n\n\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/matejglasnak/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=2293e78a&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=2293e78a&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-2293e78a\"]])\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 +{"version":3,"file":"js/6881.c397716c.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\n\n\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/matejglasnak/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=2293e78a&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=2293e78a&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-2293e78a\"]])\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/7023.0616282c.js b/app/dist/js/7023.0616282c.js deleted file mode 100644 index 56e0d93..0000000 --- a/app/dist/js/7023.0616282c.js +++ /dev/null @@ -1,2 +0,0 @@ -"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.0616282c.js.map \ No newline at end of file diff --git a/app/dist/js/7023.0616282c.js.map b/app/dist/js/7023.0616282c.js.map deleted file mode 100644 index a0048bb..0000000 --- a/app/dist/js/7023.0616282c.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"js/7023.0616282c.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\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/matejglasnak/gitrepo/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\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/matejglasnak/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/matejglasnak/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.c51785a0.js b/app/dist/js/7073.57c96578.js similarity index 97% rename from app/dist/js/7073.c51785a0.js rename to app/dist/js/7073.57c96578.js index c7823b2..b8a8b3c 100644 --- a/app/dist/js/7073.c51785a0.js +++ b/app/dist/js/7073.57c96578.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.c51785a0.js.map \ No newline at end of file +//# sourceMappingURL=7073.57c96578.js.map \ No newline at end of file diff --git a/app/dist/js/7073.c51785a0.js.map b/app/dist/js/7073.57c96578.js.map similarity index 98% rename from app/dist/js/7073.c51785a0.js.map rename to app/dist/js/7073.57c96578.js.map index 977565c..dff0cfa 100644 --- a/app/dist/js/7073.c51785a0.js.map +++ b/app/dist/js/7073.57c96578.js.map @@ -1 +1 @@ -{"version":3,"file":"js/7073.c51785a0.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\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/matejglasnak/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/matejglasnak/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.57c96578.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\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/matejglasnak/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/matejglasnak/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 diff --git a/app/dist/js/7910.59502459.js b/app/dist/js/7910.59502459.js new file mode 100644 index 0000000..8f09a4f --- /dev/null +++ b/app/dist/js/7910.59502459.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkjandl"]=self["webpackChunkjandl"]||[]).push([[7910],{35299:function(e,t,s){s.d(t,{Z:function(){return p}});var a=s(73396),l=s(60988),r=s(16824),n=s(10240),d=s(45869);function i(e,t,s,i,o,u){return(0,a.wg)(),(0,a.j4)(r.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)(d.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:u.onInput,type:"text"},null,8,["modelValue","onInput"]),(0,a.Wm)(n.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),u=s(83299),c={mixins:[u.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)(c,[["render",i],["__scopeId","data-v-45dcb20a"]]);var p=h},47910:function(e,t,s){s.r(t),s.d(t,{default:function(){return T}});var a=s(73396);function l(e,t,s,l,r,n){const d=(0,a.up)("Z-tasks-search"),i=(0,a.up)("A-unscheduled-table"),o=(0,a.up)("W-loadable");return(0,a.wg)(),(0,a.iD)("div",null,[(0,a.Wm)(d,{onSearch:n.onSearch,onEmployeeSelected:n.onEmployeeSelected,onUpdateSortOrder:n.onUpdateSortOrder},null,8,["onSearch","onEmployeeSelected","onUpdateSortOrder"]),(0,a.Wm)(o,{content:n.filteredUnscheduledTasks,emptyMessage:r.searchQuery.length?"Neboli nájdené žiadne úlohy":"Nenašli sa žiadne záznamy"},{default:(0,a.w5)((()=>[(0,a.Wm)(i,{subtasks:n.filteredUnscheduledTasks},null,8,["subtasks"])])),_:1},8,["content","emptyMessage"])])}var r=s(35299),n=s(20065),d=s(49242),i=s(87139),o=s(4413),u=s(80678);const c=e=>((0,a.dD)("data-v-eeb895c0"),e=e(),(0,a.Cn)(),e),m=c((()=>(0,a._)("thead",null,[(0,a._)("tr",null,[(0,a._)("th",{class:"text-left"},"Kód projektu"),(0,a._)("th",{class:"text-left"},"Názov"),(0,a._)("th",{class:"text-left"},"Deadline"),(0,a._)("th",{class:"text-left"},"Trvanie"),(0,a._)("th",{class:"text-left"},"Akcia")])],-1))),h=["onClick"],p={key:0},k={class:"task-action"},y={class:"d-flex justify-start align-center"},f=["src","onClick"],w=["src"];function v(e,t,s,l,r,n){return(0,a.wg)(),(0,a.j4)(o.Y,null,{default:(0,a.w5)((()=>[m,(0,a._)("tbody",null,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(s.subtasks,(e=>((0,a.wg)(),(0,a.iD)("tr",{class:"cursor-pointer",key:e.id,onClick:(0,d.iM)((t=>n.editTask(e,!1)),["stop"])},[(0,a._)("td",null,(0,i.zw)(e.project_code),1),(0,a._)("td",null,(0,i.zw)(e.title??e.master_task),1),e?.deadline?((0,a.wg)(),(0,a.iD)("td",p,(0,i.zw)(n.getDeadline(e)),1)):(0,a.kq)("",!0),(0,a.Wm)(u.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,i.vs)((0,a.dG)({key:0},t)),(0,i.zw)(n.getDeadline(e))+"*",17))])),_:2},1024),(0,a._)("td",null,(0,i.zw)(e.spent_time)+" h",1),(0,a._)("td",k,[(0,a._)("div",y,[((0,a.wg)(),(0,a.iD)(a.HY,{key:0},[(0,a._)("img",{class:"pencil-icon",src:r.eye,alt:"pencil-icon",onClick:(0,d.iM)((t=>n.editTask(e,!1)),["stop"])},null,8,f),(0,a._)("img",{class:"office-icon",src:r.office365,alt:"office-icon"},null,8,w)],64))])])],8,h)))),128))])])),_:1})}var _=s(36797),D=s.n(_),b=s(65687),g={props:{subtasks:{type:Array,required:!0}},data(){return{bin:b.Ly,eye:b.iy,office365:b.QS}},computed:{...(0,n.Se)("tm",["mastertasks"])},methods:{editTask(e,t){return this.editOfficeEvent(e)},deleteTask(e){this.$events.emit("show-delete-task-modal",{subtask:e})},getDeadline(e){return e?.deadline?D()(e.deadline).format("DD.MM.yyyy"):D()(e.master_task_deadline).format("DD.MM.yyyy")},editOfficeEvent(e){this.$events.emit("show-unable-to-edit-office-task-modal",{subtask:e})}}},S=s(40089);const O=(0,S.Z)(g,[["render",v],["__scopeId","data-v-eeb895c0"]]);var x=O,C={components:{ZTasksSearch:r.Z,AUnscheduledTable:x},data(){return{searchQuery:"",sortOrder:null}},ionViewWillEnter(){this.$store.dispatch("tm/loadUnscheduledSubtasks")},computed:{...(0,n.Se)("tm",["unscheduledSubtasks","mastertasks"]),filteredUnscheduledTasks(){if(!this.unscheduledSubtasks)return null;let e=this.unscheduledSubtasks.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/loadUnscheduledSubtasks",e)},onUpdateSortOrder(e){this.sortOrder=e},filterParams(e,t){return!!t&&t.toLowerCase().includes(e.toLowerCase())},getMasterTaskDeadline(e){return e.master_task_deadline}}};const E=(0,S.Z)(C,[["render",l]]);var T=E}}]); +//# sourceMappingURL=7910.59502459.js.map \ No newline at end of file diff --git a/app/dist/js/7910.59502459.js.map b/app/dist/js/7910.59502459.js.map new file mode 100644 index 0000000..7baeade --- /dev/null +++ b/app/dist/js/7910.59502459.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/7910.59502459.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-unscheduled/tasks-unscheduled.vue","webpack://jandl/./src/plugins/tm@overview/tasks-unscheduled/_components/a-unscheduled-table.vue","webpack://jandl/./src/plugins/tm@overview/tasks-unscheduled/_components/a-unscheduled-table.vue?e110","webpack://jandl/./src/plugins/tm@overview/tasks-unscheduled/tasks-unscheduled.vue?1712"],"sourcesContent":["\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/matejglasnak/gitrepo/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\n\n","\n\n\n\n","import { render } from \"./a-unscheduled-table.vue?vue&type=template&id=eeb895c0&scoped=true\"\nimport script from \"./a-unscheduled-table.vue?vue&type=script&lang=js\"\nexport * from \"./a-unscheduled-table.vue?vue&type=script&lang=js\"\n\nimport \"./a-unscheduled-table.vue?vue&type=style&index=0&id=eeb895c0&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-eeb895c0\"]])\n\nexport default __exports__","import { render } from \"./tasks-unscheduled.vue?vue&type=template&id=64eb3aa4\"\nimport script from \"./tasks-unscheduled.vue?vue&type=script&lang=js\"\nexport * from \"./tasks-unscheduled.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"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_unscheduled_table","subtasks","_createElementVNode","_component_v_table","_hoisted_1","_Fragment","$props","subtask","key","onClick","project_code","title","master_task","deadline","_component_v_tooltip","location","activator","props","spent_time","_hoisted_4","_hoisted_5","src","alt","Array","required","bin","eye","office365","editTask","editMode","editOfficeEvent","deleteTask","$events","emit","getDeadline","moment","format","master_task_deadline","components","ZTasksSearch","AUnscheduledTable","ionViewWillEnter","dispatch","filteredUnscheduledTasks","unscheduledSubtasks","filteredSubtasks","filter","filterParams","name","sort","a","b","nameA","toLowerCase","nameB","localeCompare","deadlineA","Date","getMasterTaskDeadline","deadlineB","newSortOrder","row","includes"],"sourceRoot":""} \ No newline at end of file diff --git a/app/dist/js/9215.17409451.js b/app/dist/js/9215.17409451.js deleted file mode 100644 index 52d4560..0000000 --- a/app/dist/js/9215.17409451.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self["webpackChunkjandl"]=self["webpackChunkjandl"]||[]).push([[9215],{35299:function(e,t,s){s.d(t,{Z:function(){return p}});var a=s(73396),l=s(60988),r=s(16824),n=s(10240),d=s(45869);function o(e,t,s,o,i,u){return(0,a.wg)(),(0,a.j4)(r.o,{class:"px-10 py-8 subheader"},{default:(0,a.w5)((()=>[(0,a.Wm)(l.f,{"custom-filter":e.customFilter,"match-any":!0,modelValue:i.selectedEmployeeId,"onUpdate:modelValue":t[0]||(t[0]=e=>i.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)(d.hw,{modelValue:i.searchQuery,"onUpdate:modelValue":t[1]||(t[1]=e=>i.searchQuery=e),class:"subheader-input",variant:"outlined",placeholder:"Vyhľadávanie","prepend-inner-icon":"mdi-magnify",onInput:u.onInput,type:"text"},null,8,["modelValue","onInput"]),(0,a.Wm)(n.r,{modelValue:i.sortOrder,"onUpdate:modelValue":t[2]||(t[2]=e=>i.sortOrder=e),class:"subheader-input",items:i.sortOptions,variant:"outlined",label:"Zoradiť podľa","item-title":"text","item-value":"value"},null,8,["modelValue","items"])])),_:1})}var i=s(20065),u=s(83299),c={mixins:[u.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,i.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)(c,[["render",o],["__scopeId","data-v-45dcb20a"]]);var p=h},29215:function(e,t,s){s.r(t),s.d(t,{default:function(){return O}});var a=s(73396);function l(e,t,s,l,r,n){const d=(0,a.up)("Z-tasks-search"),o=(0,a.up)("A-unscheduled-table"),i=(0,a.up)("W-loadable");return(0,a.wg)(),(0,a.iD)("div",null,[(0,a.Wm)(d,{onSearch:n.onSearch,onEmployeeSelected:n.onEmployeeSelected,onUpdateSortOrder:n.onUpdateSortOrder},null,8,["onSearch","onEmployeeSelected","onUpdateSortOrder"]),(0,a.Wm)(i,{content:n.filteredUnscheduledTasks,emptyMessage:r.searchQuery.length?"Neboli nájdené žiadne úlohy":"Nenašli sa žiadne záznamy"},{default:(0,a.w5)((()=>[(0,a.Wm)(o,{subtasks:n.filteredUnscheduledTasks},null,8,["subtasks"])])),_:1},8,["content","emptyMessage"])])}var r=s(35299),n=s(20065),d=s(49242),o=s(87139),i=s(4413),u=s(80678);const c=e=>((0,a.dD)("data-v-7c21f464"),e=e(),(0,a.Cn)(),e),m=c((()=>(0,a._)("thead",null,[(0,a._)("tr",null,[(0,a._)("th",{class:"text-left"},"Kód projektu"),(0,a._)("th",{class:"text-left"},"Názov"),(0,a._)("th",{class:"text-left"},"Deadline"),(0,a._)("th",{class:"text-left"},"Trvanie"),(0,a._)("th",{class:"text-left"},"Akcia")])],-1))),h=["onClick"],p={key:0},k={class:"task-action"},y={class:"d-flex justify-start"},f=["src","onClick"],w=["src","onClick"];function _(e,t,l,r,n,c){return(0,a.wg)(),(0,a.j4)(i.Y,null,{default:(0,a.w5)((()=>[m,(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,d.iM)((t=>c.editTask(e,!1)),["stop"])},[(0,a._)("td",null,(0,o.zw)(e.project_code),1),(0,a._)("td",null,(0,o.zw)(e.title??e.master_task),1),e?.deadline?((0,a.wg)(),(0,a.iD)("td",p,(0,o.zw)(c.getDeadline(e)),1)):(0,a.kq)("",!0),(0,a.Wm)(u.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,o.vs)((0,a.dG)({key:0},t)),(0,o.zw)(c.getDeadline(e))+"*",17))])),_:2},1024),(0,a._)("td",null,(0,o.zw)(e.spent_time)+" h",1),(0,a._)("td",k,[(0,a._)("div",y,[(0,a._)("img",{class:"pencil-icon",src:s(34413),alt:"pencil-icon",onClick:(0,d.iM)((t=>c.editTask(e,!1)),["stop"])},null,8,f),(0,a._)("img",{class:"trash-icon",src:s(27484),alt:"trash-icon",onClick:(0,d.iM)((t=>c.deleteTask(e)),["stop"])},null,8,w)])])],8,h)))),128))])])),_:1})}var v=s(36797),D=s.n(v),b={props:{subtasks:{type:Array,required:!0}},computed:{...(0,n.Se)("tm",["mastertasks"])},methods:{editTask(e,t){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?D()(e.deadline).format("DD.MM.yyyy"):D()(e.master_task_deadline).format("DD.MM.yyyy")}}},g=s(40089);const S=(0,g.Z)(b,[["render",_],["__scopeId","data-v-7c21f464"]]);var C=S,x={components:{ZTasksSearch:r.Z,AUnscheduledTable:C},data(){return{searchQuery:"",sortOrder:null}},ionViewWillEnter(){this.$store.dispatch("tm/loadUnscheduledSubtasks")},computed:{...(0,n.Se)("tm",["unscheduledSubtasks","mastertasks"]),filteredUnscheduledTasks(){if(!this.unscheduledSubtasks)return null;let e=this.unscheduledSubtasks.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/loadUnscheduledSubtasks",e)},onUpdateSortOrder(e){this.sortOrder=e},filterParams(e,t){return!!t&&t.toLowerCase().includes(e.toLowerCase())},getMasterTaskDeadline(e){return e.master_task_deadline}}};const M=(0,g.Z)(x,[["render",l]]);var O=M}}]); -//# sourceMappingURL=9215.17409451.js.map \ No newline at end of file diff --git a/app/dist/js/9215.17409451.js.map b/app/dist/js/9215.17409451.js.map deleted file mode 100644 index 5cf2511..0000000 --- a/app/dist/js/9215.17409451.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"js/9215.17409451.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-unscheduled/tasks-unscheduled.vue","webpack://jandl/./src/plugins/tm@overview/tasks-unscheduled/_components/a-unscheduled-table.vue","webpack://jandl/./src/plugins/tm@overview/tasks-unscheduled/_components/a-unscheduled-table.vue?e110","webpack://jandl/./src/plugins/tm@overview/tasks-unscheduled/tasks-unscheduled.vue?1712"],"sourcesContent":["\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/matejglasnak/gitrepo/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\n\n","\n\n\n\n","import { render } from \"./a-unscheduled-table.vue?vue&type=template&id=7c21f464&scoped=true\"\nimport script from \"./a-unscheduled-table.vue?vue&type=script&lang=js\"\nexport * from \"./a-unscheduled-table.vue?vue&type=script&lang=js\"\n\nimport \"./a-unscheduled-table.vue?vue&type=style&index=0&id=7c21f464&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-7c21f464\"]])\n\nexport default __exports__","import { render } from \"./tasks-unscheduled.vue?vue&type=template&id=64eb3aa4\"\nimport script from \"./tasks-unscheduled.vue?vue&type=script&lang=js\"\nexport * from \"./tasks-unscheduled.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"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_unscheduled_table","subtasks","_createElementVNode","_component_v_table","_hoisted_1","_Fragment","$props","subtask","key","onClick","project_code","title","master_task","deadline","_component_v_tooltip","location","activator","props","spent_time","_hoisted_4","_hoisted_5","src","require","alt","Array","required","editTask","editMode","$events","emit","deleteTask","getDeadline","moment","format","master_task_deadline","components","ZTasksSearch","AUnscheduledTable","ionViewWillEnter","dispatch","filteredUnscheduledTasks","unscheduledSubtasks","filteredSubtasks","filter","filterParams","name","sort","a","b","nameA","toLowerCase","nameB","localeCompare","deadlineA","Date","getMasterTaskDeadline","deadlineB","newSortOrder","row","includes"],"sourceRoot":""} \ No newline at end of file diff --git a/app/dist/js/9730.caa9c858.js b/app/dist/js/9730.caa9c858.js new file mode 100644 index 0000000..e25cb1b --- /dev/null +++ b/app/dist/js/9730.caa9c858.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkjandl"]=self["webpackChunkjandl"]||[]).push([[9730],{35299:function(e,t,a){a.d(t,{Z:function(){return p}});var s=a(73396),n=a(60988),l=a(16824),r=a(10240),i=a(45869);function d(e,t,a,d,o,c){return(0,s.wg)(),(0,s.j4)(l.o,{class:"px-10 py-8 subheader"},{default:(0,s.w5)((()=>[(0,s.Wm)(n.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,s.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,s.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=a(20065),c=a(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=a(40089);const h=(0,m.Z)(u,[["render",d],["__scopeId","data-v-45dcb20a"]]);var p=h},89730:function(e,t,a){a.r(t),a.d(t,{default:function(){return N}});var s=a(73396);function n(e,t,a,n,l,r){const i=(0,s.up)("Z-tasks-search"),d=(0,s.up)("A-ongoing-table"),o=(0,s.up)("W-loadable");return(0,s.wg)(),(0,s.iD)("div",null,[(0,s.Wm)(i,{onSearch:r.onSearch,onEmployeeSelected:r.onEmployeeSelected,onUpdateSortOrder:r.onUpdateSortOrder},null,8,["onSearch","onEmployeeSelected","onUpdateSortOrder"]),(0,s.Wm)(o,{content:r.filteredOngoingTasks,emptyMessage:l.searchQuery.length?"Neboli nájdené žiadne úlohy":"Nenašli sa žiadne záznamy"},{default:(0,s.w5)((()=>[(0,s.Wm)(d,{subtasks:r.filteredOngoingTasks},null,8,["subtasks"])])),_:1},8,["content","emptyMessage"])])}var l=a(35299),r=a(20065),i=a(49242),d=a(87139),o=a(4413),c=a(80678);const u=e=>((0,s.dD)("data-v-6c8f34fe"),e=e(),(0,s.Cn)(),e),m=u((()=>(0,s._)("th",{class:"text-left"},"Názov",-1))),h=u((()=>(0,s._)("th",{class:"text-left"},"Deadline",-1))),p=u((()=>(0,s._)("th",{class:"text-left"},"Najbližší neuzavretý",-1))),f=u((()=>(0,s._)("th",{class:"text-left"},"Naplánované",-1))),y=u((()=>(0,s._)("th",{class:"text-left"},"Zostávajúce",-1))),k=u((()=>(0,s._)("th",{class:"text-left"},"Akcia",-1))),g=["onClick"],D={key:0},_={class:"task-action"},v={class:"d-flex justify-start align-center"},w=["src","onClick"],b=["src"];function S(e,t,a,n,l,r){return(0,s.wg)(),(0,s.j4)(o.Y,null,{default:(0,s.w5)((()=>[(0,s._)("thead",null,[(0,s._)("tr",null,[(0,s._)("th",{onClick:t[0]||(t[0]=(...e)=>r.getSelectedTimeblockDeadline&&r.getSelectedTimeblockDeadline(...e)),class:"text-left"},"Kód projektu"),m,h,p,f,y,k])]),(0,s._)("tbody",null,[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(a.subtasks,(e=>((0,s.wg)(),(0,s.iD)("tr",{class:"cursor-pointer",key:e.id,onClick:(0,i.iM)((t=>r.editTask(e,!1)),["stop"])},[(0,s._)("td",null,(0,d.zw)(e.project_code),1),(0,s._)("td",null,(0,d.zw)(e.title??e.master_task),1),e.deadline?((0,s.wg)(),(0,s.iD)("td",D,(0,d.zw)(r.getDeadline(e)),1)):(0,s.kq)("",!0),(0,s.Wm)(c.N,{text:"Deadline z Mastertasku",location:"end"},{activator:(0,s.w5)((({props:t})=>[e.deadline?(0,s.kq)("",!0):((0,s.wg)(),(0,s.iD)("td",(0,d.vs)((0,s.dG)({key:0},t)),(0,d.zw)(r.getDeadline(e))+"*",17))])),_:2},1024),(0,s._)("td",null,(0,d.zw)(r.displayTimeblock(e)),1),(0,s._)("td",null,(0,d.zw)(e.duration)+" h",1),(0,s._)("td",null,(0,d.zw)((e.duration-e.spent_time).toFixed(2))+" h",1),(0,s._)("td",_,[(0,s._)("div",v,[((0,s.wg)(),(0,s.iD)(s.HY,{key:0},[(0,s._)("img",{class:"pencil-icon",src:l.eye,onClick:(0,i.iM)((t=>r.editOfficeEvent(e)),["stop"])},null,8,w),(0,s._)("img",{class:"office-icon",src:l.office365},null,8,b)],64))])])],8,g)))),128))])])),_:1})}var O=a(65687),x=a(36797),T=a.n(x),M={props:{subtasks:{type:Array,required:!0}},data(){return{eye:O.iy,bin:O.Ly,office365:O.QS}},computed:{...(0,r.Se)("tm",["mastertasks"])},methods:{editTask(e,t=!1){return this.editOfficeEvent(e)},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()(),a=e.filter((e=>0===e.is_finished));if(a.length>0)return T()(a[0].end).format("DD.MM.yyyy, HH:mm");const s=e.filter((e=>T()(e.end).isAfter(t))).sort(((e,t)=>T()(e.end).diff(T()(t.end))));return s.length>0&&0===s.is_finished?T()(s[0].end).format("DD.MM.yyyy, HH:mm"):""},displayTimeblock(e){const t=this.getSelectedTimeblockDeadline(e.timeblocks);return""!==t?t:"Žiadny termín"},editOfficeEvent(e){this.$events.emit("show-unable-to-edit-office-task-modal",{subtask:e})}}},C=a(40089);const E=(0,C.Z)(M,[["render",S],["__scopeId","data-v-6c8f34fe"]]);var j=E,z={components:{ZTasksSearch:l.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 a=(e.title||e.master_task||"").toLowerCase(),s=(t.title||t.master_task||"").toLowerCase();return a.localeCompare(s)})):"nameDesc"===this.sortOrder?e.sort(((e,t)=>{const a=(e.title||e.master_task||"").toLowerCase(),s=(t.title||t.master_task||"").toLowerCase();return s.localeCompare(a)})):"deadlineDesc"===this.sortOrder?e.sort(((e,t)=>{const a=e.deadline?new Date(e.deadline):new Date(this.getMasterTaskDeadline(e)),s=t.deadline?new Date(t.deadline):new Date(this.getMasterTaskDeadline(t));return s-a})):"deadlineAsc"===this.sortOrder&&e.sort(((e,t)=>{const a=e.deadline?new Date(e.deadline):new Date(this.getMasterTaskDeadline(e)),s=t.deadline?new Date(t.deadline):new Date(this.getMasterTaskDeadline(t));return a-s})),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,C.Z)(z,[["render",n]]);var N=Z}}]); +//# sourceMappingURL=9730.caa9c858.js.map \ No newline at end of file diff --git a/app/dist/js/9730.caa9c858.js.map b/app/dist/js/9730.caa9c858.js.map new file mode 100644 index 0000000..41bd325 --- /dev/null +++ b/app/dist/js/9730.caa9c858.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/9730.caa9c858.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\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/matejglasnak/gitrepo/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\n","\n\n\n\n\n","import { render } from \"./a-ongoing-table.vue?vue&type=template&id=6c8f34fe&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=6c8f34fe&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-6c8f34fe\"]])\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/matejglasnak/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","Array","required","eye","bin","office365","editTask","editMode","editOfficeEvent","deleteTask","$events","emit","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/index.4a49bdbd.js b/app/dist/js/index.4a49bdbd.js deleted file mode 100644 index b51abcc..0000000 --- a/app/dist/js/index.4a49bdbd.js +++ /dev/null @@ -1,2 +0,0 @@ -(function(){var e={41993:function(e){function t(e){return Promise.resolve().then((function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}))}t.keys=function(){return[]},t.resolve=t,t.id=41993,e.exports=t},46700:function(e,t,s){var a={"./af":63906,"./af.js":63906,"./ar":40902,"./ar-dz":3853,"./ar-dz.js":3853,"./ar-kw":20299,"./ar-kw.js":20299,"./ar-ly":96825,"./ar-ly.js":96825,"./ar-ma":66379,"./ar-ma.js":66379,"./ar-sa":87700,"./ar-sa.js":87700,"./ar-tn":2059,"./ar-tn.js":2059,"./ar.js":40902,"./az":76043,"./az.js":76043,"./be":7936,"./be.js":7936,"./bg":34078,"./bg.js":34078,"./bm":14014,"./bm.js":14014,"./bn":29554,"./bn-bd":17114,"./bn-bd.js":17114,"./bn.js":29554,"./bo":6529,"./bo.js":6529,"./br":65437,"./br.js":65437,"./bs":19647,"./bs.js":19647,"./ca":59951,"./ca.js":59951,"./cs":26113,"./cs.js":26113,"./cv":37965,"./cv.js":37965,"./cy":35858,"./cy.js":35858,"./da":33515,"./da.js":33515,"./de":62831,"./de-at":6263,"./de-at.js":6263,"./de-ch":51127,"./de-ch.js":51127,"./de.js":62831,"./dv":4510,"./dv.js":4510,"./el":68616,"./el.js":68616,"./en-au":24595,"./en-au.js":24595,"./en-ca":73545,"./en-ca.js":73545,"./en-gb":79609,"./en-gb.js":79609,"./en-ie":43727,"./en-ie.js":43727,"./en-il":93302,"./en-il.js":93302,"./en-in":46305,"./en-in.js":46305,"./en-nz":39128,"./en-nz.js":39128,"./en-sg":84569,"./en-sg.js":84569,"./eo":50650,"./eo.js":50650,"./es":26358,"./es-do":64214,"./es-do.js":64214,"./es-mx":38639,"./es-mx.js":38639,"./es-us":30232,"./es-us.js":30232,"./es.js":26358,"./et":47279,"./et.js":47279,"./eu":15515,"./eu.js":15515,"./fa":27981,"./fa.js":27981,"./fi":37090,"./fi.js":37090,"./fil":79208,"./fil.js":79208,"./fo":2799,"./fo.js":2799,"./fr":23463,"./fr-ca":2213,"./fr-ca.js":2213,"./fr-ch":52848,"./fr-ch.js":52848,"./fr.js":23463,"./fy":41468,"./fy.js":41468,"./ga":88163,"./ga.js":88163,"./gd":2898,"./gd.js":2898,"./gl":76312,"./gl.js":76312,"./gom-deva":20682,"./gom-deva.js":20682,"./gom-latn":49178,"./gom-latn.js":49178,"./gu":31400,"./gu.js":31400,"./he":52795,"./he.js":52795,"./hi":17009,"./hi.js":17009,"./hr":46506,"./hr.js":46506,"./hu":69565,"./hu.js":69565,"./hy-am":93864,"./hy-am.js":93864,"./id":5626,"./id.js":5626,"./is":36649,"./is.js":36649,"./it":90151,"./it-ch":95348,"./it-ch.js":95348,"./it.js":90151,"./ja":79830,"./ja.js":79830,"./jv":33751,"./jv.js":33751,"./ka":63365,"./ka.js":63365,"./kk":85980,"./kk.js":85980,"./km":99571,"./km.js":99571,"./kn":25880,"./kn.js":25880,"./ko":16809,"./ko.js":16809,"./ku":96773,"./ku.js":96773,"./ky":65505,"./ky.js":65505,"./lb":50553,"./lb.js":50553,"./lo":51237,"./lo.js":51237,"./lt":91563,"./lt.js":91563,"./lv":61057,"./lv.js":61057,"./me":96495,"./me.js":96495,"./mi":83096,"./mi.js":83096,"./mk":43874,"./mk.js":43874,"./ml":46055,"./ml.js":46055,"./mn":87747,"./mn.js":87747,"./mr":17113,"./mr.js":17113,"./ms":8687,"./ms-my":7948,"./ms-my.js":7948,"./ms.js":8687,"./mt":14532,"./mt.js":14532,"./my":4655,"./my.js":4655,"./nb":56961,"./nb.js":56961,"./ne":2512,"./ne.js":2512,"./nl":48448,"./nl-be":72936,"./nl-be.js":72936,"./nl.js":48448,"./nn":49031,"./nn.js":49031,"./oc-lnc":5174,"./oc-lnc.js":5174,"./pa-in":30118,"./pa-in.js":30118,"./pl":93448,"./pl.js":93448,"./pt":33518,"./pt-br":62447,"./pt-br.js":62447,"./pt.js":33518,"./ro":70817,"./ro.js":70817,"./ru":10262,"./ru.js":10262,"./sd":58990,"./sd.js":58990,"./se":43842,"./se.js":43842,"./si":37711,"./si.js":37711,"./sk":80756,"./sk.js":80756,"./sl":3772,"./sl.js":3772,"./sq":6187,"./sq.js":6187,"./sr":40732,"./sr-cyrl":75713,"./sr-cyrl.js":75713,"./sr.js":40732,"./ss":99455,"./ss.js":99455,"./sv":69770,"./sv.js":69770,"./sw":80959,"./sw.js":80959,"./ta":36459,"./ta.js":36459,"./te":25302,"./te.js":25302,"./tet":67975,"./tet.js":67975,"./tg":71294,"./tg.js":71294,"./th":2385,"./th.js":2385,"./tk":24613,"./tk.js":24613,"./tl-ph":58668,"./tl-ph.js":58668,"./tlh":58190,"./tlh.js":58190,"./tr":74506,"./tr.js":74506,"./tzl":63440,"./tzl.js":63440,"./tzm":69852,"./tzm-latn":42350,"./tzm-latn.js":42350,"./tzm.js":69852,"./ug-cn":70730,"./ug-cn.js":70730,"./uk":40099,"./uk.js":40099,"./ur":72100,"./ur.js":72100,"./uz":96002,"./uz-latn":26322,"./uz-latn.js":26322,"./uz.js":96002,"./vi":14207,"./vi.js":14207,"./x-pseudo":24674,"./x-pseudo.js":24674,"./yo":10570,"./yo.js":10570,"./zh-cn":73644,"./zh-cn.js":73644,"./zh-hk":22591,"./zh-hk.js":22591,"./zh-mo":89503,"./zh-mo.js":89503,"./zh-tw":88080,"./zh-tw.js":88080};function i(e){var t=l(e);return s(t)}function l(e){if(!s.o(a,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return a[e]}i.keys=function(){return Object.keys(a)},i.resolve=l,e.exports=i,i.id=46700},77334:function(e,t,s){"use strict";s.d(t,{$t:function(){return _r}});var a=s(49242),i=s(74973);async function l(){const e=await s.e(3657).then(s.t.bind(s,33657,23));e.load({google:{families:["Roboto:100,300,400,500,700,900&display=swap"]}})}var n=s(38685),o=(s(29773),(0,n.Rd)()),r=(s(57658),s(96149));function d(){const e=r.CX["import"]("formats/link");e.PROTOCOL_WHITELIST.push("smb","fmp","radar","rdar","sms","\\");class t extends e{static sanitize(t){const s=super.sanitize(t);if(!s||"about:blank"===s)return s;const a=e.PROTOCOL_WHITELIST,i=a.some((e=>s.startsWith(e)));return i?s:`https://${s}`}}r.CX.register("formats/link",t,!0)}var u=s(73752),c=s.n(u),m=s(73396),h=s(97718),p=s(29271);function v(e,t,s,a,i,l){const n=(0,m.up)("router-view"),o=(0,m.up)("Z-team-modal"),r=(0,m.up)("Z-delete-team-modal"),d=(0,m.up)("Z-task-modal"),u=(0,m.up)("Z-delete-task-modal"),c=(0,m.up)("Z-delete-timeBlock-modal"),v=(0,m.up)("Z-delete-blocker-modal"),k=(0,m.up)("Z-delete-master-task-modal"),f=(0,m.up)("Z-complete-task-modal"),g=(0,m.up)("Z-complete-master-task-modal"),_=(0,m.up)("Z-task-add-time-modal"),w=(0,m.up)("Z-blocker-modal"),b=(0,m.up)("Z-master-task-modal"),y=(0,m.up)("Z-delete-team-member-modal"),D=(0,m.up)("Z-show-menu-modal");return(0,m.wg)(),(0,m.iD)(m.HY,null,[(0,m.Wm)(h.q,null,{default:(0,m.w5)((()=>[(0,m.Wm)(p.O,null,{default:(0,m.w5)((()=>[(0,m.Wm)(n)])),_:1})])),_:1}),(0,m.Wm)(o,{ref:"z-team-modal",onUpdate:l.onTeamUpdate},null,8,["onUpdate"]),(0,m.Wm)(r,{ref:"z-delete-team-modal",onUpdate:l.onTeamUpdate},null,8,["onUpdate"]),(0,m.Wm)(d,{ref:"z-task-modal",onOnSubtaskEdited:l.onTaskEdited},null,8,["onOnSubtaskEdited"]),(0,m.Wm)(u,{ref:"z-delete-task-modal",onOnSubtaskDeleted:l.onTaskDeleted},null,8,["onOnSubtaskDeleted"]),(0,m.Wm)(c,{ref:"z-delete-timeblock-modal",onOnSubtaskEdited:l.onTaskEdited},null,8,["onOnSubtaskEdited"]),(0,m.Wm)(v,{ref:"z-delete-blocker-modal",onOnBlockerDeleted:l.onBlockerDeleted},null,8,["onOnBlockerDeleted"]),(0,m.Wm)(k,{ref:"z-delete-master-task-modal",onOnMastertaskDeleted:l.onMasterTaskDeleted},null,8,["onOnMastertaskDeleted"]),(0,m.Wm)(f,{ref:"z-complete-task-modal",onOnSubtaskEdited:l.onTaskEdited},null,8,["onOnSubtaskEdited"]),(0,m.Wm)(g,{ref:"z-complete-master-task-modal",onMasterTaskEdited:l.onMasterTaskEdited},null,8,["onMasterTaskEdited"]),(0,m.Wm)(_,{ref:"z-task-add-time-modal"},null,512),(0,m.Wm)(w,{ref:"z-blocker-modal"},null,512),(0,m.Wm)(b,{ref:"z-master-task-modal",onMasterTaskEdited:l.onMasterTaskEdited},null,8,["onMasterTaskEdited"]),(0,m.Wm)(y,{ref:"z-delete-team-member-modal"},null,512),(0,m.Wm)(D,{ref:"z-show-menu-modal"},null,512)],64)}var k=s(87139),f=s(67312),g=s(75039),_=s(91334),w=s(33601),b=s(53289);const y={class:"d-flex justify-space-between align-center"};function D(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(w.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",y,[(0,m._)("h1",null,[(0,m.Uk)(" Ste si istý, že chcete zmazať tím "),(0,m._)("b",null,(0,k.zw)(l.team.name),1),(0,m.Uk)("? ")]),(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half",variant:"flat",onClick:t[1]||(t[1]=e=>n.deleteTeam()),disabled:l.isDeleting},{default:(0,m.w5)((()=>[(0,m.Uk)("ÁNO")])),_:1},8,["disabled"]),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[2]||(t[2]=(0,a.iM)((e=>n.closeModal()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ZRUŠIŤ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var M={mounted(){window.addEventListener("keydown",this.handleKeyDown)},methods:{handleKeyDown(e){27===e.keyCode&&(this.visible=!1)}}},T={mixins:[M],emits:["update"],data(){return{visible:!1,team:null,isDeleting:!1}},methods:{async showModal({team:e}){this.team=e,this.visible=!0},closeModal(){this.visible=!1},async deleteTeam(){if(!this.isDeleting){this.isDeleting=!0;try{await this.$axios.delete_auth(`v1/teams/${this.team.id}`),this.visible=!1,this.$emit("update",this.team),this.$store.commit("tm/delete_team",this.team)}catch(e){this.$toast.error(this.$parseError(e))}finally{this.isDeleting=!1}}}}},$=s(40089);const C=(0,$.Z)(T,[["render",D]]);var j=C,E=s(60988),x=s(45869);const W={class:"d-flex justify-space-between align-center modal-header"};function S(e,t,s,i,l,n){const o=(0,m.up)("W-loadable");return(0,m.wg)(),(0,m.j4)(w.B,{modelValue:l.visible,"onUpdate:modelValue":t[4]||(t[4]=e=>l.visible=e),"max-width":"750","max-height":"90%",height:"700px",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(o,{content:l.team,class:"h-100"},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,{height:"100%",class:"d-flex flex-column"},{default:(0,m.w5)((()=>[(0,m._)("div",W,[(0,m._)("h1",null,(0,k.zw)(l.team.id?"Upraviť tím":"Vytvoriť tím"),1),(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"d-flex flex-column modal-content"},{default:(0,m.w5)((()=>[(0,m.Wm)(x.hw,{class:(0,k.C_)(["modal-input",{error:l.v$.team.name.$errors.length}]),label:"Názov tímu",variant:"solo",hint:l.v$.team.name.$errors?l.errorUtils.parseErrors(l.v$.team.name.$errors):null,modelValue:l.team.name,"onUpdate:modelValue":t[1]||(t[1]=e=>l.team.name=e)},null,8,["class","hint","modelValue"]),((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(l.team.employees,((e,t)=>((0,m.wg)(),(0,m.iD)("div",{class:"relative w-100",key:e.id},[(0,m.Wm)(x.hw,{class:"modal-input",disabled:"",label:"Zamestanec",variant:"solo",modelValue:l.team.employees[t]._fullName,"onUpdate:modelValue":e=>l.team.employees[t]._fullName=e},null,8,["modelValue","onUpdate:modelValue"]),(0,m.Wm)(b.t,{class:"remove-input",onClick:(0,a.iM)((e=>l.team.employees.splice(t,1)),["stop"]),icon:"mdi-close",size:"small"},null,8,["onClick"])])))),128)),(0,m.Wm)(E.f,{"custom-filter":e.customFilter,"match-any":!0,modelValue:l.employeeSelect,"onUpdate:modelValue":t[2]||(t[2]=e=>l.employeeSelect=e),label:"Priradený",class:(0,k.C_)([{error:l.v$.team.employees.$errors.length},"modal-input"]),items:n.employeesOptions,"item-title":"_fullName","item-value":"id",variant:"solo",clearable:"",ref:"autocomplete"},null,8,["custom-filter","modelValue","class","items"])])),_:1}),(0,m.Wm)(f.T,{class:"button primary block",onClick:t[3]||(t[3]=e=>n.save())},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(l.team.id?"UPRAVIŤ":"VYTVORIŤ"),1)])),_:1})])),_:1})])),_:1},8,["content"])])),_:1},8,["modelValue"])}var O=s(33053),V=s(69117),z=s(7648),A=s(34407),U=s(20065),Z=s(83299);const H=e=>e.length;var I={mixins:[Z.Z,M],emits:["close","update"],data(){return{visible:!1,v$:(0,O.ZP)(),errorUtils:z.Z,employeeSelect:null,team:null}},computed:{...(0,U.Se)("tm",["enrichedEmployees"]),employeesOptions(){const e=this.team.employees.map((e=>e.id));return this.enrichedEmployees.filter((t=>!e.includes(t.id)))}},validations(){return{team:{name:{required:V.C1},employees:{atLeastOne:H}}}},methods:{async showModal({team:e=null}){this.visible=!0,this.team=null,this.$nextTick((()=>this.v$.$reset()));try{if(e?.id){const t=await this.$axios.get_auth_data(`v1/teams/${e.id}`);this.team=this._enrichTeam(t)}else this.team={employees:[]}}catch(t){this.$toast.error(this.$parseError(t))}},closeModal(){this.visible=!1,this.$emit("close",this.team)},async save(){if(await this.v$.$validate())try{if(this.team.id){const{team:e}=await this.$axios.put_auth(`v1/teams/${this.team.id}`,this.team),t=await this.$axios.get_auth_data(`v1/teams/${e.id}`);this.$store.commit("tm/update_team",t)}else{const{team:e}=await this.$axios.post_auth("v1/teams",this.team),t=await this.$axios.get_auth_data(`v1/teams/${e.id}`);this.$store.commit("tm/save_team",t)}this.closeModal()}catch(e){this.$toast.error(this.$parseError(e))}},_enrichTeam(e){return e.employees=A.Z.enrichEmployees(e.employees),e}},watch:{employeeSelect(e){if(!e)return;const t=this.enrichedEmployees.find((t=>t.id==e));this.team.employees.push(t),this.employeeSelect=null,this.$refs.autocomplete.search=""}}};const F=(0,$.Z)(I,[["render",S]]);var P=F;const L={class:"d-flex justify-space-between align-center"};function N(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(w.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",L,[(0,m._)("h1",null,[(0,m.Uk)("Ste si istý, že chcete zmazať sub task z mastertasku "),(0,m._)("b",null,(0,k.zw)(l.subtask.project_code),1),(0,m.Uk)("?")]),(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large",class:"mb-15"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half",variant:"flat",onClick:t[1]||(t[1]=e=>n.deleteTask()),disabled:l.isDeleting},{default:(0,m.w5)((()=>[(0,m.Uk)("ÁNO")])),_:1},8,["disabled"]),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[2]||(t[2]=(0,a.iM)((e=>n.closeModal()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ZRUŠIŤ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var Y={mixins:[M],emits:["on-subtask-deleted"],data(){return{visible:!1,subtask:null,isDeleting:!1}},methods:{async showModal({subtask:e}){this.subtask=e,this.visible=!0},closeModal(){this.visible=!1},async deleteTask(){if(!this.isDeleting){this.isDeleting=!0;try{await this.$axios.delete_auth(`v1/subtasks/${this.subtask.id}`),this.$store.commit("tm/delete_subtask",this.subtask),this.closeModal(),this.$emit("on-subtask-deleted",this.subtask)}catch(e){this.$toast.error(this.$parseError(e))}finally{this.isDeleting=!1}}}}};const q=(0,$.Z)(Y,[["render",N]]);var B=q;const R=e=>((0,m.dD)("data-v-4aa4bee3"),e=e(),(0,m.Cn)(),e),K={class:"d-flex justify-space-between align-center"},J=R((()=>(0,m._)("h4",{class:"mt-3"},"Vyberte časový úsek, ktorý chcete odstrániť",-1)));function X(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(w.B,{modelValue:l.visible,"onUpdate:modelValue":t[1]||(t[1]=e=>l.visible=e),"max-width":"500",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",K,[J,(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(l.subtask.timeblocks,((e,t)=>((0,m.wg)(),(0,m.iD)("div",{key:e.id,class:"d-flex align-center justify-center mb-3 mt-3"},[(0,m._)("p",{class:(0,k.C_)(["task-badge rounded-pill",{"strike-through":e.is_finished}])},(0,k.zw)(l.tmUtils.formatDateTime(e.start))+" - "+(0,k.zw)(l.tmUtils.formatDateTime(e.end)),3),(0,m.Wm)(b.t,{onClick:(0,a.iM)((s=>l.subtask.id?n.deleteTimeblock(e):n.deleteTimeblockWithoutId(t)),["stop"]),class:"close-icon circle-border cursor-pointer ml-3 text-red",icon:"mdi-close",size:"medium"},null,8,["onClick"])])))),128))])),_:1})])),_:1},8,["modelValue"])}var G={mixins:[M],emits:["on-subtask-edited"],data(){return{visible:!1,subtask:null,isDeleting:!1,tmUtils:A.Z}},methods:{async showModal({subtask:e}){this.subtask=e,this.visible=!0},closeModal(){this.visible=!1},async deleteTimeblock({id:e}){const t=JSON.parse(JSON.stringify(this.subtask));t.timeblocks=t.timeblocks.filter((t=>t.id!=e)),t.deadline&&(t.deadline=A.Z.formatDateTimeForBackend(t.deadline)),this._update(t)},deleteTimeblockWithoutId(e){this.$emit("delete-timeblock")},async _update(e){try{const t=e.timesheets.map((e=>(delete e.employee_name,e))),{subtask:s}=await this.$axios.put_auth(`v1/subtasks/${e.id}`,{...e,timesheets:t});this.closeModal(),this.$events.emit("on-subtask-edited",s)}catch(t){this.$toast.error(t.message||t)}}}};const Q=(0,$.Z)(G,[["render",X],["__scopeId","data-v-4aa4bee3"]]);var ee=Q;const te=e=>((0,m.dD)("data-v-2aaf3118"),e=e(),(0,m.Cn)(),e),se={class:"d-flex justify-space-between align-center modal-header"},ae={class:"splitted-inputs"},ie=te((()=>(0,m._)("path",{d:"M23.057 7.057l-16 16c-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0l16-16c0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0z"},null,-1))),le=te((()=>(0,m._)("path",{d:"M7.057 8.943l16 16c0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885l-16-16c-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885z"},null,-1))),ne=[ie,le],oe=["onClick"],re=te((()=>(0,m._)("path",{d:"M23.057 7.057l-16 16c-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0l16-16c0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0z"},null,-1))),de=te((()=>(0,m._)("path",{d:"M7.057 8.943l16 16c0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885l-16-16c-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885z"},null,-1))),ue=[re,de],ce={key:2,class:"timeblocks w-100"},me={class:"end-button w-100"},he={class:"splitted-time-inputs w-100"},pe={class:"w-100 modal-input"},ve={class:"d-flex justify-space-between align-center"},ke={class:"d-flex justify-space-between align-center modal-header border-bottom pb-4"},fe={class:"d-flex justify-start"},ge=["src"],_e=["src"],we={class:"w-100"},be={class:"d-flex justify-start align-center mt-8"};function ye(e,t,i,l,n,o){const r=(0,m.up)("Datepicker"),d=(0,m.up)("A-timeblock"),u=(0,m.up)("QuillEditor"),c=(0,m.up)("Z-files-upload"),h=(0,m.up)("Z-task-readonly-info"),p=(0,m.up)("W-loadable");return(0,m.wg)(),(0,m.j4)(w.B,{modelValue:n.visible,"onUpdate:modelValue":t[22]||(t[22]=e=>n.visible=e),"max-width":"750","max-height":"90%",height:"700px",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(p,{content:n.subtask,class:"h-100"},{default:(0,m.w5)((()=>[n.editMode?((0,m.wg)(),(0,m.j4)(g._,{key:0,height:"100%",class:"d-flex flex-column scrolling"},{default:(0,m.w5)((()=>[(0,m._)("div",se,[(0,m._)("h1",null,(0,k.zw)(n.subtask?.id?"Upraviť sub task":"Vytvoriť sub task"),1),(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>o.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"d-flex flex-column modal-content"},{default:(0,m.w5)((()=>[(0,m.Wm)(x.hw,{modelValue:n.subtask.project_code,"onUpdate:modelValue":t[1]||(t[1]=e=>n.subtask.project_code=e),label:"Kód projektu",value:n.subtask.project_code,onFocus:e.onInputFocus,class:"modal-input",variant:"solo",disabled:""},null,8,["modelValue","value","onFocus"]),(0,m.Wm)(E.f,{"custom-filter":e.customFilter,"match-any":!0,modelValue:n.subtask.master_task_id,"onUpdate:modelValue":t[2]||(t[2]=e=>n.subtask.master_task_id=e),label:"Master task",class:(0,k.C_)([{error:n.v$.subtask.master_task_id.$errors.length},"modal-input"]),items:e.mastertasks,"item-title":"name","item-value":"id",variant:"solo",clearable:""},null,8,["custom-filter","modelValue","class","items"]),(0,m.Wm)(x.hw,{modelValue:n.subtask.title,"onUpdate:modelValue":t[3]||(t[3]=e=>n.subtask.title=e),onFocus:e.onInputFocus,class:"modal-input",label:"Názov subtasku",variant:"solo"},null,8,["modelValue","onFocus"]),(0,m._)("div",ae,[(0,m._)("div",{onClick:t[5]||(t[5]=e=>o.openDatepicker("datepicker-01")),class:"datepicker-wrapper"},[(0,m.Wm)(r,{modelValue:n.subtask.deadline,"onUpdate:modelValue":t[4]||(t[4]=e=>n.subtask.deadline=e),onFocus:e.onDateFocus,ref:"datepicker-01","auto-apply":!0,"min-date":new Date,class:(0,k.C_)(["modal-input left datepicker-input",{error:n.v$.subtask.deadline.$errors?.length}]),format:"dd.MM.yyyy",locale:"sk","select-text":"Vybrať","cancel-text":"Zrušiť",placeholder:"Deadline",validations:n.v$.subtask.deadline},null,8,["modelValue","onFocus","min-date","class","validations"])]),(0,m.Wm)(x.hw,{class:(0,k.C_)(["modal-input right",{error:n.v$.subtask._deadline_time.$errors.length}]),variant:"solo",modelValue:n.subtask._deadline_time,"onUpdate:modelValue":t[6]||(t[6]=e=>n.subtask._deadline_time=e),label:"Čas","append-inner-icon":"mdi-clock-outline",type:"time",onFocus:e.onInputFocus,hint:n.v$.subtask._deadline_time.$errors?n.errorUtils.parseErrors(n.v$.subtask._deadline_time.$errors):null},null,8,["modelValue","onFocus","class","hint"])]),n.subtask.id?((0,m.wg)(),(0,m.iD)(m.HY,{key:0},[(0,m._)("div",{class:(0,k.C_)(["employee-wrapper",{"hide-arrow":n.subtask.employee_id}])},[n.subtask.employee_id?((0,m.wg)(),(0,m.iD)("svg",{key:0,version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 32 32",class:"dp__icon dp__clear_icon dp__input_icons","data-test":"clear-icon",onClick:t[7]||(t[7]=(0,a.iM)((e=>{n.subtask.employee_id=null,n.subtask.employee=null}),["prevent"]))},ne)):(0,m.kq)("",!0),(0,m.Wm)(E.f,{"custom-filter":e.customFilter,"match-any":!0,modelValue:n.subtask.employee_id,"onUpdate:modelValue":[t[8]||(t[8]=e=>n.subtask.employee_id=e),t[9]||(t[9]=e=>n.employeeValidations[0]?n.employeeValidations[0].employee=!1:null)],label:"Priradený",items:e.enrichedEmployees,"item-title":"_fullName","item-value":"id",variant:"solo",class:(0,k.C_)(["modal-input",{error:n.employeeValidations[0]?.employee}])},null,8,["custom-filter","modelValue","items","class"])],2),(0,m.Wm)(x.hw,{modelValue:n.subtask.duration,"onUpdate:modelValue":[t[10]||(t[10]=e=>n.subtask.duration=e),t[11]||(t[11]=e=>n.employeeValidations[0]?n.employeeValidations[0].duration=!1:null)],class:(0,k.C_)(["modal-input",{error:n.employeeValidations[0]?.duration}]),variant:"solo",type:"number",label:"Časový odhad","append-inner-icon":"mdi-clock-outline",onFocus:e.onInputFocus},null,8,["modelValue","class","onFocus"])],64)):((0,m.wg)(!0),(0,m.iD)(m.HY,{key:1},(0,m.Ko)(n.subtask.employees,((t,s)=>((0,m.wg)(),(0,m.iD)("div",{key:`employee-${s}`,class:(0,k.C_)(["splitted-inputs remove-employee",{"hide-arrow":t.id}])},[(0,m.Wm)(E.f,{"custom-filter":e.customFilter,"match-any":!0,modelValue:t.id,"onUpdate:modelValue":[e=>t.id=e,e=>n.employeeValidations[s]?n.employeeValidations[s].employee=!1:null],label:"Priradený",items:e.enrichedEmployees,"item-title":"_fullName","item-value":"id",variant:"solo",class:(0,k.C_)(["modal-input left",{error:n.employeeValidations[s]?.employee}])},null,8,["custom-filter","modelValue","onUpdate:modelValue","items","class"]),t.id?((0,m.wg)(),(0,m.iD)("svg",{key:0,version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 32 32",class:"dp__icon dp__clear_icon dp__input_icons","data-test":"clear-icon",onClick:(0,a.iM)((e=>t.id=null),["prevent"])},ue,8,oe)):(0,m.kq)("",!0),(0,m.Wm)(x.hw,{modelValue:t.duration,"onUpdate:modelValue":[e=>t.duration=e,e=>n.employeeValidations[s]?n.employeeValidations[s].duration=!1:null],class:(0,k.C_)(["modal-input right",{error:n.employeeValidations[s]?.duration}]),variant:"solo",type:"number",label:"Časový odhad","append-inner-icon":"mdi-clock-outline",onFocus:e.onInputFocus},null,8,["modelValue","onUpdate:modelValue","class","onFocus"])],2)))),128)),n.subtask.id?((0,m.wg)(!0),(0,m.iD)(m.HY,{key:3},(0,m.Ko)(n.subtask.timeblocks,((e,t)=>((0,m.wg)(),(0,m.iD)("div",{key:t,class:"timeblock w-100"},[(0,m.Wm)(r,{"model-value":e.start.substring(0,10),format:"dd.MM.yyyy",locale:"sk","select-text":"Vybrať","cancel-text":"Zrušiť",placeholder:"Dátum","auto-apply":!0,"enable-time-picker":!1,readonly:"",class:"mb-5 modal-input"},null,8,["model-value"]),(0,m._)("div",he,[(0,m.Wm)(x.hw,{value:e.start.substring(11,16),type:"time",variant:"solo","bg-color":"white",label:"Začiatok"},null,8,["value"]),(0,m.Wm)(x.hw,{value:e.end.substring(11,16),type:"time",variant:"solo","bg-color":"white",label:"Koniec"},null,8,["value"])])])))),128)):((0,m.wg)(),(0,m.iD)("div",ce,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.timeblocks,((e,t)=>((0,m.wg)(),(0,m.j4)(d,{key:t,onUpdateTimeblock:e=>o.updateTimeblock(e,t),onRemoveTimeblock:e=>o.removeTimeblock(t),timeblock:e,deletable:t>0,editable:"",ref_for:!0,ref:`timetable-${t}`},null,8,["onUpdateTimeblock","onRemoveTimeblock","timeblock","deletable"])))),128)),(0,m._)("div",me,[(0,m._)("button",{onClick:t[12]||(t[12]=e=>n.timeblocks.push({date:null,starts_at_time:null,ends_at_time:null}))},"Pridať časový blok")])])),(0,m._)("div",pe,[(0,m.Wm)(u,{ref:"description",modelValue:n.subtask.description,"onUpdate:modelValue":t[13]||(t[13]=e=>n.subtask.description=e),placeholder:"Popis",theme:"snow",class:"rich-text-editor",onInput:t[14]||(t[14]=e=>n.subtask.description=e.srcElement.innerHTML)},null,8,["modelValue"])]),(0,m.Wm)(c,{class:"mt-15 files",files:n.subtask.files,onFilesUploaded:o.filesUploaded,"is-saving":n.isSaving},null,8,["files","onFilesUploaded","is-saving"])])),_:1}),n.isSaving?((0,m.wg)(),(0,m.j4)(f.T,{key:1,class:"button primary disabled",disabled:""},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(e.$t("Ukladám...")),1)])),_:1})):((0,m.wg)(),(0,m.j4)(f.T,{key:0,class:"button primary",onClick:t[15]||(t[15]=e=>o.save())},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(n.subtask.id?"UPRAVIŤ":"VYTVORIŤ"),1)])),_:1}))])),_:1})):((0,m.wg)(),(0,m.j4)(g._,{key:1,height:"100%",class:"d-flex flex-column scrolling"},{default:(0,m.w5)((()=>[(0,m._)("div",ve,[(0,m._)("div",null,[(0,m._)("p",null,(0,k.zw)(n.subtask._master_task.project_code),1),(0,m._)("h1",null,(0,k.zw)(n.subtask._master_task.name),1)]),(0,m.Wm)(b.t,{onClick:t[16]||(t[16]=(0,a.iM)((e=>o.closeModal()),["stop"])),icon:"mdi-close",size:"large",class:"pb-5"})]),(0,m._)("div",ke,[(0,m._)("h1",null,(0,k.zw)(n.subtask.title),1),(0,m._)("div",fe,[(0,m._)("img",{class:"icon",src:s(60666),alt:"pencil-icon",onClick:t[17]||(t[17]=(0,a.iM)((e=>n.editMode=!n.editMode),["stop"]))},null,8,ge),(0,m._)("img",{class:"icon trash",src:s(27484),alt:"trash-icon",onClick:t[18]||(t[18]=(0,a.iM)((e=>o.openDeleteTaskModal(n.subtask)),["stop"]))},null,8,_e)])]),(0,m.Wm)(_.h,{class:"d-flex flex-column modal-content"},{default:(0,m.w5)((()=>[(0,m._)("div",we,[(0,m.Wm)(h,{subtask:n.subtask,onCloseModal:o.closeModal,onUpdateSubtask:o.updateSubtask},null,8,["subtask","onCloseModal","onUpdateSubtask"]),(0,m._)("div",be,[n.subtask.is_finished?((0,m.wg)(),(0,m.j4)(f.T,{key:1,class:"button secondary",onClick:t[20]||(t[20]=(0,a.iM)((e=>o.showCompleteTaskModal()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("Znovu otvoriť")])),_:1})):((0,m.wg)(),(0,m.j4)(f.T,{key:0,class:"done-btn",onClick:t[19]||(t[19]=(0,a.iM)((e=>o.showCompleteTaskModal()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("Dokončiť")])),_:1})),(0,m.Wm)(f.T,{class:"button secondary",onClick:t[21]||(t[21]=e=>o.closeModal())},{default:(0,m.w5)((()=>[(0,m.Uk)("Uložiť zmeny")])),_:1})])])])),_:1})])),_:1}))])),_:1},8,["content"])])),_:1},8,["modelValue"])}var De=s(63972),Me=s(87103);const Te={class:"w-100 d-flex align-center"},$e={key:0,class:"m-2 d-flex align-center flex-wrap"},Ce={key:0,class:"d-flex align-center"},je=["src"];function Ee(e,t,i,l,n,o){return(0,m.wg)(),(0,m.iD)("div",Te,[(0,m._)("input",{type:"file",multiple:"",name:"file",id:"fileInput",class:"hidden-input",accept:"*",onChange:t[0]||(t[0]=(...e)=>o.onChange&&o.onChange(...e)),ref:"fileUpload"},null,544),(0,m.Wm)(f.T,{class:"upload-btn",onClick:t[1]||(t[1]=t=>e.$refs.fileUpload.click())},{default:(0,m.w5)((()=>[(0,m.Wm)(b.t,{class:"mx-1",icon:"mdi-cloud-upload-outline"}),(0,m.Uk)("NAHRAŤ ")])),_:1}),n.uploadedFiles?((0,m.wg)(),(0,m.iD)("div",$e,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.uploadedFiles,(e=>((0,m.wg)(),(0,m.iD)("div",{key:e.name,class:"mx-2"},[(0,m.Wm)(Me.v,{class:"mt-2"},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(e.name)+" ",1),(0,m.Wm)(b.t,{class:"mx-1",icon:"mdi-paperclip"}),(0,m._)("p",null,(0,k.zw)((e.size/1048576).toFixed(2))+" MB",1),(0,m.Wm)(b.t,{size:"small",icon:"mdi-close",onClick:(0,a.iM)((t=>o.remove(n.uploadedFiles.indexOf(e))),["stop"])},null,8,["onClick"])])),_:2},1024)])))),128)),i.isSaving?((0,m.wg)(),(0,m.iD)("div",Ce,[i.isSaving?((0,m.wg)(),(0,m.iD)("img",{key:0,class:"gif-loader",src:s(14214),alt:"Loading..."},null,8,je)):(0,m.kq)("",!0)])):(0,m.kq)("",!0)])):(0,m.kq)("",!0)])}var xe={emit:["files-uploaded"],props:{files:{type:Array,default:()=>[]},isSaving:{type:Boolean,required:!1}},data(){return{uploadedFiles:[]}},created(){this.uploadedFiles=this.files},methods:{onChange(){const e=[...this.$refs.fileUpload.files],t=52428800,s=e.filter((e=>e.size>t));s.length>0?this.$toast.error("File is too large. Maximum file size is 50 MB."):(this.uploadedFiles=[...this.uploadedFiles,...e],this.$emit("files-uploaded",this.uploadedFiles),this.$refs.fileUpload.value="")},remove(e){this.uploadedFiles.splice(e,1)}}};const We=(0,$.Z)(xe,[["render",Ee],["__scopeId","data-v-a2a40214"]]);var Se=We,Oe=s(16824),Ve=s(68521),ze=s(74286);const Ae={class:"d-flex align-center"},Ue=(0,m._)("p",{class:"mx-3"},"Trvanie",-1),Ze={class:"d-flex align-center mb-3"},He=(0,m._)("p",{class:"task-badge rounded-pill"},"Pridať záznam",-1),Ie={class:"d-flex justify-space-between align-center"},Fe=(0,m._)("h1",null,"Pridať dátum",-1),Pe={class:"d-flex justify-space-between align-center"},Le={class:"text-red"},Ne=(0,m._)("br",null,null,-1),Ye={class:"text-black"};function qe(e,t,s,i,l,n){const o=(0,m.up)("Datepicker");return(0,m.wg)(),(0,m.iD)(m.HY,null,[(0,m.Wm)(Oe.o,{"no-gutters":""},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Ae,[(0,m.Wm)(b.t,{icon:"mdi-calendar-week",size:"large"}),Ue])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Ze,[(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=e=>l.showModal=!0),class:"add-date cursor-pointer mr-2",icon:"mdi-plus",size:"medium"}),He]),((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(s.timeblocks,((e,t)=>((0,m.wg)(),(0,m.iD)("div",{key:e.id,class:"d-flex align-center mb-3"},[(0,m.Wm)(b.t,{onClick:(0,a.iM)((a=>s.subtask.id?n.deleteTimeblock(e):n.deleteTimeblockWithoutId(t)),["stop"]),class:"circle-border cursor-pointer mr-2",icon:"mdi-minus",size:"medium"},null,8,["onClick"]),(0,m._)("p",{class:(0,k.C_)(["task-badge rounded-pill",{"strike-through":e.is_finished}])},(0,k.zw)(l.tmUtils.formatDateTime(e.start))+" - "+(0,k.zw)(l.tmUtils.formatDateTime(e.end)),3),(0,m.wy)((0,m.Wm)(b.t,{onClick:(0,a.iM)((t=>n.toggleTimeblockIsFinished(e)),["stop"]),class:(0,k.C_)(["circle-border cursor-pointer ml-2",{completed:e.is_finished}]),icon:"mdi-check",size:"medium"},null,8,["onClick","class"]),[[a.F8,s.subtask.id]])])))),128))])),_:1})])),_:1})])),_:1}),(0,m.Wm)(w.B,{"max-width":"750",modelValue:l.showModal,"onUpdate:modelValue":t[6]||(t[6]=e=>l.showModal=e),persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",Ie,[Fe,(0,m.Wm)(b.t,{onClick:t[1]||(t[1]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex flex-column modal-content"},{default:(0,m.w5)((()=>[(0,m.Wm)(o,{modelValue:l.form.date,"onUpdate:modelValue":t[2]||(t[2]=e=>l.form.date=e),format:"dd.MM.yyyy",locale:"sk","select-text":"Vybrať","cancel-text":"Zrušiť",placeholder:"Dátum","auto-apply":!0,"enable-time-picker":!1,class:(0,k.C_)(["mb-5 modal-input",{error:l.v$.form.date.$errors.length}])},null,8,["modelValue","class"]),(0,m.Wm)(x.hw,{modelValue:l.form.starts_at_time,"onUpdate:modelValue":t[3]||(t[3]=e=>l.form.starts_at_time=e),type:"time",variant:"solo","bg-color":"white",hint:l.v$.form.starts_at_time.$errors?l.errorUtils.parseErrors(l.v$.form.starts_at_time.$errors):null,class:(0,k.C_)([{error:l.v$.form.starts_at_time.$errors.length},"mb-1 modal-input"]),label:"Začiatok"},null,8,["modelValue","hint","class"]),(0,m.Wm)(x.hw,{modelValue:l.form.ends_at_time,"onUpdate:modelValue":t[4]||(t[4]=e=>l.form.ends_at_time=e),type:"time",variant:"solo","bg-color":"white",hint:l.v$.form.ends_at_time.$errors?l.errorUtils.parseErrors(l.v$.form.ends_at_time.$errors):null,class:(0,k.C_)([{error:l.v$.form.ends_at_time.$errors.length},"modal-input"]),label:"Koniec"},null,8,["modelValue","hint","class"])])),_:1}),(0,m.Wm)(f.T,{onClick:t[5]||(t[5]=e=>n.submit()),class:"button primary mt-5"},{default:(0,m.w5)((()=>[(0,m.Uk)("Potvrdiť")])),_:1})])),_:1})])),_:1},8,["modelValue"]),(0,m.Wm)(w.B,{modelValue:l.visible,"onUpdate:modelValue":t[10]||(t[10]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",Pe,[(0,m._)("h1",Le,[(0,m.Uk)("Ste si istý, že chcete pridať timeblock po deadline "),Ne,(0,m.Uk)(),(0,m._)("b",Ye,"z mastertasku "+(0,k.zw)(s.subtask?.project_code)+" ?",1)]),(0,m.Wm)(b.t,{onClick:t[7]||(t[7]=(0,a.iM)((e=>l.visible=!1),["stop"])),icon:"mdi-close",size:"large",class:"mb-15"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half",variant:"flat",onClick:t[8]||(t[8]=(0,a.iM)((e=>n.confirmSubmit()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ÁNO")])),_:1}),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[9]||(t[9]=(0,a.iM)((e=>l.visible=!1),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ZRUŠIŤ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])],64)}var Be=s(36797),Re=s.n(Be),Ke={mixins:[M],emits:["update-subtask"],components:{Datepicker:De.Z},props:{timeblocks:{type:Array,required:!0},subtask:{type:Object,required:!0}},data(){return{v$:(0,O.ZP)(),errorUtils:z.Z,tmUtils:A.Z,showModal:!1,visible:!1,form:{date:null,starts_at_time:"09:00",ends_at_time:"16:00"}}},validations(){return{form:{date:{required:V.C1},starts_at_time:{required:V.C1},ends_at_time:{required:V.C1}}}},computed:{...(0,U.Se)("tm",["mastertasks"])},methods:{async submit(){if(!await this.v$.$validate())return;const e=JSON.parse(JSON.stringify(this.subtask)),t=this.form.starts_at_time.split(":"),s=this.form.ends_at_time.split(":"),a=Re()(this.form.date).hours(parseInt(t[0])).minutes(parseInt(t[1])).toISOString(),i=Re()(this.form.date).hours(parseInt(s[0])).minutes(parseInt(s[1])).toISOString();e?.timeblocks||(e.timeblocks=[]),e?.timesheets||(e.timesheets=[]),e?.is_finished||(e.is_finished=0),e.timeblocks.push({end:A.Z.formatDateTimeForBackend(i),id:null,is_finished:0,start:A.Z.formatDateTimeForBackend(a)}),e.deadline&&(e.deadline=A.Z.formatDateTimeForBackend(this._mergeDeadlineTimeDate()));const l=this.isAfterDeadline();l?this.visible=!0:e.id?this._update(e):this.$emit("update-unfinished-subtask",e)},async confirmSubmit(){const e=JSON.parse(JSON.stringify(this.subtask)),t=this.form.starts_at_time.split(":"),s=this.form.ends_at_time.split(":"),a=Re()(this.form.date).hours(parseInt(t[0])).minutes(parseInt(t[1])).toISOString(),i=Re()(this.form.date).hours(parseInt(s[0])).minutes(parseInt(s[1])).toISOString();if(e?.timeblocks||(e.timeblocks=[]),e?.timesheets||(e.timesheets=[]),e?.is_finished||(e.is_finished=0),e.timeblocks.push({end:A.Z.formatDateTimeForBackend(i),id:null,is_finished:0,start:A.Z.formatDateTimeForBackend(a)}),e.deadline&&(e.deadline=A.Z.formatDateTimeForBackend(this._mergeDeadlineTimeDate())),!e.id)return this.$emit("update-unfinished-subtask",e),void this.closeModal();this.visible=!1,this._update(e)},async toggleTimeblockIsFinished(e){const t=JSON.parse(JSON.stringify(this.subtask)),s=JSON.parse(JSON.stringify(e));s.is_finished=1==s.is_finished?0:1;try{const{data:e}=await this.$axios.put_auth(`v1/timeblocks/${s.id}`,s);t.timeblocks=t.timeblocks.map((t=>t.id==e.id?e:t)),this.$events.emit("on-subtask-edited",t),this.$emit("update-subtask",t),s.is_finished&&this.$events.emit("show-task-add-time-modal",{subtask:t})}catch(a){this.$toast.error(a.message||a)}},async deleteTimeblock({id:e}){const t=JSON.parse(JSON.stringify(this.subtask));t.timeblocks=t.timeblocks.filter((t=>t.id!=e)),t.deadline&&(t.deadline=A.Z.formatDateTimeForBackend(this._mergeDeadlineTimeDate())),this._update(t)},deleteTimeblockWithoutId(e){this.$emit("delete-timeblock")},async _update(e){try{const t=e.timesheets.map((e=>(delete e.employee_name,e))),{subtask:s}=await this.$axios.put_auth(`v1/subtasks/${e.id}`,{...e,timesheets:t});this.closeModal(),this.$events.emit("on-subtask-edited",s)}catch(t){this.$toast.error(t.message||t)}},isAfterDeadline(){const e=this.getDeadline(this.subtask);if(!e)return;const t=Re()(this.form.date),s=Re()(e),[a,i]=this.form.ends_at_time.split(":").map(Number);return t.hours(a),t.minutes(i),t.isAfter(s)},getDeadline(e){return e?.deadline?e.deadline:e.master_task_deadline},_mergeDeadlineTimeDate(){const e=new Date(this.subtask.deadline),t=this.subtask._deadline_time.split(":");return e.setHours(parseInt(t[0])),e.setMinutes(parseInt(t[1])),e},closeModal(){this.form={date:null,starts_at_time:"09:00",ends_at_time:"16:00"},this.showModal=!1,this.$nextTick((()=>this.v$.$reset()))}}};const Je=(0,$.Z)(Ke,[["render",qe]]);var Xe=Je,Ge={data(){return{preventInputFocus:!1}},methods:{setFocusEvent(){document.querySelectorAll(".v-autocomplete input").forEach((e=>{e.addEventListener("focus",this.onInputFocus)}))},onDateFocus(e){void 0==e&&(this.preventInputFocus=!0)},onInputFocus(e){this.preventInputFocus&&(e.target.blur(),this.preventInputFocus=!1)}}},Qe={computed:{employeesOptions(){const e=[...this.mastertask.employees].map((e=>e.id));return this.enrichedEmployees.filter((t=>!e.includes(t.id)))||[]},projectsOptions(){const e=/[^a-zA-Z0-9 ]/g,t=this.projectCodeSearch?this.projectCodeSearch.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(e,""):"",s=this.projects.filter((s=>{const a=s.code.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(e,"");return a.toLowerCase().includes(t.toLowerCase())}));let a=s?.length?s.slice(0,10):this.projects.slice(0,10);if(!this.mastertask?.project_id)return a;const i=this.projects.find((e=>e.id==this.mastertask?.project_id));return a=a.filter((e=>e.id!=i.id)),[...a,i]}},methods:{onEmployeeSelected(e){const t=this.enrichedEmployees.find((t=>t.id==e));this.mastertask.employees.push(t),this.showAddEmployeeInput=!1},onEmployeeDurationChanged(){let e=0;this.mastertask.employees=this.mastertask.employees.map((t=>("string"==typeof t.duration?(e+=parseFloat(t.duration),t.duration=parseFloat(t.duration),t.invalid=!1):"number"==typeof t.duration&&(e+=t.duration,t.invalid=!1),t))),this.mastertask.duration=e}},watch:{"mastertask.team_id"(e){if(!e)return;const t=this.teams.find((t=>t.id==e));t&&(this.mastertask.team=JSON.parse(JSON.stringify(t)),this.mastertask.employees=[...this.mastertask.team.employees])}}},et=s(66154);function tt(e,t,s,a,i,l){const n=(0,m.up)("A-mastertask-name"),o=(0,m.up)("A-mastertask-status"),r=(0,m.up)("A-task-deadline"),d=(0,m.up)("A-task-timeblocks"),u=(0,m.up)("Z-created-by"),c=(0,m.up)("A-task-assigned-employee"),h=(0,m.up)("A-task-planned-time"),p=(0,m.up)("A-task-remaining-time"),v=(0,m.up)("A-task-spent-time"),k=(0,m.up)("A-task-description"),f=(0,m.up)("Z-files");return(0,m.wg)(),(0,m.iD)(m.HY,null,[(0,m.Wm)(n,{name:s.subtask._master_task.name,id:s.subtask.master_task_id,color:s.subtask._master_task.color,onCloseModal:t[0]||(t[0]=t=>e.$emit("close-modal"))},null,8,["name","id","color"]),(0,m.Wm)(o,{isFinished:s.subtask.is_finished},null,8,["isFinished"]),(0,m.Wm)(r,{subtask:s.subtask},null,8,["subtask"]),(0,m.Wm)(d,{timeblocks:s.subtask.timeblocks,subtask:s.subtask,onUpdateSubtask:t[1]||(t[1]=t=>e.$emit("update-subtask",t))},null,8,["timeblocks","subtask"]),(0,m.Wm)(u,{"employee-id":s.subtask.created_by},null,8,["employee-id"]),(0,m.Wm)(c,{employee:s.subtask._employee},null,8,["employee"]),(0,m.Wm)(h,{hours:s.subtask.duration},null,8,["hours"]),(0,m.Wm)(p,{hours:s.subtask.duration-s.subtask.spent_time},null,8,["hours"]),(0,m.Wm)(v,{hours:s.subtask.spent_time,subtask:s.subtask},null,8,["hours","subtask"]),(0,m.Wm)(k,{description:s.subtask.description,"mastertask-description":s.subtask.master_task_description},null,8,["description","mastertask-description"]),(0,m.Wm)(f,{files:s.subtask.files},null,8,["files"])],64)}const st={class:"d-flex align-center"},at=(0,m._)("p",{class:"mx-3"},"Mastertask",-1);function it(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",st,[(0,m.Wm)(b.t,{icon:"mdi-link",size:"large"}),at])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",{class:"task-badge px-4 py-2 rounded-pill hover",onClick:t[0]||(t[0]=e=>l.openMastertask()),style:(0,k.j5)({backgroundColor:s.color})},(0,k.zw)(s.name),5)])),_:1})])),_:1})])),_:1})}var lt={emits:["close-modal"],props:{name:{type:String,required:!0},id:{type:Number,required:!0},color:{type:String,required:!0}},methods:{openMastertask(){this.$emit("close-modal"),this.$events.emit("show-mastertask-modal",{mastertask:{id:this.id},editMode:!1})}}};const nt=(0,$.Z)(lt,[["render",it]]);var ot=nt;const rt={class:"d-flex align-center"},dt=(0,m._)("p",{class:"mx-3"},"Status",-1),ut={key:0,class:"status-badge px-4 py-2 rounded-pill"},ct={key:1,class:"status-badge px-4 py-2 rounded-pill"};function mt(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",rt,[(0,m.Wm)(b.t,{icon:"mdi-drag-vertical",size:"large"}),dt])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[s.isFinished?((0,m.wg)(),(0,m.iD)("p",ut,"Ukončený")):((0,m.wg)(),(0,m.iD)("p",ct,"Neukončený"))])),_:1})])),_:1})])),_:1})}var ht={props:{isFinished:{type:Number,default:()=>0}}};const pt=(0,$.Z)(ht,[["render",mt]]);var vt=pt;const kt={class:"d-flex align-center"},ft=(0,m._)("p",{class:"mx-3"},"Vytvoril",-1),gt={class:"employee-selected-avatar d-flex justify-center align-center"},_t={class:"ml-2"};function wt(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",kt,[(0,m.Wm)(b.t,{icon:"mdi-account-star-outline",size:"large"}),ft])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3 d-flex align-center"},{default:(0,m.w5)((()=>[(0,m._)("p",gt,(0,k.zw)(l.employee?l.employee._initials:"?"),1),(0,m._)("p",_t,(0,k.zw)(l.employee?l.employee._fullName:e.$t("Unasigned")),1)])),_:1})])),_:1})])),_:1})}var bt={props:{employeeId:{type:[Number],required:!1}},computed:{...(0,U.Se)("tm",["enrichedEmployees"]),employee(){return this.enrichedEmployees.find((e=>e.id==this.employeeId))}}};const yt=(0,$.Z)(bt,[["render",wt]]);var Dt=yt;const Mt={class:"d-flex align-center"},Tt=(0,m._)("p",{class:"mx-3"},"Priradený",-1),$t={class:"employee-selected-avatar d-flex justify-center align-center"},Ct=["innerHTML"];function jt(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Mt,[(0,m.Wm)(b.t,{icon:"mdi-account-outline",size:"large"}),Tt])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3 d-flex align-center"},{default:(0,m.w5)((()=>[(0,m._)("p",$t,(0,k.zw)(s.employee.name.charAt(0)+s.employee.surname.charAt(0)),1),(0,m._)("p",{class:"ml-2",innerHTML:`${s.employee.name} ${s.employee.surname}`},null,8,Ct)])),_:1})])),_:1})])),_:1})}var Et={props:{employee:{type:Object,required:!0}}};const xt=(0,$.Z)(Et,[["render",jt]]);var Wt=xt;const St={class:"d-flex align-center"},Ot=(0,m._)("p",{class:"mx-3"},"Naplánovaný čas",-1);function Vt(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",St,[(0,m.Wm)(b.t,{icon:"mdi-clock-time-three-outline",size:"large"}),Ot])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",null,(0,k.zw)(s.hours)+" h",1)])),_:1})])),_:1})])),_:1})}var zt={props:{hours:{type:Number,required:!0}}};const At=(0,$.Z)(zt,[["render",Vt]]);var Ut=At;const Zt=e=>((0,m.dD)("data-v-f216d188"),e=e(),(0,m.Cn)(),e),Ht={class:"d-flex align-center"},It=Zt((()=>(0,m._)("p",{class:"mx-3"},"Odpracovaný čas",-1))),Ft={class:"d-flex align-center mb-3"},Pt=Zt((()=>(0,m._)("p",{class:"task-badge rounded-pill"},"Pridať záznam",-1))),Lt={class:"d-flex align-center flex-start width-100"},Nt={class:"task-badge rounded-pill"},Yt={class:"ml-5"},qt={class:"d-flex justify-space-between align-center"},Bt=Zt((()=>(0,m._)("h1",null,"Pridať odpracovaný čas",-1)));function Rt(e,t,s,i,l,n){return(0,m.wg)(),(0,m.iD)(m.HY,null,[(0,m.Wm)(Oe.o,{"no-gutters":""},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Ht,[(0,m.Wm)(b.t,{icon:"mdi-clock-time-three-outline",size:"large"}),It])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",null,(0,k.zw)(s.hours)+" h",1)])),_:1}),(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Ft,[(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=e=>l.showModal=!0),class:"add-date cursor-pointer mr-2",icon:"mdi-plus",size:"medium"}),Pt]),s.subtask.timesheets.length?((0,m.wg)(!0),(0,m.iD)(m.HY,{key:0},(0,m.Ko)(s.subtask.timesheets,(e=>((0,m.wg)(),(0,m.iD)("div",{key:e.id,class:"d-flex align-center mb-3"},[(0,m.Wm)(b.t,{onClick:(0,a.iM)((t=>n.deleteTimesheet(e)),["stop"]),class:"circle-border cursor-pointer mr-2",icon:"mdi-minus",size:"medium"},null,8,["onClick"]),(0,m._)("div",Lt,[(0,m._)("p",Nt,(0,k.zw)(e.time),1),(0,m._)("p",Yt,(0,k.zw)(e.employee_name)+" ("+(0,k.zw)(e.timestamp)+")",1)])])))),128)):(0,m.kq)("",!0)])),_:1})])),_:1})])),_:1}),(0,m.Wm)(w.B,{"max-width":"750",modelValue:l.showModal,"onUpdate:modelValue":t[4]||(t[4]=e=>l.showModal=e),persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",qt,[Bt,(0,m.Wm)(b.t,{onClick:t[1]||(t[1]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex justify-start align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(x.hw,{modelValue:l.form.hours,"onUpdate:modelValue":t[2]||(t[2]=e=>l.form.hours=e),variant:"solo","bg-color":"white",type:"number",hint:l.v$.form.hours.$errors?l.errorUtils.parseErrors(l.v$.form.hours.$errors):null,class:(0,k.C_)([{error:l.v$.form.hours.$errors.length},"mb-2"]),label:"Odpracovaný čas"},null,8,["modelValue","hint","class"])])),_:1}),(0,m.Wm)(f.T,{onClick:t[3]||(t[3]=e=>n.submit()),class:"button primary mt-5"},{default:(0,m.w5)((()=>[(0,m.Uk)("Potvrdiť")])),_:1})])),_:1})])),_:1},8,["modelValue"])],64)}var Kt=s(15941),Jt={mixins:[M],props:{hours:{type:Number,required:!0},subtask:{type:Object,required:!0}},data(){return{moment:Re(),v$:(0,O.ZP)(),errorUtils:z.Z,showModal:!1,form:{hours:null}}},validations(){return{form:{hours:{required:V.C1,numeric:V.uR,minValue:(0,V.uv)(.1)}}}},computed:{...(0,U.Se)("auth",["user"])},methods:{async submit(){if(!await this.v$.$validate())return;const e=JSON.parse(JSON.stringify(this.subtask));e.timesheets.push({id:null,employee_id:this.user.id,time:"string"==typeof this.form.hours?parseFloat(this.form.hours):this.form.hours}),e.deadline&&(e.deadline=A.Z.formatDateTimeForBackend(this._mergeDeadlineTimeDate())),this._update(e)},async deleteTimesheet({id:e}){const t=JSON.parse(JSON.stringify(this.subtask));t.timesheets=t.timesheets.filter((t=>t.id!=e)),t.deadline&&(t.deadline=A.Z.formatDateTimeForBackend(this._mergeDeadlineTimeDate())),this._update(t)},closeModal(){this.form={hours:null},this.showModal=!1,this.$nextTick((()=>this.v$.$reset()))},async _update(e){try{e.timesheets=e.timesheets.map((e=>(delete e.employee_name,e)));const{subtask:t}=await this.$axios.put_auth(`v1/subtasks/${e.id}`,e);this.closeModal(),this.$events.emit("on-subtask-edited",t)}catch(t){this.$toast.error(t.message||t)}},_mergeDeadlineTimeDate(){const e=new Date(this.subtask.deadline);Kt.log("a-task-spent-time",this.subtask);const t=this.subtask._deadline_time.split(":");return e.setHours(parseInt(t[0])),e.setMinutes(parseInt(t[1])),e}}};const Xt=(0,$.Z)(Jt,[["render",Rt],["__scopeId","data-v-f216d188"]]);var Gt=Xt;const Qt={class:"d-flex align-center"},es=(0,m._)("p",{class:"mx-3"},"Zostávajúci čas",-1);function ts(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center border-bottom"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Qt,[(0,m.Wm)(b.t,{icon:"mdi-clock-time-three-outline",size:"large"}),es])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",null,(0,k.zw)(s.hours.toFixed(2))+" h",1)])),_:1})])),_:1})])),_:1})}var ss={props:{hours:{type:Number,required:!0}}};const as=(0,$.Z)(ss,[["render",ts]]);var is=as,ls=s(80678);const ns={class:"d-flex align-center"},os=(0,m._)("p",{class:"mx-3"},"Deadline",-1);function rs(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",ns,[(0,m.Wm)(b.t,{icon:"mdi-calendar-week",size:"large"}),os])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[s.subtask.deadline?((0,m.wg)(),(0,m.iD)("p",{key:0,class:(0,k.C_)(""+(i.tmUtils.isAfter(s.subtask.deadline)?"text-black":"text-red-darken-4"))},(0,k.zw)(i.tmUtils.formatDate(s.subtask.deadline))+" "+(0,k.zw)(l.deadlineTime),3)):((0,m.wg)(),(0,m.j4)(ls.N,{key:1,text:"Deadline z Mastertasku",location:"end"},{activator:(0,m.w5)((({props:e})=>[(0,m._)("span",(0,m.dG)({class:"cursor-pointer"},e),(0,k.zw)(l.getMasterTaskDeadline(s.subtask))+"*",17)])),_:1}))])),_:1})])),_:1})])),_:1})}var ds={props:{subtask:{type:[String,Object,null],required:!0}},computed:{...(0,U.Se)("tm",["mastertasks"]),deadlineTime(){const e=this.subtask?._deadline_time;return e?Re()(e,"HH:mm:ss").format("HH:mm"):""}},data(){return{tmUtils:A.Z}},methods:{getMasterTaskDeadline(e){return e?.deadline?e.deadline:e.master_task_deadline}}};const us=(0,$.Z)(ds,[["render",rs]]);var cs=us;const ms={key:0,class:"px-5 py-5 border-bottom"},hs=(0,m._)("p",null,"Popis zadania",-1),ps=["innerHTML"],vs={key:1,class:"px-5 py-5 border-bottom"},ks=(0,m._)("p",null,"Popis mastertasku",-1),fs=["innerHTML"];function gs(e,t,s,a,i,l){return(0,m.wg)(),(0,m.iD)(m.HY,null,[s.description?((0,m.wg)(),(0,m.iD)("div",ms,[hs,(0,m._)("section",{innerHTML:i.preparedDescription,class:"description-detail px-2 py-2 w-100 rounded mt-2"},null,8,ps)])):(0,m.kq)("",!0),s.mastertaskDescription?((0,m.wg)(),(0,m.iD)("div",vs,[ks,(0,m._)("section",{innerHTML:i.preparedMastertaskDescription,class:"description-detail px-2 py-2 w-100 rounded mt-2"},null,8,fs)])):(0,m.kq)("",!0)],64)}var _s=s(46215),ws=s.n(_s);const bs=(0,_s.useToast)();function ys(){const e=window.navigator.platform,t=["Macintosh","MacIntel","MacPPC","Mac68K"],s=["Win32","Win64","Windows","WinCE"];return-1!==t.indexOf(e)?"mac":(s.indexOf(e),"win")}function Ds(e){if(!e)return e;const t=ys();return"mac"===t?(e=e.replace(/\\\\/g,"smb://"),e=e=e.replace(/(smb:\/\/[^\s<>"()]+)/g,(function(e){return''+e.replace(/\\/g,"/")+""}))):(e=e.replace(/smb:\/\//g,"\\\\"),e=e.replace(/(\\\\[^\s<>"()]+)/g,(function(e){return e=e.replaceAll("/","\\"),''+e+""}))),e}function Ms(e){return`\n\t\tif (navigator.clipboard && navigator.clipboard.writeText) {\n\t\t\tnavigator.clipboard.writeText('${e.replace(/\\/g,"\\\\")}').then(() => {\n\t\t\t\twindow.toast.success('Link copied to clipboard!')\n\t\t\t}).catch(err => {\n\t\t\t\twindow.toast.error('Failed to copy link to clipboard!')\n\t\t\t});\n\t\t} else {\n\t\t\tconst input = document.createElement('input');\n\t\t\tinput.style.position = 'fixed';\n\t\t\tinput.style.opacity = 0;\n\t\t\tinput.style.pointerEvents = 'none';\n\t\t\tinput.value = '${e.replace(/\\/g,"\\\\")}';\n\t\t\tdocument.body.appendChild(input);\n\t\t\tinput.select();\n\t\t\tinput.focus();\n\t\t\tdocument.execCommand('copy');\n\t\t\tdocument.body.removeChild(input);\n\t\t\twindow.toast.success('Link copied to clipboard!')\n\t\t}\n\t`}window.toast=bs;var Ts={props:{description:{type:String||null,default:()=>null},mastertaskDescription:{type:String||null,default:()=>null}},data(){return{copiedIndices:[],preparedDescription:"",preparedMastertaskDescription:""}},mounted(){this.preparedDescription=Ds(this.description),this.preparedMastertaskDescription=Ds(this.mastertaskDescription)}};const $s=(0,$.Z)(Ts,[["render",gs]]);var Cs=$s;const js=e=>((0,m.dD)("data-v-f01fa1ac"),e=e(),(0,m.Cn)(),e),Es=js((()=>(0,m._)("p",{class:"mt-5"},"Prílohy",-1))),xs={class:"w-100 d-flex align-center"},Ws=["onClick"],Ss={key:0,class:"d-flex align-center"},Os=["src"],Vs=js((()=>(0,m._)("p",{class:"ml-2"},"Súbor sa sťahuje, počkajte prosím",-1)));function zs(e,t,a,i,l,n){const o=(0,m.up)("W-loadable");return(0,m.wg)(),(0,m.iD)(m.HY,null,[Es,(0,m._)("div",xs,[(0,m.Wm)(o,{content:a.files,emptyMessage:"Žiadne prílohy neboli nahraté"},{default:(0,m.w5)((()=>[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(a.files,((e,t)=>((0,m.wg)(),(0,m.iD)("div",{key:e.id,class:(0,k.C_)(["d-flex align-center flex-wrap",[0===t?"ml-0":"ml-2"]])},[(0,m.Wm)(Me.v,{class:"mt-2"},{default:(0,m.w5)((()=>[(0,m._)("p",{onClick:t=>n.downloadFile(e),class:"cursor-pointer"},(0,k.zw)(e.name),9,Ws),(0,m.Wm)(b.t,{class:"mx-1",icon:"mdi-paperclip"}),(0,m._)("p",null,(0,k.zw)((e.file_size/1048576).toFixed(2))+" MB",1)])),_:2},1024),e.isLoading?((0,m.wg)(),(0,m.iD)("div",Ss,[(0,m._)("img",{class:"gif-loader",src:s(14214),alt:"Loading..."},null,8,Os),Vs])):(0,m.kq)("",!0)],2)))),128))])),_:1},8,["content"])])],64)}var As={props:{files:{type:Array,default:()=>[]}},data(){return{isLoading:!1}},methods:{async downloadFile(e){e.isLoading=!0;try{const t=await fetch(e.path),s=await t.blob();et.saveAs(s,e.name)}catch(t){this.$toast.error(this.$parseError(t))}finally{e.isLoading=!1}}}};const Us=(0,$.Z)(As,[["render",zs],["__scopeId","data-v-f01fa1ac"]]);var Zs=Us,Hs={emits:["close-modal","update-subtask"],components:{ZFiles:Zs,AMastertaskName:ot,AMastertaskStatus:vt,ATaskTimeblocks:Xe,ZCreatedBy:Dt,ATaskAssignedEmployee:Wt,ATaskPlannedTime:Ut,ATaskSpentTime:Gt,ATaskRemainingTime:is,ATaskDescription:Cs,ATaskDeadline:cs},props:{subtask:{type:Object,required:!0}}};const Is=(0,$.Z)(Hs,[["render",tt]]);var Fs=Is;const Ps={class:"timeblock w-100"},Ls={key:0,class:"x-button"},Ns={class:"splitted-time-inputs"};function Ys(e,t,s,a,i,l){const n=(0,m.up)("Datepicker");return(0,m.wg)(),(0,m.iD)("div",Ps,[s.deletable&&s.editable?((0,m.wg)(),(0,m.iD)("div",Ls,[(0,m._)("button",{onClick:t[0]||(t[0]=t=>e.$emit("removeTimeblock")),class:"x-button"},"x")])):(0,m.kq)("",!0),(0,m._)("div",{onClick:t[1]||(t[1]=e=>l.openDatepicker("datepicker")),class:"datepicker-wrapper",ref:"datepicker-wrapper"},[(0,m.Wm)(n,{"model-value":s.timeblock.date,ref:"datepicker",onFocus:e.onDateFocus,"onUpdate:modelValue":l.updateDate,format:"dd.MM.yyyy",locale:"sk","select-text":"Vybrať","cancel-text":"Zrušiť",placeholder:"Dátum","auto-apply":!0,"enable-time-picker":!1,class:"mb-5 modal-input datepicker-input"},null,8,["model-value","onFocus","onUpdate:modelValue"])],512),(0,m._)("div",Ns,[(0,m.Wm)(x.hw,{value:s.timeblock.starts_at_time,onInput:l.updateStartTime,onFocus:e.onInputFocus,class:(0,k.C_)({error:i.v$?.timeblock.starts_at_time.$errors.length}),type:"time",variant:"solo","bg-color":"white",label:"Začiatok"},null,8,["value","onInput","onFocus","class"]),(0,m.Wm)(x.hw,{value:s.timeblock.ends_at_time,onInput:l.updateEndTime,onFocus:e.onInputFocus,class:(0,k.C_)({error:i.v$?.timeblock.ends_at_time.$errors.length}),type:"time",variant:"solo","bg-color":"white",label:"Koniec"},null,8,["value","onInput","onFocus","class"])])])}var qs={mixins:[Ge],components:{Datepicker:De.Z},props:{timeblock:{type:Object,required:!0},deletable:{type:Boolean,default:!1},editable:{type:Boolean,default:!1}},data(){return{v$:(0,O.ZP)()}},validations(){return{timeblock:{starts_at_time:{required:(0,V.CF)(this.timeblock.date)},ends_at_time:{required:(0,V.CF)(this.timeblock.date)}}}},methods:{async openDatepicker(e){this.$refs[e].openMenu(),this.$nextTick((()=>{this.$refs["datepicker-wrapper"].scrollIntoView({behavior:"instant",block:"center",inline:"center"}),this.$nextTick((()=>{const e=document.querySelector(".dp__menu.dp__menu_index"),t=e.querySelector(".dp__arrow_bottom"),s=t?0-e.clientHeight-42:35;e.style.top=window.innerHeight/2+s+"px"}))}))},updateDate(e){const t={...this.timeblock};e&&(t.date=e),this.$emit("updateTimeblock",t)},updateStartTime(e){const t={...this.timeblock};t.starts_at_time=e.target.value,this.$emit("updateTimeblock",t)},updateEndTime(e){const t={...this.timeblock};t.ends_at_time=e.target.value,this.$emit("updateTimeblock",t)}}};const Bs=(0,$.Z)(qs,[["render",Ys],["__scopeId","data-v-031787aa"]]);var Rs=Bs,Ks=s(15941),Js={emits:["close","refresh"],mixins:[Ge,Qe,Z.Z,M],components:{ZTaskReadonlyInfo:Fs,ATimeblock:Rs,ZFilesUpload:Se,Datepicker:De.Z,QuillEditor:r.Bn},data(){return{tmUtils:A.Z,editMode:!1,visible:!1,subtask:null,isSaving:!1,errorUtils:z.Z,v$:(0,O.ZP)(),employeeValidations:[],showDatePicker:!1,selectedNewDate:[],timeblocks:[{date:null,starts_at_time:null,ends_at_time:null}]}},computed:{...(0,U.Se)("tm",["mastertasks","enrichedEmployees"])},validations(){return{subtask:{master_task_id:{required:V.C1},deadline:{required:V.C1},_deadline_time:{required:V.C1}}}},mounted(){this.$events.on("add-timeblock",(e=>{this.subtask?.timeblocks||(this.subtask.timeblocks=[]),this.subtask?.timesheets||(this.subtask.timesheets=[]),this.subtask?.is_finished||(this.subtask.is_finished=0),this.subtask.timeblocks.push(e)})),this.$events.on("on-subtask-edited",(e=>{if(e?.id!==this.subtask?.id)return;const t=JSON.parse(JSON.stringify(e)),s=t.deadline?.split(" ")||[];t.deadline=s[0],t._deadline_time=s[1],this.subtask=this._enrichTask(t),this.$forceUpdate()})),this.$events.on("on-subtask-deleted",(e=>{e?.id==this.subtask?.id&&this.closeModal()}))},methods:{openDatepicker(e){this.$refs[e].openMenu()},updateTimeblock(e,t){this.timeblocks[t]=e},removeTimeblock(e){this.timeblocks.splice(e,1)},async showModal({subtask:e,editMode:t=!1,mastertask:s={}}){this.isSaving=!1,this.subtask=null,this.visible=!0,this.timeblocks=[{date:null,starts_at_time:null,ends_at_time:null}],this.$nextTick((()=>{this.v$.$reset(),this.setFocusEvent()}));try{if(e?.id){const s=await this.$axios.get_auth_data(`v1/subtasks/${e.id}`);if(!s.deadline)return this.editMode=t||!s.id,this.subtask=this._enrichTask(s);const a=s.deadline.split(" ");s.deadline=a[0],s._deadline_time=a[1],this.subtask=this._enrichTask(s)}else{const t=localStorage.getItem("subtaskData");try{if(!t)throw new Error("subtaskData is null or undefined");{const e=JSON.parse(t);if(this.subtask=e,"object"!==typeof this.subtask||null===this.subtask)throw new Error("Parsed subtask is not an object");this.$nextTick((()=>{this.$refs["description"]?.setHTML(this.subtask.description||"")}))}}catch(a){Ks.error("Error parsing subtaskData:",a),this.subtask={master_task:s,employees:[{}],_deadline_time:"17:00"}}if(e?.deadline&&e._deadline_time&&e.employee_id){const t=this.enrichedEmployees.find((t=>t.id==e.employee_id));this.subtask.employees=[t],this.subtask.deadline=e.deadline,this.subtask._deadline_time=e._deadline_time}e?.master_task_id&&e?.project_code&&(this.subtask.master_task_id=e.master_task_id,this.subtask.project_code=e.project_code)}this.editMode=t||!this.subtask.id}catch(a){this.$toast.error(this.$parseError(a))}},deleteTimeblock(e){this.subtask.timeblocks.splice(e,1)},closeModal(){this.visible=!1,this.$router.replace({name:this.$route.name})},async save(){const e=await this._validateEmployees(),t=!!this.subtask?.id||await this._validateTimeblocks();if(await this.v$.$validate()&&e&&t){this.subtask.description=this.$refs["description"].getHTML(),this._mergeDeadlineTimeDate();try{if(this.isSaving=!0,this.subtask.deadline=Re()(this.subtask.deadline).format("YYYY-MM-DD HH:mm:SS"),this.subtask?.id){const e=this.subtask.timesheets.map((e=>(delete e.employee_name,e))),{subtask:t}=await this.$axios.patch_auth_form(`v1/subtasks/${this.subtask.id}`,{...this.subtask,timesheets:e});localStorage.removeItem("subtaskData"),this.$store.commit("tm/update_subtask",t),this.$events.emit("on-subtask-edited",this.subtask)}else{this.subtask.employees.forEach((e=>{e.id&&(e.timeblocks=this.timeblocks.filter((e=>e.date)).map((e=>({start:`${Re()(e.date).format("YYYY-MM-DD")} ${e.starts_at_time}:00`,end:`${Re()(e.date).format("YYYY-MM-DD")} ${e.ends_at_time}:00`,id:null}))))}));const e=this.subtask;delete e._master_task;const{subtasks:t}=await this.$axios.post_auth(`v1/mastertasks/${this.subtask.master_task_id}/subtasks`,e);localStorage.removeItem("subtaskData"),this.subtask.id=t[0].id,t.forEach((e=>{this.$store.commit("tm/update_subtask",e),this.$events.emit("on-subtask-edited",this.subtask)})),this.$events.emit("task-created"),this.$events.emit("close-both-modals")}this.closeModal()}catch(s){this.$toast.error(this.$parseError(s))}finally{this.isSaving=!1}}},openDeleteTaskModal(e){this.$events.emit("show-delete-task-modal",{subtask:e})},showCompleteTaskModal(){this.$events.emit("show-complete-task-modal",{subtask:this.subtask}),this.subtask.deadline&&(this.subtask.deadline=A.Z.formatDateTimeForBackend(this.subtask.deadline))},filesUploaded(e){this.subtask.files=e},updateSubtask(e){this.subtask=e},_mergeDeadlineTimeDate(){const e=new Date(this.subtask.deadline);Ks.log("z-task-modal",this.subtask);const t=this.subtask._deadline_time.split(":");e.setHours(parseInt(t[0])),e.setMinutes(parseInt(t[1])),this.subtask.deadline=e},_validateEmployees(){return new Promise((e=>{if(this.employeeValidations=[],this.subtask.id){if(this.subtask.employee&&this.subtask.duration)return;this.employeeValidations[0]={},this.subtask.employee_id||(this.employeeValidations[0].employee=!0),this.subtask.duration||(this.employeeValidations[0].duration=!0)}else this.subtask.employees.forEach(((e,t)=>{t==this.subtask.employees.length-1&&t>0||e.id&&e.duration||(this.employeeValidations[t]={},e.id||(this.employeeValidations[t].employee=!0),e.duration||(this.employeeValidations[t].duration=!0))}));const t=this.employeeValidations.some((e=>e.duration||e.employee));e(!t)}))},async _validateTimeblocks(){let e=!1;for(let t=0;tt.id==e.created_by)),_employee:this.enrichedEmployees.find((t=>t.id==e.employee_id)),_master_task:this.mastertasks.find((t=>t.id==e.master_task_id))}}},watch:{"subtask.employee_id"(e,t){e&&t&&(this.subtask.timeblocks=[],this.subtask._employee=this.enrichedEmployees.find((e=>e.id==this.subtask.employee_id)))},"subtask.employees":{handler(){if(!this.subtask?.employees)return;const e=this.subtask.employees[this.subtask.employees.length-1];(e.id||e.duration)&&this.subtask.employees.push({})},deep:!0},"subtask.master_task_id"(e){e&&(this.subtask._master_task=this.mastertasks.find((e=>e.id==this.subtask.master_task_id)),this.subtask.project_code=this.subtask._master_task?.project_code||null)},editMode(){this.$nextTick((()=>{this.$refs["description"]?.setHTML(this.subtask.description||"")}))},subtask:{handler(e){this.editMode&&!this.subtask?.id&&localStorage.setItem("subtaskData",JSON.stringify(e))},deep:!0}}};const Xs=(0,$.Z)(Js,[["render",ye],["__scopeId","data-v-2aaf3118"]]);var Gs=Xs;const Qs={class:"d-flex justify-space-between align-center"};function ea(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(w.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",Qs,[(0,m._)("h1",null,[(0,m.Uk)("Ste si istý, že chcete zmazať "),(0,m._)("b",null,(0,k.zw)(l.blocker.name),1),(0,m.Uk)("?")]),(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large",class:"mb-15"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half",variant:"flat",onClick:t[1]||(t[1]=e=>n.deleteBlocker()),disabled:l.isDeleting},{default:(0,m.w5)((()=>[(0,m.Uk)("ÁNO")])),_:1},8,["disabled"]),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[2]||(t[2]=(0,a.iM)((e=>n.closeModal()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ZRUŠIŤ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var ta={mixins:[M],emits:["on-blocker-deleted"],data(){return{visible:!1,blocker:null,isDeleting:!1}},methods:{async showModal({blocker:e}){this.blocker=e,this.visible=!0},closeModal(){this.visible=!1},async deleteBlocker(){if(!this.isDeleting){this.isDeleting=!0;try{await this.$axios.delete_auth(`v1/blockers/${this.blocker.id}`),this.$emit("on-blocker-deleted",this.blocker),this.closeModal()}catch(e){this.$toast.error(this.$parseError(e))}finally{this.isDeleting=!1}}}}};const sa=(0,$.Z)(ta,[["render",ea]]);var aa=sa;const ia={class:"d-flex justify-space-between align-center"};function la(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(w.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",ia,[(0,m._)("h1",null,[(0,m.Uk)("Ste si istý, že chcete "+(0,k.zw)(l.subtask.is_finished?"znovu otvoriť":"dokončiť")+" sub task, z mastertasku ",1),(0,m._)("b",null,(0,k.zw)(l.subtask?.master_task?.name||l.subtask.master_task),1),(0,m.Uk)("?")]),(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half",variant:"flat",onClick:t[1]||(t[1]=e=>n.complete())},{default:(0,m.w5)((()=>[(0,m.Uk)("ÁNO")])),_:1}),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[2]||(t[2]=(0,a.iM)((e=>l.visible=!1),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ZRUŠIŤ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var na={mixins:[M],emits:["close","on-subtask-edited"],data(){return{visible:!1,subtask:null}},methods:{async showModal({subtask:e}){this.subtask=e,this.visible=!0},async complete(){try{const e={...this.subtask,is_finished:this.subtask.is_finished?0:1,timesheets:this.subtask.timesheets.map((e=>(delete e.employee_name,e)))},{subtask:t}=await this.$axios.put_auth(`v1/subtasks/${e.id}`,e);this.visible=!1,this.$emit("on-subtask-edited",t)}catch(e){this.$toast.error(this.$parseError(e))}},closeModal(){this.visible=!1}}};const oa=(0,$.Z)(na,[["render",la]]);var ra=oa;const da={class:"d-flex justify-space-between align-center"};function ua(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(w.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",da,[(0,m._)("h1",null,[(0,m.Uk)("Ste si istý, že chcete "+(0,k.zw)(l.mastertask.is_finished?"znovu otvoriť":"dokončiť")+" ",1),(0,m._)("b",null,(0,k.zw)(l.mastertask?.name),1),(0,m.Uk)("?")]),(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>l.visible=!1),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half",variant:"flat",onClick:t[1]||(t[1]=e=>n.complete())},{default:(0,m.w5)((()=>[(0,m.Uk)("ÁNO")])),_:1}),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[2]||(t[2]=(0,a.iM)((e=>l.visible=!1),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ZRUŠIŤ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var ca={mixins:[M],emits:["close","master-task-edited"],data(){return{visible:!1,mastertask:null}},methods:{async showModal({mastertask:e}){this.mastertask=e,this.visible=!0},async complete(){try{const e={...this.mastertask,is_finished:this.mastertask.is_finished?0:1},{mastertask:t}=await this.$axios.put_auth(`v1/mastertasks/${e.id}`,e);this.visible=!1,this.$emit("master-task-edited",t),this.$events.emit("close-both-modals")}catch(e){this.$toast.error(this.$parseError(e))}}}};const ma=(0,$.Z)(ca,[["render",ua]]);var ha=ma;const pa={class:"d-flex justify-space-between align-center"},va=(0,m._)("h1",null,"Pridať odpracovaný čas",-1);function ka(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(w.B,{"max-width":"750",modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",pa,[va,(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex justify-start align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(x.hw,{modelValue:l.form.hours,"onUpdate:modelValue":t[1]||(t[1]=e=>l.form.hours=e),variant:"solo","bg-color":"white",type:"number",hint:l.v$.form.hours.$errors?l.errorUtils.parseErrors(l.v$.form.hours.$errors):null,class:(0,k.C_)([{error:l.v$.form.hours.$errors.length},"mb-2"]),label:"Odpracovaný čas"},null,8,["modelValue","hint","class"])])),_:1}),(0,m.Wm)(f.T,{onClick:t[2]||(t[2]=e=>n.submit()),class:"button primary mt-5"},{default:(0,m.w5)((()=>[(0,m.Uk)("Potvrdiť")])),_:1})])),_:1})])),_:1},8,["modelValue"])}var fa={mixins:[M],emits:["close","on-subtask-edited"],data(){return{v$:(0,O.ZP)(),errorUtils:z.Z,visible:!1,subtask:null,form:{hours:null}}},validations(){return{form:{hours:{required:V.C1,numeric:V.uR,minValue:(0,V.uv)(.1)}}}},methods:{async showModal({subtask:e}){this.subtask=e,this.visible=!0,this.form.hours=null,this.$nextTick((()=>this.v$.$reset()))},async submit(){if(!await this.v$.$validate())return;this.subtask.deadline&&(this.subtask.deadline=A.Z.formatDateTimeForBackend(this.subtask.deadline)),this.subtask.timesheets.push({id:null,employee_id:this.subtask.employee_id,time:"string"==typeof this.form.hours?parseFloat(this.form.hours):this.form.hours});const e={...this.subtask,timesheets:this.subtask.timesheets.map((e=>(delete e.employee_name,e)))};try{const{subtask:t}=await this.$axios.put_auth(`v1/subtasks/${this.subtask.id}`,e);this.closeModal(),this.$events.emit("on-subtask-edited",t)}catch(t){this.$toast.error(t.message||t)}},closeModal(){this.visible=!1,this.v$.$reset()}}};const ga=(0,$.Z)(fa,[["render",ka]]);var _a=ga;const wa={class:"d-flex justify-space-between align-center modal-header"};function ba(e,t,s,i,l,n){const o=(0,m.up)("Datepicker"),r=(0,m.up)("W-loadable");return(0,m.wg)(),(0,m.j4)(w.B,{modelValue:l.visible,"onUpdate:modelValue":t[7]||(t[7]=e=>l.visible=e),"max-width":"750","max-height":"90%",height:"700px",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(r,{content:l.blocker,class:"h-100"},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,{height:"100%",class:"d-flex flex-column"},{default:(0,m.w5)((()=>[(0,m._)("div",wa,[(0,m._)("h1",null,(0,k.zw)(l.blocker.id?"Upraviť":"Vytvoriť")+" blocker",1),(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"d-flex flex-column modal-content"},{default:(0,m.w5)((()=>[(0,m.Wm)(x.hw,{onFocus:e.onInputFocus,class:(0,k.C_)(["modal-input",{error:l.v$.blocker.name.$errors.length}]),label:"Názov blockeru",hint:l.v$.blocker.name.$errors?l.errorUtils.parseErrors(l.v$.blocker.name.$errors):null,modelValue:l.blocker.name,"onUpdate:modelValue":t[1]||(t[1]=e=>l.blocker.name=e),variant:"solo"},null,8,["onFocus","class","hint","modelValue"]),(0,m.Wm)(E.f,{"custom-filter":e.customFilter,"match-any":!0,clearable:"",label:"Vyhľadať zamestnanca",items:[...e.enrichedEmployees],"item-title":"_fullName","item-value":"id",variant:"solo",class:"modal-input",modelValue:l.blocker.employee_id,"onUpdate:modelValue":t[2]||(t[2]=e=>l.blocker.employee_id=e)},null,8,["custom-filter","items","modelValue"]),(0,m.Wm)(o,{class:(0,k.C_)(["modal-input mb-5",{error:l.v$.datepicker.$errors?.length}]),modelValue:l.datepicker,"onUpdate:modelValue":t[3]||(t[3]=e=>l.datepicker=e),"auto-apply":!0,format:"dd.MM.yyyy",locale:"sk",validations:l.v$.datepicker,"select-text":"Vybrať","cancel-text":"Zrušiť",placeholder:"Dátum","enable-time-picker":!1,ref:"datepicker"},null,8,["modelValue","class","validations"]),(0,m.Wm)(x.hw,{modelValue:l.starts_at_time,"onUpdate:modelValue":t[4]||(t[4]=e=>l.starts_at_time=e),type:"time",variant:"solo","bg-color":"white",hint:l.v$.starts_at_time.$errors?l.errorUtils.parseErrors(l.v$.starts_at_time.$errors):null,class:(0,k.C_)([{error:l.v$.starts_at_time.$errors.length},"mb-1 modal-input"]),label:"Začiatok"},null,8,["modelValue","hint","class"]),(0,m.Wm)(x.hw,{modelValue:l.ends_at_time,"onUpdate:modelValue":t[5]||(t[5]=e=>l.ends_at_time=e),type:"time",variant:"solo","bg-color":"white",hint:l.v$.ends_at_time.$errors?l.errorUtils.parseErrors(l.v$.ends_at_time.$errors):null,class:(0,k.C_)([{error:l.v$.ends_at_time.$errors.length},"modal-input"]),label:"Koniec"},null,8,["modelValue","hint","class"])])),_:1}),(0,m.Wm)(f.T,{class:"button primary",onClick:t[6]||(t[6]=e=>n.save())},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(l.blocker.id?"UPRAVIŤ":"VYTVORIŤ"),1)])),_:1})])),_:1})])),_:1},8,["content"])])),_:1},8,["modelValue"])}var ya={mixins:[Ge,Z.Z,M],emits:["close"],components:{Datepicker:De.Z},data(){return{visible:!1,v$:(0,O.ZP)(),errorUtils:z.Z,blocker:null,datepicker:null,starts_at_time:null,ends_at_time:null,employee:null}},computed:{...(0,U.Se)("tm",["enrichedEmployees"]),...(0,U.Se)("auth",["user"])},validations(){return{blocker:{name:{required:V.C1},start:{required:V.C1},end:{required:V.C1}},starts_at_time:{required:V.C1},ends_at_time:{required:V.C1},datepicker:{required:V.C1}}},methods:{async showModal({blocker:e}){this.visible=!0,this.blocker=null,this.datepicker=null,this.starts_at_time=null,this.ends_at_time=null,this.$nextTick((()=>{this.setFocusEvent(),this.v$.$reset()}));try{e?.id?(e=await this.$axios.get_auth_data(`v1/blockers/${e.id}`),this.starts_at_time=Re()(e.start).format("HH:mm"),this.ends_at_time=Re()(e.end).format("HH:mm"),this.datepicker=new Date(e.start),e.employee_id=e.employee.id,this.blocker=e):(this.blocker={start:null,employee_id:this.user.id},e.starts_at_time&&e.datepicker&&e.employee_id&&(this.datepicker=e.datepicker,this.starts_at_time=e.starts_at_time,this.blocker.employee_id=e.employee_id))}catch(t){this.$toast.error(this.$parseError(t))}},async save(){if(await this.v$.$validate())try{if(this.blocker.id){const{blocker:e}=await this.$axios.put_auth(`v1/blockers/${this.blocker.id}`,this.blocker);this.blocker=e}else{const{blocker:e}=await this.$axios.post_auth("v1/blockers",this.blocker);this.blocker=e}this.$events.emit("on-blocker-edited",this.blocker),this.$events.emit("blocker-created"),this.closeModal()}catch(e){this.$toast.error(this.$parseError(e))}},closeModal(){this.$refs["datepicker"].clearValue(),this.visible=!1,this.$emit("close",this.blocker)},onEmployeeSelected({key:e}){this.blocker.employee=this.enrichedEmployees.find((t=>t.id==e))},_syncDatesTimes(){if(!this.starts_at_time||!this.ends_at_time||!this.datepicker)return;const e=this.starts_at_time.split(":"),t=this.ends_at_time.split(":");this.blocker.start=Re()(this.datepicker).set({hours:parseInt(e[0]),minutes:parseInt(e[1])}).format("YYYY-MM-DD HH:mm"),this.blocker.end=Re()(this.datepicker).set({hours:parseInt(t[0]),minutes:parseInt(t[1])}).format("YYYY-MM-DD HH:mm")}},watch:{ends_at_time(){this._syncDatesTimes()},starts_at_time(){this._syncDatesTimes()},datepicker(){this._syncDatesTimes()}}};const Da=(0,$.Z)(ya,[["render",ba]]);var Ma=Da;const Ta={class:"d-flex justify-space-between align-center"};function $a(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(w.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",Ta,[(0,m._)("h1",null,[(0,m.Uk)("Ste si istý, že chcete zmazať "),(0,m._)("b",null,(0,k.zw)(l.mastertask.name),1),(0,m.Uk)("?")]),(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large",class:"mb-15"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half",variant:"flat",onClick:t[1]||(t[1]=e=>n.deleteMasterTask()),disabled:l.isDeleting},{default:(0,m.w5)((()=>[(0,m.Uk)("ÁNO")])),_:1},8,["disabled"]),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[2]||(t[2]=(0,a.iM)((e=>n.closeModal()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ZRUŠIŤ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var Ca={mixins:[M],emits:["on-mastertask-deleted"],data(){return{visible:!1,mastertask:null,isDeleting:!1}},methods:{async showModal({mastertask:e}){this.mastertask=e,this.visible=!0},closeModal(){this.visible=!1},async deleteMasterTask(){if(!this.isDeleting){this.isDeleting=!0;try{await this.$axios.delete_auth(`v1/mastertasks/${this.mastertask.id}`),this.$emit("on-mastertask-deleted",this.mastertask),this.closeModal()}catch(e){this.$toast.error(this.$parseError(e))}finally{this.isDeleting=!1}}}}};const ja=(0,$.Z)(Ca,[["render",$a]]);var Ea=ja,xa=s(10240);const Wa={class:"d-flex justify-space-between align-center modal-header"},Sa={class:"splitted-inputs"},Oa={class:"employee-select-avatar d-flex justify-center align-center"},Va={class:"employee-select-avatar d-flex justify-center align-center"},za={class:"d-flex justify-space-between align-center"},Aa={class:"d-flex justify-space-between align-center modal-header border-bottom pb-4"},Ua={class:"d-flex justify-start"},Za=["src"],Ha=["src"],Ia={class:"w-100"},Fa={class:"d-flex justify-start align-center mt-8"},Pa={class:"d-flex align-center"};function La(e,t,i,l,n,o){const r=(0,m.up)("Datepicker"),d=(0,m.up)("QuillEditor"),u=(0,m.up)("Z-files-upload"),c=(0,m.up)("A-mastertask-description"),h=(0,m.up)("A-tasks-table"),p=(0,m.up)("W-loadable");return(0,m.wg)(),(0,m.j4)(w.B,{modelValue:n.visible,"onUpdate:modelValue":t[16]||(t[16]=e=>n.visible=e),"max-width":"750","max-height":"90%",height:"700px",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(p,{content:n.mastertask,class:"h-100"},{default:(0,m.w5)((()=>[n.editMode?((0,m.wg)(),(0,m.j4)(g._,{key:0,height:"100%",class:"d-flex flex-column scrolling"},{default:(0,m.w5)((()=>[(0,m._)("div",Wa,[(0,m._)("h1",null,(0,k.zw)(n.mastertask?.id?"Upraviť master task":"Vytvoriť master task"),1),(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>o.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"d-flex flex-column modal-content"},{default:(0,m.w5)((()=>[(0,m.Wm)(E.f,{"custom-filter":e.customFilter,"match-any":!0,modelValue:n.mastertask.project_id,"onUpdate:modelValue":t[1]||(t[1]=e=>n.mastertask.project_id=e),label:e.$t("Project code"),class:(0,k.C_)([{error:n.v$.mastertask.project_id.$errors.length},"modal-input"]),items:e.projectsOptions,"item-title":"code","item-value":"id",variant:"solo",clearable:"","onUpdate:search":t[2]||(t[2]=e=>n.projectCodeSearch=e)},null,8,["custom-filter","modelValue","label","class","items"]),(0,m.Wm)(x.hw,{modelValue:n.mastertask.name,"onUpdate:modelValue":t[3]||(t[3]=e=>n.mastertask.name=e),onFocus:e.onInputFocus,class:(0,k.C_)(["modal-input",{error:n.v$.mastertask.name.$errors.length}]),label:"Názov mastertasku",variant:"solo",hint:n.v$.mastertask.name.$errors?n.errorUtils.parseErrors(n.v$.mastertask.name.$errors):null},null,8,["modelValue","onFocus","class","hint"]),(0,m._)("div",Sa,[(0,m.Wm)(r,{modelValue:n.mastertask.deadline,"onUpdate:modelValue":t[4]||(t[4]=e=>n.mastertask.deadline=e),"auto-apply":!0,onFocus:e.onDateFocus,"min-date":new Date,class:(0,k.C_)(["modal-input left",{error:n.v$.mastertask.deadline.$errors?.length}]),format:"dd.MM.yyyy",locale:"sk","select-text":"Vybrať","cancel-text":"Zrušiť",placeholder:"Dátum",validations:n.v$.mastertask.deadline},null,8,["modelValue","onFocus","min-date","class","validations"]),(0,m.Wm)(x.hw,{class:(0,k.C_)(["modal-input right",{error:n.v$.mastertask._deadline_time.$errors.length}]),variant:"solo",modelValue:n.mastertask._deadline_time,"onUpdate:modelValue":t[5]||(t[5]=e=>n.mastertask._deadline_time=e),label:"Čas","append-inner-icon":"mdi-clock-outline",type:"time",onFocus:e.onInputFocus,hint:n.v$.mastertask._deadline_time.$errors?n.errorUtils.parseErrors(n.v$.mastertask._deadline_time.$errors):null},null,8,["modelValue","onFocus","class","hint"])]),(0,m.Wm)(x.hw,{modelValue:n.mastertask.duration,"onUpdate:modelValue":t[6]||(t[6]=e=>n.mastertask.duration=e),onFocus:e.onInputFocus,class:"modal-input",variant:"solo",type:"number",label:`${n.mastertask.duration} h`,disabled:!0},null,8,["modelValue","onFocus","label"]),(0,m.Wm)(xa.r,{modelValue:n.mastertask.team_id,"onUpdate:modelValue":t[7]||(t[7]=e=>n.mastertask.team_id=e),onFocus:e.onInputFocus,class:(0,k.C_)(["modal-input border-select",{error:n.v$.mastertask.employees.$errors.length}]),label:"Tím",variant:"solo",items:e.teams,"item-value":"id","item-title":"name",disabled:!!n.mastertask.id,clearable:!0},null,8,["modelValue","onFocus","class","items","disabled"]),n.mastertask.id?((0,m.wg)(!0),(0,m.iD)(m.HY,{key:1},(0,m.Ko)(n.mastertask._allEmployees,(e=>((0,m.wg)(),(0,m.j4)(x.hw,{key:e.id,class:"modal-input",label:`${e.name} ${e.surname}`,variant:"solo",placeholder:"h",modelValue:e.duration,"onUpdate:modelValue":t=>e.duration=t,type:"number",disabled:!0},{default:(0,m.w5)((()=>[(0,m._)("p",Va,(0,k.zw)(e?.name.charAt(0)+e?.surname.charAt(0)),1),(0,m.Wm)(b.t,{onClick:(0,a.iM)((t=>o.removeEmployee(e)),["stop"]),class:"remove-input",icon:"mdi-close-circle",size:"default"},null,8,["onClick"])])),_:2},1032,["label","modelValue","onUpdate:modelValue"])))),128)):((0,m.wg)(!0),(0,m.iD)(m.HY,{key:0},(0,m.Ko)(n.mastertask.employees,((t,s)=>((0,m.wg)(),(0,m.j4)(x.hw,{key:t.id,onFocus:e.onInputFocus,class:(0,k.C_)(["modal-input",{error:t.invalid}]),label:`${t.name} ${t.surname}`,variant:"solo",placeholder:"h",modelValue:n.mastertask.employees[s].duration,"onUpdate:modelValue":e=>n.mastertask.employees[s].duration=e,type:"number",min:"1",onInput:e.onEmployeeDurationChanged},{default:(0,m.w5)((()=>[(0,m._)("p",Oa,(0,k.zw)(t?.name.charAt(0)+t?.surname.charAt(0)),1),(0,m.Wm)(b.t,{onClick:(0,a.iM)((e=>o.removeEmployee(t)),["stop"]),class:"remove-input",icon:"mdi-close-circle",size:"default"},null,8,["onClick"])])),_:2},1032,["onFocus","class","label","modelValue","onUpdate:modelValue","onInput"])))),128)),n.showAddEmployeeInput?((0,m.wg)(),(0,m.j4)(E.f,{key:2,"custom-filter":e.customFilter,"match-any":!0,label:e.$t("Search for employee"),class:(0,k.C_)([{error:n.v$.mastertask.project_id.$errors.length},"modal-input"]),items:e.employeesOptions,"item-title":"_fullName","item-value":"id",variant:"solo",clearable:"","onUpdate:modelValue":e.onEmployeeSelected},null,8,["custom-filter","label","class","items","onUpdate:modelValue"])):(0,m.kq)("",!0),(0,m.Wm)(f.T,{disabled:!!n.mastertask.id,class:(0,k.C_)(["w-100 mb-5 button secondary",{error:n.v$.mastertask.project_id.$errors.length}]),onClick:t[8]||(t[8]=e=>n.showAddEmployeeInput=!0)},{default:(0,m.w5)((()=>[(0,m.Wm)(b.t,{class:"mx-1",icon:"mdi-plus"}),(0,m.Uk)("Pridať zamestnanca ")])),_:1},8,["disabled","class"]),(0,m._)("div",{class:(0,k.C_)(["w-100 modal-input",{error:n.v$.mastertask.description.$errors.length}])},[(0,m.Wm)(d,{ref:"description",modelValue:n.mastertask.description,"onUpdate:modelValue":t[9]||(t[9]=e=>n.mastertask.description=e),placeholder:"Popis",theme:"snow",class:"rich-text-editor",onKeyup:o.onQuillEditorInput},null,8,["modelValue","onKeyup"])],2),(0,m.Wm)(u,{class:"mt-15 files",files:n.mastertask.files,onFilesUploaded:o.filesUploaded,"is-saving":n.isSaving},null,8,["files","onFilesUploaded","is-saving"])])),_:1}),n.isSaving?((0,m.wg)(),(0,m.j4)(f.T,{key:1,class:"button primary disabled",disabled:""},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(e.$t("Ukladám...")),1)])),_:1})):((0,m.wg)(),(0,m.j4)(f.T,{key:0,class:"button primary",onClick:t[10]||(t[10]=e=>o.save())},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(n.mastertask.id?"ULOŽIŤ":"VYTVORIŤ"),1)])),_:1}))])),_:1})):((0,m.wg)(),(0,m.j4)(g._,{key:1,height:"100%",class:"d-flex flex-column scrolling"},{default:(0,m.w5)((()=>[(0,m._)("div",za,[(0,m._)("p",null,(0,k.zw)(n.mastertask.project_code),1),(0,m.Wm)(b.t,{onClick:t[11]||(t[11]=(0,a.iM)((e=>o.closeModal()),["stop"])),icon:"mdi-close",size:"large",class:"pb-5"})]),(0,m._)("div",Aa,[(0,m._)("h1",null,(0,k.zw)(n.mastertask.name),1),(0,m._)("div",Ua,[n.mastertask.is_finished?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("img",{key:0,class:"icon",src:s(60666),alt:"pencil-icon",onClick:t[12]||(t[12]=(0,a.iM)((e=>n.editMode=!n.editMode),["stop"]))},null,8,Za)),(0,m._)("img",{class:"icon trash",src:s(27484),alt:"trash-icon",onClick:t[13]||(t[13]=(0,a.iM)((e=>o.openDeleteMasterTaskModal(n.mastertask)),["stop"]))},null,8,Ha)])]),(0,m.Wm)(_.h,{class:"d-flex flex-column modal-content"},{default:(0,m.w5)((()=>[(0,m._)("div",Ia,[(0,m.Wm)(c,{mastertask:n.mastertask},null,8,["mastertask"]),(0,m._)("div",Fa,[(0,m.Wm)(f.T,{class:"button primary",onClick:t[14]||(t[14]=e=>o.toggleIsFinished(n.mastertask))},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(n.mastertask.is_finished?"Otvoriť mastertask":"Ukončiť mastertask"),1)])),_:1})]),(0,m.Wm)(h,{subtasks:n.mastertask.subtasks},null,8,["subtasks"]),(0,m._)("div",Pa,[(0,m.Wm)(f.T,{class:"subtask-btn w-100",onClick:t[15]||(t[15]=e=>o.addTask())},{default:(0,m.w5)((()=>[(0,m.Wm)(b.t,{class:"mx-1",icon:"mdi-plus"}),(0,m.Uk)("Pridať sub task")])),_:1})])])])),_:1})])),_:1}))])),_:1},8,["content"])])),_:1},8,["modelValue"])}var Na=s(4413);const Ya={class:"px-5 py-5"},qa={key:0,class:"w-25"},Ba={key:1,class:"w-50"},Ra={class:"d-flex align-center"},Ka={class:"employee-selected-avatar d-flex justify-center align-center"},Ja={class:"ml-2 line-clamp"},Xa={key:0,class:"text-light-green"},Ga={key:1},Qa={class:"task-action"},ei={class:"d-flex justify-start"},ti=["src","onClick"],si=["src","onClick"],ai=["src","onClick"],ii=["src","onClick"];function li(e,t,i,l,n,o){return(0,m.wg)(),(0,m.j4)(Na.Y,{class:"mt-7 mb-5"},{default:(0,m.w5)((()=>[(0,m._)("tbody",Ya,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(o.enrichedtasks,(e=>((0,m.wg)(),(0,m.iD)("tr",{key:e.id},[e?.title?((0,m.wg)(),(0,m.iD)("td",qa,(0,k.zw)(e.title),1)):((0,m.wg)(),(0,m.iD)("td",Ba,(0,k.zw)(e?.master_task),1)),(0,m._)("td",Ra,[(0,m._)("p",Ka,(0,k.zw)(e._employeeInitials),1),(0,m._)("p",Ja,(0,k.zw)(e._employeeFullName),1)]),(0,m._)("td",null,[e.is_finished?((0,m.wg)(),(0,m.iD)("p",Xa,"Ukončený")):(0,m.kq)("",!0),e.is_finished?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("p",Ga,"Neukončený"))]),(0,m._)("td",Qa,[(0,m._)("div",ei,[e.is_finished?((0,m.wg)(),(0,m.iD)("img",{key:0,class:"pencil-icon is-finished",src:s(53830),alt:"checkmark-icon",onClick:(0,a.iM)((t=>o.clickCompleteTask(e)),["stop"])},null,8,ti)):(0,m.kq)("",!0),e.is_finished?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("img",{key:1,class:"pencil-icon",src:s(53830),alt:"checkmark-icon",onClick:(0,a.iM)((t=>o.clickCompleteTask(e)),["stop"])},null,8,si)),(0,m._)("img",{class:"pencil-icon ml-2",src:s(34413),alt:"pencil-icon",onClick:(0,a.iM)((t=>o.openTaskModal(e)),["stop"])},null,8,ai),(0,m._)("img",{class:"trash-icon",src:s(27484),alt:"trash-icon",onClick:(0,a.iM)((t=>o.openDeleteTaskModal(e)),["stop"])},null,8,ii)])])])))),128))])])),_:1})}var ni={props:{subtasks:{type:Array,required:!0}},computed:{...(0,U.Se)("tm",["enrichedEmployees"]),enrichedtasks(){return this.subtasks.map((e=>{const t=this.enrichedEmployees.find((t=>t.id==e.employee_id));return{...e,_employeeInitials:t?t._initials:"?",_employeeFullName:t?t._fullName:""}}))}},methods:{openDeleteTaskModal(e){this.$events.emit("show-delete-task-modal",{subtask:e})},openTaskModal(e){this.$events.emit("show-subtask-modal",{subtask:e,editMode:!1})},async clickCompleteTask(e){this.$events.emit("show-complete-task-modal",{subtask:e})}}};const oi=(0,$.Z)(ni,[["render",li],["__scopeId","data-v-ca093826"]]);var ri=oi;function di(e,t,s,a,i,l){const n=(0,m.up)("Z-status"),o=(0,m.up)("Z-deadline"),r=(0,m.up)("Z-created-by"),d=(0,m.up)("Z-team"),u=(0,m.up)("Z-planned-time"),c=(0,m.up)("Z-remaining-time"),h=(0,m.up)("Z-spent-time"),p=(0,m.up)("Z-description"),v=(0,m.up)("Z-files");return(0,m.wg)(),(0,m.iD)(m.HY,null,[(0,m.Wm)(n,{status:s.mastertask.is_finished},null,8,["status"]),(0,m.Wm)(o,{deadline:s.mastertask.deadline},null,8,["deadline"]),(0,m.Wm)(r,{"employee-id":s.mastertask.created_by},null,8,["employee-id"]),(0,m.Wm)(d,{team:s.mastertask.team,employees:s.mastertask._allEmployees||s.mastertask.employees},null,8,["team","employees"]),(0,m.Wm)(u,{hours:s.mastertask.duration},null,8,["hours"]),(0,m.Wm)(c,{hours:s.mastertask.duration-s.mastertask.time_worked},null,8,["hours"]),(0,m.Wm)(h,{hours:s.mastertask.time_worked,"is-exceeded":s.mastertask.time_worked>s.mastertask.duration},null,8,["hours","is-exceeded"]),(0,m.Wm)(p,{description:s.mastertask.description},null,8,["description"]),(0,m.Wm)(v,{files:s.mastertask.files},null,8,["files"])],64)}const ui={class:"d-flex align-center"},ci=(0,m._)("p",{class:"mx-3"},"Deadline",-1);function mi(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",ui,[(0,m.Wm)(b.t,{icon:"mdi-calendar-week",size:"large"}),ci])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",{class:(0,k.C_)(""+(i.tmUtils.isAfter(s.deadline)?"text-black":"text-red-darken-4"))},(0,k.zw)(i.tmUtils.formatDateTime(s.deadline)),3)])),_:1})])),_:1})])),_:1})}var hi={props:{deadline:{type:String,required:!0}},data(){return{tmUtils:A.Z}}};const pi=(0,$.Z)(hi,[["render",mi]]);var vi=pi;const ki={key:0,class:"px-5 py-5 border-bottom"},fi=(0,m._)("p",null,"Popis zadania",-1),gi=["innerHTML"],_i={key:1,class:"px-5 py-5 border-bottom"},wi=(0,m._)("p",null,"Popis mastertasku",-1),bi=["innerHTML"];function yi(e,t,s,a,i,l){return(0,m.wg)(),(0,m.iD)(m.HY,null,[s.description?((0,m.wg)(),(0,m.iD)("div",ki,[fi,(0,m._)("section",{innerHTML:i.preparedDescription,class:"description-detail px-2 py-2 w-100 rounded mt-2"},null,8,gi)])):(0,m.kq)("",!0),s.inheritedDescription?((0,m.wg)(),(0,m.iD)("div",_i,[wi,(0,m._)("section",{innerHTML:i.preparedInheritedDescription,class:"description-detail px-2 py-2 w-100 rounded mt-2"},null,8,bi)])):(0,m.kq)("",!0)],64)}var Di={props:{description:{type:String||null,default:()=>null},inheritedDescription:{type:String||null,default:()=>null}},data(){return{copiedIndices:[],preparedDescription:"",preparedInheritedDescription:""}},mounted(){this.preparedDescription=Ds(this.description),this.preparedInheritedDescription=Ds(this.inheritedDescription)}};const Mi=(0,$.Z)(Di,[["render",yi]]);var Ti=Mi;const $i={class:"d-flex align-center"},Ci=(0,m._)("p",{class:"mx-3"},"Naplánovaný čas",-1);function ji(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",$i,[(0,m.Wm)(b.t,{icon:"mdi-clock-time-three-outline",size:"large"}),Ci])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",null,(0,k.zw)(s.hours)+" h",1)])),_:1})])),_:1})])),_:1})}var Ei={props:{hours:{type:Number,required:!0}}};const xi=(0,$.Z)(Ei,[["render",ji]]);var Wi=xi;const Si={class:"d-flex align-center"},Oi=(0,m._)("p",{class:"mx-3"},"Zostávajúci čas",-1);function Vi(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center border-bottom"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Si,[(0,m.Wm)(b.t,{icon:"mdi-clock-time-three-outline",size:"large"}),Oi])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",null,(0,k.zw)(s.hours)+" h",1)])),_:1})])),_:1})])),_:1})}var zi={props:{hours:{type:Number,required:!0}}};const Ai=(0,$.Z)(zi,[["render",Vi]]);var Ui=Ai;const Zi={class:"d-flex align-center"},Hi=(0,m._)("p",{class:"mx-3"},"Odpracovaný čas",-1);function Ii(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":""},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Zi,[(0,m.Wm)(b.t,{icon:"mdi-clock-time-three-outline",size:"large"}),Hi])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",{class:(0,k.C_)(s.isExceeded?"text-red-darken-4":"text-black")},(0,k.zw)(s.hours)+" h",3)])),_:1})])),_:1})])),_:1})}var Fi={props:{hours:{type:Number,required:!0},isExceeded:{type:Boolean,required:!0}}};const Pi=(0,$.Z)(Fi,[["render",Ii]]);var Li=Pi;const Ni={class:"d-flex align-center"},Yi=(0,m._)("p",{class:"mx-3"},"Status",-1),qi={key:0,class:"status-badge px-4 py-2 rounded-pill"},Bi={key:1,class:"status-badge px-4 py-2 rounded-pill"};function Ri(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Ni,[(0,m.Wm)(b.t,{icon:"mdi-drag-vertical",size:"large"}),Yi])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[1==s.status?((0,m.wg)(),(0,m.iD)("p",qi,"Ukončený")):0==s.status?((0,m.wg)(),(0,m.iD)("p",Bi,"Neukončený")):(0,m.kq)("",!0)])),_:1})])),_:1})])),_:1})}var Ki={props:{status:{type:Number,required:!0}}};const Ji=(0,$.Z)(Ki,[["render",Ri]]);var Xi=Ji;const Gi={class:"d-flex align-center"},Qi=(0,m._)("p",{class:"mx-3"},"Tím",-1),el={class:"task-badge px-4 py-2 rounded-pill flex-shrink-0"},tl={class:"employee-selected-avatar d-flex justify-center align-center"},sl={class:"ml-2"},al=(0,m._)("div",{class:"mb-4"},null,-1),il=(0,m._)("p",{class:"task-badge px-4 py-2 rounded-pill flex-shrink-0"},"Nepriradený",-1),ll={class:"employee-selected-avatar d-flex justify-center align-center"},nl={class:"ml-2"};function ol(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":""},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Gi,[(0,m.Wm)(b.t,{icon:"mdi-account-multiple-outline",size:"large"}),Qi])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3 d-flex flex-wrap flex-column"},{default:(0,m.w5)((()=>[s.team?((0,m.wg)(),(0,m.iD)(m.HY,{key:0},[(0,m._)("p",el,(0,k.zw)(s.team.name),1),((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(l.enrichedEmployeesInTeam,(e=>((0,m.wg)(),(0,m.iD)("div",{class:"d-flex align-center flex-shrink-0 mt-2 task-badge px-4 py-2 rounded-pill",key:e.id},[(0,m._)("p",tl,(0,k.zw)(e._initials),1),(0,m._)("p",sl,(0,k.zw)(e._fullName),1)])))),128)),al],64)):(0,m.kq)("",!0),il,((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(l.enrichedEmployeesOutsideTeam,(e=>((0,m.wg)(),(0,m.iD)("div",{class:"d-flex align-center flex-shrink-0 mt-2 task-badge px-4 py-2 rounded-pill",key:e.id},[(0,m._)("p",ll,(0,k.zw)(e._initials),1),(0,m._)("p",nl,(0,k.zw)(e._fullName),1)])))),128))])),_:1})])),_:1})])),_:1})}var rl={props:{team:{type:Object,required:!1},employees:{type:Array,required:!0}},computed:{enrichedEmployeesInTeam(){return this.team?.employees?A.Z.enrichEmployees(this.team.employees):[]},enrichedEmployeesOutsideTeam(){if(!this.team)return A.Z.enrichEmployees(this.employees);const e=this.employees.filter((e=>!this.team.employees.find((t=>t.id==e.id))));return A.Z.enrichEmployees(e)}}};const dl=(0,$.Z)(rl,[["render",ol]]);var ul=dl,cl={components:{ZCreatedBy:Dt,ZDeadline:vi,ZDescription:Ti,ZFiles:Zs,ZPlannedTime:Wi,ZRemainingTime:Ui,ZSpentTime:Li,ZStatus:Xi,ZTeam:ul},props:{mastertask:{type:Object,required:!0}}};const ml=(0,$.Z)(cl,[["render",di]]);var hl=ml,pl=s(15941),vl={emits:["master-task-edited","close"],mixins:[Ge,Qe,Z.Z,M],components:{AMastertaskDescription:hl,ATasksTable:ri,Datepicker:De.Z,ZFilesUpload:Se,QuillEditor:r.Bn},data(){return{deadline:null,editMode:!1,visible:!1,errorUtils:z.Z,v$:(0,O.ZP)(),mastertask:null,isSaving:!1,showAddEmployeeInput:!1,date:null,projectCodeSearch:null}},computed:{...(0,U.Se)("tm",["teams","projects","enrichedEmployees"]),enrichedSubtasks(){return this.mastertask?.subtasks?this.mastertask.subtasks.map((e=>{const t=this.enrichedEmployees.find((t=>t.id==e.employee_id));return{...e,_initials:t?t.name.charAt(0)+t.surname.charAt(0):"?",_fullName:t?`${t.name} ${t.surname}`:""}})).filter((e=>null!==e)):null}},validations(){const e=e=>!!(e&&e.length&&e.replace(/<[^>]*>/g,"").length);return{mastertask:{employees:{required:V.C1,minLength:(0,V.Ei)(1),$each:{duration:{required:V.C1}}},project_id:{required:V.C1},name:{required:V.C1},description:{quillEditorRequired:e},deadline:{required:V.C1},_deadline_time:{required:V.C1}}}},mounted(){this.$events.on("close-both-modals",this.closeBothModals),this.$events.on("master-task:team-member-deleted",(({teamId:e,memberId:t})=>{this.mastertask.team_id==e&&(this.mastertask.employees=this.mastertask.employees.filter((e=>e.id!=t)))})),this.$events.on("on-mastertask-deleted",(e=>{e?.id==this.mastertask?.id&&this.closeModal()})),this.$events.on("on-subtask-deleted",(e=>{this.mastertask&&(this.mastertask.subtasks=this.mastertask.subtasks.filter((t=>t.id!=e.id)))})),this.$events.on("on-subtask-edited",(e=>{this.mastertask?.subtasks&&(this.mastertask.subtasks.find((t=>t.id==e.id))?this.mastertask.subtasks=this.mastertask.subtasks.map((t=>t.id==e.id?e:t)):this.mastertask.subtasks.push(e))}))},beforeUnmount(){this.$events.off("on-mastertask-deleted"),this.$events.off("on-subtask-deleted"),this.$events.off("on-subtask-edited"),this.$events.off("master-task:team-member-deleted"),this.$events.off("close-both-modals",this.closeBothModals)},methods:{closeBothModals(){this.$emit("close"),this.visible=!1},removeEmployee({id:e}){this.mastertask.employees=this.mastertask.employees.filter((t=>t.id!=e))},removeMemberAlert(e){const t=this.mastertask.team;this.$events.emit("show-delete-team-member-modal",{member:e,team:t})},async showModal({mastertask:e,editMode:t=!1}){this.isSaving=!1,this.editMode=null,this.visible=!0,this.mastertask=null,this.$nextTick((()=>{this.setFocusEvent(),this.v$.$reset()}));try{if(e?.id){this.mastertask=await this.$axios.get_auth_data(`v1/mastertasks/${e.id}`);const t=this.projects.find((e=>e.code==this.mastertask.project_code));this.mastertask.project_id=t?.id||null,this.mastertask.team_id=this.mastertask.team?.id||null,this.mastertask._allEmployees=this.mastertask.subtasks.map((({employee_id:e,duration:t})=>{const s=this.enrichedEmployees.find((({id:t})=>t==e));return s?(s.duration=t,s):null})).filter((e=>null!==e))}else{const e=localStorage.getItem("mastertaskData");try{if(!e)throw new Error("mastertaskData is null or undefined");{const t=JSON.parse(e);if(this.mastertask=t,"object"!==typeof this.mastertask||null===this.mastertask)throw new Error("Parsed mastertask is not an object");this.$nextTick((()=>{this.$refs["description"]?.setHTML(this.mastertask.description||"")}))}}catch(s){pl.error("Error parsing mastertaskData:",s),this.mastertask={employees:[],duration:0,_deadline_time:"17:00"}}}this.editMode=t||!this.mastertask.id}catch(s){this.$toast.error(s.message||s)}},toggleIsFinished(){this.$events.emit("show-complete-master-task-modal",{mastertask:this.mastertask})},async save(){this.mastertask.id&&(this.mastertask.employees=this.mastertask.employees.map((e=>{const{duration:t}=this.mastertask.subtasks.find((({employee_id:t})=>t==e.id))||{};return e.duration=t,e})));const e=await this.v$.$validate(),t=await this._validateEmployees();if(e&&t){this.$refs["description"]&&(this.mastertask.description=this.$refs["description"].getHTML()),this._mergeDeadlineTimeDate();try{this.isSaving=!0,this.mastertask.deadline=Re()(this.mastertask.deadline).format("YYYY-MM-DD HH:MM:SS"),this.mastertask.id?await this.$axios.patch_auth_form(`v1/mastertasks/${this.mastertask.id}`,this.mastertask):await this.$axios.post_auth_data("v1/mastertasks",this.mastertask),localStorage.removeItem("mastertaskData"),this.$emit("master-task-edited",this.mastertask),this.closeModal()}catch(s){this.$toast.error(this.$parseError(s))}finally{this.isSaving=!1}}},filesUploaded(e){this.mastertask.files=e},closeModal(){this.visible=!1},openDeleteMasterTaskModal(e){this.$events.emit("show-delete-master-task-modal",{mastertask:e})},addTask(){this.$events.emit("show-subtask-modal",{subtask:{master_task_id:this.mastertask.id,project_code:this.mastertask.project_code}})},onQuillEditorInput(){this.mastertask.description=this.$refs["description"].getHTML()},_mergeDeadlineTimeDate(){const e=new Date(this.mastertask.deadline);pl.log("z-master-task-modal",this.subtask);const t=this.mastertask._deadline_time.split(":");e.setHours(parseInt(t[0])),e.setMinutes(parseInt(t[1])),this.mastertask.deadline=e},_validateEmployees(){let e=!0;return this.mastertask.employees=this.mastertask.employees.map((t=>(t.duration||(t.invalid=!0,e=!1),t))),e}},watch:{editMode(){this.$nextTick((()=>{if(this.$refs["description"]?.setHTML(this.mastertask.description||""),!this.mastertask?.id)return;const e=new Date(this.mastertask.deadline),t=e.getHours(),s=e.getMinutes();this.mastertask._deadline_time=`${t.toString().padStart(2,"0")}:${s.toString().padStart(2,"0")}`}))},mastertask:{handler(e){this.editMode&&!this.mastertask?.id&&localStorage.setItem("mastertaskData",JSON.stringify(e))},deep:!0}}};const kl=(0,$.Z)(vl,[["render",La],["__scopeId","data-v-03d0eea6"]]);var fl=kl,gl=s(41888),_l=s(89234);const wl=(0,m._)("h1",{class:"text-h5"}," Chcete túto osobu odstrániť z tímu? ",-1);function bl(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(w.B,{modelValue:i.visible,"onUpdate:modelValue":t[2]||(t[2]=e=>i.visible=e),"max-width":"500",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[wl,(0,m.Wm)(gl.Z,null,{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(i.member.name+" "+i.member.surname)+" bude odstránený/á z teamu.",1)])),_:1}),(0,m.Wm)(_.h,null,{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button secondary",variant:"text",onClick:t[0]||(t[0]=e=>l.closeModal())},{default:(0,m.w5)((()=>[(0,m.Uk)(" Zrušiť ")])),_:1}),(0,m.Wm)(_l.C),(0,m.Wm)(f.T,{class:"button primary",variant:"text",onClick:t[1]||(t[1]=e=>l.deleteMember())},{default:(0,m.w5)((()=>[(0,m.Uk)(" Áno ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var yl={mixins:[M],data(){return{visible:!1,member:null,team:null}},methods:{async showModal({member:e,team:t}){this.member=e,this.team=t,this.visible=!0},closeModal(){this.visible=!1},async deleteMember(){this.team.employees=[...this.team.employees].filter((e=>e.id!==this.member.id));try{if(this.team.id){const{team:e}=await this.$axios.put_auth(`v1/teams/${this.team.id}`,this.team);this.$store.commit("tm/update_team",e)}else{const{team:e}=await this.$axios.post_auth("v1/teams",this.team);this.$store.commit("tm/save_team",e)}this.$events.emit("master-task:team-member-deleted",{teamId:this.team.id,memberId:this.member.id}),this.closeModal()}catch(e){this.$toast.error(this.$parseError(e))}},_enrichTeam(e){return e.employees=A.Z.enrichEmployees(e.employees),e}}};const Dl=(0,$.Z)(yl,[["render",bl]]);var Ml=Dl;const Tl={class:"d-flex justify-space-between align-center"},$l=(0,m._)("h1",null,"Vytvoriť",-1);function Cl(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(w.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",Tl,[$l,(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[1]||(t[1]=(0,a.iM)((e=>n.createTask()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("SUB TASK")])),_:1}),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[2]||(t[2]=(0,a.iM)((e=>n.createBlocker()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("BLOCKER")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var jl={emits:["update","data"],props:["data"],mixins:[M],data(){return{visible:!1,localData:null}},mounted(){this.$events.on("blocker-created",(()=>{this.closeModal()})),this.$events.on("task-created",(()=>{this.closeModal()}))},methods:{async showModal(e){this.localData=e,this.visible=!0},closeModal(){this.visible=!1},createTask(){this.$events.emit("show-subtask-modal",{subtask:{deadline:this.localData.date,_deadline_time:this.localData.time,employee_id:this.localData.employee},onTaskCreated:()=>{this.closeModal()}})},createBlocker(){this.$events.emit("show-blocker-modal",{blocker:{starts_at_time:this.localData.time,datepicker:this.localData.date,employee_id:this.localData.employee},onBlockerCreated:()=>{this.closeModal()}})}}};const El=(0,$.Z)(jl,[["render",Cl]]);var xl=El,Wl={components:{ZDeleteTeamModal:j,ZTeamModal:P,ZDeleteTaskModal:B,ZDeleteBlockerModal:aa,ZTaskModal:Gs,ZMasterTaskModal:fl,ZCompleteTaskModal:ra,ZTaskAddTimeModal:_a,ZBlockerModal:Ma,ZDeleteMasterTaskModal:Ea,ZDeleteTeamMemberModal:Ml,ZShowMenuModal:xl,ZCompleteMasterTaskModal:ha,ZDeleteTimeBlockModal:ee},mounted(){this.$events.on("show-menu-modal",(e=>{this.$refs["z-show-menu-modal"].showModal(e)})),this.$events.on("show-delete-team-modal",(({team:e})=>{this.$refs["z-delete-team-modal"].showModal({team:e})})),this.$events.on("show-team-modal",(({team:e})=>{this.$refs["z-team-modal"].showModal({team:e})})),this.$events.on("show-delete-task-modal",(({subtask:e})=>{this.$refs["z-delete-task-modal"].showModal({subtask:e})})),this.$events.on("show-delete-timeblock-modal",(({subtask:e})=>{this.$refs["z-delete-timeblock-modal"].showModal({subtask:e})})),this.$events.on("show-delete-blocker-modal",(({blocker:e})=>{this.$refs["z-delete-blocker-modal"].showModal({blocker:e})})),this.$events.on("show-delete-master-task-modal",(({mastertask:e})=>{this.$refs["z-delete-master-task-modal"].showModal({mastertask:e})})),this.$events.on("show-delete-team-member-modal",(({member:e,team:t})=>{this.$refs["z-delete-team-member-modal"].showModal({member:e,team:t})})),this.$events.on("show-subtask-modal",(({subtask:e,editMode:t,mastertask:s})=>{if(e&&e.id){const t=e.id;this.$router.push({query:{subtask:t}})}this.$refs["z-task-modal"].showModal({subtask:e,editMode:t,mastertask:s})})),this.$events.on("show-mastertask-modal",(({mastertask:e,editMode:t})=>{if(e&&e.id){const t=e.id;this.$router.push({query:{mastertask:t}})}this.$refs["z-master-task-modal"].showModal({mastertask:e,editMode:t})})),this.$events.on("show-complete-task-modal",(({subtask:e})=>{this.$refs["z-complete-task-modal"].showModal({subtask:e})})),this.$events.on("show-complete-master-task-modal",(({mastertask:e})=>{this.$refs["z-complete-master-task-modal"].showModal({mastertask:e})})),this.$events.on("show-blocker-modal",(({blocker:e={}})=>{this.$refs["z-blocker-modal"].showModal({blocker:e})})),this.$events.on("show-task-add-time-modal",(({subtask:e})=>{this.$refs["z-task-add-time-modal"].showModal({subtask:e})})),this.$events.on("on-subtask-edited",(()=>{this.$store.dispatch("tm/reloadSubtasks")})),this.$events.on("on-mastertask-edited",(()=>{this.$store.dispatch("tm/reloadMastertasks")})),this.$events.on("on-mastertask-deleted",(()=>{this.$store.dispatch("tm/reloadMastertasks")})),this._showModalsAfterInicialization()},methods:{onTeamUpdate(e){this.$events.emit("on-team-update",e)},onTaskDeleted(e){this.$events.emit("on-subtask-deleted",e)},onBlockerDeleted(e){this.$events.emit("on-blocker-deleted",e)},onTaskEdited(e){this.$events.emit("on-subtask-edited",e)},onMasterTaskDeleted(e){this.$events.emit("on-mastertask-deleted",e)},onMasterTaskEdited(e){this.$events.emit("on-mastertask-edited",e)},_showModalsAfterInicialization(e=0){setTimeout((()=>e>50?this.$router.push({name:this.$route.name}):this.$store.getters["tm/isInitialized"]?this.$route.query["mastertask"]?this.$events.emit("show-mastertask-modal",{mastertask:{id:this.$route.query["mastertask"]},editMode:!1}):this.$route.query["subtask"]?this.$events.emit("show-subtask-modal",{subtask:{id:this.$route.query["subtask"]},editMode:!1}):void 0:this._showModalsAfterInicialization(e+1)),300)}}};const Sl=(0,$.Z)(Wl,[["render",v]]);var Ol=Sl,Vl=s(22483),zl=(0,U.MT)({state:{},getters:{},mutations:{},actions:{},modules:{}});const Al=[{path:"",redirect:"/auth"},{path:"/auth/",component:()=>s.e(9033).then(s.bind(s,99033)),children:[{path:"",redirect:"/auth/login"},{path:"/auth/login",name:"Login",component:()=>s.e(1097).then(s.bind(s,21097)),meta:{requiresAuth:!1}},{path:"/auth/forgot-password",name:"Forgot password",component:()=>s.e(924).then(s.bind(s,40924)),meta:{requiresAuth:!1}},{path:"/auth/forgot-success",name:"Forgot success",component:()=>s.e(8731).then(s.bind(s,28731)),meta:{requiresAuth:!1}},{path:"/auth/reset-password",name:"Reset password",component:()=>s.e(4518).then(s.bind(s,54518)),meta:{requiresAuth:null}}]},{path:"/app",component:()=>s.e(2612).then(s.bind(s,32612)),children:[{path:"",redirect:"/app/dashboard"},{path:"/app/dashboard",redirect:"/app/dashboard/tasks",children:[{path:"/app/dashboard/tasks",name:"Dashboard - Tasks",meta:{title:"Sub Tasks",requiresAuth:!0},component:()=>Promise.all([s.e(6367),s.e(6631)]).then(s.bind(s,88624))},{path:"/app/dashboard/teams",name:"Dashboard - Teams",meta:{title:"Teams Overview",requiresAuth:!0},component:()=>Promise.all([s.e(6367),s.e(8138)]).then(s.bind(s,63124))},{path:"/app/dashboard/projects",name:"Dashboard - Projects",meta:{title:"Projects overview",requiresAuth:!0},component:()=>s.e(3862).then(s.bind(s,3862))},{path:"/app/overview/unscheduled",name:"Overview - Unscheduled tasks",meta:{title:"Unscheduled Sub Tasks",requiresAuth:!0},component:()=>s.e(9215).then(s.bind(s,29215))},{path:"/app/overview/ongoing",name:"Overview - Ongoing tasks",meta:{title:"Ongoing Sub Tasks",requiresAuth:!0},component:()=>s.e(7023).then(s.bind(s,37023))},{path:"/app/overview/teams",name:"Overview - Teams",meta:{title:"Teams",requiresAuth:!0},component:()=>s.e(7073).then(s.bind(s,97073))},{path:"/app/dashboard/user",name:"Dashboard - User",meta:{title:"Profile",requiresAuth:!0},component:()=>s.e(907).then(s.bind(s,20907))},{path:"/app/search",name:"Search",meta:{title:"Search Results",requiresAuth:!0},component:()=>s.e(4392).then(s.bind(s,44392))}]}]},{path:"/:catchAll(.*)",name:"404",component:()=>s.e(188).then(s.bind(s,60188)),meta:{requiresAuth:null}}],Ul=(0,Vl.p7)({history:(0,Vl.r5)("/"),routes:Al});Ul.beforeEach(((e,t,s)=>{const a=zl.getters["auth/isLoggedIn"];return!0===e.meta.requiresAuth?a?s():s({name:"Login"}):!1===e.meta.requiresAuth&&a?s({name:"Dashboard - Tasks"}):s()}));var Zl=Ul,Hl=s(34311),Il=s(15941);Hl.Z.defaults.baseURL="https://tm.jandl.sk/api/";var Fl={async get(e,t){return Hl.Z.get(e,t).then((e=>e.data)).catch((e=>Promise.reject(e)))},async get_auth(e,t){return t=this._config(t),Hl.Z.get(e,t).then((e=>e.data)).catch((e=>Promise.reject(e)))},async get_data(e,t){return Hl.Z.get(e,t).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async get_auth_data(e,t){return t=this._config(t),Hl.Z.get(e,t).then((e=>Promise.resolve(e.data.data))).catch((e=>Promise.reject(e.response||e)))},async post(e,t=null,s){return Hl.Z.post(e,t,s).then((e=>e.data)).catch((e=>Promise.reject(e)))},async post_auth(e,t=null,s){return s=this._config(s),Hl.Z.post(e,t,s).then((e=>e.data)).catch((e=>Promise.reject(e)))},async post_data(e,t=null,s){return Hl.Z.post(e,t,s).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async post_auth_data(e,t=null,s){return s=this._config(s),Hl.Z.post(e,t,s).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async delete(e,t){return Hl.Z["delete"](e,t).then((e=>e.data)).catch((e=>Promise.reject(e)))},async delete_auth(e,t){return t=this._config(t),Hl.Z["delete"](e,t).then((e=>e.data)).catch((e=>Promise.reject(e)))},async delete_data(e,t){return Hl.Z["delete"](e,t).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async delete_auth_data(e,t){return t=this._config(t),Hl.Z["delete"](e,t).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async patch(e,t=null,s){return Hl.Z.patch(e,t,s).then((e=>e.data)).catch((e=>Promise.reject(e)))},async patch_auth(e,t=null,s){return s=this._config(s),Hl.Z.patch(e,t,s).then((e=>e.data)).catch((e=>Promise.reject(e)))},async patch_data(e,t=null,s){return Hl.Z.patch(e,t,s).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async patch_auth_data(e,t=null,s){return s=this._config(s),Hl.Z.patch(e,t,s).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async put(e,t=null,s){return Hl.Z.put(e,t,s).then((e=>e.data)).catch((e=>Promise.reject(e)))},async put_auth(e,t=null,s){return s=this._config(s),Hl.Z.put(e,t,s).then((e=>e.data)).catch((e=>Promise.reject(e)))},async put_data(e,t=null,s){return Hl.Z.put(e,t,s).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async put_auth_data(e,t=null,s){return s=this._config(s),Hl.Z.put(e,t,s).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},_config(e){return e&&Il.error("NOT IMPLEMENTED"),zl.getters["auth/token"]?{headers:{Authorization:`Bearer ${zl.getters["auth/token"]}`}}:{headers:{}}}},Pl={install:(e,t)=>{t&&!0===t.disabled||(e.config.globalProperties.$axios=Fl)}},Ll=s(82482);const Nl=e=>Object.entries(e).map((e=>e.map(encodeURIComponent).join("="))).join("&");function Yl(e){let t=e;return t=t.replace(/\//g,"\\/"),t=t.replace(/\./g,"\\."),t=t.replace(/\([^)]+\)/g,"[^/]+"),t}var ql=s(15941);class Bl{constructor(){(0,Ll.Z)(this,"_mocks",{}),Hl.Z.interceptors.request.use(this._redirectRequestToMock.bind(this)),this._mocks={}}mock(e){for(const t in e){let s=e[t];!1!==s&&(s={},s.name=t,s.url=t.split(" ")[1],s.reUrl||(s.reUrl=Yl(s.url)),s.matchMethod||(s.matchMethod=t.split(" ")[0].toLowerCase()),this._mocks[t]=s)}}_redirectRequestToMock(e){const t=e.url.replace(/https?:\/\/[^/?]+/,"");let s;for(const a in this._mocks){const i=this._mocks[a];if(e.method==i.matchMethod&&t.match(i.reUrl)){s=i;break}}if(s){s.fname||(s.fname={VUE_APP_WAXIOS_URL:"https://tm.jandl.sk/api/",NODE_ENV:"production",BASE_URL:"/"}.VUE_APP_PLATFORM?`/mock/${{VUE_APP_WAXIOS_URL:"https://tm.jandl.sk/api/",NODE_ENV:"production",BASE_URL:"/"}.VUE_APP_PLATFORM}/${s.url}.${e.method.toUpperCase()}.json`:`/mock/${s.url}.${e.method.toUpperCase()}.json`),ql.log(s.fname=`/mock/${s.url}.${e.method.toUpperCase()}.json`);const t={method:"get",url:window.location.origin+s.fname+"?___MOCK___&"+Nl(e.data||{})};e={...e,...t}}return e}}var Rl={install:(e,t)=>{const s=new Bl;t&&t.routes&&Object.values(t.routes).length&&!0!==t.disabled&&s.mock(t.routes)}},Kl=s(8069),Jl={install:(e,t)=>{if(t&&!0===t.disabled)return;const s=(0,Kl.Z)();e.config.globalProperties.$events=s}},Xl=s(44870),Gl=s(5658),Ql=s(31310),en=s(15941);class tn{constructor(e){(0,Ll.Z)(this,"currentLanguage",(0,Xl.iH)()),(0,Ll.Z)(this,"availableLanguages",void 0),(0,Ll.Z)(this,"vendorI18n",void 0),(0,Ll.Z)(this,"defaultLanguage",void 0),(0,Ll.Z)(this,"languageKey",void 0),(0,Ll.Z)(this,"_missingTranslation",((e,t,s,a)=>t)),(0,Ll.Z)(this,"_postTranslation",(e=>e)),this.availableLanguages=e.languages||[],this.defaultLanguage=e.languages.find((t=>t.value==e.defaultLanguage)),this.languageKey=e.languageKey||{VUE_APP_WAXIOS_URL:"https://tm.jandl.sk/api/",NODE_ENV:"production",BASE_URL:"/"}.VUE_APP_PLATFORM+"_language"||0,this.vendorI18n=(0,Gl.o)({legacy:!0,fallbackLocale:this.defaultLanguage.value,messages:this._loadLocaleMessages(),missing:this._missingTranslation,postTranslation:this._postTranslation}),this.changeLanguage({title:"Slovenský",flag:"sk",value:"sk"}),this.initCurrentLanguage()}async initCurrentLanguage(){const{value:e}=await Ql.u.get({key:this.languageKey});if(e)this.currentLanguage.value=JSON.parse(e);else if(this.defaultLanguage)this.currentLanguage.value=this.defaultLanguage;else{if(!this.availableLanguages[0])return en.error("[w18n] Could not init current language");this.currentLanguage.value=this.availableLanguages[0]}const t={};this.availableLanguages.forEach((e=>{t[e.value]=e.title})),this.changeLanguage(this.currentLanguage.value),this._addAxiosHeaders()}changeLanguage(e){this.currentLanguage.value=e,this._addAxiosHeaders(),Ql.u.set({key:this.languageKey,value:JSON.stringify(e)}),this.vendorI18n.global.locale=e.value}_addAxiosHeaders(){Hl.Z.interceptors.request.use((e=>(this.currentLanguage.value&&this.currentLanguage.value.value&&(e.headers["Accept-Language"]=this.currentLanguage.value.value),e))),Hl.Z.interceptors.response.use((e=>e),(e=>(e.response&&Hl.Z.post("https://logger.wezeo.dev/cms/api/data/new",{data:JSON.stringify(e)}),Promise.reject(e?.response||e))))}_loadLocaleMessages(e="@/locales"){let t;try{t=s(8973)}catch(i){return en.warn("[@wezeo/i18n] Could not initialize i18n. Missing folder /src/locales."),{}}const a={};return t.keys().forEach((e=>{const s=e.match(/([A-Za-z0-9-_]+)\./i);if(s&&s.length>1){const i=s[1];a[i]=t(e)}})),a}}var sn=s(15941),an={install:(e,t)=>{if(t&&!0===t.disabled)return;if(!t||!t.languages||!t.defaultLanguage)return sn.warn("[@wezeo/i18n] Could not initialize i18n. Missing configuration options.");e.config.globalProperties.$events||e.use(Jl);const s=new tn(t);e.use(s.vendorI18n),e.config.globalProperties.$w18n=s}},ln={install:(e,t)=>{t&&!0===t.disabled||(e.component("ion-content",i.W2),e.component("ion-page",i._i),e.component("ion-label",i.Q$),e.component("ion-back-button",i.oU),e.component("ion-checkbox",i.nz),e.component("ion-text",i.yW),e.component("ion-button",i.YG),e.component("ion-item",i.Ie),e.component("ion-item-group",i.Ub),e.component("ion-item-sliding",i.td),e.component("ion-item-option",i.u8),e.component("ion-item-options",i.IK),e.component("ion-toolbar",i.sr),e.component("ion-header",i.Gu),e.component("ion-footer",i.fr),e.component("ion-slides",i.Hr),e.component("ion-slide",i.A$),e.component("ion-spinner",i.PQ),e.component("ion-row",i.Nd),e.component("ion-col",i.wI),e.component("ion-grid",i.jY),e.component("ion-input",i.pK),e.component("ion-buttons",i.Sm),e.component("ion-icon",i.gu),e.component("ion-img",i.Xz),e.component("ion-list",i.q_),e.component("ion-skeleton-text",i.CK),e.component("ion-title",i.wd),e.component("ion-menu",i.z0),e.component("ion-split-pane",i.jI),e.component("ion-menu-button",i.fG),e.component("ion-router-outlet",i.jP),e.component("ion-segment",i.cJ),e.component("ion-segment-button",i.GO),e.component("ion-virtual-scroll",i.aJ),e.component("ion-textarea",i.g2),e.component("ion-searchbar",i.VI),e.component("ion-refresher-content",i.Wo),e.component("ion-refresher",i.nJ),e.component("ion-infinite-scroll-content",i.MB),e.component("ion-infinite-scroll",i.ju),e.component("ion-avatar",i.BJ),e.component("ion-thumbnail",i.Bs),e.component("ion-modal",i.ki),e.component("ion-radio-group",i.se),e.component("ion-radio",i.B7),e.component("ion-note",i.uN),e.component("ion-card",i.PM),e.component("ion-card-content",i.FN),e.component("ion-tab-bar",i.yq),e.component("ion-tab-button",i.ZU),e.component("ion-menu-toggle",i.zc),e.component("ion-fab",i.IJ),e.component("ion-fab-button",i.W4),e.component("ion-fab-list",i.zq),e.component("ion-reorder-group",i.oz),e.component("ion-reorder",i.Nh),e.component("ion-select",i.t9),e.component("ion-select-option",i.n0),e.component("ion-toggle",i.ho),e.component("ion-badge",i.yp),e.component("ion-chip",i.hM),e.component("ion-tabs",i.UN))}};async function nn(e){return"Unauthenticated."==e?.response?.data?.message?zl.dispatch("auth/logout"):Promise.reject(e)}Hl.Z.interceptors.response.use((e=>e),(e=>nn(e)));var on=s(15941),rn={namespaced:!0,state:{token:localStorage.getItem("wzo_vue_user_token")||"",user:JSON.parse(localStorage.getItem("wzo_vue_user_user")||"{}")},mutations:{auth_success(e,t){t.token&&(e.token=t.token,localStorage.setItem("wzo_vue_user_token",t.token)),t.user&&(e.user=t.user,localStorage.setItem("wzo_vue_user_user",JSON.stringify(t.user)))},auth_error(e){e.token="",localStorage.removeItem("wzo_vue_user_token"),localStorage.removeItem("wzo_vue_user_user")},logout(e){e.token="",e.user=null,localStorage.removeItem("wzo_vue_user_token"),localStorage.removeItem("wzo_vue_user_user"),window.open(location.origin,"_self")}},actions:{login({commit:e},t){return new Promise(((s,a)=>{Fl.post("v1/tokens/create",{data:t}).then((t=>{const a=t.token,i=t.user;e("auth_success",{token:a,user:i}),s(t)})).catch((t=>{e("auth_error"),a(t)}))}))},signup({commit:e},t){return new Promise(((s,a)=>{e("auth_request"),Fl.post_data("v1/auth/signup",t).then((t=>{const a=t.token,i=t.user;e("auth_success",{token:a,user:i}),s(t)})).catch((t=>{e("auth_error"),a(t)}))}))},logout({commit:e}){return new Promise((t=>{Fl.post_auth_data("v1/auth/invalidate").finally((()=>{e("logout"),t(null)}))}))},forgotPassword({commit:e},t){return new Promise(((e,s)=>{Fl.post("v1/users/forgot",{data:t}).then((t=>e(t))).catch((e=>s(e)))}))},resetPassword({commit:e},t){return e("auth_success",{token:t.token}),new Promise(((s,a)=>{Fl.post_auth_data("v1/users/reset",{data:t}).then((t=>{e("logout"),s(t)})).catch((e=>a(e)))}))},async refreshToken({commit:e}){try{const t=await Fl.post_auth_data("v1/auth/refresh"),s=t.token,a=t.user;return e("auth_success",{token:s,user:a}),s}catch(t){e("auth_error"),on.error(t)}},async userInfo({commit:e}){return new Promise(((t,s)=>{Fl.get_auth_data("v1/auth/info").then((s=>{const a=s.user;e("auth_success",{user:a}),t(a)})).catch((e=>{s(e)}))}))},updateUserInfo({commit:e},t){return new Promise(((s,a)=>{Fl.put_auth(`v1/users/${t.id}`,{data:t}).then((t=>{const a=t.user;e("auth_success",{user:a}),s(a)})).catch((e=>{a(e)}))}))}},getters:{isLoggedIn:e=>!!e.token,user:e=>e.user,token:e=>e.token&&void 0!=e.token?e.token:null}},dn=s(15941),un={install:(e,t)=>{if(!t||1!=t.disabled)return e.config.globalProperties.$store?void e.config.globalProperties.$store.registerModule("auth",rn):dn.warn("[w/auth] Could not initialize. App does not have vuex store added.")}},cn={install:(e,t)=>{t&&!0===t.disabled||(e.use(ws()),e.config.globalProperties.$parseError=e=>e?.data?.message||e?.response?.data?.message||e?.message||e)}};const mn={ref:"loadingContainer"},hn={key:0},pn={key:1},vn={key:2};function kn(e,t,s,a,i,l){return(0,m.wg)(),(0,m.iD)("div",mn,[s.content?s.content.error?((0,m.wg)(),(0,m.iD)("div",pn,(0,k.zw)(s.content.error),1)):"array"==typeof s.content&&!e.array.length||"object"==typeof s.content&&!Object.values(s.content).length?((0,m.wg)(),(0,m.iD)("div",vn,(0,k.zw)(s.emptyMessage),1)):(0,m.WI)(e.$slots,"default",{key:3},void 0,!0):((0,m.wg)(),(0,m.iD)("div",hn))],512)}var fn={props:{content:{type:[Object,Array,Boolean],default:()=>null},emptyMessage:{type:String,default:"No items"}},data(){return{loader:null}},async mounted(){this.content||await this._startLoading()},methods:{async _startLoading(){},_stopLoading(){}},watch:{}};const gn=(0,$.Z)(fn,[["render",kn],["__scopeId","data-v-a2444234"]]);var _n=gn,wn={install:(e,t)=>{t&&!0===t.disabled||e.component("W-loadable",_n)}},bn={install:(e,t={})=>{Jl.install(e,t.events),Pl.install(e,t.axios),an.install(e,t.i18n),Rl.install(e,t.moxios),ln.install(e,t.ionic),un.install(e,t.auth),cn.install(e,t.toast),wn.install(e,t.loadable)}},yn={parseAndTranslate(e){const t=this._parseToArrayOfStrings(e);return t.join(", ")},_parseToArrayOfStrings(e){return e?.data?.message?[_r(e.data.message)]:"string"==typeof e?[_r(e)]:e?.response?.data?Object.values(e?.response?.data):e&&e.error&&"string"==typeof e.error?[_r(e.error)]:e&&e.error&&"object"==typeof e.error?Object.values(_r(e.error)):e.data&&e.data.error&&"string"==typeof e.data.error?[_r(e.data.error)]:e&&e.data&&e.data.error&&"object"==typeof e.data.error?Object.values(e.data.error).map((e=>_r(e[0])+" ")):e.statusText?[_r(e.statusText)]:[e]}},Dn=s(15941);Hl.Z.defaults.baseURL="https://tm.jandl.sk/api/";var Mn={async get(e,t){return Hl.Z.get(e,t).then((e=>e.data)).catch((e=>Promise.reject(yn.parseAndTranslate(e))))},async get_auth(e,t){return t=this._config(t),Hl.Z.get(e,t).then((e=>e.data)).catch((e=>Promise.reject(yn.parseAndTranslate(e))))},async get_data(e,t){return Hl.Z.get(e,t).then((e=>e.data.data)).catch((e=>Promise.reject(yn.parseAndTranslate(e.response||e))))},async get_auth_data(e,t){return t=this._config(t),Hl.Z.get(e,t).then((e=>Promise.resolve(e.data.data))).catch((e=>Promise.reject(yn.parseAndTranslate(e.response||e))))},async post(e,t=null,s){return Hl.Z.post(e,this._objectToFormData(t),s).then((e=>e.data)).catch((e=>Promise.reject(yn.parseAndTranslate(e))))},async post_auth(e,t=null,s){return s=this._config(s),Hl.Z.post(e,this._objectToFormData(t),s).then((e=>e.data)).catch((e=>Promise.reject(yn.parseAndTranslate(e))))},async post_data(e,t=null,s){return Hl.Z.post(e,this._objectToFormData(t),s).then((e=>e.data.data)).catch((e=>Promise.reject(yn.parseAndTranslate(e.response||e))))},async post_auth_data(e,t=null,s){return s=this._config(s),Hl.Z.post(e,this._objectToFormData(t),s).then((e=>e.data.data)).catch((e=>Promise.reject(yn.parseAndTranslate(e.response||e))))},async delete(e,t){return Hl.Z["delete"](e,t).then((e=>e.data)).catch((e=>Promise.reject(yn.parseAndTranslate(e))))},async delete_auth(e,t){return t=this._config(t),Hl.Z["delete"](e,t).then((e=>e.data)).catch((e=>Promise.reject(yn.parseAndTranslate(e))))},async delete_data(e,t){return Hl.Z["delete"](e,t).then((e=>e.data.data)).catch((e=>Promise.reject(yn.parseAndTranslate(e.response||e))))},async delete_auth_data(e,t){return t=this._config(t),Hl.Z["delete"](e,t).then((e=>e.data.data)).catch((e=>Promise.reject(yn.parseAndTranslate(e.response||e))))},async patch(e,t=null,s){return Hl.Z.patch(e,this._objectToFormData(t),s).then((e=>e.data)).catch((e=>Promise.reject(yn.parseAndTranslate(e))))},async patch_auth(e,t=null,s){return s=this._config(s),Hl.Z.patch(e,this._objectToFormData(t),s).then((e=>e.data)).catch((e=>Promise.reject(yn.parseAndTranslate(e))))},async patch_auth_form(e,t=null,s){s=this._config(s),s.headers["Content-Type"]="multipart/form-data";const a=this._objectToFormData(t);return a.append("_method","put"),s.transformRequest=e=>e,Hl.Z.post(e,a,s).then((e=>e.data)).catch((e=>Promise.reject(yn.parseAndTranslate(e))))},async patch_data(e,t=null,s){return Hl.Z.patch(e,this._objectToFormData(t),s).then((e=>e.data.data)).catch((e=>Promise.reject(yn.parseAndTranslate(e.response||e))))},async patch_auth_data(e,t=null,s){return s=this._config(s),Hl.Z.patch(e,this._objectToFormData(t),s).then((e=>e.data.data)).catch((e=>Promise.reject(yn.parseAndTranslate(e.response||e))))},async put(e,t=null,s){return Hl.Z.put(e,this._objectToFormData(t),s).then((e=>e.data)).catch((e=>Promise.reject(yn.parseAndTranslate(e))))},async put_auth(e,t=null,s){return s=this._config(s),Hl.Z.put(e,{data:t},s).then((e=>e.data)).catch((e=>Promise.reject(yn.parseAndTranslate(e))))},async put_data(e,t=null,s){return Hl.Z.put(e,this._objectToFormData(t),s).then((e=>e.data.data)).catch((e=>Promise.reject(yn.parseAndTranslate(e.response||e))))},async put_auth_data(e,t=null,s){return s=this._config(s),Hl.Z.put(e,{data:t},s).then((e=>e.data.data)).catch((e=>Promise.reject(yn.parseAndTranslate(e.response||e))))},_config(e){return e&&Dn.error("NOT IMPLEMENTED"),zl.getters["auth/token"]?{headers:{Authorization:`Bearer ${zl.getters["auth/token"]}`}}:{headers:{}}},_buildFormData(e,t,s){!t||"object"!==typeof t||t instanceof Date||t instanceof File?e.append(s,null==t?"":t):Object.keys(t).forEach((a=>this._buildFormData(e,t[a],s?`${s}[${a}]`:a)))},_objectToFormData(e){const t=new FormData;return this._buildFormData(t,{data:e}),t}},Tn={install:(e,t)=>{t&&!0===t.disabled||(e.config.globalProperties.$axios=Mn)}},$n={namespaced:!0,state:{mastertasks:null,employees:null,teams:null,projects:null,unscheduledSubtasks:null,ongoingSubtasks:null,initialized:!1},mutations:{set_mastertasks(e,t){e.mastertasks=t},set_employees(e,t){e.employees=t},set_teams(e,t){e.teams=t},set_projects(e,t){e.projects=t},set_unscheduled_subtasks(e,t){e.unscheduledSubtasks=t},set_ongoing_subtasks(e,t){e.ongoingSubtasks=t},update_team(e,t){e.teams=e.teams.map((e=>e.id==t.id?t:e))},save_team(e,t){e.teams.push(t)},delete_team(e,t){e.teams=e.teams.filter((e=>e.id!=t.id))},update_subtask(e,t){e.unscheduledSubtasks=e.unscheduledSubtasks.map((e=>e.id==t.id?t:e)),e.ongoingSubtasks=e.ongoingSubtasks.map((e=>e.id==t.id?t:e))},delete_subtask(e,t){e.unscheduledSubtasks=e.unscheduledSubtasks.filter((e=>e.id!=t.id)),e.ongoingSubtasks=e.ongoingSubtasks.filter((e=>e.id!=t.id))},initialized(e){e.initialized=!0}},actions:{initialize({dispatch:e,commit:t}){return Promise.all([e("loadMastertasks"),e("loadEmployees"),e("loadTeams"),e("loadProjects"),e("loadUnscheduledSubtasks"),e("loadOngoingSubtasks")]).then((()=>t("initialized")))},reloadSubtasks({dispatch:e}){return Promise.all([e("loadMastertasks"),e("loadProjects"),e("loadUnscheduledSubtasks"),e("loadOngoingSubtasks")])},reloadMastertasks({dispatch:e}){return Promise.all([e("loadMastertasks")])},loadMastertasks({commit:e}){return new Promise(((t,s)=>{Mn.get_auth("v1/mastertasks/?simple=true").then((({mastertasks:s})=>{e("set_mastertasks",s),t(s)})).catch((t=>{e("set_mastertasks",{error:t}),s(t)}))}))},loadEmployees({commit:e}){return new Promise(((t,s)=>{Mn.get_auth_data("v1/employees").then((s=>{e("set_employees",s),t(s)})).catch((t=>{e("set_employees",{error:t}),s(t)}))}))},loadTeams({commit:e}){return new Promise(((t,s)=>{Mn.get_auth_data("v1/teams").then((s=>{e("set_teams",s),t(s)})).catch((t=>{e("set_teams",{error:t}),s(t)}))}))},loadProjects({commit:e}){return new Promise(((t,s)=>{Mn.get_auth_data("v1/projects").then((s=>{e("set_projects",s),t(s)})).catch((t=>{e("set_projects",{error:t}),s(t)}))}))},loadUnscheduledSubtasks({commit:e},t=zl.getters["auth/user"]?.id){return new Promise(((s,a)=>{Mn.get_auth(`v1/subtasks?type=unscheduled&employee_id=${t}`).then((({subtasks:t})=>{e("set_unscheduled_subtasks",t),s(t)})).catch((t=>{e("set_unscheduled_subtasks",{error:t}),a(t)}))}))},loadOngoingSubtasks({commit:e},t=zl.getters["auth/user"]?.id){return new Promise(((s,a)=>{Mn.get_auth(`v1/subtasks?type=ongoing&employee_id=${t}`).then((({subtasks:t})=>{e("set_ongoing_subtasks",t),s(t)})).catch((t=>{e("set_ongoing_subtasks",{error:t}),a(t)}))}))}},getters:{mastertasks:e=>e.mastertasks,employees:e=>e.employees,enrichedEmployees:e=>e.employees?e.employees.map((e=>({...e,_fullName:`${e.name} ${e.surname}`,_initials:e.name.charAt(0)+e.surname.charAt(0)}))).sort(((e,t)=>e.namee.teams,projects:e=>e.projects,unscheduledSubtasks:e=>e.unscheduledSubtasks,ongoingSubtasks:e=>e.ongoingSubtasks,isInitialized:e=>e.initialized}},Cn={install:e=>{e.config.globalProperties.$store.registerModule("tm",$n)}};const jn=["lang"],En={key:0,class:"vuecal__flex vuecal__body",grow:"grow"},xn=["onBlur","innerHTML"],Wn=["innerHTML"],Sn=["innerHTML"],On={class:"vuecal__flex",row:"row",grow:"grow"},Vn={key:0,class:"vuecal__time-column"},zn=(0,m._)("span",{class:"vuecal__time-cell-line"},null,-1),An={class:"vuecal__time-cell-label"},Un={key:1,class:"vuecal__flex vuecal__week-numbers",column:"column"},Zn=["wrap","column"],Hn=["onBlur","innerHTML"],In=["innerHTML"],Fn=["innerHTML"],Pn=["wrap"],Ln=["innerHTML"],Nn=["innerHTML"],Yn={key:2,class:"vuecal__cell-events-count"},qn={key:3,class:"vuecal__no-event"},Bn=["onBlur","innerHTML"],Rn=["innerHTML"],Kn={key:2,class:"vuecal__event-time"},Jn={key:0},Xn={key:1,class:"days-to-end"},Gn=["innerHTML"],Qn={key:0,class:"vuecal__scrollbar-check"},eo=(0,m._)("div",null,null,-1),to=[eo];function so(e,t,s,i,l,n){const o=(0,m.up)("vuecal-header"),r=(0,m.up)("all-day-bar"),d=(0,m.up)("weekdays-headings"),u=(0,m.up)("vuecal-cell");return(0,m.wg)(),(0,m.iD)("div",{class:(0,k.C_)(["vuecal__flex vuecal",n.cssClasses]),column:"column",ref:"vuecal",lang:s.locale},[(0,m.Wm)(o,{options:e.$props,"edit-events":n.editEvents,"view-props":{views:n.views,weekDaysInHeader:n.weekDaysInHeader},"week-days":n.weekDays,"has-splits":n.hasSplits,"day-splits":n.daySplits,"switch-to-narrower-view":n.switchToNarrowerView},(0,m.Nv)({_:2},[e.$slots["weekday-heading"]?{name:"weekday-heading",fn:(0,m.w5)((({heading:t,view:s})=>[(0,m.WI)(e.$slots,"weekday-heading",{heading:t,view:s})])),key:"0"}:void 0,e.$slots["split-label"]?{name:"split-label",fn:(0,m.w5)((({split:t,view:s})=>[(0,m.WI)(e.$slots,"split-label",{split:t,view:s.id})])),key:"1"}:void 0]),1032,["options","edit-events","view-props","week-days","has-splits","day-splits","switch-to-narrower-view"]),s.hideBody?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",En,[(0,m.Wm)(a.uT,{name:`slide-fade--${l.transitionDirection}`,appear:s.transitions},{default:(0,m.w5)((()=>[((0,m.wg)(),(0,m.iD)("div",{class:"vuecal__flex",style:{"min-width":"100%"},key:!!s.transitions&&l.view.id,column:"column"},[s.showAllDayEvents&&n.hasTimeColumn&&(!n.cellOrSplitMinWidth||n.isDayView&&!s.minSplitWidth)?((0,m.wg)(),(0,m.j4)(r,(0,k.vs)((0,m.dG)({key:0},n.allDayBar)),{event:(0,m.w5)((({event:t,view:s})=>[(0,m.WI)(e.$slots,"event",{view:s,event:t},(()=>[n.editEvents.title&&t.titleEditable?((0,m.wg)(),(0,m.iD)("div",{key:0,class:"vuecal__event-title vuecal__event-title--edit",contenteditable:"contenteditable",onBlur:e=>n.onEventTitleBlur(e,t),innerHTML:t.title},null,40,xn)):t.title?((0,m.wg)(),(0,m.iD)("div",{key:1,class:"vuecal__event-title",innerHTML:t.title},null,8,Wn)):(0,m.kq)("",!0),!t.content||n.hasShortEvents||n.isShortMonthView?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",{key:2,class:"vuecal__event-content",innerHTML:t.content},null,8,Sn))]))])),_:3},16)):(0,m.kq)("",!0),(0,m._)("div",{class:(0,k.C_)(["vuecal__bg",{vuecal__flex:!n.hasTimeColumn}]),column:"column",ref:"vuecal_scroll"},[(0,m._)("div",On,[n.hasTimeColumn?((0,m.wg)(),(0,m.iD)("div",Vn,[s.showAllDayEvents&&n.cellOrSplitMinWidth&&(!n.isDayView||s.minSplitWidth)?((0,m.wg)(),(0,m.iD)("div",{key:0,class:"vuecal__all-day-text",style:(0,k.j5)({height:n.allDayBar.height})},[(0,m._)("span",null,(0,k.zw)(l.texts.allDay),1)],4)):(0,m.kq)("",!0),((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.timeCells,((t,a)=>((0,m.wg)(),(0,m.iD)("div",{class:"vuecal__time-cell",key:a,style:(0,k.j5)(`height: ${s.timeCellHeight}px`)},[(0,m.WI)(e.$slots,"time-cell",{hours:t.hours,minutes:t.minutes},(()=>[zn,(0,m._)("span",An,(0,k.zw)(t.label),1)]))],4)))),128))])):(0,m.kq)("",!0),s.showWeekNumbers&&n.isMonthView?((0,m.wg)(),(0,m.iD)("div",Un,[((0,m.wg)(),(0,m.iD)(m.HY,null,(0,m.Ko)(6,(t=>(0,m._)("div",{class:"vuecal__flex vuecal__week-number-cell",key:t,grow:"grow"},[(0,m.WI)(e.$slots,"week-number-cell",{week:n.getWeekNumber(t-1)},(()=>[(0,m.Uk)((0,k.zw)(n.getWeekNumber(t-1)),1)]))]))),64))])):(0,m.kq)("",!0),(0,m._)("div",{class:(0,k.C_)(["vuecal__flex vuecal__cells vuecal__scrollable-body",`${l.view.id}-view`]),grow:"grow",wrap:!n.cellOrSplitMinWidth||!n.isWeekView,column:!!n.cellOrSplitMinWidth},[n.cellOrSplitMinWidth&&n.isWeekView?((0,m.wg)(),(0,m.j4)(d,{key:0,"transition-direction":l.transitionDirection,"week-days":n.weekDays,"switch-to-narrower-view":n.switchToNarrowerView,style:(0,k.j5)(n.cellOrSplitMinWidth?`min-width: ${n.cellOrSplitMinWidth}px`:""),unscheduledTime:s.unscheduledTime,ref:"vuecal_weekday_heading"},(0,m.Nv)({_:2},[e.$slots["weekday-heading"]?{name:"weekday-heading",fn:(0,m.w5)((({heading:t,view:s})=>[(0,m.WI)(e.$slots,"weekday-heading",{heading:t,view:s})])),key:"0"}:void 0,e.$slots["split-label"]?{name:"split-label",fn:(0,m.w5)((({split:t})=>[(0,m.WI)(e.$slots,"split-label",{split:t,view:l.view.id})])),key:"1"}:void 0]),1032,["transition-direction","week-days","switch-to-narrower-view","style","unscheduledTime"])):n.hasSplits&&s.stickySplitLabels&&s.minSplitWidth?((0,m.wg)(),(0,m.iD)("div",{key:1,class:"vuecal__flex vuecal__split-days-headers",ref:"vuecal_splits_heading",style:(0,k.j5)(n.cellOrSplitMinWidth?`min-width: ${n.cellOrSplitMinWidth}px`:"")},[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.daySplits,((t,s)=>((0,m.wg)(),(0,m.iD)("div",{class:(0,k.C_)(["day-split-header",t.class||!1]),key:s},[(0,m.WI)(e.$slots,"split-label",{split:t,view:l.view.id},(()=>[(0,m.Uk)((0,k.zw)(t.label),1)]))],2)))),128))],4)):(0,m.kq)("",!0),s.showAllDayEvents&&n.hasTimeColumn&&(n.isWeekView&&n.cellOrSplitMinWidth||n.isDayView&&n.hasSplits&&s.minSplitWidth)?((0,m.wg)(),(0,m.j4)(r,(0,k.vs)((0,m.dG)({key:2},n.allDayBar)),{event:(0,m.w5)((({event:t,view:s})=>[(0,m.WI)(e.$slots,"event",{view:s,event:t},(()=>[n.editEvents.title&&t.titleEditable?((0,m.wg)(),(0,m.iD)("div",{key:0,class:"vuecal__event-title vuecal__event-title--edit",contenteditable:"contenteditable",onBlur:e=>n.onEventTitleBlur(e,t),innerHTML:t.title},null,40,Hn)):t.title?((0,m.wg)(),(0,m.iD)("div",{key:1,class:"vuecal__event-title",innerHTML:t.title},null,8,In)):(0,m.kq)("",!0),!t.content||n.hasShortEvents||n.isShortMonthView?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",{key:2,class:"vuecal__event-content",innerHTML:t.content},null,8,Fn))]))])),_:3},16)):(0,m.kq)("",!0),(0,m._)("div",{class:"vuecal__flex vuecal__cells-body",ref:e=>l.cellsEl=e,grow:"grow",wrap:!n.cellOrSplitMinWidth||!n.isWeekView,style:(0,k.j5)(n.cellOrSplitMinWidth?`min-width: ${n.cellOrSplitMinWidth}px`:"")},[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.viewCells,((t,a)=>((0,m.wg)(),(0,m.j4)(u,{key:a,options:e.$props,"edit-events":n.editEvents,data:t,"cell-width":s.hideWeekdays.length&&(n.isWeekView||n.isMonthView)&&n.cellWidth,"min-timestamp":n.minTimestamp,"max-timestamp":n.maxTimestamp,"cell-splits":n.hasSplits&&n.daySplits||[]},{"cell-content":(0,m.w5)((({events:a,split:i,selectCell:o})=>[(0,m.WI)(e.$slots,"cell-content",{cell:t,view:l.view,goNarrower:o,events:a},(()=>[i&&!s.stickySplitLabels?((0,m.wg)(),(0,m.iD)("div",{key:0,class:"split-label",innerHTML:i.label},null,8,Ln)):(0,m.kq)("",!0),t.content?((0,m.wg)(),(0,m.iD)("div",{key:1,class:"vuecal__cell-date",innerHTML:t.content},null,8,Nn)):(0,m.kq)("",!0),(n.isMonthView&&!s.eventsOnMonthView||n.isYearsOrYearView&&s.eventsCountOnYearView)&&a.length?((0,m.wg)(),(0,m.iD)("div",Yn,[(0,m.WI)(e.$slots,"events-count",{view:l.view,events:a},(()=>[(0,m.Uk)((0,k.zw)(a.length),1)]))])):(0,m.kq)("",!0),!n.cellOrSplitHasEvents(a,i)&&n.isWeekOrDayView?((0,m.wg)(),(0,m.iD)("div",qn,[(0,m.WI)(e.$slots,"no-event",{},(()=>[(0,m.Uk)((0,k.zw)(l.texts.noEvent),1)]))])):(0,m.kq)("",!0)]))])),event:(0,m.w5)((({event:a,view:i})=>[(0,m.WI)(e.$slots,"event",{view:i,event:a},(()=>[n.editEvents.title&&a.titleEditable?((0,m.wg)(),(0,m.iD)("div",{key:0,class:"vuecal__event-title vuecal__event-title--edit",contenteditable:"contenteditable",onBlur:e=>n.onEventTitleBlur(e,a),innerHTML:a.title},null,40,Bn)):a.title?((0,m.wg)(),(0,m.iD)("div",{key:1,class:"vuecal__event-title",innerHTML:a.title},null,8,Rn)):(0,m.kq)("",!0),!s.time||a.allDay||n.isMonthView&&(a.allDay||"short"===s.showAllDayEvents)||n.isShortMonthView?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",Kn,[(0,m.Uk)((0,k.zw)(l.utils.date.formatTime(a.start,n.TimeFormat)),1),a.endTimeMinutes?((0,m.wg)(),(0,m.iD)("span",Jn," - "+(0,k.zw)(l.utils.date.formatTime(a.end,n.TimeFormat,null,!0)),1)):(0,m.kq)("",!0),a.daysCount>1&&(a.segments[t.formattedDate]||{}).isFirstDay?((0,m.wg)(),(0,m.iD)("small",Xn," +"+(0,k.zw)(a.daysCount-1)+(0,k.zw)((l.texts.day[0]||"").toLowerCase()),1)):(0,m.kq)("",!0)])),!a.content||n.isMonthView&&a.allDay&&"short"===s.showAllDayEvents||n.isShortMonthView?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",{key:3,class:"vuecal__event-content",innerHTML:a.content},null,8,Gn))]))])),_:2},1032,["options","edit-events","data","cell-width","min-timestamp","max-timestamp","cell-splits"])))),128))],12,Pn)],10,Zn)])],2)]))])),_:3},8,["name","appear"]),l.ready?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",Qn,to))]))],10,jn)}s(30541);let ao,io,lo,no,oo={},ro={};class uo{constructor(e,t=!1){(0,Ll.Z)(this,"texts",{}),(0,Ll.Z)(this,"dateToMinutes",(e=>60*e.getHours()+e.getMinutes())),no=this,this._texts=e,t||!Date||Date.prototype.addDays||this._initDatePrototypes()}_initDatePrototypes(){Date.prototype.addDays=function(e){return no.addDays(this,e)},Date.prototype.subtractDays=function(e){return no.subtractDays(this,e)},Date.prototype.addHours=function(e){return no.addHours(this,e)},Date.prototype.subtractHours=function(e){return no.subtractHours(this,e)},Date.prototype.addMinutes=function(e){return no.addMinutes(this,e)},Date.prototype.subtractMinutes=function(e){return no.subtractMinutes(this,e)},Date.prototype.getWeek=function(){return no.getWeek(this)},Date.prototype.isToday=function(){return no.isToday(this)},Date.prototype.isLeapYear=function(){return no.isLeapYear(this)},Date.prototype.format=function(e="YYYY-MM-DD"){return no.formatDate(this,e)},Date.prototype.formatTime=function(e="HH:mm"){return no.formatTime(this,e)}}removePrototypes(){delete Date.prototype.addDays,delete Date.prototype.subtractDays,delete Date.prototype.addHours,delete Date.prototype.subtractHours,delete Date.prototype.addMinutes,delete Date.prototype.subtractMinutes,delete Date.prototype.getWeek,delete Date.prototype.isToday,delete Date.prototype.isLeapYear,delete Date.prototype.format,delete Date.prototype.formatTime}updateTexts(e){this._texts=e}_todayFormatted(){return io!==(new Date).getDate()&&(ao=new Date,io=ao.getDate(),lo=`${ao.getFullYear()}-${ao.getMonth()}-${ao.getDate()}`),lo}addDays(e,t){const s=new Date(e.valueOf());return s.setDate(s.getDate()+t),s}subtractDays(e,t){const s=new Date(e.valueOf());return s.setDate(s.getDate()-t),s}addHours(e,t){const s=new Date(e.valueOf());return s.setHours(s.getHours()+t),s}subtractHours(e,t){const s=new Date(e.valueOf());return s.setHours(s.getHours()-t),s}addMinutes(e,t){const s=new Date(e.valueOf());return s.setMinutes(s.getMinutes()+t),s}subtractMinutes(e,t){const s=new Date(e.valueOf());return s.setMinutes(s.getMinutes()-t),s}getWeek(e){const t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())),s=t.getUTCDay()||7;t.setUTCDate(t.getUTCDate()+4-s);const a=new Date(Date.UTC(t.getUTCFullYear(),0,1));return Math.ceil(((t-a)/864e5+1)/7)}isToday(e){return`${e.getFullYear()}-${e.getMonth()}-${e.getDate()}`===this._todayFormatted()}isLeapYear(e){const t=e.getFullYear();return!(t%400)||t%100&&!(t%4)}getPreviousFirstDayOfWeek(e=null,t){const s=e&&new Date(e.valueOf())||new Date,a=t?7:6;return s.setDate(s.getDate()-(s.getDay()+a)%7),s}stringToDate(e){return e instanceof Date?e:(10===e.length&&(e+=" 00:00"),new Date(e.replace(/-/g,"/")))}countDays(e,t){"string"===typeof e&&(e=e.replace(/-/g,"/")),"string"===typeof t&&(t=t.replace(/-/g,"/")),e=new Date(e).setHours(0,0,0,0),t=new Date(t).setHours(0,0,1,0);const s=60*(new Date(t).getTimezoneOffset()-new Date(e).getTimezoneOffset())*1e3;return Math.ceil((t-e-s)/864e5)}datesInSameTimeStep(e,t,s){return Math.abs(e.getTime()-t.getTime())<=60*s*1e3}formatDate(e,t="YYYY-MM-DD",s=null){if(s||(s=this._texts),t||(t="YYYY-MM-DD"),"YYYY-MM-DD"===t)return this.formatDateLite(e);oo={},ro={};const a={YYYY:()=>this._hydrateDateObject(e,s).YYYY,YY:()=>this._hydrateDateObject(e,s).YY(),M:()=>this._hydrateDateObject(e,s).M,MM:()=>this._hydrateDateObject(e,s).MM(),MMM:()=>this._hydrateDateObject(e,s).MMM(),MMMM:()=>this._hydrateDateObject(e,s).MMMM(),MMMMG:()=>this._hydrateDateObject(e,s).MMMMG(),D:()=>this._hydrateDateObject(e,s).D,DD:()=>this._hydrateDateObject(e,s).DD(),S:()=>this._hydrateDateObject(e,s).S(),d:()=>this._hydrateDateObject(e,s).d,dd:()=>this._hydrateDateObject(e,s).dd(),ddd:()=>this._hydrateDateObject(e,s).ddd(),dddd:()=>this._hydrateDateObject(e,s).dddd(),HH:()=>this._hydrateTimeObject(e,s).HH,H:()=>this._hydrateTimeObject(e,s).H,hh:()=>this._hydrateTimeObject(e,s).hh,h:()=>this._hydrateTimeObject(e,s).h,am:()=>this._hydrateTimeObject(e,s).am,AM:()=>this._hydrateTimeObject(e,s).AM,mm:()=>this._hydrateTimeObject(e,s).mm,m:()=>this._hydrateTimeObject(e,s).m};return t.replace(/(\{[a-zA-Z]+\}|[a-zA-Z]+)/g,((e,t)=>{const s=a[t.replace(/\{|\}/g,"")];return void 0!==s?s():t}))}formatDateLite(e){const t=e.getMonth()+1,s=e.getDate();return`${e.getFullYear()}-${t<10?"0":""}${t}-${s<10?"0":""}${s}`}formatTime(e,t="HH:mm",s=null,a=!1){let i=!1;if(a){const[t,s,a]=[e.getHours(),e.getMinutes(),e.getSeconds()];t+s+a===141&&(i=!0)}if(e instanceof Date&&"HH:mm"===t)return i?"24:00":this.formatTimeLite(e);ro={},s||(s=this._texts);const l=this._hydrateTimeObject(e,s),n=t.replace(/(\{[a-zA-Z]+\}|[a-zA-Z]+)/g,((e,t)=>{const s=l[t.replace(/\{|\}/g,"")];return void 0!==s?s:t}));return i?n.replace("23:59","24:00"):n}formatTimeLite(e){const t=e.getHours(),s=e.getMinutes();return`${(t<10?"0":"")+t}:${(s<10?"0":"")+s}`}_nth(e){if(e>3&&e<21)return"th";switch(e%10){case 1:return"st";case 2:return"nd";case 3:return"rd";default:return"th"}}_hydrateDateObject(e,t){if(oo.D)return oo;const s=e.getFullYear(),a=e.getMonth()+1,i=e.getDate(),l=e.getDay(),n=(l-1+7)%7;return oo={YYYY:s,YY:()=>s.toString().substring(2),M:a,MM:()=>(a<10?"0":"")+a,MMM:()=>t.months[a-1].substring(0,3),MMMM:()=>t.months[a-1],MMMMG:()=>(t.monthsGenitive||t.months)[a-1],D:i,DD:()=>(i<10?"0":"")+i,S:()=>this._nth(i),d:n+1,dd:()=>t.weekDays[n][0],ddd:()=>t.weekDays[n].substr(0,3),dddd:()=>t.weekDays[n]},oo}_hydrateTimeObject(e,t){if(ro.am)return ro;let s,a;e instanceof Date?(s=e.getHours(),a=e.getMinutes()):(s=Math.floor(e/60),a=Math.floor(e%60));const i=s%12?s%12:12,l=(t||{am:"am",pm:"pm"})[24===s||s<12?"am":"pm"];return ro={H:s,h:i,HH:(s<10?"0":"")+s,hh:(i<10?"0":"")+i,am:l,AM:l.toUpperCase(),m:a,mm:(a<10?"0":"")+a},ro}}const co=1440;class mo{constructor(e){(0,Ll.Z)(this,"_vuecal",null),(0,Ll.Z)(this,"selectCell",((e=!1,t,s)=>{this._vuecal.$emit("cell-click",s?{date:t,split:s}:t),this._vuecal.clickToNavigate||e?this._vuecal.switchToNarrowerView():this._vuecal.dblclickToNavigate&&"ontouchstart"in window&&(this._vuecal.domEvents.dblTapACell.taps++,setTimeout((()=>this._vuecal.domEvents.dblTapACell.taps=0),this._vuecal.domEvents.dblTapACell.timeout),this._vuecal.domEvents.dblTapACell.taps>=2&&(this._vuecal.domEvents.dblTapACell.taps=0,this._vuecal.switchToNarrowerView(),this._vuecal.$emit("cell-dblclick",s?{date:t,split:s}:t)))})),(0,Ll.Z)(this,"keyPressEnterCell",((e,t)=>{this._vuecal.$emit("cell-keypress-enter",t?{date:e,split:t}:e),this._vuecal.switchToNarrowerView()})),(0,Ll.Z)(this,"getPosition",(e=>{const{left:t,top:s}=this._vuecal.cellsEl.getBoundingClientRect(),{clientX:a,clientY:i}="ontouchstart"in window&&e.touches?e.touches[0]:e;return{x:a-t,y:i-s}})),(0,Ll.Z)(this,"minutesAtCursor",(e=>{let t=0,s={x:0,y:0};const{timeStep:a,timeCellHeight:i,timeFrom:l}=this._vuecal.$props;return"number"===typeof e?t=e:"object"===typeof e&&(s=this.getPosition(e),t=Math.round(s.y*a/parseInt(i)+l)),{minutes:Math.max(Math.min(t,co),0),cursorCoords:s}})),this._vuecal=e}}const ho=2,po=1440;let vo,ko,fo;class go{constructor(e,t){(0,Ll.Z)(this,"_vuecal",null),(0,Ll.Z)(this,"eventDefaults",{_eid:null,start:"",startTimeMinutes:0,end:"",endTimeMinutes:0,title:"",content:"",background:!1,allDay:!1,segments:null,repeat:null,daysCount:1,deletable:!0,deleting:!1,titleEditable:!0,resizable:!0,resizing:!1,draggable:!0,dragging:!1,draggingStatic:!1,focused:!1,class:""}),this._vuecal=e,vo=t}createAnEvent(e,t,s){if("string"===typeof e&&(e=vo.stringToDate(e)),!(e instanceof Date))return!1;const a=vo.dateToMinutes(e);t=1*t||60*ho;const i=a+t,l=vo.addMinutes(new Date(e),t);s.end&&("string"===typeof s.end&&(s.end=vo.stringToDate(s.end)),s.endTimeMinutes=vo.dateToMinutes(s.end));const n={...this.eventDefaults,_eid:`${this._vuecal._.uid}_${this._vuecal.eventIdIncrement++}`,start:e,startTimeMinutes:a,end:l,endTimeMinutes:i,segments:null,...s};return"function"!==typeof this._vuecal.onEventCreate||this._vuecal.onEventCreate(n,(()=>this.deleteAnEvent(n)))?(n.startDateF!==n.endDateF&&(n.daysCount=vo.countDays(n.start,n.end)),this._vuecal.mutableEvents.push(n),this._vuecal.addEventsToView([n]),this._vuecal.emitWithEvent("event-create",n),this._vuecal.$emit("event-change",{event:this._vuecal.cleanupEvent(n),originalEvent:null}),n):void 0}addEventSegment(e){e.segments||(e.segments={},e.segments[vo.formatDateLite(e.start)]={start:e.start,startTimeMinutes:e.startTimeMinutes,endTimeMinutes:po,isFirstDay:!0,isLastDay:!1});const t=e.segments[vo.formatDateLite(e.end)];t&&(t.isLastDay=!1,t.endTimeMinutes=po);const s=vo.addDays(e.end,1),a=vo.formatDateLite(s);return s.setHours(0,0,0,0),e.segments[a]={start:s,startTimeMinutes:0,endTimeMinutes:e.endTimeMinutes,isFirstDay:!1,isLastDay:!0},e.end=vo.addMinutes(s,e.endTimeMinutes),e.daysCount=Object.keys(e.segments).length,a}removeEventSegment(e){let t=Object.keys(e.segments).length;if(t<=1)return vo.formatDateLite(e.end);delete e.segments[vo.formatDateLite(e.end)],t--;const s=vo.subtractDays(e.end,1),a=vo.formatDateLite(s),i=e.segments[a];return t?i&&(i.isLastDay=!0,i.endTimeMinutes=e.endTimeMinutes):e.segments=null,e.daysCount=t||1,e.end=s,a}createEventSegments(e,t,s){const a=t.getTime(),i=s.getTime();let l,n,o,r=e.start.getTime(),d=e.end.getTime(),u=!1;e.end.getHours()||e.end.getMinutes()||(d-=1e3),e.segments={},e.repeat?(l=a,n=Math.min(i,e.repeat.until?vo.stringToDate(e.repeat.until).getTime():i)):(l=Math.max(a,r),n=Math.min(i,d));while(l<=n){let t=!1;const s=vo.addDays(new Date(l),1).setHours(0,0,0,0);let a,i,c,m;if(e.repeat){const s=new Date(l),n=vo.formatDateLite(s);(u||e.occurrences&&e.occurrences[n])&&(u||(r=e.occurrences[n].start,o=new Date(r).setHours(0,0,0,0),d=e.occurrences[n].end),u=!0,t=!0),a=l===o,i=n===vo.formatDateLite(new Date(d)),c=new Date(a?r:l),m=vo.formatDateLite(c),i&&(u=!1)}else t=!0,a=l===r,i=n===d&&s>n,c=a?e.start:new Date(l),m=vo.formatDateLite(a?e.start:c);t&&(e.segments[m]={start:c,startTimeMinutes:a?e.startTimeMinutes:0,endTimeMinutes:i?e.endTimeMinutes:po,isFirstDay:a,isLastDay:i}),l=s}return e}deleteAnEvent(e){this._vuecal.emitWithEvent("event-delete",e),this._vuecal.mutableEvents=this._vuecal.mutableEvents.filter((t=>t._eid!==e._eid)),this._vuecal.view.events=this._vuecal.view.events.filter((t=>t._eid!==e._eid))}checkCellOverlappingEvents(e,t){fo=e.slice(0),ko={},e.forEach((e=>{fo.shift(),ko[e._eid]||(ko[e._eid]={overlaps:[],start:e.start,position:0,sameOverlaps:[]}),ko[e._eid].position=0,fo.forEach((s=>{ko[s._eid]||(ko[s._eid]={overlaps:[],start:s.start,position:0,sameOverlaps:[]});const a=this.eventInRange(s,e.start,e.end),i=this.eventSameRange(s,e),l=t.overlapsPerTimeStep?vo.datesInSameTimeStep(e.start,s.start,t.timeStep):1;if(e.background||e.allDay||s.background||s.allDay||!a||!l){let t,a;(t=(ko[e._eid]||{overlaps:[]}).overlaps.indexOf(s._eid))>-1&&ko[e._eid].overlaps.splice(t,1),(a=(ko[s._eid]||{overlaps:[]}).overlaps.indexOf(e._eid))>-1&&ko[s._eid].overlaps.splice(a,1),ko[s._eid].position--}else ko[e._eid].overlaps.push(s._eid),ko[e._eid].overlaps=[...new Set(ko[e._eid].overlaps)],ko[s._eid].overlaps.push(e._eid),ko[s._eid].overlaps=[...new Set(ko[s._eid].overlaps)],ko[s._eid].position++,i&&(ko[e._eid].sameOverlaps.push(s._eid),ko[e._eid].sameOverlaps=[...new Set(ko[e._eid].sameOverlaps)],ko[s._eid].sameOverlaps.push(e._eid),ko[s._eid].sameOverlaps=[...new Set(ko[s._eid].sameOverlaps)])}))}));let s=0;for(const a in ko){const e=ko[a],t=e.overlaps.map((e=>({id:e,start:ko[e].start})));t.push({id:a,start:e.start}),t.sort(((e,t)=>e.startt.start?1:e.id>t.id?-1:1)),e.position=t.findIndex((e=>e.id===a)),s=Math.max(this.getOverlapsStreak(e,ko),s)}return[ko,s]}getOverlapsStreak(e,t={}){let s=e.overlaps.length+1,a=[];return e.overlaps.forEach((s=>{if(!a.includes(s)){const i=e.overlaps.filter((e=>e!==s));i.forEach((e=>{t[e].overlaps.includes(s)||a.push(e)}))}})),a=[...new Set(a)],s-=a.length,s}eventInRange(e,t,s){if(e.allDay||!this._vuecal.time){const a=new Date(e.start).setHours(0,0,0,0),i=new Date(e.end).setHours(23,59,0,0);return i>=new Date(t).setHours(0,0,0,0)&&a<=new Date(s).setHours(0,0,0,0)}const a=e.start.getTime(),i=e.end.getTime();return at.getTime()}eventSameRange(e,t){const s=e.start.getTime()==t.start.getTime(),a=e.end.getTime()==t.end.getTime();return s&&a}}const _o={class:"vuecal__header"},wo={key:0,class:"vuecal__flex vuecal__menu",role:"tablist","aria-label":"Calendar views navigation"},bo=["onDragenter","onDragleave","onClick","aria-label"],yo={key:1,class:"vuecal__title-bar"},Do=["aria-label"],Mo={class:"vuecal__flex vuecal__title",grow:""},To=["aria-label"],$o={key:0,class:"vuecal__flex vuecal__split-days-headers"};function Co(e,t,s,i,l,n){const o=(0,m.up)("weekdays-headings");return(0,m.wg)(),(0,m.iD)("div",_o,[s.options.hideViewSelector?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",wo,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(s.viewProps.views,((t,a)=>((0,m.wg)(),(0,m.iD)(m.HY,{key:a},[t.enabled?((0,m.wg)(),(0,m.iD)("button",{key:0,class:(0,k.C_)(["vuecal__view-btn",{"vuecal__view-btn--active":n.view.id===a,"vuecal__view-btn--highlighted":e.highlightedControl===a}]),type:"button",onDragenter:t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragEnter(t,a,e.$data),onDragleave:t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragLeave(t,a,e.$data),onClick:e=>n.switchView(a,null,!0),"aria-label":`${t.label} view`},(0,k.zw)(t.label),43,bo)):(0,m.kq)("",!0)],64)))),128))])),s.options.hideTitleBar?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",yo,[(0,m._)("button",{class:(0,k.C_)(["vuecal__arrow vuecal__arrow--prev",{"vuecal__arrow--highlighted":"previous"===e.highlightedControl}]),type:"button",onClick:t[0]||(t[0]=(...e)=>n.previous&&n.previous(...e)),onDragenter:t[1]||(t[1]=t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragEnter(t,"previous",e.$data)),onDragleave:t[2]||(t[2]=t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragLeave(t,"previous",e.$data)),"aria-label":`Previous ${n.view.id}`},[(0,m.WI)(e.$slots,"arrow-prev")],42,Do),(0,m._)("div",Mo,[(0,m.Wm)(a.uT,{name:s.options.transitions?`slide-fade--${n.transitionDirection}`:""},{default:(0,m.w5)((()=>[((0,m.wg)(),(0,m.j4)((0,m.LL)(n.broaderView?"button":"span"),{type:!!n.broaderView&&"button",key:`${n.view.id}${n.view.startDate.toString()}`,onClick:t[3]||(t[3]=e=>!!n.broaderView&&n.switchToBroaderView()),"aria-label":!!n.broaderView&&`Go to ${n.broaderView} view`},{default:(0,m.w5)((()=>[(0,m.WI)(e.$slots,"title")])),_:3},8,["type","aria-label"]))])),_:3},8,["name"])]),s.options.todayButton?((0,m.wg)(),(0,m.iD)("button",{key:0,class:(0,k.C_)(["vuecal__today-btn",{"vuecal__today-btn--highlighted":"today"===e.highlightedControl}]),type:"button",onClick:t[4]||(t[4]=(...e)=>n.goToToday&&n.goToToday(...e)),onDragenter:t[5]||(t[5]=t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragEnter(t,"today",e.$data)),onDragleave:t[6]||(t[6]=t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragLeave(t,"today",e.$data)),"aria-label":"Today"},[(0,m.WI)(e.$slots,"today-button")],34)):(0,m.kq)("",!0),(0,m._)("button",{class:(0,k.C_)(["vuecal__arrow vuecal__arrow--next",{"vuecal__arrow--highlighted":"next"===e.highlightedControl}]),type:"button",onClick:t[7]||(t[7]=(...e)=>n.next&&n.next(...e)),onDragenter:t[8]||(t[8]=t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragEnter(t,"next",e.$data)),onDragleave:t[9]||(t[9]=t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragLeave(t,"next",e.$data)),"aria-label":`Next ${n.view.id}`},[(0,m.WI)(e.$slots,"arrow-next")],42,To)])),s.viewProps.weekDaysInHeader?((0,m.wg)(),(0,m.j4)(o,{key:2,"week-days":s.weekDays,"transition-direction":n.transitionDirection,"switch-to-narrower-view":s.switchToNarrowerView},(0,m.Nv)({_:2},[e.$slots["weekday-heading"]?{name:"weekday-heading",fn:(0,m.w5)((({heading:t,view:s})=>[(0,m.WI)(e.$slots,"weekday-heading",{heading:t,view:s})])),key:"0"}:void 0,e.$slots["split-label"]?{name:"split-label",fn:(0,m.w5)((({split:t})=>[(0,m.WI)(e.$slots,"split-label",{split:t,view:n.view})])),key:"1"}:void 0]),1032,["week-days","transition-direction","switch-to-narrower-view"])):(0,m.kq)("",!0),(0,m.Wm)(a.uT,{name:`slide-fade--${n.transitionDirection}`},{default:(0,m.w5)((()=>[n.showDaySplits?((0,m.wg)(),(0,m.iD)("div",$o,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(s.daySplits,((t,s)=>((0,m.wg)(),(0,m.iD)("div",{class:(0,k.C_)(["day-split-header",t.class||!1]),key:s},[(0,m.WI)(e.$slots,"split-label",{split:t,view:n.view.id},(()=>[(0,m.Uk)((0,k.zw)(t.label),1)]))],2)))),128))])):(0,m.kq)("",!0)])),_:3},8,["name"])])}const jo={class:"vuecal__flex vuecal__weekdays-headings",ref:"vuecal_weekday_heading"},Eo=["onClick"],xo={class:"vuecal__flex weekday-label",grow:""},Wo={class:"full"},So={class:"small"},Oo={class:"xsmall"},Vo={key:0},zo={key:0,class:"vuecal__flex vuecal__split-days-headers",grow:""};function Ao(e,t,s,i,l,n){return(0,m.wg)(),(0,m.iD)("div",jo,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.headings,((i,l)=>((0,m.wg)(),(0,m.iD)(m.HY,{key:l},[i.hide?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",{key:0,class:(0,k.C_)(["vuecal__flex vuecal__heading",{today:i.today,"today-cell":i.today,clickable:n.cellHeadingsClickable,"yesterday-cell":new Date(i.date).toLocaleDateString("sk-SK")==new Date((new Date).setDate((new Date).getDate()-1)).toLocaleDateString("sk-SK")}]),style:(0,k.j5)(n.weekdayCellStyles),onClick:e=>"week"===n.view.id&&n.selectCell(i.date,e),onDblclick:t[0]||(t[0]=e=>"week"===n.view.id&&n.vuecal.dblclickToNavigate&&s.switchToNarrowerView())},[(0,m.Wm)(a.uT,{name:`slide-fade--${s.transitionDirection}`,appear:n.vuecal.transitions},{default:(0,m.w5)((()=>[((0,m.wg)(),(0,m.iD)("div",{class:"vuecal__flex",column:"",key:!!n.vuecal.transitions&&`${l}-${i.dayOfMonth}`},[(0,m._)("div",xo,[(0,m.WI)(e.$slots,"weekday-heading",{heading:n.cleanupHeading(i),view:n.view},(()=>[(0,m._)("span",Wo,(0,k.zw)(i.full),1),(0,m._)("span",So,(0,k.zw)(i.small),1),(0,m._)("span",Oo,(0,k.zw)(i.xsmall),1),i.dayOfMonth?((0,m.wg)(),(0,m.iD)("span",Vo," "+(0,k.zw)(i.dayOfMonth),1)):(0,m.kq)("",!0)]))]),n.vuecal.hasSplits&&n.vuecal.stickySplitLabels?((0,m.wg)(),(0,m.iD)("div",zo,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.vuecal.daySplits,((t,s)=>((0,m.wg)(),(0,m.iD)("div",{class:(0,k.C_)(["day-split-header",t.class||!1]),key:s},[(0,m.WI)(e.$slots,"split-label",{split:t,view:n.view},(()=>[(0,m.Uk)((0,k.zw)(t.label),1)]))],2)))),128))])):(0,m.kq)("",!0)]))])),_:2},1032,["name","appear"])],46,Eo))],64)))),128))],512)}var Uo={inject:["vuecal","utils","view"],props:{transitionDirection:{type:String,default:"right"},weekDays:{type:Array,default:()=>[]},switchToNarrowerView:{type:Function,default:()=>{}},unscheduledTime:{type:Array,default:[]}},methods:{selectCell(e,t){e.getTime()!==this.view.selectedDate.getTime()&&(this.view.selectedDate=e),this.utils.cell.selectCell(!1,e,t)},cleanupHeading:e=>({label:e.full,date:e.date,unscheduledTime:e.unscheduledTime,name:e.name,initials:e.initials,...e.today?{today:e.today}:{}}),onTimelineScroll(e){this.$refs["vuecal_weekday_heading"].style.top=`${e}px`}},computed:{headings(){if(!["month","week"].includes(this.view.id))return[];let e=!1;const t=this.weekDays.map(((t,s)=>{const a=this.utils.date.addDays(this.view.startDate,this.vuecal.startWeekOnSunday?s-1:s);let i=null,l=null,n=null;return this.unscheduledTime[s]?.time&&(i=Math.floor(this.unscheduledTime[s].time/60)+","+String(this.unscheduledTime[s].time%60)[0]),this.unscheduledTime[s]?.name&&this.unscheduledTime[s]?.name&&(l=this.unscheduledTime[s].name+" "+this.unscheduledTime[s].surname,n=this.unscheduledTime[s].name.charAt(0).toUpperCase()+this.unscheduledTime[s].surname.charAt(0).toUpperCase()),{hide:t.hide,full:t.label,small:t.short||t.label.substr(0,3),xsmall:t.short||t.label.substr(0,1),unscheduledTime:i,name:l,initials:n,..."week"===this.view.id?{dayOfMonth:a.getDate(),date:a,today:!e&&this.utils.date.isToday(a)&&!e++}:{}}}));return t},cellWidth(){return 100/(7-this.weekDays.reduce(((e,t)=>e+t.hide),0))},weekdayCellStyles(){return{...this.vuecal.hideWeekdays.length?{width:`${this.cellWidth}%`}:{}}},cellHeadingsClickable(){return"week"===this.view.id&&(this.vuecal.clickToNavigate||this.vuecal.dblclickToNavigate)}}};const Zo=(0,$.Z)(Uo,[["render",Ao]]);var Ho=Zo,Io={inject:["vuecal","previous","next","switchView","updateSelectedDate","modules","view"],components:{WeekdaysHeadings:Ho},props:{options:{type:Object,default:()=>({})},editEvents:{type:Object,required:!0},hasSplits:{type:[Boolean,Number],default:!1},daySplits:{type:Array,default:()=>[]},viewProps:{type:Object,default:()=>({})},weekDays:{type:Array,default:()=>[]},switchToNarrowerView:{type:Function,default:()=>{}}},data:()=>({highlightedControl:null}),methods:{goToToday(){this.updateSelectedDate(new Date((new Date).setHours(0,0,0,0)))},switchToBroaderView(){this.transitionDirection="left",this.broaderView&&this.switchView(this.broaderView)}},computed:{transitionDirection:{get(){return this.vuecal.transitionDirection},set(e){this.vuecal.transitionDirection=e}},broaderView(){const{enabledViews:e}=this.vuecal;return e[e.indexOf(this.view.id)-1]},showDaySplits(){return"day"===this.view.id&&this.hasSplits&&this.options.stickySplitLabels&&!this.options.minSplitWidth},dnd(){return this.modules.dnd}}};const Fo=(0,$.Z)(Io,[["render",Co]]);var Po=Fo;const Lo={key:0,class:"vuecal__all-day-text",style:{width:"3em"}};function No(e,t,s,a,i,l){const n=(0,m.up)("vuecal-cell");return(0,m.wg)(),(0,m.iD)("div",{class:"vuecal__flex vuecal__all-day",style:(0,k.j5)(s.cellOrSplitMinWidth&&{height:s.height})},[s.cellOrSplitMinWidth?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",Lo,[(0,m._)("span",null,(0,k.zw)(s.label),1)])),(0,m._)("div",{class:(0,k.C_)(["vuecal__flex vuecal__cells",`${l.view.id}-view`]),grow:"",style:(0,k.j5)(s.cellOrSplitMinWidth?`min-width: ${s.cellOrSplitMinWidth}px`:"")},[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(s.cells,((t,a)=>((0,m.wg)(),(0,m.j4)(n,{key:a,options:s.options,"edit-events":l.editEvents,data:t,"all-day":!0,"cell-width":s.options.hideWeekdays.length&&(l.vuecal.isWeekView||l.vuecal.isMonthView)&&l.vuecal.cellWidth,"min-timestamp":s.options.minTimestamp,"max-timestamp":s.options.maxTimestamp,"cell-splits":s.daySplits},{event:(0,m.w5)((({event:t,view:s})=>[(0,m.WI)(e.$slots,"event",{view:s,event:t})])),_:2},1032,["options","edit-events","data","cell-width","min-timestamp","max-timestamp","cell-splits"])))),128))],6)],4)}const Yo=["data-split","aria-label","onTouchstart","onMousedown","onClick","onDragover","onDrop"],qo={key:0,class:"cell-time-labels"},Bo=["innerHTML"],Ro={key:2,class:"vuecal__cell-events"},Ko=["title"];function Jo(e,t,s,i,l,n){const o=(0,m.up)("event");return(0,m.wg)(),(0,m.j4)(a.W3,{class:(0,k.C_)(["vuecal__cell",n.cellClasses]),name:`slide-fade--${n.transitionDirection}`,tag:"div",appear:s.options.transitions,style:(0,k.j5)(n.cellStyles)},{default:(0,m.w5)((()=>[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.splitsCount?n.splits:1,((i,l)=>((0,m.wg)(),(0,m.iD)("div",{class:(0,k.C_)(["vuecal__flex vuecal__cell-content",n.splitsCount&&n.splitClasses(i)]),key:s.options.transitions?`${n.view.id}-${s.data.content}-${l}`:l,"data-split":!!n.splitsCount&&i.id,column:"",tabindex:"0","aria-label":s.data.content,onFocus:t[0]||(t[0]=e=>n.onCellFocus(e)),onKeypress:t[1]||(t[1]=(0,a.D2)((e=>n.onCellkeyPressEnter(e)),["enter"])),onTouchstart:e=>!n.isDisabled&&n.onCellTouchStart(e,n.splitsCount?i.id:null),onMousedown:e=>!n.isDisabled&&n.onCellMouseDown(e,n.splitsCount?i.id:null),onClick:e=>!n.isDisabled&&n.onCellClick(e,i),onDblclick:t[2]||(t[2]=e=>!n.isDisabled&&n.onCellDblClick(e)),onContextmenu:t[3]||(t[3]=e=>!n.isDisabled&&s.options.cellContextmenu&&n.onCellContextMenu(e)),onDragenter:t[4]||(t[4]=t=>!n.isDisabled&&s.editEvents.drag&&n.dnd&&n.dnd.cellDragEnter(t,e.$data,s.data.startDate)),onDragover:t=>!n.isDisabled&&s.editEvents.drag&&n.dnd&&n.dnd.cellDragOver(t,e.$data,s.data.startDate,n.splitsCount?i.id:null),onDragleave:t[5]||(t[5]=t=>!n.isDisabled&&s.editEvents.drag&&n.dnd&&n.dnd.cellDragLeave(t,e.$data,s.data.startDate)),onDrop:t=>!n.isDisabled&&s.editEvents.drag&&n.dnd&&n.dnd.cellDragDrop(t,e.$data,s.data.startDate,n.splitsCount?i.id:null)},[s.options.showTimeInCells&&s.options.time&&n.isWeekOrDayView&&!s.allDay?((0,m.wg)(),(0,m.iD)("div",qo,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.vuecal.timeCells,((e,t)=>((0,m.wg)(),(0,m.iD)("span",{class:"cell-time-label",key:t},(0,k.zw)(e.label),1)))),128))])):(0,m.kq)("",!0),n.isWeekOrDayView&&!s.allDay&&n.specialHours.length?((0,m.wg)(!0),(0,m.iD)(m.HY,{key:1},(0,m.Ko)(n.specialHours,((e,t)=>((0,m.wg)(),(0,m.iD)("div",{class:(0,k.C_)(["vuecal__special-hours",`vuecal__special-hours--day${e.day} ${e.class}`]),style:(0,k.j5)(`height: ${e.height}px;top: ${e.top}px`)},[e.label?((0,m.wg)(),(0,m.iD)("div",{key:0,class:"special-hours-label",innerHTML:e.label},null,8,Bo)):(0,m.kq)("",!0)],6)))),256)):(0,m.kq)("",!0),(0,m.WI)(e.$slots,"cell-content",{events:n.events,selectCell:e=>n.selectCell(e,!0),split:!!n.splitsCount&&i}),n.eventsCount&&(n.isWeekOrDayView||"month"===n.view.id&&s.options.eventsOnMonthView)?((0,m.wg)(),(0,m.iD)("div",Ro,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.splitsCount?i.events:n.events,((t,a)=>((0,m.wg)(),(0,m.j4)(o,{key:a,"cell-formatted-date":s.data.formattedDate,event:t,"all-day":s.allDay,"cell-events":n.splitsCount?i.events:n.events,cellOverlaps:(n.splitsCount?i.overlaps[t._eid]:e.cellOverlaps[t._eid])||[],allOverlaps:(n.splitsCount?i.overlaps:e.cellOverlaps)||[],"event-position":((n.splitsCount?i.overlaps[t._eid]:e.cellOverlaps[t._eid])||[]).position,"overlaps-streak":n.splitsCount?i.overlapsStreak:e.cellOverlapsStreak},{event:(0,m.w5)((({event:t,view:s})=>[(0,m.WI)(e.$slots,"event",{view:s,event:t})])),_:2},1032,["cell-formatted-date","event","all-day","cell-events","cellOverlaps","allOverlaps","event-position","overlaps-streak"])))),128))])):(0,m.kq)("",!0)],42,Yo)))),128)),n.timelineVisible?((0,m.wg)(),(0,m.iD)("div",{class:"vuecal__now-line",style:(0,k.j5)(`top: ${n.todaysTimePosition}px`),key:s.options.transitions?`${n.view.id}-now-line`:"now-line",title:n.utils.date.formatTime(n.vuecal.now)},null,12,Ko)):(0,m.kq)("",!0)])),_:3},8,["class","name","appear","style"])}const Xo=["eventId","draggable"];function Go(e,t,s,i,l,n){return(0,m.wg)(),(0,m.iD)("div",{class:(0,k.C_)(["vuecal__event",n.eventClasses]),style:(0,k.j5)(n.eventStyles),eventId:`event-id-${s.event.id}`,tabindex:"0",onFocus:t[4]||(t[4]=(...e)=>n.focusEvent&&n.focusEvent(...e)),onKeypress:t[5]||(t[5]=(0,a.D2)((0,a.iM)(((...e)=>n.onEnterKeypress&&n.onEnterKeypress(...e)),["stop"]),["enter"])),onMouseenter:t[6]||(t[6]=(...e)=>n.onMouseEnter&&n.onMouseEnter(...e)),onMouseleave:t[7]||(t[7]=(...e)=>n.onMouseLeave&&n.onMouseLeave(...e)),onTouchstart:t[8]||(t[8]=(0,a.iM)(((...e)=>n.onTouchStart&&n.onTouchStart(...e)),["stop"])),onMousedown:t[9]||(t[9]=e=>n.onMouseDown(e)),onMouseup:t[10]||(t[10]=(...e)=>n.onMouseUp&&n.onMouseUp(...e)),onTouchend:t[11]||(t[11]=(...e)=>n.onMouseUp&&n.onMouseUp(...e)),onTouchmove:t[12]||(t[12]=(...e)=>n.onTouchMove&&n.onTouchMove(...e)),onDblclick:t[13]||(t[13]=(...e)=>n.onDblClick&&n.onDblClick(...e)),draggable:n.draggable,onDragstart:t[14]||(t[14]=e=>n.draggable&&n.onDragStart(e)),onDragend:t[15]||(t[15]=e=>n.draggable&&n.onDragEnd())},[n.vuecal.editEvents.delete&&s.event.deletable?((0,m.wg)(),(0,m.iD)("div",{key:0,class:"vuecal__event-delete",onClick:t[0]||(t[0]=(0,a.iM)(((...e)=>n.deleteEvent&&n.deleteEvent(...e)),["stop"])),onTouchstart:t[1]||(t[1]=(0,a.iM)(((...e)=>n.touchDeleteEvent&&n.touchDeleteEvent(...e)),["stop"]))},(0,k.zw)(n.vuecal.texts.deleteEvent),33)):(0,m.kq)("",!0),(0,m.WI)(e.$slots,"event",{event:s.event,view:n.view.id}),n.resizable?((0,m.wg)(),(0,m.iD)("div",{key:1,class:"vuecal__event-resize-handle",contenteditable:"false",onMousedown:t[2]||(t[2]=(0,a.iM)(((...e)=>n.onResizeHandleMouseDown&&n.onResizeHandleMouseDown(...e)),["stop","prevent"])),onTouchstart:t[3]||(t[3]=(0,a.iM)(((...e)=>n.onResizeHandleMouseDown&&n.onResizeHandleMouseDown(...e)),["stop","prevent"]))},null,32)):(0,m.kq)("",!0)],46,Xo)}var Qo={inject:["vuecal","utils","modules","view","domEvents","editEvents"],props:{cellFormattedDate:{type:String,default:""},event:{type:Object,default:()=>({})},cellEvents:{type:Array,default:()=>[]},cellOverlaps:{type:Object,default:()=>({})},allOverlaps:{type:Object,default:()=>({})},eventPosition:{type:Number,default:0},overlapsStreak:{type:Number,default:0},allDay:{type:Boolean,default:!1}},data:()=>({touch:{dragThreshold:30,startX:0,startY:0,dragged:!1}}),methods:{onMouseDown(e,t=!1){if("ontouchstart"in window&&!t)return!1;const{clickHoldAnEvent:s,focusAnEvent:a,resizeAnEvent:i,dragAnEvent:l}=this.domEvents;if(a._eid===this.event._eid&&s._eid===this.event._eid)return!0;this.focusEvent(),s._eid=null,this.vuecal.editEvents.delete&&this.event.deletable&&(s.timeoutId=setTimeout((()=>{i._eid||l._eid||(s._eid=this.event._eid,this.event.deleting=!0)}),s.timeout))},onMouseUp(e){this.domEvents.focusAnEvent._eid!==this.event._eid||this.touch.dragged||(this.domEvents.focusAnEvent.mousedUp=!0),this.touch.dragged=!1},onMouseEnter(e){e.preventDefault(),this.vuecal.emitWithEvent("event-mouse-enter",this.event)},onMouseLeave(e){e.preventDefault(),this.vuecal.emitWithEvent("event-mouse-leave",this.event)},onTouchMove(e){if("function"!==typeof this.vuecal.onEventClick)return;const{clientX:t,clientY:s}=e.touches[0],{startX:a,startY:i,dragThreshold:l}=this.touch;(Math.abs(t-a)>l||Math.abs(s-i)>l)&&(this.touch.dragged=!0)},onTouchStart(e){this.touch.startX=e.touches[0].clientX,this.touch.startY=e.touches[0].clientY,this.onMouseDown(e,!0)},onEnterKeypress(e){if("function"===typeof this.vuecal.onEventClick)return this.vuecal.onEventClick(this.event,e)},onDblClick(e){if("function"===typeof this.vuecal.onEventDblclick)return this.vuecal.onEventDblclick(this.event,e)},onDragStart(e){"blocker"!=this.event.type&&"non-working-hours"!=this.event.type&&(this.event.draggingStatic=!1,this.dnd&&this.dnd.eventDragStart(e,this.event))},onDragEnd(){this.dnd&&this.dnd.eventDragEnd(this.event)},onResizeHandleMouseDown(){this.focusEvent(),this.domEvents.dragAnEvent._eid=null,this.domEvents.resizeAnEvent=Object.assign(this.domEvents.resizeAnEvent,{_eid:this.event._eid,start:(this.segment||this.event).start,split:this.event.split||null,segment:!!this.segment&&this.utils.date.formatDateLite(this.segment.start),originalEnd:new Date((this.segment||this.event).end),originalEndTimeMinutes:this.event.endTimeMinutes}),this.event.resizing=!0},deleteEvent(e=!1){if("ontouchstart"in window&&!e)return!1;this.utils.event.deleteAnEvent(this.event)},touchDeleteEvent(e){this.deleteEvent(!0)},cancelDeleteEvent(){this.event.deleting=!1},focusEvent(){const{focusAnEvent:e}=this.domEvents,t=e._eid;if(t!==this.event._eid){if(t){const e=this.view.events.find((e=>e._eid===t));e&&(e.focused=!1)}this.vuecal.cancelDelete(),this.vuecal.emitWithEvent("event-focus",this.event),e._eid=this.event._eid,this.event.focused=!0}}},computed:{eventDimensions(){const{startTimeMinutes:e,endTimeMinutes:t}=this.segment||this.event;let s=e-this.vuecal.timeFrom;const a=Math.max(Math.round(s*this.vuecal.timeCellHeight/this.vuecal.timeStep),0);s=Math.min(t,this.vuecal.timeTo)-this.vuecal.timeFrom;const i=Math.round(s*this.vuecal.timeCellHeight/this.vuecal.timeStep),l=Math.max(i-a,5);return{top:a,height:l}},eventStyles(){if(this.event.allDay||!this.vuecal.time||!this.event.endTimeMinutes||"month"===this.view.id||this.allDay)return{};let e=100-10*this.eventPosition,t=5*this.eventPosition,s=10*(this.eventPosition+1),a=this.event.master_task_color;if(Array.isArray(this.cellOverlaps.sameOverlaps)&&this.cellOverlaps.sameOverlaps.length){const s=this.cellOverlaps.sameOverlaps.length+1,a=this.cellOverlaps.overlaps.filter((e=>{if(!this.cellOverlaps.sameOverlaps.includes(e)&&this.allOverlaps[this.event._eid].position>this.allOverlaps[e].position)return e}));e=100/s-5,t=100/s*(this.eventPosition-a.length)+5*(this.eventPosition-a.length)/s,a.length&&(e-=a.length*(10/s),t+=5*a.length-10*a.length/s*(this.eventPosition-a.length))}this.vuecal.minEventWidth&&e({})},editEvents:{type:Object,required:!0},data:{type:Object,required:!0},cellSplits:{type:Array,default:()=>[]},minTimestamp:{type:[Number,null],default:null},maxTimestamp:{type:[Number,null],default:null},cellWidth:{type:[Number,Boolean],default:!1},allDay:{type:Boolean,default:!1}},data:()=>({tmUtils:A.Z,cellOverlaps:{},cellOverlapsStreak:1,timeAtCursor:null,highlighted:!1,highlightedSplit:null}),methods:{getSplitAtCursor({target:e}){const t=e.classList.contains("vuecal__cell-split");let s=t?e:this.vuecal.findAncestor(e,"vuecal__cell-split");return s&&(s=s.attributes["data-split"].value,parseInt(s).toString()===s.toString()&&(s=parseInt(s))),s||null},splitClasses(e){return{"vuecal__cell-split":!0,"vuecal__cell-split--highlighted":this.highlightedSplit===e.id,"vuecal__cell-split--weekend":e.isWeekend,[e.class]:!!e.class}},checkCellOverlappingEvents(){this.options.time&&this.eventsCount&&!this.splitsCount&&(1===this.eventsCount?(this.cellOverlaps=[],this.cellOverlapsStreak=1):[this.cellOverlaps,this.cellOverlapsStreak]=this.utils.event.checkCellOverlappingEvents(this.events,this.options))},isDOMElementAnEvent(e){return this.vuecal.isDOMElementAnEvent(e)},selectCell(e,t=!1){const s=this.splitsCount?this.getSplitAtCursor(e):null;this.utils.cell.selectCell(t,this.timeAtCursor,s),this.timeAtCursor=null},onCellkeyPressEnter(e){this.isSelected||this.onCellFocus(e);const t=this.splitsCount?this.getSplitAtCursor(e):null;this.utils.cell.keyPressEnterCell(this.timeAtCursor,t),this.timeAtCursor=null},onCellFocus(e){if(!this.isSelected&&!this.isDisabled){this.isSelected=this.data.startDate;const t=this.splitsCount?this.getSplitAtCursor(e):null,s=this.timeAtCursor||this.data.startDate;this.vuecal.$emit("cell-focus",t?{date:s,split:t}:s)}},onCellMouseDown(e,t=null,s=!1){if("ontouchstart"in window&&!s)return!1;this.isSelected||this.onCellFocus(e);const{clickHoldACell:a,focusAnEvent:i}=this.domEvents;this.domEvents.cancelClickEventCreation=!1,a.eventCreated=!1,this.timeAtCursor=new Date(this.data.startDate);const{minutes:l,cursorCoords:{y:n}}=this.vuecal.minutesAtCursor(e);this.timeAtCursor.setMinutes(l);const o=this.isDOMElementAnEvent(e.target);!o&&i._eid&&((this.view.events.find((e=>e._eid===i._eid))||{}).focused=!1),this.editEvents.create&&!o&&this.setUpEventCreation(e,n)},setUpEventCreation(e,t){if(this.options.dragToCreateEvent&&["week","day"].includes(this.view.id)){const{dragCreateAnEvent:s}=this.domEvents;if(s.startCursorY=t,s.split=this.splitsCount?this.getSplitAtCursor(e):null,s.start=this.timeAtCursor,this.options.snapToTime){let e=60*this.timeAtCursor.getHours()+this.timeAtCursor.getMinutes();const t=e+this.options.snapToTime/2;e=t-t%this.options.snapToTime,s.start.setHours(0,e,0,0)}}else this.options.cellClickHold&&["month","week","day"].includes(this.view.id)&&this.setUpCellHoldTimer(e)},setUpCellHoldTimer(e){const{clickHoldACell:t}=this.domEvents;t.cellId=`${this.vuecal._.uid}_${this.data.formattedDate}`,t.split=this.splitsCount?this.getSplitAtCursor(e):null,t.timeoutId=setTimeout((()=>{if(t.cellId&&!this.domEvents.cancelClickEventCreation){const{_eid:e}=this.utils.event.createAnEvent(this.timeAtCursor,null,t.split?{split:t.split}:{});t.eventCreated=e}}),t.timeout)},onCellTouchStart(e,t=null){this.onCellMouseDown(e,t,!0)},onCellClick(e,t){if(e.offsetY>950&&e.offsetY<1700){const s=t.date;s.setHours(Math.floor(e.offsetY/100),0,0,0);const a=new Date(s);a.setHours(s.getHours()+1);const i=Re()(s).format("HH:mm"),l="Dashboard - Teams"===this.$route.name,n=l?t.employee_id:Number(localStorage.getItem("selectedEmployee")||this.user.id);this.$events.emit("show-menu-modal",{time:i,date:A.Z.formatDateTimeForBackend(s),employee:n}),setTimeout((()=>{this.$events.emit("add-timeblock",{id:null,start:A.Z.formatDateTimeForBackend(s),end:A.Z.formatDateTimeForBackend(a)})}),150)}this.isDOMElementAnEvent(e.target)||this.selectCell(e)},onCellDblClick(e){const t=new Date(this.data.startDate);t.setMinutes(this.vuecal.minutesAtCursor(e).minutes);const s=this.splitsCount?this.getSplitAtCursor(e):null;this.vuecal.$emit("cell-dblclick",s?{date:t,split:s}:t),this.options.dblclickToNavigate&&this.vuecal.switchToNarrowerView()},onCellContextMenu(e){e.stopPropagation(),e.preventDefault();const t=new Date(this.data.startDate),{cursorCoords:s,minutes:a}=this.vuecal.minutesAtCursor(e);t.setMinutes(a);const i=this.splitsCount?this.getSplitAtCursor(e):null;this.vuecal.$emit("cell-contextmenu",{date:t,...s,...i||{},e:e})}},computed:{...(0,U.Se)("auth",["user"]),dnd(){return this.modules.dnd},nowInMinutes(){return this.utils.date.dateToMinutes(this.vuecal.now)},isBeforeMinDate(){return null!==this.minTimestamp&&this.minTimestamp>this.data.endDate.getTime()},isAfterMaxDate(){return this.maxTimestamp&&this.maxTimestamp{let{from:t,to:s}=e;return t=Math.max(t,this.options.timeFrom),s=Math.min(s,this.options.timeTo),{...e,height:(s-t)*this.timeScale,top:(t-this.options.timeFrom)*this.timeScale}}))},events(){const{startDate:e,endDate:t}=this.data;let s=[];if(!["years","year"].includes(this.view.id)||this.options.eventsCountOnYearView){if(s=this.view.events.slice(0),"month"===this.view.id&&s.push(...this.view.outOfScopeEvents),s=s.filter((s=>this.utils.event.eventInRange(s,e,t))),this.options.showAllDayEvents&&"month"!==this.view.id&&(s=s.filter((e=>!!e.allDay===this.allDay))),this.options.time&&this.isWeekOrDayView&&!this.allDay){const{timeFrom:e,timeTo:t}=this.options;s=s.filter((s=>{const a=s.daysCount>1&&s.segments[this.data.formattedDate]||{},i=1===s.daysCount&&s.startTimeMinutese,l=s.daysCount>1&&a.startTimeMinutese,n=!1;return s.allDay||i||l||n}))}!this.options.time||!this.isWeekOrDayView||this.options.showAllDayEvents&&this.allDay||s.sort(((e,t)=>e.start{const s=this.events.filter((t=>t.split===e.id)),[a,i]=this.utils.event.checkCellOverlappingEvents(s.filter((e=>!e.background&&!e.allDay)),this.options);return{...e,overlaps:a,overlapsStreak:i,events:s}}))},splitsCount(){return this.splits.length},cellClasses(){return{[this.data.class]:!!this.data.class,"vuecal__cell--current":this.data.current,"vuecal__cell--today":this.data.today,"vuecal__cell--out-of-scope":this.data.outOfScope,"vuecal__cell--before-min":this.isDisabled&&this.isBeforeMinDate,"vuecal__cell--after-max":this.isDisabled&&this.isAfterMaxDate,"vuecal__cell--disabled":this.isDisabled,"vuecal__cell--selected":this.isSelected,"vuecal__cell--highlighted":this.highlighted,"vuecal__cell--has-splits":this.splitsCount,"vuecal__cell--has-events":this.eventsCount}},cellStyles(){return{...this.cellWidth?{width:`${this.cellWidth}%`}:{}}},timelineVisible(){const{time:e,timeTo:t}=this.options;return this.data.today&&this.isWeekOrDayView&&e&&!this.allDay&&this.nowInMinutes<=t},todaysTimePosition(){if(!this.data.today||!this.options.time)return;const e=this.nowInMinutes-this.options.timeFrom;return Math.round(e*this.timeScale)},timeScale(){return this.options.timeCellHeight/this.options.timeStep}}};const ar=(0,$.Z)(sr,[["render",Jo]]);var ir=ar,lr={inject:["vuecal","view","editEvents"],components:{"vuecal-cell":ir},props:{options:{type:Object,required:!0},cells:{type:Array,required:!0},label:{type:String,required:!0},daySplits:{type:Array,default:()=>[]},shortEvents:{type:Boolean,default:!0},height:{type:String,default:""},cellOrSplitMinWidth:{type:Number,default:null}},computed:{hasCellOrSplitWidth(){return!!(this.options.minCellWidth||this.daySplits.length&&this.options.minSplitWidth)}}};const nr=(0,$.Z)(lr,[["render",No]]);var or=nr,rr=s(15941);const dr=1440,ur={weekDays:Array(7).fill(""),weekDaysShort:[],months:Array(12).fill(""),years:"",year:"",month:"",week:"",day:"",today:"",noEvent:"",allDay:"",deleteEvent:"",createEvent:"",dateFormat:"dddd MMMM D, YYYY",am:"am",pm:"pm"},cr=["years","year","month","week","day"],mr=new uo(ur);var hr={name:"vue-cal",components:{"vuecal-cell":ir,"vuecal-header":Po,WeekdaysHeadings:Ho,AllDayBar:or},provide(){return{vuecal:this,utils:this.utils,modules:this.modules,previous:this.previous,next:this.next,switchView:this.switchView,updateSelectedDate:this.updateSelectedDate,editEvents:this.editEvents,view:this.view,domEvents:this.domEvents}},props:{activeView:{type:String,default:"week"},scrollToHour:{type:Number,default:0},allDayBarHeight:{type:[String,Number],default:"25px"},cellClickHold:{type:Boolean,default:!0},cellContextmenu:{type:Boolean,default:!1},clickToNavigate:{type:Boolean,default:!1},dblclickToNavigate:{type:Boolean,default:!0},disableDatePrototypes:{type:Boolean,default:!1},disableDays:{type:Array,default:()=>[]},disableViews:{type:Array,default:()=>[]},dragToCreateEvent:{type:Boolean,default:!0},dragToCreateThreshold:{type:Number,default:15},editableEvents:{type:[Boolean,Object],default:!1},unscheduledTime:{type:Array,default:[]},events:{type:Array,default:()=>[]},eventsCountOnYearView:{type:Boolean,default:!1},eventsOnMonthView:{type:[Boolean,String],default:!1},hideBody:{type:Boolean,default:!1},hideTitleBar:{type:Boolean,default:!1},hideViewSelector:{type:Boolean,default:!1},hideWeekdays:{type:Array,default:()=>[]},hideWeekends:{type:Boolean,default:!1},locale:{type:[String,Object],default:"en"},maxDate:{type:[String,Date],default:""},minCellWidth:{type:Number,default:0},minDate:{type:[String,Date],default:""},minEventWidth:{type:Number,default:0},minSplitWidth:{type:Number,default:0},onEventClick:{type:[Function,null],default:null},onEventCreate:{type:[Function,null],default:null},onEventDblclick:{type:[Function,null],default:null},overlapsPerTimeStep:{type:Boolean,default:!1},resizeX:{type:Boolean,default:!1},selectedDate:{type:[String,Date],default:""},showAllDayEvents:{type:[Boolean,String],default:!1},showTimeInCells:{type:Boolean,default:!1},showWeekNumbers:{type:[Boolean,String],default:!1},snapToTime:{type:Number,default:0},small:{type:Boolean,default:!1},specialHours:{type:Object,default:()=>({})},splitDays:{type:Array,default:()=>[]},startWeekOnSunday:{type:Boolean,default:!1},stickySplitLabels:{type:Boolean,default:!1},time:{type:Boolean,default:!0},timeCellHeight:{type:Number,default:40},timeFormat:{type:String,default:""},timeFrom:{type:Number,default:0},timeStep:{type:Number,default:60},timeTo:{type:Number,default:dr},todayButton:{type:Boolean,default:!1},transitions:{type:Boolean,default:!0},twelveHour:{type:Boolean,default:!1},watchRealTime:{type:Boolean,default:!1},xsmall:{type:Boolean,default:!1}},data(){return{ready:!1,texts:{...ur},utils:{date:!!this.disableDatePrototypes&&mr.removePrototypes()||mr,cell:null,event:null},modules:{dnd:null},cellsEl:null,view:{id:"",title:"",startDate:null,endDate:null,firstCellDate:null,lastCellDate:null,selectedDate:null,events:[]},eventIdIncrement:1,now:new Date,timeTickerIds:[null,null],domEvents:{resizeAnEvent:{_eid:null,start:null,split:null,segment:null,originalEndTimeMinutes:0,originalEnd:null,end:null,startCell:null,endCell:null},dragAnEvent:{_eid:null},dragCreateAnEvent:{startCursorY:null,start:null,split:null,event:null},focusAnEvent:{_eid:null,mousedUp:!1},clickHoldAnEvent:{_eid:null,timeout:1200,timeoutId:null},dblTapACell:{taps:0,timeout:500},clickHoldACell:{cellId:null,split:null,timeout:1200,timeoutId:null,eventCreated:!1},cancelClickEventCreation:!1},mutableEvents:[],transitionDirection:"right"}},methods:{async loadLocale(e){if("object"===typeof this.locale)return this.texts=Object.assign({},ur,e),void this.utils.date.updateTexts(this.texts);if("en"===this.locale){const e=await s.e(3320).then(s.t.bind(s,3320,19));this.texts=Object.assign({},ur,e)}else s(66667)(`./${e}.json`).then((e=>{this.texts=Object.assign({},ur,e.default),this.utils.date.updateTexts(this.texts)}))},loadDragAndDrop(){s.e(1466).then(s.bind(s,91466)).then((e=>{const{DragAndDrop:t}=e;this.modules.dnd=new t(this)})).catch((()=>rr.warn("Vue Cal: Missing drag & drop module.")))},validateView(e){return cr.includes(e)||(rr.error(`Vue Cal: invalid active-view parameter provided: "${e}".\nA valid view must be one of: ${cr.join(", ")}.`),e="week"),this.enabledViews.includes(e)||(rr.warn(`Vue Cal: the provided active-view "${e}" is disabled. Using the "${this.enabledViews[0]}" view instead.`),e=this.enabledViews[0]),e},switchToNarrowerView(e=null){this.transitionDirection="right";const t=this.enabledViews[this.enabledViews.indexOf(this.view.id)+1];t&&this.switchView(t,e)},switchView(e,t=null,s=!1){e=this.validateView(e);const a=this.utils.date,i=this.view.startDate&&this.view.startDate.getTime();if(this.transitions&&s){if(this.view.id===e)return;const t=this.enabledViews;this.transitionDirection=t.indexOf(this.view.id)>t.indexOf(e)?"left":"right"}const l=this.view.id;switch(this.view.events=[],this.view.id=e,this.view.firstCellDate=null,this.view.lastCellDate=null,t||(t=this.view.selectedDate||this.view.startDate),e){case"years":this.view.startDate=new Date(25*Math.floor(t.getFullYear()/25)||2e3,0,1),this.view.endDate=new Date(this.view.startDate.getFullYear()+25,0,1),this.view.endDate.setSeconds(-1);break;case"year":this.view.startDate=new Date(t.getFullYear(),0,1),this.view.endDate=new Date(t.getFullYear()+1,0,1),this.view.endDate.setSeconds(-1);break;case"month":{this.view.startDate=new Date(t.getFullYear(),t.getMonth(),1),this.view.endDate=new Date(t.getFullYear(),t.getMonth()+1,1),this.view.endDate.setSeconds(-1);let e=new Date(this.view.startDate);if(e.getDay()!==(this.startWeekOnSunday?0:1)&&(e=a.getPreviousFirstDayOfWeek(e,this.startWeekOnSunday)),this.view.firstCellDate=e,this.view.lastCellDate=a.addDays(e,41),this.view.lastCellDate.setHours(23,59,59,0),this.hideWeekends){if([0,6].includes(this.view.firstCellDate.getDay())){const e=6!==this.view.firstCellDate.getDay()||this.startWeekOnSunday?1:2;this.view.firstCellDate=a.addDays(this.view.firstCellDate,e)}if([0,6].includes(this.view.startDate.getDay())){const e=6===this.view.startDate.getDay()?2:1;this.view.startDate=a.addDays(this.view.startDate,e)}if([0,6].includes(this.view.lastCellDate.getDay())){const e=0!==this.view.lastCellDate.getDay()||this.startWeekOnSunday?1:2;this.view.lastCellDate=a.subtractDays(this.view.lastCellDate,e)}if([0,6].includes(this.view.endDate.getDay())){const e=0===this.view.endDate.getDay()?2:1;this.view.endDate=a.subtractDays(this.view.endDate,e)}}break}case"week":{t=a.getPreviousFirstDayOfWeek(t,this.startWeekOnSunday);const e=this.hideWeekends?5:7;this.view.startDate=this.hideWeekends&&this.startWeekOnSunday?a.addDays(t,1):t,this.view.startDate.setHours(0,0,0,0),this.view.endDate=a.addDays(t,e),this.view.endDate.setSeconds(-1);break}case"day":this.view.startDate=t,this.view.startDate.setHours(0,0,0,0),this.view.endDate=new Date(t),this.view.endDate.setHours(23,59,59,0);break}this.addEventsToView();const n=this.view.startDate&&this.view.startDate.getTime();if((l!==e||n!==i)&&(this.$emit("update:activeView",e),this.ready)){const t=this.view.startDate,s={view:e,startDate:t,endDate:this.view.endDate,...this.isMonthView?{firstCellDate:this.view.firstCellDate,lastCellDate:this.view.lastCellDate,outOfScopeEvents:this.view.outOfScopeEvents.map(this.cleanupEvent)}:{},events:this.view.events.map(this.cleanupEvent),...this.isWeekView?{week:a.getWeek(this.startWeekOnSunday?a.addDays(t,1):t)}:{}};this.$refs["vuecal_scroll"].scrollTop=this.scrollToHour*this.timeCellHeight,this.$emit("view-change",s)}},previous(){this.previousNext(!1)},next(){this.previousNext()},previousNext(e=!0){const t=this.utils.date;this.transitionDirection=e?"right":"left";const s=e?1:-1;let a=null;const{startDate:i,id:l}=this.view;switch(l){case"years":a=new Date(i.getFullYear()+25*s,0,1);break;case"year":a=new Date(i.getFullYear()+1*s,1,1);break;case"month":a=new Date(i.getFullYear(),i.getMonth()+1*s,1);break;case"week":a=t[e?"addDays":"subtractDays"](t.getPreviousFirstDayOfWeek(i,this.startWeekOnSunday),7);break;case"day":a=t[e?"addDays":"subtractDays"](i,1);const l=a.getDay(),n=this.startWeekOnSunday?l:(l||7)-1,o=this.weekDays[n].hide;if(o){const s=this.weekDays.map(((e,t)=>({...e,i:t})));let i=null,l=0;e?(i=[...s.slice(n),...s].find((e=>(l++,!e.hide))).i,l--):i=[...s,...s.slice(0,n)].reverse().find((e=>(l++,!e.hide))).i,a=t[e?"addDays":"subtractDays"](a,l)}break}a&&this.switchView(l,a)},addEventsToView(e=[]){const t=this.utils.event,{startDate:s,endDate:a,firstCellDate:i,lastCellDate:l}=this.view;if(e.length||(this.view.events=[]),e=e.length?e:[...this.mutableEvents],!e||this.isYearsOrYearView&&!this.eventsCountOnYearView)return;let n=e.filter((e=>t.eventInRange(e,s,a)));this.isYearsOrYearView||this.isMonthView&&!this.eventsOnMonthView||(n=n.map((e=>e.daysCount>1?t.createEventSegments(e,i||s,l||a):e))),this.view.events.push(...n),this.isMonthView&&(this.view.outOfScopeEvents=[],e.forEach((e=>{(t.eventInRange(e,i,s)||t.eventInRange(e,a,l))&&(this.view.events.some((t=>t._eid===e._eid))||this.view.outOfScopeEvents.push(e))})))},findAncestor(e,t){while((e=e.parentElement)&&!e.classList.contains(t));return e},isDOMElementAnEvent(e){return e.classList.contains("vuecal__event")||this.findAncestor(e,"vuecal__event")},onMouseMove(e){const{resizeAnEvent:t,dragAnEvent:s,dragCreateAnEvent:a}=this.domEvents;(null!==t._eid||null!==s._eid||a.start)&&(e.preventDefault(),t._eid?this.eventResizing(e):this.dragToCreateEvent&&a.start&&this.eventDragCreation(e))},onMouseUp(e){const{focusAnEvent:t,resizeAnEvent:s,clickHoldAnEvent:a,clickHoldACell:i,dragCreateAnEvent:l}=this.domEvents,{_eid:n}=a,{_eid:o}=s;let r=!1;const{event:d,start:u}=l,c=this.isDOMElementAnEvent(e.target),m=t.mousedUp;if(t.mousedUp=!1,c&&(this.domEvents.cancelClickEventCreation=!0),i.eventCreated)return;if(o){const{originalEnd:e,originalEndTimeMinutes:t,endTimeMinutes:a}=s,i=this.view.events.find((e=>e._eid===s._eid));if(r=a&&a!==t,i&&i.end.getTime()!==e.getTime()){const t=this.mutableEvents.find((e=>e._eid===s._eid));t.endTimeMinutes=i.endTimeMinutes,t.end=i.end;const a=this.cleanupEvent(i),l={...this.cleanupEvent(i),end:e,endTimeMinutes:i.originalEndTimeMinutes};this.$emit("event-duration-change",{event:a,oldDate:s.originalEnd,originalEvent:l}),this.$emit("event-change",{event:a,originalEvent:l})}i&&(i.resizing=!1),s._eid=null,s.start=null,s.split=null,s.segment=null,s.originalEndTimeMinutes=null,s.originalEnd=null,s.endTimeMinutes=null,s.startCell=null,s.endCell=null}else u&&(d&&(this.emitWithEvent("event-drag-create",d),l.event.resizing=!1),l.start=null,l.split=null,l.event=null);c||o||this.unfocusEvent(),a.timeoutId&&!n&&(clearTimeout(a.timeoutId),a.timeoutId=null),i.timeoutId&&(clearTimeout(i.timeoutId),i.timeoutId=null);const h="function"===typeof this.onEventClick;if(m&&!r&&!n&&!d&&h){let s=this.view.events.find((e=>e._eid===t._eid));return!s&&this.isMonthView&&(s=this.view.outOfScopeEvents.find((e=>e._eid===t._eid))),s&&this.onEventClick(s,e)}},onKeyUp(e){27===e.keyCode&&this.cancelDelete()},eventResizing(e){const{resizeAnEvent:t}=this.domEvents,s=this.view.events.find((e=>e._eid===t._eid))||{segments:{}},{minutes:a,cursorCoords:i}=this.minutesAtCursor(e),l=s.segments&&s.segments[t.segment],{date:n,event:o}=this.utils,r=Math.max(a,this.timeFrom+1,(l||s).startTimeMinutes+1);if(s.endTimeMinutes=t.endTimeMinutes=r,this.snapToTime){const e=s.endTimeMinutes+this.snapToTime/2;s.endTimeMinutes=e-e%this.snapToTime}if(l&&(l.endTimeMinutes=s.endTimeMinutes),s.end.setHours(0,s.endTimeMinutes,s.endTimeMinutes===dr?-1:0,0),this.resizeX&&this.isWeekView){s.daysCount=n.countDays(s.start,s.end);const e=this.cellsEl,a=e.offsetWidth/e.childElementCount,l=Math.floor(i.x/a);if(null===t.startCell&&(t.startCell=l-(s.daysCount-1)),t.endCell!==l){t.endCell=l;const e=n.addDays(s.start,l-t.startCell),a=Math.max(n.countDays(s.start,e),1);if(a!==s.daysCount){let e=null;e=a>s.daysCount?o.addEventSegment(s):o.removeEventSegment(s),t.segment=e,s.endTimeMinutes+=.001}}}this.$emit("event-resizing",{_eid:s._eid,end:s.end,endTimeMinutes:s.endTimeMinutes})},eventDragCreation(e){const{dragCreateAnEvent:t}=this.domEvents,{start:s,startCursorY:a,split:i}=t,l=new Date(s),{minutes:n,cursorCoords:{y:o}}=this.minutesAtCursor(e);if(t.event||!(Math.abs(a-o)s._eid===(e._eid||t._eid)));e._eid=null,t._eid=null,s&&(s.focused=!1,s.deleting=!1)},cancelDelete(){const{clickHoldAnEvent:e}=this.domEvents;if(e._eid){const t=this.view.events.find((t=>t._eid===e._eid));t&&(t.deleting=!1),e._eid=null,e.timeoutId=null}},onEventTitleBlur(e,t){if(t.title===e.target.innerHTML)return;const s=t.title;t.title=e.target.innerHTML;const a=this.cleanupEvent(t);this.$emit("event-title-change",{event:a,oldTitle:s}),this.$emit("event-change",{event:a,originalEvent:{...a,title:s}})},updateMutableEvents(){const e=this.utils.date;this.mutableEvents=[],this.events.forEach((t=>{const s="string"===typeof t.start?e.stringToDate(t.start):t.start,a=e.formatDateLite(s),i=e.dateToMinutes(s);let l=null;"string"===typeof t.end&&t.end.includes("24:00")?(l=new Date(t.end.replace(" 24:00","")),l.setHours(23,59,59,0)):l="string"===typeof t.end?e.stringToDate(t.end):t.end;let n=e.formatDateLite(l),o=e.dateToMinutes(l);o&&o!==dr||(!this.time||"string"===typeof t.end&&10===t.end.length?l.setHours(23,59,59,0):l.setSeconds(l.getSeconds()-1),n=e.formatDateLite(l),o=dr);const r=a!==n;t=Object.assign({...this.utils.event.eventDefaults},t,{_eid:`${this._.uid}_${this.eventIdIncrement++}`,segments:r?{}:null,start:s,startTimeMinutes:i,end:l,endTimeMinutes:o,daysCount:r?e.countDays(s,l):1,class:t.class}),this.mutableEvents.push(t)}))},minutesAtCursor(e){return this.utils.cell.minutesAtCursor(e)},createEvent(e,t,s={}){return this.utils.event.createAnEvent(e,t,s)},cleanupEvent(e){e={...e};const t=["segments","deletable","deleting","titleEditable","resizable","resizing","draggable","dragging","draggingStatic","focused"];return t.forEach((t=>{t in e&&delete e[t]})),e.repeat||delete e.repeat,e},emitWithEvent(e,t){this.$emit(e,this.cleanupEvent(t))},updateSelectedDate(e){if(e=e&&"string"===typeof e?this.utils.date.stringToDate(e):new Date(e),e&&e instanceof Date){const{selectedDate:t}=this.view;t&&(this.transitionDirection=t.getTime()>e.getTime()?"left":"right"),e.setHours(0,0,0,0),t&&t.getTime()===e.getTime()||(this.view.selectedDate=e),this.switchView(this.view.id)}this.$emit("update:selected-date",this.view.selectedDate)},getWeekNumber(e){const t=this.utils.date,s=this.firstCellDateWeekNumber,a=s+e,i=this.startWeekOnSunday?1:0;return a>52?t.getWeek(t.addDays(this.view.firstCellDate,7*e+i)):a},timeTick(){this.now=new Date,this.timeTickerIds[1]=setTimeout(this.timeTick,6e4)},updateDateTexts(){this.utils.date.updateTexts(this.texts)},alignWithScrollbar(){},cellOrSplitHasEvents(e,t=null){return e.length&&(!t&&e.length||t&&e.some((e=>e.split===t.id)))}},created(){this.utils.cell=new mo(this),this.utils.event=new go(this,this.utils.date),this.loadLocale(this.locale),this.editEvents.drag&&this.loadDragAndDrop(),this.updateMutableEvents(this.events),this.view.id=this.currentView,this.selectedDate?this.updateSelectedDate(this.selectedDate):(this.view.selectedDate=new Date,this.switchView(this.currentView)),this.time&&this.watchRealTime&&(this.timeTickerIds[0]=setTimeout(this.timeTick,1e3*(60-this.now.getSeconds())))},mounted(){const e=this.utils.date,t="ontouchstart"in window,{resize:s,drag:a,create:i,delete:l,title:n}=this.editEvents,o=this.onEventClick&&"function"===typeof this.onEventClick;(s||a||i||l||n||o)&&window.addEventListener(t?"touchend":"mouseup",this.onMouseUp),(s||a||i&&this.dragToCreateEvent)&&window.addEventListener(t?"touchmove":"mousemove",this.onMouseMove,{passive:!1}),n&&window.addEventListener("keyup",this.onKeyUp),t&&(this.$refs.vuecal.oncontextmenu=function(e){e.preventDefault(),e.stopPropagation()});const r=this.view.startDate,d={view:this.view.id,startDate:r,endDate:this.view.endDate,...this.isMonthView?{firstCellDate:this.view.firstCellDate,lastCellDate:this.view.lastCellDate}:{},events:this.view.events.map(this.cleanupEvent),...this.isWeekView?{week:e.getWeek(this.startWeekOnSunday?e.addDays(r,1):r)}:{}};this.$refs["vuecal_scroll"].addEventListener("scroll",(()=>{this.$refs["vuecal_splits_heading"].style.top=`${this.$refs["vuecal_scroll"].scrollTop}px`})),this.viewportTimelineOffset=this.$refs["vuecal_scroll"].getBoundingClientRect().top,this.$refs["vuecal_scroll"].scrollTop=this.scrollToHour*this.timeCellHeight,this.$emit("ready",d),this.ready=!0},beforeUnmount(){const e="ontouchstart"in window;window.removeEventListener(e?"touchmove":"mousemove",this.onMouseMove,{passive:!1}),window.removeEventListener(e?"touchend":"mouseup",this.onMouseUp),window.removeEventListener("keyup",this.onKeyUp),this.timeTickerIds[0]&&clearTimeout(this.timeTickerIds[0]),this.timeTickerIds[1]&&clearTimeout(this.timeTickerIds[1]),this.timeTickerIds=[null,null]},computed:{editEvents(){return this.editableEvents&&"object"===typeof this.editableEvents?{title:!!this.editableEvents.title,drag:!!this.editableEvents.drag,resize:!!this.editableEvents.resize,create:!!this.editableEvents.create,delete:!!this.editableEvents.delete}:{title:!!this.editableEvents,drag:!!this.editableEvents,resize:!!this.editableEvents,create:!!this.editableEvents,delete:!!this.editableEvents}},views(){return{years:{label:this.texts.years,enabled:!this.disableViews.includes("years")},year:{label:this.texts.year,enabled:!this.disableViews.includes("year")},month:{label:this.texts.month,enabled:!this.disableViews.includes("month")},week:{label:this.texts.week,enabled:!this.disableViews.includes("week")},day:{label:this.texts.day,enabled:!this.disableViews.includes("day")}}},currentView(){return this.validateView(this.activeView)},enabledViews(){return Object.keys(this.views).filter((e=>this.views[e].enabled))},hasTimeColumn(){return this.time&&this.isWeekOrDayView},isShortMonthView(){return this.isMonthView&&"short"===this.eventsOnMonthView},firstCellDateWeekNumber(){const e=this.utils.date,t=this.view.firstCellDate;return e.getWeek(this.startWeekOnSunday?e.addDays(t,1):t)},timeCells(){const e=[];for(let t=this.timeFrom,s=this.timeTo;t!e.hide))||[]).map(((e,t)=>({...e,id:e.id||t+1})))},hasSplits(){return this.daySplits.length&&this.isWeekOrDayView},hasShortEvents(){return"short"===this.showAllDayEvents},cellOrSplitMinWidth(){let e=null;return this.hasSplits&&this.minSplitWidth?e=this.visibleDaysCount*this.minSplitWidth*this.daySplits.length:this.minCellWidth&&this.isWeekView&&(e=this.visibleDaysCount*this.minCellWidth),e},allDayBar(){let e=this.allDayBarHeight||null;return e&&!isNaN(e)&&(e+="px"),{cells:this.viewCells,options:this.$props,label:this.texts.allDay,shortEvents:this.hasShortEvents,daySplits:this.hasSplits&&this.daySplits||[],cellOrSplitMinWidth:this.cellOrSplitMinWidth,height:e}},minTimestamp(){let e=null;return this.minDate&&"string"===typeof this.minDate?e=this.utils.date.stringToDate(this.minDate):this.minDate&&this.minDate instanceof Date&&(e=this.minDate),e?e.getTime():null},maxTimestamp(){let e=null;return this.maxDate&&"string"===typeof this.maxDate?e=this.utils.date.stringToDate(this.maxDate):this.maxDate&&this.minDate instanceof Date&&(e=this.maxDate),e?e.getTime():null},weekDays(){let{weekDays:e,weekDaysShort:t=[]}=this.texts;return e=e.slice(0).map(((e,s)=>({label:e,...t.length?{short:t[s]}:{},hide:this.hideWeekends&&s>=5||this.hideWeekdays.length&&this.hideWeekdays.includes(s+1)}))),this.startWeekOnSunday&&e.unshift(e.pop()),e},weekDaysInHeader(){return this.isMonthView||this.isWeekView&&!this.minCellWidth&&!(this.hasSplits&&this.minSplitWidth)},months(){return this.texts.months.map((e=>({label:e})))},specialDayHours(){return this.specialHours&&Object.keys(this.specialHours).length?Array(7).fill("").map(((e,t)=>{let s=this.specialHours[t+1]||[];return Array.isArray(s)||(s=[s]),e=[],s.forEach((({from:s,to:a,class:i,label:l},n)=>{e[n]={day:t+1,from:[null,void 0].includes(s)?null:1*s,to:[null,void 0].includes(a)?null:1*a,class:i||"",label:l||""}})),e})):{}},viewTitle(){const e=this.utils.date;let t="";const s=this.view.startDate,a=s.getFullYear(),i=s.getMonth();switch(this.view.id){case"years":t=this.texts.years;break;case"year":t=a;break;case"month":t=`${this.months[i].label} ${a}`;break;case"week":{const a=this.view.endDate,i=s.getFullYear();let l=this.texts.months[s.getMonth()];this.xsmall&&(l=l.substring(0,3));let n=`${l} ${i}`;if(a.getMonth()!==s.getMonth()){const e=a.getFullYear();let t=this.texts.months[a.getMonth()];this.xsmall&&(t=t.substring(0,3)),n=i===e?`${l} - ${t} ${i}`:this.small?`${l.substring(0,3)} ${i} - ${t.substring(0,3)} ${e}`:`${l} ${i} - ${t} ${e}`}t=`${this.texts.week} ${e.getWeek(this.startWeekOnSunday?e.addDays(s,1):s)} (${n})`;break}case"day":t=this.utils.date.formatDate(s,this.texts.dateFormat,this.texts);break}return t},viewCells(){const e=this.utils.date;let t=[],s=null,a=!1;this.watchRealTime||(this.now=new Date);const i=this.now;switch(this.view.id){case"years":s=this.view.startDate.getFullYear(),t=Array.apply(null,Array(25)).map(((t,a)=>{const l=new Date(s+a,0,1),n=new Date(s+a+1,0,1);return n.setSeconds(-1),{startDate:l,formattedDate:e.formatDateLite(l),endDate:n,content:s+a,current:s+a===i.getFullYear()}}));break;case"year":s=this.view.startDate.getFullYear(),t=Array.apply(null,Array(12)).map(((t,a)=>{const l=new Date(s,a,1),n=new Date(s,a+1,1);return n.setSeconds(-1),{startDate:l,formattedDate:e.formatDateLite(l),endDate:n,content:this.xsmall?this.months[a].label.substr(0,3):this.months[a].label,current:a===i.getMonth()&&s===i.getFullYear()}}));break;case"month":{const s=this.view.startDate.getMonth(),i=new Date(this.view.firstCellDate);a=!1,t=Array.apply(null,Array(42)).map(((t,l)=>{const n=e.addDays(i,l),o=new Date(n);o.setHours(23,59,59,0);const r=!a&&e.isToday(n)&&!a++;return{startDate:n,formattedDate:e.formatDateLite(n),endDate:o,content:n.getDate(),today:r,outOfScope:n.getMonth()!==s,class:`vuecal__cell--day${n.getDay()||7}`}})),(this.hideWeekends||this.hideWeekdays.length)&&(t=t.filter((e=>{const t=e.startDate.getDay()||7;return!(this.hideWeekends&&t>=6||this.hideWeekdays.length&&this.hideWeekdays.includes(t))})));break}case"week":{a=!1;let s=this.view.startDate;const i=this.weekDays;t=i.map(((t,i)=>{const l=e.addDays(s,this.startWeekOnSunday?i-1:i),n=new Date(l);n.setHours(23,59,59,0);const o=(l.getDay()||7)-1;return{startDate:l,formattedDate:e.formatDateLite(l),endDate:n,today:!a&&e.isToday(l)&&!a++,specialHours:this.specialDayHours[o]||[]}})).filter(((e,t)=>!i[t].hide));break}case"day":{const s=this.view.startDate,a=new Date(this.view.startDate);a.setHours(23,59,59,0);const i=(s.getDay()||7)-1;t=[{startDate:s,formattedDate:e.formatDateLite(s),endDate:a,today:e.isToday(s),specialHours:this.specialDayHours[i]||[]}];break}}return t},visibleDaysCount(){return this.isDayView?1:7-this.weekDays.reduce(((e,t)=>e+t.hide),0)},cellWidth(){return 100/this.visibleDaysCount},cssClasses(){const{resizeAnEvent:e,dragAnEvent:t,dragCreateAnEvent:s}=this.domEvents;return{[`vuecal--${this.view.id}-view`]:!0,[`vuecal--${this.locale}`]:this.locale,"vuecal--no-time":!this.time,"vuecal--view-with-time":this.hasTimeColumn,"vuecal--week-numbers":this.showWeekNumbers&&this.isMonthView,"vuecal--twelve-hour":this.twelveHour,"vuecal--click-to-navigate":this.clickToNavigate,"vuecal--hide-weekends":this.hideWeekends,"vuecal--split-days":this.hasSplits,"vuecal--sticky-split-labels":this.hasSplits&&this.stickySplitLabels,"vuecal--overflow-x":this.minCellWidth&&this.isWeekView||this.hasSplits&&this.minSplitWidth,"vuecal--small":this.small,"vuecal--xsmall":this.xsmall,"vuecal--resizing-event":e._eid,"vuecal--drag-creating-event":s.event,"vuecal--dragging-event":t._eid,"vuecal--events-on-month-view":this.eventsOnMonthView,"vuecal--short-events":this.isMonthView&&"short"===this.eventsOnMonthView,"vuecal--has-touch":"undefined"!==typeof window&&"ontouchstart"in window}},isYearsOrYearView(){return["years","year"].includes(this.view.id)},isYearsView(){return"years"===this.view.id},isYearView(){return"year"===this.view.id},isMonthView(){return"month"===this.view.id},isWeekOrDayView(){return["week","day"].includes(this.view.id)},isWeekView(){return"week"===this.view.id},isDayView(){return"day"===this.view.id}},watch:{events:{handler(e,t){this.updateMutableEvents(e),this.addEventsToView()},deep:!0},locale(e){this.loadLocale(e)},selectedDate(e){this.updateSelectedDate(e)},activeView(e){this.switchView(e)}}};const pr=(0,$.Z)(hr,[["render",so]]);var vr=pr,kr={install:e=>{e.component("Vue-cal",vr)}};s(48851),s(1292),s(81633),s(51045),s(46187),s(22299),s(93423),s(54687),s(49147),s(6250);l(),d();const fr={axios:{disabled:!0},i18n:{languages:[{title:"Slovenský",flag:"sk",value:"sk"}],defaultLanguage:"sk"},moxios:{routes:{"GET v1/overview/teams":!0,"GET v1/overview/tasks":!0}}},gr=(0,a.ri)(Ol).use(Zl).use(zl).use(Tn).use(bn,fr).use(i.oX).use(o).use(kr).use(Cn).use(c(),{color:"#6200EE"}).mount("#app"),_r=gr.$i18n.t},7648:function(e,t,s){"use strict";var a=s(77334);t["Z"]={parseErrors(e){return Object.values(e).map((e=>(0,a.$t)(e?.$message))).join(". ")}}},83299:function(e,t){"use strict";t["Z"]={methods:{customFilter(e,t){const s=e.normalize("NFD").replace(/[\u0300-\u036f]/g,""),a=t.normalize("NFD").replace(/[\u0300-\u036f]/g,""),i=/[^a-zA-Z0-9 ]/g,l=s.replace(i,""),n=a.replace(i,"");return l.toLowerCase().includes(n.toLowerCase())||""===e}}}},34407:function(e,t,s){"use strict";var a=s(36797),i=s.n(a);t["Z"]={enrichEmployees(e){return e.map((e=>({...e,_fullName:`${e.name} ${e.surname}`,_initials:e.name.charAt(0)+e.surname.charAt(0)})))},formatDateTime(e){return i()(e),i()(e).format("DD.MM.yyyy, HH:mm")},formatDateTimeForBackend(e){return i()(e).format("YYYY-MM-DD HH:mm:ss")},formatDate(e){return i()(e).format("DD.MM.yyyy")},isBefore(e,t=null){return i()(e).isBefore(i()(t))},isAfter(e,t=i()()){return i()(e).isAfter(i()(t))}}},8973:function(e,t,s){var a={"./en.json":20790,"./sk.json":71941};function i(e){var t=l(e);return s(t)}function l(e){if(!s.o(a,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return a[e]}i.keys=function(){return Object.keys(a)},i.resolve=l,e.exports=i,i.id=8973},66667:function(e,t,s){var a={"./ar.json":[68568,8568],"./bg.json":[20684,684],"./bn.json":[61170,1170],"./bs.json":[41161,1161],"./ca.json":[40612,612],"./cs.json":[50213,213],"./da.json":[98542,8542],"./de.json":[4701,4701],"./el.json":[20453,453],"./en.json":[3320,3320],"./es.json":[60076,76],"./et.json":[44075,4075],"./fa.json":[69004,9004],"./fr.json":[60007,7],"./he.json":[23746,3746],"./hr.json":[92921,2921],"./hu.json":[75723,5723],"./id.json":[12502,2502],"./is.json":[13214,3214],"./it.json":[51380,1380],"./ja.json":[72484,2484],"./ka.json":[60285,285],"./ko.json":[79249,9249],"./lt.json":[42838,2838],"./mn.json":[6177,6177],"./nl.json":[99729,9729],"./no.json":[49409,9409],"./pl.json":[25409,5409],"./pt-br.json":[74529,4529],"./ro.json":[29715,9715],"./ru.json":[32113,2113],"./sk.json":[30229,229],"./sl.json":[28636,8636],"./sq.json":[204,204],"./sr.json":[55553,5553],"./sv.json":[75979,5979],"./tr.json":[5268,5268],"./uk.json":[14057,4057],"./vi.json":[88929,8929],"./zh-cn.json":[56730,6730],"./zh-hk.json":[30841,841]};function i(e){if(!s.o(a,e))return Promise.resolve().then((function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=a[e],i=t[0];return s.e(t[1]).then((function(){return s.t(i,19)}))}i.keys=function(){return Object.keys(a)},i.id=66667,e.exports=i},27484:function(e,t,s){"use strict";e.exports=s.p+"img/bin.8778f5be.svg"},53830:function(e,t,s){"use strict";e.exports=s.p+"img/checkmark.76754510.svg"},34413:function(e,t,s){"use strict";e.exports=s.p+"img/eye.6d5fa7d3.svg"},60666:function(e,t,s){"use strict";e.exports=s.p+"img/pencil.b9009162.svg"},14214:function(e,t,s){"use strict";e.exports=s.p+"img/spinner.34fd3cb2.gif"},20790:function(e){"use strict";e.exports=JSON.parse('{"Value is not a valid email address":"Value is not a valid email address","error":"chyba","Value is required":"Pole je povinné","This field should be at least 8 characters long":"Pole musí obsahovať aspoň 8 znakov","This field should be at least 6 characters long":"Pole musí obsahovať aspoň 6 znakov","This maximum length allowed is 6":"Pole musí obsahovať 6 znakov","The value must be equal to the other value":"Heslá sa nezhodujú"}')},71941:function(e){"use strict";e.exports=JSON.parse('{"Value is not a valid email address":"Zadali ste neplatný email","error":"chyba","Value is required":"Pole je povinné","This field should be at least 8 characters long":"Pole musí obsahovať aspoň 8 znakov","This field should be at least 6 characters long":"Pole musí obsahovať aspoň 6 znakov","This maximum length allowed is 6":"Pole musí obsahovať 6 znakov","The value must be equal to the other value":"Heslá sa nezhodujú"}')}},t={};function s(a){var i=t[a];if(void 0!==i)return i.exports;var l=t[a]={id:a,loaded:!1,exports:{}};return e[a].call(l.exports,l,l.exports,s),l.loaded=!0,l.exports}s.m=e,function(){var e=[];s.O=function(t,a,i,l){if(!a){var n=1/0;for(u=0;u=l)&&Object.keys(s.O).every((function(e){return s.O[e](a[r])}))?a.splice(r--,1):(o=!1,l0&&e[u-1][2]>l;u--)e[u]=e[u-1];e[u]=[a,i,l]}}(),function(){s.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return s.d(t,{a:t}),t}}(),function(){var e,t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__};s.t=function(a,i){if(1&i&&(a=this(a)),8&i)return a;if("object"===typeof a&&a){if(4&i&&a.__esModule)return a;if(16&i&&"function"===typeof a.then)return a}var l=Object.create(null);s.r(l);var n={};e=e||[null,t({}),t([]),t(t)];for(var o=2&i&&a;"object"==typeof o&&!~e.indexOf(o);o=t(o))Object.getOwnPropertyNames(o).forEach((function(e){n[e]=function(){return a[e]}}));return n["default"]=function(){return a},s.d(l,n),l}}(),function(){s.d=function(e,t){for(var a in t)s.o(t,a)&&!s.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})}}(),function(){s.f={},s.e=function(e){return Promise.all(Object.keys(s.f).reduce((function(t,a){return s.f[a](e,t),t}),[]))}}(),function(){s.u=function(e){return"js/"+e+"."+{7:"7cef58a7",76:"9977e9df",188:"d74ce2b2",204:"4dd3d03d",213:"c9ed5252",229:"b09f2145",285:"6a0985b5",453:"04d72c77",612:"4ea201aa",684:"017ebeb8",841:"65cae984",907:"bfa01f81",924:"ddc3fd73",1097:"88cdd882",1161:"59a7c68b",1170:"16217940",1380:"fc40de11",1466:"c5d34b19",2113:"2a1bcdfa",2484:"6def3002",2502:"66addef9",2612:"baba8cc8",2838:"aa69ee5c",2921:"b5aad8e9",3214:"72d306e7",3311:"bcab8a66",3320:"fe7033d0",3657:"e558064c",3728:"3e558208",3746:"09ee0424",3862:"b079a5bd",4057:"4b3b38fd",4075:"2d83f71e",4392:"fe4711b4",4518:"8e2c3fa8",4529:"6ff3334b",4701:"e34c277a",5268:"5d463fbd",5409:"4ce439c3",5553:"032fcbe7",5723:"09853a5d",5979:"385e1b41",6177:"12db94aa",6367:"babd4318",6631:"836257dd",6730:"61289e01",7023:"0616282c",7073:"c51785a0",7343:"1e290ed5",8024:"bb377405",8138:"8372c355",8520:"cb7009ea",8542:"09badcc3",8568:"7f0dfd32",8636:"2a90cf11",8731:"a28fea96",8929:"ea6da50f",8990:"6dd37151",9004:"ffe04245",9033:"727fb9e6",9215:"17409451",9249:"d2b0f88c",9409:"339f5afb",9715:"21ca1afa",9729:"812aea5b"}[e]+".js"}}(),function(){s.miniCssF=function(e){return"css/"+e+"."+{188:"37c2c58b",907:"fa9ddfdd",2612:"f67d9d9c",3862:"f5c9dd84",4392:"01299cfb",6631:"fc57b3c0",7023:"c0c8bee7",7073:"3978ef96",8138:"90b016bc",9033:"ace2e544",9215:"03c22964"}[e]+".css"}}(),function(){s.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){var e={},t="jandl:";s.l=function(a,i,l,n){if(e[a])e[a].push(i);else{var o,r;if(void 0!==l)for(var d=document.getElementsByTagName("script"),u=0;u sanitizedUrl.startsWith(protocol))\n\n if (hasWhitelistedProtocol) return sanitizedUrl\n\n return `https://${sanitizedUrl}`\n } \n }\n\n Quill.register('formats/link', CustomLinkSanitizer, true)\n}","\n\n","\n\n","export default {\n\tmounted() {\n\t\twindow.addEventListener('keydown', this.handleKeyDown)\n\t},\n\n\tmethods: {\n\t\thandleKeyDown(event) {\n\t\t\t// if (event.keyCode === 27) this.closeModal()\n\t\t\tif (event.keyCode === 27) this.visible = false\n\t\t}\n\t},\n}","import { render } from \"./z-delete-team-modal.vue?vue&type=template&id=67985565\"\nimport script from \"./z-delete-team-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-delete-team-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./z-team-modal.vue?vue&type=template&id=3218e2d8\"\nimport script from \"./z-team-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-team-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./z-delete-task-modal.vue?vue&type=template&id=69a1b060\"\nimport script from \"./z-delete-task-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-delete-task-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n","import { render } from \"./z-delete-timeblock-modal.vue?vue&type=template&id=4aa4bee3&scoped=true\"\nimport script from \"./z-delete-timeblock-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-delete-timeblock-modal.vue?vue&type=script&lang=js\"\n\nimport \"./z-delete-timeblock-modal.vue?vue&type=style&index=0&id=4aa4bee3&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4aa4bee3\"]])\n\nexport default __exports__","\n\n\n\n\n","\n\n\n\n","import { render } from \"./z-files-upload.vue?vue&type=template&id=a2a40214&scoped=true\"\nimport script from \"./z-files-upload.vue?vue&type=script&lang=js\"\nexport * from \"./z-files-upload.vue?vue&type=script&lang=js\"\n\nimport \"./z-files-upload.vue?vue&type=style&index=0&id=a2a40214&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-a2a40214\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./a-task-timeblocks.vue?vue&type=template&id=4c8bf9fa\"\nimport script from \"./a-task-timeblocks.vue?vue&type=script&lang=js\"\nexport * from \"./a-task-timeblocks.vue?vue&type=script&lang=js\"\n\nimport \"./a-task-timeblocks.vue?vue&type=style&index=0&id=4c8bf9fa&lang=sass\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","export default {\n\t// Mixin to fix autofocus on v-input in modals where date selects are used\n\tdata() {\n\t\treturn {\n\t\t\tpreventInputFocus: false\n\t\t}\n\t},\n\n\tmethods: {\n\t\tsetFocusEvent() {\n\t\t\tdocument.querySelectorAll('.v-autocomplete input').forEach(input => {\n\t\t\t\tinput.addEventListener('focus', this.onInputFocus)\n\t\t\t})\n\t\t},\n\n\t\tonDateFocus($event) {\n\t\t\tif ($event == undefined) {\n\t\t\t\tthis.preventInputFocus = true\n\t\t\t}\n\t\t},\n\n\t\tonInputFocus($event) {\n\t\t\tif (this.preventInputFocus) {\n\t\t\t\t$event.target.blur()\n\t\t\t\tthis.preventInputFocus = false\n\t\t\t}\n\t\t}\n\t}\n}","export default {\n\tcomputed: {\n\t\temployeesOptions() {\n\t\t\tconst selectedEmployees = [...this.mastertask.employees].map(employee => employee.id)\n\n\t\t\treturn this.enrichedEmployees.filter(\n\t\t\t\t(employee) => !selectedEmployees.includes(employee.id)\n\t\t\t) || []\n\t\t},\n\n\t\tprojectsOptions() {\n\t\t\t// Added to \"paginate\" projects, because v-autocomplete was unable to handle so many projects at once\n\n\t\t\tconst pattern = /[^a-zA-Z0-9 ]/g\n\n\t\t\tconst normalizedInput = this.projectCodeSearch\n\t\t\t\t? this.projectCodeSearch.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '').replace(pattern, '')\n\t\t\t\t: ''\n\n\t\t\tconst projects = this.projects.filter(project => {\n\t\t\t\tconst normalizedProjectCode = project.code.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '').replace(pattern, '')\n\t\t\t\treturn normalizedProjectCode.toLowerCase().includes(normalizedInput.toLowerCase())\n\t\t\t})\n\n\t\t\tlet filteredProjects \t= projects?.length ? projects.slice(0, 10) : this.projects.slice(0, 10)\n\n\t\t\tif (!this.mastertask?.project_id)\n\t\t\t\treturn filteredProjects\n\n\t\t\tconst selectedProject \t= this.projects.find(project => project.id == this.mastertask?.project_id)\n\t\t\tfilteredProjects \t\t= filteredProjects.filter(project => project.id != selectedProject.id)\n\n\t\t\treturn [...filteredProjects, selectedProject]\n\t\t}\n\t},\n\n\tmethods: {\n\t\t// onProjectSelected(id) {\n\t\t// \tconst project = this.projects.find(project => project.id == id)\n\t\t// \tthis.mastertask.project_code = project.code\n\t\t// \tthis.mastertask.project_id \t = project.id\n\t\t// },\n\n\t\tonEmployeeSelected(id) {\n\t\t\tconst employee = this.enrichedEmployees.find(employee => employee.id == id)\n\t\t\tthis.mastertask.employees.push(employee)\n\t\t\tthis.showAddEmployeeInput = false\n\t\t},\n\n\t\tonEmployeeDurationChanged() {\n\t\t\tlet totalDuration = 0\n\n\t\t\tthis.mastertask.employees = this.mastertask.employees.map(employee => {\n\t\t\t\tif (typeof employee.duration == 'string') {\n\t\t\t\t\ttotalDuration += parseFloat(employee.duration)\n\t\t\t\t\temployee.duration = parseFloat(employee.duration)\n\t\t\t\t\temployee.invalid = false\n\t\t\t\t}\n\t\t\t\telse if (typeof employee.duration == 'number') {\n\t\t\t\t\ttotalDuration += employee.duration\n\t\t\t\t\temployee.invalid = false\n\t\t\t\t}\n\n\t\t\t\treturn employee\n\t\t\t})\n\n\t\t\tthis.mastertask.duration = totalDuration\n\t\t}\n\t},\n\n\twatch: {\n\t\t'mastertask.team_id'(value) {\n\t\t\tif (!value) return\n\t\t\t\n\t\t\tconst team = this.teams.find(team => team.id == value)\n\t\t\tif (!team) return\n\n\t\t\tthis.mastertask.team \t\t= JSON.parse(JSON.stringify(team))\n\t\t\tthis.mastertask.employees = [...this.mastertask.team.employees]\n\t\t},\n\t}\n}","\n\n\n","\n\n\n","import { render } from \"./a-mastertask-name.vue?vue&type=template&id=154bd9ae\"\nimport script from \"./a-mastertask-name.vue?vue&type=script&lang=js\"\nexport * from \"./a-mastertask-name.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./a-mastertask-status.vue?vue&type=template&id=40b1e729\"\nimport script from \"./a-mastertask-status.vue?vue&type=script&lang=js\"\nexport * from \"./a-mastertask-status.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./z-created-by.vue?vue&type=template&id=76476816\"\nimport script from \"./z-created-by.vue?vue&type=script&lang=js\"\nexport * from \"./z-created-by.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./a-task-assigned-employee.vue?vue&type=template&id=e04c27ce\"\nimport script from \"./a-task-assigned-employee.vue?vue&type=script&lang=js\"\nexport * from \"./a-task-assigned-employee.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./a-task-planned-time.vue?vue&type=template&id=5c6a17d5\"\nimport script from \"./a-task-planned-time.vue?vue&type=script&lang=js\"\nexport * from \"./a-task-planned-time.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n","import { render } from \"./a-task-spent-time.vue?vue&type=template&id=f216d188&scoped=true\"\nimport script from \"./a-task-spent-time.vue?vue&type=script&lang=js\"\nexport * from \"./a-task-spent-time.vue?vue&type=script&lang=js\"\n\nimport \"./a-task-spent-time.vue?vue&type=style&index=0&id=f216d188&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-f216d188\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./a-task-remaining-time.vue?vue&type=template&id=76900acb\"\nimport script from \"./a-task-remaining-time.vue?vue&type=script&lang=js\"\nexport * from \"./a-task-remaining-time.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./a-task-deadline.vue?vue&type=template&id=1d87e2c9\"\nimport script from \"./a-task-deadline.vue?vue&type=script&lang=js\"\nexport * from \"./a-task-deadline.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { useToast } from 'vue-toast-notification';\nconst toast = useToast();\n\ndeclare global {\n interface Window {\n\ttoast: typeof toast;\n }\n}\n\nwindow.toast = toast;\n\nexport function detectOS() {\n\tconst platform = window.navigator.platform\n\tconst macosPlatforms = ['Macintosh', 'MacIntel', 'MacPPC', 'Mac68K']\n\tconst windowsPlatforms = ['Win32', 'Win64', 'Windows', 'WinCE']\n\n\tif (macosPlatforms.indexOf(platform) !== -1) {\n\t\treturn 'mac'\n\t} else if (windowsPlatforms.indexOf(platform) !== -1) {\n\t\treturn 'win'\n\t}\n\treturn 'win'\n}\n\nexport function prepareHTMLDescription(description) {\n\tif (!description) return description\n\n\tconst os = detectOS()\n\n\tif (os === 'mac') {\n\t\tdescription = description.replace(/\\\\\\\\/g, 'smb://')\n\n\t\t// find all smb links and replace them with clickable links, separated by ' ', '<', '>', '\"', and '(', ')' characters\n\t\tdescription = description = description.replace(/(smb:\\/\\/[^\\s<>\"()]+)/g, function(match) {\n\t\t\treturn '' + match.replace(/\\\\/g, '/') + ''\n\t\t})\n\t} else {\n\t\tdescription = description.replace(/smb:\\/\\//g, '\\\\\\\\')\n\n\t\t\n\t\t// find all windows links and replace them with clickable links, separated by ' ', '<', '>', '\"', and '(', ')' characters\n\t\tdescription = description.replace(/(\\\\\\\\[^\\s<>\"()]+)/g, function(match) {\n\t\t\tmatch = match.replaceAll('/', '\\\\')\n\t\t\treturn '' + match + '';\n\t\t});\n\t}\n\n\treturn description;\n}\n\nfunction getCopyFunction(text) {\n\treturn `\n\t\tif (navigator.clipboard && navigator.clipboard.writeText) {\n\t\t\tnavigator.clipboard.writeText('${text.replace(/\\\\/g, '\\\\\\\\')}').then(() => {\n\t\t\t\twindow.toast.success('Link copied to clipboard!')\n\t\t\t}).catch(err => {\n\t\t\t\twindow.toast.error('Failed to copy link to clipboard!')\n\t\t\t});\n\t\t} else {\n\t\t\tconst input = document.createElement('input');\n\t\t\tinput.style.position = 'fixed';\n\t\t\tinput.style.opacity = 0;\n\t\t\tinput.style.pointerEvents = 'none';\n\t\t\tinput.value = '${text.replace(/\\\\/g, '\\\\\\\\')}';\n\t\t\tdocument.body.appendChild(input);\n\t\t\tinput.select();\n\t\t\tinput.focus();\n\t\t\tdocument.execCommand('copy');\n\t\t\tdocument.body.removeChild(input);\n\t\t\twindow.toast.success('Link copied to clipboard!')\n\t\t}\n\t`\n}","import { render } from \"./a-task-description.vue?vue&type=template&id=37e8334d\"\nimport script from \"./a-task-description.vue?vue&type=script&lang=js\"\nexport * from \"./a-task-description.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n","import { render } from \"./z-files.vue?vue&type=template&id=f01fa1ac&scoped=true\"\nimport script from \"./z-files.vue?vue&type=script&lang=js\"\nexport * from \"./z-files.vue?vue&type=script&lang=js\"\n\nimport \"./z-files.vue?vue&type=style&index=0&id=f01fa1ac&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-f01fa1ac\"]])\n\nexport default __exports__","import { render } from \"./z-task-readonly-info.vue?vue&type=template&id=fdfa3c04\"\nimport script from \"./z-task-readonly-info.vue?vue&type=script&lang=js\"\nexport * from \"./z-task-readonly-info.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\ne","import { render } from \"./a-timeblock.vue?vue&type=template&id=031787aa&scoped=true\"\nimport script from \"./a-timeblock.vue?vue&type=script&lang=js\"\nexport * from \"./a-timeblock.vue?vue&type=script&lang=js\"\n\nimport \"./a-timeblock.vue?vue&type=style&index=0&id=031787aa&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-031787aa\"]])\n\nexport default __exports__","import { render } from \"./z-task-modal.vue?vue&type=template&id=2aaf3118&scoped=true\"\nimport script from \"./z-task-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-task-modal.vue?vue&type=script&lang=js\"\n\nimport \"./z-task-modal.vue?vue&type=style&index=0&id=2aaf3118&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-2aaf3118\"]])\n\nexport default __exports__","\n\n","import { render } from \"./z-delete-blocker-modal.vue?vue&type=template&id=fe8d1392\"\nimport script from \"./z-delete-blocker-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-delete-blocker-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./z-complete-task-modal.vue?vue&type=template&id=e0b2ec2c\"\nimport script from \"./z-complete-task-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-complete-task-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./z-complete-master-task-modal.vue?vue&type=template&id=62a2645e\"\nimport script from \"./z-complete-master-task-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-complete-master-task-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./z-task-add-time-modal.vue?vue&type=template&id=7cc49c67\"\nimport script from \"./z-task-add-time-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-task-add-time-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./z-blocker-modal.vue?vue&type=template&id=1ca4825a\"\nimport script from \"./z-blocker-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-blocker-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./z-delete-master-task-modal.vue?vue&type=template&id=9419f686\"\nimport script from \"./z-delete-master-task-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-delete-master-task-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","\n\n\n\n\n","import { render } from \"./a-tasks-table.vue?vue&type=template&id=ca093826&scoped=true\"\nimport script from \"./a-tasks-table.vue?vue&type=script&lang=js\"\nexport * from \"./a-tasks-table.vue?vue&type=script&lang=js\"\n\nimport \"./a-tasks-table.vue?vue&type=style&index=0&id=ca093826&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-ca093826\"]])\n\nexport default __exports__","\n\n","\n\n","import { render } from \"./z-deadline.vue?vue&type=template&id=13a73f8f\"\nimport script from \"./z-deadline.vue?vue&type=script&lang=js\"\nexport * from \"./z-deadline.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./z-description.vue?vue&type=template&id=09dc9550\"\nimport script from \"./z-description.vue?vue&type=script&lang=js\"\nexport * from \"./z-description.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./z-planned-time.vue?vue&type=template&id=0c44c1d0\"\nimport script from \"./z-planned-time.vue?vue&type=script&lang=js\"\nexport * from \"./z-planned-time.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./z-remaining-time.vue?vue&type=template&id=759929d5\"\nimport script from \"./z-remaining-time.vue?vue&type=script&lang=js\"\nexport * from \"./z-remaining-time.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./z-spent-time.vue?vue&type=template&id=cc4966e2\"\nimport script from \"./z-spent-time.vue?vue&type=script&lang=js\"\nexport * from \"./z-spent-time.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./z-status.vue?vue&type=template&id=5a460912\"\nimport script from \"./z-status.vue?vue&type=script&lang=js\"\nexport * from \"./z-status.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./z-team.vue?vue&type=template&id=3dfe3a63\"\nimport script from \"./z-team.vue?vue&type=script&lang=js\"\nexport * from \"./z-team.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./a-mastertask-description.vue?vue&type=template&id=65a97638\"\nimport script from \"./a-mastertask-description.vue?vue&type=script&lang=js\"\nexport * from \"./a-mastertask-description.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./z-master-task-modal.vue?vue&type=template&id=03d0eea6&scoped=true\"\nimport script from \"./z-master-task-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-master-task-modal.vue?vue&type=script&lang=js\"\n\nimport \"./z-master-task-modal.vue?vue&type=style&index=0&id=03d0eea6&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-03d0eea6\"]])\n\nexport default __exports__","\r\n\r\n","import { render } from \"./z-delete-team-member-modal.vue?vue&type=template&id=554335ff\"\nimport script from \"./z-delete-team-member-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-delete-team-member-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./z-show-menu-modal.vue?vue&type=template&id=1399b161\"\nimport script from \"./z-show-menu-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-show-menu-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./App.vue?vue&type=template&id=367d6c96\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createStore } from \"vuex\";\n\nexport default createStore({\n state: {},\n getters: {},\n mutations: {},\n actions: {},\n modules: {},\n});","import { createRouter, createWebHashHistory, RouteRecordRaw } from 'vue-router'\nimport store from '@/store'\n\nconst routes: Array = [\n\t{\n\t\tpath: '',\n\t\tredirect: '/auth'\n\t},\n\t{\n\t\tpath: '/auth/',\n\t\tcomponent: () => import('@/plugins/app/_layout/auth/auth.layout.vue'),\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tpath: '',\n\t\t\t\tredirect: '/auth/login'\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: '/auth/login',\n\t\t\t\tname: 'Login',\n\t\t\t\tcomponent: () => import('@/plugins/lib@auth/login/login.vue'),\n\t\t\t\tmeta: {requiresAuth: false}\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: '/auth/forgot-password',\n\t\t\t\tname: 'Forgot password',\n\t\t\t\tcomponent: () => import('@/plugins/lib@auth/forgot-password/forgot-password.vue'),\n\t\t\t\tmeta: {requiresAuth: false}\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: '/auth/forgot-success',\n\t\t\t\tname: 'Forgot success',\n\t\t\t\tcomponent: () => import('@/plugins/lib@auth/forgot-success/forgot-success.vue'),\n\t\t\t\tmeta: {requiresAuth: false}\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: '/auth/reset-password',\n\t\t\t\tname: 'Reset password',\n\t\t\t\tcomponent: () => import('@/plugins/lib@auth/reset-password/reset-password.vue'),\n\t\t\t\tmeta: {requiresAuth: null}\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tpath: '/app',\n\t\tcomponent: () => import('@/plugins/app/_layout/app/app.layout.vue'),\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tpath: '',\n\t\t\t\tredirect: '/app/dashboard'\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: '/app/dashboard',\n\t\t\t\tredirect: '/app/dashboard/tasks',\n\t\t\t\tchildren: [\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/dashboard/tasks',\n\t\t\t\t\t\tname: 'Dashboard - Tasks',\n\t\t\t\t\t\tmeta: { title: 'Sub Tasks', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/tm@dashboard/tasks/tasks.vue')\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/dashboard/teams',\n\t\t\t\t\t\tname: 'Dashboard - Teams',\n\t\t\t\t\t\tmeta: { title: 'Teams Overview', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/tm@dashboard/teams/teams.vue')\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/dashboard/projects',\n\t\t\t\t\t\tname: 'Dashboard - Projects',\n\t\t\t\t\t\tmeta: { title: 'Projects overview', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/tm@dashboard/projects/projects.vue')\n\t\t\t\t\t},\n\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/overview/unscheduled',\n\t\t\t\t\t\tname: 'Overview - Unscheduled tasks',\n\t\t\t\t\t\tmeta: { title: 'Unscheduled Sub Tasks', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/tm@overview/tasks-unscheduled/tasks-unscheduled.vue')\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/overview/ongoing',\n\t\t\t\t\t\tname: 'Overview - Ongoing tasks',\n\t\t\t\t\t\tmeta: { title: 'Ongoing Sub Tasks', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/tm@overview/tasks-ongoing/tasks-ongoing.vue')\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/overview/teams',\n\t\t\t\t\t\tname: 'Overview - Teams',\n\t\t\t\t\t\tmeta: { title: 'Teams', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/tm@overview/teams/teams.vue')\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/dashboard/user',\n\t\t\t\t\t\tname: 'Dashboard - User',\n\t\t\t\t\t\tmeta: { title: 'Profile', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/tm@profile/profile/my-profile.vue')\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/search',\n\t\t\t\t\t\tname: 'Search',\n\t\t\t\t\t\tmeta: { title: 'Search Results', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/lib@search/search/search.vue')\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tpath: '/:catchAll(.*)',\n\t\tname: '404',\n\t\tcomponent: () => import('@/plugins/w@screen/404/404.vue'),\n\t\tmeta: {requiresAuth: null}\n\t}\n]\n\nconst router = createRouter({\n\thistory: createWebHashHistory(process.env.BASE_URL),\n\troutes\n})\n\nrouter.beforeEach((to, from, next) => {\n\tconst isLoggedIn = store.getters['auth/isLoggedIn']\n\n\tif (to.meta.requiresAuth === true) {\n\t\tif (isLoggedIn)\n\t\t\treturn next()\n\t\telse\n\t\t\treturn next({name: 'Login'})\n\t} else if (to.meta.requiresAuth === false) {\n\t\tif (!isLoggedIn)\n\t\t\treturn next()\n\t\telse\n\t\t\treturn next({name: 'Dashboard - Tasks'})\n\t} else {\n\t\treturn next()\n\t}\n})\n\nexport default router\n","import axios from 'axios'\nimport store from '@/store'\n\naxios.defaults.baseURL = process.env.VUE_APP_WAXIOS_URL\n\nexport default {\n\tasync get(url: string, config?: any) {\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync get_auth(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync get_data(url: string, config?: any) {\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync get_auth_data(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => Promise.resolve(response.data.data))\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync post(url: string, params = null, config?: any) {\n\n\t\treturn axios.post(url, params, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync post_auth(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.post(url, params, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync post_data(url: string, params = null, config?: any) {\n\n\t\treturn axios.post(url, params, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync post_auth_data(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.post(url, params, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync delete(url: string, config?: any) {\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync delete_auth(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync delete_data(url: string, config?: any) {\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync delete_auth_data(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync patch(url: string, params = null, config?: any) {\n\t\treturn axios.patch(url, params, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync patch_auth(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.patch(url, params, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync patch_data(url: string, params = null, config?: any) {\n\t\treturn axios.patch(url, params, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync patch_auth_data(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.patch(url, params, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync put(url: string, params = null, config?: any) {\n\t\treturn axios.put(url, params, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync put_auth(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.put(url, params, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync put_data(url: string, params = null, config?: any) {\n\t\treturn axios.put(url, params, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync put_auth_data(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.put(url, params, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\t_config(config: any) {\n\t\tif (config) console.error('NOT IMPLEMENTED')\n\n\t\tif (!store.getters['auth/token']) {\n\t\t\treturn {headers: {}}\n\t\t}\n\n\t\treturn {\n\t\t\theaders: {\n\t\t\t\tAuthorization: `Bearer ${store.getters['auth/token']}`\n\t\t\t}\n\t\t}\n\t}\n}","import { App } \t\tfrom 'vue'\nimport { Options } \tfrom './types'\nimport axios \t\tfrom './models/axios'\n\nexport default {\n\tinstall: (app: App, options: Options) => {\n\t\tif (options && options.disabled === true) return\n\n\t\tapp.config.globalProperties.$axios = axios\n\t}\n}","export const encodeGetParams = p =>\n\tObject.entries(p).map(kv => kv.map(encodeURIComponent).join('=')).join('&')\n\nexport function strToRegex(s) {\n\tlet re = s\n\tre = re.replace(/\\//g, '\\\\/')\n\tre = re.replace(/\\./g, '\\\\.')\n\tre = re.replace(/\\([^)]+\\)/g, '[^/]+')\n\treturn re\n}\n","import axios from 'axios'\nimport { encodeGetParams, strToRegex } from '../utils/moxios.util'\n\nexport class Moxios {\n\t_mocks = {}\n\n\tconstructor() {\n\t\taxios.interceptors.request.use(this._redirectRequestToMock.bind(this))\n\t\tthis._mocks = {}\n\t}\n\n\tmock(append) {\n\t\tfor (const k in append) {\n\t\t\tlet m = append[k]\n\n\t\t\tif (m === false) continue\n\n\t\t\tm = {}\n\n\t\t\tm.name = k\n\t\t\tm.url = k.split(' ')[1]\n\n\t\t\tif (!m.reUrl)\n\t\t\t\tm.reUrl = strToRegex( m.url )\n\n\t\t\tif (!m.matchMethod)\n\t\t\t\tm.matchMethod = k.split(' ')[0].toLowerCase()\n\n\t\t\tthis._mocks[k] = m\n\t\t}\n\t}\n\n\n\t_redirectRequestToMock(config) {\n\t\t// if (localStorage['isMoxios'] == 'false') {\n\t\t// \treturn config\n\t\t// }\n\n\t\tconst url = config.url.replace(/https?:\\/\\/[^/?]+/, '')\n\n\t\tlet mocked\n\n\t\tfor (const k in this._mocks) {\n\t\t\tconst m = this._mocks[k]\n\n\t\t\tif (config.method == m.matchMethod && url.match(m.reUrl)) {\n\t\t\t\tmocked = m\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\n\t\tif (mocked) {\n\t\t\tif (!mocked.fname)\n\t\t\t\tprocess.env.VUE_APP_PLATFORM\n\t\t\t\t\t? mocked.fname = `/mock/${process.env.VUE_APP_PLATFORM}/${mocked.url}.${config.method.toUpperCase()}.json`\n\t\t\t\t\t: mocked.fname = `/mock/${mocked.url}.${config.method.toUpperCase()}.json`\n\n\n\t\t\tconsole.log(mocked.fname = `/mock/${mocked.url}.${config.method.toUpperCase()}.json`)\n\n\t\t\tconst c = {\n\t\t\t\tmethod: 'get',\n\t\t\t\turl: window.location.origin + mocked.fname+'?___MOCK___&'+encodeGetParams(config.data||{}),\n\t\t\t}\n\n\t\t\tconfig = {...config, ...c}\n\t\t}\n\n\t\treturn config\n\t}\n\n}\n\n","import { App } \t\tfrom 'vue'\nimport { Moxios } \tfrom './models/moxios'\nimport { Options } \tfrom './types/index.js'\n\nexport default {\n\tinstall: (app: App, options: Options) => {\n\t\tconst moxios = new Moxios()\n\n\t\tif (!options || !options.routes || !Object.values(options.routes).length || options.disabled === true) return\n\n\t\tmoxios.mock(options.routes)\n\t}\n}","import { Options } \tfrom './types'\nimport mitt \t\tfrom 'mitt'\n\nexport default {\n\tinstall: (app, options: Options) => {\n\t\tif (options && options.disabled === true) return\n\n\t\tconst events = mitt()\n\t\tapp.config.globalProperties.$events = events\n\t}\n}","import { Language, Options } from \"../types\"\nimport { Ref, ref } from 'vue'\nimport axios from 'axios'\nimport { createI18n, I18n as I18nType } from 'vue-i18n'\nimport { Preferences } from '@capacitor/preferences'\n\n\nexport class I18n {\n\tpublic currentLanguage: Ref = ref();\n\tpublic availableLanguages: Language[];\n\tpublic vendorI18n: I18nType\n\tpublic defaultLanguage: Language | null;\n\n\tprivate languageKey: string;\n\n\tconstructor(properties: Options) {\n\t\tthis.availableLanguages = properties.languages || []\n\t\tthis.defaultLanguage = properties.languages.find(language => language.value == properties.defaultLanguage)\n\t\tthis.languageKey = properties.languageKey || process.env.VUE_APP_PLATFORM + '_language' || 'w18n_language'\n\n\t\tthis.vendorI18n = createI18n({\n\t\t\tlegacy: true,\n\t\t\tfallbackLocale: this.defaultLanguage.value,\n\t\t\tmessages: this._loadLocaleMessages(),\n\t\t\tmissing: this._missingTranslation,\n\t\t\tpostTranslation: this._postTranslation,\n\t\t})\n\n\t\tthis.changeLanguage({ title: \"Slovenský\", flag: \"sk\", value: \"sk\" })\n\t\tthis.initCurrentLanguage()\n\t}\n\n\tpublic async initCurrentLanguage() {\n\t\tconst { value } = await Preferences.get({ key: this.languageKey })\n\n\t\tif (value) {\n\t\t\tthis.currentLanguage.value = JSON.parse(value)\n\t\t} else if (this.defaultLanguage) {\n\t\t\tthis.currentLanguage.value = this.defaultLanguage\n\t\t} else if (this.availableLanguages[0]) {\n\t\t\tthis.currentLanguage.value = this.availableLanguages[0]\n\t\t} else {\n\t\t\treturn console.error('[w18n] Could not init current language')\n\t\t}\n\n\t\tconst availableLanguages = {}\n\n\t\tthis.availableLanguages.forEach(language => {\n\t\t\tavailableLanguages[language.value] = language.title\n\t\t})\n\n\t\tthis.changeLanguage(this.currentLanguage.value)\n\t\t// Translations.setup(this.currentLanguage.value.value, availableLanguages)\n\n\t\tthis._addAxiosHeaders()\n\t}\n\n\tpublic changeLanguage(language: Language) {\n\t\tthis.currentLanguage.value = language\n\t\tthis._addAxiosHeaders()\n\n\t\tPreferences.set({\n\t\t\tkey: this.languageKey,\n\t\t\tvalue: JSON.stringify(language)\n\t\t})\n\n\t\tthis.vendorI18n.global.locale = language.value\n\t}\n\n\n\tprivate _addAxiosHeaders() {\n\t\taxios.interceptors.request.use(config => {\n\t\t\tif (this.currentLanguage.value && this.currentLanguage.value.value) {\n\t\t\t\tconfig.headers['Accept-Language'] = this.currentLanguage.value.value\n\t\t\t}\n\n\t\t\treturn config\n\t\t})\n\n\t\taxios.interceptors.response.use(\n\t\t\t(response) => {\n\t\t\t\treturn response\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tif(error.response) {\n\t\t\t\t\taxios.post('https://logger.wezeo.dev/cms/api/data/new', {\n\t\t\t\t\t\tdata: JSON.stringify(error)\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn Promise.reject(error?.response || error)\n\t\t\t}\n\t\t)\n\t}\n\n\tpublic _loadLocaleMessages(path = '@/locales') {\n\t\tlet locales\n\t\ttry {\n\t\t\tlocales = require.context(\n\t\t\t\t'@/locales',\n\t\t\t\ttrue,\n\t\t\t\t/[A-Za-z0-9-_,\\s]+\\.json$/i\n\t\t\t)\n\t\t} catch (error) {\n\t\t\tconsole.warn('[@wezeo/i18n] Could not initialize i18n. Missing folder /src/locales.')\n\t\t\treturn {}\n\t\t}\n\n\t\tconst messages: { [key: string]: { [key: string]: string } } = {}\n\n\t\tlocales.keys().forEach((key) => {\n\t\t\tconst matched = key.match(/([A-Za-z0-9-_]+)\\./i)\n\t\t\tif (matched && matched.length > 1) {\n\t\t\t\tconst locale = matched[1]\n\n\t\t\t\tmessages[locale] = locales(key)\n\t\t\t}\n\t\t})\n\t\treturn messages\n\t}\n\n\tprivate _missingTranslation = (locale, key, instance?, type?) => {\n\t\treturn key\n\t}\n\n\tprivate _postTranslation = (translated) => {\n\t\treturn translated\n\t}\n}\n","import { Options } \tfrom './types'\nimport { I18n } \tfrom './models/i18n'\nimport events \t\tfrom '@/plugins/w/events'\n\nexport default {\n\tinstall: (app, options: Options) => {\n\t\tif (options && options.disabled === true)\n\t\t\treturn\n\n\t\tif (!options || !options.languages || !options.defaultLanguage)\n\t\t\treturn console.warn('[@wezeo/i18n] Could not initialize i18n. Missing configuration options.')\n\n\t\tif (!app.config.globalProperties.$events) {\n\t\t\tapp.use(events)\n\t\t}\n\n\t\tconst i18n = new I18n(options)\n\n\t\tapp.use(i18n.vendorI18n)\n\t\tapp.config.globalProperties.$w18n = i18n\n\t}\n}","import { App } \t\tfrom 'vue'\nimport { Options } \tfrom './types'\n\n\nimport {\n\tIonContent, IonPage, IonLabel, IonBackButton, IonCheckbox, IonText, IonButton, IonItem,\n\tIonToolbar, IonHeader, IonFooter, IonSlides, IonSlide, IonRow, IonCol, IonGrid, IonInput, IonButtons,\n\tIonIcon, IonList, IonTitle, IonMenu, IonRouterOutlet, IonMenuButton, IonSegment, IonSegmentButton, IonVirtualScroll,\n\tIonTextarea, IonSearchbar, IonRefresherContent, IonRefresher, IonInfiniteScrollContent, IonInfiniteScroll, IonAvatar,\n\tIonModal, IonRadioGroup, IonRadio, IonNote, IonCard, IonCardContent, IonTabBar, IonTabButton, IonMenuToggle, IonFab,\n\tIonFabButton, IonReorderGroup, IonReorder, IonFabList, IonSelect, IonSelectOption, IonToggle, IonBadge, IonChip, IonTabs, IonItemGroup, IonThumbnail, IonItemSliding, IonItemOption, IonItemOptions, IonImg, IonSkeletonText, IonSpinner, IonSplitPane\n} from '@ionic/vue'\n\nexport default {\n\tinstall: (app: App, options: Options) => {\n\t\tif (options && options.disabled === true) return\n\n\t\tapp.component('ion-content', IonContent)\n\t\tapp.component('ion-page', IonPage)\n\t\tapp.component('ion-label', IonLabel)\n\t\tapp.component('ion-back-button', IonBackButton)\n\t\tapp.component('ion-checkbox', IonCheckbox)\n\t\tapp.component('ion-text', IonText)\n\t\tapp.component('ion-button', IonButton)\n\t\tapp.component('ion-item', IonItem)\n\t\tapp.component('ion-item-group', IonItemGroup)\n\t\tapp.component('ion-item-sliding', IonItemSliding)\n\t\tapp.component('ion-item-option', IonItemOption)\n\t\tapp.component('ion-item-options', IonItemOptions)\n\t\tapp.component('ion-toolbar', IonToolbar)\n\t\tapp.component('ion-header', IonHeader)\n\t\tapp.component('ion-footer', IonFooter)\n\t\tapp.component('ion-slides', IonSlides)\n\t\tapp.component('ion-slide', IonSlide)\n\t\tapp.component('ion-spinner', IonSpinner)\n\t\tapp.component('ion-row', IonRow)\n\t\tapp.component('ion-col', IonCol)\n\t\tapp.component('ion-grid', IonGrid)\n\t\tapp.component('ion-input', IonInput)\n\t\tapp.component('ion-buttons', IonButtons)\n\t\tapp.component('ion-icon', IonIcon)\n\t\tapp.component('ion-img', IonImg)\n\t\tapp.component('ion-list', IonList)\n\t\tapp.component('ion-skeleton-text', IonSkeletonText)\n\t\tapp.component('ion-title', IonTitle)\n\t\tapp.component('ion-menu', IonMenu),\n\t\tapp.component('ion-split-pane', IonSplitPane)\n\t\tapp.component('ion-menu-button', IonMenuButton)\n\t\tapp.component('ion-router-outlet', IonRouterOutlet)\n\t\tapp.component('ion-segment', IonSegment)\n\t\tapp.component('ion-segment-button', IonSegmentButton)\n\t\tapp.component('ion-virtual-scroll', IonVirtualScroll)\n\t\tapp.component('ion-textarea', IonTextarea)\n\t\tapp.component('ion-searchbar', IonSearchbar)\n\t\tapp.component('ion-refresher-content', IonRefresherContent)\n\t\tapp.component('ion-refresher', IonRefresher)\n\t\tapp.component('ion-infinite-scroll-content', IonInfiniteScrollContent)\n\t\tapp.component('ion-infinite-scroll', IonInfiniteScroll)\n\t\tapp.component('ion-avatar', IonAvatar)\n\t\tapp.component('ion-thumbnail', IonThumbnail)\n\t\tapp.component('ion-modal', IonModal)\n\t\tapp.component('ion-radio-group', IonRadioGroup)\n\t\tapp.component('ion-radio', IonRadio)\n\t\tapp.component('ion-note', IonNote)\n\t\tapp.component('ion-card', IonCard)\n\t\tapp.component('ion-card-content', IonCardContent)\n\t\tapp.component('ion-tab-bar', IonTabBar)\n\t\tapp.component('ion-tab-button', IonTabButton),\n\t\tapp.component('ion-menu-toggle', IonMenuToggle)\n\t\tapp.component('ion-fab', IonFab)\n\t\tapp.component('ion-fab-button', IonFabButton)\n\t\tapp.component('ion-fab-list', IonFabList)\n\t\tapp.component('ion-reorder-group', IonReorderGroup)\n\t\tapp.component('ion-reorder', IonReorder)\n\t\tapp.component('ion-select', IonSelect)\n\t\tapp.component('ion-select-option', IonSelectOption)\n\t\tapp.component('ion-toggle', IonToggle)\n\t\tapp.component('ion-badge', IonBadge)\n\t\tapp.component('ion-chip', IonChip),\n\t\tapp.component('ion-tabs', IonTabs)\n\t}\n}","/* eslint-disable */\nimport axios from 'axios'\nimport store from '@/store'\n\nasync function _unauthorised(error: any) {\n\tif (error?.response?.data?.message == 'Unauthenticated.')\n\t\treturn store.dispatch('auth/logout')\n\t\n\treturn Promise.reject(error)\n}\n\naxios.interceptors.response.use(\n\t(response) => response,\n\t(error) => _unauthorised(error),\n)","import axios from '@/plugins/w/axios/models/axios'\nimport './refreshExpired'\n\nexport default {\n\tnamespaced: true,\n\tstate: {\n\t\ttoken: localStorage.getItem('wzo_vue_user_token') || '',\n\t\tuser: JSON.parse(localStorage.getItem('wzo_vue_user_user') || '{}'),\n\t},\n\tmutations: {\n\t\tauth_success(state: any, data: any) {\n\t\t\tif (data.token) {\n\t\t\t\tstate.token = data.token\n\t\t\t\tlocalStorage.setItem('wzo_vue_user_token', data.token)\n\t\t\t}\n\n\t\t\tif (data.user) {\n\t\t\t\tstate.user = data.user\n\t\t\t\tlocalStorage.setItem('wzo_vue_user_user', JSON.stringify(data.user))\n\t\t\t}\n\t\t},\n\t\tauth_error(state: any) {\n\t\t\tstate.token = ''\n\t\t\tlocalStorage.removeItem('wzo_vue_user_token')\n\t\t\tlocalStorage.removeItem('wzo_vue_user_user')\n\t\t},\n\t\tlogout(state: any) {\n\t\t\tstate.token = ''\n\t\t\tstate.user = null\n\t\t\tlocalStorage.removeItem('wzo_vue_user_token')\n\t\t\tlocalStorage.removeItem('wzo_vue_user_user')\n\t\t\twindow.open(location.origin, \"_self\")\n\t\t}\n\t},\n\tactions: {\n\t\tlogin({commit}: {commit: any}, credentials: any) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.post('v1/tokens/create', {data: credentials})\n\t\t\t\t\t.then((response: any) => {\n\t\t\t\t\t\tconst token = response.token\n\t\t\t\t\t\tconst user = response.user\n\n\t\t\t\t\t\tcommit('auth_success', {\n\t\t\t\t\t\t\ttoken: token,\n\t\t\t\t\t\t\tuser: user\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\tresolve(response)\n\t\t\t\t\t}).catch(error => {\n\t\t\t\t\t\tcommit('auth_error')\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\t\tsignup({commit }: {commit: any}, credentials: any) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\tcommit('auth_request')\n\n\t\t\t\taxios.post_data('v1/auth/signup', credentials)\n\t\t\t\t\t.then((response: any) => {\n\t\t\t\t\t\tconst token = response.token\n\t\t\t\t\t\tconst user = response.user\n\n\t\t\t\t\t\tcommit('auth_success', {\n\t\t\t\t\t\t\ttoken: token,\n\t\t\t\t\t\t\tuser: user\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\tresolve(response)\n\t\t\t\t\t}).catch(error => {\n\t\t\t\t\t\tcommit('auth_error')\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\t\t// eslint-disable-next-line\n\t\tlogout({commit}: {commit: any}) {\n\t\t\treturn new Promise((resolve) => {\n\t\t\t\taxios.post_auth_data('v1/auth/invalidate')\n\t\t\t\t\t.finally(() => {\n\t\t\t\t\t\tcommit('logout')\n\t\t\t\t\t\tresolve(null)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\t\t// eslint-disable-next-line\n\t\tforgotPassword({commit}: {commit: any}, credentials: any) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.post('v1/users/forgot', {data: credentials})\n\t\t\t\t\t.then(response => resolve(response))\n\t\t\t\t\t.catch(error => reject(error))\n\t\t\t})\n\t\t},\n\t\t// eslint-disable-next-line\n\t\tresetPassword({commit}: {commit: any}, credentials: any) {\n\t\t\tcommit('auth_success', {token: credentials.token})\n\t\t\t\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.post_auth_data('v1/users/reset', {data: credentials})\n\t\t\t\t\t.then(response => {\n\t\t\t\t\t\tcommit('logout')\n\t\t\t\t\t\tresolve(response)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => reject(error))\n\t\t\t})\n\t\t},\n\t\tasync refreshToken({commit}: {commit: any}) {\n\t\t\ttry {\n\t\t\t\tconst response: any = await axios.post_auth_data('v1/auth/refresh')\n\n\t\t\t\tconst token = response.token\n\t\t\t\tconst user = response.user\n\n\t\t\t\tcommit('auth_success', {\n\t\t\t\t\ttoken: token,\n\t\t\t\t\tuser: user\n\t\t\t\t})\n\n\t\t\t\treturn token\n\t\t\t} catch (error) {\n\t\t\t\tcommit('auth_error')\n\t\t\t\tconsole.error(error)\n\t\t\t}\n\t\t},\n\t\tasync userInfo({commit}: {commit: any}) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.get_auth_data('v1/auth/info')\n\t\t\t\t\t.then((response: any) => {\n\t\t\t\t\t\tconst user = response.user\n\n\t\t\t\t\t\tcommit('auth_success', {\n\t\t\t\t\t\t\tuser: user\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\tresolve(user)\n\t\t\t\t\t}).catch(error => {\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\t\tupdateUserInfo({commit}: {commit: any}, data: any) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.put_auth(`v1/users/${data.id}`, {data: data})\n\t\t\t\t\t.then((response: any) => {\n\t\t\t\t\t\tconst user = response.user\n\n\t\t\t\t\t\tcommit('auth_success', {\n\t\t\t\t\t\t\tuser: user\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\tresolve(user)\n\t\t\t\t\t}).catch(error => {\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\t},\n\tgetters: {\n\t\tisLoggedIn: (state: any) => {\n\t\t\treturn !!state.token\n\t\t},\n\t\tuser: (state: any) => {\n\t\t\treturn state.user\n\t\t},\n\t\ttoken: (state: any) => {\n\t\t\treturn (state.token && state.token != undefined) ? state.token : null\n\t\t}\n\t}\n}","import { App } \t\tfrom 'vue'\nimport { Options } \tfrom './types'\nimport auth \t\tfrom './auth.store'\n\nexport default {\n\tinstall: (app: App, options: Options) => {\n\t\tif (options && options.disabled == true) return\n\n\t\tif (!app.config.globalProperties.$store)\n\t\t\treturn console.warn('[w/auth] Could not initialize. App does not have vuex store added.')\n\n\t\tapp.config.globalProperties.$store.registerModule('auth', auth)\n\t}\n}","import { Options } \tfrom './types'\n// import { Toast } from './models/Toast'\nimport 'vue-toast-notification/dist/theme-sugar.css'\nimport VueToast from 'vue-toast-notification'\n\nexport default {\n\tinstall: (app, options: Options) => {\n\t\tif (options && options.disabled === true) return\n\n\t\tapp.use(VueToast)\n\n\t\t// app.config.globalProperties.$wToast = new Toast()\n\t\tapp.config.globalProperties.$parseError = (error) => error?.data?.message || error?.response?.data?.message || error?.message || error\n\t}\n}","\n\n\n\n","import { render } from \"./w-loadable.vue?vue&type=template&id=a2444234&scoped=true\"\nimport script from \"./w-loadable.vue?vue&type=script&lang=js\"\nexport * from \"./w-loadable.vue?vue&type=script&lang=js\"\n\nimport \"./w-loadable.vue?vue&type=style&index=0&id=a2444234&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-a2444234\"]])\n\nexport default __exports__","import { App } \t\tfrom 'vue'\nimport { Options } \tfrom './types'\nimport WLoadable\tfrom './_components/w-loadable.vue'\n\nexport default {\n\tinstall: (app: App, options: Options) => {\n\t\tif (options && options.disabled === true) return\n\n\t\tapp.component('W-loadable', WLoadable)\n\t}\n}","import { App } \t\tfrom 'vue'\nimport { Options } \tfrom './types'\n\nimport axios\t \tfrom '@/plugins/w/axios'\nimport moxios\t \tfrom '@/plugins/w/moxios'\nimport events\t \tfrom '@/plugins/w/events'\nimport i18n\t \t\tfrom '@/plugins/w/i18n'\nimport ionic\t \tfrom '@/plugins/w/ionic'\nimport auth\t\t\tfrom '@/plugins/w/auth'\nimport toast\t\tfrom '@/plugins/w/toast'\nimport loadable\t\tfrom '@/plugins/w/loadable'\n\nexport default {\n\tinstall: (app: App, options: Options = {}) => {\n\t\tevents.install(app, options.events)\n\t\taxios.install(app, options.axios)\n\t\ti18n.install(app, options.i18n)\n\t\tmoxios.install(app, options.moxios)\n\t\tionic.install(app, options.ionic)\n\t\tauth.install(app, options.auth)\n\t\ttoast.install(app, options.toast)\n\t\tloadable.install(app, options.loadable)\n\t}\n}","import { $t } from '@/plugins/app/_config/main'\n\nexport default {\n\tparseAndTranslate(data) {\n\t\tconst errorsArray = this._parseToArrayOfStrings(data)\n\t\treturn errorsArray.join(', ')\n\t},\n\n\t_parseToArrayOfStrings(data) {\n\t\tif (data?.data?.message) {\n\t\t\treturn [$t(data.data.message)]\n\t\t}\n\n\t\tif (typeof data == 'string') {\n\t\t\treturn [$t(data)]\n\t\t}\n\n\t\tif (data?.response?.data)\n\t\t\treturn Object.values(data?.response?.data)\n\n\t\tif (data && data.error && typeof data.error == 'string') {\n\t\t\treturn [$t(data.error)]\n\t\t}\n\n\t\tif (data && data.error && typeof data.error == 'object') {\n\t\t\treturn Object.values($t(data.error))\n\t\t}\n\n\t\tif (data.data && data.data.error && typeof data.data.error == 'string') {\n\t\t\treturn [$t(data.data.error)]\n\t\t}\n\n\t\tif (data && data.data && data.data.error && typeof data.data.error == 'object') {\n\t\t\treturn Object.values(data.data.error).map(error => $t(error[0]) + ' ')\n\t\t}\n\n\t\tif (data.statusText) {\n\t\t\treturn [$t(data.statusText)]\n\t\t}\n\n\t\treturn [data]\n\t}\n}","import axios from 'axios'\nimport store from '@/store'\nimport toastUtils from '@/plugins/w/toast/utils/toast.utils'\n\naxios.defaults.baseURL = process.env.VUE_APP_WAXIOS_URL\n\nexport default {\n\tasync get(url: string, config?: any) {\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync get_auth(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync get_data(url: string, config?: any) {\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync get_auth_data(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => Promise.resolve(response.data.data))\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync post(url: string, params = null, config?: any) {\n\n\t\treturn axios.post(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync post_auth(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.post(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync post_data(url: string, params = null, config?: any) {\n\n\t\treturn axios.post(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync post_auth_data(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.post(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync delete(url: string, config?: any) {\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync delete_auth(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync delete_data(url: string, config?: any) {\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync delete_auth_data(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync patch(url: string, params = null, config?: any) {\n\t\treturn axios.patch(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync patch_auth(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.patch(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync patch_auth_form(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\t\tconfig.headers['Content-Type'] = 'multipart/form-data'\n\t\tconst formData = this._objectToFormData(params)\n\t\tformData.append('_method', 'put')\n\t\tconfig.transformRequest = formData => formData\n\n\t\treturn axios.post(url, formData, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync patch_data(url: string, params = null, config?: any) {\n\t\treturn axios.patch(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync patch_auth_data(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.patch(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync put(url: string, params = null, config?: any) {\n\t\treturn axios.put(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync put_auth(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.put(url, {data: params}, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync put_data(url: string, params = null, config?: any) {\n\t\treturn axios.put(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync put_auth_data(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.put(url, {data: params}, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\t_config(config: any) {\n\t\tif (config) console.error('NOT IMPLEMENTED')\n\n\t\tif (!store.getters['auth/token']) {\n\t\t\treturn {headers: {}}\n\t\t}\n\n\t\treturn {\n\t\t\theaders: {\n\t\t\t\tAuthorization: `Bearer ${store.getters['auth/token']}`\n\t\t\t}\n\t\t}\n\t},\n\n\t_buildFormData(formData, data, parentKey) {\n\t\tif (data && typeof data === 'object' && !(data instanceof Date) && !(data instanceof File))\n\t\t\tObject.keys(data).forEach(key => this._buildFormData(formData, data[key], parentKey ? `${parentKey}[${key}]` : key));\n\t\telse\n\t\t\tformData.append(parentKey, data == null ? '' : data);\n\t},\n\n\t_objectToFormData(data) {\n\t\tconst formData = new FormData()\n\t\tthis._buildFormData(formData, {data: data})\n\n\t\treturn formData\n\t}\n}","import { App } \t\tfrom 'vue'\nimport { Options } \tfrom './types'\nimport axios \t\tfrom './models/axios'\n\nexport default {\n\tinstall: (app: App, options: Options) => {\n\t\tif (options && options.disabled === true) return\n\n\t\tapp.config.globalProperties.$axios = axios\n\t}\n}","import axios from '@/plugins/w@custom/axios/models/axios'\nimport store from '@/store'\n\nexport default {\n\tnamespaced: true,\n\n\tstate: {\n\t\tmastertasks: null,\n\t\temployees: null,\n\t\tteams: null,\n\t\tprojects: null,\n\t\tunscheduledSubtasks: null,\n\t\tongoingSubtasks: null,\n\t\tinitialized: false\n\t},\n\n\tmutations: {\n\t\tset_mastertasks(state: any, mastertasks: any) {\n\t\t\tstate.mastertasks = mastertasks\n\t\t},\n\n\t\tset_employees(state: any, employees: any) {\n\t\t\tstate.employees = employees\n\n\t\t\t// TODO: Remove\n\t\t\t// const employee = employees.find(employee => employee.email == 'zachariah.vonrueden@jandl.sk')\n\t\t\t// store.commit('auth/auth_success', {\n\t\t\t// \tuser: employee\n\t\t\t// })\n\t\t},\n\n\t\tset_teams(state: any, teams: any) {\n\t\t\tstate.teams = teams\n\t\t},\n\n\t\tset_projects(state: any, projects: any) {\n\t\t\tstate.projects = projects\n\t\t},\n\n\t\tset_unscheduled_subtasks(state: any, subtasks: any) {\n\t\t\tstate.unscheduledSubtasks = subtasks\n\t\t},\n\n\t\tset_ongoing_subtasks(state: any, subtasks: any) {\n\t\t\tstate.ongoingSubtasks = subtasks\n\t\t},\n\n\t\tupdate_team(state: any, team: any) {\n\t\t\tstate.teams = state.teams.map(t => {\n\t\t\t\tif (t.id == team.id)\n\t\t\t\t\treturn team\n\n\t\t\t\treturn t\n\t\t\t})\n\t\t},\n\n\t\tsave_team(state: any, team: any) {\n\t\t\tstate.teams.push(team)\n\t\t},\n\n\t\tdelete_team(state: any, team: any) {\n\t\t\tstate.teams = state.teams.filter(t => t.id != team.id)\n\t\t},\n\n\t\tupdate_subtask(state: any, subtask: any) {\n\t\t\tstate.unscheduledSubtasks \t= state.unscheduledSubtasks.map(st \t\t=> st.id == subtask.id ? subtask : st)\n\t\t\tstate.ongoingSubtasks \t\t= state.ongoingSubtasks.map(st \t\t\t=> st.id == subtask.id ? subtask : st)\n\t\t\t\n\t\t\t// state.mastertasks \t\t\t= state.mastertasks.map(mastertask \t\t=> {\n\t\t\t// \tmastertask.subtasks \t= mastertask.subtasks.map(st => st.id == subtask.id ? subtask : st)\n\t\t\t// \treturn mastertask\n\t\t\t// })\n\t\t},\n\n\t\tdelete_subtask(state: any, subtask: any) {\n\t\t\tstate.unscheduledSubtasks \t= state.unscheduledSubtasks.filter(st \t=> st.id != subtask.id)\n\t\t\tstate.ongoingSubtasks \t\t= state.ongoingSubtasks.filter(st \t\t=> st.id != subtask.id)\n\n\t\t\t// state.mastertasks \t\t\t= state.mastertasks.map(mastertask \t\t=> {\n\t\t\t// \tmastertask.subtasks = mastertask.subtasks.filter(st => st.id != subtask.id)\n\t\t\t// \treturn mastertask\n\t\t\t// })\n\t\t},\n\n\t\tinitialized(state: any) {\n\t\t\tstate.initialized = true\n\t\t}\n\t},\n\n\tactions: {\n\t\tinitialize({dispatch, commit}: {dispatch: any, commit: any}) {\n\t\t\treturn Promise.all([\n\t\t\t\tdispatch('loadMastertasks'),\n\t\t\t\tdispatch('loadEmployees'),\n\t\t\t\tdispatch('loadTeams'),\n\t\t\t\tdispatch('loadProjects'),\n\t\t\t\tdispatch('loadUnscheduledSubtasks'),\n\t\t\t\tdispatch('loadOngoingSubtasks')\n\t\t\t]).then(() => commit('initialized'))\n\t\t},\n\n\t\treloadSubtasks({dispatch}: {dispatch: any}) {\n\t\t\treturn Promise.all([\n\t\t\t\tdispatch('loadMastertasks'),\n\t\t\t\tdispatch('loadProjects'),\n\t\t\t\tdispatch('loadUnscheduledSubtasks'),\n\t\t\t\tdispatch('loadOngoingSubtasks')\n\t\t\t])\n\t\t},\n\n\t\treloadMastertasks({dispatch}: {dispatch: any}) {\n\t\t\treturn Promise.all([\n\t\t\t\tdispatch('loadMastertasks')\n\t\t\t])\n\t\t},\n\n\t\tloadMastertasks({commit}: {commit: any}) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t// axios.get_auth('v1/mastertasks')\n\t\t\t\taxios.get_auth('v1/mastertasks/?simple=true')\n\t\t\t\t\t.then(({ mastertasks }) => {\n\t\t\t\t\t\tcommit('set_mastertasks', mastertasks)\n\t\t\t\t\t\tresolve(mastertasks)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => {\n\t\t\t\t\t\tcommit('set_mastertasks', {error: error})\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\n\t\tloadEmployees({commit}: {commit: any}) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.get_auth_data('v1/employees')\n\t\t\t\t\t.then(employees => {\n\t\t\t\t\t\tcommit('set_employees', employees)\n\t\t\t\t\t\tresolve(employees)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => {\n\t\t\t\t\t\tcommit('set_employees', {error: error})\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t\t\n\t\t},\n\n\t\tloadTeams({commit}: {commit: any}) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.get_auth_data('v1/teams')\n\t\t\t\t\t.then(teams => {\n\t\t\t\t\t\tcommit('set_teams', teams)\n\t\t\t\t\t\tresolve(teams)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => {\n\t\t\t\t\t\tcommit('set_teams', {error: error})\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\n\t\tloadProjects({commit}: {commit: any}) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.get_auth_data('v1/projects')\n\t\t\t\t\t.then(project => {\n\t\t\t\t\t\tcommit('set_projects', project)\n\t\t\t\t\t\tresolve(project)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => {\n\t\t\t\t\t\tcommit('set_projects', {error: error})\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t\t\n\t\t},\n\n\t\tloadUnscheduledSubtasks({commit}: {commit: any}, employeeId = store.getters['auth/user']?.id) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.get_auth(`v1/subtasks?type=unscheduled&employee_id=${employeeId}`)\n\t\t\t\t\t.then(({subtasks}) => {\n\t\t\t\t\t\tcommit('set_unscheduled_subtasks', subtasks)\n\t\t\t\t\t\tresolve(subtasks)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => {\n\t\t\t\t\t\tcommit('set_unscheduled_subtasks', {error: error})\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\n\t\tloadOngoingSubtasks({commit}: {commit: any}, employeeId = store.getters['auth/user']?.id) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.get_auth(`v1/subtasks?type=ongoing&employee_id=${employeeId}`)\n\t\t\t\t\t.then(({subtasks}) => {\n\t\t\t\t\t\tcommit('set_ongoing_subtasks', subtasks)\n\t\t\t\t\t\tresolve(subtasks)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => {\n\t\t\t\t\t\tcommit('set_ongoing_subtasks', {error: error})\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t}\n\n\t},\n\n\tgetters: {\n\t\tmastertasks: (state: any) => {\n\t\t\treturn state.mastertasks\n\t\t},\n\n\t\temployees: (state: any) => {\n\t\t\treturn state.employees\n\t\t},\n\n\t\tenrichedEmployees: (state: any) => {\n\t\t\tif (!state.employees) return []\n\t\t\t\n\t\t\treturn state.employees.map(employee => ({\n\t\t\t\t...employee, \n\t\t\t\t_fullName: `${ employee.name } ${ employee.surname }`,\n\t\t\t\t_initials: employee.name.charAt(0) + employee.surname.charAt(0)\n\t\t\t})).sort((a, b) => a.name < b.name ? -1 : 1)\n\t\t},\n\n\t\tteams: (state: any) => {\n\t\t\treturn state.teams\n\t\t},\n\n\t\tprojects: (state: any) => {\n\t\t\treturn state.projects\n\t\t},\n\n\t\tunscheduledSubtasks: (state: any) => {\n\t\t\treturn state.unscheduledSubtasks\n\t\t},\n\n\t\tongoingSubtasks: (state: any) => {\n\t\t\treturn state.ongoingSubtasks\n\t\t},\n\n\t\tisInitialized: (state: any) => {\n\t\t\treturn state.initialized\n\t\t}\n\t}\n}","import { App } \t\tfrom 'vue'\nimport tmStore \tfrom './store'\n\nexport default {\n\tinstall: (app: App) => {\n\t\tapp.config.globalProperties.$store.registerModule('tm', tmStore)\n\t}\n}","\n\n\n","/**\n * Date Utils & prototypes.\n *\n * Waiting for VS Code to support JavaScript private fields.\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Class_fields\n * Meantime keep `_` for private.\n */\n\nlet now, todayDate, todayF, self\nlet _dateObject = {}\nlet _timeObject = {}\n\nexport default class DateUtils {\n texts = {}\n\n constructor (texts, noPrototypes = false) {\n self = this // For use in Date prototypes.\n this._texts = texts\n\n // Add prototypes ASAP - only once.\n if (!noPrototypes && Date && !Date.prototype.addDays) this._initDatePrototypes()\n\n // @todo: This would be nicer, but how to set Date.noPrototypes ASAP only if user wants?\n // if (Date.noPrototypes) delete Date.noPrototypes\n // else this._initDatePrototypes()\n }\n\n _initDatePrototypes () {\n /* eslint-disable no-extend-native */\n Date.prototype.addDays = function (days) { return self.addDays(this, days) }\n Date.prototype.subtractDays = function (days) { return self.subtractDays(this, days) }\n Date.prototype.addHours = function (hours) { return self.addHours(this, hours) }\n Date.prototype.subtractHours = function (hours) { return self.subtractHours(this, hours) }\n Date.prototype.addMinutes = function (minutes) { return self.addMinutes(this, minutes) }\n Date.prototype.subtractMinutes = function (minutes) { return self.subtractMinutes(this, minutes) }\n Date.prototype.getWeek = function () { return self.getWeek(this) }\n Date.prototype.isToday = function () { return self.isToday(this) }\n Date.prototype.isLeapYear = function () { return self.isLeapYear(this) }\n Date.prototype.format = function (format = 'YYYY-MM-DD') { return self.formatDate(this, format) }\n Date.prototype.formatTime = function (format = 'HH:mm') { return self.formatTime(this, format) }\n /* eslint-enable no-extend-native */\n }\n\n removePrototypes () {\n delete Date.prototype.addDays\n delete Date.prototype.subtractDays\n delete Date.prototype.addHours\n delete Date.prototype.subtractHours\n delete Date.prototype.addMinutes\n delete Date.prototype.subtractMinutes\n delete Date.prototype.getWeek\n delete Date.prototype.isToday\n delete Date.prototype.isLeapYear\n delete Date.prototype.format\n delete Date.prototype.formatTime\n }\n\n updateTexts (texts) {\n this._texts = texts\n }\n\n // Cache Today's date (to a maximum) for better isToday() performances. Formatted without leading 0.\n // We still need to update Today's date when Today changes without page refresh.\n _todayFormatted () {\n if (todayDate !== (new Date()).getDate()) {\n now = new Date()\n todayDate = now.getDate()\n todayF = `${now.getFullYear()}-${now.getMonth()}-${now.getDate()}`\n }\n\n return todayF\n }\n\n // UTILITIES.\n // ====================================================================\n addDays (date, days) {\n const d = new Date(date.valueOf())\n d.setDate(d.getDate() + days)\n return d\n }\n\n subtractDays (date, days) {\n const d = new Date(date.valueOf())\n d.setDate(d.getDate() - days)\n return d\n }\n\n addHours (date, hours) {\n const d = new Date(date.valueOf())\n d.setHours(d.getHours() + hours)\n return d\n }\n\n subtractHours (date, hours) {\n const d = new Date(date.valueOf())\n d.setHours(d.getHours() - hours)\n return d\n }\n\n addMinutes (date, minutes) {\n const d = new Date(date.valueOf())\n d.setMinutes(d.getMinutes() + minutes)\n return d\n }\n\n subtractMinutes (date, minutes) {\n const d = new Date(date.valueOf())\n d.setMinutes(d.getMinutes() - minutes)\n return d\n }\n\n getWeek (date) {\n const d = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()))\n const dayNum = d.getUTCDay() || 7\n d.setUTCDate(d.getUTCDate() + 4 - dayNum)\n const yearStart = new Date(Date.UTC(d.getUTCFullYear(), 0, 1))\n return Math.ceil((((d - yearStart) / 86400000) + 1) / 7)\n }\n\n isToday (date) {\n return `${date.getFullYear()}-${date.getMonth()}-${date.getDate()}` === this._todayFormatted()\n }\n\n isLeapYear (date) {\n const year = date.getFullYear()\n return !(year % 400) || (year % 100 && !(year % 4))\n }\n\n // Returns today if it's FirstDayOfWeek (Monday or Sunday) or previous FirstDayOfWeek otherwise.\n getPreviousFirstDayOfWeek (date = null, weekStartsOnSunday) {\n const prevFirstDayOfWeek = (date && new Date(date.valueOf())) || new Date()\n const dayModifier = weekStartsOnSunday ? 7 : 6\n prevFirstDayOfWeek.setDate(prevFirstDayOfWeek.getDate() - (prevFirstDayOfWeek.getDay() + dayModifier) % 7)\n return prevFirstDayOfWeek\n }\n\n /**\n * Converts a string to a Javascript Date object. If a Date object is passed, return it as is.\n *\n * @param {String | Date} date the string to convert to Date.\n * @return {Date} the equivalent Javascript Date object.\n */\n stringToDate (date) {\n if (date instanceof Date) return date\n // Regexp way is less performant: https://jsperf.com/string-to-date-regexp-vs-new-date\n // const [, y, m, d, h = 0, min = 0] = date.match(/(\\d{4})-(\\d{2})-(\\d{2})(?: (\\d{2}):(\\d{2}))?/)\n // return new Date(y, parseInt(m) - 1, d, h, min)\n\n if (date.length === 10) date += ' 00:00'\n return new Date(date.replace(/-/g, '/')) // replace '-' with '/' for Safari.\n }\n\n /**\n * Simply takes a Date and returns the associated time in minutes (sum of hours + minutes).\n *\n * @param {Date} date the JavaScript Date to extract minutes from.\n * @return {Number} the number of minutes (total of hours plus minutes).\n */\n dateToMinutes = date => date.getHours() * 60 + date.getMinutes()\n\n /**\n * Count the number of days this date range spans onto.\n * E.g. countDays(2019-11-02 18:00, 2019-11-03 02:00) = 2\n *\n * @param {String | Date} start the start date\n * @param {String | Date} end the end date\n * @return {Integer} The number of days this date range involves\n */\n countDays (start, end) {\n // replace '-' with '/' for Safari.\n if (typeof start === 'string') start = start.replace(/-/g, '/')\n if (typeof end === 'string') end = end.replace(/-/g, '/')\n\n // Set start & end at midnight then compare the delta. Don't modify the original dates.\n start = (new Date(start)).setHours(0, 0, 0, 0)\n // Set end at midnight plus 1 sec, so Math.ceil will round it up to a full day.\n end = (new Date(end)).setHours(0, 0, 1, 0)\n\n // Remove the potential daylight saving delta.\n const timezoneDiffMs = (new Date(end).getTimezoneOffset() - new Date(start).getTimezoneOffset()) * 60 * 1000\n return Math.ceil((end - start - timezoneDiffMs) / (24 * 3600 * 1000))\n }\n\n /**\n * Take 2 dates and check if within the same time step (useful in overlapping events).\n *\n * @return {Boolean} `true` if their time is included in the same time step,\n * this means these 2 dates are very close.\n */\n datesInSameTimeStep (date1, date2, timeStep) {\n return Math.abs(date1.getTime() - date2.getTime()) <= timeStep * 60 * 1000\n }\n // ====================================================================\n\n // FORMATTERS.\n // ====================================================================\n /**\n * Formats a date/time to the given format and returns the formatted string.\n *\n * @param {Date} date a JavaScript Date object to format.\n * @param {String} format the wanted format.\n * @param {Object} texts Optional: the localized texts object to override the vue-cal one in this._texts.\n * This becomes useful when showing multiple instances with different languages,\n * like in the documentation page.\n * @return {String} the formatted date.\n */\n formatDate (date, format = 'YYYY-MM-DD', texts = null) {\n if (!texts) texts = this._texts\n if (!format) format = 'YYYY-MM-DD' // Allows passing null for default format.\n if (format === 'YYYY-MM-DD') return this.formatDateLite(date)\n\n // Reinit the date and time object on each function call.\n _dateObject = {}\n _timeObject = {}\n\n // Each keyword is a function to load the dateObject or timeObject on demand: no wasted resource.\n const dateObj = {\n YYYY: () => this._hydrateDateObject(date, texts).YYYY,\n YY: () => this._hydrateDateObject(date, texts).YY(),\n M: () => this._hydrateDateObject(date, texts).M,\n MM: () => this._hydrateDateObject(date, texts).MM(),\n MMM: () => this._hydrateDateObject(date, texts).MMM(),\n MMMM: () => this._hydrateDateObject(date, texts).MMMM(),\n MMMMG: () => this._hydrateDateObject(date, texts).MMMMG(),\n D: () => this._hydrateDateObject(date, texts).D,\n DD: () => this._hydrateDateObject(date, texts).DD(),\n S: () => this._hydrateDateObject(date, texts).S(),\n d: () => this._hydrateDateObject(date, texts).d,\n dd: () => this._hydrateDateObject(date, texts).dd(),\n ddd: () => this._hydrateDateObject(date, texts).ddd(),\n dddd: () => this._hydrateDateObject(date, texts).dddd(),\n HH: () => this._hydrateTimeObject(date, texts).HH,\n H: () => this._hydrateTimeObject(date, texts).H,\n hh: () => this._hydrateTimeObject(date, texts).hh,\n h: () => this._hydrateTimeObject(date, texts).h,\n am: () => this._hydrateTimeObject(date, texts).am,\n AM: () => this._hydrateTimeObject(date, texts).AM,\n mm: () => this._hydrateTimeObject(date, texts).mm,\n m: () => this._hydrateTimeObject(date, texts).m\n }\n\n return format.replace(/(\\{[a-zA-Z]+\\}|[a-zA-Z]+)/g, (m, contents) => {\n const result = dateObj[contents.replace(/\\{|\\}/g, '')]\n return result !== undefined ? result() : contents\n })\n }\n\n // More performant function to convert a Date to `YYYY-MM-DD` formatted string only.\n formatDateLite (date) {\n const m = date.getMonth() + 1\n const d = date.getDate()\n return `${date.getFullYear()}-${m < 10 ? '0' : ''}${m}-${d < 10 ? '0' : ''}${d}`\n }\n\n /**\n * Formats a time (from Date or number of mins) to the given format and returns the formatted string.\n *\n * @param {Date | Number} date a JavaScript Date object or a time in minutes.\n * @param {String} format the wanted format.\n * @param {Object} texts Optional: the localized texts object to override the vue-cal one in this._texts.\n * This becomes useful when showing multiple instances with different languages,\n * like in the documentation page.\n * @param {Boolean} round if time is 23:59:59, rounds up to 24:00 for formatting only.\n * @return {String} the formatted time.\n */\n formatTime (date, format = 'HH:mm', texts = null, round = false) {\n let shouldRound = false\n if (round) {\n const [h, m, s] = [date.getHours(), date.getMinutes(), date.getSeconds()]\n if ((h + m + s) === (23 + 59 + 59)) shouldRound = true\n }\n\n if (date instanceof Date && format === 'HH:mm') return shouldRound ? '24:00' : this.formatTimeLite(date)\n\n _timeObject = {} // Reinit the time object on each function call.\n if (!texts) texts = this._texts\n const timeObj = this._hydrateTimeObject(date, texts)\n\n const formatted = format.replace(/(\\{[a-zA-Z]+\\}|[a-zA-Z]+)/g, (m, contents) => {\n const result = timeObj[contents.replace(/\\{|\\}/g, '')]\n return result !== undefined ? result : contents\n })\n\n // Round 23:59:59 to 24:00. For 12-hour format there is nothing to replace: as both are 12am.\n // Also don't return `24:00` straight away as the user format may be different.\n return shouldRound ? formatted.replace('23:59', '24:00') : formatted\n }\n\n /**\n * Formats a time to 'HH:mm' from a Date and returns the formatted string.\n *\n * @param {Date} date a JavaScript Date object to format.\n * @return {String} the formatted time.\n */\n formatTimeLite (date) {\n const h = date.getHours()\n const m = date.getMinutes()\n return `${(h < 10 ? '0' : '') + h}:${(m < 10 ? '0' : '') + m}`\n }\n\n _nth (d) {\n if (d > 3 && d < 21) return 'th'\n switch (d % 10) {\n case 1: return 'st'\n case 2: return 'nd'\n case 3: return 'rd'\n default: return 'th'\n }\n }\n\n _hydrateDateObject (date, texts) {\n if (_dateObject.D) return _dateObject\n\n const YYYY = date.getFullYear()\n const M = date.getMonth() + 1\n const D = date.getDate()\n const day = date.getDay() // Day of the week.\n const dayNumber = (day - 1 + 7) % 7 // Day of the week. 0 to 6 with 6 = Sunday.\n // Some of this props are functions, to only calculate on demand.\n _dateObject = {\n // Year.\n YYYY, // 2019.\n YY: () => YYYY.toString().substring(2), // 19.\n\n // Month.\n M, // 1 to 12.\n MM: () => (M < 10 ? '0' : '') + M, // 01 to 12.\n MMM: () => texts.months[M - 1].substring(0, 3), // Jan to Dec.\n MMMM: () => texts.months[M - 1], // January to December.\n MMMMG: () => (texts.monthsGenitive || texts.months)[M - 1], // January to December in genitive form (Greek...)\n\n // Day.\n D, // 1 to 31.\n DD: () => (D < 10 ? '0' : '') + D, // 01 to 31.\n S: () => this._nth(D), // st, nd, rd, th.\n\n // Day of the week.\n d: dayNumber + 1, // 1 to 7 with 7 = Sunday.\n dd: () => texts.weekDays[dayNumber][0], // M to S.\n ddd: () => texts.weekDays[dayNumber].substr(0, 3), // Mon to Sun.\n dddd: () => texts.weekDays[dayNumber] // Monday to Sunday.\n }\n\n return _dateObject\n }\n\n _hydrateTimeObject (date, texts) {\n if (_timeObject.am) return _timeObject\n\n let H, m\n if (date instanceof Date) {\n H = date.getHours()\n m = date.getMinutes()\n }\n else {\n H = Math.floor(date / 60)\n m = Math.floor(date % 60)\n }\n\n const h = H % 12 ? H % 12 : 12\n const am = (texts || { am: 'am', pm: 'pm' })[H === 24 || H < 12 ? 'am' : 'pm']\n _timeObject = {\n H,\n h,\n HH: (H < 10 ? '0' : '') + H,\n hh: (h < 10 ? '0' : '') + h,\n am,\n AM: am.toUpperCase(),\n m,\n mm: (m < 10 ? '0' : '') + m\n }\n\n return _timeObject\n }\n // ====================================================================\n}\n","/**\n * Cell Utils.\n *\n * Waiting for VS Code to support JavaScript private fields.\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Class_fields\n * Meantime keep `_` for private.\n */\n\nconst minutesInADay = 24 * 60\n\nexport default class CellUtils {\n _vuecal = null\n\n constructor (vuecal) {\n this._vuecal = vuecal\n }\n\n /**\n * Select a cell and go to narrower view on double click or single click according to vuecalProps option.\n *\n * @param {Boolean} force Force switching to narrower view.\n * @param {Date} date The selected cell date at the exact time where it was clicked (through cursor coords).\n * @param {Integer} split The selected cell split if any.\n */\n selectCell = (force = false, date, split) => {\n // Cell-click event returns a date and time at cursor position.\n this._vuecal.$emit('cell-click', split ? { date, split } : date)\n\n // Switch to narrower view.\n if (this._vuecal.clickToNavigate || force) this._vuecal.switchToNarrowerView()\n\n // Handle double click manually for touch devices.\n else if (this._vuecal.dblclickToNavigate && 'ontouchstart' in window) {\n this._vuecal.domEvents.dblTapACell.taps++\n\n setTimeout(() => (this._vuecal.domEvents.dblTapACell.taps = 0), this._vuecal.domEvents.dblTapACell.timeout)\n\n if (this._vuecal.domEvents.dblTapACell.taps >= 2) {\n this._vuecal.domEvents.dblTapACell.taps = 0\n this._vuecal.switchToNarrowerView()\n this._vuecal.$emit('cell-dblclick', split ? { date, split } : date)\n }\n }\n }\n\n /**\n * Select a cell and go to narrower view on enter.\n *\n * @param {Boolean} force Force switching to narrower view.\n * @param {Date} date The selected cell date at the exact time where it was clicked (through cursor coords).\n * @param {Integer} split The selected cell split if any.\n */\n keyPressEnterCell = (date, split) => {\n // Cell-key-press-enter event returns a date and time at cursor position.\n this._vuecal.$emit('cell-keypress-enter', split ? { date, split } : date)\n\n // Switch to narrower view.\n this._vuecal.switchToNarrowerView()\n }\n\n /**\n * Get the coordinates of the mouse cursor from the cells wrapper referential (`ref=\"cells\"`).\n *\n * @todo Cache bounding box & update it on resize.\n * @param {Object} e the native DOM event object.\n * @return {Object} containing { x: {Number}, y: {Number} }\n */\n getPosition = e => {\n const { left, top } = this._vuecal.cellsEl.getBoundingClientRect()\n const { clientX, clientY } = 'ontouchstart' in window && e.touches ? e.touches[0] : e\n return { x: clientX - left, y: clientY - top }\n }\n\n /**\n * Get the number of minutes from the top to the mouse cursor.\n * Returns a constrained time between 0 and 24 * 60.\n *\n * @param {Object} e the native DOM event object.\n * @return {Object} containing { minutes: {Number}, cursorCoords: { x: {Number}, y: {Number} } }\n */\n minutesAtCursor = e => {\n let minutes = 0\n let cursorCoords = { x: 0, y: 0 }\n const { timeStep, timeCellHeight, timeFrom } = this._vuecal.$props\n\n if (typeof e === 'number') minutes = e\n else if (typeof e === 'object') {\n cursorCoords = this.getPosition(e)\n minutes = Math.round(cursorCoords.y * timeStep / parseInt(timeCellHeight) + timeFrom)\n }\n\n return { minutes: Math.max(Math.min(minutes, minutesInADay), 0), cursorCoords }\n }\n}\n","/**\n * Events Utils.\n *\n * Waiting for VS Code to support JavaScript private fields.\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Class_fields\n * Meantime keep `_` for private.\n */\n\nconst defaultEventDuration = 2 // In hours.\nconst minutesInADay = 24 * 60 // Don't do the maths every time.\n\nlet ud\n\n// Event overlaps: only for the current view, recreated on view change.\nlet _cellOverlaps, _comparisonArray\n\n// This is an approximation, it will not work with DLS time.\n// const approxDayMilliseconds = minutesInADay * 60 * 1000\n// This is an approximate minimum we can get in a year. Purposely stay below 365 but close.\n// const minYearMilliseconds = 364 * approxDayMilliseconds // Don't do the maths every time.\n\nexport default class EventUtils {\n _vuecal = null\n\n eventDefaults = {\n _eid: null,\n start: '', // Externally given formatted date & time or Date object.\n startTimeMinutes: 0,\n end: '', // Externally given formatted date & time or Date object.\n endTimeMinutes: 0,\n title: '',\n content: '',\n background: false,\n allDay: false,\n segments: null,\n repeat: null,\n daysCount: 1,\n deletable: true,\n deleting: false,\n titleEditable: true,\n resizable: true,\n resizing: false,\n draggable: true,\n dragging: false,\n draggingStatic: false, // Controls the CSS class of the static clone while dragging.\n focused: false,\n class: ''\n }\n\n constructor (vuecal, dateUtils) {\n this._vuecal = vuecal\n ud = dateUtils\n }\n\n /**\n * Create an event at the given date and time, and allow overriding\n * event attributes through the eventOptions object.\n *\n * @param {Date | String} dateTime The date and time of the new event start.\n * @param {Number} duration the event duration in minutes.\n * @param {Object} eventOptions some options to override the `eventDefaults` - optional.\n */\n createAnEvent (dateTime, duration, eventOptions) {\n if (typeof dateTime === 'string') dateTime = ud.stringToDate(dateTime)\n if (!(dateTime instanceof Date)) return false\n\n const startTimeMinutes = ud.dateToMinutes(dateTime)\n duration = duration * 1 || defaultEventDuration * 60\n const endTimeMinutes = startTimeMinutes + duration\n const end = ud.addMinutes(new Date(dateTime), duration)\n\n // Automatically add the required endTimeMinutes when passing an end.\n if (eventOptions.end) {\n if (typeof eventOptions.end === 'string') eventOptions.end = ud.stringToDate(eventOptions.end)\n eventOptions.endTimeMinutes = ud.dateToMinutes(eventOptions.end)\n }\n\n const event = {\n ...this.eventDefaults,\n _eid: `${this._vuecal._.uid}_${this._vuecal.eventIdIncrement++}`,\n start: dateTime,\n startTimeMinutes,\n end,\n endTimeMinutes,\n segments: null,\n ...eventOptions\n }\n\n // If the onEventCreate() function is given as a parameter to vue-cal:\n // 1. give it access to the created event & the deleteAnEvent() function.\n // 2. Prevent creation of the event if this function returns false.\n if (typeof this._vuecal.onEventCreate === 'function') {\n if (!this._vuecal.onEventCreate(event, () => this.deleteAnEvent(event))) return\n }\n\n // Check if event is a multiple day event and update days count.\n if (event.startDateF !== event.endDateF) {\n event.daysCount = ud.countDays(event.start, event.end)\n }\n\n // Add event to the mutableEvents array.\n this._vuecal.mutableEvents.push(event)\n\n // Add the new event to the current view.\n // The event may have been edited on the fly to become a multiple-day event,\n // the method addEventsToView makes sure the segments are created.\n this._vuecal.addEventsToView([event])\n\n this._vuecal.emitWithEvent('event-create', event)\n this._vuecal.$emit('event-change', { event: this._vuecal.cleanupEvent(event), originalEvent: null })\n\n return event\n }\n\n /**\n * Add an event segment (= day) to a multiple-day event.\n *\n * @param {Object} e the multiple-day event to add segment in.\n */\n addEventSegment (e) {\n // If event was previously single-day, event.segments = null,\n // so first create the first segment (first day).\n if (!e.segments) {\n e.segments = {}\n e.segments[ud.formatDateLite(e.start)] = {\n start: e.start,\n startTimeMinutes: e.startTimeMinutes,\n endTimeMinutes: minutesInADay,\n isFirstDay: true,\n isLastDay: false\n }\n }\n\n // Modify the last segment - which will not stay the last one after this function.\n const previousSegment = e.segments[ud.formatDateLite(e.end)]\n // previousSegment might not exist when dragging too fast, prevent errors.\n if (previousSegment) {\n previousSegment.isLastDay = false\n previousSegment.endTimeMinutes = minutesInADay\n }\n else {\n // @todo: when moving fast might lose the previousSegment.\n // Trying to update it would then result in an error, but do nothing would create a visual bug.\n }\n\n // Create the new last segment.\n const start = ud.addDays(e.end, 1)\n const formattedDate = ud.formatDateLite(start)\n start.setHours(0, 0, 0, 0)\n e.segments[formattedDate] = {\n start,\n startTimeMinutes: 0,\n endTimeMinutes: e.endTimeMinutes,\n isFirstDay: false,\n isLastDay: true\n }\n\n e.end = ud.addMinutes(start, e.endTimeMinutes)\n e.daysCount = Object.keys(e.segments).length\n\n return formattedDate\n }\n\n /**\n * Remove an event segment (= day) from a multiple-day event.\n *\n * @param {Object} e the multiple-day event to remove segments from.\n */\n removeEventSegment (e) {\n let segmentsCount = Object.keys(e.segments).length\n if (segmentsCount <= 1) return ud.formatDateLite(e.end)\n\n // Remove the last segment.\n delete e.segments[ud.formatDateLite(e.end)]\n segmentsCount--\n\n const end = ud.subtractDays(e.end, 1)\n const formattedDate = ud.formatDateLite(end)\n const previousSegment = e.segments[formattedDate]\n\n // If no more segments, reset the segments attribute to null.\n if (!segmentsCount) e.segments = null\n\n // previousSegment might not exist when dragging too fast, prevent errors.\n else if (previousSegment) {\n // Modify the new last segment.\n previousSegment.isLastDay = true\n previousSegment.endTimeMinutes = e.endTimeMinutes\n }\n else {\n // @todo: when moving fast might lose the previousSegment.\n // Trying to update it would then result in an error, but do nothing would create a visual bug.\n }\n\n e.daysCount = segmentsCount || 1\n e.end = end\n\n return formattedDate\n }\n\n /**\n * Create 1 segment per day of the given event, but only within the current view.\n * (It won't create segments for all the days in view that are not in the event!)\n *\n * An event segment is a piece of event per day that contains more day-specific data.\n *\n * @param {Object} e the multiple-day event to create segments for.\n * @param {Date} viewStartDate the starting date of the view.\n * @param {Date} viewEndDate the ending date of the view.\n */\n createEventSegments (e, viewStartDate, viewEndDate) {\n const viewStartTimestamp = viewStartDate.getTime()\n const viewEndTimestamp = viewEndDate.getTime()\n let eventStart = e.start.getTime()\n let eventEnd = e.end.getTime()\n let repeatedEventStartFound = false\n let timestamp, end, eventStartAtMidnight\n\n // @todo: I don't think we still need that:\n // Removing 1 sec when ending at 00:00, so that we don't create a segment for nothing on last day.\n if (!e.end.getHours() && !e.end.getMinutes()) eventEnd -= 1000\n\n e.segments = {}\n\n // The goal is to create 1 segment per day in the event, but only within the current view.\n if (!e.repeat) { // Simple case first.\n timestamp = Math.max(viewStartTimestamp, eventStart)\n end = Math.min(viewEndTimestamp, eventEnd)\n }\n else {\n // Start at the beginning of the range, and end at soonest between `repeat.until` if any or range end.\n // This range will most likely be too large (e.g. whole week) and we need to narrow it\n // down in the while loop below.\n // We must not create unused segments, it would break the render or result in weird behaviors.\n timestamp = viewStartTimestamp\n end = Math.min(\n viewEndTimestamp,\n e.repeat.until ? ud.stringToDate(e.repeat.until).getTime() : viewEndTimestamp\n )\n }\n\n while (timestamp <= end) {\n let createSegment = false\n // Be careful not to simply add 24 hours!\n // In case of DLS, that would cause the event to never end and browser to hang.\n // So use `addDays(1)` instead.\n const nextMidnight = ud.addDays(new Date(timestamp), 1).setHours(0, 0, 0, 0)\n let isFirstDay, isLastDay, start, formattedDate\n\n if (e.repeat) {\n const tmpDate = new Date(timestamp)\n const tmpDateFormatted = ud.formatDateLite(tmpDate)\n // If the current day in loop is a known date of the repeated event (in `e.occurrences`),\n // then we found the first day of the event repetition, now update the `eventStart` and\n // the end of the loop at current day + event days count.\n if (repeatedEventStartFound || (e.occurrences && e.occurrences[tmpDateFormatted])) {\n if (!repeatedEventStartFound) {\n eventStart = e.occurrences[tmpDateFormatted].start\n eventStartAtMidnight = new Date(eventStart).setHours(0, 0, 0, 0)\n eventEnd = e.occurrences[tmpDateFormatted].end\n }\n repeatedEventStartFound = true\n createSegment = true\n }\n\n isFirstDay = timestamp === eventStartAtMidnight\n isLastDay = tmpDateFormatted === ud.formatDateLite(new Date(eventEnd))\n start = new Date(isFirstDay ? eventStart : timestamp)\n formattedDate = ud.formatDateLite(start)\n // We want to find any potential other repetition of event in same range.\n if (isLastDay) repeatedEventStartFound = false\n }\n else {\n createSegment = true\n isFirstDay = timestamp === eventStart\n isLastDay = end === eventEnd && nextMidnight > end\n start = isFirstDay ? e.start : new Date(timestamp)\n formattedDate = ud.formatDateLite(isFirstDay ? e.start : start)\n }\n\n if (createSegment) {\n e.segments[formattedDate] = {\n start,\n startTimeMinutes: isFirstDay ? e.startTimeMinutes : 0,\n endTimeMinutes: isLastDay ? e.endTimeMinutes : minutesInADay,\n isFirstDay,\n isLastDay\n }\n }\n\n timestamp = nextMidnight\n }\n\n return e\n }\n\n /**\n * Delete an event.\n *\n * @param {Object} event the calendar event to delete.\n */\n deleteAnEvent (event) {\n this._vuecal.emitWithEvent('event-delete', event)\n\n // Delete the event globally.\n this._vuecal.mutableEvents = this._vuecal.mutableEvents.filter(e => e._eid !== event._eid)\n // Delete the event from the current view.\n // checkCellOverlappingEvents() will be re-run automatically from the cell computed events.\n this._vuecal.view.events = this._vuecal.view.events.filter(e => e._eid !== event._eid)\n }\n\n // EVENT OVERLAPS.\n // ===================================================================\n // Will recalculate all the overlaps of the current cell OR split.\n // cellEvents will contain only the current split events if in a split.\n checkCellOverlappingEvents (cellEvents, options) {\n _comparisonArray = cellEvents.slice(0)\n _cellOverlaps = {}\n\n // Can't filter background events before calling this function otherwise\n // when an event is changed to background it would not update its previous overlaps.\n cellEvents.forEach(e => {\n // For performance, never compare the current event in the next loops.\n // The array is smaller and smaller as we loop.\n _comparisonArray.shift()\n\n if (!_cellOverlaps[e._eid]) _cellOverlaps[e._eid] = { overlaps: [], start: e.start, position: 0, sameOverlaps: [] }\n _cellOverlaps[e._eid].position = 0\n\n _comparisonArray.forEach(e2 => {\n if (!_cellOverlaps[e2._eid]) _cellOverlaps[e2._eid] = { overlaps: [], start: e2.start, position: 0, sameOverlaps: [] }\n\n const eventIsInRange = this.eventInRange(e2, e.start, e.end)\n const eventSameOverlap = this.eventSameRange(e2, e)\n const eventsInSameTimeStep = options.overlapsPerTimeStep ? ud.datesInSameTimeStep(e.start, e2.start, options.timeStep) : 1\n // Add to the overlaps array if overlapping.\n if (!e.background && !e.allDay && !e2.background && !e2.allDay && eventIsInRange && eventsInSameTimeStep) {\n _cellOverlaps[e._eid].overlaps.push(e2._eid)\n _cellOverlaps[e._eid].overlaps = [...new Set(_cellOverlaps[e._eid].overlaps)] // Dedupe, most performant way.\n\n _cellOverlaps[e2._eid].overlaps.push(e._eid)\n _cellOverlaps[e2._eid].overlaps = [...new Set(_cellOverlaps[e2._eid].overlaps)] // Dedupe, most performant way.\n _cellOverlaps[e2._eid].position++\n \n if (eventSameOverlap) {\n _cellOverlaps[e._eid].sameOverlaps.push(e2._eid)\n _cellOverlaps[e._eid].sameOverlaps = [...new Set(_cellOverlaps[e._eid].sameOverlaps)] // Dedupe, most performant way.\n\n _cellOverlaps[e2._eid].sameOverlaps.push(e._eid)\n _cellOverlaps[e2._eid].sameOverlaps = [...new Set(_cellOverlaps[e2._eid].sameOverlaps)] // Dedupe, most performant way.\n }\n }\n // Remove from the overlaps array if not overlapping or if 1 of the 2 events is background or all-day long.\n else {\n let pos1, pos2\n if ((pos1 = (_cellOverlaps[e._eid] || { overlaps: [] }).overlaps.indexOf(e2._eid)) > -1) _cellOverlaps[e._eid].overlaps.splice(pos1, 1)\n if ((pos2 = (_cellOverlaps[e2._eid] || { overlaps: [] }).overlaps.indexOf(e._eid)) > -1) _cellOverlaps[e2._eid].overlaps.splice(pos2, 1)\n _cellOverlaps[e2._eid].position--\n }\n })\n })\n\n // Overlaps streak is the longest horizontal set of simultaneous events.\n // This is determining the width of events in a streak.\n // e.g. 3 overlapping events in a cell:\n // ___ ___\n // | 1 | |_2_| 1 overlaps 2 & 3; 2 & 3 don't overlap;\n // | | ___ => streak = 2; each width = 50% not 33%.\n // |___| |_3_|\n let longestStreak = 0\n for (const id in _cellOverlaps) {\n const item = _cellOverlaps[id]\n\n // Calculate the position of each event in current streak (determines the CSS left property).\n const overlapsRow = item.overlaps.map(id2 => ({ id: id2, start: _cellOverlaps[id2].start }))\n overlapsRow.push({ id, start: item.start })\n overlapsRow.sort((a, b) => a.start < b.start ? -1 : (a.start > b.start ? 1 : (a.id > b.id ? -1 : 1)))\n item.position = overlapsRow.findIndex(e => e.id === id)\n\n longestStreak = Math.max(this.getOverlapsStreak(item, _cellOverlaps), longestStreak)\n }\n\n // console.log([_cellOverlaps, longestStreak])\n\n return [_cellOverlaps, longestStreak]\n }\n\n /**\n * Overlaps streak is the longest horizontal set of simultaneous events.\n * This is determining the width of each events in this streak.\n * E.g. 3 overlapping events [1, 2, 3]; 1 overlaps 2 & 3; 2 & 3 don't overlap;\n * => streak = 2; each width = 50% not 33%.\n *\n * @param {Object} event The current event we are checking among all the events of the current cell.\n * @param {Object} cellOverlaps An indexed array of all the events overlaps for the current cell.\n * @return {Number} The number of simultaneous event for this event.\n */\n getOverlapsStreak (event, cellOverlaps = {}) {\n let streak = event.overlaps.length + 1\n let removeFromStreak = []\n event.overlaps.forEach(id => {\n if (!removeFromStreak.includes(id)) {\n const overlapsWithoutSelf = event.overlaps.filter(id2 => id2 !== id)\n overlapsWithoutSelf.forEach(id3 => {\n if (!cellOverlaps[id3].overlaps.includes(id)) removeFromStreak.push(id3)\n })\n }\n })\n\n removeFromStreak = [...new Set(removeFromStreak)] // Dedupe, most performant way.\n streak -= removeFromStreak.length\n return streak\n }\n\n /**\n * Tells whether an event is in a given date range, even partially.\n *\n * @param {Object} event The event to test.\n * @param {Date} start The start of range date object.\n * @param {Date} end The end of range date object.\n * @return {Boolean} true if in range, even partially.\n */\n eventInRange (event, start, end) {\n // Check if all-day or timeless event (if date but no time there won't be a `:` in event.start).\n if (event.allDay || !this._vuecal.time) {\n // Get the date and discard the time if any, then check it's within the date range.\n const startTimestamp = new Date(event.start).setHours(0, 0, 0, 0)\n const endTimestamp = new Date(event.end).setHours(23, 59, 0, 0)\n return (endTimestamp >= new Date(start).setHours(0, 0, 0, 0) &&\n startTimestamp <= new Date(end).setHours(0, 0, 0, 0))\n }\n\n const startTimestamp = event.start.getTime()\n const endTimestamp = event.end.getTime()\n return startTimestamp < end.getTime() && endTimestamp > start.getTime()\n }\n\n eventSameRange(event1, event2) {\n const isSameStart = event1.start.getTime() == event2.start.getTime()\n const isSameEnd = event1.end.getTime() == event2.end.getTime()\n return isSameStart && isSameEnd\n }\n}\n","
{{ split.label }}
","
","import { render } from \"./weekdays-headings.vue?vue&type=template&id=339102eb&lang=pug\"\nimport script from \"./weekdays-headings.vue?vue&type=script&lang=js\"\nexport * from \"./weekdays-headings.vue?vue&type=script&lang=js\"\n\nimport \"./weekdays-headings.vue?vue&type=style&index=0&id=339102eb&lang=scss\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./header.vue?vue&type=template&id=19ea4718&lang=pug\"\nimport script from \"./header.vue?vue&type=script&lang=js\"\nexport * from \"./header.vue?vue&type=script&lang=js\"\n\nimport \"./header.vue?vue&type=style&index=0&id=19ea4718&lang=scss\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","
{{ label }}
","
{{ cell.label }}\n
","
{{ vuecal.texts.deleteEvent }}
","import { render } from \"./event.vue?vue&type=template&id=22b11fb6&lang=pug\"\nimport script from \"./event.vue?vue&type=script&lang=js\"\nexport * from \"./event.vue?vue&type=script&lang=js\"\n\nimport \"./event.vue?vue&type=style&index=0&id=22b11fb6&lang=scss\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./cell.vue?vue&type=template&id=e1fa9802&lang=pug\"\nimport script from \"./cell.vue?vue&type=script&lang=js\"\nexport * from \"./cell.vue?vue&type=script&lang=js\"\n\nimport \"./cell.vue?vue&type=style&index=0&id=e1fa9802&lang=scss\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./all-day-bar.vue?vue&type=template&id=1fec77b5&lang=pug\"\nimport script from \"./all-day-bar.vue?vue&type=script&lang=js\"\nexport * from \"./all-day-bar.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./index.vue?vue&type=template&id=59399e28\"\nimport script from \"./index.vue?vue&type=script&lang=js\"\nexport * from \"./index.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { App } \t\tfrom 'vue'\nimport VueCal from './index.vue'\n\n\nexport default {\n\tinstall: (app: App) => {\n\n\t\tapp.component('Vue-cal', VueCal)\n\t}\n}","import { createApp } \tfrom 'vue'\nimport { IonicVue } \tfrom '@ionic/vue'\nimport { loadFonts } \tfrom './webfontloader'\nimport vuetify \t\t\tfrom './vuetify'\nimport { registerQuillUrlSanitizer } from './quill.util'\nimport loader \t\t\tfrom 'vue-loading-overlay'\nimport App \t\t\t\tfrom './App.vue'\n\nimport router \t\t\tfrom './router'\nimport store \t\t\tfrom '@/store'\nimport w \t\t\t\tfrom '@/plugins/w/w'\nimport axiosCustom from '@/plugins/w@custom/axios'\nimport tmStore \t\t\tfrom '@/plugins/tm@_store'\nimport vueCal \t\t\tfrom '@/plugins/app@vendor/vue-cal'\nimport { Options } \t\tfrom '@/plugins/w/w/types'\n\nimport '@ionic/vue/css/core.css'\nimport '@ionic/vue/css/normalize.css'\nimport '@ionic/vue/css/structure.css'\nimport '@ionic/vue/css/typography.css'\nimport '@ionic/vue/css/padding.css'\nimport '@ionic/vue/css/float-elements.css'\nimport '@ionic/vue/css/text-alignment.css'\nimport '@ionic/vue/css/text-transformation.css'\nimport '@ionic/vue/css/flex-utils.css'\nimport '@ionic/vue/css/display.css'\n\nimport '@/plugins/app/_theme/index.sass'\nimport 'vue-loading-overlay/dist/vue-loading.css'\nimport '@vuepic/vue-datepicker/dist/main.css'\n\nloadFonts()\nregisterQuillUrlSanitizer()\n\nconst options: Options = {\n\taxios: {\n\t\tdisabled: true\n\t},\n\ti18n: {\n\t\tlanguages: [\n\t\t\t{\n\t\t\t\ttitle: \"Slovenský\", flag: \"sk\", value: \"sk\"\n\t\t\t}\n\t\t],\n\t\tdefaultLanguage: 'sk'\n\t},\n\tmoxios: {\n\t\troutes: {\n\t\t\t// 'GET v1/auth/info': true,\n\t\t\t// 'POST v1/auth/forgot': true,\n\t\t\t// 'POST v1/auth/reset': true,\n\t\t\t// 'POST v1/auth/info': true,\n\t\t\t// 'POST v1/auth/invalidate': true,\n\t\t\t// 'POST v1/auth/login': true,\n\t\t\t// 'POST v1/auth/post': true,\n\n\t\t\t'GET v1/overview/teams': true,\n\t\t\t'GET v1/overview/tasks': true,\n\t\t\t// 'GET v1/search': true,\n\t\t}\n\t}\n}\n\nconst app = createApp(App)\n\t.use(router)\n\t.use(store)\n\t.use(axiosCustom)\n\t.use(w, options)\n\t.use(IonicVue)\n\t.use(vuetify)\n\t.use(vueCal)\n\t.use(tmStore)\n\t.use(loader, {\n\t\tcolor: '#6200EE'\n\t})\n\t.mount('#app')\n\n// @ts-expect-error\nexport const $t = app.$i18n.t\n","import { $t } from '@/plugins/app/_config/main'\n\nexport default {\n\tparseErrors(errors) {\n\t\t// @ts-expect-error\n\t\treturn Object.values(errors).map(error => $t(error?.$message)).join('. ')\n\t}\n}","export default {\n\tmethods: {\n\t\tcustomFilter(item, input) {\n\t\t\t// Replace accented characters with non-accented equivalents\n\t\t\tconst normalizedItem = item.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '');\n\t\t\tconst normalizedInput = input.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '');\n\t\t\t\n\t\t\t// Remove any character that is not a letter, number, or space from both the item and the input\n\t\t\tconst pattern = /[^a-zA-Z0-9 ]/g;\n\t\t\tconst cleanedItem = normalizedItem.replace(pattern, '');\n\t\t\tconst cleanedInput = normalizedInput.replace(pattern, '');\n\t\t\t\n\t\t\t// Check if the cleaned item starts with the cleaned input and return empty value for dropdown if present\n\t\t\treturn cleanedItem.toLowerCase().includes(cleanedInput.toLowerCase()) || item === '';\n\t\t}\n\t}\n}","import moment from 'moment'\n\nexport default {\n\tenrichEmployees(employees) {\n\t\treturn employees.map(employee => ({\n\t\t\t...employee, \n\t\t\t_fullName: `${ employee.name } ${ employee.surname }`,\n\t\t\t_initials: employee.name.charAt(0) + employee.surname.charAt(0)\n\t\t}))\n\t},\n\n\tformatDateTime(date) {\n\t\tmoment(date)\n\t\treturn moment(date).format('DD.MM.yyyy, HH:mm')\n\t},\n\n\tformatDateTimeForBackend(date) {\n\t\treturn moment(date).format('YYYY-MM-DD HH:mm:ss')\n\t},\n\n\tformatDate(date) {\n\t\treturn moment(date).format('DD.MM.yyyy')\n\t},\n\n\tisBefore(date, compareTo = null) {\n\t\treturn moment(date).isBefore(moment(compareTo))\n\t},\n\n\tisAfter(date, compareTo = moment()) {\n\t\treturn moment(date).isAfter(moment(compareTo))\n\t}\n}","var map = {\n\t\"./en.json\": 20790,\n\t\"./sk.json\": 71941\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 8973;","var map = {\n\t\"./ar.json\": [\n\t\t68568,\n\t\t8568\n\t],\n\t\"./bg.json\": [\n\t\t20684,\n\t\t684\n\t],\n\t\"./bn.json\": [\n\t\t61170,\n\t\t1170\n\t],\n\t\"./bs.json\": [\n\t\t41161,\n\t\t1161\n\t],\n\t\"./ca.json\": [\n\t\t40612,\n\t\t612\n\t],\n\t\"./cs.json\": [\n\t\t50213,\n\t\t213\n\t],\n\t\"./da.json\": [\n\t\t98542,\n\t\t8542\n\t],\n\t\"./de.json\": [\n\t\t4701,\n\t\t4701\n\t],\n\t\"./el.json\": [\n\t\t20453,\n\t\t453\n\t],\n\t\"./en.json\": [\n\t\t3320,\n\t\t3320\n\t],\n\t\"./es.json\": [\n\t\t60076,\n\t\t76\n\t],\n\t\"./et.json\": [\n\t\t44075,\n\t\t4075\n\t],\n\t\"./fa.json\": [\n\t\t69004,\n\t\t9004\n\t],\n\t\"./fr.json\": [\n\t\t60007,\n\t\t7\n\t],\n\t\"./he.json\": [\n\t\t23746,\n\t\t3746\n\t],\n\t\"./hr.json\": [\n\t\t92921,\n\t\t2921\n\t],\n\t\"./hu.json\": [\n\t\t75723,\n\t\t5723\n\t],\n\t\"./id.json\": [\n\t\t12502,\n\t\t2502\n\t],\n\t\"./is.json\": [\n\t\t13214,\n\t\t3214\n\t],\n\t\"./it.json\": [\n\t\t51380,\n\t\t1380\n\t],\n\t\"./ja.json\": [\n\t\t72484,\n\t\t2484\n\t],\n\t\"./ka.json\": [\n\t\t60285,\n\t\t285\n\t],\n\t\"./ko.json\": [\n\t\t79249,\n\t\t9249\n\t],\n\t\"./lt.json\": [\n\t\t42838,\n\t\t2838\n\t],\n\t\"./mn.json\": [\n\t\t6177,\n\t\t6177\n\t],\n\t\"./nl.json\": [\n\t\t99729,\n\t\t9729\n\t],\n\t\"./no.json\": [\n\t\t49409,\n\t\t9409\n\t],\n\t\"./pl.json\": [\n\t\t25409,\n\t\t5409\n\t],\n\t\"./pt-br.json\": [\n\t\t74529,\n\t\t4529\n\t],\n\t\"./ro.json\": [\n\t\t29715,\n\t\t9715\n\t],\n\t\"./ru.json\": [\n\t\t32113,\n\t\t2113\n\t],\n\t\"./sk.json\": [\n\t\t30229,\n\t\t229\n\t],\n\t\"./sl.json\": [\n\t\t28636,\n\t\t8636\n\t],\n\t\"./sq.json\": [\n\t\t204,\n\t\t204\n\t],\n\t\"./sr.json\": [\n\t\t55553,\n\t\t5553\n\t],\n\t\"./sv.json\": [\n\t\t75979,\n\t\t5979\n\t],\n\t\"./tr.json\": [\n\t\t5268,\n\t\t5268\n\t],\n\t\"./uk.json\": [\n\t\t14057,\n\t\t4057\n\t],\n\t\"./vi.json\": [\n\t\t88929,\n\t\t8929\n\t],\n\t\"./zh-cn.json\": [\n\t\t56730,\n\t\t6730\n\t],\n\t\"./zh-hk.json\": [\n\t\t30841,\n\t\t841\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__.t(id, 3 | 16);\n\t});\n}\nwebpackAsyncContext.keys = function() { return Object.keys(map); };\nwebpackAsyncContext.id = 66667;\nmodule.exports = webpackAsyncContext;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \".\" + {\"7\":\"7cef58a7\",\"76\":\"9977e9df\",\"188\":\"d74ce2b2\",\"204\":\"4dd3d03d\",\"213\":\"c9ed5252\",\"229\":\"b09f2145\",\"285\":\"6a0985b5\",\"453\":\"04d72c77\",\"612\":\"4ea201aa\",\"684\":\"017ebeb8\",\"841\":\"65cae984\",\"907\":\"bfa01f81\",\"924\":\"ddc3fd73\",\"1097\":\"88cdd882\",\"1161\":\"59a7c68b\",\"1170\":\"16217940\",\"1380\":\"fc40de11\",\"1466\":\"c5d34b19\",\"2113\":\"2a1bcdfa\",\"2484\":\"6def3002\",\"2502\":\"66addef9\",\"2612\":\"baba8cc8\",\"2838\":\"aa69ee5c\",\"2921\":\"b5aad8e9\",\"3214\":\"72d306e7\",\"3311\":\"bcab8a66\",\"3320\":\"fe7033d0\",\"3657\":\"e558064c\",\"3728\":\"3e558208\",\"3746\":\"09ee0424\",\"3862\":\"b079a5bd\",\"4057\":\"4b3b38fd\",\"4075\":\"2d83f71e\",\"4392\":\"fe4711b4\",\"4518\":\"8e2c3fa8\",\"4529\":\"6ff3334b\",\"4701\":\"e34c277a\",\"5268\":\"5d463fbd\",\"5409\":\"4ce439c3\",\"5553\":\"032fcbe7\",\"5723\":\"09853a5d\",\"5979\":\"385e1b41\",\"6177\":\"12db94aa\",\"6367\":\"babd4318\",\"6631\":\"836257dd\",\"6730\":\"61289e01\",\"7023\":\"0616282c\",\"7073\":\"c51785a0\",\"7343\":\"1e290ed5\",\"8024\":\"bb377405\",\"8138\":\"8372c355\",\"8520\":\"cb7009ea\",\"8542\":\"09badcc3\",\"8568\":\"7f0dfd32\",\"8636\":\"2a90cf11\",\"8731\":\"a28fea96\",\"8929\":\"ea6da50f\",\"8990\":\"6dd37151\",\"9004\":\"ffe04245\",\"9033\":\"727fb9e6\",\"9215\":\"17409451\",\"9249\":\"d2b0f88c\",\"9409\":\"339f5afb\",\"9715\":\"21ca1afa\",\"9729\":\"812aea5b\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + chunkId + \".\" + {\"188\":\"37c2c58b\",\"907\":\"fa9ddfdd\",\"2612\":\"f67d9d9c\",\"3862\":\"f5c9dd84\",\"4392\":\"01299cfb\",\"6631\":\"fc57b3c0\",\"7023\":\"c0c8bee7\",\"7073\":\"3978ef96\",\"8138\":\"90b016bc\",\"9033\":\"ace2e544\",\"9215\":\"03c22964\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"jandl:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t};\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","var createStylesheet = function(chunkId, fullhref, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tdocument.head.appendChild(linkTag);\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t4826: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"188\":1,\"907\":1,\"2612\":1,\"3862\":1,\"4392\":1,\"6631\":1,\"7023\":1,\"7073\":1,\"8138\":1,\"9033\":1,\"9215\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t4826: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkjandl\"] = self[\"webpackChunkjandl\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4998], function() { return __webpack_require__(77334); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["webpackEmptyAsyncContext","req","Promise","resolve","then","e","Error","code","keys","id","module","exports","map","webpackContext","webpackContextResolve","__webpack_require__","o","Object","async","loadFonts","webFontLoader","load","google","families","createVuetify","registerQuillUrlSanitizer","Link","Quill","PROTOCOL_WHITELIST","push","CustomLinkSanitizer","static","url","sanitizedUrl","super","sanitize","protocolWhitelist","hasWhitelistedProtocol","some","protocol","startsWith","_createVNode","_component_v_app","_component_v_main","_component_router_view","_component_Z_team_modal","ref","onUpdate","$options","_component_Z_delete_team_modal","_component_Z_task_modal","onOnSubtaskEdited","_component_Z_delete_task_modal","onOnSubtaskDeleted","_component_Z_delete_timeBlock_modal","_component_Z_delete_blocker_modal","onOnBlockerDeleted","_component_Z_delete_master_task_modal","onOnMastertaskDeleted","_component_Z_complete_task_modal","_component_Z_complete_master_task_modal","onMasterTaskEdited","_component_Z_task_add_time_modal","_component_Z_blocker_modal","_component_Z_master_task_modal","_component_Z_delete_team_member_modal","_component_Z_show_menu_modal","class","_createBlock","_component_v_dialog","$data","persistent","_component_v_card","_createElementVNode","_hoisted_1","name","_component_v_icon","onClick","icon","size","_component_v_card_actions","_component_v_btn","variant","disabled","mounted","window","addEventListener","this","handleKeyDown","methods","event","keyCode","visible","mixins","modalMixin","emits","data","team","isDeleting","closeModal","$axios","delete_auth","$emit","$store","commit","error","$toast","$parseError","__exports__","height","_component_W_loadable","content","_component_v_text_field","$errors","length","label","hint","parseErrors","_createElementBlock","_Fragment","employees","employee","index","key","_fullName","splice","_component_v_autocomplete","_ctx","items","clearable","atLeastOne","value","AutocompleteMixin","v$","useVuelidate","errorUtils","employeeSelect","computed","mapGetters","employeesOptions","selectedEmployeesIds","enrichedEmployees","filter","includes","validations","required","$nextTick","$reset","t","get_auth_data","_enrichTeam","$validate","put_auth","fullTeamResource","post_auth","tmUtils","watch","employeeId","find","$refs","autocomplete","search","project_code","subtask","_hoisted_2","timeblocks","timeblock","is_finished","formatDateTime","start","end","JSON","parse","stringify","deadline","_update","deleteTimeblockWithoutId","i","timesheets","timesheet","employee_name","$events","emit","message","d","_hoisted_3","_hoisted_4","_hoisted_7","_hoisted_8","onFocus","master_task_id","title","_component_Datepicker","Date","format","locale","placeholder","_deadline_time","type","employee_id","version","xmlns","width","viewBox","duration","substring","readonly","_hoisted_12","_hoisted_10","_component_A_timeblock","onUpdateTimeblock","val","onRemoveTimeblock","deletable","editable","_hoisted_11","date","starts_at_time","ends_at_time","_hoisted_13","_component_QuillEditor","description","theme","onInput","$event","srcElement","innerHTML","_component_Z_files_upload","files","onFilesUploaded","_hoisted_14","_master_task","_hoisted_15","_hoisted_16","src","require","alt","_hoisted_19","_component_Z_task_readonly_info","onCloseModal","onUpdateSubtask","_hoisted_20","multiple","accept","onChange","fileUpload","click","file","_component_v_chip","toFixed","indexOf","$props","props","Array","default","isSaving","Boolean","uploadedFiles","created","maxSize","oversizedFiles","remove","_component_v_row","_component_v_col","cols","_component_v_sheet","_hoisted_5","_hoisted_6","form","components","Datepicker","showModal","splittedStartsAtTime","split","splittedEndsAtTime","moment","hours","parseInt","minutes","toISOString","_mergeDeadlineTimeDate","isAfterDeadline","originalTimeblock","newTimeblock","getDeadline","mDate","mDeadline","Number","isAfter","master_task_deadline","timeParts","setHours","setMinutes","preventInputFocus","setFocusEvent","document","querySelectorAll","forEach","input","onInputFocus","onDateFocus","undefined","target","blur","selectedEmployees","mastertask","projectsOptions","pattern","normalizedInput","projectCodeSearch","normalize","replace","projects","project","normalizedProjectCode","toLowerCase","filteredProjects","slice","project_id","selectedProject","onEmployeeSelected","showAddEmployeeInput","onEmployeeDurationChanged","totalDuration","parseFloat","invalid","teams","_component_A_mastertask_name","color","_component_A_mastertask_status","isFinished","_component_A_task_deadline","_component_A_task_timeblocks","_component_Z_created_by","created_by","_component_A_task_assigned_employee","_employee","_component_A_task_planned_time","_component_A_task_remaining_time","spent_time","_component_A_task_spent_time","_component_A_task_description","master_task_description","_component_Z_files","style","backgroundColor","String","openMastertask","editMode","_initials","charAt","surname","time","timestamp","_hoisted_9","numeric","minValue","user","console","log","formatDate","_component_v_tooltip","text","location","activator","_mergeProps","deadlineTime","getMasterTaskDeadline","toast","useToast","detectOS","platform","navigator","macosPlatforms","windowsPlatforms","prepareHTMLDescription","os","match","replaceAll","getCopyFunction","mastertaskDescription","copiedIndices","preparedDescription","preparedMastertaskDescription","emptyMessage","file_size","isLoading","response","fetch","path","blob","FileSaver","ZFiles","AMastertaskName","AMastertaskStatus","ATaskTimeblocks","ZCreatedBy","ATaskAssignedEmployee","ATaskPlannedTime","ATaskSpentTime","ATaskRemainingTime","ATaskDescription","ATaskDeadline","VuetifyFixFocusMixin","requiredIf","openMenu","scrollIntoView","behavior","block","inline","popup","querySelector","isBottom","yDifference","clientHeight","top","innerHeight","updateDate","updateStartTime","updateEndTime","SelectsMixin","ZTaskReadonlyInfo","ATimeblock","ZFilesUpload","QuillEditor","employeeValidations","showDatePicker","selectedNewDate","on","splittedDeadline","_enrichTask","$forceUpdate","openDatepicker","updateTimeblock","removeTimeblock","savedSubtask","localStorage","getItem","parsedSubtask","setHTML","master_task","deleteTimeblock","$router","$route","employeesValid","_validateEmployees","timeblocksValid","_validateTimeblocks","getHTML","patch_auth_form","removeItem","subtaskCopy","subtasks","openDeleteTaskModal","showCompleteTaskModal","filesUploaded","updateSubtask","isError","_created_by","mastertasks","oldValue","handler","lastEmployee","deep","setItem","blocker","tempSubtask","tempMastertask","payload","datepicker","clearValue","_syncDatesTimes","splittedStart","splittedEnd","set","_component_v_select","team_id","_allEmployees","min","onKeyup","_component_A_mastertask_description","_component_A_tasks_table","_component_v_table","_employeeInitials","_employeeFullName","enrichedtasks","openTaskModal","_component_Z_status","status","_component_Z_deadline","_component_Z_team","_component_Z_planned_time","_component_Z_remaining_time","time_worked","_component_Z_spent_time","_component_Z_description","inheritedDescription","preparedInheritedDescription","isExceeded","enrichedEmployeesInTeam","enrichedEmployeesOutsideTeam","employeesOutsideOfTeam","em","ZDeadline","ZDescription","ZPlannedTime","ZRemainingTime","ZSpentTime","ZStatus","ZTeam","AMastertaskDescription","ATasksTable","enrichedSubtasks","quillEditorRequired","minLength","$each","closeBothModals","teamId","memberId","task","beforeUnmount","off","removeEmployee","removeMemberAlert","member","savedMastertask","parsedMastertask","toggleIsFinished","vuelidateValid","post_auth_data","openDeleteMasterTaskModal","addTask","onQuillEditorInput","isValid","getHours","getMinutes","toString","padStart","_component_v_card_text","_component_v_spacer","localData","createTask","onTaskCreated","createBlocker","onBlockerCreated","ZDeleteTeamModal","ZTeamModal","ZDeleteTaskModal","ZDeleteBlockerModal","ZTaskModal","ZMasterTaskModal","ZCompleteTaskModal","ZTaskAddTimeModal","ZBlockerModal","ZDeleteMasterTaskModal","ZDeleteTeamMemberModal","ZShowMenuModal","ZCompleteMasterTaskModal","ZDeleteTimeBlockModal","query","dispatch","_showModalsAfterInicialization","onTeamUpdate","onTaskDeleted","onBlockerDeleted","onTaskEdited","onMasterTaskDeleted","repeat","setTimeout","getters","render","createStore","state","mutations","actions","modules","routes","redirect","component","children","meta","requiresAuth","router","createRouter","history","createWebHashHistory","process","beforeEach","to","from","next","isLoggedIn","store","axios","config","catch","reject","_config","params","headers","Authorization","install","app","options","globalProperties","encodeGetParams","p","entries","kv","encodeURIComponent","join","strToRegex","s","re","Moxios","constructor","_redirectRequestToMock","bind","_mocks","mock","append","k","m","reUrl","matchMethod","mocked","method","fname","VUE_APP_PLATFORM","toUpperCase","c","origin","moxios","values","events","mitt","I18n","properties","instance","translated","availableLanguages","languages","defaultLanguage","language","languageKey","vendorI18n","createI18n","legacy","fallbackLocale","messages","_loadLocaleMessages","missing","_missingTranslation","postTranslation","_postTranslation","changeLanguage","flag","initCurrentLanguage","Preferences","currentLanguage","_addAxiosHeaders","global","locales","warn","matched","use","i18n","$w18n","IonContent","IonPage","IonLabel","IonBackButton","IonCheckbox","IonText","IonButton","IonItem","IonItemGroup","IonItemSliding","IonItemOption","IonItemOptions","IonToolbar","IonHeader","IonFooter","IonSlides","IonSlide","IonSpinner","IonRow","IonCol","IonGrid","IonInput","IonButtons","IonIcon","IonImg","IonList","IonSkeletonText","IonTitle","IonMenu","IonSplitPane","IonMenuButton","IonRouterOutlet","IonSegment","IonSegmentButton","IonVirtualScroll","IonTextarea","IonSearchbar","IonRefresherContent","IonRefresher","IonInfiniteScrollContent","IonInfiniteScroll","IonAvatar","IonThumbnail","IonModal","IonRadioGroup","IonRadio","IonNote","IonCard","IonCardContent","IonTabBar","IonTabButton","IonMenuToggle","IonFab","IonFabButton","IonFabList","IonReorderGroup","IonReorder","IonSelect","IonSelectOption","IonToggle","IonBadge","IonChip","IonTabs","_unauthorised","namespaced","token","auth_success","auth_error","logout","open","login","credentials","signup","finally","forgotPassword","resetPassword","updateUserInfo","registerModule","auth","VueToast","_renderSlot","loader","_startLoading","_stopLoading","WLoadable","ionic","loadable","parseAndTranslate","errorsArray","_parseToArrayOfStrings","$t","statusText","toastUtils","_objectToFormData","formData","transformRequest","_buildFormData","parentKey","File","FormData","unscheduledSubtasks","ongoingSubtasks","initialized","set_mastertasks","set_employees","set_teams","set_projects","set_unscheduled_subtasks","set_ongoing_subtasks","update_team","save_team","delete_team","update_subtask","st","delete_subtask","initialize","all","reloadSubtasks","reloadMastertasks","loadMastertasks","loadEmployees","loadTeams","loadProjects","loadUnscheduledSubtasks","loadOngoingSubtasks","sort","a","b","isInitialized","tmStore","grow","row","column","_hoisted_27","lang","_component_vuecal_header","views","weekDaysInHeader","heading","view","_Transition","appear","_component_all_day_bar","titleEditable","contenteditable","onBlur","vuecal__flex","allDay","cell","week","wrap","_component_weekdays_headings","unscheduledTime","el","_component_vuecal_cell","selectCell","goNarrower","_hoisted_18","noEvent","_hoisted_22","formatTime","endTimeMinutes","daysCount","segments","formattedDate","isFirstDay","_hoisted_24","day","_hoisted_26","now","todayDate","todayF","self","_dateObject","_timeObject","DateUtils","texts","noPrototypes","_texts","prototype","addDays","_initDatePrototypes","days","subtractDays","addHours","subtractHours","addMinutes","subtractMinutes","getWeek","isToday","isLeapYear","removePrototypes","updateTexts","_todayFormatted","getDate","getFullYear","getMonth","valueOf","setDate","UTC","dayNum","getUTCDay","setUTCDate","getUTCDate","yearStart","getUTCFullYear","Math","ceil","year","getPreviousFirstDayOfWeek","weekStartsOnSunday","prevFirstDayOfWeek","dayModifier","getDay","stringToDate","countDays","timezoneDiffMs","getTimezoneOffset","datesInSameTimeStep","date1","date2","timeStep","abs","getTime","formatDateLite","dateObj","YYYY","_hydrateDateObject","YY","M","MM","MMM","MMMM","MMMMG","D","DD","S","dd","ddd","dddd","HH","_hydrateTimeObject","H","hh","h","am","AM","mm","contents","result","round","shouldRound","getSeconds","formatTimeLite","timeObj","formatted","_nth","dayNumber","months","monthsGenitive","weekDays","substr","floor","pm","minutesInADay","CellUtils","vuecal","force","_vuecal","clickToNavigate","switchToNarrowerView","dblclickToNavigate","domEvents","dblTapACell","taps","timeout","left","cellsEl","getBoundingClientRect","clientX","clientY","touches","x","y","cursorCoords","timeCellHeight","timeFrom","getPosition","max","defaultEventDuration","ud","_cellOverlaps","_comparisonArray","EventUtils","dateUtils","_eid","startTimeMinutes","background","deleting","resizable","resizing","draggable","dragging","draggingStatic","focused","createAnEvent","dateTime","eventOptions","dateToMinutes","eventDefaults","_","uid","eventIdIncrement","onEventCreate","deleteAnEvent","startDateF","endDateF","mutableEvents","addEventsToView","emitWithEvent","cleanupEvent","originalEvent","addEventSegment","isLastDay","previousSegment","removeEventSegment","segmentsCount","createEventSegments","viewStartDate","viewEndDate","viewStartTimestamp","viewEndTimestamp","eventStartAtMidnight","eventStart","eventEnd","repeatedEventStartFound","until","createSegment","nextMidnight","tmpDate","tmpDateFormatted","occurrences","checkCellOverlappingEvents","cellEvents","shift","overlaps","position","sameOverlaps","e2","eventIsInRange","eventInRange","eventSameOverlap","eventSameRange","eventsInSameTimeStep","overlapsPerTimeStep","pos1","pos2","Set","longestStreak","item","overlapsRow","id2","findIndex","getOverlapsStreak","cellOverlaps","streak","removeFromStreak","overlapsWithoutSelf","id3","startTimestamp","endTimestamp","event1","event2","isSameStart","isSameEnd","role","hideViewSelector","_createCommentVNode","_renderList","v","enabled","_normalizeClass","highlightedControl","onDragenter","drag","viewSelectorDragEnter","onDragleave","viewSelectorDragLeave","hideTitleBar","transitions","_resolveDynamicComponent","startDate","todayButton","_createSlots","$slots","fn","_createTextVNode","hide","today","clickable","toLocaleDateString","_normalizeStyle","onDblclick","dayOfMonth","full","small","xsmall","hasSplits","stickySplitLabels","daySplits","inject","transitionDirection","Function","DOMEvent","selectedDate","utils","cleanupHeading","initials","onTimelineScroll","viewPortOffset","headings","todayFound","startWeekOnSunday","short","cellWidth","reduce","total","weekdayCellStyles","hideWeekdays","cellHeadingsClickable","WeekdaysHeadings","editEvents","viewProps","goToToday","updateSelectedDate","switchToBroaderView","broaderView","switchView","get","direction","enabledViews","showDaySplits","minSplitWidth","dnd","isWeekView","isMonthView","minTimestamp","maxTimestamp","_TransitionGroup","tag","tabindex","onKeypress","_withKeys","onTouchstart","onMousedown","onContextmenu","cellContextmenu","cellDragEnter","onDragover","cellDragOver","cellDragLeave","onDrop","cellDragDrop","showTimeInCells","timeCells","eventsOnMonthView","j","_component_event","allOverlaps","overlapsStreak","cellOverlapsStreak","eventId","onMouseenter","onMouseleave","_withModifiers","onMouseup","onTouchend","onTouchmove","onDragstart","onDragend","delete","deleteEvent","cellFormattedDate","eventPosition","touch","dragThreshold","startX","startY","dragged","onMouseDown","clickHoldAnEvent","focusAnEvent","resizeAnEvent","dragAnEvent","focusEvent","timeoutId","onMouseUp","mousedUp","onMouseEnter","preventDefault","onMouseLeave","onTouchMove","onEventClick","onTouchStart","onEnterKeypress","onDblClick","onEventDblclick","onDragStart","eventDragStart","onDragEnd","eventDragEnd","onResizeHandleMouseDown","assign","segment","originalEnd","originalEndTimeMinutes","touchDeleteEvent","cancelDeleteEvent","focusedEvent","cancelDelete","eventDimensions","minutesFromTop","timeTo","bottom","eventStyles","zIdnex","master_task_color","isArray","sameOverlapsLength","parentNotSameOverlaps","minEventWidth","eventClasses","is_blocker","resize","Event","cellSplits","timeAtCursor","highlighted","highlightedSplit","getSplitAtCursor","targetIsSplit","classList","contains","findAncestor","attributes","splitClasses","isWeekend","eventsCount","splitsCount","isDOMElementAnEvent","onCellkeyPressEnter","isSelected","onCellFocus","keyPressEnterCell","isDisabled","onCellMouseDown","clickHoldACell","cancelClickEventCreation","eventCreated","minutesAtCursor","mouseDownOnEvent","create","setUpEventCreation","startCursorY","dragToCreateEvent","dragCreateAnEvent","snapToTime","timeMinutes","plusHalfSnapTime","cellClickHold","setUpCellHoldTimer","cellId","onCellTouchStart","onCellClick","offsetY","dateFrom","dateTo","isTeamCalendar","onCellDblClick","onCellContextMenu","stopPropagation","nowInMinutes","isBeforeMinDate","endDate","isAfterMaxDate","disableDays","isYearsOrYearView","selected","isWeekOrDayView","specialHours","timeScale","cellStart","cellEnd","eventsCountOnYearView","outOfScopeEvents","showAllDayEvents","singleDayInRange","multipleDayInRange","recurrMultDayInRange","splits","cellClasses","current","outOfScope","cellStyles","timelineVisible","todaysTimePosition","Cell","cells","shortEvents","cellOrSplitMinWidth","hasCellOrSplitWidth","minCellWidth","textsDefaults","fill","weekDaysShort","years","month","createEvent","dateFormat","validViews","Header","AllDayBar","provide","previous","activeView","scrollToHour","allDayBarHeight","disableDatePrototypes","disableViews","dragToCreateThreshold","editableEvents","hideBody","hideWeekends","maxDate","minDate","resizeX","showWeekNumbers","splitDays","timeFormat","twelveHour","watchRealTime","ready","firstCellDate","lastCellDate","timeTickerIds","startCell","endCell","loadDragAndDrop","DragAndDrop","validateView","fromViewSelector","viewDateBeforeChange","oldView","setSeconds","daysToAdd","daysToSubtract","weekDaysCount","viewDate","scrollTop","previousNext","modifier","viewId","weekDay","weekDayIndex","isDayHidden","daysWithIndex","dayToShow","daysFromDate","reverse","ue","filteredEvents","Class","parentElement","onMouseMove","eventResizing","eventDragCreation","isClickHoldingEvent","wasResizing","hasResized","dragCreatedEvent","dragCreateStarted","mouseUpOnEvent","eventClicked","mutableEvent","cleanEvent","oldDate","unfocusEvent","clearTimeout","eventClickHandler","onKeyUp","newEndTimeMins","offsetWidth","childElementCount","newEnd","newDaysCount","lastSegmentFormattedDate","dragFromBottom","onEventTitleBlur","oldTitle","updateMutableEvents","multipleDays","discardProps","prop","eventName","getWeekNumber","weekFromFirstCell","firstCellWeekNumber","firstCellDateWeekNumber","currentWeekNumber","timeTick","updateDateTexts","alignWithScrollbar","cellOrSplitHasEvents","loadLocale","currentView","hasTouch","hasEventClickHandler","passive","oncontextmenu","viewportTimelineOffset","removeEventListener","hasTimeColumn","isShortMonthView","TimeFormat","hasShortEvents","minWidth","visibleDaysCount","allDayBar","isNaN","viewCells","unshift","pop","specialDayHours","viewTitle","lastDayOfWeek","y1","m1","formattedMonthYear","y2","m2","fromYear","apply","firstDayOfWeek","dayOfWeek","isDayView","cssClasses","isYearsView","isYearView","oldEvents","newVal","VueCal","createApp","App","axiosCustom","w","IonicVue","vuetify","vueCal","mount","$i18n","errors","$message","customFilter","normalizedItem","cleanedItem","cleanedInput","enrichEmployees","formatDateTimeForBackend","isBefore","compareTo","webpackAsyncContext","ids","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","call","deferred","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","every","r","n","getter","__esModule","leafPrototypes","getProto","getPrototypeOf","obj","__proto__","mode","ns","def","getOwnPropertyNames","definition","defineProperty","enumerable","f","chunkId","promises","u","miniCssF","g","globalThis","hasOwnProperty","inProgress","dataWebpackPrefix","l","done","script","needAttach","scripts","getElementsByTagName","getAttribute","createElement","charset","nc","setAttribute","onScriptComplete","prev","onerror","onload","doneFns","parentNode","removeChild","head","appendChild","Symbol","toStringTag","nmd","paths","createStylesheet","fullhref","linkTag","rel","onLinkComplete","errorType","realHref","href","err","request","findStylesheet","existingLinkTags","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","promise","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/app/dist/js/index.e846eac1.js b/app/dist/js/index.e846eac1.js new file mode 100644 index 0000000..6a2d563 --- /dev/null +++ b/app/dist/js/index.e846eac1.js @@ -0,0 +1,2 @@ +(function(){var e={41993:function(e){function t(e){return Promise.resolve().then((function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}))}t.keys=function(){return[]},t.resolve=t,t.id=41993,e.exports=t},46700:function(e,t,s){var a={"./af":63906,"./af.js":63906,"./ar":40902,"./ar-dz":3853,"./ar-dz.js":3853,"./ar-kw":20299,"./ar-kw.js":20299,"./ar-ly":96825,"./ar-ly.js":96825,"./ar-ma":66379,"./ar-ma.js":66379,"./ar-sa":87700,"./ar-sa.js":87700,"./ar-tn":2059,"./ar-tn.js":2059,"./ar.js":40902,"./az":76043,"./az.js":76043,"./be":7936,"./be.js":7936,"./bg":34078,"./bg.js":34078,"./bm":14014,"./bm.js":14014,"./bn":29554,"./bn-bd":17114,"./bn-bd.js":17114,"./bn.js":29554,"./bo":6529,"./bo.js":6529,"./br":65437,"./br.js":65437,"./bs":19647,"./bs.js":19647,"./ca":59951,"./ca.js":59951,"./cs":26113,"./cs.js":26113,"./cv":37965,"./cv.js":37965,"./cy":35858,"./cy.js":35858,"./da":33515,"./da.js":33515,"./de":62831,"./de-at":6263,"./de-at.js":6263,"./de-ch":51127,"./de-ch.js":51127,"./de.js":62831,"./dv":4510,"./dv.js":4510,"./el":68616,"./el.js":68616,"./en-au":24595,"./en-au.js":24595,"./en-ca":73545,"./en-ca.js":73545,"./en-gb":79609,"./en-gb.js":79609,"./en-ie":43727,"./en-ie.js":43727,"./en-il":93302,"./en-il.js":93302,"./en-in":46305,"./en-in.js":46305,"./en-nz":39128,"./en-nz.js":39128,"./en-sg":84569,"./en-sg.js":84569,"./eo":50650,"./eo.js":50650,"./es":26358,"./es-do":64214,"./es-do.js":64214,"./es-mx":38639,"./es-mx.js":38639,"./es-us":30232,"./es-us.js":30232,"./es.js":26358,"./et":47279,"./et.js":47279,"./eu":15515,"./eu.js":15515,"./fa":27981,"./fa.js":27981,"./fi":37090,"./fi.js":37090,"./fil":79208,"./fil.js":79208,"./fo":2799,"./fo.js":2799,"./fr":23463,"./fr-ca":2213,"./fr-ca.js":2213,"./fr-ch":52848,"./fr-ch.js":52848,"./fr.js":23463,"./fy":41468,"./fy.js":41468,"./ga":88163,"./ga.js":88163,"./gd":2898,"./gd.js":2898,"./gl":76312,"./gl.js":76312,"./gom-deva":20682,"./gom-deva.js":20682,"./gom-latn":49178,"./gom-latn.js":49178,"./gu":31400,"./gu.js":31400,"./he":52795,"./he.js":52795,"./hi":17009,"./hi.js":17009,"./hr":46506,"./hr.js":46506,"./hu":69565,"./hu.js":69565,"./hy-am":93864,"./hy-am.js":93864,"./id":5626,"./id.js":5626,"./is":36649,"./is.js":36649,"./it":90151,"./it-ch":95348,"./it-ch.js":95348,"./it.js":90151,"./ja":79830,"./ja.js":79830,"./jv":33751,"./jv.js":33751,"./ka":63365,"./ka.js":63365,"./kk":85980,"./kk.js":85980,"./km":99571,"./km.js":99571,"./kn":25880,"./kn.js":25880,"./ko":16809,"./ko.js":16809,"./ku":96773,"./ku.js":96773,"./ky":65505,"./ky.js":65505,"./lb":50553,"./lb.js":50553,"./lo":51237,"./lo.js":51237,"./lt":91563,"./lt.js":91563,"./lv":61057,"./lv.js":61057,"./me":96495,"./me.js":96495,"./mi":83096,"./mi.js":83096,"./mk":43874,"./mk.js":43874,"./ml":46055,"./ml.js":46055,"./mn":87747,"./mn.js":87747,"./mr":17113,"./mr.js":17113,"./ms":8687,"./ms-my":7948,"./ms-my.js":7948,"./ms.js":8687,"./mt":14532,"./mt.js":14532,"./my":4655,"./my.js":4655,"./nb":56961,"./nb.js":56961,"./ne":2512,"./ne.js":2512,"./nl":48448,"./nl-be":72936,"./nl-be.js":72936,"./nl.js":48448,"./nn":49031,"./nn.js":49031,"./oc-lnc":5174,"./oc-lnc.js":5174,"./pa-in":30118,"./pa-in.js":30118,"./pl":93448,"./pl.js":93448,"./pt":33518,"./pt-br":62447,"./pt-br.js":62447,"./pt.js":33518,"./ro":70817,"./ro.js":70817,"./ru":10262,"./ru.js":10262,"./sd":58990,"./sd.js":58990,"./se":43842,"./se.js":43842,"./si":37711,"./si.js":37711,"./sk":80756,"./sk.js":80756,"./sl":3772,"./sl.js":3772,"./sq":6187,"./sq.js":6187,"./sr":40732,"./sr-cyrl":75713,"./sr-cyrl.js":75713,"./sr.js":40732,"./ss":99455,"./ss.js":99455,"./sv":69770,"./sv.js":69770,"./sw":80959,"./sw.js":80959,"./ta":36459,"./ta.js":36459,"./te":25302,"./te.js":25302,"./tet":67975,"./tet.js":67975,"./tg":71294,"./tg.js":71294,"./th":2385,"./th.js":2385,"./tk":24613,"./tk.js":24613,"./tl-ph":58668,"./tl-ph.js":58668,"./tlh":58190,"./tlh.js":58190,"./tr":74506,"./tr.js":74506,"./tzl":63440,"./tzl.js":63440,"./tzm":69852,"./tzm-latn":42350,"./tzm-latn.js":42350,"./tzm.js":69852,"./ug-cn":70730,"./ug-cn.js":70730,"./uk":40099,"./uk.js":40099,"./ur":72100,"./ur.js":72100,"./uz":96002,"./uz-latn":26322,"./uz-latn.js":26322,"./uz.js":96002,"./vi":14207,"./vi.js":14207,"./x-pseudo":24674,"./x-pseudo.js":24674,"./yo":10570,"./yo.js":10570,"./zh-cn":73644,"./zh-cn.js":73644,"./zh-hk":22591,"./zh-hk.js":22591,"./zh-mo":89503,"./zh-mo.js":89503,"./zh-tw":88080,"./zh-tw.js":88080};function i(e){var t=l(e);return s(t)}function l(e){if(!s.o(a,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return a[e]}i.keys=function(){return Object.keys(a)},i.resolve=l,e.exports=i,i.id=46700},8483:function(e,t,s){"use strict";s.d(t,{$t:function(){return Tr}});var a=s(49242),i=s(74973);async function l(){const e=await s.e(3657).then(s.t.bind(s,33657,23));e.load({google:{families:["Roboto:100,300,400,500,700,900&display=swap"]}})}var n=s(38685),o=(s(29773),(0,n.Rd)()),r=(s(57658),s(96149));function d(){const e=r.CX["import"]("formats/link");e.PROTOCOL_WHITELIST.push("smb","fmp","radar","rdar","sms","\\");class t extends e{static sanitize(t){const s=super.sanitize(t);if(!s||"about:blank"===s)return s;const a=e.PROTOCOL_WHITELIST,i=a.some((e=>s.startsWith(e)));return i?s:`https://${s}`}}r.CX.register("formats/link",t,!0)}var u=s(73752),c=s.n(u),m=s(73396),h=s(97718),p=s(29271);function v(e,t,s,a,i,l){const n=(0,m.up)("router-view"),o=(0,m.up)("Z-team-modal"),r=(0,m.up)("Z-delete-team-modal"),d=(0,m.up)("Z-task-modal"),u=(0,m.up)("Z-delete-task-modal"),c=(0,m.up)("Z-delete-timeBlock-modal"),v=(0,m.up)("Z-delete-blocker-modal"),k=(0,m.up)("Z-delete-master-task-modal"),f=(0,m.up)("Z-complete-task-modal"),g=(0,m.up)("Z-complete-master-task-modal"),_=(0,m.up)("Z-task-add-time-modal"),b=(0,m.up)("Z-blocker-modal"),w=(0,m.up)("Z-master-task-modal"),y=(0,m.up)("Z-delete-team-member-modal"),D=(0,m.up)("Z-show-menu-modal"),M=(0,m.up)("Z-unable-to-edit-office-task-modal");return(0,m.wg)(),(0,m.iD)(m.HY,null,[(0,m.Wm)(h.q,null,{default:(0,m.w5)((()=>[(0,m.Wm)(p.O,null,{default:(0,m.w5)((()=>[(0,m.Wm)(n)])),_:1})])),_:1}),(0,m.Wm)(o,{ref:"z-team-modal",onUpdate:l.onTeamUpdate},null,8,["onUpdate"]),(0,m.Wm)(r,{ref:"z-delete-team-modal",onUpdate:l.onTeamUpdate},null,8,["onUpdate"]),(0,m.Wm)(d,{ref:"z-task-modal",onOnSubtaskEdited:l.onTaskEdited},null,8,["onOnSubtaskEdited"]),(0,m.Wm)(u,{ref:"z-delete-task-modal",onOnSubtaskDeleted:l.onTaskDeleted},null,8,["onOnSubtaskDeleted"]),(0,m.Wm)(c,{ref:"z-delete-timeblock-modal",onOnSubtaskEdited:l.onTaskEdited},null,8,["onOnSubtaskEdited"]),(0,m.Wm)(v,{ref:"z-delete-blocker-modal",onOnBlockerDeleted:l.onBlockerDeleted},null,8,["onOnBlockerDeleted"]),(0,m.Wm)(k,{ref:"z-delete-master-task-modal",onOnMastertaskDeleted:l.onMasterTaskDeleted},null,8,["onOnMastertaskDeleted"]),(0,m.Wm)(f,{ref:"z-complete-task-modal",onOnSubtaskEdited:l.onTaskEdited},null,8,["onOnSubtaskEdited"]),(0,m.Wm)(g,{ref:"z-complete-master-task-modal",onMasterTaskEdited:l.onMasterTaskEdited},null,8,["onMasterTaskEdited"]),(0,m.Wm)(_,{ref:"z-task-add-time-modal"},null,512),(0,m.Wm)(b,{ref:"z-blocker-modal"},null,512),(0,m.Wm)(w,{ref:"z-master-task-modal",onMasterTaskEdited:l.onMasterTaskEdited},null,8,["onMasterTaskEdited"]),(0,m.Wm)(y,{ref:"z-delete-team-member-modal"},null,512),(0,m.Wm)(D,{ref:"z-show-menu-modal"},null,512),(0,m.Wm)(M,{ref:"z-unable-to-edit-office-task-modal"},null,512)],64)}var k=s(87139),f=s(67312),g=s(75039),_=s(91334),b=s(33601),w=s(53289);const y={class:"d-flex justify-space-between align-center"};function D(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(b.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",y,[(0,m._)("h1",null,[(0,m.Uk)(" Ste si istý, že chcete zmazať tím "),(0,m._)("b",null,(0,k.zw)(l.team.name),1),(0,m.Uk)("? ")]),(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half",variant:"flat",onClick:t[1]||(t[1]=e=>n.deleteTeam()),disabled:l.isDeleting},{default:(0,m.w5)((()=>[(0,m.Uk)("ÁNO")])),_:1},8,["disabled"]),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[2]||(t[2]=(0,a.iM)((e=>n.closeModal()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ZRUŠIŤ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var M={mounted(){window.addEventListener("keydown",this.handleKeyDown)},methods:{handleKeyDown(e){27===e.keyCode&&(this.visible=!1)}}},T={mixins:[M],emits:["update"],data(){return{visible:!1,team:null,isDeleting:!1}},methods:{async showModal({team:e}){this.team=e,this.visible=!0},closeModal(){this.visible=!1},async deleteTeam(){if(!this.isDeleting){this.isDeleting=!0;try{await this.$axios.delete_auth(`v1/teams/${this.team.id}`),this.visible=!1,this.$emit("update",this.team),this.$store.commit("tm/delete_team",this.team)}catch(e){this.$toast.error(this.$parseError(e))}finally{this.isDeleting=!1}}}}},$=s(40089);const C=(0,$.Z)(T,[["render",D]]);var j=C,E=s(60988),x=s(45869);const W={class:"d-flex justify-space-between align-center modal-header"};function S(e,t,s,i,l,n){const o=(0,m.up)("W-loadable");return(0,m.wg)(),(0,m.j4)(b.B,{modelValue:l.visible,"onUpdate:modelValue":t[4]||(t[4]=e=>l.visible=e),"max-width":"750","max-height":"90%",height:"700px",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(o,{content:l.team,class:"h-100"},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,{height:"100%",class:"d-flex flex-column"},{default:(0,m.w5)((()=>[(0,m._)("div",W,[(0,m._)("h1",null,(0,k.zw)(l.team.id?"Upraviť tím":"Vytvoriť tím"),1),(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"d-flex flex-column modal-content"},{default:(0,m.w5)((()=>[(0,m.Wm)(x.hw,{class:(0,k.C_)(["modal-input",{error:l.v$.team.name.$errors.length}]),label:"Názov tímu",variant:"solo",hint:l.v$.team.name.$errors?l.errorUtils.parseErrors(l.v$.team.name.$errors):null,modelValue:l.team.name,"onUpdate:modelValue":t[1]||(t[1]=e=>l.team.name=e)},null,8,["class","hint","modelValue"]),((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(l.team.employees,((e,t)=>((0,m.wg)(),(0,m.iD)("div",{class:"relative w-100",key:e.id},[(0,m.Wm)(x.hw,{class:"modal-input",disabled:"",label:"Zamestanec",variant:"solo",modelValue:l.team.employees[t]._fullName,"onUpdate:modelValue":e=>l.team.employees[t]._fullName=e},null,8,["modelValue","onUpdate:modelValue"]),(0,m.Wm)(w.t,{class:"remove-input",onClick:(0,a.iM)((e=>l.team.employees.splice(t,1)),["stop"]),icon:"mdi-close",size:"small"},null,8,["onClick"])])))),128)),(0,m.Wm)(E.f,{"custom-filter":e.customFilter,"match-any":!0,modelValue:l.employeeSelect,"onUpdate:modelValue":t[2]||(t[2]=e=>l.employeeSelect=e),label:"Priradený",class:(0,k.C_)([{error:l.v$.team.employees.$errors.length},"modal-input"]),items:n.employeesOptions,"item-title":"_fullName","item-value":"id",variant:"solo",clearable:"",ref:"autocomplete"},null,8,["custom-filter","modelValue","class","items"])])),_:1}),(0,m.Wm)(f.T,{class:"button primary block",onClick:t[3]||(t[3]=e=>n.save())},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(l.team.id?"UPRAVIŤ":"VYTVORIŤ"),1)])),_:1})])),_:1})])),_:1},8,["content"])])),_:1},8,["modelValue"])}var O=s(33053),V=s(69117),z=s(7648),A=s(34407),U=s(20065),Z=s(83299);const H=e=>e.length;var I={mixins:[Z.Z,M],emits:["close","update"],data(){return{visible:!1,v$:(0,O.ZP)(),errorUtils:z.Z,employeeSelect:null,team:null}},computed:{...(0,U.Se)("tm",["enrichedEmployees"]),employeesOptions(){const e=this.team.employees.map((e=>e.id));return this.enrichedEmployees.filter((t=>!e.includes(t.id)))}},validations(){return{team:{name:{required:V.C1},employees:{atLeastOne:H}}}},methods:{async showModal({team:e=null}){this.visible=!0,this.team=null,this.$nextTick((()=>this.v$.$reset()));try{if(e?.id){const t=await this.$axios.get_auth_data(`v1/teams/${e.id}`);this.team=this._enrichTeam(t)}else this.team={employees:[]}}catch(t){this.$toast.error(this.$parseError(t))}},closeModal(){this.visible=!1,this.$emit("close",this.team)},async save(){if(await this.v$.$validate())try{if(this.team.id){const{team:e}=await this.$axios.put_auth(`v1/teams/${this.team.id}`,this.team),t=await this.$axios.get_auth_data(`v1/teams/${e.id}`);this.$store.commit("tm/update_team",t)}else{const{team:e}=await this.$axios.post_auth("v1/teams",this.team),t=await this.$axios.get_auth_data(`v1/teams/${e.id}`);this.$store.commit("tm/save_team",t)}this.closeModal()}catch(e){this.$toast.error(this.$parseError(e))}},_enrichTeam(e){return e.employees=A.Z.enrichEmployees(e.employees),e}},watch:{employeeSelect(e){if(!e)return;const t=this.enrichedEmployees.find((t=>t.id==e));this.team.employees.push(t),this.employeeSelect=null,this.$refs.autocomplete.search=""}}};const F=(0,$.Z)(I,[["render",S]]);var P=F;const L={class:"d-flex justify-space-between align-center"};function N(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(b.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",L,[(0,m._)("h1",null,[(0,m.Uk)("Ste si istý, že chcete zmazať sub task z mastertasku "),(0,m._)("b",null,(0,k.zw)(l.subtask.project_code),1),(0,m.Uk)("?")]),(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large",class:"mb-15"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half",variant:"flat",onClick:t[1]||(t[1]=e=>n.deleteTask()),disabled:l.isDeleting},{default:(0,m.w5)((()=>[(0,m.Uk)("ÁNO")])),_:1},8,["disabled"]),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[2]||(t[2]=(0,a.iM)((e=>n.closeModal()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ZRUŠIŤ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var Y={mixins:[M],emits:["on-subtask-deleted"],data(){return{visible:!1,subtask:null,isDeleting:!1}},methods:{async showModal({subtask:e}){this.subtask=e,this.visible=!0},closeModal(){this.visible=!1},async deleteTask(){if(!this.isDeleting){this.isDeleting=!0;try{await this.$axios.delete_auth(`v1/subtasks/${this.subtask.id}`),this.$store.commit("tm/delete_subtask",this.subtask),this.closeModal(),this.$emit("on-subtask-deleted",this.subtask)}catch(e){this.$toast.error(this.$parseError(e))}finally{this.isDeleting=!1}}}}};const q=(0,$.Z)(Y,[["render",N]]);var B=q;const R=e=>((0,m.dD)("data-v-4aa4bee3"),e=e(),(0,m.Cn)(),e),K={class:"d-flex justify-space-between align-center"},J=R((()=>(0,m._)("h4",{class:"mt-3"},"Vyberte časový úsek, ktorý chcete odstrániť",-1)));function X(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(b.B,{modelValue:l.visible,"onUpdate:modelValue":t[1]||(t[1]=e=>l.visible=e),"max-width":"500",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",K,[J,(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(l.subtask.timeblocks,((e,t)=>((0,m.wg)(),(0,m.iD)("div",{key:e.id,class:"d-flex align-center justify-center mb-3 mt-3"},[(0,m._)("p",{class:(0,k.C_)(["task-badge rounded-pill",{"strike-through":e.is_finished}])},(0,k.zw)(l.tmUtils.formatDateTime(e.start))+" - "+(0,k.zw)(l.tmUtils.formatDateTime(e.end)),3),(0,m.Wm)(w.t,{onClick:(0,a.iM)((s=>l.subtask.id?n.deleteTimeblock(e):n.deleteTimeblockWithoutId(t)),["stop"]),class:"close-icon circle-border cursor-pointer ml-3 text-red",icon:"mdi-close",size:"medium"},null,8,["onClick"])])))),128))])),_:1})])),_:1},8,["modelValue"])}var G={mixins:[M],emits:["on-subtask-edited"],data(){return{visible:!1,subtask:null,isDeleting:!1,tmUtils:A.Z}},methods:{async showModal({subtask:e}){this.subtask=e,this.visible=!0},closeModal(){this.visible=!1},async deleteTimeblock({id:e}){const t=JSON.parse(JSON.stringify(this.subtask));t.timeblocks=t.timeblocks.filter((t=>t.id!=e)),t.deadline&&(t.deadline=A.Z.formatDateTimeForBackend(t.deadline)),this._update(t)},deleteTimeblockWithoutId(e){this.$emit("delete-timeblock")},async _update(e){try{const t=e.timesheets.map((e=>(delete e.employee_name,e))),{subtask:s}=await this.$axios.put_auth(`v1/subtasks/${e.id}`,{...e,timesheets:t});this.closeModal(),this.$events.emit("on-subtask-edited",s)}catch(t){this.$toast.error(t.message||t)}}}};const Q=(0,$.Z)(G,[["render",X],["__scopeId","data-v-4aa4bee3"]]);var ee=Q;const te=e=>((0,m.dD)("data-v-2aaf3118"),e=e(),(0,m.Cn)(),e),se={class:"d-flex justify-space-between align-center modal-header"},ae={class:"splitted-inputs"},ie=te((()=>(0,m._)("path",{d:"M23.057 7.057l-16 16c-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0l16-16c0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0z"},null,-1))),le=te((()=>(0,m._)("path",{d:"M7.057 8.943l16 16c0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885l-16-16c-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885z"},null,-1))),ne=[ie,le],oe=["onClick"],re=te((()=>(0,m._)("path",{d:"M23.057 7.057l-16 16c-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0l16-16c0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0z"},null,-1))),de=te((()=>(0,m._)("path",{d:"M7.057 8.943l16 16c0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885l-16-16c-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885z"},null,-1))),ue=[re,de],ce={key:2,class:"timeblocks w-100"},me={class:"end-button w-100"},he={class:"splitted-time-inputs w-100"},pe={class:"w-100 modal-input"},ve={class:"d-flex justify-space-between align-center"},ke={class:"d-flex justify-space-between align-center modal-header border-bottom pb-4"},fe={class:"d-flex justify-start"},ge=["src"],_e=["src"],be={class:"w-100"},we={class:"d-flex justify-start align-center mt-8"};function ye(e,t,i,l,n,o){const r=(0,m.up)("Datepicker"),d=(0,m.up)("A-timeblock"),u=(0,m.up)("QuillEditor"),c=(0,m.up)("Z-files-upload"),h=(0,m.up)("Z-task-readonly-info"),p=(0,m.up)("W-loadable");return(0,m.wg)(),(0,m.j4)(b.B,{modelValue:n.visible,"onUpdate:modelValue":t[22]||(t[22]=e=>n.visible=e),"max-width":"750","max-height":"90%",height:"700px",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(p,{content:n.subtask,class:"h-100"},{default:(0,m.w5)((()=>[n.editMode?((0,m.wg)(),(0,m.j4)(g._,{key:0,height:"100%",class:"d-flex flex-column scrolling"},{default:(0,m.w5)((()=>[(0,m._)("div",se,[(0,m._)("h1",null,(0,k.zw)(n.subtask?.id?"Upraviť sub task":"Vytvoriť sub task"),1),(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>o.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"d-flex flex-column modal-content"},{default:(0,m.w5)((()=>[(0,m.Wm)(x.hw,{modelValue:n.subtask.project_code,"onUpdate:modelValue":t[1]||(t[1]=e=>n.subtask.project_code=e),label:"Kód projektu",value:n.subtask.project_code,onFocus:e.onInputFocus,class:"modal-input",variant:"solo",disabled:""},null,8,["modelValue","value","onFocus"]),(0,m.Wm)(E.f,{"custom-filter":e.customFilter,"match-any":!0,modelValue:n.subtask.master_task_id,"onUpdate:modelValue":t[2]||(t[2]=e=>n.subtask.master_task_id=e),label:"Master task",class:(0,k.C_)([{error:n.v$.subtask.master_task_id.$errors.length},"modal-input"]),items:e.mastertasks,"item-title":"name","item-value":"id",variant:"solo",clearable:""},null,8,["custom-filter","modelValue","class","items"]),(0,m.Wm)(x.hw,{modelValue:n.subtask.title,"onUpdate:modelValue":t[3]||(t[3]=e=>n.subtask.title=e),onFocus:e.onInputFocus,class:"modal-input",label:"Názov subtasku",variant:"solo"},null,8,["modelValue","onFocus"]),(0,m._)("div",ae,[(0,m._)("div",{onClick:t[5]||(t[5]=e=>o.openDatepicker("datepicker-01")),class:"datepicker-wrapper"},[(0,m.Wm)(r,{modelValue:n.subtask.deadline,"onUpdate:modelValue":t[4]||(t[4]=e=>n.subtask.deadline=e),onFocus:e.onDateFocus,ref:"datepicker-01","auto-apply":!0,"min-date":new Date,class:(0,k.C_)(["modal-input left datepicker-input",{error:n.v$.subtask.deadline.$errors?.length}]),format:"dd.MM.yyyy",locale:"sk","select-text":"Vybrať","cancel-text":"Zrušiť",placeholder:"Deadline",validations:n.v$.subtask.deadline},null,8,["modelValue","onFocus","min-date","class","validations"])]),(0,m.Wm)(x.hw,{class:(0,k.C_)(["modal-input right",{error:n.v$.subtask._deadline_time.$errors.length}]),variant:"solo",modelValue:n.subtask._deadline_time,"onUpdate:modelValue":t[6]||(t[6]=e=>n.subtask._deadline_time=e),label:"Čas","append-inner-icon":"mdi-clock-outline",type:"time",onFocus:e.onInputFocus,hint:n.v$.subtask._deadline_time.$errors?n.errorUtils.parseErrors(n.v$.subtask._deadline_time.$errors):null},null,8,["modelValue","onFocus","class","hint"])]),n.subtask.id?((0,m.wg)(),(0,m.iD)(m.HY,{key:0},[(0,m._)("div",{class:(0,k.C_)(["employee-wrapper",{"hide-arrow":n.subtask.employee_id}])},[n.subtask.employee_id?((0,m.wg)(),(0,m.iD)("svg",{key:0,version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 32 32",class:"dp__icon dp__clear_icon dp__input_icons","data-test":"clear-icon",onClick:t[7]||(t[7]=(0,a.iM)((e=>{n.subtask.employee_id=null,n.subtask.employee=null}),["prevent"]))},ne)):(0,m.kq)("",!0),(0,m.Wm)(E.f,{"custom-filter":e.customFilter,"match-any":!0,modelValue:n.subtask.employee_id,"onUpdate:modelValue":[t[8]||(t[8]=e=>n.subtask.employee_id=e),t[9]||(t[9]=e=>n.employeeValidations[0]?n.employeeValidations[0].employee=!1:null)],label:"Priradený",items:e.enrichedEmployees,"item-title":"_fullName","item-value":"id",variant:"solo",class:(0,k.C_)(["modal-input",{error:n.employeeValidations[0]?.employee}])},null,8,["custom-filter","modelValue","items","class"])],2),(0,m.Wm)(x.hw,{modelValue:n.subtask.duration,"onUpdate:modelValue":[t[10]||(t[10]=e=>n.subtask.duration=e),t[11]||(t[11]=e=>n.employeeValidations[0]?n.employeeValidations[0].duration=!1:null)],class:(0,k.C_)(["modal-input",{error:n.employeeValidations[0]?.duration}]),variant:"solo",type:"number",label:"Časový odhad","append-inner-icon":"mdi-clock-outline",onFocus:e.onInputFocus},null,8,["modelValue","class","onFocus"])],64)):((0,m.wg)(!0),(0,m.iD)(m.HY,{key:1},(0,m.Ko)(n.subtask.employees,((t,s)=>((0,m.wg)(),(0,m.iD)("div",{key:`employee-${s}`,class:(0,k.C_)(["splitted-inputs remove-employee",{"hide-arrow":t.id}])},[(0,m.Wm)(E.f,{"custom-filter":e.customFilter,"match-any":!0,modelValue:t.id,"onUpdate:modelValue":[e=>t.id=e,e=>n.employeeValidations[s]?n.employeeValidations[s].employee=!1:null],label:"Priradený",items:e.enrichedEmployees,"item-title":"_fullName","item-value":"id",variant:"solo",class:(0,k.C_)(["modal-input left",{error:n.employeeValidations[s]?.employee}])},null,8,["custom-filter","modelValue","onUpdate:modelValue","items","class"]),t.id?((0,m.wg)(),(0,m.iD)("svg",{key:0,version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 32 32",class:"dp__icon dp__clear_icon dp__input_icons","data-test":"clear-icon",onClick:(0,a.iM)((e=>t.id=null),["prevent"])},ue,8,oe)):(0,m.kq)("",!0),(0,m.Wm)(x.hw,{modelValue:t.duration,"onUpdate:modelValue":[e=>t.duration=e,e=>n.employeeValidations[s]?n.employeeValidations[s].duration=!1:null],class:(0,k.C_)(["modal-input right",{error:n.employeeValidations[s]?.duration}]),variant:"solo",type:"number",label:"Časový odhad","append-inner-icon":"mdi-clock-outline",onFocus:e.onInputFocus},null,8,["modelValue","onUpdate:modelValue","class","onFocus"])],2)))),128)),n.subtask.id?((0,m.wg)(!0),(0,m.iD)(m.HY,{key:3},(0,m.Ko)(n.subtask.timeblocks,((e,t)=>((0,m.wg)(),(0,m.iD)("div",{key:t,class:"timeblock w-100"},[(0,m.Wm)(r,{"model-value":e.start.substring(0,10),format:"dd.MM.yyyy",locale:"sk","select-text":"Vybrať","cancel-text":"Zrušiť",placeholder:"Dátum","auto-apply":!0,"enable-time-picker":!1,readonly:"",class:"mb-5 modal-input"},null,8,["model-value"]),(0,m._)("div",he,[(0,m.Wm)(x.hw,{value:e.start.substring(11,16),type:"time",variant:"solo","bg-color":"white",label:"Začiatok"},null,8,["value"]),(0,m.Wm)(x.hw,{value:e.end.substring(11,16),type:"time",variant:"solo","bg-color":"white",label:"Koniec"},null,8,["value"])])])))),128)):((0,m.wg)(),(0,m.iD)("div",ce,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.timeblocks,((e,t)=>((0,m.wg)(),(0,m.j4)(d,{key:t,onUpdateTimeblock:e=>o.updateTimeblock(e,t),onRemoveTimeblock:e=>o.removeTimeblock(t),timeblock:e,deletable:t>0,editable:"",ref_for:!0,ref:`timetable-${t}`},null,8,["onUpdateTimeblock","onRemoveTimeblock","timeblock","deletable"])))),128)),(0,m._)("div",me,[(0,m._)("button",{onClick:t[12]||(t[12]=e=>n.timeblocks.push({date:null,starts_at_time:null,ends_at_time:null}))},"Pridať časový blok")])])),(0,m._)("div",pe,[(0,m.Wm)(u,{ref:"description",modelValue:n.subtask.description,"onUpdate:modelValue":t[13]||(t[13]=e=>n.subtask.description=e),placeholder:"Popis",theme:"snow",class:"rich-text-editor",onInput:t[14]||(t[14]=e=>n.subtask.description=e.srcElement.innerHTML)},null,8,["modelValue"])]),(0,m.Wm)(c,{class:"mt-15 files",files:n.subtask.files,onFilesUploaded:o.filesUploaded,"is-saving":n.isSaving},null,8,["files","onFilesUploaded","is-saving"])])),_:1}),n.isSaving?((0,m.wg)(),(0,m.j4)(f.T,{key:1,class:"button primary disabled",disabled:""},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(e.$t("Ukladám...")),1)])),_:1})):((0,m.wg)(),(0,m.j4)(f.T,{key:0,class:"button primary",onClick:t[15]||(t[15]=e=>o.save())},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(n.subtask.id?"UPRAVIŤ":"VYTVORIŤ"),1)])),_:1}))])),_:1})):((0,m.wg)(),(0,m.j4)(g._,{key:1,height:"100%",class:"d-flex flex-column scrolling"},{default:(0,m.w5)((()=>[(0,m._)("div",ve,[(0,m._)("div",null,[(0,m._)("p",null,(0,k.zw)(n.subtask._master_task.project_code),1),(0,m._)("h1",null,(0,k.zw)(n.subtask._master_task.name),1)]),(0,m.Wm)(w.t,{onClick:t[16]||(t[16]=(0,a.iM)((e=>o.closeModal()),["stop"])),icon:"mdi-close",size:"large",class:"pb-5"})]),(0,m._)("div",ke,[(0,m._)("h1",null,(0,k.zw)(n.subtask.title),1),(0,m._)("div",fe,[(0,m._)("img",{class:"icon",src:s(60666),alt:"pencil-icon",onClick:t[17]||(t[17]=(0,a.iM)((e=>n.editMode=!n.editMode),["stop"]))},null,8,ge),(0,m._)("img",{class:"icon trash",src:s(27484),alt:"trash-icon",onClick:t[18]||(t[18]=(0,a.iM)((e=>o.openDeleteTaskModal(n.subtask)),["stop"]))},null,8,_e)])]),(0,m.Wm)(_.h,{class:"d-flex flex-column modal-content"},{default:(0,m.w5)((()=>[(0,m._)("div",be,[(0,m.Wm)(h,{subtask:n.subtask,onCloseModal:o.closeModal,onUpdateSubtask:o.updateSubtask},null,8,["subtask","onCloseModal","onUpdateSubtask"]),(0,m._)("div",we,[n.subtask.is_finished?((0,m.wg)(),(0,m.j4)(f.T,{key:1,class:"button secondary",onClick:t[20]||(t[20]=(0,a.iM)((e=>o.showCompleteTaskModal()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("Znovu otvoriť")])),_:1})):((0,m.wg)(),(0,m.j4)(f.T,{key:0,class:"done-btn",onClick:t[19]||(t[19]=(0,a.iM)((e=>o.showCompleteTaskModal()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("Dokončiť")])),_:1})),(0,m.Wm)(f.T,{class:"button secondary",onClick:t[21]||(t[21]=e=>o.closeModal())},{default:(0,m.w5)((()=>[(0,m.Uk)("Uložiť zmeny")])),_:1})])])])),_:1})])),_:1}))])),_:1},8,["content"])])),_:1},8,["modelValue"])}var De=s(63972),Me=s(87103);const Te={class:"w-100 d-flex align-center"},$e={key:0,class:"m-2 d-flex align-center flex-wrap"},Ce={key:0,class:"d-flex align-center"},je=["src"];function Ee(e,t,i,l,n,o){return(0,m.wg)(),(0,m.iD)("div",Te,[(0,m._)("input",{type:"file",multiple:"",name:"file",id:"fileInput",class:"hidden-input",accept:"*",onChange:t[0]||(t[0]=(...e)=>o.onChange&&o.onChange(...e)),ref:"fileUpload"},null,544),(0,m.Wm)(f.T,{class:"upload-btn",onClick:t[1]||(t[1]=t=>e.$refs.fileUpload.click())},{default:(0,m.w5)((()=>[(0,m.Wm)(w.t,{class:"mx-1",icon:"mdi-cloud-upload-outline"}),(0,m.Uk)("NAHRAŤ ")])),_:1}),n.uploadedFiles?((0,m.wg)(),(0,m.iD)("div",$e,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.uploadedFiles,(e=>((0,m.wg)(),(0,m.iD)("div",{key:e.name,class:"mx-2"},[(0,m.Wm)(Me.v,{class:"mt-2"},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(e.name)+" ",1),(0,m.Wm)(w.t,{class:"mx-1",icon:"mdi-paperclip"}),(0,m._)("p",null,(0,k.zw)((e.size/1048576).toFixed(2))+" MB",1),(0,m.Wm)(w.t,{size:"small",icon:"mdi-close",onClick:(0,a.iM)((t=>o.remove(n.uploadedFiles.indexOf(e))),["stop"])},null,8,["onClick"])])),_:2},1024)])))),128)),i.isSaving?((0,m.wg)(),(0,m.iD)("div",Ce,[i.isSaving?((0,m.wg)(),(0,m.iD)("img",{key:0,class:"gif-loader",src:s(14214),alt:"Loading..."},null,8,je)):(0,m.kq)("",!0)])):(0,m.kq)("",!0)])):(0,m.kq)("",!0)])}var xe={emit:["files-uploaded"],props:{files:{type:Array,default:()=>[]},isSaving:{type:Boolean,required:!1}},data(){return{uploadedFiles:[]}},created(){this.uploadedFiles=this.files},methods:{onChange(){const e=[...this.$refs.fileUpload.files],t=52428800,s=e.filter((e=>e.size>t));s.length>0?this.$toast.error("File is too large. Maximum file size is 50 MB."):(this.uploadedFiles=[...this.uploadedFiles,...e],this.$emit("files-uploaded",this.uploadedFiles),this.$refs.fileUpload.value="")},remove(e){this.uploadedFiles.splice(e,1)}}};const We=(0,$.Z)(xe,[["render",Ee],["__scopeId","data-v-a2a40214"]]);var Se=We,Oe=s(16824),Ve=s(68521),ze=s(74286);const Ae={class:"d-flex align-center"},Ue=(0,m._)("p",{class:"mx-3"},"Trvanie",-1),Ze={class:"d-flex align-center mb-3"},He=(0,m._)("p",{class:"task-badge rounded-pill"},"Pridať záznam",-1),Ie={class:"d-flex justify-space-between align-center"},Fe=(0,m._)("h1",null,"Pridať dátum",-1),Pe={class:"d-flex justify-space-between align-center"},Le={class:"text-red"},Ne=(0,m._)("br",null,null,-1),Ye={class:"text-black"};function qe(e,t,s,i,l,n){const o=(0,m.up)("Datepicker");return(0,m.wg)(),(0,m.iD)(m.HY,null,[(0,m.Wm)(Oe.o,{"no-gutters":""},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Ae,[(0,m.Wm)(w.t,{icon:"mdi-calendar-week",size:"large"}),Ue])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Ze,[(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=e=>l.showModal=!0),class:"add-date cursor-pointer mr-2",icon:"mdi-plus",size:"medium"}),He]),((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(s.timeblocks,((e,t)=>((0,m.wg)(),(0,m.iD)("div",{key:e.id,class:"d-flex align-center mb-3"},[(0,m.Wm)(w.t,{onClick:(0,a.iM)((a=>s.subtask.id?n.deleteTimeblock(e):n.deleteTimeblockWithoutId(t)),["stop"]),class:"circle-border cursor-pointer mr-2",icon:"mdi-minus",size:"medium"},null,8,["onClick"]),(0,m._)("p",{class:(0,k.C_)(["task-badge rounded-pill",{"strike-through":e.is_finished}])},(0,k.zw)(l.tmUtils.formatDateTime(e.start))+" - "+(0,k.zw)(l.tmUtils.formatDateTime(e.end)),3),(0,m.wy)((0,m.Wm)(w.t,{onClick:(0,a.iM)((t=>n.toggleTimeblockIsFinished(e)),["stop"]),class:(0,k.C_)(["circle-border cursor-pointer ml-2",{completed:e.is_finished}]),icon:"mdi-check",size:"medium"},null,8,["onClick","class"]),[[a.F8,s.subtask.id]])])))),128))])),_:1})])),_:1})])),_:1}),(0,m.Wm)(b.B,{"max-width":"750",modelValue:l.showModal,"onUpdate:modelValue":t[6]||(t[6]=e=>l.showModal=e),persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",Ie,[Fe,(0,m.Wm)(w.t,{onClick:t[1]||(t[1]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex flex-column modal-content"},{default:(0,m.w5)((()=>[(0,m.Wm)(o,{modelValue:l.form.date,"onUpdate:modelValue":t[2]||(t[2]=e=>l.form.date=e),format:"dd.MM.yyyy",locale:"sk","select-text":"Vybrať","cancel-text":"Zrušiť",placeholder:"Dátum","auto-apply":!0,"enable-time-picker":!1,class:(0,k.C_)(["mb-5 modal-input",{error:l.v$.form.date.$errors.length}])},null,8,["modelValue","class"]),(0,m.Wm)(x.hw,{modelValue:l.form.starts_at_time,"onUpdate:modelValue":t[3]||(t[3]=e=>l.form.starts_at_time=e),type:"time",variant:"solo","bg-color":"white",hint:l.v$.form.starts_at_time.$errors?l.errorUtils.parseErrors(l.v$.form.starts_at_time.$errors):null,class:(0,k.C_)([{error:l.v$.form.starts_at_time.$errors.length},"mb-1 modal-input"]),label:"Začiatok"},null,8,["modelValue","hint","class"]),(0,m.Wm)(x.hw,{modelValue:l.form.ends_at_time,"onUpdate:modelValue":t[4]||(t[4]=e=>l.form.ends_at_time=e),type:"time",variant:"solo","bg-color":"white",hint:l.v$.form.ends_at_time.$errors?l.errorUtils.parseErrors(l.v$.form.ends_at_time.$errors):null,class:(0,k.C_)([{error:l.v$.form.ends_at_time.$errors.length},"modal-input"]),label:"Koniec"},null,8,["modelValue","hint","class"])])),_:1}),(0,m.Wm)(f.T,{onClick:t[5]||(t[5]=e=>n.submit()),class:"button primary mt-5"},{default:(0,m.w5)((()=>[(0,m.Uk)("Potvrdiť")])),_:1})])),_:1})])),_:1},8,["modelValue"]),(0,m.Wm)(b.B,{modelValue:l.visible,"onUpdate:modelValue":t[10]||(t[10]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",Pe,[(0,m._)("h1",Le,[(0,m.Uk)("Ste si istý, že chcete pridať timeblock po deadline "),Ne,(0,m.Uk)(),(0,m._)("b",Ye,"z mastertasku "+(0,k.zw)(s.subtask?.project_code)+" ?",1)]),(0,m.Wm)(w.t,{onClick:t[7]||(t[7]=(0,a.iM)((e=>l.visible=!1),["stop"])),icon:"mdi-close",size:"large",class:"mb-15"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half",variant:"flat",onClick:t[8]||(t[8]=(0,a.iM)((e=>n.confirmSubmit()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ÁNO")])),_:1}),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[9]||(t[9]=(0,a.iM)((e=>l.visible=!1),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ZRUŠIŤ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])],64)}var Be=s(36797),Re=s.n(Be),Ke={mixins:[M],emits:["update-subtask"],components:{Datepicker:De.Z},props:{timeblocks:{type:Array,required:!0},subtask:{type:Object,required:!0}},data(){return{v$:(0,O.ZP)(),errorUtils:z.Z,tmUtils:A.Z,showModal:!1,visible:!1,form:{date:null,starts_at_time:"09:00",ends_at_time:"16:00"}}},validations(){return{form:{date:{required:V.C1},starts_at_time:{required:V.C1},ends_at_time:{required:V.C1}}}},computed:{...(0,U.Se)("tm",["mastertasks"])},methods:{async submit(){if(!await this.v$.$validate())return;const e=JSON.parse(JSON.stringify(this.subtask)),t=this.form.starts_at_time.split(":"),s=this.form.ends_at_time.split(":"),a=Re()(this.form.date).hours(parseInt(t[0])).minutes(parseInt(t[1])).toISOString(),i=Re()(this.form.date).hours(parseInt(s[0])).minutes(parseInt(s[1])).toISOString();e?.timeblocks||(e.timeblocks=[]),e?.timesheets||(e.timesheets=[]),e?.is_finished||(e.is_finished=0),e.timeblocks.push({end:A.Z.formatDateTimeForBackend(i),id:null,is_finished:0,start:A.Z.formatDateTimeForBackend(a)}),e.deadline&&(e.deadline=A.Z.formatDateTimeForBackend(this._mergeDeadlineTimeDate()));const l=this.isAfterDeadline();l?this.visible=!0:e.id?this._update(e):this.$emit("update-unfinished-subtask",e)},async confirmSubmit(){const e=JSON.parse(JSON.stringify(this.subtask)),t=this.form.starts_at_time.split(":"),s=this.form.ends_at_time.split(":"),a=Re()(this.form.date).hours(parseInt(t[0])).minutes(parseInt(t[1])).toISOString(),i=Re()(this.form.date).hours(parseInt(s[0])).minutes(parseInt(s[1])).toISOString();if(e?.timeblocks||(e.timeblocks=[]),e?.timesheets||(e.timesheets=[]),e?.is_finished||(e.is_finished=0),e.timeblocks.push({end:A.Z.formatDateTimeForBackend(i),id:null,is_finished:0,start:A.Z.formatDateTimeForBackend(a)}),e.deadline&&(e.deadline=A.Z.formatDateTimeForBackend(this._mergeDeadlineTimeDate())),!e.id)return this.$emit("update-unfinished-subtask",e),void this.closeModal();this.visible=!1,this._update(e)},async toggleTimeblockIsFinished(e){const t=JSON.parse(JSON.stringify(this.subtask)),s=JSON.parse(JSON.stringify(e));s.is_finished=1==s.is_finished?0:1;try{const{data:e}=await this.$axios.put_auth(`v1/timeblocks/${s.id}`,s);t.timeblocks=t.timeblocks.map((t=>t.id==e.id?e:t)),this.$events.emit("on-subtask-edited",t),this.$emit("update-subtask",t),s.is_finished&&this.$events.emit("show-task-add-time-modal",{subtask:t})}catch(a){this.$toast.error(a.message||a)}},async deleteTimeblock({id:e}){const t=JSON.parse(JSON.stringify(this.subtask));t.timeblocks=t.timeblocks.filter((t=>t.id!=e)),t.deadline&&(t.deadline=A.Z.formatDateTimeForBackend(this._mergeDeadlineTimeDate())),this._update(t)},deleteTimeblockWithoutId(e){this.$emit("delete-timeblock")},async _update(e){try{const t=e.timesheets.map((e=>(delete e.employee_name,e))),{subtask:s}=await this.$axios.put_auth(`v1/subtasks/${e.id}`,{...e,timesheets:t});this.closeModal(),this.$events.emit("on-subtask-edited",s)}catch(t){this.$toast.error(t.message||t)}},isAfterDeadline(){const e=this.getDeadline(this.subtask);if(!e)return;const t=Re()(this.form.date),s=Re()(e),[a,i]=this.form.ends_at_time.split(":").map(Number);return t.hours(a),t.minutes(i),t.isAfter(s)},getDeadline(e){return e?.deadline?e.deadline:e.master_task_deadline},_mergeDeadlineTimeDate(){const e=new Date(this.subtask.deadline),t=this.subtask._deadline_time.split(":");return e.setHours(parseInt(t[0])),e.setMinutes(parseInt(t[1])),e},closeModal(){this.form={date:null,starts_at_time:"09:00",ends_at_time:"16:00"},this.showModal=!1,this.$nextTick((()=>this.v$.$reset()))}}};const Je=(0,$.Z)(Ke,[["render",qe]]);var Xe=Je,Ge={data(){return{preventInputFocus:!1}},methods:{setFocusEvent(){document.querySelectorAll(".v-autocomplete input").forEach((e=>{e.addEventListener("focus",this.onInputFocus)}))},onDateFocus(e){void 0==e&&(this.preventInputFocus=!0)},onInputFocus(e){this.preventInputFocus&&(e.target.blur(),this.preventInputFocus=!1)}}},Qe={computed:{employeesOptions(){const e=[...this.mastertask.employees].map((e=>e.id));return this.enrichedEmployees.filter((t=>!e.includes(t.id)))||[]},projectsOptions(){const e=/[^a-zA-Z0-9 ]/g,t=this.projectCodeSearch?this.projectCodeSearch.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(e,""):"",s=this.projects.filter((s=>{const a=s.code.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(e,"");return a.toLowerCase().includes(t.toLowerCase())}));let a=s?.length?s.slice(0,10):this.projects.slice(0,10);if(!this.mastertask?.project_id)return a;const i=this.projects.find((e=>e.id==this.mastertask?.project_id));return a=a.filter((e=>e.id!=i.id)),[...a,i]}},methods:{onEmployeeSelected(e){const t=this.enrichedEmployees.find((t=>t.id==e));this.mastertask.employees.push(t),this.showAddEmployeeInput=!1},onEmployeeDurationChanged(){let e=0;this.mastertask.employees=this.mastertask.employees.map((t=>("string"==typeof t.duration?(e+=parseFloat(t.duration),t.duration=parseFloat(t.duration),t.invalid=!1):"number"==typeof t.duration&&(e+=t.duration,t.invalid=!1),t))),this.mastertask.duration=e}},watch:{"mastertask.team_id"(e){if(!e)return;const t=this.teams.find((t=>t.id==e));t&&(this.mastertask.team=JSON.parse(JSON.stringify(t)),this.mastertask.employees=[...this.mastertask.team.employees])}}},et=s(66154);function tt(e,t,s,a,i,l){const n=(0,m.up)("A-mastertask-name"),o=(0,m.up)("A-mastertask-status"),r=(0,m.up)("A-task-deadline"),d=(0,m.up)("A-task-timeblocks"),u=(0,m.up)("Z-created-by"),c=(0,m.up)("A-task-assigned-employee"),h=(0,m.up)("A-task-planned-time"),p=(0,m.up)("A-task-remaining-time"),v=(0,m.up)("A-task-spent-time"),k=(0,m.up)("A-task-description"),f=(0,m.up)("Z-files");return(0,m.wg)(),(0,m.iD)(m.HY,null,[(0,m.Wm)(n,{name:s.subtask._master_task.name,id:s.subtask.master_task_id,color:s.subtask._master_task.color,onCloseModal:t[0]||(t[0]=t=>e.$emit("close-modal"))},null,8,["name","id","color"]),(0,m.Wm)(o,{isFinished:s.subtask.is_finished},null,8,["isFinished"]),(0,m.Wm)(r,{subtask:s.subtask},null,8,["subtask"]),(0,m.Wm)(d,{timeblocks:s.subtask.timeblocks,subtask:s.subtask,onUpdateSubtask:t[1]||(t[1]=t=>e.$emit("update-subtask",t))},null,8,["timeblocks","subtask"]),(0,m.Wm)(u,{"employee-id":s.subtask.created_by},null,8,["employee-id"]),(0,m.Wm)(c,{employee:s.subtask._employee},null,8,["employee"]),(0,m.Wm)(h,{hours:s.subtask.duration},null,8,["hours"]),(0,m.Wm)(p,{hours:s.subtask.duration-s.subtask.spent_time},null,8,["hours"]),(0,m.Wm)(v,{hours:s.subtask.spent_time,subtask:s.subtask},null,8,["hours","subtask"]),(0,m.Wm)(k,{description:s.subtask.description,"mastertask-description":s.subtask.master_task_description},null,8,["description","mastertask-description"]),(0,m.Wm)(f,{files:s.subtask.files},null,8,["files"])],64)}const st={class:"d-flex align-center"},at=(0,m._)("p",{class:"mx-3"},"Mastertask",-1);function it(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",st,[(0,m.Wm)(w.t,{icon:"mdi-link",size:"large"}),at])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",{class:"task-badge px-4 py-2 rounded-pill hover",onClick:t[0]||(t[0]=e=>l.openMastertask()),style:(0,k.j5)({backgroundColor:s.color})},(0,k.zw)(s.name),5)])),_:1})])),_:1})])),_:1})}var lt={emits:["close-modal"],props:{name:{type:String,required:!0},id:{type:Number,required:!0},color:{type:String,required:!0}},methods:{openMastertask(){this.$emit("close-modal"),this.$events.emit("show-mastertask-modal",{mastertask:{id:this.id},editMode:!1})}}};const nt=(0,$.Z)(lt,[["render",it]]);var ot=nt;const rt={class:"d-flex align-center"},dt=(0,m._)("p",{class:"mx-3"},"Status",-1),ut={key:0,class:"status-badge px-4 py-2 rounded-pill"},ct={key:1,class:"status-badge px-4 py-2 rounded-pill"};function mt(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",rt,[(0,m.Wm)(w.t,{icon:"mdi-drag-vertical",size:"large"}),dt])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[s.isFinished?((0,m.wg)(),(0,m.iD)("p",ut,"Ukončený")):((0,m.wg)(),(0,m.iD)("p",ct,"Neukončený"))])),_:1})])),_:1})])),_:1})}var ht={props:{isFinished:{type:Number,default:()=>0}}};const pt=(0,$.Z)(ht,[["render",mt]]);var vt=pt;const kt={class:"d-flex align-center"},ft=(0,m._)("p",{class:"mx-3"},"Vytvoril",-1),gt={class:"employee-selected-avatar d-flex justify-center align-center"},_t={class:"ml-2"};function bt(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",kt,[(0,m.Wm)(w.t,{icon:"mdi-account-star-outline",size:"large"}),ft])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3 d-flex align-center"},{default:(0,m.w5)((()=>[(0,m._)("p",gt,(0,k.zw)(l.employee?l.employee._initials:"?"),1),(0,m._)("p",_t,(0,k.zw)(l.employee?l.employee._fullName:e.$t("Unasigned")),1)])),_:1})])),_:1})])),_:1})}var wt={props:{employeeId:{type:[Number],required:!1}},computed:{...(0,U.Se)("tm",["enrichedEmployees"]),employee(){return this.enrichedEmployees.find((e=>e.id==this.employeeId))}}};const yt=(0,$.Z)(wt,[["render",bt]]);var Dt=yt;const Mt={class:"d-flex align-center"},Tt=(0,m._)("p",{class:"mx-3"},"Priradený",-1),$t={class:"employee-selected-avatar d-flex justify-center align-center"},Ct=["innerHTML"];function jt(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Mt,[(0,m.Wm)(w.t,{icon:"mdi-account-outline",size:"large"}),Tt])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3 d-flex align-center"},{default:(0,m.w5)((()=>[(0,m._)("p",$t,(0,k.zw)(s.employee.name.charAt(0)+s.employee.surname.charAt(0)),1),(0,m._)("p",{class:"ml-2",innerHTML:`${s.employee.name} ${s.employee.surname}`},null,8,Ct)])),_:1})])),_:1})])),_:1})}var Et={props:{employee:{type:Object,required:!0}}};const xt=(0,$.Z)(Et,[["render",jt]]);var Wt=xt;const St={class:"d-flex align-center"},Ot=(0,m._)("p",{class:"mx-3"},"Naplánovaný čas",-1);function Vt(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",St,[(0,m.Wm)(w.t,{icon:"mdi-clock-time-three-outline",size:"large"}),Ot])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",null,(0,k.zw)(s.hours)+" h",1)])),_:1})])),_:1})])),_:1})}var zt={props:{hours:{type:Number,required:!0}}};const At=(0,$.Z)(zt,[["render",Vt]]);var Ut=At;const Zt=e=>((0,m.dD)("data-v-f216d188"),e=e(),(0,m.Cn)(),e),Ht={class:"d-flex align-center"},It=Zt((()=>(0,m._)("p",{class:"mx-3"},"Odpracovaný čas",-1))),Ft={class:"d-flex align-center mb-3"},Pt=Zt((()=>(0,m._)("p",{class:"task-badge rounded-pill"},"Pridať záznam",-1))),Lt={class:"d-flex align-center flex-start width-100"},Nt={class:"task-badge rounded-pill"},Yt={class:"ml-5"},qt={class:"d-flex justify-space-between align-center"},Bt=Zt((()=>(0,m._)("h1",null,"Pridať odpracovaný čas",-1)));function Rt(e,t,s,i,l,n){return(0,m.wg)(),(0,m.iD)(m.HY,null,[(0,m.Wm)(Oe.o,{"no-gutters":""},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Ht,[(0,m.Wm)(w.t,{icon:"mdi-clock-time-three-outline",size:"large"}),It])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",null,(0,k.zw)(s.hours)+" h",1)])),_:1}),(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Ft,[(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=e=>l.showModal=!0),class:"add-date cursor-pointer mr-2",icon:"mdi-plus",size:"medium"}),Pt]),s.subtask.timesheets.length?((0,m.wg)(!0),(0,m.iD)(m.HY,{key:0},(0,m.Ko)(s.subtask.timesheets,(e=>((0,m.wg)(),(0,m.iD)("div",{key:e.id,class:"d-flex align-center mb-3"},[(0,m.Wm)(w.t,{onClick:(0,a.iM)((t=>n.deleteTimesheet(e)),["stop"]),class:"circle-border cursor-pointer mr-2",icon:"mdi-minus",size:"medium"},null,8,["onClick"]),(0,m._)("div",Lt,[(0,m._)("p",Nt,(0,k.zw)(e.time),1),(0,m._)("p",Yt,(0,k.zw)(e.employee_name)+" ("+(0,k.zw)(e.timestamp)+")",1)])])))),128)):(0,m.kq)("",!0)])),_:1})])),_:1})])),_:1}),(0,m.Wm)(b.B,{"max-width":"750",modelValue:l.showModal,"onUpdate:modelValue":t[4]||(t[4]=e=>l.showModal=e),persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",qt,[Bt,(0,m.Wm)(w.t,{onClick:t[1]||(t[1]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex justify-start align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(x.hw,{modelValue:l.form.hours,"onUpdate:modelValue":t[2]||(t[2]=e=>l.form.hours=e),variant:"solo","bg-color":"white",type:"number",hint:l.v$.form.hours.$errors?l.errorUtils.parseErrors(l.v$.form.hours.$errors):null,class:(0,k.C_)([{error:l.v$.form.hours.$errors.length},"mb-2"]),label:"Odpracovaný čas"},null,8,["modelValue","hint","class"])])),_:1}),(0,m.Wm)(f.T,{onClick:t[3]||(t[3]=e=>n.submit()),class:"button primary mt-5"},{default:(0,m.w5)((()=>[(0,m.Uk)("Potvrdiť")])),_:1})])),_:1})])),_:1},8,["modelValue"])],64)}var Kt=s(15941),Jt={mixins:[M],props:{hours:{type:Number,required:!0},subtask:{type:Object,required:!0}},data(){return{moment:Re(),v$:(0,O.ZP)(),errorUtils:z.Z,showModal:!1,form:{hours:null}}},validations(){return{form:{hours:{required:V.C1,numeric:V.uR,minValue:(0,V.uv)(.1)}}}},computed:{...(0,U.Se)("auth",["user"])},methods:{async submit(){if(!await this.v$.$validate())return;const e=JSON.parse(JSON.stringify(this.subtask));e.timesheets.push({id:null,employee_id:this.user.id,time:"string"==typeof this.form.hours?parseFloat(this.form.hours):this.form.hours}),e.deadline&&(e.deadline=A.Z.formatDateTimeForBackend(this._mergeDeadlineTimeDate())),this._update(e)},async deleteTimesheet({id:e}){const t=JSON.parse(JSON.stringify(this.subtask));t.timesheets=t.timesheets.filter((t=>t.id!=e)),t.deadline&&(t.deadline=A.Z.formatDateTimeForBackend(this._mergeDeadlineTimeDate())),this._update(t)},closeModal(){this.form={hours:null},this.showModal=!1,this.$nextTick((()=>this.v$.$reset()))},async _update(e){try{e.timesheets=e.timesheets.map((e=>(delete e.employee_name,e)));const{subtask:t}=await this.$axios.put_auth(`v1/subtasks/${e.id}`,e);this.closeModal(),this.$events.emit("on-subtask-edited",t)}catch(t){this.$toast.error(t.message||t)}},_mergeDeadlineTimeDate(){const e=new Date(this.subtask.deadline);Kt.log("a-task-spent-time",this.subtask);const t=this.subtask._deadline_time.split(":");return e.setHours(parseInt(t[0])),e.setMinutes(parseInt(t[1])),e}}};const Xt=(0,$.Z)(Jt,[["render",Rt],["__scopeId","data-v-f216d188"]]);var Gt=Xt;const Qt={class:"d-flex align-center"},es=(0,m._)("p",{class:"mx-3"},"Zostávajúci čas",-1);function ts(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center border-bottom"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Qt,[(0,m.Wm)(w.t,{icon:"mdi-clock-time-three-outline",size:"large"}),es])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",null,(0,k.zw)(s.hours.toFixed(2))+" h",1)])),_:1})])),_:1})])),_:1})}var ss={props:{hours:{type:Number,required:!0}}};const as=(0,$.Z)(ss,[["render",ts]]);var is=as,ls=s(80678);const ns={class:"d-flex align-center"},os=(0,m._)("p",{class:"mx-3"},"Deadline",-1);function rs(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",ns,[(0,m.Wm)(w.t,{icon:"mdi-calendar-week",size:"large"}),os])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[s.subtask.deadline?((0,m.wg)(),(0,m.iD)("p",{key:0,class:(0,k.C_)(""+(i.tmUtils.isAfter(s.subtask.deadline)?"text-black":"text-red-darken-4"))},(0,k.zw)(i.tmUtils.formatDate(s.subtask.deadline))+" "+(0,k.zw)(l.deadlineTime),3)):((0,m.wg)(),(0,m.j4)(ls.N,{key:1,text:"Deadline z Mastertasku",location:"end"},{activator:(0,m.w5)((({props:e})=>[(0,m._)("span",(0,m.dG)({class:"cursor-pointer"},e),(0,k.zw)(l.getMasterTaskDeadline(s.subtask))+"*",17)])),_:1}))])),_:1})])),_:1})])),_:1})}var ds={props:{subtask:{type:[String,Object,null],required:!0}},computed:{...(0,U.Se)("tm",["mastertasks"]),deadlineTime(){const e=this.subtask?._deadline_time;return e?Re()(e,"HH:mm:ss").format("HH:mm"):""}},data(){return{tmUtils:A.Z}},methods:{getMasterTaskDeadline(e){return e?.deadline?e.deadline:e.master_task_deadline}}};const us=(0,$.Z)(ds,[["render",rs]]);var cs=us;const ms={key:0,class:"px-5 py-5 border-bottom"},hs=(0,m._)("p",null,"Popis zadania",-1),ps=["innerHTML"],vs={key:1,class:"px-5 py-5 border-bottom"},ks=(0,m._)("p",null,"Popis mastertasku",-1),fs=["innerHTML"];function gs(e,t,s,a,i,l){return(0,m.wg)(),(0,m.iD)(m.HY,null,[s.description?((0,m.wg)(),(0,m.iD)("div",ms,[hs,(0,m._)("section",{innerHTML:i.preparedDescription,class:"description-detail px-2 py-2 w-100 rounded mt-2"},null,8,ps)])):(0,m.kq)("",!0),s.mastertaskDescription?((0,m.wg)(),(0,m.iD)("div",vs,[ks,(0,m._)("section",{innerHTML:i.preparedMastertaskDescription,class:"description-detail px-2 py-2 w-100 rounded mt-2"},null,8,fs)])):(0,m.kq)("",!0)],64)}var _s=s(46215),bs=s.n(_s);const ws=(0,_s.useToast)();function ys(){const e=window.navigator.platform,t=["Macintosh","MacIntel","MacPPC","Mac68K"],s=["Win32","Win64","Windows","WinCE"];return-1!==t.indexOf(e)?"mac":(s.indexOf(e),"win")}function Ds(e){if(!e)return e;const t=ys();return"mac"===t?(e=e.replace(/\\\\/g,"smb://"),e=e=e.replace(/(smb:\/\/[^\s<>"()]+)/g,(function(e){return''+e.replace(/\\/g,"/")+""}))):(e=e.replace(/smb:\/\//g,"\\\\"),e=e.replace(/(\\\\[^\s<>"()]+)/g,(function(e){return e=e.replaceAll("/","\\"),''+e+""}))),e}function Ms(e){return`\n\t\tif (navigator.clipboard && navigator.clipboard.writeText) {\n\t\t\tnavigator.clipboard.writeText('${e.replace(/\\/g,"\\\\")}').then(() => {\n\t\t\t\twindow.toast.success('Link copied to clipboard!')\n\t\t\t}).catch(err => {\n\t\t\t\twindow.toast.error('Failed to copy link to clipboard!')\n\t\t\t});\n\t\t} else {\n\t\t\tconst input = document.createElement('input');\n\t\t\tinput.style.position = 'fixed';\n\t\t\tinput.style.opacity = 0;\n\t\t\tinput.style.pointerEvents = 'none';\n\t\t\tinput.value = '${e.replace(/\\/g,"\\\\")}';\n\t\t\tdocument.body.appendChild(input);\n\t\t\tinput.select();\n\t\t\tinput.focus();\n\t\t\tdocument.execCommand('copy');\n\t\t\tdocument.body.removeChild(input);\n\t\t\twindow.toast.success('Link copied to clipboard!')\n\t\t}\n\t`}window.toast=ws;var Ts={props:{description:{type:String||null,default:()=>null},mastertaskDescription:{type:String||null,default:()=>null}},data(){return{copiedIndices:[],preparedDescription:"",preparedMastertaskDescription:""}},mounted(){this.preparedDescription=Ds(this.description),this.preparedMastertaskDescription=Ds(this.mastertaskDescription)}};const $s=(0,$.Z)(Ts,[["render",gs]]);var Cs=$s;const js=e=>((0,m.dD)("data-v-f01fa1ac"),e=e(),(0,m.Cn)(),e),Es=js((()=>(0,m._)("p",{class:"mt-5"},"Prílohy",-1))),xs={class:"w-100 d-flex align-center"},Ws=["onClick"],Ss={key:0,class:"d-flex align-center"},Os=["src"],Vs=js((()=>(0,m._)("p",{class:"ml-2"},"Súbor sa sťahuje, počkajte prosím",-1)));function zs(e,t,a,i,l,n){const o=(0,m.up)("W-loadable");return(0,m.wg)(),(0,m.iD)(m.HY,null,[Es,(0,m._)("div",xs,[(0,m.Wm)(o,{content:a.files,emptyMessage:"Žiadne prílohy neboli nahraté"},{default:(0,m.w5)((()=>[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(a.files,((e,t)=>((0,m.wg)(),(0,m.iD)("div",{key:e.id,class:(0,k.C_)(["d-flex align-center flex-wrap",[0===t?"ml-0":"ml-2"]])},[(0,m.Wm)(Me.v,{class:"mt-2"},{default:(0,m.w5)((()=>[(0,m._)("p",{onClick:t=>n.downloadFile(e),class:"cursor-pointer"},(0,k.zw)(e.name),9,Ws),(0,m.Wm)(w.t,{class:"mx-1",icon:"mdi-paperclip"}),(0,m._)("p",null,(0,k.zw)((e.file_size/1048576).toFixed(2))+" MB",1)])),_:2},1024),e.isLoading?((0,m.wg)(),(0,m.iD)("div",Ss,[(0,m._)("img",{class:"gif-loader",src:s(14214),alt:"Loading..."},null,8,Os),Vs])):(0,m.kq)("",!0)],2)))),128))])),_:1},8,["content"])])],64)}var As={props:{files:{type:Array,default:()=>[]}},data(){return{isLoading:!1}},methods:{async downloadFile(e){e.isLoading=!0;try{const t=await fetch(e.path),s=await t.blob();et.saveAs(s,e.name)}catch(t){this.$toast.error(this.$parseError(t))}finally{e.isLoading=!1}}}};const Us=(0,$.Z)(As,[["render",zs],["__scopeId","data-v-f01fa1ac"]]);var Zs=Us,Hs={emits:["close-modal","update-subtask"],components:{ZFiles:Zs,AMastertaskName:ot,AMastertaskStatus:vt,ATaskTimeblocks:Xe,ZCreatedBy:Dt,ATaskAssignedEmployee:Wt,ATaskPlannedTime:Ut,ATaskSpentTime:Gt,ATaskRemainingTime:is,ATaskDescription:Cs,ATaskDeadline:cs},props:{subtask:{type:Object,required:!0}}};const Is=(0,$.Z)(Hs,[["render",tt]]);var Fs=Is;const Ps={class:"timeblock w-100"},Ls={key:0,class:"x-button"},Ns={class:"splitted-time-inputs"};function Ys(e,t,s,a,i,l){const n=(0,m.up)("Datepicker");return(0,m.wg)(),(0,m.iD)("div",Ps,[s.deletable&&s.editable?((0,m.wg)(),(0,m.iD)("div",Ls,[(0,m._)("button",{onClick:t[0]||(t[0]=t=>e.$emit("removeTimeblock")),class:"x-button"},"x")])):(0,m.kq)("",!0),(0,m._)("div",{onClick:t[1]||(t[1]=e=>l.openDatepicker("datepicker")),class:"datepicker-wrapper",ref:"datepicker-wrapper"},[(0,m.Wm)(n,{"model-value":s.timeblock.date,ref:"datepicker",onFocus:e.onDateFocus,"onUpdate:modelValue":l.updateDate,format:"dd.MM.yyyy",locale:"sk","select-text":"Vybrať","cancel-text":"Zrušiť",placeholder:"Dátum","auto-apply":!0,"enable-time-picker":!1,class:"mb-5 modal-input datepicker-input"},null,8,["model-value","onFocus","onUpdate:modelValue"])],512),(0,m._)("div",Ns,[(0,m.Wm)(x.hw,{value:s.timeblock.starts_at_time,onInput:l.updateStartTime,onFocus:e.onInputFocus,class:(0,k.C_)({error:i.v$?.timeblock.starts_at_time.$errors.length}),type:"time",variant:"solo","bg-color":"white",label:"Začiatok"},null,8,["value","onInput","onFocus","class"]),(0,m.Wm)(x.hw,{value:s.timeblock.ends_at_time,onInput:l.updateEndTime,onFocus:e.onInputFocus,class:(0,k.C_)({error:i.v$?.timeblock.ends_at_time.$errors.length}),type:"time",variant:"solo","bg-color":"white",label:"Koniec"},null,8,["value","onInput","onFocus","class"])])])}var qs={mixins:[Ge],components:{Datepicker:De.Z},props:{timeblock:{type:Object,required:!0},deletable:{type:Boolean,default:!1},editable:{type:Boolean,default:!1}},data(){return{v$:(0,O.ZP)()}},validations(){return{timeblock:{starts_at_time:{required:(0,V.CF)(this.timeblock.date)},ends_at_time:{required:(0,V.CF)(this.timeblock.date)}}}},methods:{async openDatepicker(e){this.$refs[e].openMenu(),this.$nextTick((()=>{this.$refs["datepicker-wrapper"].scrollIntoView({behavior:"instant",block:"center",inline:"center"}),this.$nextTick((()=>{const e=document.querySelector(".dp__menu.dp__menu_index"),t=e.querySelector(".dp__arrow_bottom"),s=t?0-e.clientHeight-42:35;e.style.top=window.innerHeight/2+s+"px"}))}))},updateDate(e){const t={...this.timeblock};e&&(t.date=e),this.$emit("updateTimeblock",t)},updateStartTime(e){const t={...this.timeblock};t.starts_at_time=e.target.value,this.$emit("updateTimeblock",t)},updateEndTime(e){const t={...this.timeblock};t.ends_at_time=e.target.value,this.$emit("updateTimeblock",t)}}};const Bs=(0,$.Z)(qs,[["render",Ys],["__scopeId","data-v-031787aa"]]);var Rs=Bs,Ks=s(15941),Js={emits:["close","refresh"],mixins:[Ge,Qe,Z.Z,M],components:{ZTaskReadonlyInfo:Fs,ATimeblock:Rs,ZFilesUpload:Se,Datepicker:De.Z,QuillEditor:r.Bn},data(){return{tmUtils:A.Z,editMode:!1,visible:!1,subtask:null,isSaving:!1,errorUtils:z.Z,v$:(0,O.ZP)(),employeeValidations:[],showDatePicker:!1,selectedNewDate:[],timeblocks:[{date:null,starts_at_time:null,ends_at_time:null}]}},computed:{...(0,U.Se)("tm",["mastertasks","enrichedEmployees"])},validations(){return{subtask:{master_task_id:{required:V.C1},deadline:{required:V.C1},_deadline_time:{required:V.C1}}}},mounted(){this.$events.on("add-timeblock",(e=>{this.subtask?.timeblocks||(this.subtask.timeblocks=[]),this.subtask?.timesheets||(this.subtask.timesheets=[]),this.subtask?.is_finished||(this.subtask.is_finished=0),this.subtask.timeblocks.push(e)})),this.$events.on("on-subtask-edited",(e=>{if(e?.id!==this.subtask?.id)return;const t=JSON.parse(JSON.stringify(e)),s=t.deadline?.split(" ")||[];t.deadline=s[0],t._deadline_time=s[1],this.subtask=this._enrichTask(t),this.$forceUpdate()})),this.$events.on("on-subtask-deleted",(e=>{e?.id==this.subtask?.id&&this.closeModal()}))},methods:{openDatepicker(e){this.$refs[e].openMenu()},updateTimeblock(e,t){this.timeblocks[t]=e},removeTimeblock(e){this.timeblocks.splice(e,1)},async showModal({subtask:e,editMode:t=!1,mastertask:s={}}){this.isSaving=!1,this.subtask=null,this.visible=!0,this.timeblocks=[{date:null,starts_at_time:null,ends_at_time:null}],this.$nextTick((()=>{this.v$.$reset(),this.setFocusEvent()}));try{if(e?.id){const s=await this.$axios.get_auth_data(`v1/subtasks/${e.id}`);if(!s.deadline)return this.editMode=t||!s.id,this.subtask=this._enrichTask(s);const a=s.deadline.split(" ");s.deadline=a[0],s._deadline_time=a[1],this.subtask=this._enrichTask(s)}else{const t=localStorage.getItem("subtaskData");try{if(!t)throw new Error("subtaskData is null or undefined");{const e=JSON.parse(t);if(this.subtask=e,"object"!==typeof this.subtask||null===this.subtask)throw new Error("Parsed subtask is not an object");this.$nextTick((()=>{this.$refs["description"]?.setHTML(this.subtask.description||"")}))}}catch(a){Ks.error("Error parsing subtaskData:",a),this.subtask={master_task:s,employees:[{}],_deadline_time:"17:00"}}if(e?.deadline&&e._deadline_time&&e.employee_id){const t=this.enrichedEmployees.find((t=>t.id==e.employee_id));this.subtask.employees=[t],this.subtask.deadline=e.deadline,this.subtask._deadline_time=e._deadline_time}e?.master_task_id&&e?.project_code&&(this.subtask.master_task_id=e.master_task_id,this.subtask.project_code=e.project_code)}this.editMode=t||!this.subtask.id}catch(a){this.$toast.error(this.$parseError(a))}},deleteTimeblock(e){this.subtask.timeblocks.splice(e,1)},closeModal(){this.visible=!1,this.$router.replace({name:this.$route.name})},async save(){const e=await this._validateEmployees(),t=!!this.subtask?.id||await this._validateTimeblocks();if(await this.v$.$validate()&&e&&t){this.subtask.description=this.$refs["description"].getHTML(),this._mergeDeadlineTimeDate();try{if(this.isSaving=!0,this.subtask.deadline=Re()(this.subtask.deadline).format("YYYY-MM-DD HH:mm:SS"),this.subtask?.id){const e=this.subtask.timesheets.map((e=>(delete e.employee_name,e))),{subtask:t}=await this.$axios.patch_auth_form(`v1/subtasks/${this.subtask.id}`,{...this.subtask,timesheets:e});localStorage.removeItem("subtaskData"),this.$store.commit("tm/update_subtask",t),this.$events.emit("on-subtask-edited",this.subtask)}else{this.subtask.employees.forEach((e=>{e.id&&(e.timeblocks=this.timeblocks.filter((e=>e.date)).map((e=>({start:`${Re()(e.date).format("YYYY-MM-DD")} ${e.starts_at_time}:00`,end:`${Re()(e.date).format("YYYY-MM-DD")} ${e.ends_at_time}:00`,id:null}))))}));const e=this.subtask;delete e._master_task;const{subtasks:t}=await this.$axios.post_auth(`v1/mastertasks/${this.subtask.master_task_id}/subtasks`,e);localStorage.removeItem("subtaskData"),this.subtask.id=t[0].id,t.forEach((e=>{this.$store.commit("tm/update_subtask",e),this.$events.emit("on-subtask-edited",this.subtask)})),this.$events.emit("task-created"),this.$events.emit("close-both-modals")}this.closeModal()}catch(s){this.$toast.error(this.$parseError(s))}finally{this.isSaving=!1}}},openDeleteTaskModal(e){this.$events.emit("show-delete-task-modal",{subtask:e})},showCompleteTaskModal(){this.$events.emit("show-complete-task-modal",{subtask:this.subtask}),this.subtask.deadline&&(this.subtask.deadline=A.Z.formatDateTimeForBackend(this.subtask.deadline))},filesUploaded(e){this.subtask.files=e},updateSubtask(e){this.subtask=e},_mergeDeadlineTimeDate(){const e=new Date(this.subtask.deadline);Ks.log("z-task-modal",this.subtask);const t=this.subtask._deadline_time.split(":");e.setHours(parseInt(t[0])),e.setMinutes(parseInt(t[1])),this.subtask.deadline=e},_validateEmployees(){return new Promise((e=>{if(this.employeeValidations=[],this.subtask.id){if(this.subtask.employee&&this.subtask.duration)return;this.employeeValidations[0]={},this.subtask.employee_id||(this.employeeValidations[0].employee=!0),this.subtask.duration||(this.employeeValidations[0].duration=!0)}else this.subtask.employees.forEach(((e,t)=>{t==this.subtask.employees.length-1&&t>0||e.id&&e.duration||(this.employeeValidations[t]={},e.id||(this.employeeValidations[t].employee=!0),e.duration||(this.employeeValidations[t].duration=!0))}));const t=this.employeeValidations.some((e=>e.duration||e.employee));e(!t)}))},async _validateTimeblocks(){let e=!1;for(let t=0;tt.id==e.created_by)),_employee:this.enrichedEmployees.find((t=>t.id==e.employee_id)),_master_task:this.mastertasks.find((t=>t.id==e.master_task_id))}}},watch:{"subtask.employee_id"(e,t){e&&t&&(this.subtask.timeblocks=[],this.subtask._employee=this.enrichedEmployees.find((e=>e.id==this.subtask.employee_id)))},"subtask.employees":{handler(){if(!this.subtask?.employees)return;const e=this.subtask.employees[this.subtask.employees.length-1];(e.id||e.duration)&&this.subtask.employees.push({})},deep:!0},"subtask.master_task_id"(e){e&&(this.subtask._master_task=this.mastertasks.find((e=>e.id==this.subtask.master_task_id)),this.subtask.project_code=this.subtask._master_task?.project_code||null)},editMode(){this.$nextTick((()=>{this.$refs["description"]?.setHTML(this.subtask.description||"")}))},subtask:{handler(e){this.editMode&&!this.subtask?.id&&localStorage.setItem("subtaskData",JSON.stringify(e))},deep:!0}}};const Xs=(0,$.Z)(Js,[["render",ye],["__scopeId","data-v-2aaf3118"]]);var Gs=Xs;const Qs={class:"d-flex justify-space-between align-center"};function ea(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(b.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",Qs,[(0,m._)("h1",null,[(0,m.Uk)("Ste si istý, že chcete zmazať "),(0,m._)("b",null,(0,k.zw)(l.blocker.name),1),(0,m.Uk)("?")]),(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large",class:"mb-15"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half",variant:"flat",onClick:t[1]||(t[1]=e=>n.deleteBlocker()),disabled:l.isDeleting},{default:(0,m.w5)((()=>[(0,m.Uk)("ÁNO")])),_:1},8,["disabled"]),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[2]||(t[2]=(0,a.iM)((e=>n.closeModal()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ZRUŠIŤ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var ta={mixins:[M],emits:["on-blocker-deleted"],data(){return{visible:!1,blocker:null,isDeleting:!1}},methods:{async showModal({blocker:e}){this.blocker=e,this.visible=!0},closeModal(){this.visible=!1},async deleteBlocker(){if(!this.isDeleting){this.isDeleting=!0;try{await this.$axios.delete_auth(`v1/blockers/${this.blocker.id}`),this.$emit("on-blocker-deleted",this.blocker),this.closeModal()}catch(e){this.$toast.error(this.$parseError(e))}finally{this.isDeleting=!1}}}}};const sa=(0,$.Z)(ta,[["render",ea]]);var aa=sa;const ia={class:"d-flex justify-space-between align-center"};function la(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(b.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",ia,[(0,m._)("h1",null,[(0,m.Uk)("Ste si istý, že chcete "+(0,k.zw)(l.subtask.is_finished?"znovu otvoriť":"dokončiť")+" sub task, z mastertasku ",1),(0,m._)("b",null,(0,k.zw)(l.subtask?.master_task?.name||l.subtask.master_task),1),(0,m.Uk)("?")]),(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half",variant:"flat",onClick:t[1]||(t[1]=e=>n.complete())},{default:(0,m.w5)((()=>[(0,m.Uk)("ÁNO")])),_:1}),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[2]||(t[2]=(0,a.iM)((e=>l.visible=!1),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ZRUŠIŤ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var na={mixins:[M],emits:["close","on-subtask-edited"],data(){return{visible:!1,subtask:null}},methods:{async showModal({subtask:e}){this.subtask=e,this.visible=!0},async complete(){try{const e={...this.subtask,is_finished:this.subtask.is_finished?0:1,timesheets:this.subtask.timesheets.map((e=>(delete e.employee_name,e)))},{subtask:t}=await this.$axios.put_auth(`v1/subtasks/${e.id}`,e);this.visible=!1,this.$emit("on-subtask-edited",t)}catch(e){this.$toast.error(this.$parseError(e))}},closeModal(){this.visible=!1}}};const oa=(0,$.Z)(na,[["render",la]]);var ra=oa;const da={class:"d-flex justify-space-between align-center"};function ua(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(b.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",da,[(0,m._)("h1",null,[(0,m.Uk)("Ste si istý, že chcete "+(0,k.zw)(l.mastertask.is_finished?"znovu otvoriť":"dokončiť")+" ",1),(0,m._)("b",null,(0,k.zw)(l.mastertask?.name),1),(0,m.Uk)("?")]),(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>l.visible=!1),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half",variant:"flat",onClick:t[1]||(t[1]=e=>n.complete())},{default:(0,m.w5)((()=>[(0,m.Uk)("ÁNO")])),_:1}),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[2]||(t[2]=(0,a.iM)((e=>l.visible=!1),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ZRUŠIŤ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var ca={mixins:[M],emits:["close","master-task-edited"],data(){return{visible:!1,mastertask:null}},methods:{async showModal({mastertask:e}){this.mastertask=e,this.visible=!0},async complete(){try{const e={...this.mastertask,is_finished:this.mastertask.is_finished?0:1},{mastertask:t}=await this.$axios.put_auth(`v1/mastertasks/${e.id}`,e);this.visible=!1,this.$emit("master-task-edited",t),this.$events.emit("close-both-modals")}catch(e){this.$toast.error(this.$parseError(e))}}}};const ma=(0,$.Z)(ca,[["render",ua]]);var ha=ma;const pa={class:"d-flex justify-space-between align-center"},va=(0,m._)("h1",null,"Pridať odpracovaný čas",-1);function ka(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(b.B,{"max-width":"750",modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",pa,[va,(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex justify-start align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(x.hw,{modelValue:l.form.hours,"onUpdate:modelValue":t[1]||(t[1]=e=>l.form.hours=e),variant:"solo","bg-color":"white",type:"number",hint:l.v$.form.hours.$errors?l.errorUtils.parseErrors(l.v$.form.hours.$errors):null,class:(0,k.C_)([{error:l.v$.form.hours.$errors.length},"mb-2"]),label:"Odpracovaný čas"},null,8,["modelValue","hint","class"])])),_:1}),(0,m.Wm)(f.T,{onClick:t[2]||(t[2]=e=>n.submit()),class:"button primary mt-5"},{default:(0,m.w5)((()=>[(0,m.Uk)("Potvrdiť")])),_:1})])),_:1})])),_:1},8,["modelValue"])}var fa={mixins:[M],emits:["close","on-subtask-edited"],data(){return{v$:(0,O.ZP)(),errorUtils:z.Z,visible:!1,subtask:null,form:{hours:null}}},validations(){return{form:{hours:{required:V.C1,numeric:V.uR,minValue:(0,V.uv)(.1)}}}},methods:{async showModal({subtask:e}){this.subtask=e,this.visible=!0,this.form.hours=null,this.$nextTick((()=>this.v$.$reset()))},async submit(){if(!await this.v$.$validate())return;this.subtask.deadline&&(this.subtask.deadline=A.Z.formatDateTimeForBackend(this.subtask.deadline)),this.subtask.timesheets.push({id:null,employee_id:this.subtask.employee_id,time:"string"==typeof this.form.hours?parseFloat(this.form.hours):this.form.hours});const e={...this.subtask,timesheets:this.subtask.timesheets.map((e=>(delete e.employee_name,e)))};try{const{subtask:t}=await this.$axios.put_auth(`v1/subtasks/${this.subtask.id}`,e);this.closeModal(),this.$events.emit("on-subtask-edited",t)}catch(t){this.$toast.error(t.message||t)}},closeModal(){this.visible=!1,this.v$.$reset()}}};const ga=(0,$.Z)(fa,[["render",ka]]);var _a=ga;const ba={class:"d-flex justify-space-between align-center modal-header"};function wa(e,t,s,i,l,n){const o=(0,m.up)("Datepicker"),r=(0,m.up)("W-loadable");return(0,m.wg)(),(0,m.j4)(b.B,{modelValue:l.visible,"onUpdate:modelValue":t[7]||(t[7]=e=>l.visible=e),"max-width":"750","max-height":"90%",height:"700px",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(r,{content:l.blocker,class:"h-100"},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,{height:"100%",class:"d-flex flex-column"},{default:(0,m.w5)((()=>[(0,m._)("div",ba,[(0,m._)("h1",null,(0,k.zw)(l.blocker.id?"Upraviť":"Vytvoriť")+" blocker",1),(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"d-flex flex-column modal-content"},{default:(0,m.w5)((()=>[(0,m.Wm)(x.hw,{onFocus:e.onInputFocus,class:(0,k.C_)(["modal-input",{error:l.v$.blocker.name.$errors.length}]),label:"Názov blockeru",hint:l.v$.blocker.name.$errors?l.errorUtils.parseErrors(l.v$.blocker.name.$errors):null,modelValue:l.blocker.name,"onUpdate:modelValue":t[1]||(t[1]=e=>l.blocker.name=e),variant:"solo"},null,8,["onFocus","class","hint","modelValue"]),(0,m.Wm)(E.f,{"custom-filter":e.customFilter,"match-any":!0,clearable:"",label:"Vyhľadať zamestnanca",items:[...e.enrichedEmployees],"item-title":"_fullName","item-value":"id",variant:"solo",class:"modal-input",modelValue:l.blocker.employee_id,"onUpdate:modelValue":t[2]||(t[2]=e=>l.blocker.employee_id=e)},null,8,["custom-filter","items","modelValue"]),(0,m.Wm)(o,{class:(0,k.C_)(["modal-input mb-5",{error:l.v$.datepicker.$errors?.length}]),modelValue:l.datepicker,"onUpdate:modelValue":t[3]||(t[3]=e=>l.datepicker=e),"auto-apply":!0,format:"dd.MM.yyyy",locale:"sk",validations:l.v$.datepicker,"select-text":"Vybrať","cancel-text":"Zrušiť",placeholder:"Dátum","enable-time-picker":!1,ref:"datepicker"},null,8,["modelValue","class","validations"]),(0,m.Wm)(x.hw,{modelValue:l.starts_at_time,"onUpdate:modelValue":t[4]||(t[4]=e=>l.starts_at_time=e),type:"time",variant:"solo","bg-color":"white",hint:l.v$.starts_at_time.$errors?l.errorUtils.parseErrors(l.v$.starts_at_time.$errors):null,class:(0,k.C_)([{error:l.v$.starts_at_time.$errors.length},"mb-1 modal-input"]),label:"Začiatok"},null,8,["modelValue","hint","class"]),(0,m.Wm)(x.hw,{modelValue:l.ends_at_time,"onUpdate:modelValue":t[5]||(t[5]=e=>l.ends_at_time=e),type:"time",variant:"solo","bg-color":"white",hint:l.v$.ends_at_time.$errors?l.errorUtils.parseErrors(l.v$.ends_at_time.$errors):null,class:(0,k.C_)([{error:l.v$.ends_at_time.$errors.length},"modal-input"]),label:"Koniec"},null,8,["modelValue","hint","class"])])),_:1}),(0,m.Wm)(f.T,{class:"button primary",onClick:t[6]||(t[6]=e=>n.save())},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(l.blocker.id?"UPRAVIŤ":"VYTVORIŤ"),1)])),_:1})])),_:1})])),_:1},8,["content"])])),_:1},8,["modelValue"])}var ya={mixins:[Ge,Z.Z,M],emits:["close"],components:{Datepicker:De.Z},data(){return{visible:!1,v$:(0,O.ZP)(),errorUtils:z.Z,blocker:null,datepicker:null,starts_at_time:null,ends_at_time:null,employee:null}},computed:{...(0,U.Se)("tm",["enrichedEmployees"]),...(0,U.Se)("auth",["user"])},validations(){return{blocker:{name:{required:V.C1},start:{required:V.C1},end:{required:V.C1}},starts_at_time:{required:V.C1},ends_at_time:{required:V.C1},datepicker:{required:V.C1}}},methods:{async showModal({blocker:e}){this.visible=!0,this.blocker=null,this.datepicker=null,this.starts_at_time=null,this.ends_at_time=null,this.$nextTick((()=>{this.setFocusEvent(),this.v$.$reset()}));try{e?.id?(e=await this.$axios.get_auth_data(`v1/blockers/${e.id}`),this.starts_at_time=Re()(e.start).format("HH:mm"),this.ends_at_time=Re()(e.end).format("HH:mm"),this.datepicker=new Date(e.start),e.employee_id=e.employee.id,this.blocker=e):(this.blocker={start:null,employee_id:this.user.id},e.starts_at_time&&e.datepicker&&e.employee_id&&(this.datepicker=e.datepicker,this.starts_at_time=e.starts_at_time,this.blocker.employee_id=e.employee_id))}catch(t){this.$toast.error(this.$parseError(t))}},async save(){if(await this.v$.$validate())try{if(this.blocker.id){const{blocker:e}=await this.$axios.put_auth(`v1/blockers/${this.blocker.id}`,this.blocker);this.blocker=e}else{const{blocker:e}=await this.$axios.post_auth("v1/blockers",this.blocker);this.blocker=e}this.$events.emit("on-blocker-edited",this.blocker),this.$events.emit("blocker-created"),this.closeModal()}catch(e){this.$toast.error(this.$parseError(e))}},closeModal(){this.$refs["datepicker"].clearValue(),this.visible=!1,this.$emit("close",this.blocker)},onEmployeeSelected({key:e}){this.blocker.employee=this.enrichedEmployees.find((t=>t.id==e))},_syncDatesTimes(){if(!this.starts_at_time||!this.ends_at_time||!this.datepicker)return;const e=this.starts_at_time.split(":"),t=this.ends_at_time.split(":");this.blocker.start=Re()(this.datepicker).set({hours:parseInt(e[0]),minutes:parseInt(e[1])}).format("YYYY-MM-DD HH:mm"),this.blocker.end=Re()(this.datepicker).set({hours:parseInt(t[0]),minutes:parseInt(t[1])}).format("YYYY-MM-DD HH:mm")}},watch:{ends_at_time(){this._syncDatesTimes()},starts_at_time(){this._syncDatesTimes()},datepicker(){this._syncDatesTimes()}}};const Da=(0,$.Z)(ya,[["render",wa]]);var Ma=Da;const Ta={class:"d-flex justify-space-between align-center"};function $a(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(b.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",Ta,[(0,m._)("h1",null,[(0,m.Uk)("Ste si istý, že chcete zmazať "),(0,m._)("b",null,(0,k.zw)(l.mastertask.name),1),(0,m.Uk)("?")]),(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large",class:"mb-15"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half",variant:"flat",onClick:t[1]||(t[1]=e=>n.deleteMasterTask()),disabled:l.isDeleting},{default:(0,m.w5)((()=>[(0,m.Uk)("ÁNO")])),_:1},8,["disabled"]),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[2]||(t[2]=(0,a.iM)((e=>n.closeModal()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ZRUŠIŤ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var Ca={mixins:[M],emits:["on-mastertask-deleted"],data(){return{visible:!1,mastertask:null,isDeleting:!1}},methods:{async showModal({mastertask:e}){this.mastertask=e,this.visible=!0},closeModal(){this.visible=!1},async deleteMasterTask(){if(!this.isDeleting){this.isDeleting=!0;try{await this.$axios.delete_auth(`v1/mastertasks/${this.mastertask.id}`),this.$emit("on-mastertask-deleted",this.mastertask),this.closeModal()}catch(e){this.$toast.error(this.$parseError(e))}finally{this.isDeleting=!1}}}}};const ja=(0,$.Z)(Ca,[["render",$a]]);var Ea=ja,xa=s(10240);const Wa={class:"d-flex justify-space-between align-center modal-header"},Sa={class:"splitted-inputs"},Oa={class:"employee-select-avatar d-flex justify-center align-center"},Va={class:"employee-select-avatar d-flex justify-center align-center"},za={class:"d-flex justify-space-between align-center"},Aa={class:"d-flex justify-space-between align-center modal-header border-bottom pb-4"},Ua={class:"d-flex justify-start"},Za=["src"],Ha=["src"],Ia={class:"w-100"},Fa={class:"d-flex justify-start align-center mt-8"},Pa={class:"d-flex align-center"};function La(e,t,i,l,n,o){const r=(0,m.up)("Datepicker"),d=(0,m.up)("QuillEditor"),u=(0,m.up)("Z-files-upload"),c=(0,m.up)("A-mastertask-description"),h=(0,m.up)("A-tasks-table"),p=(0,m.up)("W-loadable");return(0,m.wg)(),(0,m.j4)(b.B,{modelValue:n.visible,"onUpdate:modelValue":t[16]||(t[16]=e=>n.visible=e),"max-width":"750","max-height":"90%",height:"700px",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(p,{content:n.mastertask,class:"h-100"},{default:(0,m.w5)((()=>[n.editMode?((0,m.wg)(),(0,m.j4)(g._,{key:0,height:"100%",class:"d-flex flex-column scrolling"},{default:(0,m.w5)((()=>[(0,m._)("div",Wa,[(0,m._)("h1",null,(0,k.zw)(n.mastertask?.id?"Upraviť master task":"Vytvoriť master task"),1),(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>o.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"d-flex flex-column modal-content"},{default:(0,m.w5)((()=>[(0,m.Wm)(E.f,{"custom-filter":e.customFilter,"match-any":!0,modelValue:n.mastertask.project_id,"onUpdate:modelValue":t[1]||(t[1]=e=>n.mastertask.project_id=e),label:e.$t("Project code"),class:(0,k.C_)([{error:n.v$.mastertask.project_id.$errors.length},"modal-input"]),items:e.projectsOptions,"item-title":"code","item-value":"id",variant:"solo",clearable:"","onUpdate:search":t[2]||(t[2]=e=>n.projectCodeSearch=e)},null,8,["custom-filter","modelValue","label","class","items"]),(0,m.Wm)(x.hw,{modelValue:n.mastertask.name,"onUpdate:modelValue":t[3]||(t[3]=e=>n.mastertask.name=e),onFocus:e.onInputFocus,class:(0,k.C_)(["modal-input",{error:n.v$.mastertask.name.$errors.length}]),label:"Názov mastertasku",variant:"solo",hint:n.v$.mastertask.name.$errors?n.errorUtils.parseErrors(n.v$.mastertask.name.$errors):null},null,8,["modelValue","onFocus","class","hint"]),(0,m._)("div",Sa,[(0,m.Wm)(r,{modelValue:n.mastertask.deadline,"onUpdate:modelValue":t[4]||(t[4]=e=>n.mastertask.deadline=e),"auto-apply":!0,onFocus:e.onDateFocus,"min-date":new Date,class:(0,k.C_)(["modal-input left",{error:n.v$.mastertask.deadline.$errors?.length}]),format:"dd.MM.yyyy",locale:"sk","select-text":"Vybrať","cancel-text":"Zrušiť",placeholder:"Dátum",validations:n.v$.mastertask.deadline},null,8,["modelValue","onFocus","min-date","class","validations"]),(0,m.Wm)(x.hw,{class:(0,k.C_)(["modal-input right",{error:n.v$.mastertask._deadline_time.$errors.length}]),variant:"solo",modelValue:n.mastertask._deadline_time,"onUpdate:modelValue":t[5]||(t[5]=e=>n.mastertask._deadline_time=e),label:"Čas","append-inner-icon":"mdi-clock-outline",type:"time",onFocus:e.onInputFocus,hint:n.v$.mastertask._deadline_time.$errors?n.errorUtils.parseErrors(n.v$.mastertask._deadline_time.$errors):null},null,8,["modelValue","onFocus","class","hint"])]),(0,m.Wm)(x.hw,{modelValue:n.mastertask.duration,"onUpdate:modelValue":t[6]||(t[6]=e=>n.mastertask.duration=e),onFocus:e.onInputFocus,class:"modal-input",variant:"solo",type:"number",label:`${n.mastertask.duration} h`,disabled:!0},null,8,["modelValue","onFocus","label"]),(0,m.Wm)(xa.r,{modelValue:n.mastertask.team_id,"onUpdate:modelValue":t[7]||(t[7]=e=>n.mastertask.team_id=e),onFocus:e.onInputFocus,class:(0,k.C_)(["modal-input border-select",{error:n.v$.mastertask.employees.$errors.length}]),label:"Tím",variant:"solo",items:e.teams,"item-value":"id","item-title":"name",disabled:!!n.mastertask.id,clearable:!0},null,8,["modelValue","onFocus","class","items","disabled"]),n.mastertask.id?((0,m.wg)(!0),(0,m.iD)(m.HY,{key:1},(0,m.Ko)(n.mastertask._allEmployees,(e=>((0,m.wg)(),(0,m.j4)(x.hw,{key:e.id,class:"modal-input",label:`${e.name} ${e.surname}`,variant:"solo",placeholder:"h",modelValue:e.duration,"onUpdate:modelValue":t=>e.duration=t,type:"number",disabled:!0},{default:(0,m.w5)((()=>[(0,m._)("p",Va,(0,k.zw)(e?.name.charAt(0)+e?.surname.charAt(0)),1),(0,m.Wm)(w.t,{onClick:(0,a.iM)((t=>o.removeEmployee(e)),["stop"]),class:"remove-input",icon:"mdi-close-circle",size:"default"},null,8,["onClick"])])),_:2},1032,["label","modelValue","onUpdate:modelValue"])))),128)):((0,m.wg)(!0),(0,m.iD)(m.HY,{key:0},(0,m.Ko)(n.mastertask.employees,((t,s)=>((0,m.wg)(),(0,m.j4)(x.hw,{key:t.id,onFocus:e.onInputFocus,class:(0,k.C_)(["modal-input",{error:t.invalid}]),label:`${t.name} ${t.surname}`,variant:"solo",placeholder:"h",modelValue:n.mastertask.employees[s].duration,"onUpdate:modelValue":e=>n.mastertask.employees[s].duration=e,type:"number",min:"1",onInput:e.onEmployeeDurationChanged},{default:(0,m.w5)((()=>[(0,m._)("p",Oa,(0,k.zw)(t?.name.charAt(0)+t?.surname.charAt(0)),1),(0,m.Wm)(w.t,{onClick:(0,a.iM)((e=>o.removeEmployee(t)),["stop"]),class:"remove-input",icon:"mdi-close-circle",size:"default"},null,8,["onClick"])])),_:2},1032,["onFocus","class","label","modelValue","onUpdate:modelValue","onInput"])))),128)),n.showAddEmployeeInput?((0,m.wg)(),(0,m.j4)(E.f,{key:2,"custom-filter":e.customFilter,"match-any":!0,label:e.$t("Search for employee"),class:(0,k.C_)([{error:n.v$.mastertask.project_id.$errors.length},"modal-input"]),items:e.employeesOptions,"item-title":"_fullName","item-value":"id",variant:"solo",clearable:"","onUpdate:modelValue":e.onEmployeeSelected},null,8,["custom-filter","label","class","items","onUpdate:modelValue"])):(0,m.kq)("",!0),(0,m.Wm)(f.T,{disabled:!!n.mastertask.id,class:(0,k.C_)(["w-100 mb-5 button secondary",{error:n.v$.mastertask.project_id.$errors.length}]),onClick:t[8]||(t[8]=e=>n.showAddEmployeeInput=!0)},{default:(0,m.w5)((()=>[(0,m.Wm)(w.t,{class:"mx-1",icon:"mdi-plus"}),(0,m.Uk)("Pridať zamestnanca ")])),_:1},8,["disabled","class"]),(0,m._)("div",{class:(0,k.C_)(["w-100 modal-input",{error:n.v$.mastertask.description.$errors.length}])},[(0,m.Wm)(d,{ref:"description",modelValue:n.mastertask.description,"onUpdate:modelValue":t[9]||(t[9]=e=>n.mastertask.description=e),placeholder:"Popis",theme:"snow",class:"rich-text-editor",onKeyup:o.onQuillEditorInput},null,8,["modelValue","onKeyup"])],2),(0,m.Wm)(u,{class:"mt-15 files",files:n.mastertask.files,onFilesUploaded:o.filesUploaded,"is-saving":n.isSaving},null,8,["files","onFilesUploaded","is-saving"])])),_:1}),n.isSaving?((0,m.wg)(),(0,m.j4)(f.T,{key:1,class:"button primary disabled",disabled:""},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(e.$t("Ukladám...")),1)])),_:1})):((0,m.wg)(),(0,m.j4)(f.T,{key:0,class:"button primary",onClick:t[10]||(t[10]=e=>o.save())},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(n.mastertask.id?"ULOŽIŤ":"VYTVORIŤ"),1)])),_:1}))])),_:1})):((0,m.wg)(),(0,m.j4)(g._,{key:1,height:"100%",class:"d-flex flex-column scrolling"},{default:(0,m.w5)((()=>[(0,m._)("div",za,[(0,m._)("p",null,(0,k.zw)(n.mastertask.project_code),1),(0,m.Wm)(w.t,{onClick:t[11]||(t[11]=(0,a.iM)((e=>o.closeModal()),["stop"])),icon:"mdi-close",size:"large",class:"pb-5"})]),(0,m._)("div",Aa,[(0,m._)("h1",null,(0,k.zw)(n.mastertask.name),1),(0,m._)("div",Ua,[n.mastertask.is_finished?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("img",{key:0,class:"icon",src:s(60666),alt:"pencil-icon",onClick:t[12]||(t[12]=(0,a.iM)((e=>n.editMode=!n.editMode),["stop"]))},null,8,Za)),(0,m._)("img",{class:"icon trash",src:s(27484),alt:"trash-icon",onClick:t[13]||(t[13]=(0,a.iM)((e=>o.openDeleteMasterTaskModal(n.mastertask)),["stop"]))},null,8,Ha)])]),(0,m.Wm)(_.h,{class:"d-flex flex-column modal-content"},{default:(0,m.w5)((()=>[(0,m._)("div",Ia,[(0,m.Wm)(c,{mastertask:n.mastertask},null,8,["mastertask"]),(0,m._)("div",Fa,[(0,m.Wm)(f.T,{class:"button primary",onClick:t[14]||(t[14]=e=>o.toggleIsFinished(n.mastertask))},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(n.mastertask.is_finished?"Otvoriť mastertask":"Ukončiť mastertask"),1)])),_:1})]),(0,m.Wm)(h,{subtasks:n.mastertask.subtasks},null,8,["subtasks"]),(0,m._)("div",Pa,[(0,m.Wm)(f.T,{class:"subtask-btn w-100",onClick:t[15]||(t[15]=e=>o.addTask())},{default:(0,m.w5)((()=>[(0,m.Wm)(w.t,{class:"mx-1",icon:"mdi-plus"}),(0,m.Uk)("Pridať sub task")])),_:1})])])])),_:1})])),_:1}))])),_:1},8,["content"])])),_:1},8,["modelValue"])}var Na=s(4413);const Ya={class:"px-5 py-5"},qa={key:0,class:"w-25"},Ba={key:1,class:"w-50"},Ra={class:"d-flex align-center"},Ka={class:"employee-selected-avatar d-flex justify-center align-center"},Ja={class:"ml-2 line-clamp"},Xa={key:0,class:"text-light-green"},Ga={key:1},Qa={class:"task-action"},ei={class:"d-flex justify-start align-center"},ti=["src","onClick"],si=["src"];function ai(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(Na.Y,{class:"mt-7 mb-5"},{default:(0,m.w5)((()=>[(0,m._)("tbody",Ya,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.enrichedtasks,(e=>((0,m.wg)(),(0,m.iD)("tr",{key:e.id},[e?.title?((0,m.wg)(),(0,m.iD)("td",qa,(0,k.zw)(e.title),1)):((0,m.wg)(),(0,m.iD)("td",Ba,(0,k.zw)(e?.master_task),1)),(0,m._)("td",Ra,[(0,m._)("p",Ka,(0,k.zw)(e._employeeInitials),1),(0,m._)("p",Ja,(0,k.zw)(e._employeeFullName),1)]),(0,m._)("td",null,[e.is_finished?((0,m.wg)(),(0,m.iD)("p",Xa,"Ukončený")):(0,m.kq)("",!0),e.is_finished?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("p",Ga,"Neukončený"))]),(0,m._)("td",Qa,[(0,m._)("div",ei,[((0,m.wg)(),(0,m.iD)(m.HY,{key:0},[(0,m._)("img",{class:"pencil-icon ml-2",src:l.eye,alt:"pencil-icon",onClick:(0,a.iM)((t=>n.openTaskModal(e)),["stop"])},null,8,ti),(0,m._)("img",{class:"office-icon",src:l.office365},null,8,si)],64))])])])))),128))])])),_:1})}var ii=s(65687),li={props:{subtasks:{type:Array,required:!0}},data(){return{checkmark:ii.d2,bin:ii.Ly,eye:ii.iy,office365:ii.QS}},computed:{...(0,U.Se)("tm",["enrichedEmployees"]),enrichedtasks(){return this.subtasks.map((e=>{const t=this.enrichedEmployees.find((t=>t.id==e.employee_id));return{...e,_employeeInitials:t?t._initials:"?",_employeeFullName:t?t._fullName:""}}))}},methods:{openDeleteTaskModal(e){this.$events.emit("show-delete-task-modal",{subtask:e})},openTaskModal(e){return this.editOfficeEvent(e)},async clickCompleteTask(e){this.$events.emit("show-complete-task-modal",{subtask:e})},editOfficeEvent(e){this.$events.emit("show-unable-to-edit-office-task-modal",{subtask:e})}}};const ni=(0,$.Z)(li,[["render",ai],["__scopeId","data-v-1f594a8c"]]);var oi=ni;function ri(e,t,s,a,i,l){const n=(0,m.up)("Z-status"),o=(0,m.up)("Z-deadline"),r=(0,m.up)("Z-created-by"),d=(0,m.up)("Z-team"),u=(0,m.up)("Z-planned-time"),c=(0,m.up)("Z-remaining-time"),h=(0,m.up)("Z-spent-time"),p=(0,m.up)("Z-description"),v=(0,m.up)("Z-files");return(0,m.wg)(),(0,m.iD)(m.HY,null,[(0,m.Wm)(n,{status:s.mastertask.is_finished},null,8,["status"]),(0,m.Wm)(o,{deadline:s.mastertask.deadline},null,8,["deadline"]),(0,m.Wm)(r,{"employee-id":s.mastertask.created_by},null,8,["employee-id"]),(0,m.Wm)(d,{team:s.mastertask.team,employees:s.mastertask._allEmployees||s.mastertask.employees},null,8,["team","employees"]),(0,m.Wm)(u,{hours:s.mastertask.duration},null,8,["hours"]),(0,m.Wm)(c,{hours:s.mastertask.duration-s.mastertask.time_worked},null,8,["hours"]),(0,m.Wm)(h,{hours:s.mastertask.time_worked,"is-exceeded":s.mastertask.time_worked>s.mastertask.duration},null,8,["hours","is-exceeded"]),(0,m.Wm)(p,{description:s.mastertask.description},null,8,["description"]),(0,m.Wm)(v,{files:s.mastertask.files},null,8,["files"])],64)}const di={class:"d-flex align-center"},ui=(0,m._)("p",{class:"mx-3"},"Deadline",-1);function ci(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",di,[(0,m.Wm)(w.t,{icon:"mdi-calendar-week",size:"large"}),ui])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",{class:(0,k.C_)(""+(i.tmUtils.isAfter(s.deadline)?"text-black":"text-red-darken-4"))},(0,k.zw)(i.tmUtils.formatDateTime(s.deadline)),3)])),_:1})])),_:1})])),_:1})}var mi={props:{deadline:{type:String,required:!0}},data(){return{tmUtils:A.Z}}};const hi=(0,$.Z)(mi,[["render",ci]]);var pi=hi;const vi={key:0,class:"px-5 py-5 border-bottom"},ki=(0,m._)("p",null,"Popis zadania",-1),fi=["innerHTML"],gi={key:1,class:"px-5 py-5 border-bottom"},_i=(0,m._)("p",null,"Popis mastertasku",-1),bi=["innerHTML"];function wi(e,t,s,a,i,l){return(0,m.wg)(),(0,m.iD)(m.HY,null,[s.description?((0,m.wg)(),(0,m.iD)("div",vi,[ki,(0,m._)("section",{innerHTML:i.preparedDescription,class:"description-detail px-2 py-2 w-100 rounded mt-2"},null,8,fi)])):(0,m.kq)("",!0),s.inheritedDescription?((0,m.wg)(),(0,m.iD)("div",gi,[_i,(0,m._)("section",{innerHTML:i.preparedInheritedDescription,class:"description-detail px-2 py-2 w-100 rounded mt-2"},null,8,bi)])):(0,m.kq)("",!0)],64)}var yi={props:{description:{type:String||null,default:()=>null},inheritedDescription:{type:String||null,default:()=>null}},data(){return{copiedIndices:[],preparedDescription:"",preparedInheritedDescription:""}},mounted(){this.preparedDescription=Ds(this.description),this.preparedInheritedDescription=Ds(this.inheritedDescription)}};const Di=(0,$.Z)(yi,[["render",wi]]);var Mi=Di;const Ti={class:"d-flex align-center"},$i=(0,m._)("p",{class:"mx-3"},"Naplánovaný čas",-1);function Ci(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Ti,[(0,m.Wm)(w.t,{icon:"mdi-clock-time-three-outline",size:"large"}),$i])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",null,(0,k.zw)(s.hours)+" h",1)])),_:1})])),_:1})])),_:1})}var ji={props:{hours:{type:Number,required:!0}}};const Ei=(0,$.Z)(ji,[["render",Ci]]);var xi=Ei;const Wi={class:"d-flex align-center"},Si=(0,m._)("p",{class:"mx-3"},"Zostávajúci čas",-1);function Oi(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center border-bottom"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Wi,[(0,m.Wm)(w.t,{icon:"mdi-clock-time-three-outline",size:"large"}),Si])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",null,(0,k.zw)(s.hours)+" h",1)])),_:1})])),_:1})])),_:1})}var Vi={props:{hours:{type:Number,required:!0}}};const zi=(0,$.Z)(Vi,[["render",Oi]]);var Ai=zi;const Ui={class:"d-flex align-center"},Zi=(0,m._)("p",{class:"mx-3"},"Odpracovaný čas",-1);function Hi(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":""},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Ui,[(0,m.Wm)(w.t,{icon:"mdi-clock-time-three-outline",size:"large"}),Zi])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",{class:(0,k.C_)(s.isExceeded?"text-red-darken-4":"text-black")},(0,k.zw)(s.hours)+" h",3)])),_:1})])),_:1})])),_:1})}var Ii={props:{hours:{type:Number,required:!0},isExceeded:{type:Boolean,required:!0}}};const Fi=(0,$.Z)(Ii,[["render",Hi]]);var Pi=Fi;const Li={class:"d-flex align-center"},Ni=(0,m._)("p",{class:"mx-3"},"Status",-1),Yi={key:0,class:"status-badge px-4 py-2 rounded-pill"},qi={key:1,class:"status-badge px-4 py-2 rounded-pill"};function Bi(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Li,[(0,m.Wm)(w.t,{icon:"mdi-drag-vertical",size:"large"}),Ni])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[1==s.status?((0,m.wg)(),(0,m.iD)("p",Yi,"Ukončený")):0==s.status?((0,m.wg)(),(0,m.iD)("p",qi,"Neukončený")):(0,m.kq)("",!0)])),_:1})])),_:1})])),_:1})}var Ri={props:{status:{type:Number,required:!0}}};const Ki=(0,$.Z)(Ri,[["render",Bi]]);var Ji=Ki;const Xi={class:"d-flex align-center"},Gi=(0,m._)("p",{class:"mx-3"},"Tím",-1),Qi={class:"task-badge px-4 py-2 rounded-pill flex-shrink-0"},el={class:"employee-selected-avatar d-flex justify-center align-center"},tl={class:"ml-2"},sl=(0,m._)("div",{class:"mb-4"},null,-1),al=(0,m._)("p",{class:"task-badge px-4 py-2 rounded-pill flex-shrink-0"},"Nepriradený",-1),il={class:"employee-selected-avatar d-flex justify-center align-center"},ll={class:"ml-2"};function nl(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Oe.o,{"no-gutters":""},{default:(0,m.w5)((()=>[(0,m.Wm)(Ve.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Xi,[(0,m.Wm)(w.t,{icon:"mdi-account-multiple-outline",size:"large"}),Gi])])),_:1})])),_:1}),(0,m.Wm)(Ve.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3 d-flex flex-wrap flex-column"},{default:(0,m.w5)((()=>[s.team?((0,m.wg)(),(0,m.iD)(m.HY,{key:0},[(0,m._)("p",Qi,(0,k.zw)(s.team.name),1),((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(l.enrichedEmployeesInTeam,(e=>((0,m.wg)(),(0,m.iD)("div",{class:"d-flex align-center flex-shrink-0 mt-2 task-badge px-4 py-2 rounded-pill",key:e.id},[(0,m._)("p",el,(0,k.zw)(e._initials),1),(0,m._)("p",tl,(0,k.zw)(e._fullName),1)])))),128)),sl],64)):(0,m.kq)("",!0),al,((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(l.enrichedEmployeesOutsideTeam,(e=>((0,m.wg)(),(0,m.iD)("div",{class:"d-flex align-center flex-shrink-0 mt-2 task-badge px-4 py-2 rounded-pill",key:e.id},[(0,m._)("p",il,(0,k.zw)(e._initials),1),(0,m._)("p",ll,(0,k.zw)(e._fullName),1)])))),128))])),_:1})])),_:1})])),_:1})}var ol={props:{team:{type:Object,required:!1},employees:{type:Array,required:!0}},computed:{enrichedEmployeesInTeam(){return this.team?.employees?A.Z.enrichEmployees(this.team.employees):[]},enrichedEmployeesOutsideTeam(){if(!this.team)return A.Z.enrichEmployees(this.employees);const e=this.employees.filter((e=>!this.team.employees.find((t=>t.id==e.id))));return A.Z.enrichEmployees(e)}}};const rl=(0,$.Z)(ol,[["render",nl]]);var dl=rl,ul={components:{ZCreatedBy:Dt,ZDeadline:pi,ZDescription:Mi,ZFiles:Zs,ZPlannedTime:xi,ZRemainingTime:Ai,ZSpentTime:Pi,ZStatus:Ji,ZTeam:dl},props:{mastertask:{type:Object,required:!0}}};const cl=(0,$.Z)(ul,[["render",ri]]);var ml=cl,hl=s(15941),pl={emits:["master-task-edited","close"],mixins:[Ge,Qe,Z.Z,M],components:{AMastertaskDescription:ml,ATasksTable:oi,Datepicker:De.Z,ZFilesUpload:Se,QuillEditor:r.Bn},data(){return{deadline:null,editMode:!1,visible:!1,errorUtils:z.Z,v$:(0,O.ZP)(),mastertask:null,isSaving:!1,showAddEmployeeInput:!1,date:null,projectCodeSearch:null}},computed:{...(0,U.Se)("tm",["teams","projects","enrichedEmployees"]),enrichedSubtasks(){return this.mastertask?.subtasks?this.mastertask.subtasks.map((e=>{const t=this.enrichedEmployees.find((t=>t.id==e.employee_id));return{...e,_initials:t?t.name.charAt(0)+t.surname.charAt(0):"?",_fullName:t?`${t.name} ${t.surname}`:""}})).filter((e=>null!==e)):null}},validations(){const e=e=>!!(e&&e.length&&e.replace(/<[^>]*>/g,"").length);return{mastertask:{employees:{required:V.C1,minLength:(0,V.Ei)(1),$each:{duration:{required:V.C1}}},project_id:{required:V.C1},name:{required:V.C1},description:{quillEditorRequired:e},deadline:{required:V.C1},_deadline_time:{required:V.C1}}}},mounted(){this.$events.on("close-both-modals",this.closeBothModals),this.$events.on("master-task:team-member-deleted",(({teamId:e,memberId:t})=>{this.mastertask.team_id==e&&(this.mastertask.employees=this.mastertask.employees.filter((e=>e.id!=t)))})),this.$events.on("on-mastertask-deleted",(e=>{e?.id==this.mastertask?.id&&this.closeModal()})),this.$events.on("on-subtask-deleted",(e=>{this.mastertask&&(this.mastertask.subtasks=this.mastertask.subtasks.filter((t=>t.id!=e.id)))})),this.$events.on("on-subtask-edited",(e=>{this.mastertask?.subtasks&&(this.mastertask.subtasks.find((t=>t.id==e.id))?this.mastertask.subtasks=this.mastertask.subtasks.map((t=>t.id==e.id?e:t)):this.mastertask.subtasks.push(e))}))},beforeUnmount(){this.$events.off("on-mastertask-deleted"),this.$events.off("on-subtask-deleted"),this.$events.off("on-subtask-edited"),this.$events.off("master-task:team-member-deleted"),this.$events.off("close-both-modals",this.closeBothModals)},methods:{closeBothModals(){this.$emit("close"),this.visible=!1},removeEmployee({id:e}){this.mastertask.employees=this.mastertask.employees.filter((t=>t.id!=e))},removeMemberAlert(e){const t=this.mastertask.team;this.$events.emit("show-delete-team-member-modal",{member:e,team:t})},async showModal({mastertask:e,editMode:t=!1}){this.isSaving=!1,this.editMode=null,this.visible=!0,this.mastertask=null,this.$nextTick((()=>{this.setFocusEvent(),this.v$.$reset()}));try{if(e?.id){this.mastertask=await this.$axios.get_auth_data(`v1/mastertasks/${e.id}`);const t=this.projects.find((e=>e.code==this.mastertask.project_code));this.mastertask.project_id=t?.id||null,this.mastertask.team_id=this.mastertask.team?.id||null,this.mastertask._allEmployees=this.mastertask.subtasks.map((({employee_id:e,duration:t})=>{const s=this.enrichedEmployees.find((({id:t})=>t==e));return s?(s.duration=t,s):null})).filter((e=>null!==e))}else{const e=localStorage.getItem("mastertaskData");try{if(!e)throw new Error("mastertaskData is null or undefined");{const t=JSON.parse(e);if(this.mastertask=t,"object"!==typeof this.mastertask||null===this.mastertask)throw new Error("Parsed mastertask is not an object");this.$nextTick((()=>{this.$refs["description"]?.setHTML(this.mastertask.description||"")}))}}catch(s){hl.error("Error parsing mastertaskData:",s),this.mastertask={employees:[],duration:0,_deadline_time:"17:00"}}}this.editMode=t||!this.mastertask.id}catch(s){this.$toast.error(s.message||s)}},toggleIsFinished(){this.$events.emit("show-complete-master-task-modal",{mastertask:this.mastertask})},async save(){this.mastertask.id&&(this.mastertask.employees=this.mastertask.employees.map((e=>{const{duration:t}=this.mastertask.subtasks.find((({employee_id:t})=>t==e.id))||{};return e.duration=t,e})));const e=await this.v$.$validate(),t=await this._validateEmployees();if(e&&t){this.$refs["description"]&&(this.mastertask.description=this.$refs["description"].getHTML()),this._mergeDeadlineTimeDate();try{this.isSaving=!0,this.mastertask.deadline=Re()(this.mastertask.deadline).format("YYYY-MM-DD HH:MM:SS"),this.mastertask.id?await this.$axios.patch_auth_form(`v1/mastertasks/${this.mastertask.id}`,this.mastertask):await this.$axios.post_auth_data("v1/mastertasks",this.mastertask),localStorage.removeItem("mastertaskData"),this.$emit("master-task-edited",this.mastertask),this.closeModal()}catch(s){this.$toast.error(this.$parseError(s))}finally{this.isSaving=!1}}},filesUploaded(e){this.mastertask.files=e},closeModal(){this.visible=!1},openDeleteMasterTaskModal(e){this.$events.emit("show-delete-master-task-modal",{mastertask:e})},addTask(){this.$events.emit("show-subtask-modal",{subtask:{master_task_id:this.mastertask.id,project_code:this.mastertask.project_code}})},onQuillEditorInput(){this.mastertask.description=this.$refs["description"].getHTML()},_mergeDeadlineTimeDate(){const e=new Date(this.mastertask.deadline);hl.log("z-master-task-modal",this.subtask);const t=this.mastertask._deadline_time.split(":");e.setHours(parseInt(t[0])),e.setMinutes(parseInt(t[1])),this.mastertask.deadline=e},_validateEmployees(){let e=!0;return this.mastertask.employees=this.mastertask.employees.map((t=>(t.duration||(t.invalid=!0,e=!1),t))),e}},watch:{editMode(){this.$nextTick((()=>{if(this.$refs["description"]?.setHTML(this.mastertask.description||""),!this.mastertask?.id)return;const e=new Date(this.mastertask.deadline),t=e.getHours(),s=e.getMinutes();this.mastertask._deadline_time=`${t.toString().padStart(2,"0")}:${s.toString().padStart(2,"0")}`}))},mastertask:{handler(e){this.editMode&&!this.mastertask?.id&&localStorage.setItem("mastertaskData",JSON.stringify(e))},deep:!0},"mastertask.team_id":{handler(e,t){if(this.editMode&&!e&&t){const e=this.teams.find((e=>e.id==t))?.employees.map((e=>e?.id))||[],s=this.mastertask.employees.filter((t=>!e.includes(t?.id)));this.mastertask.employees=s}},deep:!0}}};const vl=(0,$.Z)(pl,[["render",La],["__scopeId","data-v-5da18474"]]);var kl=vl,fl=s(41888),gl=s(89234);const _l=(0,m._)("h1",{class:"text-h5"}," Chcete túto osobu odstrániť z tímu? ",-1);function bl(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(b.B,{modelValue:i.visible,"onUpdate:modelValue":t[2]||(t[2]=e=>i.visible=e),"max-width":"500",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[_l,(0,m.Wm)(fl.Z,null,{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(i.member.name+" "+i.member.surname)+" bude odstránený/á z teamu.",1)])),_:1}),(0,m.Wm)(_.h,null,{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button secondary",variant:"text",onClick:t[0]||(t[0]=e=>l.closeModal())},{default:(0,m.w5)((()=>[(0,m.Uk)(" Zrušiť ")])),_:1}),(0,m.Wm)(gl.C),(0,m.Wm)(f.T,{class:"button primary",variant:"text",onClick:t[1]||(t[1]=e=>l.deleteMember())},{default:(0,m.w5)((()=>[(0,m.Uk)(" Áno ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var wl={mixins:[M],data(){return{visible:!1,member:null,team:null}},methods:{async showModal({member:e,team:t}){this.member=e,this.team=t,this.visible=!0},closeModal(){this.visible=!1},async deleteMember(){this.team.employees=[...this.team.employees].filter((e=>e.id!==this.member.id));try{if(this.team.id){const{team:e}=await this.$axios.put_auth(`v1/teams/${this.team.id}`,this.team);this.$store.commit("tm/update_team",e)}else{const{team:e}=await this.$axios.post_auth("v1/teams",this.team);this.$store.commit("tm/save_team",e)}this.$events.emit("master-task:team-member-deleted",{teamId:this.team.id,memberId:this.member.id}),this.closeModal()}catch(e){this.$toast.error(this.$parseError(e))}},_enrichTeam(e){return e.employees=A.Z.enrichEmployees(e.employees),e}}};const yl=(0,$.Z)(wl,[["render",bl]]);var Dl=yl;const Ml={class:"d-flex justify-space-between align-center"},Tl=(0,m._)("h1",null,"Vytvoriť",-1);function $l(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(b.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",Ml,[Tl,(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[1]||(t[1]=(0,a.iM)((e=>n.createTask()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("SUB TASK")])),_:1}),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[2]||(t[2]=(0,a.iM)((e=>n.createBlocker()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("BLOCKER")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var Cl={emits:["update","data"],props:["data"],mixins:[M],data(){return{visible:!1,localData:null}},mounted(){this.$events.on("blocker-created",(()=>{this.closeModal()})),this.$events.on("task-created",(()=>{this.closeModal()}))},methods:{async showModal(e){this.localData=e,this.visible=!0},closeModal(){this.visible=!1},createTask(){this.$events.emit("show-subtask-modal",{subtask:{deadline:this.localData.date,_deadline_time:this.localData.time,employee_id:this.localData.employee},onTaskCreated:()=>{this.closeModal()}})},createBlocker(){this.$events.emit("show-blocker-modal",{blocker:{starts_at_time:this.localData.time,datepicker:this.localData.date,employee_id:this.localData.employee},onBlockerCreated:()=>{this.closeModal()}})}}};const jl=(0,$.Z)(Cl,[["render",$l]]);var El=jl;const xl={class:"d-flex justify-space-between align-center"},Wl=(0,m._)("h1",null,"Sub Task zosynchronizovaný z Office365 sa nedá upravovat. Upravte ho vo svojom kalendári a pockajte na zosynchronizovanie s Task Managerom",-1);function Sl(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(b.B,{modelValue:l.visible,"onUpdate:modelValue":t[1]||(t[1]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",xl,[Wl,(0,m.Wm)(w.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})])])),_:1})])),_:1},8,["modelValue"])}var Ol=s(15941),Vl={mixins:[M],emits:["close","on-subtask-edited"],data(){return{visible:!1,subtask:null}},methods:{async showModal({subtask:e}){this.subtask=e,this.visible=!0},async complete(){Ol.log("complete")},closeModal(){this.visible=!1}}};const zl=(0,$.Z)(Vl,[["render",Sl]]);var Al=zl,Ul={components:{ZDeleteTeamModal:j,ZTeamModal:P,ZDeleteTaskModal:B,ZDeleteBlockerModal:aa,ZTaskModal:Gs,ZMasterTaskModal:kl,ZCompleteTaskModal:ra,ZTaskAddTimeModal:_a,ZBlockerModal:Ma,ZDeleteMasterTaskModal:Ea,ZDeleteTeamMemberModal:Dl,ZShowMenuModal:El,ZCompleteMasterTaskModal:ha,ZDeleteTimeBlockModal:ee,ZUnableToEditOfficeTaskModal:Al},mounted(){this.$events.on("show-menu-modal",(e=>{this.$refs["z-show-menu-modal"].showModal(e)})),this.$events.on("show-delete-team-modal",(({team:e})=>{this.$refs["z-delete-team-modal"].showModal({team:e})})),this.$events.on("show-team-modal",(({team:e})=>{this.$refs["z-team-modal"].showModal({team:e})})),this.$events.on("show-delete-task-modal",(({subtask:e})=>{this.$refs["z-delete-task-modal"].showModal({subtask:e})})),this.$events.on("show-delete-timeblock-modal",(({subtask:e})=>{this.$refs["z-delete-timeblock-modal"].showModal({subtask:e})})),this.$events.on("show-delete-blocker-modal",(({blocker:e})=>{this.$refs["z-delete-blocker-modal"].showModal({blocker:e})})),this.$events.on("show-delete-master-task-modal",(({mastertask:e})=>{this.$refs["z-delete-master-task-modal"].showModal({mastertask:e})})),this.$events.on("show-delete-team-member-modal",(({member:e,team:t})=>{this.$refs["z-delete-team-member-modal"].showModal({member:e,team:t})})),this.$events.on("show-subtask-modal",(({subtask:e,editMode:t,mastertask:s})=>{if(e&&e.id){const t=e.id;this.$router.push({query:{subtask:t}})}this.$refs["z-task-modal"].showModal({subtask:e,editMode:t,mastertask:s})})),this.$events.on("show-mastertask-modal",(({mastertask:e,editMode:t})=>{if(e&&e.id){const t=e.id;this.$router.push({query:{mastertask:t}})}this.$refs["z-master-task-modal"].showModal({mastertask:e,editMode:t})})),this.$events.on("show-complete-task-modal",(({subtask:e})=>{this.$refs["z-complete-task-modal"].showModal({subtask:e})})),this.$events.on("show-complete-master-task-modal",(({mastertask:e})=>{this.$refs["z-complete-master-task-modal"].showModal({mastertask:e})})),this.$events.on("show-blocker-modal",(({blocker:e={}})=>{this.$refs["z-blocker-modal"].showModal({blocker:e})})),this.$events.on("show-task-add-time-modal",(({subtask:e})=>{this.$refs["z-task-add-time-modal"].showModal({subtask:e})})),this.$events.on("on-subtask-edited",(()=>{this.$store.dispatch("tm/reloadSubtasks")})),this.$events.on("on-mastertask-edited",(()=>{this.$store.dispatch("tm/reloadMastertasks")})),this.$events.on("on-mastertask-deleted",(()=>{this.$store.dispatch("tm/reloadMastertasks")})),this.$events.on("show-unable-to-edit-office-task-modal",(({subtask:e})=>{this.$refs["z-unable-to-edit-office-task-modal"].showModal({subtask:e})})),this._showModalsAfterInicialization()},methods:{onTeamUpdate(e){this.$events.emit("on-team-update",e)},onTaskDeleted(e){this.$events.emit("on-subtask-deleted",e)},onBlockerDeleted(e){this.$events.emit("on-blocker-deleted",e)},onTaskEdited(e){this.$events.emit("on-subtask-edited",e)},onMasterTaskDeleted(e){this.$events.emit("on-mastertask-deleted",e)},onMasterTaskEdited(e){this.$events.emit("on-mastertask-edited",e)},_showModalsAfterInicialization(e=0){setTimeout((()=>e>50?this.$router.push({name:this.$route.name}):this.$store.getters["tm/isInitialized"]?this.$route.query["mastertask"]?this.$events.emit("show-mastertask-modal",{mastertask:{id:this.$route.query["mastertask"]},editMode:!1}):this.$route.query["subtask"]?this.$events.emit("show-subtask-modal",{subtask:{id:this.$route.query["subtask"]},editMode:!1}):void 0:this._showModalsAfterInicialization(e+1)),300)}}};const Zl=(0,$.Z)(Ul,[["render",v]]);var Hl=Zl,Il=s(22483),Fl=(0,U.MT)({state:{},getters:{},mutations:{},actions:{},modules:{}});const Pl=[{path:"",redirect:"/auth"},{path:"/auth/",component:()=>s.e(9033).then(s.bind(s,99033)),children:[{path:"",redirect:"/auth/login"},{path:"/auth/login",name:"Login",component:()=>s.e(1097).then(s.bind(s,21097)),meta:{requiresAuth:!1}},{path:"/auth/forgot-password",name:"Forgot password",component:()=>s.e(924).then(s.bind(s,40924)),meta:{requiresAuth:!1}},{path:"/auth/forgot-success",name:"Forgot success",component:()=>s.e(8731).then(s.bind(s,28731)),meta:{requiresAuth:!1}},{path:"/auth/reset-password",name:"Reset password",component:()=>s.e(4518).then(s.bind(s,54518)),meta:{requiresAuth:null}}]},{path:"/app",component:()=>s.e(2612).then(s.bind(s,32612)),children:[{path:"",redirect:"/app/dashboard"},{path:"/app/dashboard",redirect:"/app/dashboard/tasks",children:[{path:"/app/dashboard/tasks",name:"Dashboard - Tasks",meta:{title:"Sub Tasks",requiresAuth:!0},component:()=>Promise.all([s.e(6431),s.e(6881)]).then(s.bind(s,88624))},{path:"/app/dashboard/teams",name:"Dashboard - Teams",meta:{title:"Teams Overview",requiresAuth:!0},component:()=>Promise.all([s.e(6431),s.e(4628)]).then(s.bind(s,63124))},{path:"/app/dashboard/projects",name:"Dashboard - Projects",meta:{title:"Projects overview",requiresAuth:!0},component:()=>s.e(3862).then(s.bind(s,3862))},{path:"/app/overview/unscheduled",name:"Overview - Unscheduled tasks",meta:{title:"Unscheduled Sub Tasks",requiresAuth:!0},component:()=>s.e(7910).then(s.bind(s,47910))},{path:"/app/overview/ongoing",name:"Overview - Ongoing tasks",meta:{title:"Ongoing Sub Tasks",requiresAuth:!0},component:()=>s.e(9730).then(s.bind(s,89730))},{path:"/app/overview/teams",name:"Overview - Teams",meta:{title:"Teams",requiresAuth:!0},component:()=>s.e(7073).then(s.bind(s,97073))},{path:"/app/dashboard/user",name:"Dashboard - User",meta:{title:"Profile",requiresAuth:!0},component:()=>s.e(907).then(s.bind(s,20907))},{path:"/app/search",name:"Search",meta:{title:"Search Results",requiresAuth:!0},component:()=>s.e(4392).then(s.bind(s,44392))}]}]},{path:"/:catchAll(.*)",name:"404",component:()=>s.e(188).then(s.bind(s,60188)),meta:{requiresAuth:null}}],Ll=(0,Il.p7)({history:(0,Il.r5)("/"),routes:Pl});Ll.beforeEach(((e,t,s)=>{const a=Fl.getters["auth/isLoggedIn"];return!0===e.meta.requiresAuth?a?s():s({name:"Login"}):!1===e.meta.requiresAuth&&a?s({name:"Dashboard - Tasks"}):s()}));var Nl=Ll,Yl=s(34311),ql=s(15941);Yl.Z.defaults.baseURL="https://tm.jandl.sk/api/";var Bl={async get(e,t){return Yl.Z.get(e,t).then((e=>e.data)).catch((e=>Promise.reject(e)))},async get_auth(e,t){return t=this._config(t),Yl.Z.get(e,t).then((e=>e.data)).catch((e=>Promise.reject(e)))},async get_data(e,t){return Yl.Z.get(e,t).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async get_auth_data(e,t){return t=this._config(t),Yl.Z.get(e,t).then((e=>Promise.resolve(e.data.data))).catch((e=>Promise.reject(e.response||e)))},async post(e,t=null,s){return Yl.Z.post(e,t,s).then((e=>e.data)).catch((e=>Promise.reject(e)))},async post_auth(e,t=null,s){return s=this._config(s),Yl.Z.post(e,t,s).then((e=>e.data)).catch((e=>Promise.reject(e)))},async post_data(e,t=null,s){return Yl.Z.post(e,t,s).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async post_auth_data(e,t=null,s){return s=this._config(s),Yl.Z.post(e,t,s).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async delete(e,t){return Yl.Z["delete"](e,t).then((e=>e.data)).catch((e=>Promise.reject(e)))},async delete_auth(e,t){return t=this._config(t),Yl.Z["delete"](e,t).then((e=>e.data)).catch((e=>Promise.reject(e)))},async delete_data(e,t){return Yl.Z["delete"](e,t).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async delete_auth_data(e,t){return t=this._config(t),Yl.Z["delete"](e,t).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async patch(e,t=null,s){return Yl.Z.patch(e,t,s).then((e=>e.data)).catch((e=>Promise.reject(e)))},async patch_auth(e,t=null,s){return s=this._config(s),Yl.Z.patch(e,t,s).then((e=>e.data)).catch((e=>Promise.reject(e)))},async patch_data(e,t=null,s){return Yl.Z.patch(e,t,s).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async patch_auth_data(e,t=null,s){return s=this._config(s),Yl.Z.patch(e,t,s).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async put(e,t=null,s){return Yl.Z.put(e,t,s).then((e=>e.data)).catch((e=>Promise.reject(e)))},async put_auth(e,t=null,s){return s=this._config(s),Yl.Z.put(e,t,s).then((e=>e.data)).catch((e=>Promise.reject(e)))},async put_data(e,t=null,s){return Yl.Z.put(e,t,s).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async put_auth_data(e,t=null,s){return s=this._config(s),Yl.Z.put(e,t,s).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},_config(e){return e&&ql.error("NOT IMPLEMENTED"),Fl.getters["auth/token"]?{headers:{Authorization:`Bearer ${Fl.getters["auth/token"]}`}}:{headers:{}}}},Rl={install:(e,t)=>{t&&!0===t.disabled||(e.config.globalProperties.$axios=Bl)}},Kl=s(82482);const Jl=e=>Object.entries(e).map((e=>e.map(encodeURIComponent).join("="))).join("&");function Xl(e){let t=e;return t=t.replace(/\//g,"\\/"),t=t.replace(/\./g,"\\."),t=t.replace(/\([^)]+\)/g,"[^/]+"),t}var Gl=s(15941);class Ql{constructor(){(0,Kl.Z)(this,"_mocks",{}),Yl.Z.interceptors.request.use(this._redirectRequestToMock.bind(this)),this._mocks={}}mock(e){for(const t in e){let s=e[t];!1!==s&&(s={},s.name=t,s.url=t.split(" ")[1],s.reUrl||(s.reUrl=Xl(s.url)),s.matchMethod||(s.matchMethod=t.split(" ")[0].toLowerCase()),this._mocks[t]=s)}}_redirectRequestToMock(e){const t=e.url.replace(/https?:\/\/[^/?]+/,"");let s;for(const a in this._mocks){const i=this._mocks[a];if(e.method==i.matchMethod&&t.match(i.reUrl)){s=i;break}}if(s){s.fname||(s.fname={VUE_APP_WAXIOS_URL:"https://tm.jandl.sk/api/",NODE_ENV:"production",BASE_URL:"/"}.VUE_APP_PLATFORM?`/mock/${{VUE_APP_WAXIOS_URL:"https://tm.jandl.sk/api/",NODE_ENV:"production",BASE_URL:"/"}.VUE_APP_PLATFORM}/${s.url}.${e.method.toUpperCase()}.json`:`/mock/${s.url}.${e.method.toUpperCase()}.json`),Gl.log(s.fname=`/mock/${s.url}.${e.method.toUpperCase()}.json`);const t={method:"get",url:window.location.origin+s.fname+"?___MOCK___&"+Jl(e.data||{})};e={...e,...t}}return e}}var en={install:(e,t)=>{const s=new Ql;t&&t.routes&&Object.values(t.routes).length&&!0!==t.disabled&&s.mock(t.routes)}},tn=s(8069),sn={install:(e,t)=>{if(t&&!0===t.disabled)return;const s=(0,tn.Z)();e.config.globalProperties.$events=s}},an=s(44870),ln=s(5658),nn=s(31310),on=s(15941);class rn{constructor(e){(0,Kl.Z)(this,"currentLanguage",(0,an.iH)()),(0,Kl.Z)(this,"availableLanguages",void 0),(0,Kl.Z)(this,"vendorI18n",void 0),(0,Kl.Z)(this,"defaultLanguage",void 0),(0,Kl.Z)(this,"languageKey",void 0),(0,Kl.Z)(this,"_missingTranslation",((e,t,s,a)=>t)),(0,Kl.Z)(this,"_postTranslation",(e=>e)),this.availableLanguages=e.languages||[],this.defaultLanguage=e.languages.find((t=>t.value==e.defaultLanguage)),this.languageKey=e.languageKey||{VUE_APP_WAXIOS_URL:"https://tm.jandl.sk/api/",NODE_ENV:"production",BASE_URL:"/"}.VUE_APP_PLATFORM+"_language"||0,this.vendorI18n=(0,ln.o)({legacy:!0,fallbackLocale:this.defaultLanguage.value,messages:this._loadLocaleMessages(),missing:this._missingTranslation,postTranslation:this._postTranslation}),this.changeLanguage({title:"Slovenský",flag:"sk",value:"sk"}),this.initCurrentLanguage()}async initCurrentLanguage(){const{value:e}=await nn.u.get({key:this.languageKey});if(e)this.currentLanguage.value=JSON.parse(e);else if(this.defaultLanguage)this.currentLanguage.value=this.defaultLanguage;else{if(!this.availableLanguages[0])return on.error("[w18n] Could not init current language");this.currentLanguage.value=this.availableLanguages[0]}const t={};this.availableLanguages.forEach((e=>{t[e.value]=e.title})),this.changeLanguage(this.currentLanguage.value),this._addAxiosHeaders()}changeLanguage(e){this.currentLanguage.value=e,this._addAxiosHeaders(),nn.u.set({key:this.languageKey,value:JSON.stringify(e)}),this.vendorI18n.global.locale=e.value}_addAxiosHeaders(){Yl.Z.interceptors.request.use((e=>(this.currentLanguage.value&&this.currentLanguage.value.value&&(e.headers["Accept-Language"]=this.currentLanguage.value.value),e))),Yl.Z.interceptors.response.use((e=>e),(e=>(e.response&&Yl.Z.post("https://logger.wezeo.dev/cms/api/data/new",{data:JSON.stringify(e)}),Promise.reject(e?.response||e))))}_loadLocaleMessages(e="@/locales"){let t;try{t=s(8973)}catch(i){return on.warn("[@wezeo/i18n] Could not initialize i18n. Missing folder /src/locales."),{}}const a={};return t.keys().forEach((e=>{const s=e.match(/([A-Za-z0-9-_]+)\./i);if(s&&s.length>1){const i=s[1];a[i]=t(e)}})),a}}var dn=s(15941),un={install:(e,t)=>{if(t&&!0===t.disabled)return;if(!t||!t.languages||!t.defaultLanguage)return dn.warn("[@wezeo/i18n] Could not initialize i18n. Missing configuration options.");e.config.globalProperties.$events||e.use(sn);const s=new rn(t);e.use(s.vendorI18n),e.config.globalProperties.$w18n=s}},cn={install:(e,t)=>{t&&!0===t.disabled||(e.component("ion-content",i.W2),e.component("ion-page",i._i),e.component("ion-label",i.Q$),e.component("ion-back-button",i.oU),e.component("ion-checkbox",i.nz),e.component("ion-text",i.yW),e.component("ion-button",i.YG),e.component("ion-item",i.Ie),e.component("ion-item-group",i.Ub),e.component("ion-item-sliding",i.td),e.component("ion-item-option",i.u8),e.component("ion-item-options",i.IK),e.component("ion-toolbar",i.sr),e.component("ion-header",i.Gu),e.component("ion-footer",i.fr),e.component("ion-slides",i.Hr),e.component("ion-slide",i.A$),e.component("ion-spinner",i.PQ),e.component("ion-row",i.Nd),e.component("ion-col",i.wI),e.component("ion-grid",i.jY),e.component("ion-input",i.pK),e.component("ion-buttons",i.Sm),e.component("ion-icon",i.gu),e.component("ion-img",i.Xz),e.component("ion-list",i.q_),e.component("ion-skeleton-text",i.CK),e.component("ion-title",i.wd),e.component("ion-menu",i.z0),e.component("ion-split-pane",i.jI),e.component("ion-menu-button",i.fG),e.component("ion-router-outlet",i.jP),e.component("ion-segment",i.cJ),e.component("ion-segment-button",i.GO),e.component("ion-virtual-scroll",i.aJ),e.component("ion-textarea",i.g2),e.component("ion-searchbar",i.VI),e.component("ion-refresher-content",i.Wo),e.component("ion-refresher",i.nJ),e.component("ion-infinite-scroll-content",i.MB),e.component("ion-infinite-scroll",i.ju),e.component("ion-avatar",i.BJ),e.component("ion-thumbnail",i.Bs),e.component("ion-modal",i.ki),e.component("ion-radio-group",i.se),e.component("ion-radio",i.B7),e.component("ion-note",i.uN),e.component("ion-card",i.PM),e.component("ion-card-content",i.FN),e.component("ion-tab-bar",i.yq),e.component("ion-tab-button",i.ZU),e.component("ion-menu-toggle",i.zc),e.component("ion-fab",i.IJ),e.component("ion-fab-button",i.W4),e.component("ion-fab-list",i.zq),e.component("ion-reorder-group",i.oz),e.component("ion-reorder",i.Nh),e.component("ion-select",i.t9),e.component("ion-select-option",i.n0),e.component("ion-toggle",i.ho),e.component("ion-badge",i.yp),e.component("ion-chip",i.hM),e.component("ion-tabs",i.UN))}};async function mn(e){return"Unauthenticated."==e?.response?.data?.message?Fl.dispatch("auth/logout"):Promise.reject(e)}Yl.Z.interceptors.response.use((e=>e),(e=>mn(e)));var hn=s(15941),pn={namespaced:!0,state:{token:localStorage.getItem("wzo_vue_user_token")||"",user:JSON.parse(localStorage.getItem("wzo_vue_user_user")||"{}")},mutations:{auth_success(e,t){t.token&&(e.token=t.token,localStorage.setItem("wzo_vue_user_token",t.token)),t.user&&(e.user=t.user,localStorage.setItem("wzo_vue_user_user",JSON.stringify(t.user)))},auth_error(e){e.token="",localStorage.removeItem("wzo_vue_user_token"),localStorage.removeItem("wzo_vue_user_user")},logout(e){e.token="",e.user=null,localStorage.removeItem("wzo_vue_user_token"),localStorage.removeItem("wzo_vue_user_user"),window.open(location.origin,"_self")}},actions:{login({commit:e},t){return new Promise(((s,a)=>{Bl.post("v1/tokens/create",{data:t}).then((t=>{const a=t.token,i=t.user;e("auth_success",{token:a,user:i}),s(t)})).catch((t=>{e("auth_error"),a(t)}))}))},signup({commit:e},t){return new Promise(((s,a)=>{e("auth_request"),Bl.post_data("v1/auth/signup",t).then((t=>{const a=t.token,i=t.user;e("auth_success",{token:a,user:i}),s(t)})).catch((t=>{e("auth_error"),a(t)}))}))},logout({commit:e}){return new Promise((t=>{Bl.post_auth_data("v1/auth/invalidate").finally((()=>{e("logout"),t(null)}))}))},forgotPassword({commit:e},t){return new Promise(((e,s)=>{Bl.post("v1/users/forgot",{data:t}).then((t=>e(t))).catch((e=>s(e)))}))},resetPassword({commit:e},t){return e("auth_success",{token:t.token}),new Promise(((s,a)=>{Bl.post_auth_data("v1/users/reset",{data:t}).then((t=>{e("logout"),s(t)})).catch((e=>a(e)))}))},async refreshToken({commit:e}){try{const t=await Bl.post_auth_data("v1/auth/refresh"),s=t.token,a=t.user;return e("auth_success",{token:s,user:a}),s}catch(t){e("auth_error"),hn.error(t)}},async userInfo({commit:e}){return new Promise(((t,s)=>{Bl.get_auth_data("v1/auth/info").then((s=>{const a=s.user;e("auth_success",{user:a}),t(a)})).catch((e=>{s(e)}))}))},updateUserInfo({commit:e},t){return new Promise(((s,a)=>{Bl.put_auth(`v1/users/${t.id}`,{data:t}).then((t=>{const a=t.user;e("auth_success",{user:a}),s(a)})).catch((e=>{a(e)}))}))}},getters:{isLoggedIn:e=>!!e.token,user:e=>e.user,token:e=>e.token&&void 0!=e.token?e.token:null}},vn=s(15941),kn={install:(e,t)=>{if(!t||1!=t.disabled)return e.config.globalProperties.$store?void e.config.globalProperties.$store.registerModule("auth",pn):vn.warn("[w/auth] Could not initialize. App does not have vuex store added.")}},fn={install:(e,t)=>{t&&!0===t.disabled||(e.use(bs()),e.config.globalProperties.$parseError=e=>e?.data?.message||e?.response?.data?.message||e?.message||e)}};const gn={ref:"loadingContainer"},_n={key:0},bn={key:1},wn={key:2};function yn(e,t,s,a,i,l){return(0,m.wg)(),(0,m.iD)("div",gn,[s.content?s.content.error?((0,m.wg)(),(0,m.iD)("div",bn,(0,k.zw)(s.content.error),1)):"array"==typeof s.content&&!e.array.length||"object"==typeof s.content&&!Object.values(s.content).length?((0,m.wg)(),(0,m.iD)("div",wn,(0,k.zw)(s.emptyMessage),1)):(0,m.WI)(e.$slots,"default",{key:3},void 0,!0):((0,m.wg)(),(0,m.iD)("div",_n))],512)}var Dn={props:{content:{type:[Object,Array,Boolean],default:()=>null},emptyMessage:{type:String,default:"No items"}},data(){return{loader:null}},async mounted(){this.content||await this._startLoading()},methods:{async _startLoading(){},_stopLoading(){}},watch:{}};const Mn=(0,$.Z)(Dn,[["render",yn],["__scopeId","data-v-a2444234"]]);var Tn=Mn,$n={install:(e,t)=>{t&&!0===t.disabled||e.component("W-loadable",Tn)}},Cn={install:(e,t={})=>{sn.install(e,t.events),Rl.install(e,t.axios),un.install(e,t.i18n),en.install(e,t.moxios),cn.install(e,t.ionic),kn.install(e,t.auth),fn.install(e,t.toast),$n.install(e,t.loadable)}},jn={parseAndTranslate(e){const t=this._parseToArrayOfStrings(e);return t.join(", ")},_parseToArrayOfStrings(e){return e?.data?.message?[Tr(e.data.message)]:"string"==typeof e?[Tr(e)]:e?.response?.data?Object.values(e?.response?.data):e&&e.error&&"string"==typeof e.error?[Tr(e.error)]:e&&e.error&&"object"==typeof e.error?Object.values(Tr(e.error)):e.data&&e.data.error&&"string"==typeof e.data.error?[Tr(e.data.error)]:e&&e.data&&e.data.error&&"object"==typeof e.data.error?Object.values(e.data.error).map((e=>Tr(e[0])+" ")):e.statusText?[Tr(e.statusText)]:[e]}},En=s(15941);Yl.Z.defaults.baseURL="https://tm.jandl.sk/api/";var xn={async get(e,t){return Yl.Z.get(e,t).then((e=>e.data)).catch((e=>Promise.reject(jn.parseAndTranslate(e))))},async get_auth(e,t){return t=this._config(t),Yl.Z.get(e,t).then((e=>e.data)).catch((e=>Promise.reject(jn.parseAndTranslate(e))))},async get_data(e,t){return Yl.Z.get(e,t).then((e=>e.data.data)).catch((e=>Promise.reject(jn.parseAndTranslate(e.response||e))))},async get_auth_data(e,t){return t=this._config(t),Yl.Z.get(e,t).then((e=>Promise.resolve(e.data.data))).catch((e=>Promise.reject(jn.parseAndTranslate(e.response||e))))},async post(e,t=null,s){return Yl.Z.post(e,this._objectToFormData(t),s).then((e=>e.data)).catch((e=>Promise.reject(jn.parseAndTranslate(e))))},async post_auth(e,t=null,s){return s=this._config(s),Yl.Z.post(e,this._objectToFormData(t),s).then((e=>e.data)).catch((e=>Promise.reject(jn.parseAndTranslate(e))))},async post_data(e,t=null,s){return Yl.Z.post(e,this._objectToFormData(t),s).then((e=>e.data.data)).catch((e=>Promise.reject(jn.parseAndTranslate(e.response||e))))},async post_auth_data(e,t=null,s){return s=this._config(s),Yl.Z.post(e,this._objectToFormData(t),s).then((e=>e.data.data)).catch((e=>Promise.reject(jn.parseAndTranslate(e.response||e))))},async delete(e,t){return Yl.Z["delete"](e,t).then((e=>e.data)).catch((e=>Promise.reject(jn.parseAndTranslate(e))))},async delete_auth(e,t){return t=this._config(t),Yl.Z["delete"](e,t).then((e=>e.data)).catch((e=>Promise.reject(jn.parseAndTranslate(e))))},async delete_data(e,t){return Yl.Z["delete"](e,t).then((e=>e.data.data)).catch((e=>Promise.reject(jn.parseAndTranslate(e.response||e))))},async delete_auth_data(e,t){return t=this._config(t),Yl.Z["delete"](e,t).then((e=>e.data.data)).catch((e=>Promise.reject(jn.parseAndTranslate(e.response||e))))},async patch(e,t=null,s){return Yl.Z.patch(e,this._objectToFormData(t),s).then((e=>e.data)).catch((e=>Promise.reject(jn.parseAndTranslate(e))))},async patch_auth(e,t=null,s){return s=this._config(s),Yl.Z.patch(e,this._objectToFormData(t),s).then((e=>e.data)).catch((e=>Promise.reject(jn.parseAndTranslate(e))))},async patch_auth_form(e,t=null,s){s=this._config(s),s.headers["Content-Type"]="multipart/form-data";const a=this._objectToFormData(t);return a.append("_method","put"),s.transformRequest=e=>e,Yl.Z.post(e,a,s).then((e=>e.data)).catch((e=>Promise.reject(jn.parseAndTranslate(e))))},async patch_data(e,t=null,s){return Yl.Z.patch(e,this._objectToFormData(t),s).then((e=>e.data.data)).catch((e=>Promise.reject(jn.parseAndTranslate(e.response||e))))},async patch_auth_data(e,t=null,s){return s=this._config(s),Yl.Z.patch(e,this._objectToFormData(t),s).then((e=>e.data.data)).catch((e=>Promise.reject(jn.parseAndTranslate(e.response||e))))},async put(e,t=null,s){return Yl.Z.put(e,this._objectToFormData(t),s).then((e=>e.data)).catch((e=>Promise.reject(jn.parseAndTranslate(e))))},async put_auth(e,t=null,s){return s=this._config(s),Yl.Z.put(e,{data:t},s).then((e=>e.data)).catch((e=>Promise.reject(jn.parseAndTranslate(e))))},async put_data(e,t=null,s){return Yl.Z.put(e,this._objectToFormData(t),s).then((e=>e.data.data)).catch((e=>Promise.reject(jn.parseAndTranslate(e.response||e))))},async put_auth_data(e,t=null,s){return s=this._config(s),Yl.Z.put(e,{data:t},s).then((e=>e.data.data)).catch((e=>Promise.reject(jn.parseAndTranslate(e.response||e))))},_config(e){return e&&En.error("NOT IMPLEMENTED"),Fl.getters["auth/token"]?{headers:{Authorization:`Bearer ${Fl.getters["auth/token"]}`}}:{headers:{}}},_buildFormData(e,t,s){!t||"object"!==typeof t||t instanceof Date||t instanceof File?e.append(s,null==t?"":t):Object.keys(t).forEach((a=>this._buildFormData(e,t[a],s?`${s}[${a}]`:a)))},_objectToFormData(e){const t=new FormData;return this._buildFormData(t,{data:e}),t}},Wn={install:(e,t)=>{t&&!0===t.disabled||(e.config.globalProperties.$axios=xn)}},Sn={namespaced:!0,state:{mastertasks:null,employees:null,teams:null,projects:null,unscheduledSubtasks:null,ongoingSubtasks:null,initialized:!1},mutations:{set_mastertasks(e,t){e.mastertasks=t},set_employees(e,t){e.employees=t},set_teams(e,t){e.teams=t},set_projects(e,t){e.projects=t},set_unscheduled_subtasks(e,t){e.unscheduledSubtasks=t},set_ongoing_subtasks(e,t){e.ongoingSubtasks=t},update_team(e,t){e.teams=e.teams.map((e=>e.id==t.id?t:e))},save_team(e,t){e.teams.push(t)},delete_team(e,t){e.teams=e.teams.filter((e=>e.id!=t.id))},update_subtask(e,t){e.unscheduledSubtasks=e.unscheduledSubtasks.map((e=>e.id==t.id?t:e)),e.ongoingSubtasks=e.ongoingSubtasks.map((e=>e.id==t.id?t:e))},delete_subtask(e,t){e.unscheduledSubtasks=e.unscheduledSubtasks.filter((e=>e.id!=t.id)),e.ongoingSubtasks=e.ongoingSubtasks.filter((e=>e.id!=t.id))},initialized(e){e.initialized=!0}},actions:{initialize({dispatch:e,commit:t}){return Promise.all([e("loadMastertasks"),e("loadEmployees"),e("loadTeams"),e("loadProjects"),e("loadUnscheduledSubtasks"),e("loadOngoingSubtasks")]).then((()=>t("initialized")))},reloadSubtasks({dispatch:e}){return Promise.all([e("loadMastertasks"),e("loadProjects"),e("loadUnscheduledSubtasks"),e("loadOngoingSubtasks")])},reloadMastertasks({dispatch:e}){return Promise.all([e("loadMastertasks")])},loadMastertasks({commit:e}){return new Promise(((t,s)=>{xn.get_auth("v1/mastertasks/?simple=true").then((({mastertasks:s})=>{e("set_mastertasks",s),t(s)})).catch((t=>{e("set_mastertasks",{error:t}),s(t)}))}))},loadEmployees({commit:e}){return new Promise(((t,s)=>{xn.get_auth_data("v1/employees").then((s=>{e("set_employees",s),t(s)})).catch((t=>{e("set_employees",{error:t}),s(t)}))}))},loadTeams({commit:e}){return new Promise(((t,s)=>{xn.get_auth_data("v1/teams").then((s=>{e("set_teams",s),t(s)})).catch((t=>{e("set_teams",{error:t}),s(t)}))}))},loadProjects({commit:e}){return new Promise(((t,s)=>{xn.get_auth_data("v1/projects").then((s=>{e("set_projects",s),t(s)})).catch((t=>{e("set_projects",{error:t}),s(t)}))}))},loadUnscheduledSubtasks({commit:e},t=Fl.getters["auth/user"]?.id){return new Promise(((s,a)=>{xn.get_auth(`v1/subtasks?type=unscheduled&employee_id=${t}`).then((({subtasks:t})=>{e("set_unscheduled_subtasks",t),s(t)})).catch((t=>{e("set_unscheduled_subtasks",{error:t}),a(t)}))}))},loadOngoingSubtasks({commit:e},t=Fl.getters["auth/user"]?.id){return new Promise(((s,a)=>{xn.get_auth(`v1/subtasks?type=ongoing&employee_id=${t}`).then((({subtasks:t})=>{e("set_ongoing_subtasks",t),s(t)})).catch((t=>{e("set_ongoing_subtasks",{error:t}),a(t)}))}))}},getters:{mastertasks:e=>e.mastertasks,employees:e=>e.employees,enrichedEmployees:e=>e.employees?e.employees.map((e=>({...e,_fullName:`${e.name} ${e.surname}`,_initials:e.name.charAt(0)+e.surname.charAt(0)}))).sort(((e,t)=>e.namee.teams,projects:e=>e.projects,unscheduledSubtasks:e=>e.unscheduledSubtasks,ongoingSubtasks:e=>e.ongoingSubtasks,isInitialized:e=>e.initialized}},On={install:e=>{e.config.globalProperties.$store.registerModule("tm",Sn)}};const Vn=["lang"],zn={key:0,class:"vuecal__flex vuecal__body",grow:"grow"},An=["onBlur","innerHTML"],Un=["innerHTML"],Zn=["innerHTML"],Hn={class:"vuecal__flex",row:"row",grow:"grow"},In={key:0,class:"vuecal__time-column"},Fn=(0,m._)("span",{class:"vuecal__time-cell-line"},null,-1),Pn={class:"vuecal__time-cell-label"},Ln={key:1,class:"vuecal__flex vuecal__week-numbers",column:"column"},Nn=["wrap","column"],Yn=["onBlur","innerHTML"],qn=["innerHTML"],Bn=["innerHTML"],Rn=["wrap"],Kn=["innerHTML"],Jn=["innerHTML"],Xn={key:2,class:"vuecal__cell-events-count"},Gn={key:3,class:"vuecal__no-event"},Qn=["onBlur","innerHTML"],eo=["innerHTML"],to={key:2,class:"vuecal__event-time"},so={key:0},ao={key:1,class:"days-to-end"},io=["innerHTML"],lo={key:0,class:"vuecal__scrollbar-check"},no=(0,m._)("div",null,null,-1),oo=[no];function ro(e,t,s,i,l,n){const o=(0,m.up)("vuecal-header"),r=(0,m.up)("all-day-bar"),d=(0,m.up)("weekdays-headings"),u=(0,m.up)("vuecal-cell");return(0,m.wg)(),(0,m.iD)("div",{class:(0,k.C_)(["vuecal__flex vuecal",n.cssClasses]),column:"column",ref:"vuecal",lang:s.locale},[(0,m.Wm)(o,{options:e.$props,"edit-events":n.editEvents,"view-props":{views:n.views,weekDaysInHeader:n.weekDaysInHeader},"week-days":n.weekDays,"has-splits":n.hasSplits,"day-splits":n.daySplits,"switch-to-narrower-view":n.switchToNarrowerView},(0,m.Nv)({_:2},[e.$slots["weekday-heading"]?{name:"weekday-heading",fn:(0,m.w5)((({heading:t,view:s})=>[(0,m.WI)(e.$slots,"weekday-heading",{heading:t,view:s})])),key:"0"}:void 0,e.$slots["split-label"]?{name:"split-label",fn:(0,m.w5)((({split:t,view:s})=>[(0,m.WI)(e.$slots,"split-label",{split:t,view:s.id})])),key:"1"}:void 0]),1032,["options","edit-events","view-props","week-days","has-splits","day-splits","switch-to-narrower-view"]),s.hideBody?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",zn,[(0,m.Wm)(a.uT,{name:`slide-fade--${l.transitionDirection}`,appear:s.transitions},{default:(0,m.w5)((()=>[((0,m.wg)(),(0,m.iD)("div",{class:"vuecal__flex",style:{"min-width":"100%"},key:!!s.transitions&&l.view.id,column:"column"},[s.showAllDayEvents&&n.hasTimeColumn&&(!n.cellOrSplitMinWidth||n.isDayView&&!s.minSplitWidth)?((0,m.wg)(),(0,m.j4)(r,(0,k.vs)((0,m.dG)({key:0},n.allDayBar)),{event:(0,m.w5)((({event:t,view:s})=>[(0,m.WI)(e.$slots,"event",{view:s,event:t},(()=>[n.editEvents.title&&t.titleEditable?((0,m.wg)(),(0,m.iD)("div",{key:0,class:"vuecal__event-title vuecal__event-title--edit",contenteditable:"contenteditable",onBlur:e=>n.onEventTitleBlur(e,t),innerHTML:t.title},null,40,An)):t.title?((0,m.wg)(),(0,m.iD)("div",{key:1,class:"vuecal__event-title",innerHTML:t.title},null,8,Un)):(0,m.kq)("",!0),!t.content||n.hasShortEvents||n.isShortMonthView?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",{key:2,class:"vuecal__event-content",innerHTML:t.content},null,8,Zn))]))])),_:3},16)):(0,m.kq)("",!0),(0,m._)("div",{class:(0,k.C_)(["vuecal__bg",{vuecal__flex:!n.hasTimeColumn}]),column:"column",ref:"vuecal_scroll"},[(0,m._)("div",Hn,[n.hasTimeColumn?((0,m.wg)(),(0,m.iD)("div",In,[s.showAllDayEvents&&n.cellOrSplitMinWidth&&(!n.isDayView||s.minSplitWidth)?((0,m.wg)(),(0,m.iD)("div",{key:0,class:"vuecal__all-day-text",style:(0,k.j5)({height:n.allDayBar.height})},[(0,m._)("span",null,(0,k.zw)(l.texts.allDay),1)],4)):(0,m.kq)("",!0),((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.timeCells,((t,a)=>((0,m.wg)(),(0,m.iD)("div",{class:"vuecal__time-cell",key:a,style:(0,k.j5)(`height: ${s.timeCellHeight}px`)},[(0,m.WI)(e.$slots,"time-cell",{hours:t.hours,minutes:t.minutes},(()=>[Fn,(0,m._)("span",Pn,(0,k.zw)(t.label),1)]))],4)))),128))])):(0,m.kq)("",!0),s.showWeekNumbers&&n.isMonthView?((0,m.wg)(),(0,m.iD)("div",Ln,[((0,m.wg)(),(0,m.iD)(m.HY,null,(0,m.Ko)(6,(t=>(0,m._)("div",{class:"vuecal__flex vuecal__week-number-cell",key:t,grow:"grow"},[(0,m.WI)(e.$slots,"week-number-cell",{week:n.getWeekNumber(t-1)},(()=>[(0,m.Uk)((0,k.zw)(n.getWeekNumber(t-1)),1)]))]))),64))])):(0,m.kq)("",!0),(0,m._)("div",{class:(0,k.C_)(["vuecal__flex vuecal__cells vuecal__scrollable-body",`${l.view.id}-view`]),grow:"grow",wrap:!n.cellOrSplitMinWidth||!n.isWeekView,column:!!n.cellOrSplitMinWidth},[n.cellOrSplitMinWidth&&n.isWeekView?((0,m.wg)(),(0,m.j4)(d,{key:0,"transition-direction":l.transitionDirection,"week-days":n.weekDays,"switch-to-narrower-view":n.switchToNarrowerView,style:(0,k.j5)(n.cellOrSplitMinWidth?`min-width: ${n.cellOrSplitMinWidth}px`:""),unscheduledTime:s.unscheduledTime,ref:"vuecal_weekday_heading"},(0,m.Nv)({_:2},[e.$slots["weekday-heading"]?{name:"weekday-heading",fn:(0,m.w5)((({heading:t,view:s})=>[(0,m.WI)(e.$slots,"weekday-heading",{heading:t,view:s})])),key:"0"}:void 0,e.$slots["split-label"]?{name:"split-label",fn:(0,m.w5)((({split:t})=>[(0,m.WI)(e.$slots,"split-label",{split:t,view:l.view.id})])),key:"1"}:void 0]),1032,["transition-direction","week-days","switch-to-narrower-view","style","unscheduledTime"])):n.hasSplits&&s.stickySplitLabels&&s.minSplitWidth?((0,m.wg)(),(0,m.iD)("div",{key:1,class:"vuecal__flex vuecal__split-days-headers",ref:"vuecal_splits_heading",style:(0,k.j5)(n.cellOrSplitMinWidth?`min-width: ${n.cellOrSplitMinWidth}px`:"")},[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.daySplits,((t,s)=>((0,m.wg)(),(0,m.iD)("div",{class:(0,k.C_)(["day-split-header",t.class||!1]),key:s},[(0,m.WI)(e.$slots,"split-label",{split:t,view:l.view.id},(()=>[(0,m.Uk)((0,k.zw)(t.label),1)]))],2)))),128))],4)):(0,m.kq)("",!0),s.showAllDayEvents&&n.hasTimeColumn&&(n.isWeekView&&n.cellOrSplitMinWidth||n.isDayView&&n.hasSplits&&s.minSplitWidth)?((0,m.wg)(),(0,m.j4)(r,(0,k.vs)((0,m.dG)({key:2},n.allDayBar)),{event:(0,m.w5)((({event:t,view:s})=>[(0,m.WI)(e.$slots,"event",{view:s,event:t},(()=>[n.editEvents.title&&t.titleEditable?((0,m.wg)(),(0,m.iD)("div",{key:0,class:"vuecal__event-title vuecal__event-title--edit",contenteditable:"contenteditable",onBlur:e=>n.onEventTitleBlur(e,t),innerHTML:t.title},null,40,Yn)):t.title?((0,m.wg)(),(0,m.iD)("div",{key:1,class:"vuecal__event-title",innerHTML:t.title},null,8,qn)):(0,m.kq)("",!0),!t.content||n.hasShortEvents||n.isShortMonthView?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",{key:2,class:"vuecal__event-content",innerHTML:t.content},null,8,Bn))]))])),_:3},16)):(0,m.kq)("",!0),(0,m._)("div",{class:"vuecal__flex vuecal__cells-body",ref:e=>l.cellsEl=e,grow:"grow",wrap:!n.cellOrSplitMinWidth||!n.isWeekView,style:(0,k.j5)(n.cellOrSplitMinWidth?`min-width: ${n.cellOrSplitMinWidth}px`:"")},[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.viewCells,((t,a)=>((0,m.wg)(),(0,m.j4)(u,{key:a,options:e.$props,"edit-events":n.editEvents,data:t,"cell-width":s.hideWeekdays.length&&(n.isWeekView||n.isMonthView)&&n.cellWidth,"min-timestamp":n.minTimestamp,"max-timestamp":n.maxTimestamp,"cell-splits":n.hasSplits&&n.daySplits||[]},{"cell-content":(0,m.w5)((({events:a,split:i,selectCell:o})=>[(0,m.WI)(e.$slots,"cell-content",{cell:t,view:l.view,goNarrower:o,events:a},(()=>[i&&!s.stickySplitLabels?((0,m.wg)(),(0,m.iD)("div",{key:0,class:"split-label",innerHTML:i.label},null,8,Kn)):(0,m.kq)("",!0),t.content?((0,m.wg)(),(0,m.iD)("div",{key:1,class:"vuecal__cell-date",innerHTML:t.content},null,8,Jn)):(0,m.kq)("",!0),(n.isMonthView&&!s.eventsOnMonthView||n.isYearsOrYearView&&s.eventsCountOnYearView)&&a.length?((0,m.wg)(),(0,m.iD)("div",Xn,[(0,m.WI)(e.$slots,"events-count",{view:l.view,events:a},(()=>[(0,m.Uk)((0,k.zw)(a.length),1)]))])):(0,m.kq)("",!0),!n.cellOrSplitHasEvents(a,i)&&n.isWeekOrDayView?((0,m.wg)(),(0,m.iD)("div",Gn,[(0,m.WI)(e.$slots,"no-event",{},(()=>[(0,m.Uk)((0,k.zw)(l.texts.noEvent),1)]))])):(0,m.kq)("",!0)]))])),event:(0,m.w5)((({event:a,view:i})=>[(0,m.WI)(e.$slots,"event",{view:i,event:a},(()=>[n.editEvents.title&&a.titleEditable?((0,m.wg)(),(0,m.iD)("div",{key:0,class:"vuecal__event-title vuecal__event-title--edit",contenteditable:"contenteditable",onBlur:e=>n.onEventTitleBlur(e,a),innerHTML:a.title},null,40,Qn)):a.title?((0,m.wg)(),(0,m.iD)("div",{key:1,class:"vuecal__event-title",innerHTML:a.title},null,8,eo)):(0,m.kq)("",!0),!s.time||a.allDay||n.isMonthView&&(a.allDay||"short"===s.showAllDayEvents)||n.isShortMonthView?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",to,[(0,m.Uk)((0,k.zw)(l.utils.date.formatTime(a.start,n.TimeFormat)),1),a.endTimeMinutes?((0,m.wg)(),(0,m.iD)("span",so," - "+(0,k.zw)(l.utils.date.formatTime(a.end,n.TimeFormat,null,!0)),1)):(0,m.kq)("",!0),a.daysCount>1&&(a.segments[t.formattedDate]||{}).isFirstDay?((0,m.wg)(),(0,m.iD)("small",ao," +"+(0,k.zw)(a.daysCount-1)+(0,k.zw)((l.texts.day[0]||"").toLowerCase()),1)):(0,m.kq)("",!0)])),!a.content||n.isMonthView&&a.allDay&&"short"===s.showAllDayEvents||n.isShortMonthView?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",{key:3,class:"vuecal__event-content",innerHTML:a.content},null,8,io))]))])),_:2},1032,["options","edit-events","data","cell-width","min-timestamp","max-timestamp","cell-splits"])))),128))],12,Rn)],10,Nn)])],2)]))])),_:3},8,["name","appear"]),l.ready?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",lo,oo))]))],10,Vn)}s(30541);let uo,co,mo,ho,po={},vo={};class ko{constructor(e,t=!1){(0,Kl.Z)(this,"texts",{}),(0,Kl.Z)(this,"dateToMinutes",(e=>60*e.getHours()+e.getMinutes())),ho=this,this._texts=e,t||!Date||Date.prototype.addDays||this._initDatePrototypes()}_initDatePrototypes(){Date.prototype.addDays=function(e){return ho.addDays(this,e)},Date.prototype.subtractDays=function(e){return ho.subtractDays(this,e)},Date.prototype.addHours=function(e){return ho.addHours(this,e)},Date.prototype.subtractHours=function(e){return ho.subtractHours(this,e)},Date.prototype.addMinutes=function(e){return ho.addMinutes(this,e)},Date.prototype.subtractMinutes=function(e){return ho.subtractMinutes(this,e)},Date.prototype.getWeek=function(){return ho.getWeek(this)},Date.prototype.isToday=function(){return ho.isToday(this)},Date.prototype.isLeapYear=function(){return ho.isLeapYear(this)},Date.prototype.format=function(e="YYYY-MM-DD"){return ho.formatDate(this,e)},Date.prototype.formatTime=function(e="HH:mm"){return ho.formatTime(this,e)}}removePrototypes(){delete Date.prototype.addDays,delete Date.prototype.subtractDays,delete Date.prototype.addHours,delete Date.prototype.subtractHours,delete Date.prototype.addMinutes,delete Date.prototype.subtractMinutes,delete Date.prototype.getWeek,delete Date.prototype.isToday,delete Date.prototype.isLeapYear,delete Date.prototype.format,delete Date.prototype.formatTime}updateTexts(e){this._texts=e}_todayFormatted(){return co!==(new Date).getDate()&&(uo=new Date,co=uo.getDate(),mo=`${uo.getFullYear()}-${uo.getMonth()}-${uo.getDate()}`),mo}addDays(e,t){const s=new Date(e.valueOf());return s.setDate(s.getDate()+t),s}subtractDays(e,t){const s=new Date(e.valueOf());return s.setDate(s.getDate()-t),s}addHours(e,t){const s=new Date(e.valueOf());return s.setHours(s.getHours()+t),s}subtractHours(e,t){const s=new Date(e.valueOf());return s.setHours(s.getHours()-t),s}addMinutes(e,t){const s=new Date(e.valueOf());return s.setMinutes(s.getMinutes()+t),s}subtractMinutes(e,t){const s=new Date(e.valueOf());return s.setMinutes(s.getMinutes()-t),s}getWeek(e){const t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())),s=t.getUTCDay()||7;t.setUTCDate(t.getUTCDate()+4-s);const a=new Date(Date.UTC(t.getUTCFullYear(),0,1));return Math.ceil(((t-a)/864e5+1)/7)}isToday(e){return`${e.getFullYear()}-${e.getMonth()}-${e.getDate()}`===this._todayFormatted()}isLeapYear(e){const t=e.getFullYear();return!(t%400)||t%100&&!(t%4)}getPreviousFirstDayOfWeek(e=null,t){const s=e&&new Date(e.valueOf())||new Date,a=t?7:6;return s.setDate(s.getDate()-(s.getDay()+a)%7),s}stringToDate(e){return e instanceof Date?e:(10===e.length&&(e+=" 00:00"),new Date(e.replace(/-/g,"/")))}countDays(e,t){"string"===typeof e&&(e=e.replace(/-/g,"/")),"string"===typeof t&&(t=t.replace(/-/g,"/")),e=new Date(e).setHours(0,0,0,0),t=new Date(t).setHours(0,0,1,0);const s=60*(new Date(t).getTimezoneOffset()-new Date(e).getTimezoneOffset())*1e3;return Math.ceil((t-e-s)/864e5)}datesInSameTimeStep(e,t,s){return Math.abs(e.getTime()-t.getTime())<=60*s*1e3}formatDate(e,t="YYYY-MM-DD",s=null){if(s||(s=this._texts),t||(t="YYYY-MM-DD"),"YYYY-MM-DD"===t)return this.formatDateLite(e);po={},vo={};const a={YYYY:()=>this._hydrateDateObject(e,s).YYYY,YY:()=>this._hydrateDateObject(e,s).YY(),M:()=>this._hydrateDateObject(e,s).M,MM:()=>this._hydrateDateObject(e,s).MM(),MMM:()=>this._hydrateDateObject(e,s).MMM(),MMMM:()=>this._hydrateDateObject(e,s).MMMM(),MMMMG:()=>this._hydrateDateObject(e,s).MMMMG(),D:()=>this._hydrateDateObject(e,s).D,DD:()=>this._hydrateDateObject(e,s).DD(),S:()=>this._hydrateDateObject(e,s).S(),d:()=>this._hydrateDateObject(e,s).d,dd:()=>this._hydrateDateObject(e,s).dd(),ddd:()=>this._hydrateDateObject(e,s).ddd(),dddd:()=>this._hydrateDateObject(e,s).dddd(),HH:()=>this._hydrateTimeObject(e,s).HH,H:()=>this._hydrateTimeObject(e,s).H,hh:()=>this._hydrateTimeObject(e,s).hh,h:()=>this._hydrateTimeObject(e,s).h,am:()=>this._hydrateTimeObject(e,s).am,AM:()=>this._hydrateTimeObject(e,s).AM,mm:()=>this._hydrateTimeObject(e,s).mm,m:()=>this._hydrateTimeObject(e,s).m};return t.replace(/(\{[a-zA-Z]+\}|[a-zA-Z]+)/g,((e,t)=>{const s=a[t.replace(/\{|\}/g,"")];return void 0!==s?s():t}))}formatDateLite(e){const t=e.getMonth()+1,s=e.getDate();return`${e.getFullYear()}-${t<10?"0":""}${t}-${s<10?"0":""}${s}`}formatTime(e,t="HH:mm",s=null,a=!1){let i=!1;if(a){const[t,s,a]=[e.getHours(),e.getMinutes(),e.getSeconds()];t+s+a===141&&(i=!0)}if(e instanceof Date&&"HH:mm"===t)return i?"24:00":this.formatTimeLite(e);vo={},s||(s=this._texts);const l=this._hydrateTimeObject(e,s),n=t.replace(/(\{[a-zA-Z]+\}|[a-zA-Z]+)/g,((e,t)=>{const s=l[t.replace(/\{|\}/g,"")];return void 0!==s?s:t}));return i?n.replace("23:59","24:00"):n}formatTimeLite(e){const t=e.getHours(),s=e.getMinutes();return`${(t<10?"0":"")+t}:${(s<10?"0":"")+s}`}_nth(e){if(e>3&&e<21)return"th";switch(e%10){case 1:return"st";case 2:return"nd";case 3:return"rd";default:return"th"}}_hydrateDateObject(e,t){if(po.D)return po;const s=e.getFullYear(),a=e.getMonth()+1,i=e.getDate(),l=e.getDay(),n=(l-1+7)%7;return po={YYYY:s,YY:()=>s.toString().substring(2),M:a,MM:()=>(a<10?"0":"")+a,MMM:()=>t.months[a-1].substring(0,3),MMMM:()=>t.months[a-1],MMMMG:()=>(t.monthsGenitive||t.months)[a-1],D:i,DD:()=>(i<10?"0":"")+i,S:()=>this._nth(i),d:n+1,dd:()=>t.weekDays[n][0],ddd:()=>t.weekDays[n].substr(0,3),dddd:()=>t.weekDays[n]},po}_hydrateTimeObject(e,t){if(vo.am)return vo;let s,a;e instanceof Date?(s=e.getHours(),a=e.getMinutes()):(s=Math.floor(e/60),a=Math.floor(e%60));const i=s%12?s%12:12,l=(t||{am:"am",pm:"pm"})[24===s||s<12?"am":"pm"];return vo={H:s,h:i,HH:(s<10?"0":"")+s,hh:(i<10?"0":"")+i,am:l,AM:l.toUpperCase(),m:a,mm:(a<10?"0":"")+a},vo}}const fo=1440;class go{constructor(e){(0,Kl.Z)(this,"_vuecal",null),(0,Kl.Z)(this,"selectCell",((e=!1,t,s)=>{this._vuecal.$emit("cell-click",s?{date:t,split:s}:t),this._vuecal.clickToNavigate||e?this._vuecal.switchToNarrowerView():this._vuecal.dblclickToNavigate&&"ontouchstart"in window&&(this._vuecal.domEvents.dblTapACell.taps++,setTimeout((()=>this._vuecal.domEvents.dblTapACell.taps=0),this._vuecal.domEvents.dblTapACell.timeout),this._vuecal.domEvents.dblTapACell.taps>=2&&(this._vuecal.domEvents.dblTapACell.taps=0,this._vuecal.switchToNarrowerView(),this._vuecal.$emit("cell-dblclick",s?{date:t,split:s}:t)))})),(0,Kl.Z)(this,"keyPressEnterCell",((e,t)=>{this._vuecal.$emit("cell-keypress-enter",t?{date:e,split:t}:e),this._vuecal.switchToNarrowerView()})),(0,Kl.Z)(this,"getPosition",(e=>{const{left:t,top:s}=this._vuecal.cellsEl.getBoundingClientRect(),{clientX:a,clientY:i}="ontouchstart"in window&&e.touches?e.touches[0]:e;return{x:a-t,y:i-s}})),(0,Kl.Z)(this,"minutesAtCursor",(e=>{let t=0,s={x:0,y:0};const{timeStep:a,timeCellHeight:i,timeFrom:l}=this._vuecal.$props;return"number"===typeof e?t=e:"object"===typeof e&&(s=this.getPosition(e),t=Math.round(s.y*a/parseInt(i)+l)),{minutes:Math.max(Math.min(t,fo),0),cursorCoords:s}})),this._vuecal=e}}const _o=2,bo=1440;let wo,yo,Do;class Mo{constructor(e,t){(0,Kl.Z)(this,"_vuecal",null),(0,Kl.Z)(this,"eventDefaults",{_eid:null,start:"",startTimeMinutes:0,end:"",endTimeMinutes:0,title:"",content:"",background:!1,allDay:!1,segments:null,repeat:null,daysCount:1,deletable:!0,deleting:!1,titleEditable:!0,resizable:!0,resizing:!1,draggable:!0,dragging:!1,draggingStatic:!1,focused:!1,class:""}),this._vuecal=e,wo=t}createAnEvent(e,t,s){if("string"===typeof e&&(e=wo.stringToDate(e)),!(e instanceof Date))return!1;const a=wo.dateToMinutes(e);t=1*t||60*_o;const i=a+t,l=wo.addMinutes(new Date(e),t);s.end&&("string"===typeof s.end&&(s.end=wo.stringToDate(s.end)),s.endTimeMinutes=wo.dateToMinutes(s.end));const n={...this.eventDefaults,_eid:`${this._vuecal._.uid}_${this._vuecal.eventIdIncrement++}`,start:e,startTimeMinutes:a,end:l,endTimeMinutes:i,segments:null,...s};return"function"!==typeof this._vuecal.onEventCreate||this._vuecal.onEventCreate(n,(()=>this.deleteAnEvent(n)))?(n.startDateF!==n.endDateF&&(n.daysCount=wo.countDays(n.start,n.end)),this._vuecal.mutableEvents.push(n),this._vuecal.addEventsToView([n]),this._vuecal.emitWithEvent("event-create",n),this._vuecal.$emit("event-change",{event:this._vuecal.cleanupEvent(n),originalEvent:null}),n):void 0}addEventSegment(e){e.segments||(e.segments={},e.segments[wo.formatDateLite(e.start)]={start:e.start,startTimeMinutes:e.startTimeMinutes,endTimeMinutes:bo,isFirstDay:!0,isLastDay:!1});const t=e.segments[wo.formatDateLite(e.end)];t&&(t.isLastDay=!1,t.endTimeMinutes=bo);const s=wo.addDays(e.end,1),a=wo.formatDateLite(s);return s.setHours(0,0,0,0),e.segments[a]={start:s,startTimeMinutes:0,endTimeMinutes:e.endTimeMinutes,isFirstDay:!1,isLastDay:!0},e.end=wo.addMinutes(s,e.endTimeMinutes),e.daysCount=Object.keys(e.segments).length,a}removeEventSegment(e){let t=Object.keys(e.segments).length;if(t<=1)return wo.formatDateLite(e.end);delete e.segments[wo.formatDateLite(e.end)],t--;const s=wo.subtractDays(e.end,1),a=wo.formatDateLite(s),i=e.segments[a];return t?i&&(i.isLastDay=!0,i.endTimeMinutes=e.endTimeMinutes):e.segments=null,e.daysCount=t||1,e.end=s,a}createEventSegments(e,t,s){const a=t.getTime(),i=s.getTime();let l,n,o,r=e.start.getTime(),d=e.end.getTime(),u=!1;e.end.getHours()||e.end.getMinutes()||(d-=1e3),e.segments={},e.repeat?(l=a,n=Math.min(i,e.repeat.until?wo.stringToDate(e.repeat.until).getTime():i)):(l=Math.max(a,r),n=Math.min(i,d));while(l<=n){let t=!1;const s=wo.addDays(new Date(l),1).setHours(0,0,0,0);let a,i,c,m;if(e.repeat){const s=new Date(l),n=wo.formatDateLite(s);(u||e.occurrences&&e.occurrences[n])&&(u||(r=e.occurrences[n].start,o=new Date(r).setHours(0,0,0,0),d=e.occurrences[n].end),u=!0,t=!0),a=l===o,i=n===wo.formatDateLite(new Date(d)),c=new Date(a?r:l),m=wo.formatDateLite(c),i&&(u=!1)}else t=!0,a=l===r,i=n===d&&s>n,c=a?e.start:new Date(l),m=wo.formatDateLite(a?e.start:c);t&&(e.segments[m]={start:c,startTimeMinutes:a?e.startTimeMinutes:0,endTimeMinutes:i?e.endTimeMinutes:bo,isFirstDay:a,isLastDay:i}),l=s}return e}deleteAnEvent(e){this._vuecal.emitWithEvent("event-delete",e),this._vuecal.mutableEvents=this._vuecal.mutableEvents.filter((t=>t._eid!==e._eid)),this._vuecal.view.events=this._vuecal.view.events.filter((t=>t._eid!==e._eid))}checkCellOverlappingEvents(e,t){Do=e.slice(0),yo={},e.forEach((e=>{Do.shift(),yo[e._eid]||(yo[e._eid]={overlaps:[],start:e.start,position:0,sameOverlaps:[]}),yo[e._eid].position=0,Do.forEach((s=>{yo[s._eid]||(yo[s._eid]={overlaps:[],start:s.start,position:0,sameOverlaps:[]});const a=this.eventInRange(s,e.start,e.end),i=this.eventSameRange(s,e),l=t.overlapsPerTimeStep?wo.datesInSameTimeStep(e.start,s.start,t.timeStep):1;if(e.background||e.allDay||s.background||s.allDay||!a||!l){let t,a;(t=(yo[e._eid]||{overlaps:[]}).overlaps.indexOf(s._eid))>-1&&yo[e._eid].overlaps.splice(t,1),(a=(yo[s._eid]||{overlaps:[]}).overlaps.indexOf(e._eid))>-1&&yo[s._eid].overlaps.splice(a,1),yo[s._eid].position--}else yo[e._eid].overlaps.push(s._eid),yo[e._eid].overlaps=[...new Set(yo[e._eid].overlaps)],yo[s._eid].overlaps.push(e._eid),yo[s._eid].overlaps=[...new Set(yo[s._eid].overlaps)],yo[s._eid].position++,i&&(yo[e._eid].sameOverlaps.push(s._eid),yo[e._eid].sameOverlaps=[...new Set(yo[e._eid].sameOverlaps)],yo[s._eid].sameOverlaps.push(e._eid),yo[s._eid].sameOverlaps=[...new Set(yo[s._eid].sameOverlaps)])}))}));let s=0;for(const a in yo){const e=yo[a],t=e.overlaps.map((e=>({id:e,start:yo[e].start})));t.push({id:a,start:e.start}),t.sort(((e,t)=>e.startt.start?1:e.id>t.id?-1:1)),e.position=t.findIndex((e=>e.id===a)),s=Math.max(this.getOverlapsStreak(e,yo),s)}return[yo,s]}getOverlapsStreak(e,t={}){let s=e.overlaps.length+1,a=[];return e.overlaps.forEach((s=>{if(!a.includes(s)){const i=e.overlaps.filter((e=>e!==s));i.forEach((e=>{t[e].overlaps.includes(s)||a.push(e)}))}})),a=[...new Set(a)],s-=a.length,s}eventInRange(e,t,s){if(e.allDay||!this._vuecal.time){const a=new Date(e.start).setHours(0,0,0,0),i=new Date(e.end).setHours(23,59,0,0);return i>=new Date(t).setHours(0,0,0,0)&&a<=new Date(s).setHours(0,0,0,0)}const a=e.start.getTime(),i=e.end.getTime();return at.getTime()}eventSameRange(e,t){const s=e.start.getTime()==t.start.getTime(),a=e.end.getTime()==t.end.getTime();return s&&a}}const To={class:"vuecal__header"},$o={key:0,class:"vuecal__flex vuecal__menu",role:"tablist","aria-label":"Calendar views navigation"},Co=["onDragenter","onDragleave","onClick","aria-label"],jo={key:1,class:"vuecal__title-bar"},Eo=["aria-label"],xo={class:"vuecal__flex vuecal__title",grow:""},Wo=["aria-label"],So={key:0,class:"vuecal__flex vuecal__split-days-headers"};function Oo(e,t,s,i,l,n){const o=(0,m.up)("weekdays-headings");return(0,m.wg)(),(0,m.iD)("div",To,[s.options.hideViewSelector?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",$o,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(s.viewProps.views,((t,a)=>((0,m.wg)(),(0,m.iD)(m.HY,{key:a},[t.enabled?((0,m.wg)(),(0,m.iD)("button",{key:0,class:(0,k.C_)(["vuecal__view-btn",{"vuecal__view-btn--active":n.view.id===a,"vuecal__view-btn--highlighted":e.highlightedControl===a}]),type:"button",onDragenter:t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragEnter(t,a,e.$data),onDragleave:t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragLeave(t,a,e.$data),onClick:e=>n.switchView(a,null,!0),"aria-label":`${t.label} view`},(0,k.zw)(t.label),43,Co)):(0,m.kq)("",!0)],64)))),128))])),s.options.hideTitleBar?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",jo,[(0,m._)("button",{class:(0,k.C_)(["vuecal__arrow vuecal__arrow--prev",{"vuecal__arrow--highlighted":"previous"===e.highlightedControl}]),type:"button",onClick:t[0]||(t[0]=(...e)=>n.previous&&n.previous(...e)),onDragenter:t[1]||(t[1]=t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragEnter(t,"previous",e.$data)),onDragleave:t[2]||(t[2]=t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragLeave(t,"previous",e.$data)),"aria-label":`Previous ${n.view.id}`},[(0,m.WI)(e.$slots,"arrow-prev")],42,Eo),(0,m._)("div",xo,[(0,m.Wm)(a.uT,{name:s.options.transitions?`slide-fade--${n.transitionDirection}`:""},{default:(0,m.w5)((()=>[((0,m.wg)(),(0,m.j4)((0,m.LL)(n.broaderView?"button":"span"),{type:!!n.broaderView&&"button",key:`${n.view.id}${n.view.startDate.toString()}`,onClick:t[3]||(t[3]=e=>!!n.broaderView&&n.switchToBroaderView()),"aria-label":!!n.broaderView&&`Go to ${n.broaderView} view`},{default:(0,m.w5)((()=>[(0,m.WI)(e.$slots,"title")])),_:3},8,["type","aria-label"]))])),_:3},8,["name"])]),s.options.todayButton?((0,m.wg)(),(0,m.iD)("button",{key:0,class:(0,k.C_)(["vuecal__today-btn",{"vuecal__today-btn--highlighted":"today"===e.highlightedControl}]),type:"button",onClick:t[4]||(t[4]=(...e)=>n.goToToday&&n.goToToday(...e)),onDragenter:t[5]||(t[5]=t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragEnter(t,"today",e.$data)),onDragleave:t[6]||(t[6]=t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragLeave(t,"today",e.$data)),"aria-label":"Today"},[(0,m.WI)(e.$slots,"today-button")],34)):(0,m.kq)("",!0),(0,m._)("button",{class:(0,k.C_)(["vuecal__arrow vuecal__arrow--next",{"vuecal__arrow--highlighted":"next"===e.highlightedControl}]),type:"button",onClick:t[7]||(t[7]=(...e)=>n.next&&n.next(...e)),onDragenter:t[8]||(t[8]=t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragEnter(t,"next",e.$data)),onDragleave:t[9]||(t[9]=t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragLeave(t,"next",e.$data)),"aria-label":`Next ${n.view.id}`},[(0,m.WI)(e.$slots,"arrow-next")],42,Wo)])),s.viewProps.weekDaysInHeader?((0,m.wg)(),(0,m.j4)(o,{key:2,"week-days":s.weekDays,"transition-direction":n.transitionDirection,"switch-to-narrower-view":s.switchToNarrowerView},(0,m.Nv)({_:2},[e.$slots["weekday-heading"]?{name:"weekday-heading",fn:(0,m.w5)((({heading:t,view:s})=>[(0,m.WI)(e.$slots,"weekday-heading",{heading:t,view:s})])),key:"0"}:void 0,e.$slots["split-label"]?{name:"split-label",fn:(0,m.w5)((({split:t})=>[(0,m.WI)(e.$slots,"split-label",{split:t,view:n.view})])),key:"1"}:void 0]),1032,["week-days","transition-direction","switch-to-narrower-view"])):(0,m.kq)("",!0),(0,m.Wm)(a.uT,{name:`slide-fade--${n.transitionDirection}`},{default:(0,m.w5)((()=>[n.showDaySplits?((0,m.wg)(),(0,m.iD)("div",So,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(s.daySplits,((t,s)=>((0,m.wg)(),(0,m.iD)("div",{class:(0,k.C_)(["day-split-header",t.class||!1]),key:s},[(0,m.WI)(e.$slots,"split-label",{split:t,view:n.view.id},(()=>[(0,m.Uk)((0,k.zw)(t.label),1)]))],2)))),128))])):(0,m.kq)("",!0)])),_:3},8,["name"])])}const Vo={class:"vuecal__flex vuecal__weekdays-headings",ref:"vuecal_weekday_heading"},zo=["onClick"],Ao={class:"vuecal__flex weekday-label",grow:""},Uo={class:"full"},Zo={class:"small"},Ho={class:"xsmall"},Io={key:0},Fo={key:0,class:"vuecal__flex vuecal__split-days-headers",grow:""};function Po(e,t,s,i,l,n){return(0,m.wg)(),(0,m.iD)("div",Vo,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.headings,((i,l)=>((0,m.wg)(),(0,m.iD)(m.HY,{key:l},[i.hide?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",{key:0,class:(0,k.C_)(["vuecal__flex vuecal__heading",{today:i.today,"today-cell":i.today,clickable:n.cellHeadingsClickable,"yesterday-cell":new Date(i.date).toLocaleDateString("sk-SK")==new Date((new Date).setDate((new Date).getDate()-1)).toLocaleDateString("sk-SK")}]),style:(0,k.j5)(n.weekdayCellStyles),onClick:e=>"week"===n.view.id&&n.selectCell(i.date,e),onDblclick:t[0]||(t[0]=e=>"week"===n.view.id&&n.vuecal.dblclickToNavigate&&s.switchToNarrowerView())},[(0,m.Wm)(a.uT,{name:`slide-fade--${s.transitionDirection}`,appear:n.vuecal.transitions},{default:(0,m.w5)((()=>[((0,m.wg)(),(0,m.iD)("div",{class:"vuecal__flex",column:"",key:!!n.vuecal.transitions&&`${l}-${i.dayOfMonth}`},[(0,m._)("div",Ao,[(0,m.WI)(e.$slots,"weekday-heading",{heading:n.cleanupHeading(i),view:n.view},(()=>[(0,m._)("span",Uo,(0,k.zw)(i.full),1),(0,m._)("span",Zo,(0,k.zw)(i.small),1),(0,m._)("span",Ho,(0,k.zw)(i.xsmall),1),i.dayOfMonth?((0,m.wg)(),(0,m.iD)("span",Io," "+(0,k.zw)(i.dayOfMonth),1)):(0,m.kq)("",!0)]))]),n.vuecal.hasSplits&&n.vuecal.stickySplitLabels?((0,m.wg)(),(0,m.iD)("div",Fo,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.vuecal.daySplits,((t,s)=>((0,m.wg)(),(0,m.iD)("div",{class:(0,k.C_)(["day-split-header",t.class||!1]),key:s},[(0,m.WI)(e.$slots,"split-label",{split:t,view:n.view},(()=>[(0,m.Uk)((0,k.zw)(t.label),1)]))],2)))),128))])):(0,m.kq)("",!0)]))])),_:2},1032,["name","appear"])],46,zo))],64)))),128))],512)}var Lo={inject:["vuecal","utils","view"],props:{transitionDirection:{type:String,default:"right"},weekDays:{type:Array,default:()=>[]},switchToNarrowerView:{type:Function,default:()=>{}},unscheduledTime:{type:Array,default:[]}},methods:{selectCell(e,t){e.getTime()!==this.view.selectedDate.getTime()&&(this.view.selectedDate=e),this.utils.cell.selectCell(!1,e,t)},cleanupHeading:e=>({label:e.full,date:e.date,unscheduledTime:e.unscheduledTime,name:e.name,initials:e.initials,...e.today?{today:e.today}:{}}),onTimelineScroll(e){this.$refs["vuecal_weekday_heading"].style.top=`${e}px`}},computed:{headings(){if(!["month","week"].includes(this.view.id))return[];let e=!1;const t=this.weekDays.map(((t,s)=>{const a=this.utils.date.addDays(this.view.startDate,this.vuecal.startWeekOnSunday?s-1:s);let i=null,l=null,n=null;return this.unscheduledTime[s]?.time&&(i=Math.floor(this.unscheduledTime[s].time/60)+","+String(this.unscheduledTime[s].time%60)[0]),this.unscheduledTime[s]?.name&&this.unscheduledTime[s]?.name&&(l=this.unscheduledTime[s].name+" "+this.unscheduledTime[s].surname,n=this.unscheduledTime[s].name.charAt(0).toUpperCase()+this.unscheduledTime[s].surname.charAt(0).toUpperCase()),{hide:t.hide,full:t.label,small:t.short||t.label.substr(0,3),xsmall:t.short||t.label.substr(0,1),unscheduledTime:i,name:l,initials:n,..."week"===this.view.id?{dayOfMonth:a.getDate(),date:a,today:!e&&this.utils.date.isToday(a)&&!e++}:{}}}));return t},cellWidth(){return 100/(7-this.weekDays.reduce(((e,t)=>e+t.hide),0))},weekdayCellStyles(){return{...this.vuecal.hideWeekdays.length?{width:`${this.cellWidth}%`}:{}}},cellHeadingsClickable(){return"week"===this.view.id&&(this.vuecal.clickToNavigate||this.vuecal.dblclickToNavigate)}}};const No=(0,$.Z)(Lo,[["render",Po]]);var Yo=No,qo={inject:["vuecal","previous","next","switchView","updateSelectedDate","modules","view"],components:{WeekdaysHeadings:Yo},props:{options:{type:Object,default:()=>({})},editEvents:{type:Object,required:!0},hasSplits:{type:[Boolean,Number],default:!1},daySplits:{type:Array,default:()=>[]},viewProps:{type:Object,default:()=>({})},weekDays:{type:Array,default:()=>[]},switchToNarrowerView:{type:Function,default:()=>{}}},data:()=>({highlightedControl:null}),methods:{goToToday(){this.updateSelectedDate(new Date((new Date).setHours(0,0,0,0)))},switchToBroaderView(){this.transitionDirection="left",this.broaderView&&this.switchView(this.broaderView)}},computed:{transitionDirection:{get(){return this.vuecal.transitionDirection},set(e){this.vuecal.transitionDirection=e}},broaderView(){const{enabledViews:e}=this.vuecal;return e[e.indexOf(this.view.id)-1]},showDaySplits(){return"day"===this.view.id&&this.hasSplits&&this.options.stickySplitLabels&&!this.options.minSplitWidth},dnd(){return this.modules.dnd}}};const Bo=(0,$.Z)(qo,[["render",Oo]]);var Ro=Bo;const Ko={key:0,class:"vuecal__all-day-text",style:{width:"3em"}};function Jo(e,t,s,a,i,l){const n=(0,m.up)("vuecal-cell");return(0,m.wg)(),(0,m.iD)("div",{class:"vuecal__flex vuecal__all-day",style:(0,k.j5)(s.cellOrSplitMinWidth&&{height:s.height})},[s.cellOrSplitMinWidth?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",Ko,[(0,m._)("span",null,(0,k.zw)(s.label),1)])),(0,m._)("div",{class:(0,k.C_)(["vuecal__flex vuecal__cells",`${l.view.id}-view`]),grow:"",style:(0,k.j5)(s.cellOrSplitMinWidth?`min-width: ${s.cellOrSplitMinWidth}px`:"")},[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(s.cells,((t,a)=>((0,m.wg)(),(0,m.j4)(n,{key:a,options:s.options,"edit-events":l.editEvents,data:t,"all-day":!0,"cell-width":s.options.hideWeekdays.length&&(l.vuecal.isWeekView||l.vuecal.isMonthView)&&l.vuecal.cellWidth,"min-timestamp":s.options.minTimestamp,"max-timestamp":s.options.maxTimestamp,"cell-splits":s.daySplits},{event:(0,m.w5)((({event:t,view:s})=>[(0,m.WI)(e.$slots,"event",{view:s,event:t})])),_:2},1032,["options","edit-events","data","cell-width","min-timestamp","max-timestamp","cell-splits"])))),128))],6)],4)}const Xo=["data-split","aria-label","onTouchstart","onMousedown","onClick","onDragover","onDrop"],Go={key:0,class:"cell-time-labels"},Qo=["innerHTML"],er={key:2,class:"vuecal__cell-events"},tr=["title"];function sr(e,t,s,i,l,n){const o=(0,m.up)("event");return(0,m.wg)(),(0,m.j4)(a.W3,{class:(0,k.C_)(["vuecal__cell",n.cellClasses]),name:`slide-fade--${n.transitionDirection}`,tag:"div",appear:s.options.transitions,style:(0,k.j5)(n.cellStyles)},{default:(0,m.w5)((()=>[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.splitsCount?n.splits:1,((i,l)=>((0,m.wg)(),(0,m.iD)("div",{class:(0,k.C_)(["vuecal__flex vuecal__cell-content",n.splitsCount&&n.splitClasses(i)]),key:s.options.transitions?`${n.view.id}-${s.data.content}-${l}`:l,"data-split":!!n.splitsCount&&i.id,column:"",tabindex:"0","aria-label":s.data.content,onFocus:t[0]||(t[0]=e=>n.onCellFocus(e)),onKeypress:t[1]||(t[1]=(0,a.D2)((e=>n.onCellkeyPressEnter(e)),["enter"])),onTouchstart:e=>!n.isDisabled&&n.onCellTouchStart(e,n.splitsCount?i.id:null),onMousedown:e=>!n.isDisabled&&n.onCellMouseDown(e,n.splitsCount?i.id:null),onClick:e=>!n.isDisabled&&n.onCellClick(e,i),onDblclick:t[2]||(t[2]=e=>!n.isDisabled&&n.onCellDblClick(e)),onContextmenu:t[3]||(t[3]=e=>!n.isDisabled&&s.options.cellContextmenu&&n.onCellContextMenu(e)),onDragenter:t[4]||(t[4]=t=>!n.isDisabled&&s.editEvents.drag&&n.dnd&&n.dnd.cellDragEnter(t,e.$data,s.data.startDate)),onDragover:t=>!n.isDisabled&&s.editEvents.drag&&n.dnd&&n.dnd.cellDragOver(t,e.$data,s.data.startDate,n.splitsCount?i.id:null),onDragleave:t[5]||(t[5]=t=>!n.isDisabled&&s.editEvents.drag&&n.dnd&&n.dnd.cellDragLeave(t,e.$data,s.data.startDate)),onDrop:t=>!n.isDisabled&&s.editEvents.drag&&n.dnd&&n.dnd.cellDragDrop(t,e.$data,s.data.startDate,n.splitsCount?i.id:null)},[s.options.showTimeInCells&&s.options.time&&n.isWeekOrDayView&&!s.allDay?((0,m.wg)(),(0,m.iD)("div",Go,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.vuecal.timeCells,((e,t)=>((0,m.wg)(),(0,m.iD)("span",{class:"cell-time-label",key:t},(0,k.zw)(e.label),1)))),128))])):(0,m.kq)("",!0),n.isWeekOrDayView&&!s.allDay&&n.specialHours.length?((0,m.wg)(!0),(0,m.iD)(m.HY,{key:1},(0,m.Ko)(n.specialHours,((e,t)=>((0,m.wg)(),(0,m.iD)("div",{class:(0,k.C_)(["vuecal__special-hours",`vuecal__special-hours--day${e.day} ${e.class}`]),style:(0,k.j5)(`height: ${e.height}px;top: ${e.top}px`)},[e.label?((0,m.wg)(),(0,m.iD)("div",{key:0,class:"special-hours-label",innerHTML:e.label},null,8,Qo)):(0,m.kq)("",!0)],6)))),256)):(0,m.kq)("",!0),(0,m.WI)(e.$slots,"cell-content",{events:n.events,selectCell:e=>n.selectCell(e,!0),split:!!n.splitsCount&&i}),n.eventsCount&&(n.isWeekOrDayView||"month"===n.view.id&&s.options.eventsOnMonthView)?((0,m.wg)(),(0,m.iD)("div",er,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.splitsCount?i.events:n.events,((t,a)=>((0,m.wg)(),(0,m.j4)(o,{key:a,"cell-formatted-date":s.data.formattedDate,event:t,"all-day":s.allDay,"cell-events":n.splitsCount?i.events:n.events,cellOverlaps:(n.splitsCount?i.overlaps[t._eid]:e.cellOverlaps[t._eid])||[],allOverlaps:(n.splitsCount?i.overlaps:e.cellOverlaps)||[],"event-position":((n.splitsCount?i.overlaps[t._eid]:e.cellOverlaps[t._eid])||[]).position,"overlaps-streak":n.splitsCount?i.overlapsStreak:e.cellOverlapsStreak},{event:(0,m.w5)((({event:t,view:s})=>[(0,m.WI)(e.$slots,"event",{view:s,event:t})])),_:2},1032,["cell-formatted-date","event","all-day","cell-events","cellOverlaps","allOverlaps","event-position","overlaps-streak"])))),128))])):(0,m.kq)("",!0)],42,Xo)))),128)),n.timelineVisible?((0,m.wg)(),(0,m.iD)("div",{class:"vuecal__now-line",style:(0,k.j5)(`top: ${n.todaysTimePosition}px`),key:s.options.transitions?`${n.view.id}-now-line`:"now-line",title:n.utils.date.formatTime(n.vuecal.now)},null,12,tr)):(0,m.kq)("",!0)])),_:3},8,["class","name","appear","style"])}const ar=["eventId","draggable"];function ir(e,t,s,i,l,n){return(0,m.wg)(),(0,m.iD)("div",{class:(0,k.C_)(["vuecal__event",n.eventClasses]),style:(0,k.j5)(n.eventStyles),eventId:`event-id-${s.event.id}`,tabindex:"0",onFocus:t[4]||(t[4]=(...e)=>n.focusEvent&&n.focusEvent(...e)),onKeypress:t[5]||(t[5]=(0,a.D2)((0,a.iM)(((...e)=>n.onEnterKeypress&&n.onEnterKeypress(...e)),["stop"]),["enter"])),onMouseenter:t[6]||(t[6]=(...e)=>n.onMouseEnter&&n.onMouseEnter(...e)),onMouseleave:t[7]||(t[7]=(...e)=>n.onMouseLeave&&n.onMouseLeave(...e)),onTouchstart:t[8]||(t[8]=(0,a.iM)(((...e)=>n.onTouchStart&&n.onTouchStart(...e)),["stop"])),onMousedown:t[9]||(t[9]=e=>n.onMouseDown(e)),onMouseup:t[10]||(t[10]=(...e)=>n.onMouseUp&&n.onMouseUp(...e)),onTouchend:t[11]||(t[11]=(...e)=>n.onMouseUp&&n.onMouseUp(...e)),onTouchmove:t[12]||(t[12]=(...e)=>n.onTouchMove&&n.onTouchMove(...e)),onDblclick:t[13]||(t[13]=(...e)=>n.onDblClick&&n.onDblClick(...e)),draggable:n.draggable,onDragstart:t[14]||(t[14]=e=>n.draggable&&n.onDragStart(e)),onDragend:t[15]||(t[15]=e=>n.draggable&&n.onDragEnd())},[n.vuecal.editEvents.delete&&s.event.deletable?((0,m.wg)(),(0,m.iD)("div",{key:0,class:"vuecal__event-delete",onClick:t[0]||(t[0]=(0,a.iM)(((...e)=>n.deleteEvent&&n.deleteEvent(...e)),["stop"])),onTouchstart:t[1]||(t[1]=(0,a.iM)(((...e)=>n.touchDeleteEvent&&n.touchDeleteEvent(...e)),["stop"]))},(0,k.zw)(n.vuecal.texts.deleteEvent),33)):(0,m.kq)("",!0),(0,m.WI)(e.$slots,"event",{event:s.event,view:n.view.id}),n.resizable?((0,m.wg)(),(0,m.iD)("div",{key:1,class:"vuecal__event-resize-handle",contenteditable:"false",onMousedown:t[2]||(t[2]=(0,a.iM)(((...e)=>n.onResizeHandleMouseDown&&n.onResizeHandleMouseDown(...e)),["stop","prevent"])),onTouchstart:t[3]||(t[3]=(0,a.iM)(((...e)=>n.onResizeHandleMouseDown&&n.onResizeHandleMouseDown(...e)),["stop","prevent"]))},null,32)):(0,m.kq)("",!0)],46,ar)}var lr={inject:["vuecal","utils","modules","view","domEvents","editEvents"],props:{cellFormattedDate:{type:String,default:""},event:{type:Object,default:()=>({})},cellEvents:{type:Array,default:()=>[]},cellOverlaps:{type:Object,default:()=>({})},allOverlaps:{type:Object,default:()=>({})},eventPosition:{type:Number,default:0},overlapsStreak:{type:Number,default:0},allDay:{type:Boolean,default:!1}},data:()=>({touch:{dragThreshold:30,startX:0,startY:0,dragged:!1}}),methods:{onMouseDown(e,t=!1){if("ontouchstart"in window&&!t)return!1;const{clickHoldAnEvent:s,focusAnEvent:a,resizeAnEvent:i,dragAnEvent:l}=this.domEvents;if(a._eid===this.event._eid&&s._eid===this.event._eid)return!0;this.focusEvent(),s._eid=null,this.vuecal.editEvents.delete&&this.event.deletable&&(s.timeoutId=setTimeout((()=>{i._eid||l._eid||(s._eid=this.event._eid,this.event.deleting=!0)}),s.timeout))},onMouseUp(e){this.domEvents.focusAnEvent._eid!==this.event._eid||this.touch.dragged||(this.domEvents.focusAnEvent.mousedUp=!0),this.touch.dragged=!1},onMouseEnter(e){e.preventDefault(),this.vuecal.emitWithEvent("event-mouse-enter",this.event)},onMouseLeave(e){e.preventDefault(),this.vuecal.emitWithEvent("event-mouse-leave",this.event)},onTouchMove(e){if("function"!==typeof this.vuecal.onEventClick)return;const{clientX:t,clientY:s}=e.touches[0],{startX:a,startY:i,dragThreshold:l}=this.touch;(Math.abs(t-a)>l||Math.abs(s-i)>l)&&(this.touch.dragged=!0)},onTouchStart(e){this.touch.startX=e.touches[0].clientX,this.touch.startY=e.touches[0].clientY,this.onMouseDown(e,!0)},onEnterKeypress(e){if("function"===typeof this.vuecal.onEventClick)return this.vuecal.onEventClick(this.event,e)},onDblClick(e){if("function"===typeof this.vuecal.onEventDblclick)return this.vuecal.onEventDblclick(this.event,e)},onDragStart(e){"blocker"!=this.event.type&&"non-working-hours"!=this.event.type&&(this.event.draggingStatic=!1,this.dnd&&this.dnd.eventDragStart(e,this.event))},onDragEnd(){this.dnd&&this.dnd.eventDragEnd(this.event)},onResizeHandleMouseDown(){this.focusEvent(),this.domEvents.dragAnEvent._eid=null,this.domEvents.resizeAnEvent=Object.assign(this.domEvents.resizeAnEvent,{_eid:this.event._eid,start:(this.segment||this.event).start,split:this.event.split||null,segment:!!this.segment&&this.utils.date.formatDateLite(this.segment.start),originalEnd:new Date((this.segment||this.event).end),originalEndTimeMinutes:this.event.endTimeMinutes}),this.event.resizing=!0},deleteEvent(e=!1){if("ontouchstart"in window&&!e)return!1;this.utils.event.deleteAnEvent(this.event)},touchDeleteEvent(e){this.deleteEvent(!0)},cancelDeleteEvent(){this.event.deleting=!1},focusEvent(){const{focusAnEvent:e}=this.domEvents,t=e._eid;if(t!==this.event._eid){if(t){const e=this.view.events.find((e=>e._eid===t));e&&(e.focused=!1)}this.vuecal.cancelDelete(),this.vuecal.emitWithEvent("event-focus",this.event),e._eid=this.event._eid,this.event.focused=!0}}},computed:{eventDimensions(){const{startTimeMinutes:e,endTimeMinutes:t}=this.segment||this.event;let s=e-this.vuecal.timeFrom;const a=Math.max(Math.round(s*this.vuecal.timeCellHeight/this.vuecal.timeStep),0);s=Math.min(t,this.vuecal.timeTo)-this.vuecal.timeFrom;const i=Math.round(s*this.vuecal.timeCellHeight/this.vuecal.timeStep),l=Math.max(i-a,5);return{top:a,height:l}},eventStyles(){if(this.event.allDay||!this.vuecal.time||!this.event.endTimeMinutes||"month"===this.view.id||this.allDay)return{};let e=100-10*this.eventPosition,t=5*this.eventPosition,s=10*(this.eventPosition+1),a=this.event.master_task_color;if(Array.isArray(this.cellOverlaps.sameOverlaps)&&this.cellOverlaps.sameOverlaps.length){const s=this.cellOverlaps.sameOverlaps.length+1,a=this.cellOverlaps.overlaps.filter((e=>{if(!this.cellOverlaps.sameOverlaps.includes(e)&&this.allOverlaps[this.event._eid].position>this.allOverlaps[e].position)return e}));e=100/s-5,t=100/s*(this.eventPosition-a.length)+5*(this.eventPosition-a.length)/s,a.length&&(e-=a.length*(10/s),t+=5*a.length-10*a.length/s*(this.eventPosition-a.length))}this.vuecal.minEventWidth&&e({})},editEvents:{type:Object,required:!0},data:{type:Object,required:!0},cellSplits:{type:Array,default:()=>[]},minTimestamp:{type:[Number,null],default:null},maxTimestamp:{type:[Number,null],default:null},cellWidth:{type:[Number,Boolean],default:!1},allDay:{type:Boolean,default:!1}},data:()=>({tmUtils:A.Z,cellOverlaps:{},cellOverlapsStreak:1,timeAtCursor:null,highlighted:!1,highlightedSplit:null}),methods:{getSplitAtCursor({target:e}){const t=e.classList.contains("vuecal__cell-split");let s=t?e:this.vuecal.findAncestor(e,"vuecal__cell-split");return s&&(s=s.attributes["data-split"].value,parseInt(s).toString()===s.toString()&&(s=parseInt(s))),s||null},splitClasses(e){return{"vuecal__cell-split":!0,"vuecal__cell-split--highlighted":this.highlightedSplit===e.id,"vuecal__cell-split--weekend":e.isWeekend,[e.class]:!!e.class}},checkCellOverlappingEvents(){this.options.time&&this.eventsCount&&!this.splitsCount&&(1===this.eventsCount?(this.cellOverlaps=[],this.cellOverlapsStreak=1):[this.cellOverlaps,this.cellOverlapsStreak]=this.utils.event.checkCellOverlappingEvents(this.events,this.options))},isDOMElementAnEvent(e){return this.vuecal.isDOMElementAnEvent(e)},selectCell(e,t=!1){const s=this.splitsCount?this.getSplitAtCursor(e):null;this.utils.cell.selectCell(t,this.timeAtCursor,s),this.timeAtCursor=null},onCellkeyPressEnter(e){this.isSelected||this.onCellFocus(e);const t=this.splitsCount?this.getSplitAtCursor(e):null;this.utils.cell.keyPressEnterCell(this.timeAtCursor,t),this.timeAtCursor=null},onCellFocus(e){if(!this.isSelected&&!this.isDisabled){this.isSelected=this.data.startDate;const t=this.splitsCount?this.getSplitAtCursor(e):null,s=this.timeAtCursor||this.data.startDate;this.vuecal.$emit("cell-focus",t?{date:s,split:t}:s)}},onCellMouseDown(e,t=null,s=!1){if("ontouchstart"in window&&!s)return!1;this.isSelected||this.onCellFocus(e);const{clickHoldACell:a,focusAnEvent:i}=this.domEvents;this.domEvents.cancelClickEventCreation=!1,a.eventCreated=!1,this.timeAtCursor=new Date(this.data.startDate);const{minutes:l,cursorCoords:{y:n}}=this.vuecal.minutesAtCursor(e);this.timeAtCursor.setMinutes(l);const o=this.isDOMElementAnEvent(e.target);!o&&i._eid&&((this.view.events.find((e=>e._eid===i._eid))||{}).focused=!1),this.editEvents.create&&!o&&this.setUpEventCreation(e,n)},setUpEventCreation(e,t){if(this.options.dragToCreateEvent&&["week","day"].includes(this.view.id)){const{dragCreateAnEvent:s}=this.domEvents;if(s.startCursorY=t,s.split=this.splitsCount?this.getSplitAtCursor(e):null,s.start=this.timeAtCursor,this.options.snapToTime){let e=60*this.timeAtCursor.getHours()+this.timeAtCursor.getMinutes();const t=e+this.options.snapToTime/2;e=t-t%this.options.snapToTime,s.start.setHours(0,e,0,0)}}else this.options.cellClickHold&&["month","week","day"].includes(this.view.id)&&this.setUpCellHoldTimer(e)},setUpCellHoldTimer(e){const{clickHoldACell:t}=this.domEvents;t.cellId=`${this.vuecal._.uid}_${this.data.formattedDate}`,t.split=this.splitsCount?this.getSplitAtCursor(e):null,t.timeoutId=setTimeout((()=>{if(t.cellId&&!this.domEvents.cancelClickEventCreation){const{_eid:e}=this.utils.event.createAnEvent(this.timeAtCursor,null,t.split?{split:t.split}:{});t.eventCreated=e}}),t.timeout)},onCellTouchStart(e,t=null){this.onCellMouseDown(e,t,!0)},onCellClick(e,t){if(e.offsetY>950&&e.offsetY<1700){const s=t.date;s.setHours(Math.floor(e.offsetY/100),0,0,0);const a=new Date(s);a.setHours(s.getHours()+1);const i=Re()(s).format("HH:mm"),l="Dashboard - Teams"===this.$route.name,n=l?t.employee_id:Number(localStorage.getItem("selectedEmployee")||this.user.id);this.$events.emit("show-menu-modal",{time:i,date:A.Z.formatDateTimeForBackend(s),employee:n}),setTimeout((()=>{this.$events.emit("add-timeblock",{id:null,start:A.Z.formatDateTimeForBackend(s),end:A.Z.formatDateTimeForBackend(a)})}),150)}this.isDOMElementAnEvent(e.target)||this.selectCell(e)},onCellDblClick(e){const t=new Date(this.data.startDate);t.setMinutes(this.vuecal.minutesAtCursor(e).minutes);const s=this.splitsCount?this.getSplitAtCursor(e):null;this.vuecal.$emit("cell-dblclick",s?{date:t,split:s}:t),this.options.dblclickToNavigate&&this.vuecal.switchToNarrowerView()},onCellContextMenu(e){e.stopPropagation(),e.preventDefault();const t=new Date(this.data.startDate),{cursorCoords:s,minutes:a}=this.vuecal.minutesAtCursor(e);t.setMinutes(a);const i=this.splitsCount?this.getSplitAtCursor(e):null;this.vuecal.$emit("cell-contextmenu",{date:t,...s,...i||{},e:e})}},computed:{...(0,U.Se)("auth",["user"]),dnd(){return this.modules.dnd},nowInMinutes(){return this.utils.date.dateToMinutes(this.vuecal.now)},isBeforeMinDate(){return null!==this.minTimestamp&&this.minTimestamp>this.data.endDate.getTime()},isAfterMaxDate(){return this.maxTimestamp&&this.maxTimestamp{let{from:t,to:s}=e;return t=Math.max(t,this.options.timeFrom),s=Math.min(s,this.options.timeTo),{...e,height:(s-t)*this.timeScale,top:(t-this.options.timeFrom)*this.timeScale}}))},events(){const{startDate:e,endDate:t}=this.data;let s=[];if(!["years","year"].includes(this.view.id)||this.options.eventsCountOnYearView){if(s=this.view.events.slice(0),"month"===this.view.id&&s.push(...this.view.outOfScopeEvents),s=s.filter((s=>this.utils.event.eventInRange(s,e,t))),this.options.showAllDayEvents&&"month"!==this.view.id&&(s=s.filter((e=>!!e.allDay===this.allDay))),this.options.time&&this.isWeekOrDayView&&!this.allDay){const{timeFrom:e,timeTo:t}=this.options;s=s.filter((s=>{const a=s.daysCount>1&&s.segments[this.data.formattedDate]||{},i=1===s.daysCount&&s.startTimeMinutese,l=s.daysCount>1&&a.startTimeMinutese,n=!1;return s.allDay||i||l||n}))}!this.options.time||!this.isWeekOrDayView||this.options.showAllDayEvents&&this.allDay||s.sort(((e,t)=>e.start{const s=this.events.filter((t=>t.split===e.id)),[a,i]=this.utils.event.checkCellOverlappingEvents(s.filter((e=>!e.background&&!e.allDay)),this.options);return{...e,overlaps:a,overlapsStreak:i,events:s}}))},splitsCount(){return this.splits.length},cellClasses(){return{[this.data.class]:!!this.data.class,"vuecal__cell--current":this.data.current,"vuecal__cell--today":this.data.today,"vuecal__cell--out-of-scope":this.data.outOfScope,"vuecal__cell--before-min":this.isDisabled&&this.isBeforeMinDate,"vuecal__cell--after-max":this.isDisabled&&this.isAfterMaxDate,"vuecal__cell--disabled":this.isDisabled,"vuecal__cell--selected":this.isSelected,"vuecal__cell--highlighted":this.highlighted,"vuecal__cell--has-splits":this.splitsCount,"vuecal__cell--has-events":this.eventsCount}},cellStyles(){return{...this.cellWidth?{width:`${this.cellWidth}%`}:{}}},timelineVisible(){const{time:e,timeTo:t}=this.options;return this.data.today&&this.isWeekOrDayView&&e&&!this.allDay&&this.nowInMinutes<=t},todaysTimePosition(){if(!this.data.today||!this.options.time)return;const e=this.nowInMinutes-this.options.timeFrom;return Math.round(e*this.timeScale)},timeScale(){return this.options.timeCellHeight/this.options.timeStep}}};const dr=(0,$.Z)(rr,[["render",sr]]);var ur=dr,cr={inject:["vuecal","view","editEvents"],components:{"vuecal-cell":ur},props:{options:{type:Object,required:!0},cells:{type:Array,required:!0},label:{type:String,required:!0},daySplits:{type:Array,default:()=>[]},shortEvents:{type:Boolean,default:!0},height:{type:String,default:""},cellOrSplitMinWidth:{type:Number,default:null}},computed:{hasCellOrSplitWidth(){return!!(this.options.minCellWidth||this.daySplits.length&&this.options.minSplitWidth)}}};const mr=(0,$.Z)(cr,[["render",Jo]]);var hr=mr,pr=s(15941);const vr=1440,kr={weekDays:Array(7).fill(""),weekDaysShort:[],months:Array(12).fill(""),years:"",year:"",month:"",week:"",day:"",today:"",noEvent:"",allDay:"",deleteEvent:"",createEvent:"",dateFormat:"dddd MMMM D, YYYY",am:"am",pm:"pm"},fr=["years","year","month","week","day"],gr=new ko(kr);var _r={name:"vue-cal",components:{"vuecal-cell":ur,"vuecal-header":Ro,WeekdaysHeadings:Yo,AllDayBar:hr},provide(){return{vuecal:this,utils:this.utils,modules:this.modules,previous:this.previous,next:this.next,switchView:this.switchView,updateSelectedDate:this.updateSelectedDate,editEvents:this.editEvents,view:this.view,domEvents:this.domEvents}},props:{activeView:{type:String,default:"week"},scrollToHour:{type:Number,default:0},allDayBarHeight:{type:[String,Number],default:"25px"},cellClickHold:{type:Boolean,default:!0},cellContextmenu:{type:Boolean,default:!1},clickToNavigate:{type:Boolean,default:!1},dblclickToNavigate:{type:Boolean,default:!0},disableDatePrototypes:{type:Boolean,default:!1},disableDays:{type:Array,default:()=>[]},disableViews:{type:Array,default:()=>[]},dragToCreateEvent:{type:Boolean,default:!0},dragToCreateThreshold:{type:Number,default:15},editableEvents:{type:[Boolean,Object],default:!1},unscheduledTime:{type:Array,default:[]},events:{type:Array,default:()=>[]},eventsCountOnYearView:{type:Boolean,default:!1},eventsOnMonthView:{type:[Boolean,String],default:!1},hideBody:{type:Boolean,default:!1},hideTitleBar:{type:Boolean,default:!1},hideViewSelector:{type:Boolean,default:!1},hideWeekdays:{type:Array,default:()=>[]},hideWeekends:{type:Boolean,default:!1},locale:{type:[String,Object],default:"en"},maxDate:{type:[String,Date],default:""},minCellWidth:{type:Number,default:0},minDate:{type:[String,Date],default:""},minEventWidth:{type:Number,default:0},minSplitWidth:{type:Number,default:0},onEventClick:{type:[Function,null],default:null},onEventCreate:{type:[Function,null],default:null},onEventDblclick:{type:[Function,null],default:null},overlapsPerTimeStep:{type:Boolean,default:!1},resizeX:{type:Boolean,default:!1},selectedDate:{type:[String,Date],default:""},showAllDayEvents:{type:[Boolean,String],default:!1},showTimeInCells:{type:Boolean,default:!1},showWeekNumbers:{type:[Boolean,String],default:!1},snapToTime:{type:Number,default:0},small:{type:Boolean,default:!1},specialHours:{type:Object,default:()=>({})},splitDays:{type:Array,default:()=>[]},startWeekOnSunday:{type:Boolean,default:!1},stickySplitLabels:{type:Boolean,default:!1},time:{type:Boolean,default:!0},timeCellHeight:{type:Number,default:40},timeFormat:{type:String,default:""},timeFrom:{type:Number,default:0},timeStep:{type:Number,default:60},timeTo:{type:Number,default:vr},todayButton:{type:Boolean,default:!1},transitions:{type:Boolean,default:!0},twelveHour:{type:Boolean,default:!1},watchRealTime:{type:Boolean,default:!1},xsmall:{type:Boolean,default:!1}},data(){return{ready:!1,texts:{...kr},utils:{date:!!this.disableDatePrototypes&&gr.removePrototypes()||gr,cell:null,event:null},modules:{dnd:null},cellsEl:null,view:{id:"",title:"",startDate:null,endDate:null,firstCellDate:null,lastCellDate:null,selectedDate:null,events:[]},eventIdIncrement:1,now:new Date,timeTickerIds:[null,null],domEvents:{resizeAnEvent:{_eid:null,start:null,split:null,segment:null,originalEndTimeMinutes:0,originalEnd:null,end:null,startCell:null,endCell:null},dragAnEvent:{_eid:null},dragCreateAnEvent:{startCursorY:null,start:null,split:null,event:null},focusAnEvent:{_eid:null,mousedUp:!1},clickHoldAnEvent:{_eid:null,timeout:1200,timeoutId:null},dblTapACell:{taps:0,timeout:500},clickHoldACell:{cellId:null,split:null,timeout:1200,timeoutId:null,eventCreated:!1},cancelClickEventCreation:!1},mutableEvents:[],transitionDirection:"right"}},methods:{async loadLocale(e){if("object"===typeof this.locale)return this.texts=Object.assign({},kr,e),void this.utils.date.updateTexts(this.texts);if("en"===this.locale){const e=await s.e(3320).then(s.t.bind(s,3320,19));this.texts=Object.assign({},kr,e)}else s(66667)(`./${e}.json`).then((e=>{this.texts=Object.assign({},kr,e.default),this.utils.date.updateTexts(this.texts)}))},loadDragAndDrop(){s.e(1466).then(s.bind(s,91466)).then((e=>{const{DragAndDrop:t}=e;this.modules.dnd=new t(this)})).catch((()=>pr.warn("Vue Cal: Missing drag & drop module.")))},validateView(e){return fr.includes(e)||(pr.error(`Vue Cal: invalid active-view parameter provided: "${e}".\nA valid view must be one of: ${fr.join(", ")}.`),e="week"),this.enabledViews.includes(e)||(pr.warn(`Vue Cal: the provided active-view "${e}" is disabled. Using the "${this.enabledViews[0]}" view instead.`),e=this.enabledViews[0]),e},switchToNarrowerView(e=null){this.transitionDirection="right";const t=this.enabledViews[this.enabledViews.indexOf(this.view.id)+1];t&&this.switchView(t,e)},switchView(e,t=null,s=!1){e=this.validateView(e);const a=this.utils.date,i=this.view.startDate&&this.view.startDate.getTime();if(this.transitions&&s){if(this.view.id===e)return;const t=this.enabledViews;this.transitionDirection=t.indexOf(this.view.id)>t.indexOf(e)?"left":"right"}const l=this.view.id;switch(this.view.events=[],this.view.id=e,this.view.firstCellDate=null,this.view.lastCellDate=null,t||(t=this.view.selectedDate||this.view.startDate),e){case"years":this.view.startDate=new Date(25*Math.floor(t.getFullYear()/25)||2e3,0,1),this.view.endDate=new Date(this.view.startDate.getFullYear()+25,0,1),this.view.endDate.setSeconds(-1);break;case"year":this.view.startDate=new Date(t.getFullYear(),0,1),this.view.endDate=new Date(t.getFullYear()+1,0,1),this.view.endDate.setSeconds(-1);break;case"month":{this.view.startDate=new Date(t.getFullYear(),t.getMonth(),1),this.view.endDate=new Date(t.getFullYear(),t.getMonth()+1,1),this.view.endDate.setSeconds(-1);let e=new Date(this.view.startDate);if(e.getDay()!==(this.startWeekOnSunday?0:1)&&(e=a.getPreviousFirstDayOfWeek(e,this.startWeekOnSunday)),this.view.firstCellDate=e,this.view.lastCellDate=a.addDays(e,41),this.view.lastCellDate.setHours(23,59,59,0),this.hideWeekends){if([0,6].includes(this.view.firstCellDate.getDay())){const e=6!==this.view.firstCellDate.getDay()||this.startWeekOnSunday?1:2;this.view.firstCellDate=a.addDays(this.view.firstCellDate,e)}if([0,6].includes(this.view.startDate.getDay())){const e=6===this.view.startDate.getDay()?2:1;this.view.startDate=a.addDays(this.view.startDate,e)}if([0,6].includes(this.view.lastCellDate.getDay())){const e=0!==this.view.lastCellDate.getDay()||this.startWeekOnSunday?1:2;this.view.lastCellDate=a.subtractDays(this.view.lastCellDate,e)}if([0,6].includes(this.view.endDate.getDay())){const e=0===this.view.endDate.getDay()?2:1;this.view.endDate=a.subtractDays(this.view.endDate,e)}}break}case"week":{t=a.getPreviousFirstDayOfWeek(t,this.startWeekOnSunday);const e=this.hideWeekends?5:7;this.view.startDate=this.hideWeekends&&this.startWeekOnSunday?a.addDays(t,1):t,this.view.startDate.setHours(0,0,0,0),this.view.endDate=a.addDays(t,e),this.view.endDate.setSeconds(-1);break}case"day":this.view.startDate=t,this.view.startDate.setHours(0,0,0,0),this.view.endDate=new Date(t),this.view.endDate.setHours(23,59,59,0);break}this.addEventsToView();const n=this.view.startDate&&this.view.startDate.getTime();if((l!==e||n!==i)&&(this.$emit("update:activeView",e),this.ready)){const t=this.view.startDate,s={view:e,startDate:t,endDate:this.view.endDate,...this.isMonthView?{firstCellDate:this.view.firstCellDate,lastCellDate:this.view.lastCellDate,outOfScopeEvents:this.view.outOfScopeEvents.map(this.cleanupEvent)}:{},events:this.view.events.map(this.cleanupEvent),...this.isWeekView?{week:a.getWeek(this.startWeekOnSunday?a.addDays(t,1):t)}:{}};this.$refs["vuecal_scroll"].scrollTop=this.scrollToHour*this.timeCellHeight,this.$emit("view-change",s)}},previous(){this.previousNext(!1)},next(){this.previousNext()},previousNext(e=!0){const t=this.utils.date;this.transitionDirection=e?"right":"left";const s=e?1:-1;let a=null;const{startDate:i,id:l}=this.view;switch(l){case"years":a=new Date(i.getFullYear()+25*s,0,1);break;case"year":a=new Date(i.getFullYear()+1*s,1,1);break;case"month":a=new Date(i.getFullYear(),i.getMonth()+1*s,1);break;case"week":a=t[e?"addDays":"subtractDays"](t.getPreviousFirstDayOfWeek(i,this.startWeekOnSunday),7);break;case"day":a=t[e?"addDays":"subtractDays"](i,1);const l=a.getDay(),n=this.startWeekOnSunday?l:(l||7)-1,o=this.weekDays[n].hide;if(o){const s=this.weekDays.map(((e,t)=>({...e,i:t})));let i=null,l=0;e?(i=[...s.slice(n),...s].find((e=>(l++,!e.hide))).i,l--):i=[...s,...s.slice(0,n)].reverse().find((e=>(l++,!e.hide))).i,a=t[e?"addDays":"subtractDays"](a,l)}break}a&&this.switchView(l,a)},addEventsToView(e=[]){const t=this.utils.event,{startDate:s,endDate:a,firstCellDate:i,lastCellDate:l}=this.view;if(e.length||(this.view.events=[]),e=e.length?e:[...this.mutableEvents],!e||this.isYearsOrYearView&&!this.eventsCountOnYearView)return;let n=e.filter((e=>t.eventInRange(e,s,a)));this.isYearsOrYearView||this.isMonthView&&!this.eventsOnMonthView||(n=n.map((e=>e.daysCount>1?t.createEventSegments(e,i||s,l||a):e))),this.view.events.push(...n),this.isMonthView&&(this.view.outOfScopeEvents=[],e.forEach((e=>{(t.eventInRange(e,i,s)||t.eventInRange(e,a,l))&&(this.view.events.some((t=>t._eid===e._eid))||this.view.outOfScopeEvents.push(e))})))},findAncestor(e,t){while((e=e.parentElement)&&!e.classList.contains(t));return e},isDOMElementAnEvent(e){return e.classList.contains("vuecal__event")||this.findAncestor(e,"vuecal__event")},onMouseMove(e){const{resizeAnEvent:t,dragAnEvent:s,dragCreateAnEvent:a}=this.domEvents;(null!==t._eid||null!==s._eid||a.start)&&(e.preventDefault(),t._eid?this.eventResizing(e):this.dragToCreateEvent&&a.start&&this.eventDragCreation(e))},onMouseUp(e){const{focusAnEvent:t,resizeAnEvent:s,clickHoldAnEvent:a,clickHoldACell:i,dragCreateAnEvent:l}=this.domEvents,{_eid:n}=a,{_eid:o}=s;let r=!1;const{event:d,start:u}=l,c=this.isDOMElementAnEvent(e.target),m=t.mousedUp;if(t.mousedUp=!1,c&&(this.domEvents.cancelClickEventCreation=!0),i.eventCreated)return;if(o){const{originalEnd:e,originalEndTimeMinutes:t,endTimeMinutes:a}=s,i=this.view.events.find((e=>e._eid===s._eid));if(r=a&&a!==t,i&&i.end.getTime()!==e.getTime()){const t=this.mutableEvents.find((e=>e._eid===s._eid));t.endTimeMinutes=i.endTimeMinutes,t.end=i.end;const a=this.cleanupEvent(i),l={...this.cleanupEvent(i),end:e,endTimeMinutes:i.originalEndTimeMinutes};this.$emit("event-duration-change",{event:a,oldDate:s.originalEnd,originalEvent:l}),this.$emit("event-change",{event:a,originalEvent:l})}i&&(i.resizing=!1),s._eid=null,s.start=null,s.split=null,s.segment=null,s.originalEndTimeMinutes=null,s.originalEnd=null,s.endTimeMinutes=null,s.startCell=null,s.endCell=null}else u&&(d&&(this.emitWithEvent("event-drag-create",d),l.event.resizing=!1),l.start=null,l.split=null,l.event=null);c||o||this.unfocusEvent(),a.timeoutId&&!n&&(clearTimeout(a.timeoutId),a.timeoutId=null),i.timeoutId&&(clearTimeout(i.timeoutId),i.timeoutId=null);const h="function"===typeof this.onEventClick;if(m&&!r&&!n&&!d&&h){let s=this.view.events.find((e=>e._eid===t._eid));return!s&&this.isMonthView&&(s=this.view.outOfScopeEvents.find((e=>e._eid===t._eid))),s&&this.onEventClick(s,e)}},onKeyUp(e){27===e.keyCode&&this.cancelDelete()},eventResizing(e){const{resizeAnEvent:t}=this.domEvents,s=this.view.events.find((e=>e._eid===t._eid))||{segments:{}},{minutes:a,cursorCoords:i}=this.minutesAtCursor(e),l=s.segments&&s.segments[t.segment],{date:n,event:o}=this.utils,r=Math.max(a,this.timeFrom+1,(l||s).startTimeMinutes+1);if(s.endTimeMinutes=t.endTimeMinutes=r,this.snapToTime){const e=s.endTimeMinutes+this.snapToTime/2;s.endTimeMinutes=e-e%this.snapToTime}if(l&&(l.endTimeMinutes=s.endTimeMinutes),s.end.setHours(0,s.endTimeMinutes,s.endTimeMinutes===vr?-1:0,0),this.resizeX&&this.isWeekView){s.daysCount=n.countDays(s.start,s.end);const e=this.cellsEl,a=e.offsetWidth/e.childElementCount,l=Math.floor(i.x/a);if(null===t.startCell&&(t.startCell=l-(s.daysCount-1)),t.endCell!==l){t.endCell=l;const e=n.addDays(s.start,l-t.startCell),a=Math.max(n.countDays(s.start,e),1);if(a!==s.daysCount){let e=null;e=a>s.daysCount?o.addEventSegment(s):o.removeEventSegment(s),t.segment=e,s.endTimeMinutes+=.001}}}this.$emit("event-resizing",{_eid:s._eid,end:s.end,endTimeMinutes:s.endTimeMinutes})},eventDragCreation(e){const{dragCreateAnEvent:t}=this.domEvents,{start:s,startCursorY:a,split:i}=t,l=new Date(s),{minutes:n,cursorCoords:{y:o}}=this.minutesAtCursor(e);if(t.event||!(Math.abs(a-o)s._eid===(e._eid||t._eid)));e._eid=null,t._eid=null,s&&(s.focused=!1,s.deleting=!1)},cancelDelete(){const{clickHoldAnEvent:e}=this.domEvents;if(e._eid){const t=this.view.events.find((t=>t._eid===e._eid));t&&(t.deleting=!1),e._eid=null,e.timeoutId=null}},onEventTitleBlur(e,t){if(t.title===e.target.innerHTML)return;const s=t.title;t.title=e.target.innerHTML;const a=this.cleanupEvent(t);this.$emit("event-title-change",{event:a,oldTitle:s}),this.$emit("event-change",{event:a,originalEvent:{...a,title:s}})},updateMutableEvents(){const e=this.utils.date;this.mutableEvents=[],this.events.forEach((t=>{const s="string"===typeof t.start?e.stringToDate(t.start):t.start,a=e.formatDateLite(s),i=e.dateToMinutes(s);let l=null;"string"===typeof t.end&&t.end.includes("24:00")?(l=new Date(t.end.replace(" 24:00","")),l.setHours(23,59,59,0)):l="string"===typeof t.end?e.stringToDate(t.end):t.end;let n=e.formatDateLite(l),o=e.dateToMinutes(l);o&&o!==vr||(!this.time||"string"===typeof t.end&&10===t.end.length?l.setHours(23,59,59,0):l.setSeconds(l.getSeconds()-1),n=e.formatDateLite(l),o=vr);const r=a!==n;t=Object.assign({...this.utils.event.eventDefaults},t,{_eid:`${this._.uid}_${this.eventIdIncrement++}`,segments:r?{}:null,start:s,startTimeMinutes:i,end:l,endTimeMinutes:o,daysCount:r?e.countDays(s,l):1,class:t.class}),this.mutableEvents.push(t)}))},minutesAtCursor(e){return this.utils.cell.minutesAtCursor(e)},createEvent(e,t,s={}){return this.utils.event.createAnEvent(e,t,s)},cleanupEvent(e){e={...e};const t=["segments","deletable","deleting","titleEditable","resizable","resizing","draggable","dragging","draggingStatic","focused"];return t.forEach((t=>{t in e&&delete e[t]})),e.repeat||delete e.repeat,e},emitWithEvent(e,t){this.$emit(e,this.cleanupEvent(t))},updateSelectedDate(e){if(e=e&&"string"===typeof e?this.utils.date.stringToDate(e):new Date(e),e&&e instanceof Date){const{selectedDate:t}=this.view;t&&(this.transitionDirection=t.getTime()>e.getTime()?"left":"right"),e.setHours(0,0,0,0),t&&t.getTime()===e.getTime()||(this.view.selectedDate=e),this.switchView(this.view.id)}this.$emit("update:selected-date",this.view.selectedDate)},getWeekNumber(e){const t=this.utils.date,s=this.firstCellDateWeekNumber,a=s+e,i=this.startWeekOnSunday?1:0;return a>52?t.getWeek(t.addDays(this.view.firstCellDate,7*e+i)):a},timeTick(){this.now=new Date,this.timeTickerIds[1]=setTimeout(this.timeTick,6e4)},updateDateTexts(){this.utils.date.updateTexts(this.texts)},alignWithScrollbar(){},cellOrSplitHasEvents(e,t=null){return e.length&&(!t&&e.length||t&&e.some((e=>e.split===t.id)))}},created(){this.utils.cell=new go(this),this.utils.event=new Mo(this,this.utils.date),this.loadLocale(this.locale),this.editEvents.drag&&this.loadDragAndDrop(),this.updateMutableEvents(this.events),this.view.id=this.currentView,this.selectedDate?this.updateSelectedDate(this.selectedDate):(this.view.selectedDate=new Date,this.switchView(this.currentView)),this.time&&this.watchRealTime&&(this.timeTickerIds[0]=setTimeout(this.timeTick,1e3*(60-this.now.getSeconds())))},mounted(){const e=this.utils.date,t="ontouchstart"in window,{resize:s,drag:a,create:i,delete:l,title:n}=this.editEvents,o=this.onEventClick&&"function"===typeof this.onEventClick;(s||a||i||l||n||o)&&window.addEventListener(t?"touchend":"mouseup",this.onMouseUp),(s||a||i&&this.dragToCreateEvent)&&window.addEventListener(t?"touchmove":"mousemove",this.onMouseMove,{passive:!1}),n&&window.addEventListener("keyup",this.onKeyUp),t&&(this.$refs.vuecal.oncontextmenu=function(e){e.preventDefault(),e.stopPropagation()});const r=this.view.startDate,d={view:this.view.id,startDate:r,endDate:this.view.endDate,...this.isMonthView?{firstCellDate:this.view.firstCellDate,lastCellDate:this.view.lastCellDate}:{},events:this.view.events.map(this.cleanupEvent),...this.isWeekView?{week:e.getWeek(this.startWeekOnSunday?e.addDays(r,1):r)}:{}};this.$refs["vuecal_scroll"].addEventListener("scroll",(()=>{this.$refs["vuecal_splits_heading"].style.top=`${this.$refs["vuecal_scroll"].scrollTop}px`})),this.viewportTimelineOffset=this.$refs["vuecal_scroll"].getBoundingClientRect().top,this.$refs["vuecal_scroll"].scrollTop=this.scrollToHour*this.timeCellHeight,this.$emit("ready",d),this.ready=!0},beforeUnmount(){const e="ontouchstart"in window;window.removeEventListener(e?"touchmove":"mousemove",this.onMouseMove,{passive:!1}),window.removeEventListener(e?"touchend":"mouseup",this.onMouseUp),window.removeEventListener("keyup",this.onKeyUp),this.timeTickerIds[0]&&clearTimeout(this.timeTickerIds[0]),this.timeTickerIds[1]&&clearTimeout(this.timeTickerIds[1]),this.timeTickerIds=[null,null]},computed:{editEvents(){return this.editableEvents&&"object"===typeof this.editableEvents?{title:!!this.editableEvents.title,drag:!!this.editableEvents.drag,resize:!!this.editableEvents.resize,create:!!this.editableEvents.create,delete:!!this.editableEvents.delete}:{title:!!this.editableEvents,drag:!!this.editableEvents,resize:!!this.editableEvents,create:!!this.editableEvents,delete:!!this.editableEvents}},views(){return{years:{label:this.texts.years,enabled:!this.disableViews.includes("years")},year:{label:this.texts.year,enabled:!this.disableViews.includes("year")},month:{label:this.texts.month,enabled:!this.disableViews.includes("month")},week:{label:this.texts.week,enabled:!this.disableViews.includes("week")},day:{label:this.texts.day,enabled:!this.disableViews.includes("day")}}},currentView(){return this.validateView(this.activeView)},enabledViews(){return Object.keys(this.views).filter((e=>this.views[e].enabled))},hasTimeColumn(){return this.time&&this.isWeekOrDayView},isShortMonthView(){return this.isMonthView&&"short"===this.eventsOnMonthView},firstCellDateWeekNumber(){const e=this.utils.date,t=this.view.firstCellDate;return e.getWeek(this.startWeekOnSunday?e.addDays(t,1):t)},timeCells(){const e=[];for(let t=this.timeFrom,s=this.timeTo;t!e.hide))||[]).map(((e,t)=>({...e,id:e.id||t+1})))},hasSplits(){return this.daySplits.length&&this.isWeekOrDayView},hasShortEvents(){return"short"===this.showAllDayEvents},cellOrSplitMinWidth(){let e=null;return this.hasSplits&&this.minSplitWidth?e=this.visibleDaysCount*this.minSplitWidth*this.daySplits.length:this.minCellWidth&&this.isWeekView&&(e=this.visibleDaysCount*this.minCellWidth),e},allDayBar(){let e=this.allDayBarHeight||null;return e&&!isNaN(e)&&(e+="px"),{cells:this.viewCells,options:this.$props,label:this.texts.allDay,shortEvents:this.hasShortEvents,daySplits:this.hasSplits&&this.daySplits||[],cellOrSplitMinWidth:this.cellOrSplitMinWidth,height:e}},minTimestamp(){let e=null;return this.minDate&&"string"===typeof this.minDate?e=this.utils.date.stringToDate(this.minDate):this.minDate&&this.minDate instanceof Date&&(e=this.minDate),e?e.getTime():null},maxTimestamp(){let e=null;return this.maxDate&&"string"===typeof this.maxDate?e=this.utils.date.stringToDate(this.maxDate):this.maxDate&&this.minDate instanceof Date&&(e=this.maxDate),e?e.getTime():null},weekDays(){let{weekDays:e,weekDaysShort:t=[]}=this.texts;return e=e.slice(0).map(((e,s)=>({label:e,...t.length?{short:t[s]}:{},hide:this.hideWeekends&&s>=5||this.hideWeekdays.length&&this.hideWeekdays.includes(s+1)}))),this.startWeekOnSunday&&e.unshift(e.pop()),e},weekDaysInHeader(){return this.isMonthView||this.isWeekView&&!this.minCellWidth&&!(this.hasSplits&&this.minSplitWidth)},months(){return this.texts.months.map((e=>({label:e})))},specialDayHours(){return this.specialHours&&Object.keys(this.specialHours).length?Array(7).fill("").map(((e,t)=>{let s=this.specialHours[t+1]||[];return Array.isArray(s)||(s=[s]),e=[],s.forEach((({from:s,to:a,class:i,label:l},n)=>{e[n]={day:t+1,from:[null,void 0].includes(s)?null:1*s,to:[null,void 0].includes(a)?null:1*a,class:i||"",label:l||""}})),e})):{}},viewTitle(){const e=this.utils.date;let t="";const s=this.view.startDate,a=s.getFullYear(),i=s.getMonth();switch(this.view.id){case"years":t=this.texts.years;break;case"year":t=a;break;case"month":t=`${this.months[i].label} ${a}`;break;case"week":{const a=this.view.endDate,i=s.getFullYear();let l=this.texts.months[s.getMonth()];this.xsmall&&(l=l.substring(0,3));let n=`${l} ${i}`;if(a.getMonth()!==s.getMonth()){const e=a.getFullYear();let t=this.texts.months[a.getMonth()];this.xsmall&&(t=t.substring(0,3)),n=i===e?`${l} - ${t} ${i}`:this.small?`${l.substring(0,3)} ${i} - ${t.substring(0,3)} ${e}`:`${l} ${i} - ${t} ${e}`}t=`${this.texts.week} ${e.getWeek(this.startWeekOnSunday?e.addDays(s,1):s)} (${n})`;break}case"day":t=this.utils.date.formatDate(s,this.texts.dateFormat,this.texts);break}return t},viewCells(){const e=this.utils.date;let t=[],s=null,a=!1;this.watchRealTime||(this.now=new Date);const i=this.now;switch(this.view.id){case"years":s=this.view.startDate.getFullYear(),t=Array.apply(null,Array(25)).map(((t,a)=>{const l=new Date(s+a,0,1),n=new Date(s+a+1,0,1);return n.setSeconds(-1),{startDate:l,formattedDate:e.formatDateLite(l),endDate:n,content:s+a,current:s+a===i.getFullYear()}}));break;case"year":s=this.view.startDate.getFullYear(),t=Array.apply(null,Array(12)).map(((t,a)=>{const l=new Date(s,a,1),n=new Date(s,a+1,1);return n.setSeconds(-1),{startDate:l,formattedDate:e.formatDateLite(l),endDate:n,content:this.xsmall?this.months[a].label.substr(0,3):this.months[a].label,current:a===i.getMonth()&&s===i.getFullYear()}}));break;case"month":{const s=this.view.startDate.getMonth(),i=new Date(this.view.firstCellDate);a=!1,t=Array.apply(null,Array(42)).map(((t,l)=>{const n=e.addDays(i,l),o=new Date(n);o.setHours(23,59,59,0);const r=!a&&e.isToday(n)&&!a++;return{startDate:n,formattedDate:e.formatDateLite(n),endDate:o,content:n.getDate(),today:r,outOfScope:n.getMonth()!==s,class:`vuecal__cell--day${n.getDay()||7}`}})),(this.hideWeekends||this.hideWeekdays.length)&&(t=t.filter((e=>{const t=e.startDate.getDay()||7;return!(this.hideWeekends&&t>=6||this.hideWeekdays.length&&this.hideWeekdays.includes(t))})));break}case"week":{a=!1;let s=this.view.startDate;const i=this.weekDays;t=i.map(((t,i)=>{const l=e.addDays(s,this.startWeekOnSunday?i-1:i),n=new Date(l);n.setHours(23,59,59,0);const o=(l.getDay()||7)-1;return{startDate:l,formattedDate:e.formatDateLite(l),endDate:n,today:!a&&e.isToday(l)&&!a++,specialHours:this.specialDayHours[o]||[]}})).filter(((e,t)=>!i[t].hide));break}case"day":{const s=this.view.startDate,a=new Date(this.view.startDate);a.setHours(23,59,59,0);const i=(s.getDay()||7)-1;t=[{startDate:s,formattedDate:e.formatDateLite(s),endDate:a,today:e.isToday(s),specialHours:this.specialDayHours[i]||[]}];break}}return t},visibleDaysCount(){return this.isDayView?1:7-this.weekDays.reduce(((e,t)=>e+t.hide),0)},cellWidth(){return 100/this.visibleDaysCount},cssClasses(){const{resizeAnEvent:e,dragAnEvent:t,dragCreateAnEvent:s}=this.domEvents;return{[`vuecal--${this.view.id}-view`]:!0,[`vuecal--${this.locale}`]:this.locale,"vuecal--no-time":!this.time,"vuecal--view-with-time":this.hasTimeColumn,"vuecal--week-numbers":this.showWeekNumbers&&this.isMonthView,"vuecal--twelve-hour":this.twelveHour,"vuecal--click-to-navigate":this.clickToNavigate,"vuecal--hide-weekends":this.hideWeekends,"vuecal--split-days":this.hasSplits,"vuecal--sticky-split-labels":this.hasSplits&&this.stickySplitLabels,"vuecal--overflow-x":this.minCellWidth&&this.isWeekView||this.hasSplits&&this.minSplitWidth,"vuecal--small":this.small,"vuecal--xsmall":this.xsmall,"vuecal--resizing-event":e._eid,"vuecal--drag-creating-event":s.event,"vuecal--dragging-event":t._eid,"vuecal--events-on-month-view":this.eventsOnMonthView,"vuecal--short-events":this.isMonthView&&"short"===this.eventsOnMonthView,"vuecal--has-touch":"undefined"!==typeof window&&"ontouchstart"in window}},isYearsOrYearView(){return["years","year"].includes(this.view.id)},isYearsView(){return"years"===this.view.id},isYearView(){return"year"===this.view.id},isMonthView(){return"month"===this.view.id},isWeekOrDayView(){return["week","day"].includes(this.view.id)},isWeekView(){return"week"===this.view.id},isDayView(){return"day"===this.view.id}},watch:{events:{handler(e,t){this.updateMutableEvents(e),this.addEventsToView()},deep:!0},locale(e){this.loadLocale(e)},selectedDate(e){this.updateSelectedDate(e)},activeView(e){this.switchView(e)}}};const br=(0,$.Z)(_r,[["render",ro]]);var wr=br,yr={install:e=>{e.component("Vue-cal",wr)}};s(48851),s(1292),s(81633),s(51045),s(46187),s(22299),s(93423),s(54687),s(49147),s(6250);l(),d();const Dr={axios:{disabled:!0},i18n:{languages:[{title:"Slovenský",flag:"sk",value:"sk"}],defaultLanguage:"sk"},moxios:{routes:{"GET v1/overview/teams":!0,"GET v1/overview/tasks":!0}}},Mr=(0,a.ri)(Hl).use(Nl).use(Fl).use(Wn).use(Cn,Dr).use(i.oX).use(o).use(yr).use(On).use(c(),{color:"#6200EE"}).mount("#app"),Tr=Mr.$i18n.t},65687:function(e,t,s){"use strict";s.d(t,{Ly:function(){return a},d2:function(){return i},Jc:function(){return l},iy:function(){return n},QS:function(){return r},rI:function(){return o}});var a=s(27484),i=s(53830),l=s.p+"img/checkmark-double.8bc9494b.svg",n=s(34413),o=(s(87500),s(60666)),r=(s(38351),s(35902),s(52906),s.p+"img/office-365.84b4e31a.svg")},7648:function(e,t,s){"use strict";var a=s(8483);t["Z"]={parseErrors(e){return Object.values(e).map((e=>(0,a.$t)(e?.$message))).join(". ")}}},83299:function(e,t){"use strict";t["Z"]={methods:{customFilter(e,t){const s=e.normalize("NFD").replace(/[\u0300-\u036f]/g,""),a=t.normalize("NFD").replace(/[\u0300-\u036f]/g,""),i=/[^a-zA-Z0-9 ]/g,l=s.replace(i,""),n=a.replace(i,"");return l.toLowerCase().includes(n.toLowerCase())||""===e}}}},34407:function(e,t,s){"use strict";var a=s(36797),i=s.n(a);t["Z"]={enrichEmployees(e){return e.map((e=>({...e,_fullName:`${e.name} ${e.surname}`,_initials:e.name.charAt(0)+e.surname.charAt(0)})))},formatDateTime(e){return i()(e),i()(e).format("DD.MM.yyyy, HH:mm")},formatDateTimeForBackend(e){return i()(e).format("YYYY-MM-DD HH:mm:ss")},formatDate(e){return i()(e).format("DD.MM.yyyy")},isBefore(e,t=null){return i()(e).isBefore(i()(t))},isAfter(e,t=i()()){return i()(e).isAfter(i()(t))}}},8973:function(e,t,s){var a={"./en.json":20790,"./sk.json":71941};function i(e){var t=l(e);return s(t)}function l(e){if(!s.o(a,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return a[e]}i.keys=function(){return Object.keys(a)},i.resolve=l,e.exports=i,i.id=8973},66667:function(e,t,s){var a={"./ar.json":[68568,8568],"./bg.json":[20684,684],"./bn.json":[61170,1170],"./bs.json":[41161,1161],"./ca.json":[40612,612],"./cs.json":[50213,213],"./da.json":[98542,8542],"./de.json":[4701,4701],"./el.json":[20453,453],"./en.json":[3320,3320],"./es.json":[60076,76],"./et.json":[44075,4075],"./fa.json":[69004,9004],"./fr.json":[60007,7],"./he.json":[23746,3746],"./hr.json":[92921,2921],"./hu.json":[75723,5723],"./id.json":[12502,2502],"./is.json":[13214,3214],"./it.json":[51380,1380],"./ja.json":[72484,2484],"./ka.json":[60285,285],"./ko.json":[79249,9249],"./lt.json":[42838,2838],"./mn.json":[6177,6177],"./nl.json":[99729,9729],"./no.json":[49409,9409],"./pl.json":[25409,5409],"./pt-br.json":[74529,4529],"./ro.json":[29715,9715],"./ru.json":[32113,2113],"./sk.json":[30229,229],"./sl.json":[28636,8636],"./sq.json":[204,204],"./sr.json":[55553,5553],"./sv.json":[75979,5979],"./tr.json":[5268,5268],"./uk.json":[14057,4057],"./vi.json":[88929,8929],"./zh-cn.json":[56730,6730],"./zh-hk.json":[30841,841]};function i(e){if(!s.o(a,e))return Promise.resolve().then((function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=a[e],i=t[0];return s.e(t[1]).then((function(){return s.t(i,19)}))}i.keys=function(){return Object.keys(a)},i.id=66667,e.exports=i},27484:function(e,t,s){"use strict";e.exports=s.p+"img/bin.8778f5be.svg"},53830:function(e,t,s){"use strict";e.exports=s.p+"img/checkmark.76754510.svg"},34413:function(e,t,s){"use strict";e.exports=s.p+"img/eye.6d5fa7d3.svg"},87500:function(e,t,s){"use strict";e.exports=s.p+"img/home.a9495a95.svg"},35902:function(e,t,s){"use strict";e.exports=s.p+"img/icon-next.25e7a4f4.svg"},38351:function(e,t,s){"use strict";e.exports=s.p+"img/icon-prev.22ba0fa6.svg"},60666:function(e,t,s){"use strict";e.exports=s.p+"img/pencil.b9009162.svg"},52906:function(e,t,s){"use strict";e.exports=s.p+"img/search.bd80c5fb.svg"},14214:function(e,t,s){"use strict";e.exports=s.p+"img/spinner.34fd3cb2.gif"},20790:function(e){"use strict";e.exports=JSON.parse('{"Value is not a valid email address":"Value is not a valid email address","error":"chyba","Value is required":"Pole je povinné","This field should be at least 8 characters long":"Pole musí obsahovať aspoň 8 znakov","This field should be at least 6 characters long":"Pole musí obsahovať aspoň 6 znakov","This maximum length allowed is 6":"Pole musí obsahovať 6 znakov","The value must be equal to the other value":"Heslá sa nezhodujú"}')},71941:function(e){"use strict";e.exports=JSON.parse('{"Value is not a valid email address":"Zadali ste neplatný email","error":"chyba","Value is required":"Pole je povinné","This field should be at least 8 characters long":"Pole musí obsahovať aspoň 8 znakov","This field should be at least 6 characters long":"Pole musí obsahovať aspoň 6 znakov","This maximum length allowed is 6":"Pole musí obsahovať 6 znakov","The value must be equal to the other value":"Heslá sa nezhodujú"}')}},t={};function s(a){var i=t[a];if(void 0!==i)return i.exports;var l=t[a]={id:a,loaded:!1,exports:{}};return e[a].call(l.exports,l,l.exports,s),l.loaded=!0,l.exports}s.m=e,function(){var e=[];s.O=function(t,a,i,l){if(!a){var n=1/0;for(u=0;u=l)&&Object.keys(s.O).every((function(e){return s.O[e](a[r])}))?a.splice(r--,1):(o=!1,l0&&e[u-1][2]>l;u--)e[u]=e[u-1];e[u]=[a,i,l]}}(),function(){s.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return s.d(t,{a:t}),t}}(),function(){var e,t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__};s.t=function(a,i){if(1&i&&(a=this(a)),8&i)return a;if("object"===typeof a&&a){if(4&i&&a.__esModule)return a;if(16&i&&"function"===typeof a.then)return a}var l=Object.create(null);s.r(l);var n={};e=e||[null,t({}),t([]),t(t)];for(var o=2&i&&a;"object"==typeof o&&!~e.indexOf(o);o=t(o))Object.getOwnPropertyNames(o).forEach((function(e){n[e]=function(){return a[e]}}));return n["default"]=function(){return a},s.d(l,n),l}}(),function(){s.d=function(e,t){for(var a in t)s.o(t,a)&&!s.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})}}(),function(){s.f={},s.e=function(e){return Promise.all(Object.keys(s.f).reduce((function(t,a){return s.f[a](e,t),t}),[]))}}(),function(){s.u=function(e){return"js/"+e+"."+{7:"7cef58a7",76:"9977e9df",188:"d74ce2b2",204:"4dd3d03d",213:"c9ed5252",229:"b09f2145",285:"6a0985b5",453:"04d72c77",612:"4ea201aa",684:"017ebeb8",841:"65cae984",907:"bfa01f81",924:"ddc3fd73",1097:"88cdd882",1161:"59a7c68b",1170:"16217940",1380:"fc40de11",1466:"c5d34b19",2113:"2a1bcdfa",2484:"6def3002",2502:"66addef9",2612:"ea780a2e",2838:"aa69ee5c",2921:"b5aad8e9",3214:"72d306e7",3311:"bcab8a66",3320:"fe7033d0",3657:"e558064c",3728:"3e558208",3746:"09ee0424",3862:"b079a5bd",4057:"4b3b38fd",4075:"2d83f71e",4392:"02bf9f00",4518:"8e2c3fa8",4529:"6ff3334b",4628:"091a4a79",4701:"e34c277a",5268:"5d463fbd",5409:"4ce439c3",5553:"032fcbe7",5723:"09853a5d",5979:"385e1b41",6177:"12db94aa",6431:"67cb67ed",6730:"61289e01",6881:"c397716c",7073:"57c96578",7343:"1e290ed5",7910:"59502459",8024:"bb377405",8520:"cb7009ea",8542:"09badcc3",8568:"7f0dfd32",8636:"2a90cf11",8731:"a28fea96",8929:"ea6da50f",8990:"6dd37151",9004:"ffe04245",9033:"727fb9e6",9249:"d2b0f88c",9409:"339f5afb",9715:"21ca1afa",9729:"812aea5b",9730:"caa9c858"}[e]+".js"}}(),function(){s.miniCssF=function(e){return"css/"+e+"."+{188:"37c2c58b",907:"fa9ddfdd",2612:"f67d9d9c",3862:"f5c9dd84",4392:"01299cfb",4628:"466ff22e",6881:"ba630185",7073:"3978ef96",7910:"5c6ae9ba",9033:"ace2e544",9730:"834f8ac7"}[e]+".css"}}(),function(){s.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){var e={},t="jandl:";s.l=function(a,i,l,n){if(e[a])e[a].push(i);else{var o,r;if(void 0!==l)for(var d=document.getElementsByTagName("script"),u=0;u sanitizedUrl.startsWith(protocol))\n\n if (hasWhitelistedProtocol) return sanitizedUrl\n\n return `https://${sanitizedUrl}`\n } \n }\n\n Quill.register('formats/link', CustomLinkSanitizer, true)\n}","\n\n","\n\n","export default {\n\tmounted() {\n\t\twindow.addEventListener('keydown', this.handleKeyDown)\n\t},\n\n\tmethods: {\n\t\thandleKeyDown(event) {\n\t\t\t// if (event.keyCode === 27) this.closeModal()\n\t\t\tif (event.keyCode === 27) this.visible = false\n\t\t}\n\t},\n}","import { render } from \"./z-delete-team-modal.vue?vue&type=template&id=67985565\"\nimport script from \"./z-delete-team-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-delete-team-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./z-team-modal.vue?vue&type=template&id=3218e2d8\"\nimport script from \"./z-team-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-team-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./z-delete-task-modal.vue?vue&type=template&id=69a1b060\"\nimport script from \"./z-delete-task-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-delete-task-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n","import { render } from \"./z-delete-timeblock-modal.vue?vue&type=template&id=4aa4bee3&scoped=true\"\nimport script from \"./z-delete-timeblock-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-delete-timeblock-modal.vue?vue&type=script&lang=js\"\n\nimport \"./z-delete-timeblock-modal.vue?vue&type=style&index=0&id=4aa4bee3&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4aa4bee3\"]])\n\nexport default __exports__","\n\n\n\n\n","\n\n\n\n","import { render } from \"./z-files-upload.vue?vue&type=template&id=a2a40214&scoped=true\"\nimport script from \"./z-files-upload.vue?vue&type=script&lang=js\"\nexport * from \"./z-files-upload.vue?vue&type=script&lang=js\"\n\nimport \"./z-files-upload.vue?vue&type=style&index=0&id=a2a40214&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-a2a40214\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./a-task-timeblocks.vue?vue&type=template&id=4c8bf9fa\"\nimport script from \"./a-task-timeblocks.vue?vue&type=script&lang=js\"\nexport * from \"./a-task-timeblocks.vue?vue&type=script&lang=js\"\n\nimport \"./a-task-timeblocks.vue?vue&type=style&index=0&id=4c8bf9fa&lang=sass\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","export default {\n\t// Mixin to fix autofocus on v-input in modals where date selects are used\n\tdata() {\n\t\treturn {\n\t\t\tpreventInputFocus: false\n\t\t}\n\t},\n\n\tmethods: {\n\t\tsetFocusEvent() {\n\t\t\tdocument.querySelectorAll('.v-autocomplete input').forEach(input => {\n\t\t\t\tinput.addEventListener('focus', this.onInputFocus)\n\t\t\t})\n\t\t},\n\n\t\tonDateFocus($event) {\n\t\t\tif ($event == undefined) {\n\t\t\t\tthis.preventInputFocus = true\n\t\t\t}\n\t\t},\n\n\t\tonInputFocus($event) {\n\t\t\tif (this.preventInputFocus) {\n\t\t\t\t$event.target.blur()\n\t\t\t\tthis.preventInputFocus = false\n\t\t\t}\n\t\t}\n\t}\n}","export default {\n\tcomputed: {\n\t\temployeesOptions() {\n\t\t\tconst selectedEmployees = [...this.mastertask.employees].map(employee => employee.id)\n\n\t\t\treturn this.enrichedEmployees.filter(\n\t\t\t\t(employee) => !selectedEmployees.includes(employee.id)\n\t\t\t) || []\n\t\t},\n\n\t\tprojectsOptions() {\n\t\t\t// Added to \"paginate\" projects, because v-autocomplete was unable to handle so many projects at once\n\n\t\t\tconst pattern = /[^a-zA-Z0-9 ]/g\n\n\t\t\tconst normalizedInput = this.projectCodeSearch\n\t\t\t\t? this.projectCodeSearch.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '').replace(pattern, '')\n\t\t\t\t: ''\n\n\t\t\tconst projects = this.projects.filter(project => {\n\t\t\t\tconst normalizedProjectCode = project.code.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '').replace(pattern, '')\n\t\t\t\treturn normalizedProjectCode.toLowerCase().includes(normalizedInput.toLowerCase())\n\t\t\t})\n\n\t\t\tlet filteredProjects \t= projects?.length ? projects.slice(0, 10) : this.projects.slice(0, 10)\n\n\t\t\tif (!this.mastertask?.project_id)\n\t\t\t\treturn filteredProjects\n\n\t\t\tconst selectedProject \t= this.projects.find(project => project.id == this.mastertask?.project_id)\n\t\t\tfilteredProjects \t\t= filteredProjects.filter(project => project.id != selectedProject.id)\n\n\t\t\treturn [...filteredProjects, selectedProject]\n\t\t}\n\t},\n\n\tmethods: {\n\t\t// onProjectSelected(id) {\n\t\t// \tconst project = this.projects.find(project => project.id == id)\n\t\t// \tthis.mastertask.project_code = project.code\n\t\t// \tthis.mastertask.project_id \t = project.id\n\t\t// },\n\n\t\tonEmployeeSelected(id) {\n\t\t\tconst employee = this.enrichedEmployees.find(employee => employee.id == id)\n\t\t\tthis.mastertask.employees.push(employee)\n\t\t\tthis.showAddEmployeeInput = false\n\t\t},\n\n\t\tonEmployeeDurationChanged() {\n\t\t\tlet totalDuration = 0\n\n\t\t\tthis.mastertask.employees = this.mastertask.employees.map(employee => {\n\t\t\t\tif (typeof employee.duration == 'string') {\n\t\t\t\t\ttotalDuration += parseFloat(employee.duration)\n\t\t\t\t\temployee.duration = parseFloat(employee.duration)\n\t\t\t\t\temployee.invalid = false\n\t\t\t\t}\n\t\t\t\telse if (typeof employee.duration == 'number') {\n\t\t\t\t\ttotalDuration += employee.duration\n\t\t\t\t\temployee.invalid = false\n\t\t\t\t}\n\n\t\t\t\treturn employee\n\t\t\t})\n\n\t\t\tthis.mastertask.duration = totalDuration\n\t\t}\n\t},\n\n\twatch: {\n\t\t'mastertask.team_id'(value) {\n\t\t\tif (!value) return\n\t\t\t\n\t\t\tconst team = this.teams.find(team => team.id == value)\n\t\t\tif (!team) return\n\n\t\t\tthis.mastertask.team \t\t= JSON.parse(JSON.stringify(team))\n\t\t\tthis.mastertask.employees = [...this.mastertask.team.employees]\n\t\t},\n\t}\n}","\n\n\n","\n\n\n","import { render } from \"./a-mastertask-name.vue?vue&type=template&id=154bd9ae\"\nimport script from \"./a-mastertask-name.vue?vue&type=script&lang=js\"\nexport * from \"./a-mastertask-name.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./a-mastertask-status.vue?vue&type=template&id=40b1e729\"\nimport script from \"./a-mastertask-status.vue?vue&type=script&lang=js\"\nexport * from \"./a-mastertask-status.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./z-created-by.vue?vue&type=template&id=76476816\"\nimport script from \"./z-created-by.vue?vue&type=script&lang=js\"\nexport * from \"./z-created-by.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./a-task-assigned-employee.vue?vue&type=template&id=e04c27ce\"\nimport script from \"./a-task-assigned-employee.vue?vue&type=script&lang=js\"\nexport * from \"./a-task-assigned-employee.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./a-task-planned-time.vue?vue&type=template&id=5c6a17d5\"\nimport script from \"./a-task-planned-time.vue?vue&type=script&lang=js\"\nexport * from \"./a-task-planned-time.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n","import { render } from \"./a-task-spent-time.vue?vue&type=template&id=f216d188&scoped=true\"\nimport script from \"./a-task-spent-time.vue?vue&type=script&lang=js\"\nexport * from \"./a-task-spent-time.vue?vue&type=script&lang=js\"\n\nimport \"./a-task-spent-time.vue?vue&type=style&index=0&id=f216d188&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-f216d188\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./a-task-remaining-time.vue?vue&type=template&id=76900acb\"\nimport script from \"./a-task-remaining-time.vue?vue&type=script&lang=js\"\nexport * from \"./a-task-remaining-time.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./a-task-deadline.vue?vue&type=template&id=1d87e2c9\"\nimport script from \"./a-task-deadline.vue?vue&type=script&lang=js\"\nexport * from \"./a-task-deadline.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { useToast } from 'vue-toast-notification';\nconst toast = useToast();\n\ndeclare global {\n interface Window {\n\ttoast: typeof toast;\n }\n}\n\nwindow.toast = toast;\n\nexport function detectOS() {\n\tconst platform = window.navigator.platform\n\tconst macosPlatforms = ['Macintosh', 'MacIntel', 'MacPPC', 'Mac68K']\n\tconst windowsPlatforms = ['Win32', 'Win64', 'Windows', 'WinCE']\n\n\tif (macosPlatforms.indexOf(platform) !== -1) {\n\t\treturn 'mac'\n\t} else if (windowsPlatforms.indexOf(platform) !== -1) {\n\t\treturn 'win'\n\t}\n\treturn 'win'\n}\n\nexport function prepareHTMLDescription(description) {\n\tif (!description) return description\n\n\tconst os = detectOS()\n\n\tif (os === 'mac') {\n\t\tdescription = description.replace(/\\\\\\\\/g, 'smb://')\n\n\t\t// find all smb links and replace them with clickable links, separated by ' ', '<', '>', '\"', and '(', ')' characters\n\t\tdescription = description = description.replace(/(smb:\\/\\/[^\\s<>\"()]+)/g, function(match) {\n\t\t\treturn '' + match.replace(/\\\\/g, '/') + ''\n\t\t})\n\t} else {\n\t\tdescription = description.replace(/smb:\\/\\//g, '\\\\\\\\')\n\n\t\t\n\t\t// find all windows links and replace them with clickable links, separated by ' ', '<', '>', '\"', and '(', ')' characters\n\t\tdescription = description.replace(/(\\\\\\\\[^\\s<>\"()]+)/g, function(match) {\n\t\t\tmatch = match.replaceAll('/', '\\\\')\n\t\t\treturn '' + match + '';\n\t\t});\n\t}\n\n\treturn description;\n}\n\nfunction getCopyFunction(text) {\n\treturn `\n\t\tif (navigator.clipboard && navigator.clipboard.writeText) {\n\t\t\tnavigator.clipboard.writeText('${text.replace(/\\\\/g, '\\\\\\\\')}').then(() => {\n\t\t\t\twindow.toast.success('Link copied to clipboard!')\n\t\t\t}).catch(err => {\n\t\t\t\twindow.toast.error('Failed to copy link to clipboard!')\n\t\t\t});\n\t\t} else {\n\t\t\tconst input = document.createElement('input');\n\t\t\tinput.style.position = 'fixed';\n\t\t\tinput.style.opacity = 0;\n\t\t\tinput.style.pointerEvents = 'none';\n\t\t\tinput.value = '${text.replace(/\\\\/g, '\\\\\\\\')}';\n\t\t\tdocument.body.appendChild(input);\n\t\t\tinput.select();\n\t\t\tinput.focus();\n\t\t\tdocument.execCommand('copy');\n\t\t\tdocument.body.removeChild(input);\n\t\t\twindow.toast.success('Link copied to clipboard!')\n\t\t}\n\t`\n}","import { render } from \"./a-task-description.vue?vue&type=template&id=37e8334d\"\nimport script from \"./a-task-description.vue?vue&type=script&lang=js\"\nexport * from \"./a-task-description.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n","import { render } from \"./z-files.vue?vue&type=template&id=f01fa1ac&scoped=true\"\nimport script from \"./z-files.vue?vue&type=script&lang=js\"\nexport * from \"./z-files.vue?vue&type=script&lang=js\"\n\nimport \"./z-files.vue?vue&type=style&index=0&id=f01fa1ac&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-f01fa1ac\"]])\n\nexport default __exports__","import { render } from \"./z-task-readonly-info.vue?vue&type=template&id=fdfa3c04\"\nimport script from \"./z-task-readonly-info.vue?vue&type=script&lang=js\"\nexport * from \"./z-task-readonly-info.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\ne","import { render } from \"./a-timeblock.vue?vue&type=template&id=031787aa&scoped=true\"\nimport script from \"./a-timeblock.vue?vue&type=script&lang=js\"\nexport * from \"./a-timeblock.vue?vue&type=script&lang=js\"\n\nimport \"./a-timeblock.vue?vue&type=style&index=0&id=031787aa&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-031787aa\"]])\n\nexport default __exports__","import { render } from \"./z-task-modal.vue?vue&type=template&id=2aaf3118&scoped=true\"\nimport script from \"./z-task-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-task-modal.vue?vue&type=script&lang=js\"\n\nimport \"./z-task-modal.vue?vue&type=style&index=0&id=2aaf3118&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-2aaf3118\"]])\n\nexport default __exports__","\n\n","import { render } from \"./z-delete-blocker-modal.vue?vue&type=template&id=fe8d1392\"\nimport script from \"./z-delete-blocker-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-delete-blocker-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./z-complete-task-modal.vue?vue&type=template&id=e0b2ec2c\"\nimport script from \"./z-complete-task-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-complete-task-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./z-complete-master-task-modal.vue?vue&type=template&id=62a2645e\"\nimport script from \"./z-complete-master-task-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-complete-master-task-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./z-task-add-time-modal.vue?vue&type=template&id=7cc49c67\"\nimport script from \"./z-task-add-time-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-task-add-time-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./z-blocker-modal.vue?vue&type=template&id=1ca4825a\"\nimport script from \"./z-blocker-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-blocker-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./z-delete-master-task-modal.vue?vue&type=template&id=9419f686\"\nimport script from \"./z-delete-master-task-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-delete-master-task-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","\n\n\n\n\n","import { render } from \"./a-tasks-table.vue?vue&type=template&id=1f594a8c&scoped=true\"\nimport script from \"./a-tasks-table.vue?vue&type=script&lang=js\"\nexport * from \"./a-tasks-table.vue?vue&type=script&lang=js\"\n\nimport \"./a-tasks-table.vue?vue&type=style&index=0&id=1f594a8c&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-1f594a8c\"]])\n\nexport default __exports__","\n\n","\n\n","import { render } from \"./z-deadline.vue?vue&type=template&id=13a73f8f\"\nimport script from \"./z-deadline.vue?vue&type=script&lang=js\"\nexport * from \"./z-deadline.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./z-description.vue?vue&type=template&id=09dc9550\"\nimport script from \"./z-description.vue?vue&type=script&lang=js\"\nexport * from \"./z-description.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./z-planned-time.vue?vue&type=template&id=0c44c1d0\"\nimport script from \"./z-planned-time.vue?vue&type=script&lang=js\"\nexport * from \"./z-planned-time.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./z-remaining-time.vue?vue&type=template&id=759929d5\"\nimport script from \"./z-remaining-time.vue?vue&type=script&lang=js\"\nexport * from \"./z-remaining-time.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./z-spent-time.vue?vue&type=template&id=cc4966e2\"\nimport script from \"./z-spent-time.vue?vue&type=script&lang=js\"\nexport * from \"./z-spent-time.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./z-status.vue?vue&type=template&id=5a460912\"\nimport script from \"./z-status.vue?vue&type=script&lang=js\"\nexport * from \"./z-status.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./z-team.vue?vue&type=template&id=3dfe3a63\"\nimport script from \"./z-team.vue?vue&type=script&lang=js\"\nexport * from \"./z-team.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./a-mastertask-description.vue?vue&type=template&id=65a97638\"\nimport script from \"./a-mastertask-description.vue?vue&type=script&lang=js\"\nexport * from \"./a-mastertask-description.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./z-master-task-modal.vue?vue&type=template&id=5da18474&scoped=true\"\nimport script from \"./z-master-task-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-master-task-modal.vue?vue&type=script&lang=js\"\n\nimport \"./z-master-task-modal.vue?vue&type=style&index=0&id=5da18474&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-5da18474\"]])\n\nexport default __exports__","\r\n\r\n","import { render } from \"./z-delete-team-member-modal.vue?vue&type=template&id=554335ff\"\nimport script from \"./z-delete-team-member-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-delete-team-member-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./z-show-menu-modal.vue?vue&type=template&id=1399b161\"\nimport script from \"./z-show-menu-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-show-menu-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","import { render } from \"./z-unable-to-edit-office-task-modal.vue?vue&type=template&id=19d4078a\"\nimport script from \"./z-unable-to-edit-office-task-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-unable-to-edit-office-task-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./App.vue?vue&type=template&id=73050969\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createStore } from \"vuex\";\n\nexport default createStore({\n state: {},\n getters: {},\n mutations: {},\n actions: {},\n modules: {},\n});","import { createRouter, createWebHashHistory, RouteRecordRaw } from 'vue-router'\nimport store from '@/store'\n\nconst routes: Array = [\n\t{\n\t\tpath: '',\n\t\tredirect: '/auth'\n\t},\n\t{\n\t\tpath: '/auth/',\n\t\tcomponent: () => import('@/plugins/app/_layout/auth/auth.layout.vue'),\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tpath: '',\n\t\t\t\tredirect: '/auth/login'\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: '/auth/login',\n\t\t\t\tname: 'Login',\n\t\t\t\tcomponent: () => import('@/plugins/lib@auth/login/login.vue'),\n\t\t\t\tmeta: {requiresAuth: false}\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: '/auth/forgot-password',\n\t\t\t\tname: 'Forgot password',\n\t\t\t\tcomponent: () => import('@/plugins/lib@auth/forgot-password/forgot-password.vue'),\n\t\t\t\tmeta: {requiresAuth: false}\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: '/auth/forgot-success',\n\t\t\t\tname: 'Forgot success',\n\t\t\t\tcomponent: () => import('@/plugins/lib@auth/forgot-success/forgot-success.vue'),\n\t\t\t\tmeta: {requiresAuth: false}\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: '/auth/reset-password',\n\t\t\t\tname: 'Reset password',\n\t\t\t\tcomponent: () => import('@/plugins/lib@auth/reset-password/reset-password.vue'),\n\t\t\t\tmeta: {requiresAuth: null}\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tpath: '/app',\n\t\tcomponent: () => import('@/plugins/app/_layout/app/app.layout.vue'),\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tpath: '',\n\t\t\t\tredirect: '/app/dashboard'\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: '/app/dashboard',\n\t\t\t\tredirect: '/app/dashboard/tasks',\n\t\t\t\tchildren: [\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/dashboard/tasks',\n\t\t\t\t\t\tname: 'Dashboard - Tasks',\n\t\t\t\t\t\tmeta: { title: 'Sub Tasks', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/tm@dashboard/tasks/tasks.vue')\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/dashboard/teams',\n\t\t\t\t\t\tname: 'Dashboard - Teams',\n\t\t\t\t\t\tmeta: { title: 'Teams Overview', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/tm@dashboard/teams/teams.vue')\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/dashboard/projects',\n\t\t\t\t\t\tname: 'Dashboard - Projects',\n\t\t\t\t\t\tmeta: { title: 'Projects overview', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/tm@dashboard/projects/projects.vue')\n\t\t\t\t\t},\n\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/overview/unscheduled',\n\t\t\t\t\t\tname: 'Overview - Unscheduled tasks',\n\t\t\t\t\t\tmeta: { title: 'Unscheduled Sub Tasks', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/tm@overview/tasks-unscheduled/tasks-unscheduled.vue')\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/overview/ongoing',\n\t\t\t\t\t\tname: 'Overview - Ongoing tasks',\n\t\t\t\t\t\tmeta: { title: 'Ongoing Sub Tasks', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/tm@overview/tasks-ongoing/tasks-ongoing.vue')\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/overview/teams',\n\t\t\t\t\t\tname: 'Overview - Teams',\n\t\t\t\t\t\tmeta: { title: 'Teams', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/tm@overview/teams/teams.vue')\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/dashboard/user',\n\t\t\t\t\t\tname: 'Dashboard - User',\n\t\t\t\t\t\tmeta: { title: 'Profile', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/tm@profile/profile/my-profile.vue')\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/search',\n\t\t\t\t\t\tname: 'Search',\n\t\t\t\t\t\tmeta: { title: 'Search Results', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/lib@search/search/search.vue')\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tpath: '/:catchAll(.*)',\n\t\tname: '404',\n\t\tcomponent: () => import('@/plugins/w@screen/404/404.vue'),\n\t\tmeta: {requiresAuth: null}\n\t}\n]\n\nconst router = createRouter({\n\thistory: createWebHashHistory(process.env.BASE_URL),\n\troutes\n})\n\nrouter.beforeEach((to, from, next) => {\n\tconst isLoggedIn = store.getters['auth/isLoggedIn']\n\n\tif (to.meta.requiresAuth === true) {\n\t\tif (isLoggedIn)\n\t\t\treturn next()\n\t\telse\n\t\t\treturn next({name: 'Login'})\n\t} else if (to.meta.requiresAuth === false) {\n\t\tif (!isLoggedIn)\n\t\t\treturn next()\n\t\telse\n\t\t\treturn next({name: 'Dashboard - Tasks'})\n\t} else {\n\t\treturn next()\n\t}\n})\n\nexport default router\n","import axios from 'axios'\nimport store from '@/store'\n\naxios.defaults.baseURL = process.env.VUE_APP_WAXIOS_URL\n\nexport default {\n\tasync get(url: string, config?: any) {\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync get_auth(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync get_data(url: string, config?: any) {\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync get_auth_data(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => Promise.resolve(response.data.data))\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync post(url: string, params = null, config?: any) {\n\n\t\treturn axios.post(url, params, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync post_auth(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.post(url, params, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync post_data(url: string, params = null, config?: any) {\n\n\t\treturn axios.post(url, params, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync post_auth_data(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.post(url, params, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync delete(url: string, config?: any) {\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync delete_auth(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync delete_data(url: string, config?: any) {\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync delete_auth_data(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync patch(url: string, params = null, config?: any) {\n\t\treturn axios.patch(url, params, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync patch_auth(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.patch(url, params, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync patch_data(url: string, params = null, config?: any) {\n\t\treturn axios.patch(url, params, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync patch_auth_data(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.patch(url, params, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync put(url: string, params = null, config?: any) {\n\t\treturn axios.put(url, params, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync put_auth(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.put(url, params, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync put_data(url: string, params = null, config?: any) {\n\t\treturn axios.put(url, params, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync put_auth_data(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.put(url, params, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\t_config(config: any) {\n\t\tif (config) console.error('NOT IMPLEMENTED')\n\n\t\tif (!store.getters['auth/token']) {\n\t\t\treturn {headers: {}}\n\t\t}\n\n\t\treturn {\n\t\t\theaders: {\n\t\t\t\tAuthorization: `Bearer ${store.getters['auth/token']}`\n\t\t\t}\n\t\t}\n\t}\n}","import { App } \t\tfrom 'vue'\nimport { Options } \tfrom './types'\nimport axios \t\tfrom './models/axios'\n\nexport default {\n\tinstall: (app: App, options: Options) => {\n\t\tif (options && options.disabled === true) return\n\n\t\tapp.config.globalProperties.$axios = axios\n\t}\n}","export const encodeGetParams = p =>\n\tObject.entries(p).map(kv => kv.map(encodeURIComponent).join('=')).join('&')\n\nexport function strToRegex(s) {\n\tlet re = s\n\tre = re.replace(/\\//g, '\\\\/')\n\tre = re.replace(/\\./g, '\\\\.')\n\tre = re.replace(/\\([^)]+\\)/g, '[^/]+')\n\treturn re\n}\n","import axios from 'axios'\nimport { encodeGetParams, strToRegex } from '../utils/moxios.util'\n\nexport class Moxios {\n\t_mocks = {}\n\n\tconstructor() {\n\t\taxios.interceptors.request.use(this._redirectRequestToMock.bind(this))\n\t\tthis._mocks = {}\n\t}\n\n\tmock(append) {\n\t\tfor (const k in append) {\n\t\t\tlet m = append[k]\n\n\t\t\tif (m === false) continue\n\n\t\t\tm = {}\n\n\t\t\tm.name = k\n\t\t\tm.url = k.split(' ')[1]\n\n\t\t\tif (!m.reUrl)\n\t\t\t\tm.reUrl = strToRegex( m.url )\n\n\t\t\tif (!m.matchMethod)\n\t\t\t\tm.matchMethod = k.split(' ')[0].toLowerCase()\n\n\t\t\tthis._mocks[k] = m\n\t\t}\n\t}\n\n\n\t_redirectRequestToMock(config) {\n\t\t// if (localStorage['isMoxios'] == 'false') {\n\t\t// \treturn config\n\t\t// }\n\n\t\tconst url = config.url.replace(/https?:\\/\\/[^/?]+/, '')\n\n\t\tlet mocked\n\n\t\tfor (const k in this._mocks) {\n\t\t\tconst m = this._mocks[k]\n\n\t\t\tif (config.method == m.matchMethod && url.match(m.reUrl)) {\n\t\t\t\tmocked = m\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\n\t\tif (mocked) {\n\t\t\tif (!mocked.fname)\n\t\t\t\tprocess.env.VUE_APP_PLATFORM\n\t\t\t\t\t? mocked.fname = `/mock/${process.env.VUE_APP_PLATFORM}/${mocked.url}.${config.method.toUpperCase()}.json`\n\t\t\t\t\t: mocked.fname = `/mock/${mocked.url}.${config.method.toUpperCase()}.json`\n\n\n\t\t\tconsole.log(mocked.fname = `/mock/${mocked.url}.${config.method.toUpperCase()}.json`)\n\n\t\t\tconst c = {\n\t\t\t\tmethod: 'get',\n\t\t\t\turl: window.location.origin + mocked.fname+'?___MOCK___&'+encodeGetParams(config.data||{}),\n\t\t\t}\n\n\t\t\tconfig = {...config, ...c}\n\t\t}\n\n\t\treturn config\n\t}\n\n}\n\n","import { App } \t\tfrom 'vue'\nimport { Moxios } \tfrom './models/moxios'\nimport { Options } \tfrom './types/index.js'\n\nexport default {\n\tinstall: (app: App, options: Options) => {\n\t\tconst moxios = new Moxios()\n\n\t\tif (!options || !options.routes || !Object.values(options.routes).length || options.disabled === true) return\n\n\t\tmoxios.mock(options.routes)\n\t}\n}","import { Options } \tfrom './types'\nimport mitt \t\tfrom 'mitt'\n\nexport default {\n\tinstall: (app, options: Options) => {\n\t\tif (options && options.disabled === true) return\n\n\t\tconst events = mitt()\n\t\tapp.config.globalProperties.$events = events\n\t}\n}","import { Language, Options } from \"../types\"\nimport { Ref, ref } from 'vue'\nimport axios from 'axios'\nimport { createI18n, I18n as I18nType } from 'vue-i18n'\nimport { Preferences } from '@capacitor/preferences'\n\n\nexport class I18n {\n\tpublic currentLanguage: Ref = ref();\n\tpublic availableLanguages: Language[];\n\tpublic vendorI18n: I18nType\n\tpublic defaultLanguage: Language | null;\n\n\tprivate languageKey: string;\n\n\tconstructor(properties: Options) {\n\t\tthis.availableLanguages = properties.languages || []\n\t\tthis.defaultLanguage = properties.languages.find(language => language.value == properties.defaultLanguage)\n\t\tthis.languageKey = properties.languageKey || process.env.VUE_APP_PLATFORM + '_language' || 'w18n_language'\n\n\t\tthis.vendorI18n = createI18n({\n\t\t\tlegacy: true,\n\t\t\tfallbackLocale: this.defaultLanguage.value,\n\t\t\tmessages: this._loadLocaleMessages(),\n\t\t\tmissing: this._missingTranslation,\n\t\t\tpostTranslation: this._postTranslation,\n\t\t})\n\n\t\tthis.changeLanguage({ title: \"Slovenský\", flag: \"sk\", value: \"sk\" })\n\t\tthis.initCurrentLanguage()\n\t}\n\n\tpublic async initCurrentLanguage() {\n\t\tconst { value } = await Preferences.get({ key: this.languageKey })\n\n\t\tif (value) {\n\t\t\tthis.currentLanguage.value = JSON.parse(value)\n\t\t} else if (this.defaultLanguage) {\n\t\t\tthis.currentLanguage.value = this.defaultLanguage\n\t\t} else if (this.availableLanguages[0]) {\n\t\t\tthis.currentLanguage.value = this.availableLanguages[0]\n\t\t} else {\n\t\t\treturn console.error('[w18n] Could not init current language')\n\t\t}\n\n\t\tconst availableLanguages = {}\n\n\t\tthis.availableLanguages.forEach(language => {\n\t\t\tavailableLanguages[language.value] = language.title\n\t\t})\n\n\t\tthis.changeLanguage(this.currentLanguage.value)\n\t\t// Translations.setup(this.currentLanguage.value.value, availableLanguages)\n\n\t\tthis._addAxiosHeaders()\n\t}\n\n\tpublic changeLanguage(language: Language) {\n\t\tthis.currentLanguage.value = language\n\t\tthis._addAxiosHeaders()\n\n\t\tPreferences.set({\n\t\t\tkey: this.languageKey,\n\t\t\tvalue: JSON.stringify(language)\n\t\t})\n\n\t\tthis.vendorI18n.global.locale = language.value\n\t}\n\n\n\tprivate _addAxiosHeaders() {\n\t\taxios.interceptors.request.use(config => {\n\t\t\tif (this.currentLanguage.value && this.currentLanguage.value.value) {\n\t\t\t\tconfig.headers['Accept-Language'] = this.currentLanguage.value.value\n\t\t\t}\n\n\t\t\treturn config\n\t\t})\n\n\t\taxios.interceptors.response.use(\n\t\t\t(response) => {\n\t\t\t\treturn response\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tif(error.response) {\n\t\t\t\t\taxios.post('https://logger.wezeo.dev/cms/api/data/new', {\n\t\t\t\t\t\tdata: JSON.stringify(error)\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn Promise.reject(error?.response || error)\n\t\t\t}\n\t\t)\n\t}\n\n\tpublic _loadLocaleMessages(path = '@/locales') {\n\t\tlet locales\n\t\ttry {\n\t\t\tlocales = require.context(\n\t\t\t\t'@/locales',\n\t\t\t\ttrue,\n\t\t\t\t/[A-Za-z0-9-_,\\s]+\\.json$/i\n\t\t\t)\n\t\t} catch (error) {\n\t\t\tconsole.warn('[@wezeo/i18n] Could not initialize i18n. Missing folder /src/locales.')\n\t\t\treturn {}\n\t\t}\n\n\t\tconst messages: { [key: string]: { [key: string]: string } } = {}\n\n\t\tlocales.keys().forEach((key) => {\n\t\t\tconst matched = key.match(/([A-Za-z0-9-_]+)\\./i)\n\t\t\tif (matched && matched.length > 1) {\n\t\t\t\tconst locale = matched[1]\n\n\t\t\t\tmessages[locale] = locales(key)\n\t\t\t}\n\t\t})\n\t\treturn messages\n\t}\n\n\tprivate _missingTranslation = (locale, key, instance?, type?) => {\n\t\treturn key\n\t}\n\n\tprivate _postTranslation = (translated) => {\n\t\treturn translated\n\t}\n}\n","import { Options } \tfrom './types'\nimport { I18n } \tfrom './models/i18n'\nimport events \t\tfrom '@/plugins/w/events'\n\nexport default {\n\tinstall: (app, options: Options) => {\n\t\tif (options && options.disabled === true)\n\t\t\treturn\n\n\t\tif (!options || !options.languages || !options.defaultLanguage)\n\t\t\treturn console.warn('[@wezeo/i18n] Could not initialize i18n. Missing configuration options.')\n\n\t\tif (!app.config.globalProperties.$events) {\n\t\t\tapp.use(events)\n\t\t}\n\n\t\tconst i18n = new I18n(options)\n\n\t\tapp.use(i18n.vendorI18n)\n\t\tapp.config.globalProperties.$w18n = i18n\n\t}\n}","import { App } \t\tfrom 'vue'\nimport { Options } \tfrom './types'\n\n\nimport {\n\tIonContent, IonPage, IonLabel, IonBackButton, IonCheckbox, IonText, IonButton, IonItem,\n\tIonToolbar, IonHeader, IonFooter, IonSlides, IonSlide, IonRow, IonCol, IonGrid, IonInput, IonButtons,\n\tIonIcon, IonList, IonTitle, IonMenu, IonRouterOutlet, IonMenuButton, IonSegment, IonSegmentButton, IonVirtualScroll,\n\tIonTextarea, IonSearchbar, IonRefresherContent, IonRefresher, IonInfiniteScrollContent, IonInfiniteScroll, IonAvatar,\n\tIonModal, IonRadioGroup, IonRadio, IonNote, IonCard, IonCardContent, IonTabBar, IonTabButton, IonMenuToggle, IonFab,\n\tIonFabButton, IonReorderGroup, IonReorder, IonFabList, IonSelect, IonSelectOption, IonToggle, IonBadge, IonChip, IonTabs, IonItemGroup, IonThumbnail, IonItemSliding, IonItemOption, IonItemOptions, IonImg, IonSkeletonText, IonSpinner, IonSplitPane\n} from '@ionic/vue'\n\nexport default {\n\tinstall: (app: App, options: Options) => {\n\t\tif (options && options.disabled === true) return\n\n\t\tapp.component('ion-content', IonContent)\n\t\tapp.component('ion-page', IonPage)\n\t\tapp.component('ion-label', IonLabel)\n\t\tapp.component('ion-back-button', IonBackButton)\n\t\tapp.component('ion-checkbox', IonCheckbox)\n\t\tapp.component('ion-text', IonText)\n\t\tapp.component('ion-button', IonButton)\n\t\tapp.component('ion-item', IonItem)\n\t\tapp.component('ion-item-group', IonItemGroup)\n\t\tapp.component('ion-item-sliding', IonItemSliding)\n\t\tapp.component('ion-item-option', IonItemOption)\n\t\tapp.component('ion-item-options', IonItemOptions)\n\t\tapp.component('ion-toolbar', IonToolbar)\n\t\tapp.component('ion-header', IonHeader)\n\t\tapp.component('ion-footer', IonFooter)\n\t\tapp.component('ion-slides', IonSlides)\n\t\tapp.component('ion-slide', IonSlide)\n\t\tapp.component('ion-spinner', IonSpinner)\n\t\tapp.component('ion-row', IonRow)\n\t\tapp.component('ion-col', IonCol)\n\t\tapp.component('ion-grid', IonGrid)\n\t\tapp.component('ion-input', IonInput)\n\t\tapp.component('ion-buttons', IonButtons)\n\t\tapp.component('ion-icon', IonIcon)\n\t\tapp.component('ion-img', IonImg)\n\t\tapp.component('ion-list', IonList)\n\t\tapp.component('ion-skeleton-text', IonSkeletonText)\n\t\tapp.component('ion-title', IonTitle)\n\t\tapp.component('ion-menu', IonMenu),\n\t\tapp.component('ion-split-pane', IonSplitPane)\n\t\tapp.component('ion-menu-button', IonMenuButton)\n\t\tapp.component('ion-router-outlet', IonRouterOutlet)\n\t\tapp.component('ion-segment', IonSegment)\n\t\tapp.component('ion-segment-button', IonSegmentButton)\n\t\tapp.component('ion-virtual-scroll', IonVirtualScroll)\n\t\tapp.component('ion-textarea', IonTextarea)\n\t\tapp.component('ion-searchbar', IonSearchbar)\n\t\tapp.component('ion-refresher-content', IonRefresherContent)\n\t\tapp.component('ion-refresher', IonRefresher)\n\t\tapp.component('ion-infinite-scroll-content', IonInfiniteScrollContent)\n\t\tapp.component('ion-infinite-scroll', IonInfiniteScroll)\n\t\tapp.component('ion-avatar', IonAvatar)\n\t\tapp.component('ion-thumbnail', IonThumbnail)\n\t\tapp.component('ion-modal', IonModal)\n\t\tapp.component('ion-radio-group', IonRadioGroup)\n\t\tapp.component('ion-radio', IonRadio)\n\t\tapp.component('ion-note', IonNote)\n\t\tapp.component('ion-card', IonCard)\n\t\tapp.component('ion-card-content', IonCardContent)\n\t\tapp.component('ion-tab-bar', IonTabBar)\n\t\tapp.component('ion-tab-button', IonTabButton),\n\t\tapp.component('ion-menu-toggle', IonMenuToggle)\n\t\tapp.component('ion-fab', IonFab)\n\t\tapp.component('ion-fab-button', IonFabButton)\n\t\tapp.component('ion-fab-list', IonFabList)\n\t\tapp.component('ion-reorder-group', IonReorderGroup)\n\t\tapp.component('ion-reorder', IonReorder)\n\t\tapp.component('ion-select', IonSelect)\n\t\tapp.component('ion-select-option', IonSelectOption)\n\t\tapp.component('ion-toggle', IonToggle)\n\t\tapp.component('ion-badge', IonBadge)\n\t\tapp.component('ion-chip', IonChip),\n\t\tapp.component('ion-tabs', IonTabs)\n\t}\n}","/* eslint-disable */\nimport axios from 'axios'\nimport store from '@/store'\n\nasync function _unauthorised(error: any) {\n\tif (error?.response?.data?.message == 'Unauthenticated.')\n\t\treturn store.dispatch('auth/logout')\n\t\n\treturn Promise.reject(error)\n}\n\naxios.interceptors.response.use(\n\t(response) => response,\n\t(error) => _unauthorised(error),\n)","import axios from '@/plugins/w/axios/models/axios'\nimport './refreshExpired'\n\nexport default {\n\tnamespaced: true,\n\tstate: {\n\t\ttoken: localStorage.getItem('wzo_vue_user_token') || '',\n\t\tuser: JSON.parse(localStorage.getItem('wzo_vue_user_user') || '{}'),\n\t},\n\tmutations: {\n\t\tauth_success(state: any, data: any) {\n\t\t\tif (data.token) {\n\t\t\t\tstate.token = data.token\n\t\t\t\tlocalStorage.setItem('wzo_vue_user_token', data.token)\n\t\t\t}\n\n\t\t\tif (data.user) {\n\t\t\t\tstate.user = data.user\n\t\t\t\tlocalStorage.setItem('wzo_vue_user_user', JSON.stringify(data.user))\n\t\t\t}\n\t\t},\n\t\tauth_error(state: any) {\n\t\t\tstate.token = ''\n\t\t\tlocalStorage.removeItem('wzo_vue_user_token')\n\t\t\tlocalStorage.removeItem('wzo_vue_user_user')\n\t\t},\n\t\tlogout(state: any) {\n\t\t\tstate.token = ''\n\t\t\tstate.user = null\n\t\t\tlocalStorage.removeItem('wzo_vue_user_token')\n\t\t\tlocalStorage.removeItem('wzo_vue_user_user')\n\t\t\twindow.open(location.origin, \"_self\")\n\t\t}\n\t},\n\tactions: {\n\t\tlogin({commit}: {commit: any}, credentials: any) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.post('v1/tokens/create', {data: credentials})\n\t\t\t\t\t.then((response: any) => {\n\t\t\t\t\t\tconst token = response.token\n\t\t\t\t\t\tconst user = response.user\n\n\t\t\t\t\t\tcommit('auth_success', {\n\t\t\t\t\t\t\ttoken: token,\n\t\t\t\t\t\t\tuser: user\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\tresolve(response)\n\t\t\t\t\t}).catch(error => {\n\t\t\t\t\t\tcommit('auth_error')\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\t\tsignup({commit }: {commit: any}, credentials: any) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\tcommit('auth_request')\n\n\t\t\t\taxios.post_data('v1/auth/signup', credentials)\n\t\t\t\t\t.then((response: any) => {\n\t\t\t\t\t\tconst token = response.token\n\t\t\t\t\t\tconst user = response.user\n\n\t\t\t\t\t\tcommit('auth_success', {\n\t\t\t\t\t\t\ttoken: token,\n\t\t\t\t\t\t\tuser: user\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\tresolve(response)\n\t\t\t\t\t}).catch(error => {\n\t\t\t\t\t\tcommit('auth_error')\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\t\t// eslint-disable-next-line\n\t\tlogout({commit}: {commit: any}) {\n\t\t\treturn new Promise((resolve) => {\n\t\t\t\taxios.post_auth_data('v1/auth/invalidate')\n\t\t\t\t\t.finally(() => {\n\t\t\t\t\t\tcommit('logout')\n\t\t\t\t\t\tresolve(null)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\t\t// eslint-disable-next-line\n\t\tforgotPassword({commit}: {commit: any}, credentials: any) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.post('v1/users/forgot', {data: credentials})\n\t\t\t\t\t.then(response => resolve(response))\n\t\t\t\t\t.catch(error => reject(error))\n\t\t\t})\n\t\t},\n\t\t// eslint-disable-next-line\n\t\tresetPassword({commit}: {commit: any}, credentials: any) {\n\t\t\tcommit('auth_success', {token: credentials.token})\n\t\t\t\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.post_auth_data('v1/users/reset', {data: credentials})\n\t\t\t\t\t.then(response => {\n\t\t\t\t\t\tcommit('logout')\n\t\t\t\t\t\tresolve(response)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => reject(error))\n\t\t\t})\n\t\t},\n\t\tasync refreshToken({commit}: {commit: any}) {\n\t\t\ttry {\n\t\t\t\tconst response: any = await axios.post_auth_data('v1/auth/refresh')\n\n\t\t\t\tconst token = response.token\n\t\t\t\tconst user = response.user\n\n\t\t\t\tcommit('auth_success', {\n\t\t\t\t\ttoken: token,\n\t\t\t\t\tuser: user\n\t\t\t\t})\n\n\t\t\t\treturn token\n\t\t\t} catch (error) {\n\t\t\t\tcommit('auth_error')\n\t\t\t\tconsole.error(error)\n\t\t\t}\n\t\t},\n\t\tasync userInfo({commit}: {commit: any}) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.get_auth_data('v1/auth/info')\n\t\t\t\t\t.then((response: any) => {\n\t\t\t\t\t\tconst user = response.user\n\n\t\t\t\t\t\tcommit('auth_success', {\n\t\t\t\t\t\t\tuser: user\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\tresolve(user)\n\t\t\t\t\t}).catch(error => {\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\t\tupdateUserInfo({commit}: {commit: any}, data: any) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.put_auth(`v1/users/${data.id}`, {data: data})\n\t\t\t\t\t.then((response: any) => {\n\t\t\t\t\t\tconst user = response.user\n\n\t\t\t\t\t\tcommit('auth_success', {\n\t\t\t\t\t\t\tuser: user\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\tresolve(user)\n\t\t\t\t\t}).catch(error => {\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\t},\n\tgetters: {\n\t\tisLoggedIn: (state: any) => {\n\t\t\treturn !!state.token\n\t\t},\n\t\tuser: (state: any) => {\n\t\t\treturn state.user\n\t\t},\n\t\ttoken: (state: any) => {\n\t\t\treturn (state.token && state.token != undefined) ? state.token : null\n\t\t}\n\t}\n}","import { App } \t\tfrom 'vue'\nimport { Options } \tfrom './types'\nimport auth \t\tfrom './auth.store'\n\nexport default {\n\tinstall: (app: App, options: Options) => {\n\t\tif (options && options.disabled == true) return\n\n\t\tif (!app.config.globalProperties.$store)\n\t\t\treturn console.warn('[w/auth] Could not initialize. App does not have vuex store added.')\n\n\t\tapp.config.globalProperties.$store.registerModule('auth', auth)\n\t}\n}","import { Options } \tfrom './types'\n// import { Toast } from './models/Toast'\nimport 'vue-toast-notification/dist/theme-sugar.css'\nimport VueToast from 'vue-toast-notification'\n\nexport default {\n\tinstall: (app, options: Options) => {\n\t\tif (options && options.disabled === true) return\n\n\t\tapp.use(VueToast)\n\n\t\t// app.config.globalProperties.$wToast = new Toast()\n\t\tapp.config.globalProperties.$parseError = (error) => error?.data?.message || error?.response?.data?.message || error?.message || error\n\t}\n}","\n\n\n\n","import { render } from \"./w-loadable.vue?vue&type=template&id=a2444234&scoped=true\"\nimport script from \"./w-loadable.vue?vue&type=script&lang=js\"\nexport * from \"./w-loadable.vue?vue&type=script&lang=js\"\n\nimport \"./w-loadable.vue?vue&type=style&index=0&id=a2444234&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-a2444234\"]])\n\nexport default __exports__","import { App } \t\tfrom 'vue'\nimport { Options } \tfrom './types'\nimport WLoadable\tfrom './_components/w-loadable.vue'\n\nexport default {\n\tinstall: (app: App, options: Options) => {\n\t\tif (options && options.disabled === true) return\n\n\t\tapp.component('W-loadable', WLoadable)\n\t}\n}","import { App } \t\tfrom 'vue'\nimport { Options } \tfrom './types'\n\nimport axios\t \tfrom '@/plugins/w/axios'\nimport moxios\t \tfrom '@/plugins/w/moxios'\nimport events\t \tfrom '@/plugins/w/events'\nimport i18n\t \t\tfrom '@/plugins/w/i18n'\nimport ionic\t \tfrom '@/plugins/w/ionic'\nimport auth\t\t\tfrom '@/plugins/w/auth'\nimport toast\t\tfrom '@/plugins/w/toast'\nimport loadable\t\tfrom '@/plugins/w/loadable'\n\nexport default {\n\tinstall: (app: App, options: Options = {}) => {\n\t\tevents.install(app, options.events)\n\t\taxios.install(app, options.axios)\n\t\ti18n.install(app, options.i18n)\n\t\tmoxios.install(app, options.moxios)\n\t\tionic.install(app, options.ionic)\n\t\tauth.install(app, options.auth)\n\t\ttoast.install(app, options.toast)\n\t\tloadable.install(app, options.loadable)\n\t}\n}","import { $t } from '@/plugins/app/_config/main'\n\nexport default {\n\tparseAndTranslate(data) {\n\t\tconst errorsArray = this._parseToArrayOfStrings(data)\n\t\treturn errorsArray.join(', ')\n\t},\n\n\t_parseToArrayOfStrings(data) {\n\t\tif (data?.data?.message) {\n\t\t\treturn [$t(data.data.message)]\n\t\t}\n\n\t\tif (typeof data == 'string') {\n\t\t\treturn [$t(data)]\n\t\t}\n\n\t\tif (data?.response?.data)\n\t\t\treturn Object.values(data?.response?.data)\n\n\t\tif (data && data.error && typeof data.error == 'string') {\n\t\t\treturn [$t(data.error)]\n\t\t}\n\n\t\tif (data && data.error && typeof data.error == 'object') {\n\t\t\treturn Object.values($t(data.error))\n\t\t}\n\n\t\tif (data.data && data.data.error && typeof data.data.error == 'string') {\n\t\t\treturn [$t(data.data.error)]\n\t\t}\n\n\t\tif (data && data.data && data.data.error && typeof data.data.error == 'object') {\n\t\t\treturn Object.values(data.data.error).map(error => $t(error[0]) + ' ')\n\t\t}\n\n\t\tif (data.statusText) {\n\t\t\treturn [$t(data.statusText)]\n\t\t}\n\n\t\treturn [data]\n\t}\n}","import axios from 'axios'\nimport store from '@/store'\nimport toastUtils from '@/plugins/w/toast/utils/toast.utils'\n\naxios.defaults.baseURL = process.env.VUE_APP_WAXIOS_URL\n\nexport default {\n\tasync get(url: string, config?: any) {\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync get_auth(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync get_data(url: string, config?: any) {\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync get_auth_data(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => Promise.resolve(response.data.data))\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync post(url: string, params = null, config?: any) {\n\n\t\treturn axios.post(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync post_auth(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.post(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync post_data(url: string, params = null, config?: any) {\n\n\t\treturn axios.post(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync post_auth_data(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.post(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync delete(url: string, config?: any) {\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync delete_auth(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync delete_data(url: string, config?: any) {\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync delete_auth_data(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync patch(url: string, params = null, config?: any) {\n\t\treturn axios.patch(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync patch_auth(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.patch(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync patch_auth_form(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\t\tconfig.headers['Content-Type'] = 'multipart/form-data'\n\t\tconst formData = this._objectToFormData(params)\n\t\tformData.append('_method', 'put')\n\t\tconfig.transformRequest = formData => formData\n\n\t\treturn axios.post(url, formData, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync patch_data(url: string, params = null, config?: any) {\n\t\treturn axios.patch(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync patch_auth_data(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.patch(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync put(url: string, params = null, config?: any) {\n\t\treturn axios.put(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync put_auth(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.put(url, {data: params}, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync put_data(url: string, params = null, config?: any) {\n\t\treturn axios.put(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync put_auth_data(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.put(url, {data: params}, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\t_config(config: any) {\n\t\tif (config) console.error('NOT IMPLEMENTED')\n\n\t\tif (!store.getters['auth/token']) {\n\t\t\treturn {headers: {}}\n\t\t}\n\n\t\treturn {\n\t\t\theaders: {\n\t\t\t\tAuthorization: `Bearer ${store.getters['auth/token']}`\n\t\t\t}\n\t\t}\n\t},\n\n\t_buildFormData(formData, data, parentKey) {\n\t\tif (data && typeof data === 'object' && !(data instanceof Date) && !(data instanceof File))\n\t\t\tObject.keys(data).forEach(key => this._buildFormData(formData, data[key], parentKey ? `${parentKey}[${key}]` : key));\n\t\telse\n\t\t\tformData.append(parentKey, data == null ? '' : data);\n\t},\n\n\t_objectToFormData(data) {\n\t\tconst formData = new FormData()\n\t\tthis._buildFormData(formData, {data: data})\n\n\t\treturn formData\n\t}\n}","import { App } \t\tfrom 'vue'\nimport { Options } \tfrom './types'\nimport axios \t\tfrom './models/axios'\n\nexport default {\n\tinstall: (app: App, options: Options) => {\n\t\tif (options && options.disabled === true) return\n\n\t\tapp.config.globalProperties.$axios = axios\n\t}\n}","import axios from '@/plugins/w@custom/axios/models/axios'\nimport store from '@/store'\n\nexport default {\n\tnamespaced: true,\n\n\tstate: {\n\t\tmastertasks: null,\n\t\temployees: null,\n\t\tteams: null,\n\t\tprojects: null,\n\t\tunscheduledSubtasks: null,\n\t\tongoingSubtasks: null,\n\t\tinitialized: false\n\t},\n\n\tmutations: {\n\t\tset_mastertasks(state: any, mastertasks: any) {\n\t\t\tstate.mastertasks = mastertasks\n\t\t},\n\n\t\tset_employees(state: any, employees: any) {\n\t\t\tstate.employees = employees\n\n\t\t\t// TODO: Remove\n\t\t\t// const employee = employees.find(employee => employee.email == 'zachariah.vonrueden@jandl.sk')\n\t\t\t// store.commit('auth/auth_success', {\n\t\t\t// \tuser: employee\n\t\t\t// })\n\t\t},\n\n\t\tset_teams(state: any, teams: any) {\n\t\t\tstate.teams = teams\n\t\t},\n\n\t\tset_projects(state: any, projects: any) {\n\t\t\tstate.projects = projects\n\t\t},\n\n\t\tset_unscheduled_subtasks(state: any, subtasks: any) {\n\t\t\tstate.unscheduledSubtasks = subtasks\n\t\t},\n\n\t\tset_ongoing_subtasks(state: any, subtasks: any) {\n\t\t\tstate.ongoingSubtasks = subtasks\n\t\t},\n\n\t\tupdate_team(state: any, team: any) {\n\t\t\tstate.teams = state.teams.map(t => {\n\t\t\t\tif (t.id == team.id)\n\t\t\t\t\treturn team\n\n\t\t\t\treturn t\n\t\t\t})\n\t\t},\n\n\t\tsave_team(state: any, team: any) {\n\t\t\tstate.teams.push(team)\n\t\t},\n\n\t\tdelete_team(state: any, team: any) {\n\t\t\tstate.teams = state.teams.filter(t => t.id != team.id)\n\t\t},\n\n\t\tupdate_subtask(state: any, subtask: any) {\n\t\t\tstate.unscheduledSubtasks \t= state.unscheduledSubtasks.map(st \t\t=> st.id == subtask.id ? subtask : st)\n\t\t\tstate.ongoingSubtasks \t\t= state.ongoingSubtasks.map(st \t\t\t=> st.id == subtask.id ? subtask : st)\n\t\t\t\n\t\t\t// state.mastertasks \t\t\t= state.mastertasks.map(mastertask \t\t=> {\n\t\t\t// \tmastertask.subtasks \t= mastertask.subtasks.map(st => st.id == subtask.id ? subtask : st)\n\t\t\t// \treturn mastertask\n\t\t\t// })\n\t\t},\n\n\t\tdelete_subtask(state: any, subtask: any) {\n\t\t\tstate.unscheduledSubtasks \t= state.unscheduledSubtasks.filter(st \t=> st.id != subtask.id)\n\t\t\tstate.ongoingSubtasks \t\t= state.ongoingSubtasks.filter(st \t\t=> st.id != subtask.id)\n\n\t\t\t// state.mastertasks \t\t\t= state.mastertasks.map(mastertask \t\t=> {\n\t\t\t// \tmastertask.subtasks = mastertask.subtasks.filter(st => st.id != subtask.id)\n\t\t\t// \treturn mastertask\n\t\t\t// })\n\t\t},\n\n\t\tinitialized(state: any) {\n\t\t\tstate.initialized = true\n\t\t}\n\t},\n\n\tactions: {\n\t\tinitialize({dispatch, commit}: {dispatch: any, commit: any}) {\n\t\t\treturn Promise.all([\n\t\t\t\tdispatch('loadMastertasks'),\n\t\t\t\tdispatch('loadEmployees'),\n\t\t\t\tdispatch('loadTeams'),\n\t\t\t\tdispatch('loadProjects'),\n\t\t\t\tdispatch('loadUnscheduledSubtasks'),\n\t\t\t\tdispatch('loadOngoingSubtasks')\n\t\t\t]).then(() => commit('initialized'))\n\t\t},\n\n\t\treloadSubtasks({dispatch}: {dispatch: any}) {\n\t\t\treturn Promise.all([\n\t\t\t\tdispatch('loadMastertasks'),\n\t\t\t\tdispatch('loadProjects'),\n\t\t\t\tdispatch('loadUnscheduledSubtasks'),\n\t\t\t\tdispatch('loadOngoingSubtasks')\n\t\t\t])\n\t\t},\n\n\t\treloadMastertasks({dispatch}: {dispatch: any}) {\n\t\t\treturn Promise.all([\n\t\t\t\tdispatch('loadMastertasks')\n\t\t\t])\n\t\t},\n\n\t\tloadMastertasks({commit}: {commit: any}) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t// axios.get_auth('v1/mastertasks')\n\t\t\t\taxios.get_auth('v1/mastertasks/?simple=true')\n\t\t\t\t\t.then(({ mastertasks }) => {\n\t\t\t\t\t\tcommit('set_mastertasks', mastertasks)\n\t\t\t\t\t\tresolve(mastertasks)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => {\n\t\t\t\t\t\tcommit('set_mastertasks', {error: error})\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\n\t\tloadEmployees({commit}: {commit: any}) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.get_auth_data('v1/employees')\n\t\t\t\t\t.then(employees => {\n\t\t\t\t\t\tcommit('set_employees', employees)\n\t\t\t\t\t\tresolve(employees)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => {\n\t\t\t\t\t\tcommit('set_employees', {error: error})\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t\t\n\t\t},\n\n\t\tloadTeams({commit}: {commit: any}) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.get_auth_data('v1/teams')\n\t\t\t\t\t.then(teams => {\n\t\t\t\t\t\tcommit('set_teams', teams)\n\t\t\t\t\t\tresolve(teams)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => {\n\t\t\t\t\t\tcommit('set_teams', {error: error})\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\n\t\tloadProjects({commit}: {commit: any}) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.get_auth_data('v1/projects')\n\t\t\t\t\t.then(project => {\n\t\t\t\t\t\tcommit('set_projects', project)\n\t\t\t\t\t\tresolve(project)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => {\n\t\t\t\t\t\tcommit('set_projects', {error: error})\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t\t\n\t\t},\n\n\t\tloadUnscheduledSubtasks({commit}: {commit: any}, employeeId = store.getters['auth/user']?.id) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.get_auth(`v1/subtasks?type=unscheduled&employee_id=${employeeId}`)\n\t\t\t\t\t.then(({subtasks}) => {\n\t\t\t\t\t\tcommit('set_unscheduled_subtasks', subtasks)\n\t\t\t\t\t\tresolve(subtasks)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => {\n\t\t\t\t\t\tcommit('set_unscheduled_subtasks', {error: error})\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\n\t\tloadOngoingSubtasks({commit}: {commit: any}, employeeId = store.getters['auth/user']?.id) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.get_auth(`v1/subtasks?type=ongoing&employee_id=${employeeId}`)\n\t\t\t\t\t.then(({subtasks}) => {\n\t\t\t\t\t\tcommit('set_ongoing_subtasks', subtasks)\n\t\t\t\t\t\tresolve(subtasks)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => {\n\t\t\t\t\t\tcommit('set_ongoing_subtasks', {error: error})\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t}\n\n\t},\n\n\tgetters: {\n\t\tmastertasks: (state: any) => {\n\t\t\treturn state.mastertasks\n\t\t},\n\n\t\temployees: (state: any) => {\n\t\t\treturn state.employees\n\t\t},\n\n\t\tenrichedEmployees: (state: any) => {\n\t\t\tif (!state.employees) return []\n\t\t\t\n\t\t\treturn state.employees.map(employee => ({\n\t\t\t\t...employee, \n\t\t\t\t_fullName: `${ employee.name } ${ employee.surname }`,\n\t\t\t\t_initials: employee.name.charAt(0) + employee.surname.charAt(0)\n\t\t\t})).sort((a, b) => a.name < b.name ? -1 : 1)\n\t\t},\n\n\t\tteams: (state: any) => {\n\t\t\treturn state.teams\n\t\t},\n\n\t\tprojects: (state: any) => {\n\t\t\treturn state.projects\n\t\t},\n\n\t\tunscheduledSubtasks: (state: any) => {\n\t\t\treturn state.unscheduledSubtasks\n\t\t},\n\n\t\tongoingSubtasks: (state: any) => {\n\t\t\treturn state.ongoingSubtasks\n\t\t},\n\n\t\tisInitialized: (state: any) => {\n\t\t\treturn state.initialized\n\t\t}\n\t}\n}","import { App } \t\tfrom 'vue'\nimport tmStore \tfrom './store'\n\nexport default {\n\tinstall: (app: App) => {\n\t\tapp.config.globalProperties.$store.registerModule('tm', tmStore)\n\t}\n}","\n\n\n","/**\n * Date Utils & prototypes.\n *\n * Waiting for VS Code to support JavaScript private fields.\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Class_fields\n * Meantime keep `_` for private.\n */\n\nlet now, todayDate, todayF, self\nlet _dateObject = {}\nlet _timeObject = {}\n\nexport default class DateUtils {\n texts = {}\n\n constructor (texts, noPrototypes = false) {\n self = this // For use in Date prototypes.\n this._texts = texts\n\n // Add prototypes ASAP - only once.\n if (!noPrototypes && Date && !Date.prototype.addDays) this._initDatePrototypes()\n\n // @todo: This would be nicer, but how to set Date.noPrototypes ASAP only if user wants?\n // if (Date.noPrototypes) delete Date.noPrototypes\n // else this._initDatePrototypes()\n }\n\n _initDatePrototypes () {\n /* eslint-disable no-extend-native */\n Date.prototype.addDays = function (days) { return self.addDays(this, days) }\n Date.prototype.subtractDays = function (days) { return self.subtractDays(this, days) }\n Date.prototype.addHours = function (hours) { return self.addHours(this, hours) }\n Date.prototype.subtractHours = function (hours) { return self.subtractHours(this, hours) }\n Date.prototype.addMinutes = function (minutes) { return self.addMinutes(this, minutes) }\n Date.prototype.subtractMinutes = function (minutes) { return self.subtractMinutes(this, minutes) }\n Date.prototype.getWeek = function () { return self.getWeek(this) }\n Date.prototype.isToday = function () { return self.isToday(this) }\n Date.prototype.isLeapYear = function () { return self.isLeapYear(this) }\n Date.prototype.format = function (format = 'YYYY-MM-DD') { return self.formatDate(this, format) }\n Date.prototype.formatTime = function (format = 'HH:mm') { return self.formatTime(this, format) }\n /* eslint-enable no-extend-native */\n }\n\n removePrototypes () {\n delete Date.prototype.addDays\n delete Date.prototype.subtractDays\n delete Date.prototype.addHours\n delete Date.prototype.subtractHours\n delete Date.prototype.addMinutes\n delete Date.prototype.subtractMinutes\n delete Date.prototype.getWeek\n delete Date.prototype.isToday\n delete Date.prototype.isLeapYear\n delete Date.prototype.format\n delete Date.prototype.formatTime\n }\n\n updateTexts (texts) {\n this._texts = texts\n }\n\n // Cache Today's date (to a maximum) for better isToday() performances. Formatted without leading 0.\n // We still need to update Today's date when Today changes without page refresh.\n _todayFormatted () {\n if (todayDate !== (new Date()).getDate()) {\n now = new Date()\n todayDate = now.getDate()\n todayF = `${now.getFullYear()}-${now.getMonth()}-${now.getDate()}`\n }\n\n return todayF\n }\n\n // UTILITIES.\n // ====================================================================\n addDays (date, days) {\n const d = new Date(date.valueOf())\n d.setDate(d.getDate() + days)\n return d\n }\n\n subtractDays (date, days) {\n const d = new Date(date.valueOf())\n d.setDate(d.getDate() - days)\n return d\n }\n\n addHours (date, hours) {\n const d = new Date(date.valueOf())\n d.setHours(d.getHours() + hours)\n return d\n }\n\n subtractHours (date, hours) {\n const d = new Date(date.valueOf())\n d.setHours(d.getHours() - hours)\n return d\n }\n\n addMinutes (date, minutes) {\n const d = new Date(date.valueOf())\n d.setMinutes(d.getMinutes() + minutes)\n return d\n }\n\n subtractMinutes (date, minutes) {\n const d = new Date(date.valueOf())\n d.setMinutes(d.getMinutes() - minutes)\n return d\n }\n\n getWeek (date) {\n const d = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()))\n const dayNum = d.getUTCDay() || 7\n d.setUTCDate(d.getUTCDate() + 4 - dayNum)\n const yearStart = new Date(Date.UTC(d.getUTCFullYear(), 0, 1))\n return Math.ceil((((d - yearStart) / 86400000) + 1) / 7)\n }\n\n isToday (date) {\n return `${date.getFullYear()}-${date.getMonth()}-${date.getDate()}` === this._todayFormatted()\n }\n\n isLeapYear (date) {\n const year = date.getFullYear()\n return !(year % 400) || (year % 100 && !(year % 4))\n }\n\n // Returns today if it's FirstDayOfWeek (Monday or Sunday) or previous FirstDayOfWeek otherwise.\n getPreviousFirstDayOfWeek (date = null, weekStartsOnSunday) {\n const prevFirstDayOfWeek = (date && new Date(date.valueOf())) || new Date()\n const dayModifier = weekStartsOnSunday ? 7 : 6\n prevFirstDayOfWeek.setDate(prevFirstDayOfWeek.getDate() - (prevFirstDayOfWeek.getDay() + dayModifier) % 7)\n return prevFirstDayOfWeek\n }\n\n /**\n * Converts a string to a Javascript Date object. If a Date object is passed, return it as is.\n *\n * @param {String | Date} date the string to convert to Date.\n * @return {Date} the equivalent Javascript Date object.\n */\n stringToDate (date) {\n if (date instanceof Date) return date\n // Regexp way is less performant: https://jsperf.com/string-to-date-regexp-vs-new-date\n // const [, y, m, d, h = 0, min = 0] = date.match(/(\\d{4})-(\\d{2})-(\\d{2})(?: (\\d{2}):(\\d{2}))?/)\n // return new Date(y, parseInt(m) - 1, d, h, min)\n\n if (date.length === 10) date += ' 00:00'\n return new Date(date.replace(/-/g, '/')) // replace '-' with '/' for Safari.\n }\n\n /**\n * Simply takes a Date and returns the associated time in minutes (sum of hours + minutes).\n *\n * @param {Date} date the JavaScript Date to extract minutes from.\n * @return {Number} the number of minutes (total of hours plus minutes).\n */\n dateToMinutes = date => date.getHours() * 60 + date.getMinutes()\n\n /**\n * Count the number of days this date range spans onto.\n * E.g. countDays(2019-11-02 18:00, 2019-11-03 02:00) = 2\n *\n * @param {String | Date} start the start date\n * @param {String | Date} end the end date\n * @return {Integer} The number of days this date range involves\n */\n countDays (start, end) {\n // replace '-' with '/' for Safari.\n if (typeof start === 'string') start = start.replace(/-/g, '/')\n if (typeof end === 'string') end = end.replace(/-/g, '/')\n\n // Set start & end at midnight then compare the delta. Don't modify the original dates.\n start = (new Date(start)).setHours(0, 0, 0, 0)\n // Set end at midnight plus 1 sec, so Math.ceil will round it up to a full day.\n end = (new Date(end)).setHours(0, 0, 1, 0)\n\n // Remove the potential daylight saving delta.\n const timezoneDiffMs = (new Date(end).getTimezoneOffset() - new Date(start).getTimezoneOffset()) * 60 * 1000\n return Math.ceil((end - start - timezoneDiffMs) / (24 * 3600 * 1000))\n }\n\n /**\n * Take 2 dates and check if within the same time step (useful in overlapping events).\n *\n * @return {Boolean} `true` if their time is included in the same time step,\n * this means these 2 dates are very close.\n */\n datesInSameTimeStep (date1, date2, timeStep) {\n return Math.abs(date1.getTime() - date2.getTime()) <= timeStep * 60 * 1000\n }\n // ====================================================================\n\n // FORMATTERS.\n // ====================================================================\n /**\n * Formats a date/time to the given format and returns the formatted string.\n *\n * @param {Date} date a JavaScript Date object to format.\n * @param {String} format the wanted format.\n * @param {Object} texts Optional: the localized texts object to override the vue-cal one in this._texts.\n * This becomes useful when showing multiple instances with different languages,\n * like in the documentation page.\n * @return {String} the formatted date.\n */\n formatDate (date, format = 'YYYY-MM-DD', texts = null) {\n if (!texts) texts = this._texts\n if (!format) format = 'YYYY-MM-DD' // Allows passing null for default format.\n if (format === 'YYYY-MM-DD') return this.formatDateLite(date)\n\n // Reinit the date and time object on each function call.\n _dateObject = {}\n _timeObject = {}\n\n // Each keyword is a function to load the dateObject or timeObject on demand: no wasted resource.\n const dateObj = {\n YYYY: () => this._hydrateDateObject(date, texts).YYYY,\n YY: () => this._hydrateDateObject(date, texts).YY(),\n M: () => this._hydrateDateObject(date, texts).M,\n MM: () => this._hydrateDateObject(date, texts).MM(),\n MMM: () => this._hydrateDateObject(date, texts).MMM(),\n MMMM: () => this._hydrateDateObject(date, texts).MMMM(),\n MMMMG: () => this._hydrateDateObject(date, texts).MMMMG(),\n D: () => this._hydrateDateObject(date, texts).D,\n DD: () => this._hydrateDateObject(date, texts).DD(),\n S: () => this._hydrateDateObject(date, texts).S(),\n d: () => this._hydrateDateObject(date, texts).d,\n dd: () => this._hydrateDateObject(date, texts).dd(),\n ddd: () => this._hydrateDateObject(date, texts).ddd(),\n dddd: () => this._hydrateDateObject(date, texts).dddd(),\n HH: () => this._hydrateTimeObject(date, texts).HH,\n H: () => this._hydrateTimeObject(date, texts).H,\n hh: () => this._hydrateTimeObject(date, texts).hh,\n h: () => this._hydrateTimeObject(date, texts).h,\n am: () => this._hydrateTimeObject(date, texts).am,\n AM: () => this._hydrateTimeObject(date, texts).AM,\n mm: () => this._hydrateTimeObject(date, texts).mm,\n m: () => this._hydrateTimeObject(date, texts).m\n }\n\n return format.replace(/(\\{[a-zA-Z]+\\}|[a-zA-Z]+)/g, (m, contents) => {\n const result = dateObj[contents.replace(/\\{|\\}/g, '')]\n return result !== undefined ? result() : contents\n })\n }\n\n // More performant function to convert a Date to `YYYY-MM-DD` formatted string only.\n formatDateLite (date) {\n const m = date.getMonth() + 1\n const d = date.getDate()\n return `${date.getFullYear()}-${m < 10 ? '0' : ''}${m}-${d < 10 ? '0' : ''}${d}`\n }\n\n /**\n * Formats a time (from Date or number of mins) to the given format and returns the formatted string.\n *\n * @param {Date | Number} date a JavaScript Date object or a time in minutes.\n * @param {String} format the wanted format.\n * @param {Object} texts Optional: the localized texts object to override the vue-cal one in this._texts.\n * This becomes useful when showing multiple instances with different languages,\n * like in the documentation page.\n * @param {Boolean} round if time is 23:59:59, rounds up to 24:00 for formatting only.\n * @return {String} the formatted time.\n */\n formatTime (date, format = 'HH:mm', texts = null, round = false) {\n let shouldRound = false\n if (round) {\n const [h, m, s] = [date.getHours(), date.getMinutes(), date.getSeconds()]\n if ((h + m + s) === (23 + 59 + 59)) shouldRound = true\n }\n\n if (date instanceof Date && format === 'HH:mm') return shouldRound ? '24:00' : this.formatTimeLite(date)\n\n _timeObject = {} // Reinit the time object on each function call.\n if (!texts) texts = this._texts\n const timeObj = this._hydrateTimeObject(date, texts)\n\n const formatted = format.replace(/(\\{[a-zA-Z]+\\}|[a-zA-Z]+)/g, (m, contents) => {\n const result = timeObj[contents.replace(/\\{|\\}/g, '')]\n return result !== undefined ? result : contents\n })\n\n // Round 23:59:59 to 24:00. For 12-hour format there is nothing to replace: as both are 12am.\n // Also don't return `24:00` straight away as the user format may be different.\n return shouldRound ? formatted.replace('23:59', '24:00') : formatted\n }\n\n /**\n * Formats a time to 'HH:mm' from a Date and returns the formatted string.\n *\n * @param {Date} date a JavaScript Date object to format.\n * @return {String} the formatted time.\n */\n formatTimeLite (date) {\n const h = date.getHours()\n const m = date.getMinutes()\n return `${(h < 10 ? '0' : '') + h}:${(m < 10 ? '0' : '') + m}`\n }\n\n _nth (d) {\n if (d > 3 && d < 21) return 'th'\n switch (d % 10) {\n case 1: return 'st'\n case 2: return 'nd'\n case 3: return 'rd'\n default: return 'th'\n }\n }\n\n _hydrateDateObject (date, texts) {\n if (_dateObject.D) return _dateObject\n\n const YYYY = date.getFullYear()\n const M = date.getMonth() + 1\n const D = date.getDate()\n const day = date.getDay() // Day of the week.\n const dayNumber = (day - 1 + 7) % 7 // Day of the week. 0 to 6 with 6 = Sunday.\n // Some of this props are functions, to only calculate on demand.\n _dateObject = {\n // Year.\n YYYY, // 2019.\n YY: () => YYYY.toString().substring(2), // 19.\n\n // Month.\n M, // 1 to 12.\n MM: () => (M < 10 ? '0' : '') + M, // 01 to 12.\n MMM: () => texts.months[M - 1].substring(0, 3), // Jan to Dec.\n MMMM: () => texts.months[M - 1], // January to December.\n MMMMG: () => (texts.monthsGenitive || texts.months)[M - 1], // January to December in genitive form (Greek...)\n\n // Day.\n D, // 1 to 31.\n DD: () => (D < 10 ? '0' : '') + D, // 01 to 31.\n S: () => this._nth(D), // st, nd, rd, th.\n\n // Day of the week.\n d: dayNumber + 1, // 1 to 7 with 7 = Sunday.\n dd: () => texts.weekDays[dayNumber][0], // M to S.\n ddd: () => texts.weekDays[dayNumber].substr(0, 3), // Mon to Sun.\n dddd: () => texts.weekDays[dayNumber] // Monday to Sunday.\n }\n\n return _dateObject\n }\n\n _hydrateTimeObject (date, texts) {\n if (_timeObject.am) return _timeObject\n\n let H, m\n if (date instanceof Date) {\n H = date.getHours()\n m = date.getMinutes()\n }\n else {\n H = Math.floor(date / 60)\n m = Math.floor(date % 60)\n }\n\n const h = H % 12 ? H % 12 : 12\n const am = (texts || { am: 'am', pm: 'pm' })[H === 24 || H < 12 ? 'am' : 'pm']\n _timeObject = {\n H,\n h,\n HH: (H < 10 ? '0' : '') + H,\n hh: (h < 10 ? '0' : '') + h,\n am,\n AM: am.toUpperCase(),\n m,\n mm: (m < 10 ? '0' : '') + m\n }\n\n return _timeObject\n }\n // ====================================================================\n}\n","/**\n * Cell Utils.\n *\n * Waiting for VS Code to support JavaScript private fields.\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Class_fields\n * Meantime keep `_` for private.\n */\n\nconst minutesInADay = 24 * 60\n\nexport default class CellUtils {\n _vuecal = null\n\n constructor (vuecal) {\n this._vuecal = vuecal\n }\n\n /**\n * Select a cell and go to narrower view on double click or single click according to vuecalProps option.\n *\n * @param {Boolean} force Force switching to narrower view.\n * @param {Date} date The selected cell date at the exact time where it was clicked (through cursor coords).\n * @param {Integer} split The selected cell split if any.\n */\n selectCell = (force = false, date, split) => {\n // Cell-click event returns a date and time at cursor position.\n this._vuecal.$emit('cell-click', split ? { date, split } : date)\n\n // Switch to narrower view.\n if (this._vuecal.clickToNavigate || force) this._vuecal.switchToNarrowerView()\n\n // Handle double click manually for touch devices.\n else if (this._vuecal.dblclickToNavigate && 'ontouchstart' in window) {\n this._vuecal.domEvents.dblTapACell.taps++\n\n setTimeout(() => (this._vuecal.domEvents.dblTapACell.taps = 0), this._vuecal.domEvents.dblTapACell.timeout)\n\n if (this._vuecal.domEvents.dblTapACell.taps >= 2) {\n this._vuecal.domEvents.dblTapACell.taps = 0\n this._vuecal.switchToNarrowerView()\n this._vuecal.$emit('cell-dblclick', split ? { date, split } : date)\n }\n }\n }\n\n /**\n * Select a cell and go to narrower view on enter.\n *\n * @param {Boolean} force Force switching to narrower view.\n * @param {Date} date The selected cell date at the exact time where it was clicked (through cursor coords).\n * @param {Integer} split The selected cell split if any.\n */\n keyPressEnterCell = (date, split) => {\n // Cell-key-press-enter event returns a date and time at cursor position.\n this._vuecal.$emit('cell-keypress-enter', split ? { date, split } : date)\n\n // Switch to narrower view.\n this._vuecal.switchToNarrowerView()\n }\n\n /**\n * Get the coordinates of the mouse cursor from the cells wrapper referential (`ref=\"cells\"`).\n *\n * @todo Cache bounding box & update it on resize.\n * @param {Object} e the native DOM event object.\n * @return {Object} containing { x: {Number}, y: {Number} }\n */\n getPosition = e => {\n const { left, top } = this._vuecal.cellsEl.getBoundingClientRect()\n const { clientX, clientY } = 'ontouchstart' in window && e.touches ? e.touches[0] : e\n return { x: clientX - left, y: clientY - top }\n }\n\n /**\n * Get the number of minutes from the top to the mouse cursor.\n * Returns a constrained time between 0 and 24 * 60.\n *\n * @param {Object} e the native DOM event object.\n * @return {Object} containing { minutes: {Number}, cursorCoords: { x: {Number}, y: {Number} } }\n */\n minutesAtCursor = e => {\n let minutes = 0\n let cursorCoords = { x: 0, y: 0 }\n const { timeStep, timeCellHeight, timeFrom } = this._vuecal.$props\n\n if (typeof e === 'number') minutes = e\n else if (typeof e === 'object') {\n cursorCoords = this.getPosition(e)\n minutes = Math.round(cursorCoords.y * timeStep / parseInt(timeCellHeight) + timeFrom)\n }\n\n return { minutes: Math.max(Math.min(minutes, minutesInADay), 0), cursorCoords }\n }\n}\n","/**\n * Events Utils.\n *\n * Waiting for VS Code to support JavaScript private fields.\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Class_fields\n * Meantime keep `_` for private.\n */\n\nconst defaultEventDuration = 2 // In hours.\nconst minutesInADay = 24 * 60 // Don't do the maths every time.\n\nlet ud\n\n// Event overlaps: only for the current view, recreated on view change.\nlet _cellOverlaps, _comparisonArray\n\n// This is an approximation, it will not work with DLS time.\n// const approxDayMilliseconds = minutesInADay * 60 * 1000\n// This is an approximate minimum we can get in a year. Purposely stay below 365 but close.\n// const minYearMilliseconds = 364 * approxDayMilliseconds // Don't do the maths every time.\n\nexport default class EventUtils {\n _vuecal = null\n\n eventDefaults = {\n _eid: null,\n start: '', // Externally given formatted date & time or Date object.\n startTimeMinutes: 0,\n end: '', // Externally given formatted date & time or Date object.\n endTimeMinutes: 0,\n title: '',\n content: '',\n background: false,\n allDay: false,\n segments: null,\n repeat: null,\n daysCount: 1,\n deletable: true,\n deleting: false,\n titleEditable: true,\n resizable: true,\n resizing: false,\n draggable: true,\n dragging: false,\n draggingStatic: false, // Controls the CSS class of the static clone while dragging.\n focused: false,\n class: ''\n }\n\n constructor (vuecal, dateUtils) {\n this._vuecal = vuecal\n ud = dateUtils\n }\n\n /**\n * Create an event at the given date and time, and allow overriding\n * event attributes through the eventOptions object.\n *\n * @param {Date | String} dateTime The date and time of the new event start.\n * @param {Number} duration the event duration in minutes.\n * @param {Object} eventOptions some options to override the `eventDefaults` - optional.\n */\n createAnEvent (dateTime, duration, eventOptions) {\n if (typeof dateTime === 'string') dateTime = ud.stringToDate(dateTime)\n if (!(dateTime instanceof Date)) return false\n\n const startTimeMinutes = ud.dateToMinutes(dateTime)\n duration = duration * 1 || defaultEventDuration * 60\n const endTimeMinutes = startTimeMinutes + duration\n const end = ud.addMinutes(new Date(dateTime), duration)\n\n // Automatically add the required endTimeMinutes when passing an end.\n if (eventOptions.end) {\n if (typeof eventOptions.end === 'string') eventOptions.end = ud.stringToDate(eventOptions.end)\n eventOptions.endTimeMinutes = ud.dateToMinutes(eventOptions.end)\n }\n\n const event = {\n ...this.eventDefaults,\n _eid: `${this._vuecal._.uid}_${this._vuecal.eventIdIncrement++}`,\n start: dateTime,\n startTimeMinutes,\n end,\n endTimeMinutes,\n segments: null,\n ...eventOptions\n }\n\n // If the onEventCreate() function is given as a parameter to vue-cal:\n // 1. give it access to the created event & the deleteAnEvent() function.\n // 2. Prevent creation of the event if this function returns false.\n if (typeof this._vuecal.onEventCreate === 'function') {\n if (!this._vuecal.onEventCreate(event, () => this.deleteAnEvent(event))) return\n }\n\n // Check if event is a multiple day event and update days count.\n if (event.startDateF !== event.endDateF) {\n event.daysCount = ud.countDays(event.start, event.end)\n }\n\n // Add event to the mutableEvents array.\n this._vuecal.mutableEvents.push(event)\n\n // Add the new event to the current view.\n // The event may have been edited on the fly to become a multiple-day event,\n // the method addEventsToView makes sure the segments are created.\n this._vuecal.addEventsToView([event])\n\n this._vuecal.emitWithEvent('event-create', event)\n this._vuecal.$emit('event-change', { event: this._vuecal.cleanupEvent(event), originalEvent: null })\n\n return event\n }\n\n /**\n * Add an event segment (= day) to a multiple-day event.\n *\n * @param {Object} e the multiple-day event to add segment in.\n */\n addEventSegment (e) {\n // If event was previously single-day, event.segments = null,\n // so first create the first segment (first day).\n if (!e.segments) {\n e.segments = {}\n e.segments[ud.formatDateLite(e.start)] = {\n start: e.start,\n startTimeMinutes: e.startTimeMinutes,\n endTimeMinutes: minutesInADay,\n isFirstDay: true,\n isLastDay: false\n }\n }\n\n // Modify the last segment - which will not stay the last one after this function.\n const previousSegment = e.segments[ud.formatDateLite(e.end)]\n // previousSegment might not exist when dragging too fast, prevent errors.\n if (previousSegment) {\n previousSegment.isLastDay = false\n previousSegment.endTimeMinutes = minutesInADay\n }\n else {\n // @todo: when moving fast might lose the previousSegment.\n // Trying to update it would then result in an error, but do nothing would create a visual bug.\n }\n\n // Create the new last segment.\n const start = ud.addDays(e.end, 1)\n const formattedDate = ud.formatDateLite(start)\n start.setHours(0, 0, 0, 0)\n e.segments[formattedDate] = {\n start,\n startTimeMinutes: 0,\n endTimeMinutes: e.endTimeMinutes,\n isFirstDay: false,\n isLastDay: true\n }\n\n e.end = ud.addMinutes(start, e.endTimeMinutes)\n e.daysCount = Object.keys(e.segments).length\n\n return formattedDate\n }\n\n /**\n * Remove an event segment (= day) from a multiple-day event.\n *\n * @param {Object} e the multiple-day event to remove segments from.\n */\n removeEventSegment (e) {\n let segmentsCount = Object.keys(e.segments).length\n if (segmentsCount <= 1) return ud.formatDateLite(e.end)\n\n // Remove the last segment.\n delete e.segments[ud.formatDateLite(e.end)]\n segmentsCount--\n\n const end = ud.subtractDays(e.end, 1)\n const formattedDate = ud.formatDateLite(end)\n const previousSegment = e.segments[formattedDate]\n\n // If no more segments, reset the segments attribute to null.\n if (!segmentsCount) e.segments = null\n\n // previousSegment might not exist when dragging too fast, prevent errors.\n else if (previousSegment) {\n // Modify the new last segment.\n previousSegment.isLastDay = true\n previousSegment.endTimeMinutes = e.endTimeMinutes\n }\n else {\n // @todo: when moving fast might lose the previousSegment.\n // Trying to update it would then result in an error, but do nothing would create a visual bug.\n }\n\n e.daysCount = segmentsCount || 1\n e.end = end\n\n return formattedDate\n }\n\n /**\n * Create 1 segment per day of the given event, but only within the current view.\n * (It won't create segments for all the days in view that are not in the event!)\n *\n * An event segment is a piece of event per day that contains more day-specific data.\n *\n * @param {Object} e the multiple-day event to create segments for.\n * @param {Date} viewStartDate the starting date of the view.\n * @param {Date} viewEndDate the ending date of the view.\n */\n createEventSegments (e, viewStartDate, viewEndDate) {\n const viewStartTimestamp = viewStartDate.getTime()\n const viewEndTimestamp = viewEndDate.getTime()\n let eventStart = e.start.getTime()\n let eventEnd = e.end.getTime()\n let repeatedEventStartFound = false\n let timestamp, end, eventStartAtMidnight\n\n // @todo: I don't think we still need that:\n // Removing 1 sec when ending at 00:00, so that we don't create a segment for nothing on last day.\n if (!e.end.getHours() && !e.end.getMinutes()) eventEnd -= 1000\n\n e.segments = {}\n\n // The goal is to create 1 segment per day in the event, but only within the current view.\n if (!e.repeat) { // Simple case first.\n timestamp = Math.max(viewStartTimestamp, eventStart)\n end = Math.min(viewEndTimestamp, eventEnd)\n }\n else {\n // Start at the beginning of the range, and end at soonest between `repeat.until` if any or range end.\n // This range will most likely be too large (e.g. whole week) and we need to narrow it\n // down in the while loop below.\n // We must not create unused segments, it would break the render or result in weird behaviors.\n timestamp = viewStartTimestamp\n end = Math.min(\n viewEndTimestamp,\n e.repeat.until ? ud.stringToDate(e.repeat.until).getTime() : viewEndTimestamp\n )\n }\n\n while (timestamp <= end) {\n let createSegment = false\n // Be careful not to simply add 24 hours!\n // In case of DLS, that would cause the event to never end and browser to hang.\n // So use `addDays(1)` instead.\n const nextMidnight = ud.addDays(new Date(timestamp), 1).setHours(0, 0, 0, 0)\n let isFirstDay, isLastDay, start, formattedDate\n\n if (e.repeat) {\n const tmpDate = new Date(timestamp)\n const tmpDateFormatted = ud.formatDateLite(tmpDate)\n // If the current day in loop is a known date of the repeated event (in `e.occurrences`),\n // then we found the first day of the event repetition, now update the `eventStart` and\n // the end of the loop at current day + event days count.\n if (repeatedEventStartFound || (e.occurrences && e.occurrences[tmpDateFormatted])) {\n if (!repeatedEventStartFound) {\n eventStart = e.occurrences[tmpDateFormatted].start\n eventStartAtMidnight = new Date(eventStart).setHours(0, 0, 0, 0)\n eventEnd = e.occurrences[tmpDateFormatted].end\n }\n repeatedEventStartFound = true\n createSegment = true\n }\n\n isFirstDay = timestamp === eventStartAtMidnight\n isLastDay = tmpDateFormatted === ud.formatDateLite(new Date(eventEnd))\n start = new Date(isFirstDay ? eventStart : timestamp)\n formattedDate = ud.formatDateLite(start)\n // We want to find any potential other repetition of event in same range.\n if (isLastDay) repeatedEventStartFound = false\n }\n else {\n createSegment = true\n isFirstDay = timestamp === eventStart\n isLastDay = end === eventEnd && nextMidnight > end\n start = isFirstDay ? e.start : new Date(timestamp)\n formattedDate = ud.formatDateLite(isFirstDay ? e.start : start)\n }\n\n if (createSegment) {\n e.segments[formattedDate] = {\n start,\n startTimeMinutes: isFirstDay ? e.startTimeMinutes : 0,\n endTimeMinutes: isLastDay ? e.endTimeMinutes : minutesInADay,\n isFirstDay,\n isLastDay\n }\n }\n\n timestamp = nextMidnight\n }\n\n return e\n }\n\n /**\n * Delete an event.\n *\n * @param {Object} event the calendar event to delete.\n */\n deleteAnEvent (event) {\n this._vuecal.emitWithEvent('event-delete', event)\n\n // Delete the event globally.\n this._vuecal.mutableEvents = this._vuecal.mutableEvents.filter(e => e._eid !== event._eid)\n // Delete the event from the current view.\n // checkCellOverlappingEvents() will be re-run automatically from the cell computed events.\n this._vuecal.view.events = this._vuecal.view.events.filter(e => e._eid !== event._eid)\n }\n\n // EVENT OVERLAPS.\n // ===================================================================\n // Will recalculate all the overlaps of the current cell OR split.\n // cellEvents will contain only the current split events if in a split.\n checkCellOverlappingEvents (cellEvents, options) {\n _comparisonArray = cellEvents.slice(0)\n _cellOverlaps = {}\n\n // Can't filter background events before calling this function otherwise\n // when an event is changed to background it would not update its previous overlaps.\n cellEvents.forEach(e => {\n // For performance, never compare the current event in the next loops.\n // The array is smaller and smaller as we loop.\n _comparisonArray.shift()\n\n if (!_cellOverlaps[e._eid]) _cellOverlaps[e._eid] = { overlaps: [], start: e.start, position: 0, sameOverlaps: [] }\n _cellOverlaps[e._eid].position = 0\n\n _comparisonArray.forEach(e2 => {\n if (!_cellOverlaps[e2._eid]) _cellOverlaps[e2._eid] = { overlaps: [], start: e2.start, position: 0, sameOverlaps: [] }\n\n const eventIsInRange = this.eventInRange(e2, e.start, e.end)\n const eventSameOverlap = this.eventSameRange(e2, e)\n const eventsInSameTimeStep = options.overlapsPerTimeStep ? ud.datesInSameTimeStep(e.start, e2.start, options.timeStep) : 1\n // Add to the overlaps array if overlapping.\n if (!e.background && !e.allDay && !e2.background && !e2.allDay && eventIsInRange && eventsInSameTimeStep) {\n _cellOverlaps[e._eid].overlaps.push(e2._eid)\n _cellOverlaps[e._eid].overlaps = [...new Set(_cellOverlaps[e._eid].overlaps)] // Dedupe, most performant way.\n\n _cellOverlaps[e2._eid].overlaps.push(e._eid)\n _cellOverlaps[e2._eid].overlaps = [...new Set(_cellOverlaps[e2._eid].overlaps)] // Dedupe, most performant way.\n _cellOverlaps[e2._eid].position++\n \n if (eventSameOverlap) {\n _cellOverlaps[e._eid].sameOverlaps.push(e2._eid)\n _cellOverlaps[e._eid].sameOverlaps = [...new Set(_cellOverlaps[e._eid].sameOverlaps)] // Dedupe, most performant way.\n\n _cellOverlaps[e2._eid].sameOverlaps.push(e._eid)\n _cellOverlaps[e2._eid].sameOverlaps = [...new Set(_cellOverlaps[e2._eid].sameOverlaps)] // Dedupe, most performant way.\n }\n }\n // Remove from the overlaps array if not overlapping or if 1 of the 2 events is background or all-day long.\n else {\n let pos1, pos2\n if ((pos1 = (_cellOverlaps[e._eid] || { overlaps: [] }).overlaps.indexOf(e2._eid)) > -1) _cellOverlaps[e._eid].overlaps.splice(pos1, 1)\n if ((pos2 = (_cellOverlaps[e2._eid] || { overlaps: [] }).overlaps.indexOf(e._eid)) > -1) _cellOverlaps[e2._eid].overlaps.splice(pos2, 1)\n _cellOverlaps[e2._eid].position--\n }\n })\n })\n\n // Overlaps streak is the longest horizontal set of simultaneous events.\n // This is determining the width of events in a streak.\n // e.g. 3 overlapping events in a cell:\n // ___ ___\n // | 1 | |_2_| 1 overlaps 2 & 3; 2 & 3 don't overlap;\n // | | ___ => streak = 2; each width = 50% not 33%.\n // |___| |_3_|\n let longestStreak = 0\n for (const id in _cellOverlaps) {\n const item = _cellOverlaps[id]\n\n // Calculate the position of each event in current streak (determines the CSS left property).\n const overlapsRow = item.overlaps.map(id2 => ({ id: id2, start: _cellOverlaps[id2].start }))\n overlapsRow.push({ id, start: item.start })\n overlapsRow.sort((a, b) => a.start < b.start ? -1 : (a.start > b.start ? 1 : (a.id > b.id ? -1 : 1)))\n item.position = overlapsRow.findIndex(e => e.id === id)\n\n longestStreak = Math.max(this.getOverlapsStreak(item, _cellOverlaps), longestStreak)\n }\n\n // console.log([_cellOverlaps, longestStreak])\n\n return [_cellOverlaps, longestStreak]\n }\n\n /**\n * Overlaps streak is the longest horizontal set of simultaneous events.\n * This is determining the width of each events in this streak.\n * E.g. 3 overlapping events [1, 2, 3]; 1 overlaps 2 & 3; 2 & 3 don't overlap;\n * => streak = 2; each width = 50% not 33%.\n *\n * @param {Object} event The current event we are checking among all the events of the current cell.\n * @param {Object} cellOverlaps An indexed array of all the events overlaps for the current cell.\n * @return {Number} The number of simultaneous event for this event.\n */\n getOverlapsStreak (event, cellOverlaps = {}) {\n let streak = event.overlaps.length + 1\n let removeFromStreak = []\n event.overlaps.forEach(id => {\n if (!removeFromStreak.includes(id)) {\n const overlapsWithoutSelf = event.overlaps.filter(id2 => id2 !== id)\n overlapsWithoutSelf.forEach(id3 => {\n if (!cellOverlaps[id3].overlaps.includes(id)) removeFromStreak.push(id3)\n })\n }\n })\n\n removeFromStreak = [...new Set(removeFromStreak)] // Dedupe, most performant way.\n streak -= removeFromStreak.length\n return streak\n }\n\n /**\n * Tells whether an event is in a given date range, even partially.\n *\n * @param {Object} event The event to test.\n * @param {Date} start The start of range date object.\n * @param {Date} end The end of range date object.\n * @return {Boolean} true if in range, even partially.\n */\n eventInRange (event, start, end) {\n // Check if all-day or timeless event (if date but no time there won't be a `:` in event.start).\n if (event.allDay || !this._vuecal.time) {\n // Get the date and discard the time if any, then check it's within the date range.\n const startTimestamp = new Date(event.start).setHours(0, 0, 0, 0)\n const endTimestamp = new Date(event.end).setHours(23, 59, 0, 0)\n return (endTimestamp >= new Date(start).setHours(0, 0, 0, 0) &&\n startTimestamp <= new Date(end).setHours(0, 0, 0, 0))\n }\n\n const startTimestamp = event.start.getTime()\n const endTimestamp = event.end.getTime()\n return startTimestamp < end.getTime() && endTimestamp > start.getTime()\n }\n\n eventSameRange(event1, event2) {\n const isSameStart = event1.start.getTime() == event2.start.getTime()\n const isSameEnd = event1.end.getTime() == event2.end.getTime()\n return isSameStart && isSameEnd\n }\n}\n","
{{ split.label }}
","
","import { render } from \"./weekdays-headings.vue?vue&type=template&id=339102eb&lang=pug\"\nimport script from \"./weekdays-headings.vue?vue&type=script&lang=js\"\nexport * from \"./weekdays-headings.vue?vue&type=script&lang=js\"\n\nimport \"./weekdays-headings.vue?vue&type=style&index=0&id=339102eb&lang=scss\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./header.vue?vue&type=template&id=19ea4718&lang=pug\"\nimport script from \"./header.vue?vue&type=script&lang=js\"\nexport * from \"./header.vue?vue&type=script&lang=js\"\n\nimport \"./header.vue?vue&type=style&index=0&id=19ea4718&lang=scss\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","
{{ label }}
","
{{ cell.label }}\n
","
{{ vuecal.texts.deleteEvent }}
","import { render } from \"./event.vue?vue&type=template&id=5e6b2a90&lang=pug\"\nimport script from \"./event.vue?vue&type=script&lang=js\"\nexport * from \"./event.vue?vue&type=script&lang=js\"\n\nimport \"./event.vue?vue&type=style&index=0&id=5e6b2a90&lang=scss\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./cell.vue?vue&type=template&id=e1fa9802&lang=pug\"\nimport script from \"./cell.vue?vue&type=script&lang=js\"\nexport * from \"./cell.vue?vue&type=script&lang=js\"\n\nimport \"./cell.vue?vue&type=style&index=0&id=e1fa9802&lang=scss\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./all-day-bar.vue?vue&type=template&id=1fec77b5&lang=pug\"\nimport script from \"./all-day-bar.vue?vue&type=script&lang=js\"\nexport * from \"./all-day-bar.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./index.vue?vue&type=template&id=59399e28\"\nimport script from \"./index.vue?vue&type=script&lang=js\"\nexport * from \"./index.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/matejglasnak/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { App } \t\tfrom 'vue'\nimport VueCal from './index.vue'\n\n\nexport default {\n\tinstall: (app: App) => {\n\n\t\tapp.component('Vue-cal', VueCal)\n\t}\n}","import { createApp } \tfrom 'vue'\nimport { IonicVue } \tfrom '@ionic/vue'\nimport { loadFonts } \tfrom './webfontloader'\nimport vuetify \t\t\tfrom './vuetify'\nimport { registerQuillUrlSanitizer } from './quill.util'\nimport loader \t\t\tfrom 'vue-loading-overlay'\nimport App \t\t\t\tfrom './App.vue'\n\nimport router \t\t\tfrom './router'\nimport store \t\t\tfrom '@/store'\nimport w \t\t\t\tfrom '@/plugins/w/w'\nimport axiosCustom from '@/plugins/w@custom/axios'\nimport tmStore \t\t\tfrom '@/plugins/tm@_store'\nimport vueCal \t\t\tfrom '@/plugins/app@vendor/vue-cal'\nimport { Options } \t\tfrom '@/plugins/w/w/types'\n\nimport '@ionic/vue/css/core.css'\nimport '@ionic/vue/css/normalize.css'\nimport '@ionic/vue/css/structure.css'\nimport '@ionic/vue/css/typography.css'\nimport '@ionic/vue/css/padding.css'\nimport '@ionic/vue/css/float-elements.css'\nimport '@ionic/vue/css/text-alignment.css'\nimport '@ionic/vue/css/text-transformation.css'\nimport '@ionic/vue/css/flex-utils.css'\nimport '@ionic/vue/css/display.css'\n\nimport '@/plugins/app/_theme/index.sass'\nimport 'vue-loading-overlay/dist/vue-loading.css'\nimport '@vuepic/vue-datepicker/dist/main.css'\n\nloadFonts()\nregisterQuillUrlSanitizer()\n\nconst options: Options = {\n\taxios: {\n\t\tdisabled: true\n\t},\n\ti18n: {\n\t\tlanguages: [\n\t\t\t{\n\t\t\t\ttitle: \"Slovenský\", flag: \"sk\", value: \"sk\"\n\t\t\t}\n\t\t],\n\t\tdefaultLanguage: 'sk'\n\t},\n\tmoxios: {\n\t\troutes: {\n\t\t\t// 'GET v1/auth/info': true,\n\t\t\t// 'POST v1/auth/forgot': true,\n\t\t\t// 'POST v1/auth/reset': true,\n\t\t\t// 'POST v1/auth/info': true,\n\t\t\t// 'POST v1/auth/invalidate': true,\n\t\t\t// 'POST v1/auth/login': true,\n\t\t\t// 'POST v1/auth/post': true,\n\n\t\t\t'GET v1/overview/teams': true,\n\t\t\t'GET v1/overview/tasks': true,\n\t\t\t// 'GET v1/search': true,\n\t\t}\n\t}\n}\n\nconst app = createApp(App)\n\t.use(router)\n\t.use(store)\n\t.use(axiosCustom)\n\t.use(w, options)\n\t.use(IonicVue)\n\t.use(vuetify)\n\t.use(vueCal)\n\t.use(tmStore)\n\t.use(loader, {\n\t\tcolor: '#6200EE'\n\t})\n\t.mount('#app')\n\n// @ts-expect-error\nexport const $t = app.$i18n.t\n","import { $t } from '@/plugins/app/_config/main'\n\nexport default {\n\tparseErrors(errors) {\n\t\t// @ts-expect-error\n\t\treturn Object.values(errors).map(error => $t(error?.$message)).join('. ')\n\t}\n}","export default {\n\tmethods: {\n\t\tcustomFilter(item, input) {\n\t\t\t// Replace accented characters with non-accented equivalents\n\t\t\tconst normalizedItem = item.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '');\n\t\t\tconst normalizedInput = input.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '');\n\t\t\t\n\t\t\t// Remove any character that is not a letter, number, or space from both the item and the input\n\t\t\tconst pattern = /[^a-zA-Z0-9 ]/g;\n\t\t\tconst cleanedItem = normalizedItem.replace(pattern, '');\n\t\t\tconst cleanedInput = normalizedInput.replace(pattern, '');\n\t\t\t\n\t\t\t// Check if the cleaned item starts with the cleaned input and return empty value for dropdown if present\n\t\t\treturn cleanedItem.toLowerCase().includes(cleanedInput.toLowerCase()) || item === '';\n\t\t}\n\t}\n}","import moment from 'moment'\n\nexport default {\n\tenrichEmployees(employees) {\n\t\treturn employees.map(employee => ({\n\t\t\t...employee, \n\t\t\t_fullName: `${ employee.name } ${ employee.surname }`,\n\t\t\t_initials: employee.name.charAt(0) + employee.surname.charAt(0)\n\t\t}))\n\t},\n\n\tformatDateTime(date) {\n\t\tmoment(date)\n\t\treturn moment(date).format('DD.MM.yyyy, HH:mm')\n\t},\n\n\tformatDateTimeForBackend(date) {\n\t\treturn moment(date).format('YYYY-MM-DD HH:mm:ss')\n\t},\n\n\tformatDate(date) {\n\t\treturn moment(date).format('DD.MM.yyyy')\n\t},\n\n\tisBefore(date, compareTo = null) {\n\t\treturn moment(date).isBefore(moment(compareTo))\n\t},\n\n\tisAfter(date, compareTo = moment()) {\n\t\treturn moment(date).isAfter(moment(compareTo))\n\t}\n}","var map = {\n\t\"./en.json\": 20790,\n\t\"./sk.json\": 71941\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 8973;","var map = {\n\t\"./ar.json\": [\n\t\t68568,\n\t\t8568\n\t],\n\t\"./bg.json\": [\n\t\t20684,\n\t\t684\n\t],\n\t\"./bn.json\": [\n\t\t61170,\n\t\t1170\n\t],\n\t\"./bs.json\": [\n\t\t41161,\n\t\t1161\n\t],\n\t\"./ca.json\": [\n\t\t40612,\n\t\t612\n\t],\n\t\"./cs.json\": [\n\t\t50213,\n\t\t213\n\t],\n\t\"./da.json\": [\n\t\t98542,\n\t\t8542\n\t],\n\t\"./de.json\": [\n\t\t4701,\n\t\t4701\n\t],\n\t\"./el.json\": [\n\t\t20453,\n\t\t453\n\t],\n\t\"./en.json\": [\n\t\t3320,\n\t\t3320\n\t],\n\t\"./es.json\": [\n\t\t60076,\n\t\t76\n\t],\n\t\"./et.json\": [\n\t\t44075,\n\t\t4075\n\t],\n\t\"./fa.json\": [\n\t\t69004,\n\t\t9004\n\t],\n\t\"./fr.json\": [\n\t\t60007,\n\t\t7\n\t],\n\t\"./he.json\": [\n\t\t23746,\n\t\t3746\n\t],\n\t\"./hr.json\": [\n\t\t92921,\n\t\t2921\n\t],\n\t\"./hu.json\": [\n\t\t75723,\n\t\t5723\n\t],\n\t\"./id.json\": [\n\t\t12502,\n\t\t2502\n\t],\n\t\"./is.json\": [\n\t\t13214,\n\t\t3214\n\t],\n\t\"./it.json\": [\n\t\t51380,\n\t\t1380\n\t],\n\t\"./ja.json\": [\n\t\t72484,\n\t\t2484\n\t],\n\t\"./ka.json\": [\n\t\t60285,\n\t\t285\n\t],\n\t\"./ko.json\": [\n\t\t79249,\n\t\t9249\n\t],\n\t\"./lt.json\": [\n\t\t42838,\n\t\t2838\n\t],\n\t\"./mn.json\": [\n\t\t6177,\n\t\t6177\n\t],\n\t\"./nl.json\": [\n\t\t99729,\n\t\t9729\n\t],\n\t\"./no.json\": [\n\t\t49409,\n\t\t9409\n\t],\n\t\"./pl.json\": [\n\t\t25409,\n\t\t5409\n\t],\n\t\"./pt-br.json\": [\n\t\t74529,\n\t\t4529\n\t],\n\t\"./ro.json\": [\n\t\t29715,\n\t\t9715\n\t],\n\t\"./ru.json\": [\n\t\t32113,\n\t\t2113\n\t],\n\t\"./sk.json\": [\n\t\t30229,\n\t\t229\n\t],\n\t\"./sl.json\": [\n\t\t28636,\n\t\t8636\n\t],\n\t\"./sq.json\": [\n\t\t204,\n\t\t204\n\t],\n\t\"./sr.json\": [\n\t\t55553,\n\t\t5553\n\t],\n\t\"./sv.json\": [\n\t\t75979,\n\t\t5979\n\t],\n\t\"./tr.json\": [\n\t\t5268,\n\t\t5268\n\t],\n\t\"./uk.json\": [\n\t\t14057,\n\t\t4057\n\t],\n\t\"./vi.json\": [\n\t\t88929,\n\t\t8929\n\t],\n\t\"./zh-cn.json\": [\n\t\t56730,\n\t\t6730\n\t],\n\t\"./zh-hk.json\": [\n\t\t30841,\n\t\t841\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__.t(id, 3 | 16);\n\t});\n}\nwebpackAsyncContext.keys = function() { return Object.keys(map); };\nwebpackAsyncContext.id = 66667;\nmodule.exports = webpackAsyncContext;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \".\" + {\"7\":\"7cef58a7\",\"76\":\"9977e9df\",\"188\":\"d74ce2b2\",\"204\":\"4dd3d03d\",\"213\":\"c9ed5252\",\"229\":\"b09f2145\",\"285\":\"6a0985b5\",\"453\":\"04d72c77\",\"612\":\"4ea201aa\",\"684\":\"017ebeb8\",\"841\":\"65cae984\",\"907\":\"bfa01f81\",\"924\":\"ddc3fd73\",\"1097\":\"88cdd882\",\"1161\":\"59a7c68b\",\"1170\":\"16217940\",\"1380\":\"fc40de11\",\"1466\":\"c5d34b19\",\"2113\":\"2a1bcdfa\",\"2484\":\"6def3002\",\"2502\":\"66addef9\",\"2612\":\"ea780a2e\",\"2838\":\"aa69ee5c\",\"2921\":\"b5aad8e9\",\"3214\":\"72d306e7\",\"3311\":\"bcab8a66\",\"3320\":\"fe7033d0\",\"3657\":\"e558064c\",\"3728\":\"3e558208\",\"3746\":\"09ee0424\",\"3862\":\"b079a5bd\",\"4057\":\"4b3b38fd\",\"4075\":\"2d83f71e\",\"4392\":\"02bf9f00\",\"4518\":\"8e2c3fa8\",\"4529\":\"6ff3334b\",\"4628\":\"091a4a79\",\"4701\":\"e34c277a\",\"5268\":\"5d463fbd\",\"5409\":\"4ce439c3\",\"5553\":\"032fcbe7\",\"5723\":\"09853a5d\",\"5979\":\"385e1b41\",\"6177\":\"12db94aa\",\"6431\":\"67cb67ed\",\"6730\":\"61289e01\",\"6881\":\"c397716c\",\"7073\":\"57c96578\",\"7343\":\"1e290ed5\",\"7910\":\"59502459\",\"8024\":\"bb377405\",\"8520\":\"cb7009ea\",\"8542\":\"09badcc3\",\"8568\":\"7f0dfd32\",\"8636\":\"2a90cf11\",\"8731\":\"a28fea96\",\"8929\":\"ea6da50f\",\"8990\":\"6dd37151\",\"9004\":\"ffe04245\",\"9033\":\"727fb9e6\",\"9249\":\"d2b0f88c\",\"9409\":\"339f5afb\",\"9715\":\"21ca1afa\",\"9729\":\"812aea5b\",\"9730\":\"caa9c858\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + chunkId + \".\" + {\"188\":\"37c2c58b\",\"907\":\"fa9ddfdd\",\"2612\":\"f67d9d9c\",\"3862\":\"f5c9dd84\",\"4392\":\"01299cfb\",\"4628\":\"466ff22e\",\"6881\":\"ba630185\",\"7073\":\"3978ef96\",\"7910\":\"5c6ae9ba\",\"9033\":\"ace2e544\",\"9730\":\"834f8ac7\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"jandl:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t};\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","var createStylesheet = function(chunkId, fullhref, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tdocument.head.appendChild(linkTag);\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t4826: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"188\":1,\"907\":1,\"2612\":1,\"3862\":1,\"4392\":1,\"4628\":1,\"6881\":1,\"7073\":1,\"7910\":1,\"9033\":1,\"9730\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t4826: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkjandl\"] = self[\"webpackChunkjandl\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4998], function() { return __webpack_require__(8483); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["webpackEmptyAsyncContext","req","Promise","resolve","then","e","Error","code","keys","id","module","exports","map","webpackContext","webpackContextResolve","__webpack_require__","o","Object","async","loadFonts","webFontLoader","load","google","families","createVuetify","registerQuillUrlSanitizer","Link","Quill","PROTOCOL_WHITELIST","push","CustomLinkSanitizer","static","url","sanitizedUrl","super","sanitize","protocolWhitelist","hasWhitelistedProtocol","some","protocol","startsWith","_createVNode","_component_v_app","_component_v_main","_component_router_view","_component_Z_team_modal","ref","onUpdate","$options","_component_Z_delete_team_modal","_component_Z_task_modal","onOnSubtaskEdited","_component_Z_delete_task_modal","onOnSubtaskDeleted","_component_Z_delete_timeBlock_modal","_component_Z_delete_blocker_modal","onOnBlockerDeleted","_component_Z_delete_master_task_modal","onOnMastertaskDeleted","_component_Z_complete_task_modal","_component_Z_complete_master_task_modal","onMasterTaskEdited","_component_Z_task_add_time_modal","_component_Z_blocker_modal","_component_Z_master_task_modal","_component_Z_delete_team_member_modal","_component_Z_show_menu_modal","_component_Z_unable_to_edit_office_task_modal","class","_createBlock","_component_v_dialog","$data","persistent","_component_v_card","_createElementVNode","_hoisted_1","name","_component_v_icon","onClick","icon","size","_component_v_card_actions","_component_v_btn","variant","disabled","mounted","window","addEventListener","this","handleKeyDown","methods","event","keyCode","visible","mixins","modalMixin","emits","data","team","isDeleting","closeModal","$axios","delete_auth","$emit","$store","commit","error","$toast","$parseError","__exports__","height","_component_W_loadable","content","_component_v_text_field","$errors","length","label","hint","parseErrors","_createElementBlock","_Fragment","employees","employee","index","key","_fullName","splice","_component_v_autocomplete","_ctx","items","clearable","atLeastOne","value","AutocompleteMixin","v$","useVuelidate","errorUtils","employeeSelect","computed","mapGetters","employeesOptions","selectedEmployeesIds","enrichedEmployees","filter","includes","validations","required","$nextTick","$reset","t","get_auth_data","_enrichTeam","$validate","put_auth","fullTeamResource","post_auth","tmUtils","watch","employeeId","find","$refs","autocomplete","search","project_code","subtask","_hoisted_2","timeblocks","timeblock","is_finished","formatDateTime","start","end","JSON","parse","stringify","deadline","_update","deleteTimeblockWithoutId","i","timesheets","timesheet","employee_name","$events","emit","message","d","_hoisted_3","_hoisted_4","_hoisted_7","_hoisted_8","onFocus","master_task_id","title","_component_Datepicker","Date","format","locale","placeholder","_deadline_time","type","employee_id","version","xmlns","width","viewBox","duration","substring","readonly","_hoisted_12","_hoisted_10","_component_A_timeblock","onUpdateTimeblock","val","onRemoveTimeblock","deletable","editable","_hoisted_11","date","starts_at_time","ends_at_time","_hoisted_13","_component_QuillEditor","description","theme","onInput","$event","srcElement","innerHTML","_component_Z_files_upload","files","onFilesUploaded","_hoisted_14","_master_task","_hoisted_15","_hoisted_16","src","require","alt","_hoisted_19","_component_Z_task_readonly_info","onCloseModal","onUpdateSubtask","_hoisted_20","multiple","accept","onChange","fileUpload","click","file","_component_v_chip","toFixed","indexOf","$props","props","Array","default","isSaving","Boolean","uploadedFiles","created","maxSize","oversizedFiles","remove","_component_v_row","_component_v_col","cols","_component_v_sheet","_hoisted_5","_hoisted_6","form","components","Datepicker","showModal","splittedStartsAtTime","split","splittedEndsAtTime","moment","hours","parseInt","minutes","toISOString","_mergeDeadlineTimeDate","isAfterDeadline","originalTimeblock","newTimeblock","getDeadline","mDate","mDeadline","Number","isAfter","master_task_deadline","timeParts","setHours","setMinutes","preventInputFocus","setFocusEvent","document","querySelectorAll","forEach","input","onInputFocus","onDateFocus","undefined","target","blur","selectedEmployees","mastertask","projectsOptions","pattern","normalizedInput","projectCodeSearch","normalize","replace","projects","project","normalizedProjectCode","toLowerCase","filteredProjects","slice","project_id","selectedProject","onEmployeeSelected","showAddEmployeeInput","onEmployeeDurationChanged","totalDuration","parseFloat","invalid","teams","_component_A_mastertask_name","color","_component_A_mastertask_status","isFinished","_component_A_task_deadline","_component_A_task_timeblocks","_component_Z_created_by","created_by","_component_A_task_assigned_employee","_employee","_component_A_task_planned_time","_component_A_task_remaining_time","spent_time","_component_A_task_spent_time","_component_A_task_description","master_task_description","_component_Z_files","style","backgroundColor","String","openMastertask","editMode","_initials","charAt","surname","time","timestamp","_hoisted_9","numeric","minValue","user","console","log","formatDate","_component_v_tooltip","text","location","activator","_mergeProps","deadlineTime","getMasterTaskDeadline","toast","useToast","detectOS","platform","navigator","macosPlatforms","windowsPlatforms","prepareHTMLDescription","os","match","replaceAll","getCopyFunction","mastertaskDescription","copiedIndices","preparedDescription","preparedMastertaskDescription","emptyMessage","file_size","isLoading","response","fetch","path","blob","FileSaver","ZFiles","AMastertaskName","AMastertaskStatus","ATaskTimeblocks","ZCreatedBy","ATaskAssignedEmployee","ATaskPlannedTime","ATaskSpentTime","ATaskRemainingTime","ATaskDescription","ATaskDeadline","VuetifyFixFocusMixin","requiredIf","openMenu","scrollIntoView","behavior","block","inline","popup","querySelector","isBottom","yDifference","clientHeight","top","innerHeight","updateDate","updateStartTime","updateEndTime","SelectsMixin","ZTaskReadonlyInfo","ATimeblock","ZFilesUpload","QuillEditor","employeeValidations","showDatePicker","selectedNewDate","on","splittedDeadline","_enrichTask","$forceUpdate","openDatepicker","updateTimeblock","removeTimeblock","savedSubtask","localStorage","getItem","parsedSubtask","setHTML","master_task","deleteTimeblock","$router","$route","employeesValid","_validateEmployees","timeblocksValid","_validateTimeblocks","getHTML","patch_auth_form","removeItem","subtaskCopy","subtasks","openDeleteTaskModal","showCompleteTaskModal","filesUploaded","updateSubtask","isError","_created_by","mastertasks","oldValue","handler","lastEmployee","deep","setItem","blocker","tempSubtask","tempMastertask","payload","datepicker","clearValue","_syncDatesTimes","splittedStart","splittedEnd","set","_component_v_select","team_id","_allEmployees","min","onKeyup","_component_A_mastertask_description","_component_A_tasks_table","_component_v_table","_employeeInitials","_employeeFullName","checkmark","bin","eye","office365","enrichedtasks","openTaskModal","editOfficeEvent","_component_Z_status","status","_component_Z_deadline","_component_Z_team","_component_Z_planned_time","_component_Z_remaining_time","time_worked","_component_Z_spent_time","_component_Z_description","inheritedDescription","preparedInheritedDescription","isExceeded","enrichedEmployeesInTeam","enrichedEmployeesOutsideTeam","employeesOutsideOfTeam","em","ZDeadline","ZDescription","ZPlannedTime","ZRemainingTime","ZSpentTime","ZStatus","ZTeam","AMastertaskDescription","ATasksTable","enrichedSubtasks","quillEditorRequired","minLength","$each","closeBothModals","teamId","memberId","task","beforeUnmount","off","removeEmployee","removeMemberAlert","member","savedMastertask","parsedMastertask","toggleIsFinished","vuelidateValid","post_auth_data","openDeleteMasterTaskModal","addTask","onQuillEditorInput","isValid","getHours","getMinutes","toString","padStart","oldTeamEmployeesIds","employeesNotInOldTeam","_component_v_card_text","_component_v_spacer","localData","createTask","onTaskCreated","createBlocker","onBlockerCreated","ZDeleteTeamModal","ZTeamModal","ZDeleteTaskModal","ZDeleteBlockerModal","ZTaskModal","ZMasterTaskModal","ZCompleteTaskModal","ZTaskAddTimeModal","ZBlockerModal","ZDeleteMasterTaskModal","ZDeleteTeamMemberModal","ZShowMenuModal","ZCompleteMasterTaskModal","ZDeleteTimeBlockModal","ZUnableToEditOfficeTaskModal","query","dispatch","_showModalsAfterInicialization","onTeamUpdate","onTaskDeleted","onBlockerDeleted","onTaskEdited","onMasterTaskDeleted","repeat","setTimeout","getters","render","createStore","state","mutations","actions","modules","routes","redirect","component","children","meta","requiresAuth","router","createRouter","history","createWebHashHistory","process","beforeEach","to","from","next","isLoggedIn","store","axios","config","catch","reject","_config","params","headers","Authorization","install","app","options","globalProperties","encodeGetParams","p","entries","kv","encodeURIComponent","join","strToRegex","s","re","Moxios","constructor","_redirectRequestToMock","bind","_mocks","mock","append","k","m","reUrl","matchMethod","mocked","method","fname","VUE_APP_PLATFORM","toUpperCase","c","origin","moxios","values","events","mitt","I18n","properties","instance","translated","availableLanguages","languages","defaultLanguage","language","languageKey","vendorI18n","createI18n","legacy","fallbackLocale","messages","_loadLocaleMessages","missing","_missingTranslation","postTranslation","_postTranslation","changeLanguage","flag","initCurrentLanguage","Preferences","currentLanguage","_addAxiosHeaders","global","locales","warn","matched","use","i18n","$w18n","IonContent","IonPage","IonLabel","IonBackButton","IonCheckbox","IonText","IonButton","IonItem","IonItemGroup","IonItemSliding","IonItemOption","IonItemOptions","IonToolbar","IonHeader","IonFooter","IonSlides","IonSlide","IonSpinner","IonRow","IonCol","IonGrid","IonInput","IonButtons","IonIcon","IonImg","IonList","IonSkeletonText","IonTitle","IonMenu","IonSplitPane","IonMenuButton","IonRouterOutlet","IonSegment","IonSegmentButton","IonVirtualScroll","IonTextarea","IonSearchbar","IonRefresherContent","IonRefresher","IonInfiniteScrollContent","IonInfiniteScroll","IonAvatar","IonThumbnail","IonModal","IonRadioGroup","IonRadio","IonNote","IonCard","IonCardContent","IonTabBar","IonTabButton","IonMenuToggle","IonFab","IonFabButton","IonFabList","IonReorderGroup","IonReorder","IonSelect","IonSelectOption","IonToggle","IonBadge","IonChip","IonTabs","_unauthorised","namespaced","token","auth_success","auth_error","logout","open","login","credentials","signup","finally","forgotPassword","resetPassword","updateUserInfo","registerModule","auth","VueToast","_renderSlot","loader","_startLoading","_stopLoading","WLoadable","ionic","loadable","parseAndTranslate","errorsArray","_parseToArrayOfStrings","$t","statusText","toastUtils","_objectToFormData","formData","transformRequest","_buildFormData","parentKey","File","FormData","unscheduledSubtasks","ongoingSubtasks","initialized","set_mastertasks","set_employees","set_teams","set_projects","set_unscheduled_subtasks","set_ongoing_subtasks","update_team","save_team","delete_team","update_subtask","st","delete_subtask","initialize","all","reloadSubtasks","reloadMastertasks","loadMastertasks","loadEmployees","loadTeams","loadProjects","loadUnscheduledSubtasks","loadOngoingSubtasks","sort","a","b","isInitialized","tmStore","grow","row","column","_hoisted_27","lang","_component_vuecal_header","views","weekDaysInHeader","heading","view","_Transition","appear","_component_all_day_bar","titleEditable","contenteditable","onBlur","vuecal__flex","allDay","cell","week","wrap","_component_weekdays_headings","unscheduledTime","el","_component_vuecal_cell","selectCell","goNarrower","_hoisted_18","noEvent","_hoisted_22","formatTime","endTimeMinutes","daysCount","segments","formattedDate","isFirstDay","_hoisted_24","day","_hoisted_26","now","todayDate","todayF","self","_dateObject","_timeObject","DateUtils","texts","noPrototypes","_texts","prototype","addDays","_initDatePrototypes","days","subtractDays","addHours","subtractHours","addMinutes","subtractMinutes","getWeek","isToday","isLeapYear","removePrototypes","updateTexts","_todayFormatted","getDate","getFullYear","getMonth","valueOf","setDate","UTC","dayNum","getUTCDay","setUTCDate","getUTCDate","yearStart","getUTCFullYear","Math","ceil","year","getPreviousFirstDayOfWeek","weekStartsOnSunday","prevFirstDayOfWeek","dayModifier","getDay","stringToDate","countDays","timezoneDiffMs","getTimezoneOffset","datesInSameTimeStep","date1","date2","timeStep","abs","getTime","formatDateLite","dateObj","YYYY","_hydrateDateObject","YY","M","MM","MMM","MMMM","MMMMG","D","DD","S","dd","ddd","dddd","HH","_hydrateTimeObject","H","hh","h","am","AM","mm","contents","result","round","shouldRound","getSeconds","formatTimeLite","timeObj","formatted","_nth","dayNumber","months","monthsGenitive","weekDays","substr","floor","pm","minutesInADay","CellUtils","vuecal","force","_vuecal","clickToNavigate","switchToNarrowerView","dblclickToNavigate","domEvents","dblTapACell","taps","timeout","left","cellsEl","getBoundingClientRect","clientX","clientY","touches","x","y","cursorCoords","timeCellHeight","timeFrom","getPosition","max","defaultEventDuration","ud","_cellOverlaps","_comparisonArray","EventUtils","dateUtils","_eid","startTimeMinutes","background","deleting","resizable","resizing","draggable","dragging","draggingStatic","focused","createAnEvent","dateTime","eventOptions","dateToMinutes","eventDefaults","_","uid","eventIdIncrement","onEventCreate","deleteAnEvent","startDateF","endDateF","mutableEvents","addEventsToView","emitWithEvent","cleanupEvent","originalEvent","addEventSegment","isLastDay","previousSegment","removeEventSegment","segmentsCount","createEventSegments","viewStartDate","viewEndDate","viewStartTimestamp","viewEndTimestamp","eventStartAtMidnight","eventStart","eventEnd","repeatedEventStartFound","until","createSegment","nextMidnight","tmpDate","tmpDateFormatted","occurrences","checkCellOverlappingEvents","cellEvents","shift","overlaps","position","sameOverlaps","e2","eventIsInRange","eventInRange","eventSameOverlap","eventSameRange","eventsInSameTimeStep","overlapsPerTimeStep","pos1","pos2","Set","longestStreak","item","overlapsRow","id2","findIndex","getOverlapsStreak","cellOverlaps","streak","removeFromStreak","overlapsWithoutSelf","id3","startTimestamp","endTimestamp","event1","event2","isSameStart","isSameEnd","role","hideViewSelector","_createCommentVNode","_renderList","v","enabled","_normalizeClass","highlightedControl","onDragenter","drag","viewSelectorDragEnter","onDragleave","viewSelectorDragLeave","hideTitleBar","transitions","_resolveDynamicComponent","startDate","todayButton","_createSlots","$slots","fn","_createTextVNode","hide","today","clickable","toLocaleDateString","_normalizeStyle","onDblclick","dayOfMonth","full","small","xsmall","hasSplits","stickySplitLabels","daySplits","inject","transitionDirection","Function","DOMEvent","selectedDate","utils","cleanupHeading","initials","onTimelineScroll","viewPortOffset","headings","todayFound","startWeekOnSunday","short","cellWidth","reduce","total","weekdayCellStyles","hideWeekdays","cellHeadingsClickable","WeekdaysHeadings","editEvents","viewProps","goToToday","updateSelectedDate","switchToBroaderView","broaderView","switchView","get","direction","enabledViews","showDaySplits","minSplitWidth","dnd","isWeekView","isMonthView","minTimestamp","maxTimestamp","_TransitionGroup","tag","tabindex","onKeypress","_withKeys","onTouchstart","onMousedown","onContextmenu","cellContextmenu","cellDragEnter","onDragover","cellDragOver","cellDragLeave","onDrop","cellDragDrop","showTimeInCells","timeCells","eventsOnMonthView","j","_component_event","allOverlaps","overlapsStreak","cellOverlapsStreak","eventId","onMouseenter","onMouseleave","_withModifiers","onMouseup","onTouchend","onTouchmove","onDragstart","onDragend","delete","deleteEvent","cellFormattedDate","eventPosition","touch","dragThreshold","startX","startY","dragged","onMouseDown","clickHoldAnEvent","focusAnEvent","resizeAnEvent","dragAnEvent","focusEvent","timeoutId","onMouseUp","mousedUp","onMouseEnter","preventDefault","onMouseLeave","onTouchMove","onEventClick","onTouchStart","onEnterKeypress","onDblClick","onEventDblclick","onDragStart","eventDragStart","onDragEnd","eventDragEnd","onResizeHandleMouseDown","assign","segment","originalEnd","originalEndTimeMinutes","touchDeleteEvent","cancelDeleteEvent","focusedEvent","cancelDelete","eventDimensions","minutesFromTop","timeTo","bottom","eventStyles","zIdnex","master_task_color","isArray","sameOverlapsLength","parentNotSameOverlaps","minEventWidth","eventClasses","is_blocker","resize","Event","cellSplits","timeAtCursor","highlighted","highlightedSplit","getSplitAtCursor","targetIsSplit","classList","contains","findAncestor","attributes","splitClasses","isWeekend","eventsCount","splitsCount","isDOMElementAnEvent","onCellkeyPressEnter","isSelected","onCellFocus","keyPressEnterCell","isDisabled","onCellMouseDown","clickHoldACell","cancelClickEventCreation","eventCreated","minutesAtCursor","mouseDownOnEvent","create","setUpEventCreation","startCursorY","dragToCreateEvent","dragCreateAnEvent","snapToTime","timeMinutes","plusHalfSnapTime","cellClickHold","setUpCellHoldTimer","cellId","onCellTouchStart","onCellClick","offsetY","dateFrom","dateTo","isTeamCalendar","onCellDblClick","onCellContextMenu","stopPropagation","nowInMinutes","isBeforeMinDate","endDate","isAfterMaxDate","disableDays","isYearsOrYearView","selected","isWeekOrDayView","specialHours","timeScale","cellStart","cellEnd","eventsCountOnYearView","outOfScopeEvents","showAllDayEvents","singleDayInRange","multipleDayInRange","recurrMultDayInRange","splits","cellClasses","current","outOfScope","cellStyles","timelineVisible","todaysTimePosition","Cell","cells","shortEvents","cellOrSplitMinWidth","hasCellOrSplitWidth","minCellWidth","textsDefaults","fill","weekDaysShort","years","month","createEvent","dateFormat","validViews","Header","AllDayBar","provide","previous","activeView","scrollToHour","allDayBarHeight","disableDatePrototypes","disableViews","dragToCreateThreshold","editableEvents","hideBody","hideWeekends","maxDate","minDate","resizeX","showWeekNumbers","splitDays","timeFormat","twelveHour","watchRealTime","ready","firstCellDate","lastCellDate","timeTickerIds","startCell","endCell","loadDragAndDrop","DragAndDrop","validateView","fromViewSelector","viewDateBeforeChange","oldView","setSeconds","daysToAdd","daysToSubtract","weekDaysCount","viewDate","scrollTop","previousNext","modifier","viewId","weekDay","weekDayIndex","isDayHidden","daysWithIndex","dayToShow","daysFromDate","reverse","ue","filteredEvents","Class","parentElement","onMouseMove","eventResizing","eventDragCreation","isClickHoldingEvent","wasResizing","hasResized","dragCreatedEvent","dragCreateStarted","mouseUpOnEvent","eventClicked","mutableEvent","cleanEvent","oldDate","unfocusEvent","clearTimeout","eventClickHandler","onKeyUp","newEndTimeMins","offsetWidth","childElementCount","newEnd","newDaysCount","lastSegmentFormattedDate","dragFromBottom","onEventTitleBlur","oldTitle","updateMutableEvents","multipleDays","discardProps","prop","eventName","getWeekNumber","weekFromFirstCell","firstCellWeekNumber","firstCellDateWeekNumber","currentWeekNumber","timeTick","updateDateTexts","alignWithScrollbar","cellOrSplitHasEvents","loadLocale","currentView","hasTouch","hasEventClickHandler","passive","oncontextmenu","viewportTimelineOffset","removeEventListener","hasTimeColumn","isShortMonthView","TimeFormat","hasShortEvents","minWidth","visibleDaysCount","allDayBar","isNaN","viewCells","unshift","pop","specialDayHours","viewTitle","lastDayOfWeek","y1","m1","formattedMonthYear","y2","m2","fromYear","apply","firstDayOfWeek","dayOfWeek","isDayView","cssClasses","isYearsView","isYearView","oldEvents","newVal","VueCal","createApp","App","axiosCustom","w","IonicVue","vuetify","vueCal","mount","$i18n","errors","$message","customFilter","normalizedItem","cleanedItem","cleanedInput","enrichEmployees","formatDateTimeForBackend","isBefore","compareTo","webpackAsyncContext","ids","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","call","deferred","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","every","r","n","getter","__esModule","leafPrototypes","getProto","getPrototypeOf","obj","__proto__","mode","ns","def","getOwnPropertyNames","definition","defineProperty","enumerable","f","chunkId","promises","u","miniCssF","g","globalThis","hasOwnProperty","inProgress","dataWebpackPrefix","l","done","script","needAttach","scripts","getElementsByTagName","getAttribute","createElement","charset","nc","setAttribute","onScriptComplete","prev","onerror","onload","doneFns","parentNode","removeChild","head","appendChild","Symbol","toStringTag","nmd","paths","createStylesheet","fullhref","linkTag","rel","onLinkComplete","errorType","realHref","href","err","request","findStylesheet","existingLinkTags","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","promise","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/app/src/plugins/app/_config/App.vue b/app/src/plugins/app/_config/App.vue index b00a387..a36e7b3 100644 --- a/app/src/plugins/app/_config/App.vue +++ b/app/src/plugins/app/_config/App.vue @@ -21,6 +21,7 @@ + + + diff --git a/app/src/plugins/tm@dashboard/_components/z-timeline.vue b/app/src/plugins/tm@dashboard/_components/z-timeline.vue index 931fd7b..226d9ef 100644 --- a/app/src/plugins/tm@dashboard/_components/z-timeline.vue +++ b/app/src/plugins/tm@dashboard/_components/z-timeline.vue @@ -24,7 +24,7 @@ @event-focus="eventFocused" > @@ -131,8 +83,12 @@ import { addDays } from 'date-fns' import tmUtils from '@/plugins/tm@_utils/tm.utils' import { mapGetters } from 'vuex' import moment from 'moment' +import ATimelineEvent from './a-timeline-event.vue' export default { + components: { + ATimelineEvent, + }, props: { calData: { type: Object, @@ -300,10 +256,6 @@ export default { return date.toLocaleDateString('sk-SK') }, - getEventLength(event) { - return event.end.getTime() - event.start.getTime() - }, - taskClicked(subtask) { // console.log('task clicked') }, @@ -377,12 +329,6 @@ export default { diff --git a/app/src/plugins/tm@dashboard/tasks/_utils/timeline.utils.ts b/app/src/plugins/tm@dashboard/tasks/_utils/timeline.utils.ts index 4636c1b..570b1fd 100644 --- a/app/src/plugins/tm@dashboard/tasks/_utils/timeline.utils.ts +++ b/app/src/plugins/tm@dashboard/tasks/_utils/timeline.utils.ts @@ -64,7 +64,8 @@ export default { _timeblock_id: timeblock.id, _timeblock_is_finished: timeblock.is_finished, _real_start: new Date(timeblock.start), - _real_end: new Date(timeblock.end) + _real_end: new Date(timeblock.end), + draggable: false // TODO office365: Disable only for office 365 events } }, diff --git a/app/src/plugins/tm@modal/master-task/_components/a-tasks-table.vue b/app/src/plugins/tm@modal/master-task/_components/a-tasks-table.vue index ba72bfa..68b11f5 100644 --- a/app/src/plugins/tm@modal/master-task/_components/a-tasks-table.vue +++ b/app/src/plugins/tm@modal/master-task/_components/a-tasks-table.vue @@ -15,11 +15,19 @@

Neukončený

-
- checkmark-icon - checkmark-icon - pencil-icon - trash-icon +
+ + + +
@@ -29,6 +37,8 @@ diff --git a/app/src/plugins/tm@modal/task/_components/_components/a-task-timeblocks.vue b/app/src/plugins/tm@modal/task/_components/_components/a-task-timeblocks.vue index 1cd7dbe..84f2c48 100644 --- a/app/src/plugins/tm@modal/task/_components/_components/a-task-timeblocks.vue +++ b/app/src/plugins/tm@modal/task/_components/_components/a-task-timeblocks.vue @@ -11,15 +11,15 @@ -
+

Pridať záznam

- +

{{ tmUtils.formatDateTime(timeblock.start) }} - {{ tmUtils.formatDateTime(timeblock.end) }}

- +
@@ -119,7 +119,11 @@ export default { }, computed: { - ...mapGetters('tm', ['mastertasks']) + ...mapGetters('tm', ['mastertasks']), + isOffice365Task() { + // TODO office365: Only for office365 events + return true + } }, methods: { diff --git a/app/src/plugins/tm@modal/task/_components/z-task-readonly-info.vue b/app/src/plugins/tm@modal/task/_components/z-task-readonly-info.vue index e32c62c..836acd6 100644 --- a/app/src/plugins/tm@modal/task/_components/z-task-readonly-info.vue +++ b/app/src/plugins/tm@modal/task/_components/z-task-readonly-info.vue @@ -5,6 +5,7 @@ + @@ -23,6 +24,7 @@ import ATaskSpentTime from './_components/a-task-spent-time.vue' import ATaskRemainingTime from './_components/a-task-remaining-time.vue' import ATaskDeadline from './_components/a-task-deadline.vue' import ATaskDescription from './_components/a-task-description.vue' +import ATaskEstimatedDuration from './_components/a-task-estimated-duration.vue' import ZFiles from '@/plugins/tm@modal/_components/read-only/z-files.vue' export default { @@ -39,9 +41,10 @@ export default { ATaskSpentTime, ATaskRemainingTime, ATaskDescription, - ATaskDeadline + ATaskDeadline, + ATaskEstimatedDuration }, - + props: { subtask: { type: Object, diff --git a/app/src/plugins/tm@modal/task/z-task-modal.vue b/app/src/plugins/tm@modal/task/z-task-modal.vue index 02df6c7..b850383 100644 --- a/app/src/plugins/tm@modal/task/z-task-modal.vue +++ b/app/src/plugins/tm@modal/task/z-task-modal.vue @@ -109,7 +109,7 @@ @@ -239,6 +239,14 @@ export default { }, methods: { + toggleEditMode() { + // TODO office365: Only for office365 events + return this.$events.emit('show-unable-to-edit-office-task-modal', { mode: 'edit' }) + + + // this.editMode = !this.editMode + }, + openDatepicker(ref) { this.$refs[ref].openMenu() }, @@ -385,7 +393,9 @@ export default { }, openDeleteTaskModal(subtask) { - this.$events.emit('show-delete-task-modal', { subtask }) + // TODO office365: Only for office365 events + this.$events.emit('show-unable-to-edit-office-task-modal', { mode: 'delete' }) + // this.$events.emit('show-delete-task-modal', { subtask }) }, showCompleteTaskModal() { diff --git a/app/src/plugins/tm@modal/task/z-unable-to-edit-office-task-modal.vue b/app/src/plugins/tm@modal/task/z-unable-to-edit-office-task-modal.vue new file mode 100644 index 0000000..910bbb4 --- /dev/null +++ b/app/src/plugins/tm@modal/task/z-unable-to-edit-office-task-modal.vue @@ -0,0 +1,54 @@ + + + \ No newline at end of file diff --git a/app/src/plugins/tm@overview/tasks-ongoing/_components/a-ongoing-table.vue b/app/src/plugins/tm@overview/tasks-ongoing/_components/a-ongoing-table.vue index 183463f..d41de10 100644 --- a/app/src/plugins/tm@overview/tasks-ongoing/_components/a-ongoing-table.vue +++ b/app/src/plugins/tm@overview/tasks-ongoing/_components/a-ongoing-table.vue @@ -25,11 +25,19 @@ {{ displayTimeblock(subtask) }} {{ subtask.duration }} h {{ (subtask.duration - subtask.spent_time).toFixed(2) }} h + -
- pencil-icon - - trash-icon +
+ + + +
@@ -40,6 +48,8 @@