{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/repositories/devdata.js","webpack:///./src/components/sidebar/AgreementSidebar.vue?0e1e","webpack:///./src/repositories/gpsDataRepository.js","webpack:///./src/components/common/Notification.vue?84f0","webpack:///./src/repositories/milestones.js","webpack:///./src/components/sidebar/EntryForm.vue?2c2c","webpack:///./src/components/calendar/Home.vue?d2bd","webpack:///src/components/calendar/Home.vue","webpack:///./src/components/calendar/Home.vue?abc9","webpack:///./src/components/calendar/Home.vue","webpack:///./src/repositories/AppUsersRepository.js","webpack:///./src/repositories/GroupCommentRepository.js","webpack:///./src/repositories/notificationsRepository.js","webpack:///./src/repositories/reportRepository.js","webpack:///./src/repositories/holidayRepository.js","webpack:///./src/repositories/groupTemplateRepository.js","webpack:///./src/repositories/salaryManualInputRepository.js","webpack:///./src/repositories/agreementRepository.js","webpack:///./src/repositories/salaryRatesRepository.js","webpack:///./src/repositories/RepositoryFactory.js","webpack:///./src/config/apiConfig.js","webpack:///./src/clients/AppUsersClient.js","webpack:///./src/components/common/Notification.vue?e759","webpack:///./src/components/sidebar/GeneralStatisticsFilterSidebar.vue?1606","webpack:///./src/enums/APISTATE.js","webpack:///./src/components/sidebar/HolidaySidebar.vue?89ac","webpack:///./src/config/oidc.js","webpack:///./src/components/calendar/CalendarSmall.vue?f7ce","webpack:///./src/components/sidebar/EntrySidebar.vue?d85d","webpack:///./src/components/calendar/Home.vue?e483","webpack:///./src/components/sidebar/GeneralStatisticsFilterSidebar.vue?416f","webpack:///./src/repositories/employees.js","webpack:///./src/assets/viking-logo-white-cropped.svg","webpack:///./src/repositories/overallocations.js","webpack:///./src/components/sidebar/GroupCommentSidebar.vue?7766","webpack:///./src/components/sidebar/EntrySidebar.vue?02e4","webpack:///./src/components/calendar/ConfirmationModal.vue?bcdf","webpack:///./src/components/sidebar/HolidaySidebar.vue?c740","webpack:///./src/store/modules/EntrySidebar.js","webpack:///./src/store/modules/AppUsersStore.js","webpack:///./src/store/modules/notificationStore.js","webpack:///./src/store/modules/allocations.js","webpack:///./src/store/modules/circles.js","webpack:///./src/store/modules/groupStore.js","webpack:///./src/store/modules/GeneralStatisticsFilteringSidebar.js","webpack:///./src/store/modules/groupTemplateStore.js","webpack:///./src/store/modules/employees.js","webpack:///./src/store/modules/forecasts.js","webpack:///./src/store/modules/metadata.js","webpack:///./src/store/modules/milestones.js","webpack:///./src/store/modules/ReplacementAllocations.js","webpack:///./src/data.js","webpack:///./src/store/modules/scheduler.js","webpack:///./src/store/modules/GroupCommentStore.js","webpack:///./src/store/modules/reportStore.js","webpack:///./src/store/modules/salaryReportStore.js","webpack:///./src/store/modules/holidayStore.js","webpack:///./src/util/uuid.js","webpack:///./src/util/statisticsComparers.js","webpack:///./src/store/modules/statisticsStore.js","webpack:///./src/store/modules/allocationMoverStore.js","webpack:///./src/store/modules/agreementStore.js","webpack:///./src/store/modules/gpsDataStore.js","webpack:///./src/store/modules/confirmationModalStore.js","webpack:///./src/store/modules/dtReportStore.js","webpack:///./src/store/modules/salaryRateStore.js","webpack:///./src/store/modules/csvModalStore.js","webpack:///./src/store/index.js","webpack:///./src/components/calendar/ConfirmationModal.vue?2dbc","webpack:///src/components/calendar/ConfirmationModal.vue","webpack:///./src/components/calendar/ConfirmationModal.vue?569e","webpack:///./src/components/calendar/ConfirmationModal.vue","webpack:///./src/App.vue?1e62","webpack:///./src/components/scheduler/schedule/controls/EmployeeSelector.vue?cf2d","webpack:///src/components/scheduler/schedule/controls/EmployeeSelector.vue","webpack:///./src/components/scheduler/schedule/controls/EmployeeSelector.vue?e90a","webpack:///./src/components/scheduler/schedule/controls/EmployeeSelector.vue","webpack:///./src/App.vue?ad8e","webpack:///./src/components/calendar/Home.vue?6a08","webpack:///./src/components/sidebar/SalaryRateSidebar.vue?a4a5","webpack:///./src/components/calendar/CalendarSmall.vue?be0c","webpack:///./src/components/common/Notification.vue?00e7","webpack:///src/components/common/Notification.vue","webpack:///./src/components/common/Notification.vue?fa7e","webpack:///./src/components/common/Notification.vue","webpack:///src/components/calendar/CalendarSmall.vue","webpack:///./src/components/calendar/CalendarSmall.vue?b1cc","webpack:///./src/components/calendar/CalendarSmall.vue","webpack:///./src/App.vue?ee80","webpack:///./src/components/AppHeader.vue?7653","webpack:///./src/components/UserBadge.vue?d56e","webpack:///src/components/UserBadge.vue","webpack:///./src/components/UserBadge.vue?7958","webpack:///./src/components/UserBadge.vue","webpack:///src/components/AppHeader.vue","webpack:///./src/components/AppHeader.vue?d34b","webpack:///./src/components/AppHeader.vue","webpack:///./src/components/sidebar/EntrySidebar.vue?d9e8","webpack:///./src/components/sidebar/EntryForm.vue?ea71","webpack:///src/components/sidebar/EntryForm.vue","webpack:///./src/components/sidebar/EntryForm.vue?d1ed","webpack:///./src/components/sidebar/EntryForm.vue","webpack:///src/components/sidebar/EntrySidebar.vue","webpack:///./src/components/sidebar/EntrySidebar.vue?8094","webpack:///./src/components/sidebar/EntrySidebar.vue","webpack:///./src/components/sidebar/GroupCommentSidebar.vue?e0c5","webpack:///src/components/sidebar/GroupCommentSidebar.vue","webpack:///./src/components/sidebar/GroupCommentSidebar.vue?135d","webpack:///./src/components/sidebar/GroupCommentSidebar.vue","webpack:///./src/components/sidebar/AgreementSidebar.vue?dce1","webpack:///src/components/sidebar/AgreementSidebar.vue","webpack:///./src/components/sidebar/AgreementSidebar.vue?9b6d","webpack:///./src/components/sidebar/AgreementSidebar.vue","webpack:///./src/components/sidebar/GeneralStatisticsFilterSidebar.vue?aba8","webpack:///src/components/sidebar/GeneralStatisticsFilterSidebar.vue","webpack:///./src/components/sidebar/GeneralStatisticsFilterSidebar.vue?088a","webpack:///./src/components/sidebar/GeneralStatisticsFilterSidebar.vue","webpack:///./src/components/sidebar/HolidaySidebar.vue?eae5","webpack:///src/components/sidebar/HolidaySidebar.vue","webpack:///./src/components/sidebar/HolidaySidebar.vue?1d5e","webpack:///./src/components/sidebar/HolidaySidebar.vue","webpack:///./src/components/sidebar/DtReportSidebar.vue?abd3","webpack:///src/components/sidebar/DtReportSidebar.vue","webpack:///./src/components/sidebar/DtReportSidebar.vue?288d","webpack:///./src/components/sidebar/DtReportSidebar.vue","webpack:///./src/components/sidebar/SalaryRateSidebar.vue?7081","webpack:///src/components/sidebar/SalaryRateSidebar.vue","webpack:///./src/components/sidebar/SalaryRateSidebar.vue?f0c3","webpack:///./src/components/sidebar/SalaryRateSidebar.vue","webpack:///src/App.vue","webpack:///./src/App.vue?5b78","webpack:///./src/App.vue","webpack:///./src/router/configuration.js","webpack:///./src/router/index.js","webpack:///./src/filters/numbers.js","webpack:///./src/filters/dates.js","webpack:///./src/components/common/Icon.vue?907a","webpack:///src/components/common/Icon.vue","webpack:///./src/components/common/Icon.vue?a7fc","webpack:///./src/components/common/Icon.vue","webpack:///./src/main.js","webpack:///./src/components/scheduler/schedule/controls/EmployeeSelector.vue?35c1","webpack:///./src/repositories/groups.js","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/components/common/Dropdown.vue?38db","webpack:///src/components/common/Dropdown.vue","webpack:///./src/components/common/Dropdown.vue?0d06","webpack:///./src/components/common/Dropdown.vue","webpack:///./src/components/sidebar/DtReportSidebar.vue?93ef","webpack:///./src/styles/app.scss?6cff","webpack:///./src/components/scheduler/schedule/controls/EmployeeSelector.vue?0935","webpack:///./src/components/sidebar/AgreementSidebar.vue?e2fd","webpack:///./src/components/UserBadge.vue?92c2","webpack:///./src/repositories/circlesRepository.js","webpack:///./src/views/Home.vue?27fa","webpack:///src/views/Home.vue","webpack:///./src/views/Home.vue?2d4d","webpack:///./src/views/Home.vue","webpack:///./src/components/common/Icon.vue?3d97","webpack:///./src/repositories/allocations.js","webpack:///./src/repositories/forecasts.js","webpack:///./src/components/calendar/calendar-small/CalendarEntry.vue?17fa","webpack:///./src/components/common/Dropdown.vue?13af","webpack:///./src/views/Dashboard.vue?07d8","webpack:///./src/components/AppHeader.vue?cfe8","webpack:///./src/views/Dashboard.vue?0c4a","webpack:///src/views/Dashboard.vue","webpack:///./src/views/Dashboard.vue?f2a9","webpack:///./src/views/Dashboard.vue","webpack:///./src/components/calendar/calendar-small/CalendarEntry.vue?3b2c","webpack:///src/components/calendar/calendar-small/CalendarEntry.vue","webpack:///./src/components/calendar/calendar-small/CalendarEntry.vue?95b5","webpack:///./src/components/calendar/calendar-small/CalendarEntry.vue","webpack:///./src/components/calendar/calendar-small/CalendarEntry.vue?f62e","webpack:///./src/components/sidebar/EntryForm.vue?b2ef","webpack:///./src/components/sidebar/GroupCommentSidebar.vue?f9d5","webpack:///./src/enums/UPDATESTATE.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","circles","regions","id","allocationTypes","label","shortName","isVisible","title","forecasts","milestones","groups","resource","getGPSDataList","dto","AppUsersClient","assistantNumber","moment","fromDate","format","toDate","response","catch","updateGPSData","gpsData","put","getForPeriod","startDate","endDate","teamFilter","milestoneType","projectId","date","percentageCompleted","update","milestone","delete","milestoneId","updateTag","render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","isLoading","_v","currentUser","on","viewAs","onUpdated","onSplit","loadMore","staticRenderFns","components","methods","viewStartDate","Date","viewToDate","computed","viewAsEmployeeId","viewAsEmployee","component","getAll","getOne","registerAppUser","userDto","post","updateAppUser","setAppUserPassword","form","deleteUser","forGroup","params","getForDayAndGroup","forDate","createOrUpdate","groupCommentForm","getGroupCommentsDashboard","forRegion","notificationId","getNotificationFromAllocation","getReportForPeriod","getReplacementReportForPeriod","getGeneralReportForPeriod","getAbsenceStatisticsForPeriod","forUser","getDriveReportForPeriod","getTimeOffForPeriod","getMonthReport","year","month","approveAllMonthReport","approveMonthReport","getMonthGroupReport","getYearlyReport","getReportNotification","employeeId","requestUrl","getDTReport","log","updateDTReport","deleteDTReport","getSalaryReport","compareDate","userDefined","toJSON","getSalaryDayReport","getSalaryHerdDayReport","herdNumber","processReportSalaryEmployee","lockReportSalaryEmployee","unlockReportSalaryEmployee","updateReportSalaryEmployee","exportSalaryReportCsv","getFullYear","holiday","getAllForGroup","groupTemplate","canApply","loadGroupTemplateAllocation","createGroupTemplateAllocation","updateGroupTemplateAllocation","deleteGroupTemplateAllocation","rollbackGroupTemplate","uploadCsv","file","getById","getAllForYear","agreement","updateAll","agreements","getAllSalaryRatesForYear","updateSalaryRate","createSalaryRate","repositories","AppUsersRepository","GroupCommentRepository","allocations","circlesRepository","employees","overallocations","notificationsRepository","reportRepository","holidayRepository","groupTemplateRepository","agreementRepository","gpsDataRepository","salaryRatesRepository","salaryManualInput","salaryManualInputRepository","apiConfig","JSON","parse","process","baseDomain","url","baseURL","axiosClient","axios","headers","interceptors","use","req","authorization","store","getters","INIT","LOADING","ERROR","LOADED","oidcSettings","getActive","employeesForMyCalendar","getActiveInPeriod","getReplacements","region","getReplacementsForDate","getAllEmployees","getEmployees","getAvailableEmployees","openResolve","Repository","namespaced","state","apiState","ENUM","appUser","appUsers","myAppUser","employments","role","mutations","setApiState","setAppUser","appUserResponse","forEach","isEditing","addEmptyEmployment","appUserId","isNew","index","saveEmployment","employment","today","setRole","setEditEmployment","findIndex","removeEmployment","employmentIndex","setAppUsers","appUsersResponse","setMyAppUser","actions","loadAppUser","commit","setEmptyAppUser","editEmployment","indexOf","loadAppUsers","appUserDto","dispatch","UTC","getMonth","getDate","getHours","getMinutes","getSeconds","loadMyUser","oidcUser","sub","deleteAppUser","appUserApiState","userRole","notifications","notification","errorModalOpen","errorModalText","setNotification","setNotifications","initialized","setErrorModalText","text","setErrorModalOpen","open","getNotificationsForPeriod","createNotification","allocationDto","retries","updateState","UPDATESTATE","RequestReplacement","status","deleteNotification","notificationDto","_UpdateTag","updateNotification","setNotificationOnStore","notificationApiState","entryModel","setEntryModel","entry","entrySidebarOpenAsync","entrySidebarOpen","entrySidebarUpdate","model","Function","action","entrySidebarNotification","entrySidebarDelete","entrySidebarCancel","entrySidebarViewUpdate","entrySidebarSplit","entrySidebarModel","allocationsDashboard","allocation","allocationApiState","allocationDashboardApiState","allocationsTimeOffApiState","allocationsTimeOff","allocationsOnDateApiState","allocationsOnDate","setDashboardApiState","setAllocationApiState","setAllocation","setAllocations","setAllocationDashboard","setTimeOffApiState","setAllocationsTimeOff","setAllocationsOnDateApiState","setAllocationsOnDate","addAllocations","item","initialize","getMyAllocations","asEmployee","isLoadingMore","getTimeOff","getAllocationDashboard","updateAllocation","getAllocationForGroupOnDate","splitAllocation","split","isLoaded","allocationsApiState","CirclesRepository","apiStateCircleForGroup","circlesForGroup","circle","setCircleForGroupApiState","setCircle","setCircles","setCircleForGroup","loadAllCircles","loadCirclesForPeriod","loadCirclesCurrentWeek","getCirclesCurrentWeek","loadCircles","getPeriods","getCircle","getCircleForGroup","groupId","createCircle","updateCircle","circleIsLoading","circleForGroupIsLoading","circleApiState","arrayRemoveWhere","array","where","filter","val","ApiState","groupState","group","groupsForUser","groupsForUserApiState","usersForGroup","usersForGroupApiState","setGroup","setGroups","removeGroup","isRemoved","setState","setGroupsForUserApiState","setGroupsForUser","setUsersForGroupApiState","setUsersForGroup","getAllGroups","getAllForMyCalendar","groupRepository","getGroupById","remove","getGroupsForUser","getUsersGorGroup","updateGroup","createGroup","groupsIsLoading","groupApiState","find","q","groupTemplateApiState","groupTemplates","historicGroupTemplatesDisplayed","groupTemplatesApiState","simulating","showAll","setGroupTemplateApiState","setGroupTemplate","setGroupTemplatesApiState","setGroupTemplates","setSimulating","setShowAll","setHistoricGroupTemplatesDisplayed","historicGroupTemplate","getAllTemplatesForGroup","updateGroupTemplate","createGroupTemplate","applyGroupTemplate","canApplyGroupTemplate","showAllPressed","isSimulating","isGroupTemplateSimulating","EmployeesRepository","employeeApiState","replacementApiState","replacements","replacementsForDateApiState","replacementsForDate","allEmployeeApiState","allEmployees","allEmployeesDict","availableEmployees","availableEmployeesApiState","setReplacementApiState","setEmployeeApiState","setEmployees","setReplacements","setReplacementsForDateApiState","setReplacementsForDate","setAllEmployeeApiState","setAllEmployees","employee","Vue","set","setAvailableEmployees","setAvailableEmployeesApiState","loadEmployees","loadReplacements","loadReplacementsFromDate","allEmployeesLookup","reduce","accumulator","currentValue","allocationTypesReport","AllocationsRepository","allocationsResponse","loadReplacementAllocationsForCurrentWeek","getReplacementAllocationsCurrentWeek","replacementAllocationsApiState","replacementAllocations","groupBy","lookup","teams","clients","byEmployee","byCircle","byEmployeeCircle","byProject","byEmployeeProject","forecastType","colors","colorsHex","map","obj","teamId","teamName","values","unshift","colorCode","periodChanged","allocationAdded","allocationDeleted","allocationId","allocationToLookup","allocationUpdated","allocationToUpdate","assign","allocationsAddOrUpdate","Array","isArray","existing","removeChildAllocations","parentAllocationId","lookupAllocation","milestoneAdded","milestoneDeleted","milestoneToLookup","milestoneUpdated","milestoneToUpdate","overallocationUpdated","circleId","forecastUpdated","forecastKey","changePeriod","fetchEmployees","addAllocation","allocationType","allocationSpanInDays","retrieveChildren","attachNewAllocation","existingAllocation","removeChildren","replacementId","getForParent","childAllocation","deleteAllocation","updateChildAllocations","addMilestone","updateMilestone","deleteMilestone","updateOverallocations","updateForecasts","getFromDate","employeeLookup","clientLookup","circleLookup","GroupRepository","apiStateDashboard","groupComments","groupComment","groupCommentsDashboard","lookupArgs","editingGroupComment","groupCommentMeta","setApiStateDashboard","setGroupComments","groupCommentsResponse","setGroupCommentsDashboard","respones","setGroupComment","groupCommentResponse","setLookupArgs","setEditingGroupComment","setGroupCommentMetaGroup","groupResponse","setGroupCommentMetaDate","setCleared","clear","loadGroupComments","loadGroupCommentsDashboard","loadGroupComment","createOrUpdateGroupComment","groupCommentModel","editGroupComment","commitEditingGroupComment","updatedGroupCommentModel","cancelEditingGroupComment","groupCommentsApiStateDashboard","groupCommentsApiState","reports","reportForPeriodApiState","replacementReportForPeriodApiState","monthReportApiState","monthReportForPeriodApiState","monthReportGroupApiState","reportForPeriod","replacementReportForPeriod","monthReport","monthReportForPeriod","monthReportGroup","yearlyReport","yearlyReportApiState","reportNotification","reportNotificationApiState","generalReportForPeriodApiState","generalReportForPeriod","driveReportForPeriod","driveReportForPeriodApiState","timeOffForPeriod","timeOffForPeriodApiState","setReportForPeriodApiState","setMonthReportGroupApiState","setReplacementReportForPeriodApiState","setMonthReportForPeriodApiState","setMonthReportApiState","setReportForPeriod","setReplacementReportForPeriod","setMonthReportForPeriod","setMonthReport","setMonthReportGroup","setYearlyReport","setYearlyReportApiState","setReportNotification","setReportNotificationApiState","setGeneralReportForPeriod","setGeneralReportForPeriodApiState","setDriveReportForPeriod","setAbsenceStatisticsForPeriod","setDriveReportForPeriodApiState","setTimeOffForPeriod","setTimeOffForPeriodApiState","driveStaticsForPeriod","absenceStatisticsForPeriod","getDateFromMonthYear","day","setMonth","setFullYear","setDate","getLatestDayOfMonth","APISTATE","salaryReportList","salaryDayReportList","salaryReportFilterYear","salaryReportFilterMonth","salaryReportFilterToYear","salaryReportFilterToMonth","salaryReportFilterEmployeeNumber","showYear","showEmpty","showToDate","salaryReportCsv","setSalaryReportList","setSalaryDayReportList","setSalaryReportFilterYear","setSalaryReportFilterMonth","setSalaryReportFilterToYear","setSalaryReportFilterToMonth","setSalaryReportFilterEmployeeNumber","setShowYear","setCompareDate","setShowEmpty","setShowToDate","setFromDate","setToDate","setSalaryReportCsv","addNewLine","identifier","times","reportRowName","newLine","rate","total","isUserDefined","dateFrom","performLookup","rootGetters","number","toString","getAllSalaryReport","salaryReports","partialSumRows","v","style","color","fontWeight","payrollRows","averageRows","general","totalSalaryRows","setYear","setToYear","setToMonth","setEmployeeNumber","employeeNumber","initYearMonth","salaryReportApiState","holidays","holidaysApiState","chosenHoliday","sidebarOpen","setHolidaysApiState","setHolidays","setChosenHoliday","setSidebarOpen","getHolidays","closeSidebar","updateHoliday","generateUUID","getTime","performance","now","newGuid","replace","Math","random","floor","compare","a","b","af","bf","freeInRow","compareEmployeeOrderNumber","orderNumber","compareOrderNumber","isActive","weekdays","isChecked","allocationsRepository","allocationForDay","endDateInclusive","isAllocatedForDay","dayBetween","start","end","totalDays","diff","employeeStatistics","formGroupTemplate","activeSidebar","isNewGroupTemplate","loadStatisticsStartDate","loadStatisticsEndDate","loadStatisticsGroupFilter","loadStatisticsRegionFilter","setStatisticsApiState","clearEmployeeStatistics","setEmployeeStatistics","pushToAllocations","filterAllocations","element","clearAllocations","pushToEmployeeStatistics","setActiveSidebar","setFormGroupTemplate","setFormGroupTemplateFromDate","setFormGroupTemplateToDate","setFormGroupTemplateState","itemState","setFormGroupTemplateAllocations","clearFormGroupTemplate","setIsNewGroupTemplate","sortEmployeeStatistics","compareMethod","sort","setFormGroupTemplateProperty","propertyName","setLoadStatisticsProperties","groupFilter","regionFilter","initializeStatistics","rootState","emp","f","dayGroup","em","isGroupReplacement","area","isStandIn","weekDayGroupId","weekendGroupId","maxWorkInRow","grp","baseCircleId","free","saturday","sunday","vacation","work","other","currentWorkInRow","standIn","finalizeStatistics","loadStatistics","getAggregate","setLoadStatisticsStartDate","setLoadStatisticsEndDate","alert","isTemplateManual","add","utc","groupTemplateId","comment","moveAllocations","daysToMove","allocationsToRepeat","isRepeated","updateManuel","repeatWeeks","planningWeeks","newAllocation","shiftCircle","saturdays","sundays","wDay","isoWeekday","generateFormGroupTemplate","startOf","isTemplateDynamic","isSaturdayWeekendGroup","days","cDay","indexDate","isHoliday","holidayStore","isSame","employeeDay","Set","circleTitle","adminNote","allocatedHoursPerDay","allocatedTotalHours","circleColor","circleName","created","employeeName","note","replacementName","isSimulation","getEmployeesForDay","compareDayGroupSaturDay","ae","be","as","bs","lookUp","daysFreeInRow","compareWeekDay","ad","bd","compareSaturday","compareSunday","compareStandIn","atWorkWeekSaturday","calc","added","dg","atWorkWeekSunday","atWork","atWorkWeekDays","weekDay","sortedDayGroup","grpResult","circleIds","workLoad","employeeStandIns","se","circleStandIn","getSimpleEmployeesForDay","dayFree","initAllocation","closeGroupTemplateSidebars","showGroupTemplateSelectionSidebar","showGroupTemplateEditSidebar","copyGroupTemplate","newFrom","newTo","newTotalDays","copyAllocations","root","groupTemplateStore","generateGroupTemplate","editGroupTemplate","initGroupTemplate","selectedGroup","atWorkHolidayWeekdays","atWorkHolidayWeekend","createGroupTemplateFromForm","updateGroupTemplateFromForm","prevFromDate","rw","Number","pw","weeks","spanInDays","templatePropertyChanged","selectedDate","vueTmp","buefyTmp","$buefy","dialog","confirm","cancelText","confirmText","onConfirm","onCancel","statisticsApiState","latestUpdateTextFormGroupTemplate","duration","_LatestUpdate","durationText","humanize","_UpdatedByName","selectedAllocations","addSelection","clearSelection","selectAllocation","isReplacement","hasEditRights","selectMoveTarget","rowData","rowDataKey","allocationRowDataKey","keys","awaitingSelection","allocationSelectionClass","isAllocationSelected","moveTargetClass","output","agreementsApiState","agreementApiState","editingAgreement","setAgreementsApiState","setAgreements","setAgreementApiState","setAgreement","agreementById","agreementByYear","agreementUpdate","agreementUpdateAll","cancelEditingAgreement","startEditingAgreement","GPSDataRepository","gpsDataApiState","gpsDataList","gpsDataFilterYear","gpsDataFilterMonth","gpsDataFilterEmployeeNumber","setGPSDataList","setGPSDataFilterYear","setGPSDataFilterMonth","setGPSDataFilterEmployeeNumber","getAllGPSData","groupMembers","availableGroupMembers","isOpen","setChosenAssistant","gm","isSelected","setRejectedAssistant","setIsOpen","setGroupMembers","setAvailableGroupMembers","setFilter","sidebarOpenAsync","markAssistantNumber","specificAssistant","rejectAll","agm","sidebarCancel","markedGroupMembers","updateParentView","searchForEmployee","searchTerm","toLowerCase","includes","elem","confirmationButtonText","confirmed","errorModalHeader","confirmingModel","setErrorModalHeader","header","setConfirmationButtonText","confirmationText","setConfirmed","setConfirmingModel","confrimationText","setConfirmedAndClose","emptyUserDriveData","assistant_Name","subType","timeInMinutes","remark","distance","createdDate","chr","approvedBy","approvedByUser","totalImposed","totalPreliminaryInvestigations","totalPreliminaryInvestigationsDonor","vgProject","vainVisits","onDayOff","report","selectedUserDriveData","types","backgroundColor","setReport","setSelectedUserDriveData","setSelectedType","typeData","typeStringified","setEmployeeId","setEmployeeName","setNewUserDriveData","newUserDriveData","assistant_Number","assistant_Uid","cancelSidebar","deleteItem","loading","showSidebar","sidebarHeaderText","rateRepository","rates","ratesApiState","rateApiState","editingRate","setRatesApiState","setRates","setRateApiState","setRate","cancelEditingRate","startEditingRate","SalaryManualInputRepository","csvModalOpen","discriminator","discriminatorOptions","selectedFile","setCsvOpenModal","setDiscriminator","setSelectedFile","setModalOpen","uploadFile","FormData","append","Vuex","Store","isAdmin","setCurrentUser","userInfo","setViewAs","employeeAndGroup","userLoaded","user","decoded","jwt","decode","access_token","Name","Role","email","Email","GroupId","icalendarKey","ICalendarKey","isSalaryReportOpen","IsSalaryReportOpen","userUnloaded","icalendar","clearViewAs","currentRole","viewAsGroup","allocationMoverStore","entrySidebar","metadata","scheduler","salaryReportStore","reportStore","notificationStore","groupStore","statisticsStore","agreementStore","gpsDataStore","generalStatisticsFilteringSidebar","confirmationModalStore","dtReportStore","salaryRateStore","csvModalStore","oidcStore","vuexOidcCreateStoreModule","dispatchEventsOnWindow","accessTokenExpiring","accessTokenExpired","silentRenewError","userSignedOut","oidcError","payload","automaticSilentRenewError","_s","staticStyle","$event","toggleDropdown","placeholder","_e","_l","selected","stopPropagation","arguments","directives","rawName","expression","class","ref","domProps","_k","keyCode","select","closeDropdown","navigateNext","navigatePrev","composing","filterInput","gindex","eindex","cursorOnItem","navigateClick","mixins","props","multiple","Boolean","default","String","beforeDestroy","cursor","$refs","focus","filteredEmployees","$nextTick","closable","$delete","$emit","$set","currentGroups","groupName","dictionary","current","lookedUpEmployee","processEmployee","relations","grouped","employeeNameSort","showPlaceholder","hasSelection","watch","newValue","count","nativeOn","openSidebar","showBell","pulse","toggle","_t","$slots","close","show","notificationLabel","showNotificationBell","callback","$$v","scopedSlots","_u","fn","proxy","path","signOutOidc","initials","parts","substring","windowHeight","innerHeight","windowWidth","innerWidth","mounted","addEventListener","onResize","generateUrl","showReplacementView","readOnlyForm","onChange","onRequestSplit","onRequestReplacement","onRequestReplacementRemove","onViewReplacement","editing","isOwnEntry","onUpdate","isOwnEntryValidForDeleting","onDelete","latestUpdateText","replacement","toggleEmployeeInfo","_m","employeeInfoOpen","employeeInfoRows","row","startDateComputed","readonly","modelUpdated","endDateComputed","onHoldUntilDateComputed","typeDisabled","avalilableCircles","splitComputed","formatAvailability","showReplacement","dayTypeComputed","daysReplacementTypeComputed","createNew","employeeInfoClosable","closeEmployeeInfo","getSelectorValue","showSelector","selector","isCurrentUser","isReadOnly","availableAllocationTypes","daysType","daysReplacementType","onHoldUntilDate","replacementNumber","filteredResult","canGroupReplace","bookedReplacements","employeeInfoFields","circlesWithoutOverallocations","arg","onClickAway","allowClose","openModal","setModel","delayClose","headerText","cancel","searchInput","search","removeAllSelectedCheckboxes","displayedGroupMembers","markAssistant","dateFormat","markAllFree","this$1","formatDate","formatTime","AppHeader","EntrySidebar","GroupCommentSidebar","AgreementSidebar","GeneralStatisticsFilterSidebar","HolidaySidebar","DtReportSidebar","SalaryRateSidebar","configurationRoutes","children","redirect","VueRouter","routes","meta","isPublic","router","base","linkActiveClass","beforeEach","vuexOidcCreateRouterMiddleware","toFixed","onClick","icon","require","library","faCheck","faCheckCircle","faInfoCircle","faExclamationTriangle","faExclamationCircle","faArrowUp","faAngleRight","faAngleLeft","faAngleDown","faPlus","faBars","faComment","faTimes","faStickyNote","faEye","faEyeSlash","faCaretDown","faCaretUp","faUpload","faEnvelope","faLock","faChevronLeft","faChevronRight","faBell","locale","VueMoment","config","productionTip","VSwatches","FontAwesomeIcon","Icon","Buefy","defaultIconComponent","defaultIconPack","defaultContainerElement","defaultModalScroll","h","App","$mount","webpackContext","webpackContextResolve","width","background","disabled","fontSize","padding","height","dropdownWidth","float","borderColor","toggleIsOpen","selectedName","nullValueText","selectionChanged","displayPropertyName","sourceList","keyPropertyName","localStorageProperty","selectedValue","selectedObject","localStorage","focussed","blurred","Dashboard","CalendarHome","$router","forTeam","asEmployeeParam","formattedDate","filterRegions","filteredNotifications","getStateLabel","_f","filteredReplacements","gotoCalenderReplacement","colorMap","replacementAllocationLabel","replacementAllocation","replacementAllocationAddDays","gotoCalender","employeeFilter","groupAllocation","tomorrow","newDate","filtered","filteredGroups","entryColor","notificationCount","important","entryLabel","circleLabel","nextDayEmployeeName","circlesLookup","entryStart","entryEnd","entryDuration","entryCircle","Model"],"mappings":"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","file":"js/app.86ff50f0.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({\"about\":\"about\"}[chunkId]||chunkId) + \".\" + {\"about\":\"5a5f0b21\",\"chunk-03519b75\":\"2f0cf0eb\",\"chunk-0942952f\":\"88bc22c1\",\"chunk-11a55402\":\"fa484bd3\",\"chunk-143973b6\":\"8dc4d831\",\"chunk-1ed563a6\":\"f5e14b00\",\"chunk-202ed8bb\":\"5260c1a7\",\"chunk-22635d00\":\"a4585b77\",\"chunk-348bbac2\":\"ca80897e\",\"chunk-67614409\":\"4d2980e3\",\"chunk-994a5582\":\"b59889e2\",\"chunk-260c8fa7\":\"5a12dee0\",\"chunk-27363e12\":\"3b6b1600\",\"chunk-2a4e962f\":\"05f93d5b\",\"chunk-2b224dd4\":\"e5dd8adb\",\"chunk-2b6918eb\":\"e83b1599\",\"chunk-2d0abc2e\":\"09de5042\",\"chunk-2d228ea4\":\"a7173f16\",\"chunk-2d237165\":\"a6d0d9e6\",\"chunk-3bec8ba3\":\"e6e9fac1\",\"chunk-3cf5a993\":\"76f5d2d4\",\"chunk-43f9ee9e\":\"9424ccec\",\"chunk-47f2620c\":\"049fedfb\",\"chunk-4a857606\":\"8e18859d\",\"chunk-529a5d18\":\"95ccd605\",\"chunk-581ef988\":\"9556a057\",\"chunk-5efd9efb\":\"1a638442\",\"chunk-6700bbd9\":\"6ec302f3\",\"chunk-670af51a\":\"2415445a\",\"chunk-67da5850\":\"1da6ddbc\",\"chunk-6b3acf3d\":\"68b9f823\",\"chunk-70a697b7\":\"d4509159\",\"chunk-79e15962\":\"489f2128\",\"chunk-7a3f4035\":\"c2145b54\",\"chunk-7c5aefe8\":\"fa5ab11f\",\"chunk-8ce121a0\":\"9f56bf76\",\"chunk-be95eedc\":\"5d43e12d\",\"chunk-ceb8df70\":\"be63f460\",\"chunk-f408b9d4\":\"d5237147\",\"chunk-716b3f73\":\"edcc6317\",\"chunk-732654f6\":\"eebb34df\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-03519b75\":1,\"chunk-0942952f\":1,\"chunk-11a55402\":1,\"chunk-143973b6\":1,\"chunk-1ed563a6\":1,\"chunk-202ed8bb\":1,\"chunk-348bbac2\":1,\"chunk-67614409\":1,\"chunk-994a5582\":1,\"chunk-260c8fa7\":1,\"chunk-27363e12\":1,\"chunk-2a4e962f\":1,\"chunk-2b224dd4\":1,\"chunk-2b6918eb\":1,\"chunk-3bec8ba3\":1,\"chunk-3cf5a993\":1,\"chunk-43f9ee9e\":1,\"chunk-47f2620c\":1,\"chunk-4a857606\":1,\"chunk-529a5d18\":1,\"chunk-581ef988\":1,\"chunk-5efd9efb\":1,\"chunk-6700bbd9\":1,\"chunk-670af51a\":1,\"chunk-67da5850\":1,\"chunk-6b3acf3d\":1,\"chunk-70a697b7\":1,\"chunk-79e15962\":1,\"chunk-7a3f4035\":1,\"chunk-7c5aefe8\":1,\"chunk-8ce121a0\":1,\"chunk-be95eedc\":1,\"chunk-ceb8df70\":1,\"chunk-f408b9d4\":1,\"chunk-716b3f73\":1,\"chunk-732654f6\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({\"about\":\"about\"}[chunkId]||chunkId) + \".\" + {\"about\":\"e3b0c442\",\"chunk-03519b75\":\"36781d42\",\"chunk-0942952f\":\"73fe181c\",\"chunk-11a55402\":\"c23a9198\",\"chunk-143973b6\":\"9a79d9a8\",\"chunk-1ed563a6\":\"164da013\",\"chunk-202ed8bb\":\"1314cf65\",\"chunk-22635d00\":\"e3b0c442\",\"chunk-348bbac2\":\"9eaa1e65\",\"chunk-67614409\":\"969a39a7\",\"chunk-994a5582\":\"ef51b8e5\",\"chunk-260c8fa7\":\"5dcbe3d5\",\"chunk-27363e12\":\"b155ebf3\",\"chunk-2a4e962f\":\"d8b8481f\",\"chunk-2b224dd4\":\"b5bea41b\",\"chunk-2b6918eb\":\"b38c5fa2\",\"chunk-2d0abc2e\":\"e3b0c442\",\"chunk-2d228ea4\":\"e3b0c442\",\"chunk-2d237165\":\"e3b0c442\",\"chunk-3bec8ba3\":\"3ca09a1a\",\"chunk-3cf5a993\":\"7e0201d4\",\"chunk-43f9ee9e\":\"c753cf29\",\"chunk-47f2620c\":\"b9c6b512\",\"chunk-4a857606\":\"6adee4d2\",\"chunk-529a5d18\":\"d8b8481f\",\"chunk-581ef988\":\"e44a68fc\",\"chunk-5efd9efb\":\"c39f106a\",\"chunk-6700bbd9\":\"66fac598\",\"chunk-670af51a\":\"e35570cd\",\"chunk-67da5850\":\"1e5f501f\",\"chunk-6b3acf3d\":\"68272489\",\"chunk-70a697b7\":\"2d9e5d87\",\"chunk-79e15962\":\"7e406b04\",\"chunk-7a3f4035\":\"c99630b8\",\"chunk-7c5aefe8\":\"fe902b62\",\"chunk-8ce121a0\":\"a56fdf6a\",\"chunk-be95eedc\":\"f150c44e\",\"chunk-ceb8df70\":\"6060b6fc\",\"chunk-f408b9d4\":\"345d63cc\",\"chunk-716b3f73\":\"a66dfdc8\",\"chunk-732654f6\":\"85ad9c75\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\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\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import moment, { ISO_8601 } from 'moment';\r\n\r\nconst employees = [];\r\n\r\nconst circles = [];\r\n\r\nconst gpsData = [];\r\n\r\nconst allocations = [];\r\nconst regions = [\r\n { id: null, name: 'Alle regioner' }, \r\n {id: \"syd\", name: \"syd\"}, \r\n {id: \"nord\", name: \"nord\"}, \r\n //{id: \"begge\", name: \"begge\"}\r\n];\r\n\r\nconst allocationTypes = [\r\n { key: 'TIMEOFF', label: 'Afspadsering', shortName: 'Afs', isVisible: true },\r\n { key: 'WORK', label: 'Arbejde', shortName: 'Arb', isVisible: true },\r\n { key: 'WORKINGSATURDAY', label: 'Arbejde lørdag', shortName: 'Arb', isVisible: false },\r\n { key: 'WORKINGSUNDAY', label: 'Arbejde søndag', shortName: 'Arb', isVisible: false },\r\n { key: 'WORKINGHOLIDAY', label: 'Arbejde helligdag', shortName: 'Arb', isVisible: false },\r\n { key: 'OTHER', label: 'Andet', shortName: 'And', isVisible: true },\r\n { key: 'FUNERAL', label: 'Begravelse', shortName: 'Beg', isVisible: true },\r\n { key: 'MATERNETY', label: 'Barsel', title: 'Barsel betalt af viking', shortName: 'Bar', isVisible: true },\r\n { key: 'VACATION', label: 'Ferie', shortName: 'Fer', isVisible: true },\r\n { key: 'ABSENCE', label: 'Fravær', shortName: 'Fra', isVisible: true },\r\n { key: 'OFFDAY', label: 'Fridag', shortName: 'Fri', isVisible: true },\r\n { key: 'OFFDAYREPLACEMENT', label: 'Ledig', shortName: 'Led', isVisible: false },\r\n { key: 'BIRTHDAY', label: 'Fødselsdage (rund fødselsdag)', shortName: 'Fød', isVisible: true },\r\n { key: 'WORKHOLEDAY', label: 'Heldagsarbejde (husk bemærking eg. livestock)', shortName: 'Hel', isVisible: true },\r\n { key: 'HOLIDAY', label: 'Helligdag', shortName: 'Hel', isVisible: true },\r\n { key: 'ANNIVERSARY', label: 'Jubilæum mv.', shortName: 'Jub', isVisible: true },\r\n { key: 'MATERNETYNONPAID', label: 'Orlov', title: 'Orlov ikke betalt af viking', shortName: 'Orl', isVisible: true},\r\n { key: 'VACATIONSICKDAY', label: 'Sygdom under ferie', shortName: 'Syg Fer', isVisible: true },\r\n { key: 'SICKDAY', label: 'Sygedag', shortName: 'Syg', isVisible: true },\r\n { key: 'SICKDAYCHILD', label: 'Sygedag - Barnets første', shortName: 'Syg', isVisible: true },\r\n { key: 'SICKDAYWORK', label: 'Sygedag - Arbejdsrelateret', shortName: 'Syg', isVisible: true },\r\n { key: 'SICKDAYUNAVAILABLE', label: 'Sygedag - Ikke tilgængelig', shortName: 'Syg', isVisible: true },\r\n { key: 'SICKREPLACEMENT', label: 'Sygdomsafløsning', shortName: 'SAL', isVisible: true}\r\n];\r\n\r\nconst forecasts = [];\r\n\r\nconst milestones = [];\r\n\r\nconst overAllocations = []\r\n\r\nlet groups = [];\r\n\r\nexport { circles, employees, allocations, allocationTypes, forecasts, milestones, overAllocations, groups, regions };","// extracted by mini-css-extract-plugin\nmodule.exports = {\"userSelectColors-black\":\"#141414\",\"userSelectColors-charcoal\":\"#3c3c3c\",\"userSelectColors-blue\":\"#0099d9\",\"userSelectColors-red\":\"#ff5d5d\",\"userSelectColors-timeoff\":\"#5c5c5c\",\"userSelectColors-orange\":\"#ffc684\",\"userSelectColors-gray\":\"#c9c8c8\",\"userSelectColors-coolgray\":\"#4e4f50\",\"userSelectColors-ivory\":\"#e2ded0\",\"userSelectColors-bluegray\":\"#647c90\",\"userSelectColors-green\":\"#42b983\",\"userSelectColors-yellow\":\"#f6ff00\"};","import axios from 'axios';\r\nimport constants from '../constants';\r\n// import authService from '../auth/AuthService'; // acquire token from getters['oidcStore/oidcAccessToken']\r\nimport moment from 'moment';\r\nimport { employees } from './devdata';\r\nimport AppUsersClient from \"../clients/AppUsersClient\";\r\n\r\nconst resource = '/gpsdata';\r\n\r\nexport default {\r\n getGPSDataList(dto) {\r\n return new Promise((resolve, reject) => {\r\n AppUsersClient.get(`${resource}/GetGPSDataBeforeGivenClock/${dto.assistantNumber}?fromdate=${moment(dto.fromDate).format('YYYY-MM-DD')}&todate=${moment(dto.toDate).format('YYYY-MM-DD')}`)\r\n .then(response => {\r\n resolve(response.data)\r\n })\r\n .catch(error => {\r\n reject(error)\r\n });\r\n });\r\n },\r\n updateGPSData(gpsData){\r\n return new Promise((resolve, reject) => {\r\n AppUsersClient.put(`${resource}/Update`, gpsData)\r\n .then(response => {\r\n resolve(response.data)\r\n })\r\n .catch(error => {\r\n reject(error)\r\n });\r\n });\r\n }\r\n}","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Notification.vue?vue&type=style&index=0&lang=scss&\"","import axios from 'axios';\r\nimport constants from '@/constants';\r\n// import authService from '../auth/AuthService'; // acquire token from getters['oidcStore/oidcAccessToken']\r\nimport moment from 'moment';\r\nimport { milestones } from './devdata';\r\n\r\nexport default {\r\n getForPeriod(startDate, endDate, teamFilter) {\r\n return new Promise((resolve, reject) => { resolve(milestones); });\r\n // return new Promise(function(resolve, reject) {\r\n // authService.acquireToken(['api://6b77f60e-8f2e-4d88-8f34-fb827da6f495/planning.read'])\r\n // .then(accessToken => {\r\n // const headers = { 'Authorization': `Bearer ${accessToken}` };\r\n // const options = {\r\n // headers\r\n // };\r\n // axios.get(`${constants.planningApiBasePath}/milestones/?fromdate=${moment(startDate).format('YYYY-MM-DD')}&todate=${moment(endDate).format('YYYY-MM-DD')}&forteam=${(teamFilter ? teamFilter : '')}`, options)\r\n // .then(response => {\r\n // resolve(response);\r\n // })\r\n // .catch(error => {\r\n // reject(error);\r\n // });\r\n // }).catch(error => {\r\n // reject(error);\r\n // });\r\n // });\r\n },\r\n create(\r\n name,\r\n milestoneType,\r\n projectId,\r\n date,\r\n percentageCompleted,) {\r\n return new Promise((resolve, reject) => { resolve(); });\r\n // return new Promise(function(resolve, reject) {\r\n // authService.acquireToken(['api://6b77f60e-8f2e-4d88-8f34-fb827da6f495/planning.manage'])\r\n // .then(accessToken => {\r\n // const headers = { 'Authorization': `Bearer ${accessToken}` };\r\n // const options = {\r\n // headers\r\n // };\r\n // axios\r\n // .post(`${constants.planningApiBasePath}/milestones`, {\r\n // name: name,\r\n // projectId: projectId,\r\n // milestoneType: milestoneType,\r\n // date: date,\r\n // percentageCompleted: percentageCompleted,\r\n // }, options)\r\n // .then(response => {\r\n // resolve(response);\r\n // })\r\n // .catch(error => {\r\n // reject(error);\r\n // });\r\n // }).catch(error => {\r\n // reject(error);\r\n // });\r\n // });\r\n },\r\n update(milestone) {\r\n return new Promise((resolve, reject) => { resolve(milestone); });\r\n // return new Promise(function(resolve, reject) {\r\n // authService.acquireToken(['api://6b77f60e-8f2e-4d88-8f34-fb827da6f495/planning.manage'])\r\n // .then(accessToken => {\r\n // const headers = { 'Authorization': `Bearer ${accessToken}` };\r\n // const options = {\r\n // headers\r\n // };\r\n // axios\r\n // .put(`${constants.planningApiBasePath}/milestones`, milestone, options)\r\n // .then(response => {\r\n // resolve(response);\r\n // })\r\n // .catch(error => {\r\n // reject(error);\r\n // });\r\n // }).catch(error => {\r\n // reject(error);\r\n // });\r\n // });\r\n },\r\n delete(milestoneId, updateTag) {\r\n return new Promise((resolve, reject) => { resolve([]); });\r\n // return new Promise(function(resolve, reject) {\r\n // authService.acquireToken(['api://6b77f60e-8f2e-4d88-8f34-fb827da6f495/planning.manage'])\r\n // .then(accessToken => {\r\n // const headers = { 'Authorization': `Bearer ${accessToken}` };\r\n // const options = {\r\n // headers\r\n // };\r\n // axios\r\n // .delete(`${constants.planningApiBasePath}/milestones/${milestoneId}?updateTag=${updateTag}`, options)\r\n // .then(response => {\r\n // resolve(response);\r\n // })\r\n // .catch(error => {\r\n // reject(error);\r\n // });\r\n // }).catch(error => {\r\n // reject(error);\r\n // });\r\n // });\r\n },\r\n};\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EntryForm.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"calendar-home\"},[_c('b-loading',{attrs:{\"is-full-page\":false,\"active\":_vm.isLoading}}),_c('div',{staticClass:\"c-tabs\"},[_c('router-link',{staticClass:\"c-tab\",attrs:{\"to\":\"/calendar/group-overview\"}},[_vm._v(\"Gruppe oversigt\")]),_c('router-link',{staticClass:\"c-tab\",attrs:{\"to\":\"/calendar/my-calendar\"}},[_vm._v(\"Min kalender\")])],1),_c('div',{staticClass:\"admin-panel\"},[_c('employee-selector',{attrs:{\"placeholder\":\"Vis som...\",\"currentUser\":_vm.currentUser,\"showAll\":true},on:{\"selection-changed\":_vm.viewAs}})],1),_c('div',[_c('router-view',{on:{\"onUpdated\":_vm.onUpdated,\"onSplit\":_vm.onSplit,\"loadMore\":_vm.loadMore}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=02e07295&\"\nimport script from \"./Home.vue?vue&type=script&lang=js&\"\nexport * from \"./Home.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Home.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import AppUsersClient from \"../clients/AppUsersClient\";\r\nconst resource = '/appusers';\r\n\r\nexport default {\r\n getAll() {\r\n return AppUsersClient.get(`${resource}`);\r\n },\r\n getOne(id) {\r\n return AppUsersClient.get(`${resource}/${id}`);\r\n },\r\n registerAppUser(userDto) {\r\n return AppUsersClient.post(`${resource}`, userDto);\r\n },\r\n updateAppUser(userDto) {\r\n return AppUsersClient.put(`${resource}`, userDto);\r\n },\r\n setAppUserPassword(id, form) {\r\n return AppUsersClient.post(`${resource}/${id}/password`, form);\r\n },\r\n deleteUser(id) {\r\n return AppUsersClient.delete(`${resource}/${id}`);\r\n }\r\n}\r\n","import AppUsersClient from \"../clients/AppUsersClient\";\r\nimport moment from 'moment';\r\nconst resource = '/groupcomment';\r\n\r\nexport default {\r\n getOne(id) {\r\n return AppUsersClient.get(`${resource}/${id}`);\r\n },\r\n get(fromDate, toDate, forGroup) {\r\n return AppUsersClient.get(`${resource}`, { \r\n params: { \r\n fromDate: moment(fromDate).format('YYYY-MM-DD'),\r\n toDate: moment(toDate).format('YYYY-MM-DD'),\r\n forGroup: forGroup ? forGroup : ''\r\n }\r\n });\r\n },\r\n getForDayAndGroup(forDate, forGroup) {\r\n return AppUsersClient.get(`${resource}/${moment(forDate).format('YYYY-MM-DD')}/${forGroup ? forGroup : ''}`);\r\n },\r\n createOrUpdate(groupCommentForm) {\r\n return AppUsersClient.post(`${resource}`, groupCommentForm);\r\n },\r\n getGroupCommentsDashboard(fromDate, toDate) {\r\n return AppUsersClient.get(`${resource}/getDashboard/`, { \r\n params: { \r\n fromDate: moment(fromDate).format('YYYY-MM-DD'),\r\n toDate: moment(toDate).format('YYYY-MM-DD')\r\n }\r\n });\r\n },\r\n};\r\n","import moment from 'moment';\r\nimport AppUsersClient from \"../clients/AppUsersClient\";\r\n\r\nconst resource = '/notification';\r\n\r\nexport default {\r\n getForPeriod(startDate, endDate, forRegion) {\r\n return new Promise(function(resolve, reject) { \r\n AppUsersClient.get(`${resource}/?fromdate=${moment(startDate).format('YYYY-MM-DD')}&todate=${moment(endDate).format('YYYY-MM-DD')}&forRegion=${(forRegion ? forRegion : '')}`)\r\n .then(response => {\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n create(dto) { // Takes an allocation\r\n return new Promise(function(resolve, reject) { \r\n AppUsersClient.post(`${resource}`, dto)\r\n .then(response => {\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n update(dto) {\r\n return new Promise(function(resolve, reject) {\r\n AppUsersClient.put(`${resource}`, dto)\r\n .then(response => {\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n delete(notificationId, updateTag) { \r\n return new Promise(function(resolve, reject) { \r\n AppUsersClient.delete(`${resource}/${notificationId}/${updateTag}`)\r\n .then(response => {\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n getNotificationFromAllocation(id) { \r\n return new Promise(function(resolve, reject) { \r\n AppUsersClient.get(`${resource}/getNotificationFromAllocation/${id}`)\r\n .then(response => {\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n};\r\n","// import axios from 'axios';\r\n// import constants from '../constants';\r\n// import authService from '../auth/AuthService';\r\nimport moment from \"moment\";\r\nimport AppUsersClient from \"../clients/AppUsersClient\";\r\n\r\nconst resource = \"/report\";\r\n\r\nexport default {\r\n // Get's data for a given period and group. Group is mandatory. Data is grouped by type and user\r\n getReportForPeriod(startDate, endDate, forGroup) {\r\n return new Promise(function(resolve, reject) {\r\n AppUsersClient.get(\r\n `${resource}/getReportForPeriod/?fromdate=${moment(startDate).format(\r\n \"YYYY-MM-DD\"\r\n )}&todate=${moment(endDate).format(\"YYYY-MM-DD\")}&forGroup=${\r\n forGroup ? forGroup : \"\"\r\n }`\r\n )\r\n .then((response) => {\r\n resolve(response);\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n // Get's data for a given period and region. Region is mandatory. Data is grouped by type\r\n getReplacementReportForPeriod(startDate, endDate, forRegion) {\r\n return new Promise(function(resolve, reject) {\r\n AppUsersClient.get(\r\n `${resource}/getReplacementReportForPeriod/?fromdate=${moment(\r\n startDate\r\n ).format(\"YYYY-MM-DD\")}&todate=${moment(endDate).format(\r\n \"YYYY-MM-DD\"\r\n )}&forRegion=${forRegion ? forRegion : \"\"}`\r\n )\r\n .then((response) => {\r\n resolve(response);\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n // Get's data for a given period and region. Region is mandatory. Data is grouped by type\r\n getGeneralReportForPeriod(startDate, endDate, forGroup, forRegion) {\r\n return new Promise(function(resolve, reject) {\r\n AppUsersClient.get(\r\n `${resource}/getGeneralReportForPeriod/?fromdate=${moment(\r\n startDate\r\n ).format(\"YYYY-MM-DD\")}&todate=${moment(endDate).format(\r\n \"YYYY-MM-DD\"\r\n )}&forGroup=${forGroup ? forGroup : \"\"}&forRegion=${\r\n forRegion ? forRegion : \"\"\r\n }`\r\n )\r\n .then((response) => {\r\n resolve(response);\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n // Get's monthly data for a given period and group\\user. Group\\User is mandatory. Data is grouped by month\r\n getAbsenceStatisticsForPeriod(startDate, endDate, forGroup, forUser) {\r\n return new Promise(function(resolve, reject) {\r\n AppUsersClient.get(\r\n `${resource}/getAbsenceStatisticsForPeriod/?fromdate=${moment(\r\n startDate\r\n ).format(\"YYYY-MM-DD\")}&todate=${moment(endDate).format(\r\n \"YYYY-MM-DD\"\r\n )}&forGroup=${forGroup ? forGroup : \"\"}&forUser=${\r\n forUser ? forUser : \"\"\r\n }`\r\n )\r\n .then((response) => {\r\n resolve(response);\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n // Get's monthly data for a given period and group\\user. Group\\User is mandatory. Data is grouped by month\r\n getDriveReportForPeriod(startDate, endDate, forGroup) {\r\n return new Promise(function(resolve, reject) {\r\n AppUsersClient.get(\r\n `${resource}/getDriveReportForPeriod/?fromdate=${moment(\r\n startDate\r\n ).format(\"YYYY-MM-DD\")}&todate=${moment(endDate).format(\r\n \"YYYY-MM-DD\"\r\n )}&forGroup=${forGroup ? forGroup : \"\"}`\r\n )\r\n .then((response) => {\r\n resolve(response);\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n // Get's monthly data for a given period and group\\user. Group\\User is mandatory. Data is grouped by month\r\n getTimeOffForPeriod(startDate, endDate, forGroup) {\r\n return new Promise(function(resolve, reject) {\r\n AppUsersClient.get(\r\n `${resource}/getTimeOffForPeriod/?fromdate=${moment(startDate).format(\r\n \"YYYY-MM-DD\"\r\n )}&todate=${moment(endDate).format(\"YYYY-MM-DD\")}&forGroup=${\r\n forGroup ? forGroup : \"\"\r\n }`\r\n )\r\n .then((response) => {\r\n resolve(response);\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n // Get's monthly report for a given year and user. User is mandatory. Data is grouped by day\r\n getMonthReport(year, month, forUser) {\r\n return new Promise(function(resolve, reject) {\r\n AppUsersClient.get(\r\n `${resource}/getMonthReport/?year=${year}&month=${month}&forUser=${\r\n forUser ? forUser : \"\"\r\n }`\r\n )\r\n .then((response) => {\r\n resolve(response);\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n approveAllMonthReport(year, month, forUser) {\r\n return new Promise(function(resolve, reject) {\r\n AppUsersClient.post(`${resource}/approveAllMonthReport`, {\r\n year: year,\r\n month: month,\r\n forUser: forUser,\r\n })\r\n .then((response) => {\r\n resolve(response);\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n approveMonthReport(date, forUser) {\r\n return new Promise(function(resolve, reject) {\r\n AppUsersClient.post(`${resource}/approveMonthReport`, {\r\n date: moment(date).format(\"YYYY-MM-DD\"),\r\n forUser: forUser,\r\n })\r\n .then((response) => {\r\n resolve(response);\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n // Get's monthly report for a given year and group. Group is mandatory. Data is grouped by day\r\n getMonthGroupReport(year, month, forGroup, forRegion) {\r\n return new Promise(function(resolve, reject) {\r\n AppUsersClient.get(\r\n `${resource}/getMonthGroupReport/?year=${year}&month=${month}&forGroup=${\r\n forGroup ? forGroup : \"\"\r\n }&forRegion=${forRegion ? forRegion : \"\"}`\r\n )\r\n .then((response) => {\r\n resolve(response);\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n getYearlyReport(year, forUser) {\r\n return new Promise(function(resolve, reject) {\r\n AppUsersClient.get(\r\n `${resource}/getYearlyReport/?year=${year}&forUser=${\r\n forUser ? forUser : \"\"\r\n }`\r\n )\r\n .then((response) => {\r\n resolve(response);\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n getReportNotification(employeeId) {\r\n let requestUrl = employeeId\r\n ? `${resource}/getReportNotification?employeeId=${employeeId}`\r\n : `${resource}/getReportNotification`;\r\n\r\n return new Promise(function(resolve, reject) {\r\n AppUsersClient.get(requestUrl)\r\n .then((response) => {\r\n resolve(response);\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n getDTReport(employeeId, year, month) {\r\n let requestUrl = `${resource}/getDtReport?assistantNumber=${employeeId}&year=${year}&month=${month}`;\r\n return new Promise(function(resolve, reject) {\r\n AppUsersClient.get(requestUrl)\r\n .then((response) => {\r\n console.log(response.data);\r\n resolve(response.data);\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n updateDTReport(data) {\r\n let requestUrl = `${resource}/updateDtReport`;\r\n return new Promise(function(resolve, reject) {\r\n AppUsersClient.put(requestUrl, data)\r\n .then((response) => {\r\n resolve(response.data);\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n deleteDTReport(id){\r\n let requestUrl = `${resource}/deleteDtReport/${id}`;\r\n return new Promise(function(resolve, reject) {\r\n AppUsersClient.delete(requestUrl)\r\n .then((response) => {\r\n resolve(response.data);\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n getSalaryReport(employeeId, fromDate, toDate, compareDate, userDefined) {\r\n let requestUrl = `${resource}/getSalaryReport?assistantNumber=${employeeId}&fromDate=${fromDate.toJSON()}&toDate=${toDate.toJSON()}&compareDate=${compareDate}&userDefined=${userDefined}`;\r\n\r\n return new Promise( function ( resolve, reject ) {\r\n AppUsersClient.get( requestUrl )\r\n .then( ( response ) => {\r\n resolve( response.data );\r\n } )\r\n .catch( ( error ) => {\r\n reject( error );\r\n } );\r\n } );\r\n },\r\n getSalaryDayReport(employeeId, fromDate) {\r\n let requestUrl = `${resource}/getSalaryDayReport?assistantNumber=${employeeId}&fromDate=${fromDate.toJSON()}`;\r\n\r\n return new Promise(function(resolve, reject) {\r\n AppUsersClient.get(requestUrl)\r\n .then((response) => {\r\n resolve(response.data);\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n getSalaryHerdDayReport(employeeId, herdNumber, fromDate) {\r\n let requestUrl = `${resource}/getSalaryHerdDayReport?assistantNumber=${employeeId}&herdNumber=${herdNumber}&fromDate=${fromDate.toJSON()}`;\r\n\r\n return new Promise(function(resolve, reject) {\r\n AppUsersClient.get(requestUrl)\r\n .then((response) => {\r\n resolve(response.data);\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n processReportSalaryEmployee(data) {\r\n let requestUrl = `${resource}/processReportSalaryEmployee`;\r\n return new Promise(function(resolve, reject) {\r\n AppUsersClient.put(requestUrl, data)\r\n .then((response) => {\r\n resolve(response.data);\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n lockReportSalaryEmployee(data) {\r\n let requestUrl = `${resource}/lockReportSalaryEmployee`;\r\n return new Promise(function(resolve, reject) {\r\n AppUsersClient.put(requestUrl, data)\r\n .then((response) => {\r\n resolve(response.data);\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n unlockReportSalaryEmployee(data) {\r\n let requestUrl = `${resource}/unlockReportSalaryEmployee`;\r\n return new Promise(function(resolve, reject) {\r\n AppUsersClient.put(requestUrl, data)\r\n .then((response) => {\r\n resolve(response.data);\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n updateReportSalaryEmployee(data) {\r\n let requestUrl = `${resource}/updateReportSalaryEmployee`;\r\n return new Promise(function(resolve, reject) {\r\n AppUsersClient.put(requestUrl, data)\r\n .then((response) => {\r\n resolve(response.data);\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n exportSalaryReportCsv(dto) {\r\n let requestUrl = `${resource}/exportSalaryReportCsv/?year=${dto.date.getFullYear()}`;\r\n return new Promise(function(resolve, reject) {\r\n AppUsersClient.get(requestUrl)\r\n .then((response) => {\r\n resolve(response.data);\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n }\r\n};\r\n","// import axios from 'axios';\r\n// import constants from '../constants';\r\n// import authService from '../auth/AuthService';\r\nimport moment from 'moment';\r\nimport AppUsersClient from \"../clients/AppUsersClient\";\r\n\r\nconst resource = '/holiday';\r\n\r\n\r\nexport default {\r\n // Get's data for a given period and group. Group is mandatory. Data is grouped by type and user\r\n getAll() {\r\n return new Promise(function(resolve, reject) { \r\n AppUsersClient.get(`${resource}`)\r\n .then(response => {\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n }, \r\n update(holiday) {\r\n return new Promise(function(resolve, reject) { \r\n AppUsersClient.put(`${resource}`, holiday)\r\n .then(response => {\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n } \r\n };","// import axios from 'axios';\r\n// import constants from '../constants';\r\n// import authService from '../auth/AuthService';\r\nimport moment from 'moment';\r\nimport AppUsersClient from \"../clients/AppUsersClient\";\r\n\r\nconst resource = '/grouptemplate';\r\n\r\nexport default {\r\n getAllForGroup(forGroup) {\r\n return new Promise(function(resolve, reject) { \r\n AppUsersClient.get(`${resource}/getAllForGroup/?forGroup=${(forGroup ? forGroup : '')}`)\r\n .then(response => {\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n }, \r\n create(groupTemplate) {\r\n return new Promise(function(resolve, reject) { \r\n AppUsersClient\r\n .post(`${resource}`, groupTemplate)\r\n .then(response => {\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n update(groupTemplate) {\r\n return new Promise(function(resolve, reject) { \r\n AppUsersClient\r\n .put(`${resource}`, groupTemplate)\r\n .then(response => {\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n apply(groupTemplate) {\r\n return new Promise(function(resolve, reject) { \r\n AppUsersClient\r\n .post(`${resource}/apply`, groupTemplate)\r\n .then(response => {\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n canApply(groupTemplate) {\r\n return new Promise(function(resolve, reject) { \r\n AppUsersClient\r\n .post(`${resource}/canApply`, groupTemplate)\r\n .then(response => {\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n loadGroupTemplateAllocation(dto) {\r\n return new Promise(function(resolve, reject) { \r\n AppUsersClient.get(`${resource}/loadGroupTemplateAllocation/?id=${dto.id}`)\r\n .then(response => {\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n createGroupTemplateAllocation(dto) {\r\n return new Promise(function(resolve, reject) { \r\n AppUsersClient.post(`${resource}/createGroupTemplateAllocation`, dto)\r\n .then(response => {\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n updateGroupTemplateAllocation(dto) {\r\n return new Promise(function(resolve, reject) { \r\n AppUsersClient.put(`${resource}/updateGroupTemplateAllocation`, dto)\r\n .then(response => {\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n deleteGroupTemplateAllocation(dto) {\r\n return new Promise(function(resolve, reject) { \r\n AppUsersClient.post(`${resource}/deleteGroupTemplateAllocation`, dto)\r\n .then(response => {\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n rollbackGroupTemplate(groupTemplate) {\r\n return new Promise(function(resolve, reject) { \r\n AppUsersClient\r\n .post(`${resource}/reverse`, groupTemplate)\r\n .then(response => {\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n};","import AppUsersClient from \"../clients/AppUsersClient\";\r\nimport moment from 'moment';\r\n\r\nconst resource = '/SalaryManualInput';\r\n\r\nexport default {\r\n uploadCsv ( file ) {\r\n console.log( file.get( 'discriminator' ) );\r\n return new Promise( function ( resolve, reject ) {\r\n AppUsersClient.post( `${resource}/upload`, file )\r\n .then( response => {\r\n resolve( response );\r\n } )\r\n .catch( error => {\r\n console.log( error );\r\n reject( error );\r\n } );\r\n } );\r\n },\r\n};\r\n","import moment from 'moment';\r\nimport { groups } from './devdata';\r\nimport AppUsersClient from \"../clients/AppUsersClient\";\r\n\r\nconst resource = '/employeeagreement';\r\n\r\nexport default {\r\n getById: (employeeId, year) => AppUsersClient.get(`${resource}/${employeeId}/${year}`),\r\n getAllForYear: (year) => AppUsersClient.get(`${resource}/getAllForYear/${year}`),\r\n update(agreement) {\r\n return new Promise(function(resolve, reject) { \r\n AppUsersClient\r\n .put(`${resource}`, agreement)\r\n .then(response => {\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n updateAll(agreements) {\r\n return new Promise(function(resolve, reject) { \r\n AppUsersClient\r\n .put(`${resource}/updateAll`, agreements)\r\n .then(response => {\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n }\r\n};\r\n","import moment from 'moment';\r\nimport { groups } from './devdata';\r\nimport AppUsersClient from \"../clients/AppUsersClient\";\r\n\r\nconst resource = '/salaryrate';\r\n\r\nexport default {\r\n getAllSalaryRatesForYear: (year) => AppUsersClient.get(`${resource}/getAllSalaryRatesForYear/${year}`),\r\n updateSalaryRate(dto) {\r\n return new Promise(function(resolve, reject) { \r\n AppUsersClient\r\n .put(`${resource}/updateSalaryRate`, dto)\r\n .then(response => {\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n createSalaryRate(dto) {\r\n return new Promise(function(resolve, reject) { \r\n AppUsersClient\r\n .post(`${resource}/createSalaryRate`, dto)\r\n .then(response => {\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n }\r\n};\r\n","import AppUsersRepository from './AppUsersRepository';\r\nimport allocations from './allocations';\r\nimport circlesRepository from './circlesRepository';\r\nimport employees from './employees';\r\nimport forecasts from './forecasts';\r\nimport groups from './groups';\r\nimport milestones from './milestones';\r\nimport overallocations from './overallocations';\r\nimport GroupCommentRepository from './GroupCommentRepository';\r\nimport notificationsRepository from './notificationsRepository';\r\nimport reportRepository from './reportRepository';\r\nimport holidayRepository from './holidayRepository';\r\nimport groupTemplateRepository from './groupTemplateRepository';\r\nimport salaryManualInputRepository from './salaryManualInputRepository';\r\nimport agreementRepository from './agreementRepository';\r\nimport gpsDataRepository from './gpsDataRepository';\r\nimport salaryRatesRepository from './salaryRatesRepository';\r\n\r\nconst repositories = {\r\n \"appUsers\": AppUsersRepository,\r\n \"groupComments\": GroupCommentRepository,\r\n allocations,\r\n \"circles\": circlesRepository,\r\n employees,\r\n forecasts,\r\n groups,\r\n milestones,\r\n overallocations,\r\n 'notifications': notificationsRepository,\r\n 'reports': reportRepository,\r\n holidayRepository,\r\n groupTemplateRepository,\r\n agreementRepository,\r\n gpsData: gpsDataRepository,\r\n salaryRatesRepository: salaryRatesRepository,\r\n salaryManualInput: salaryManualInputRepository\r\n};\r\n\r\nexport default {\r\n get: name => repositories[ name ]\r\n};\r\n","export const apiConfig = JSON.parse(process.env.VUE_APP_API_CONFIG);","import axios from 'axios';\r\nimport store from '../store/';\r\nimport { apiConfig } from '../config/apiConfig';\r\n\r\nconst baseDomain = `${apiConfig.url}`;\r\nconst baseURL = `${baseDomain}`;\r\n\r\nconst axiosClient = axios.create({\r\n baseURL,\r\n headers: {\r\n 'crossorigin': 'true',\r\n 'Content-Type': 'application/json'\r\n }\r\n});\r\n\r\naxiosClient.interceptors.request.use(req => {\r\n req.headers.authorization = `Bearer ${store?.getters['oidcStore/oidcAccessToken']}`;\r\n return req;\r\n});\r\n\r\nexport default axiosClient;\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"userSelectColors-black\":\"#141414\",\"userSelectColors-charcoal\":\"#3c3c3c\",\"userSelectColors-blue\":\"#0099d9\",\"userSelectColors-red\":\"#ff5d5d\",\"userSelectColors-timeoff\":\"#5c5c5c\",\"userSelectColors-orange\":\"#ffc684\",\"userSelectColors-gray\":\"#c9c8c8\",\"userSelectColors-coolgray\":\"#4e4f50\",\"userSelectColors-ivory\":\"#e2ded0\",\"userSelectColors-bluegray\":\"#647c90\",\"userSelectColors-green\":\"#42b983\",\"userSelectColors-yellow\":\"#f6ff00\"};","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GeneralStatisticsFilterSidebar.vue?vue&type=style&index=0&lang=scss&\"","export default {\r\n INIT: 0,\r\n LOADING: 1,\r\n ERROR: 2,\r\n LOADED: 3\r\n};\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"userSelectColors-black\":\"#141414\",\"userSelectColors-charcoal\":\"#3c3c3c\",\"userSelectColors-blue\":\"#0099d9\",\"userSelectColors-red\":\"#ff5d5d\",\"userSelectColors-timeoff\":\"#5c5c5c\",\"userSelectColors-orange\":\"#ffc684\",\"userSelectColors-gray\":\"#c9c8c8\",\"userSelectColors-coolgray\":\"#4e4f50\",\"userSelectColors-ivory\":\"#e2ded0\",\"userSelectColors-bluegray\":\"#647c90\",\"userSelectColors-green\":\"#42b983\",\"userSelectColors-yellow\":\"#f6ff00\"};","export const oidcSettings = JSON.parse(process.env.VUE_APP_OIDC_CONFIG);","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CalendarSmall.vue?vue&type=style&index=0&id=2684443f&lang=scss&scoped=true&\"","// extracted by mini-css-extract-plugin\nmodule.exports = {\"userSelectColors-black\":\"#141414\",\"userSelectColors-charcoal\":\"#3c3c3c\",\"userSelectColors-blue\":\"#0099d9\",\"userSelectColors-red\":\"#ff5d5d\",\"userSelectColors-timeoff\":\"#5c5c5c\",\"userSelectColors-orange\":\"#ffc684\",\"userSelectColors-gray\":\"#c9c8c8\",\"userSelectColors-coolgray\":\"#4e4f50\",\"userSelectColors-ivory\":\"#e2ded0\",\"userSelectColors-bluegray\":\"#647c90\",\"userSelectColors-green\":\"#42b983\",\"userSelectColors-yellow\":\"#f6ff00\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"userSelectColors-black\":\"#141414\",\"userSelectColors-charcoal\":\"#3c3c3c\",\"userSelectColors-blue\":\"#0099d9\",\"userSelectColors-red\":\"#ff5d5d\",\"userSelectColors-timeoff\":\"#5c5c5c\",\"userSelectColors-orange\":\"#ffc684\",\"userSelectColors-gray\":\"#c9c8c8\",\"userSelectColors-coolgray\":\"#4e4f50\",\"userSelectColors-ivory\":\"#e2ded0\",\"userSelectColors-bluegray\":\"#647c90\",\"userSelectColors-green\":\"#42b983\",\"userSelectColors-yellow\":\"#f6ff00\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"userSelectColors-black\":\"#141414\",\"userSelectColors-charcoal\":\"#3c3c3c\",\"userSelectColors-blue\":\"#0099d9\",\"userSelectColors-red\":\"#ff5d5d\",\"userSelectColors-timeoff\":\"#5c5c5c\",\"userSelectColors-orange\":\"#ffc684\",\"userSelectColors-gray\":\"#c9c8c8\",\"userSelectColors-coolgray\":\"#4e4f50\",\"userSelectColors-ivory\":\"#e2ded0\",\"userSelectColors-bluegray\":\"#647c90\",\"userSelectColors-green\":\"#42b983\",\"userSelectColors-yellow\":\"#f6ff00\"};","import axios from 'axios';\r\nimport constants from '../constants';\r\n// import authService from '../auth/AuthService'; // acquire token from getters['oidcStore/oidcAccessToken']\r\nimport moment from 'moment';\r\nimport { employees } from './devdata';\r\nimport AppUsersClient from \"../clients/AppUsersClient\";\r\n\r\nconst resource = '/employee';\r\n\r\nexport default {\r\n getActive () {\r\n return new Promise( function ( resolve, reject ) {\r\n AppUsersClient.get( `${resource}/employees` )\r\n .then( response => {\r\n resolve( response.data );\r\n } )\r\n .catch( error => {\r\n reject( error );\r\n } );\r\n } );\r\n },\r\n employeesForMyCalendar () {\r\n return new Promise( function ( resolve, reject ) {\r\n AppUsersClient.get( `${resource}/employeesForMyCalendar` )\r\n .then( response => {\r\n resolve( response.data );\r\n } )\r\n .catch( error => {\r\n reject( error );\r\n } );\r\n } );\r\n },\r\n getActiveInPeriod ( startDate, endDate ) {\r\n return new Promise( function ( resolve, reject ) {\r\n AppUsersClient.get( `${resource}/employeesByGivenPeriod?fromDate=${moment( startDate ).format( 'YYYY-MM-DD' )}&toDate=${moment( endDate ).format( 'YYYY-MM-DD' )}` )\r\n .then( response => {\r\n resolve( response.data );\r\n } )\r\n .catch( error => {\r\n reject( error );\r\n } );\r\n } );\r\n },\r\n getReplacements ( region ) {\r\n return new Promise( function ( resolve, reject ) {\r\n AppUsersClient.get( `${resource}/replacements/?region=${( region ? region : '' )}` )\r\n .then( response => {\r\n resolve( response );\r\n } )\r\n .catch( error => {\r\n reject( error );\r\n } );\r\n } );\r\n },\r\n getReplacementsForDate ( date, region ) {\r\n return new Promise( function ( resolve, reject ) {\r\n AppUsersClient.get( `${resource}/replacementsForDate/?date=${moment( date ).format( 'YYYY-MM-DD' )}®ion=${( region ? region : '' )}` )\r\n .then( response => {\r\n resolve( response );\r\n } )\r\n .catch( error => {\r\n reject( error );\r\n } );\r\n } );\r\n },\r\n getAllEmployees () {\r\n return new Promise( function ( resolve, reject ) {\r\n AppUsersClient.get( `${resource}/getAllEmployees` )\r\n .then( response => {\r\n resolve( response );\r\n } )\r\n .catch( error => {\r\n reject( error );\r\n } );\r\n } );\r\n },\r\n getEmployees () {\r\n return new Promise( function ( resolve, reject ) {\r\n AppUsersClient.get( `${resource}/getEmployees` )\r\n .then( response => {\r\n resolve( response.data );\r\n } )\r\n .catch( error => {\r\n reject( error );\r\n } );\r\n } );\r\n },\r\n getAvailableEmployees: ( forGroup, forDate ) => AppUsersClient.get( `${resource}/getAvailableEmployees/${forGroup}/${moment( forDate ).format( 'YYYY-MM-DD' )}` ),\r\n\r\n};","module.exports = __webpack_public_path__ + \"img/viking-logo-white-cropped.d016fcc3.svg\";","import AppUsersClient from \"../clients/AppUsersClient\";\r\nimport moment from 'moment';\r\n\r\nconst resource = '/overallocations';\r\n\r\nexport default {\r\n getForPeriod(startDate, endDate, forGroup) {\r\n return new Promise(function(resolve, reject) { \r\n AppUsersClient.get(`${resource}/?fromdate=${moment(startDate).format('YYYY-MM-DD')}&todate=${moment(endDate).format('YYYY-MM-DD')}&forGroup=${(forGroup ? forGroup : '')}`)\r\n .then(response => {\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n};\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupCommentSidebar.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EntrySidebar.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfirmationModal.vue?vue&type=style&index=0&id=d69077ea&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HolidaySidebar.vue?vue&type=style&index=0&lang=scss&\"","let openResolve, openReject;\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {\r\n entryModel: undefined\r\n },\r\n mutations: {\r\n setEntryModel: (state, entry) => {\r\n state.entryModel = entry;\r\n }\r\n },\r\n actions: {\r\n // Open sidebar and return a promise to be fulfilled when the user presses Update or Cancel.\r\n entrySidebarOpenAsync: ({commit}, entry) => {\r\n commit('setEntryModel', {...entry});\r\n return new Promise((resolve, reject) => {\r\n openResolve = resolve;\r\n openReject = reject;\r\n })\r\n },\r\n entrySidebarOpen: ({commit}, entry) => {\r\n commit('setEntryModel', {...entry});\r\n },\r\n\r\n // Update \r\n entrySidebarUpdate: ({commit,state}, model) => {\r\n if (openResolve instanceof Function) {\r\n openResolve({ action: 'update', model: model});\r\n }\r\n commit('setEntryModel', undefined);\r\n },\r\n\r\n // Notification \r\n entrySidebarNotification: ({commit,state}) => {\r\n if (openResolve instanceof Function) {\r\n \r\n openResolve({ action: 'notification', model: state.entryModel});\r\n }\r\n commit('setEntryModel', undefined);\r\n },\r\n\r\n // Delete\r\n entrySidebarDelete: ({commit, state}) => {\r\n if (openResolve instanceof Function) {\r\n openResolve({ action: 'delete', model: state.entryModel});\r\n }\r\n commit('setEntryModel', undefined);\r\n },\r\n\r\n // Cancel\r\n entrySidebarCancel: ({commit, state}) => {\r\n if (openResolve instanceof Function) {\r\n openResolve({ action: 'cancel', model: state.entryModel});\r\n }\r\n commit('setEntryModel', undefined);\r\n },\r\n // Update \r\n entrySidebarViewUpdate: ({commit,state}, entry) => {\r\n if(entry) { \r\n commit('setEntryModel', {...entry});\r\n }\r\n },\r\n // Update \r\n entrySidebarSplit: ({commit,state}) => {\r\n if (openResolve instanceof Function) {\r\n openResolve({ action: 'split', model: state.entryModel});\r\n }\r\n commit('setEntryModel', undefined);\r\n },\r\n },\r\n getters: {\r\n entrySidebarModel: (state) => state.entryModel\r\n }\r\n}","import Repository from '@/repositories/RepositoryFactory';\r\nimport ENUM from '../../enums/APISTATE';\r\nimport store from '../';\r\nimport moment from 'moment';\r\n\r\nconst AppUsersRepository = Repository.get('appUsers');\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {\r\n apiState: ENUM.INIT,\r\n appUser: {},\r\n appUsers: [],\r\n myAppUser: {},\r\n employments: [],\r\n role: \"\"\r\n },\r\n mutations: {\r\n setApiState: (state, apiState) => {\r\n state.apiState = apiState;\r\n },\r\n setAppUser(state, appUserResponse) {\r\n const { data } = appUserResponse;\r\n if ( data )\r\n {\r\n data.employments.forEach( e => {\r\n e.fromDate = new Date( e.fromDate );\r\n e.toDate = e.toDate ? new Date( e.toDate ) : null;\r\n e.isEditing = false;\r\n } );\r\n }\r\n state.employments = data.employments;\r\n state.role = data.role;\r\n state.appUser = data;\r\n state.apiState = ENUM.LOADED;\r\n },\r\n addEmptyEmployment(state){\r\n if(!state.appUser.employments){\r\n state.appUser.employments = [];\r\n }\r\n if(state.appUser.employments.length !== 0 && state.appUser.employments[state.appUser.employments.length - 1].isEditing){\r\n return;\r\n }\r\n state.appUser.employments.push({\r\n appUserId: state.appUser.id ?? \"\",\r\n fromDate: new Date(),\r\n toDate: null,\r\n role: state.appUser.role ?? \"Replacement\",\r\n isNew: true,\r\n isEditing: true,\r\n index: state.appUser.employments.length\r\n });\r\n state.employments = state.appUser.employments;\r\n },\r\n saveEmployment(state, employment){\r\n employment.isEditing = false;\r\n state.appUser.employments[employment.index] = employment;\r\n state.employments[ employment.index ] = employment;\r\n const today = new Date();\r\n if ( state.appUser.employments.length === 1 )\r\n {\r\n state.role = employment.role;\r\n }\r\n else if ( employment.fromDate >= today && ( employment.toDate ? employment.toDate < today : true ) )\r\n {\r\n state.appUser.role = employment.role;\r\n }\r\n },\r\n setRole ( state, role ) {\r\n state.role = role;\r\n },\r\n setEditEmployment(state, employment){\r\n const index = state.employments.findIndex( e => e.toDate == employment.toDate \r\n && e.fromDate === employment.fromDate \r\n && e.role === employment.role);\r\n state.employments[ index ].isEditing = true;\r\n state.employments[ index ].index = index;\r\n },\r\n removeEmployment(state, employmentIndex){\r\n state.appUser.employments.splice(employmentIndex, 1);\r\n state.employments.splice( employmentIndex, 1 );\r\n },\r\n setAppUsers(state, appUsersResponse) {\r\n const { data } = appUsersResponse;\r\n state.appUsers = data;\r\n state.apiState = ENUM.LOADED;\r\n },\r\n setMyAppUser(state, appUserResponse) {\r\n const { data } = appUserResponse;\r\n state.myAppUser = data;\r\n state.apiState = ENUM.LOADED;\r\n }\r\n },\r\n actions: {\r\n async loadAppUser({ commit }, appUserId) {\r\n commit('setApiState', ENUM.LOADING);\r\n try {\r\n if ( appUserId !== null )\r\n {\r\n let appUser = await AppUsersRepository.getOne(appUserId);\r\n appUser.data.startDate = moment(appUser.data.startDate).toDate();\r\n appUser.data.endDate = moment(appUser.data.endDate).toDate();\r\n commit( \"setRole\", appUser.role );\r\n commit( 'setAppUser', appUser ); \r\n }\r\n else {\r\n commit('setAppUser', {data: {}});\r\n }\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setApiState', ENUM.ERROR);\r\n }\r\n },\r\n async setEmptyAppUser ( { commit } ) {\r\n commit( 'setAppUser', { data: {} } );\r\n },\r\n async addEmptyEmployment({commit}){\r\n commit(\"addEmptyEmployment\")\r\n },\r\n async editEmployment({commit}, employment){\r\n commit(\"setEditEmployment\",employment);\r\n },\r\n async removeEmployment({commit,state}, employment){\r\n const employmentIndex = state.appUser.employments.indexOf(employment);\r\n commit(\"removeEmployment\", employmentIndex);\r\n },\r\n async saveEmployment({commit}, employment){\r\n commit(\"saveEmployment\", employment);\r\n },\r\n async loadAppUsers({ commit }) {\r\n commit('setApiState', ENUM.LOADING);\r\n try {\r\n commit('setAppUsers', await AppUsersRepository.getAll());\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setApiState', ENUM.ERROR);\r\n }\r\n },\r\n async registerAppUser ( { commit, dispatch, state }, appUserDto ) {\r\n commit('setApiState', ENUM.LOADING);\r\n try {\r\n appUserDto.employments = state.employments;\r\n appUserDto.role = state.role;\r\n await AppUsersRepository.registerAppUser(appUserDto);\r\n await dispatch('loadAppUsers');\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setApiState', ENUM.ERROR);\r\n }\r\n },\r\n async updateAppUser({ commit, dispatch, state }, appUserDto) {\r\n commit('setApiState', ENUM.LOADING);\r\n try {\r\n appUserDto.employments = state.employments;\r\n appUserDto.employments.forEach(e => {\r\n const fromDate = moment(e.fromDate).toDate();\r\n e.fromDate = new Date(Date.UTC(fromDate.getFullYear(), fromDate.getMonth(), fromDate.getDate(), fromDate.getHours(), fromDate.getMinutes(),fromDate.getSeconds()));\r\n if(e.toDate){\r\n const toDate = moment(e.toDate).toDate();\r\n e.toDate = new Date(Date.UTC(toDate.getFullYear(), toDate.getMonth(), toDate.getDate(), toDate.getHours(), toDate.getMinutes(),toDate.getSeconds()));\r\n }\r\n } );\r\n appUserDto.role = state.role;\r\n await AppUsersRepository.updateAppUser(appUserDto);\r\n await dispatch('loadAppUsers');\r\n if (appUserDto.id === state.appUser?.id) {\r\n await dispatch('loadAppUser', appUserDto.id);\r\n }\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setApiState', ENUM.ERROR);\r\n }\r\n },\r\n async setAppUserPassword({ commit }, { id, form }) {\r\n commit('setApiState', ENUM.LOADING);\r\n try {\r\n await AppUsersRepository.setAppUserPassword(id, form);\r\n commit('setApiState', ENUM.LOADED);\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setApiState', ENUM.ERROR);\r\n }\r\n },\r\n async loadMyUser({ commit }) {\r\n commit('setApiState', ENUM.LOADING);\r\n try {\r\n const oidcUser = store?.getters['oidcStore/oidcUser'];\r\n commit('setMyAppUser', await AppUsersRepository.getOne(oidcUser?.sub));\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setApiState', ENUM.ERROR);\r\n }\r\n },\r\n async deleteAppUser({ commit }, id) {\r\n commit('setApiState', ENUM.LOADING);\r\n\r\n try {\r\n await AppUsersRepository.deleteUser(id);\r\n commit(\"setApiState\", ENUM.LOADED);\r\n } catch(err) {\r\n console.error(err);\r\n commit(\"setApiState\", ENUM.ERROR);\r\n }\r\n }\r\n },\r\n getters: {\r\n appUserApiState(state) {\r\n return state.apiState;\r\n },\r\n appUser(state) {\r\n return state.appUser;\r\n },\r\n employments ( state ) {\r\n return state.employments;\r\n },\r\n userRole ( state ) {\r\n return state.role ?? \"Ukendt\";\r\n },\r\n appUsers(state) {\r\n return state.appUsers;\r\n },\r\n myAppUser(state) {\r\n return state.myAppUser;\r\n }\r\n }\r\n}","import Repository from '@/repositories/RepositoryFactory';\r\nimport ENUM from '../../enums/APISTATE';\r\nimport store from '../';\r\nimport UPDATESTATE from '../../enums/UPDATESTATE';\r\n\r\nconst notificationsRepository = Repository.get('notifications');\r\n\r\nexport default ({\r\n namespaced: true,\r\n state: {\r\n apiState: ENUM.INIT,\r\n notifications: [],\r\n notification: {},\r\n errorModalOpen: false,\r\n errorModalText: ''\r\n },\r\n mutations: {\r\n setApiState: (state, apiState) => {\r\n state.apiState = apiState;\r\n },\r\n setNotification(state, response) {\r\n const { data } = response;\r\n state.notification = data;\r\n state.apiState = ENUM.LOADED;\r\n },\r\n setNotifications(state, response) {\r\n const { data } = response;\r\n state.notifications = data;\r\n state.apiState = ENUM.LOADED;\r\n },\r\n initialized(state, { notifications }) {\r\n state.notifications = notifications;\r\n },\r\n setErrorModalText(state, text){\r\n state.errorModalText = text\r\n },\r\n setErrorModalOpen(state, open){\r\n state.setErrorModalOpen = open;\r\n }\r\n },\r\n actions: {\r\n async getNotificationsForPeriod({ commit }, request) {\r\n commit('setApiState', ENUM.LOADING);\r\n try {\r\n commit('setNotifications', await notificationsRepository.getForPeriod(request.startDate, request.endDate, request.forRegion));\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setApiState', ENUM.ERROR);\r\n }\r\n },\r\n async createNotification({ commit, dispatch }, allocationDto) {\r\n commit('setApiState', ENUM.LOADING);\r\n let retries = 0;\r\n while(retries < 2){\r\n if(allocationDto.updateState !== UPDATESTATE.RequestReplacement){\r\n retries = 2;\r\n }\r\n try {\r\n retries++;\r\n let result = await notificationsRepository.create(allocationDto);\r\n if (result.status === 200) {\r\n commit(\"setApiState\", ENUM.LOADED);\r\n commit(\"setAllocation\", result);\r\n return true;\r\n }\r\n } catch (error) {\r\n if(allocationDto.updateState !== UPDATESTATE.RequestReplacement){\r\n commit(\"setApiState\", ENUM.ERROR);\r\n return false\r\n }\r\n if (retries < 2) {\r\n // do nothing\r\n }\r\n else{\r\n console.error(error);\r\n commit('setApiState', ENUM.ERROR);\r\n return false;\r\n }\r\n }\r\n }\r\n },\r\n async deleteNotification({ commit, dispatch }, notificationDto) {\r\n commit('setApiState', ENUM.LOADING);\r\n try {\r\n await notificationsRepository.delete(notificationDto.id, notificationDto._UpdateTag);\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setApiState', ENUM.ERROR);\r\n }\r\n },\r\n async updateNotification({ commit, dispatch }, notificationDto) {\r\n commit('setApiState', ENUM.LOADING);\r\n try {\r\n await notificationsRepository.update(notificationDto);\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setApiState', ENUM.ERROR);\r\n }\r\n },\r\n async getNotificationFromAllocation({ commit, dispatch }, allocationDto) {\r\n if(!allocationDto || !allocationDto.id) {\r\n return;\r\n }\r\n\r\n commit('setApiState', ENUM.LOADING);\r\n try { \r\n commit('setNotification', await notificationsRepository.getNotificationFromAllocation(allocationDto.id));\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setApiState', ENUM.ERROR);\r\n }\r\n },\r\n setNotificationOnStore(state, data) {\r\n state.notification = data;\r\n state.apiState = ENUM.LOADED;\r\n },\r\n },\r\n getters: {\r\n notificationApiState(state) {\r\n return state.apiState;\r\n },\r\n notification(state) {\r\n return state.notification;\r\n },\r\n notifications(state) { \r\n return state.notifications; \r\n },\r\n errorModalOpen: (state) => {return state.errorModalOpen},\r\n errorModalText: (state) => {return state.errorModalText}\r\n }\r\n});\r\n","import Repository from '@/repositories/RepositoryFactory';\r\nimport ENUM from '../../enums/APISTATE';\r\nimport Vue from 'vue';\r\n\r\nconst allocations = Repository.get('allocations');\r\n\r\nexport default ({\r\n namespaced: true,\r\n state: {\r\n allocationsDashboard: [],\r\n allocations: [],\r\n allocation: {}, \r\n apiState: ENUM.INIT,\r\n allocationApiState: ENUM.INIT,\r\n allocationDashboardApiState: ENUM.INIT,\r\n allocationsTimeOffApiState: ENUM.INIT,\r\n allocationsTimeOff: [],\r\n allocationsOnDateApiState: ENUM.INIT,\r\n allocationsOnDate: []\r\n },\r\n mutations: {\r\n initialized(state, { allocations, allocationsDashboard }) {\r\n state.allocations = allocations;\r\n state.allocationsDashboard = allocationsDashboard;\r\n },\r\n setApiState: (state, apiState) => {\r\n state.apiState = apiState;\r\n },\r\n setDashboardApiState: (state, apiState) => {\r\n state.allocationDashboardApiState = apiState;\r\n },\r\n setAllocationApiState: (state, apiState) => {\r\n state.allocationApiState = apiState;\r\n },\r\n setAllocation(state, response) {\r\n const { data } = response;\r\n state.allocation = data;\r\n state.allocationApiState = ENUM.LOADED;\r\n },\r\n setAllocations(state, response) {\r\n const { data } = response;\r\n state.allocations = data;\r\n state.apiState = ENUM.LOADED;\r\n },\r\n setAllocationDashboard(state, response) {\r\n const { data } = response;\r\n state.allocationsDashboard = data;\r\n state.allocationDashboardApiState = ENUM.LOADED;\r\n },\r\n setTimeOffApiState: (state, apiState) => {\r\n state.allocationsTimeOffApiState = apiState;\r\n },\r\n setAllocationsTimeOff(state, response) {\r\n const { data } = response;\r\n state.allocationsTimeOff = data;\r\n state.allocationsTimeOffApiState = ENUM.LOADED;\r\n },\r\n setAllocationsOnDateApiState: (state, apiState) => {\r\n state.allocationsOnDateApiState = apiState;\r\n },\r\n setAllocationsOnDate(state, response) {\r\n const { data } = response;\r\n state.allocationsOnDate = data;\r\n state.allocationsOnDateApiState = ENUM.LOADED;\r\n },\r\n addAllocations(state, response) {\r\n const { data } = response;\r\n for(const item of data) {\r\n state.allocations.push(item);\r\n } \r\n state.apiState = ENUM.LOADED;\r\n },\r\n },\r\n actions: {\r\n initialize({ commit }) {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n commit('initialized', {\r\n allocations: allocations\r\n });\r\n resolve();\r\n }\r\n catch (e) {\r\n console.error(e);\r\n reject();\r\n }\r\n });\r\n },\r\n async getMyAllocations({ commit }, dto) {\r\n commit('setApiState', ENUM.LOADING);\r\n try {\r\n const response = await allocations.getMyAllocations(dto.startDate, dto.endDate, dto.asEmployee);\r\n if(dto.isLoadingMore) {\r\n commit('addAllocations', response); \r\n } else {\r\n commit('setAllocations', response);\r\n } \r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setApiState', ENUM.ERROR);\r\n }\r\n },\r\n async getTimeOff({ commit }, dto) {\r\n commit('setTimeOffApiState', ENUM.LOADING);\r\n try {\r\n commit('setAllocationsTimeOff', await allocations.getTimeOff(dto.fromDate, dto.forGroup));\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setTimeOffApiState', ENUM.ERROR);\r\n }\r\n },\r\n async getAllocationDashboard({ commit }, dto) {\r\n const region = dto ? dto.region : null;\r\n commit('setDashboardApiState', ENUM.LOADING);\r\n try {\r\n commit('setAllocationDashboard', await allocations.getAllocationDashboard(region));\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setDashboardApiState', ENUM.ERROR);\r\n }\r\n },\r\n async updateAllocation({ commit, dispatch, state }, dto) {\r\n commit('setAllocationApiState', ENUM.LOADING);\r\n try {\r\n const result = await allocations.update(dto); \r\n commit('setAllocation', result);\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setAllocationApiState', ENUM.ERROR);\r\n }\r\n },\r\n // Get's allocation for my calendar for at given date and group\r\n async getAllocationForGroupOnDate({ commit, dispatch, state }, dto) {\r\n commit('setAllocationsOnDateApiState', ENUM.LOADING);\r\n try {\r\n commit('setAllocationsOnDate', { data: []});\r\n commit('setAllocationsOnDate', await allocations.getAllocationForGroupOnDate(dto.date, dto.forGroup, dto.asEmployee));\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setAllocationsOnDateApiState', ENUM.ERROR);\r\n }\r\n },\r\n async splitAllocation({ commit, dispatch, state }, dto) {\r\n commit('setApiState', ENUM.LOADING);\r\n try {\r\n const result = await allocations.split(dto); \r\n // TODO: Find a way to add to currect state \r\n commit('setApiState', ENUM.LOADED);\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setApiState', ENUM.ERROR);\r\n }\r\n },\r\n setAllocations({state}, data) {\r\n state.allocations = data;\r\n state.apiState = ENUM.LOADED;\r\n },\r\n },\r\n getters: {\r\n isLoaded(state) {\r\n return state.apiState === ENUM.LOADED;\r\n },\r\n allocationsApiState(state) {\r\n return state.apiState;\r\n },\r\n allocationApiState(state) {\r\n return state.allocationApiState;\r\n },\r\n allocation(state) {\r\n return state.allocation;\r\n },\r\n allocations(state) { \r\n return state.allocations; \r\n },\r\n allocationDashboardApiState(state) {\r\n return state.allocationDashboardApiState;\r\n },\r\n allocationsDashboard(state) { \r\n return state.allocationsDashboard; \r\n },\r\n allocationsTimeOffApiState(state) {\r\n return state.allocationsTimeOffApiState;\r\n },\r\n allocationsTimeOff(state) { \r\n return state.allocationsTimeOff; \r\n },\r\n allocationsOnDateApiState(state) {\r\n return state.allocationsOnDateApiState;\r\n },\r\n allocationsOnDate(state) {\r\n return state.allocationsOnDate;\r\n },\r\n }\r\n});\r\n","import Repository from '@/repositories/RepositoryFactory';\r\nimport ENUM from '../../enums/APISTATE';\r\nimport store from '../';\r\n\r\nconst CirclesRepository = Repository.get('circles');\r\n\r\nexport default ({\r\n namespaced: true,\r\n state: {\r\n apiState: ENUM.INIT,\r\n apiStateCircleForGroup: ENUM.INIT,\r\n circles: [],\r\n circlesForGroup: [],\r\n circle: {}\r\n },\r\n mutations: {\r\n setApiState: (state, apiState) => {\r\n state.apiState = apiState;\r\n },\r\n setCircleForGroupApiState: (state, apiState) => {\r\n state.apiStateCircleForGroup = apiState;\r\n },\r\n setCircle(state, response) {\r\n const { data } = response;\r\n state.circle = data;\r\n state.apiState = ENUM.LOADED;\r\n },\r\n setCircles(state, response) {\r\n const { data } = response;\r\n state.circles = data;\r\n state.apiState = ENUM.LOADED;\r\n },\r\n setCircleForGroup(state, response) {\r\n const { data } = response;\r\n state.circlesForGroup = data;\r\n },\r\n initialized(state, { circles }) {\r\n state.circles = circles;\r\n }\r\n },\r\n actions: {\r\n loadAllCircles({commit}) {\r\n return new Promise((resolve, reject) => {\r\n CirclesRepository.getAll().then((response) => {\r\n commit('setCircles', response);\r\n resolve();\r\n }).catch((error) => {\r\n console.error(error);\r\n commit('setApiState', ENUM.ERROR);\r\n reject();\r\n });\r\n });\r\n },\r\n\r\n loadCirclesForPeriod({commit}, {startDate, endDate, teamFilter}) {\r\n return new Promise((resolve, reject) => {\r\n CirclesRepository.getForPeriod(startDate, endDate, teamFilter).then((response) => {\r\n commit('setCircles', {data: response}); // not tested (data extracted in repository)\r\n resolve();\r\n }).catch((error) => {\r\n console.error(error);\r\n commit('setApiState', ENUM.ERROR);\r\n reject();\r\n });\r\n });\r\n },\r\n\r\n loadCirclesCurrentWeek({commit}) {\r\n return new Promise((resolve, reject) => {\r\n CirclesRepository.getCirclesCurrentWeek().then((response) => {\r\n commit('setCircles', response)\r\n resolve();\r\n }).catch((error) => {\r\n console.error(error);\r\n commit('setApiState', ENUM.ERROR);\r\n reject();\r\n })\r\n });\r\n },\r\n async loadCircles({ commit }) {\r\n commit('setApiState', ENUM.LOADING);\r\n try {\r\n commit('setCircles', await CirclesRepository.getAll());\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setApiState', ENUM.ERROR);\r\n }\r\n },\r\n async getPeriods({ commit }, {startDate, endDate, teamFilter}) {\r\n commit('setApiState', ENUM.LOADING);\r\n try {\r\n commit('setCircles', await CirclesRepository.getPeriods());\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setApiState', ENUM.ERROR);\r\n }\r\n },\r\n async getCircle({ commit }, id) {\r\n commit('setApiState', ENUM.LOADING);\r\n \r\n try {\r\n const circle = await CirclesRepository.getCircle(id);\r\n commit(\"setCircle\", circle);\r\n commit('setApiState', ENUM.LOADED);\r\n return circle;\r\n } \r\n catch (error) {\r\n console.error(error);\r\n commit('setApiState', ENUM.ERROR);\r\n }\r\n },\r\n async getCircleForGroup({ commit }, dto) {\r\n commit('setCircleForGroupApiState', ENUM.LOADING);\r\n \r\n try {\r\n const circle = await CirclesRepository.getCircleForGroup(dto.groupId);\r\n commit(\"setCircleForGroup\", circle);\r\n commit('setCircleForGroupApiState', ENUM.LOADED);\r\n return circle;\r\n } \r\n catch (error) {\r\n console.error(error);\r\n commit('setCircleForGroupApiState', ENUM.ERROR);\r\n }\r\n },\r\n async createCircle({ commit }, circle) {\r\n commit('setApiState', ENUM.LOADING);\r\n\r\n try {\r\n await CirclesRepository.create(circle);\r\n commit('setApiState', ENUM.LOADED);\r\n } catch (error) {\r\n console.error(error);\r\n commit('setApiState', ENUM.ERROR);\r\n }\r\n },\r\n async updateCircle({ commit }, circle) {\r\n commit('setApiState', ENUM.LOADING);\r\n\r\n try {\r\n await CirclesRepository.update(circle);\r\n commit('setApiState', ENUM.LOADED);\r\n } catch (error) {\r\n console.error(error);\r\n commit('setApiState', ENUM.ERROR);\r\n }\r\n }\r\n },\r\n getters: {\r\n circleIsLoading(state) {\r\n return state.apiState === ENUM.LOADING;\r\n },\r\n circleForGroupIsLoading(state) {\r\n return state.apiStateCircleForGroup === ENUM.LOADING;\r\n },\r\n circleApiState(state) {\r\n return state.apiState;\r\n },\r\n circle(state) {\r\n return state.circle;\r\n },\r\n circles(state) { \r\n return state.circles; \r\n },\r\n circlesForGroup(state) { \r\n return state.circlesForGroup; \r\n }\r\n }\r\n});\r\n","import Repository from '@/repositories/RepositoryFactory';\r\nimport groupRepository from \"../../repositories/groups\";\r\nimport ApiState from \"../../enums/APISTATE\";\r\n\r\nconst groups = Repository.get('groups');\r\n/**\r\n * Removes values from\r\n * @param { Array } array - This array\r\n * @param { Function } where - This is true\r\n * @returns { Array } - And return a new array\r\n */\r\n export function arrayRemoveWhere(array, where) {\r\n return array.filter(val => !where(val));\r\n}\r\n\r\nexport function sleep(ms) {\r\n return new Promise(res => setTimeout(res, ms));\r\n}\r\n\r\nexport default ({\r\n namespaced: true,\r\n state: {\r\n apiState: ApiState.INIT,\r\n groupState: ApiState.INIT,\r\n groups: [],\r\n group: {},\r\n groupsForUser: [],\r\n groupsForUserApiState: ApiState.INIT,\r\n usersForGroup: [],\r\n usersForGroupApiState: ApiState.INIT\r\n },\r\n mutations: {\r\n setApiState: (state, apiState) => {\r\n state.apiState = apiState;\r\n },\r\n setGroup(state, response) {\r\n const { data } = response;\r\n state.group = data;\r\n state.apiState = ApiState.LOADED;\r\n },\r\n setGroups(state, response) {\r\n const { data } = response;\r\n state.groups = data;\r\n state.apiState = ApiState.LOADED;\r\n },\r\n removeGroup(state, id) {\r\n state.groups = arrayRemoveWhere(state.groups, group => group.id === id);\r\n\r\n if (state.group) { \r\n state.group.isRemoved = true;\r\n }\r\n },\r\n setState(state, apiState) {\r\n state.groupState = apiState;\r\n },\r\n initialized(state, { groups }) {\r\n state.groups = groups;\r\n },\r\n setGroupsForUserApiState(state, apiState) {\r\n state.groupsForUserApiState = apiState;\r\n },\r\n setGroupsForUser(state, response) {\r\n const { data } = response;\r\n state.groupsForUser = data;\r\n state.groupsForUserApiState = ApiState.LOADED;\r\n },\r\n setUsersForGroupApiState(state, apiState) {\r\n state.usersForGroupApiState = apiState;\r\n },\r\n setUsersForGroup(state, response) {\r\n const { data } = response;\r\n state.usersForGroup = data;\r\n state.usersForGroupApiState = ApiState.LOADED;\r\n }\r\n },\r\n actions: {\r\n getAllGroups({commit}) {\r\n commit('setApiState', ApiState.LOADING);\r\n return new Promise((resolve, reject) => {\r\n groups.getAllForMyCalendar().then((response) => {\r\n commit('setGroups', response);\r\n resolve();\r\n }).catch((error) => {\r\n console.error(error);\r\n commit('setApiState', ApiState.ERROR);\r\n reject();\r\n });\r\n });\r\n },\r\n async initialize({ commit }) {\r\n commit(\"setState\", ApiState.LOADING);\r\n try {\r\n const groups = await groupRepository.getAll();\r\n commit(\"initialized\", groups);\r\n commit(\"setState\", ApiState.LOADED);\r\n } catch {\r\n commit(\"setState\", ApiState.ERROR);\r\n }\r\n },\r\n async getGroupById({ commit }, id) {\r\n try {\r\n const group = await groupRepository.getById(id);\r\n commit(\"setGroup\", group)\r\n return group;\r\n } catch {\r\n // Something error handly\r\n }\r\n },\r\n async removeGroup({ commit }, id) {\r\n try {\r\n await groupRepository.remove(id);\r\n commit(\"removeGroup\", id);\r\n return true;\r\n } catch {\r\n return false;\r\n }\r\n },\r\n async getGroupsForUser({ commit }, id) {\r\n commit('setGroupsForUserApiState', ApiState.LOADING);\r\n try {\r\n commit('setGroupsForUser', await groupRepository.getGroupsForUser(id));\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setGroupsForUserApiState', ApiState.ERROR);\r\n }\r\n },\r\n async getUsersGorGroup({ commit }, id) {\r\n commit('setUsersForGroupApiState', ApiState.LOADING);\r\n try {\r\n commit('setUsersForGroup', await groupRepository.getUsersGorGroup(id));\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setUsersForGroupApiState', ApiState.ERROR);\r\n }\r\n },\r\n async updateGroup({ commit, dispatch, state }, dto) {\r\n commit('setState', ApiState.LOADING);\r\n try {\r\n const group = await groupRepository.update(dto);\r\n commit(\"setGroup\", group)\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setState', ApiState.ERROR);\r\n }\r\n },\r\n async createGroup({ commit, dispatch, state }, dto) {\r\n commit('setState', ApiState.LOADING);\r\n try {\r\n const group = await groupRepository.create(dto);\r\n commit(\"setGroup\", group)\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setState', ApiState.ERROR);\r\n }\r\n },\r\n },\r\n getters: {\r\n group(state) { \r\n return state.group; \r\n },\r\n groupState(state) {\r\n return state.groupState;\r\n },\r\n groupsIsLoading(state) { \r\n return state.groupState === ApiState.LOADING \r\n },\r\n groupApiState(state) {\r\n return state.apiState;\r\n },\r\n groups(state) { \r\n return state.groups; \r\n },\r\n getGroupById: (state) => (groupId) => state.groups.find(q => q.id === groupId),\r\n groupsForUserApiState(state) {\r\n return state.groupsForUserApiState;\r\n },\r\n groupsForUser(state) {\r\n return state.groupsForUser;\r\n },\r\n usersForGroupApiState(state) {\r\n return state.usersForGroupApiState;\r\n },\r\n usersForGroup(state) {\r\n return state.usersForGroup;\r\n }\r\n }\r\n});\r\n","import Repository from \"@/repositories/RepositoryFactory\";\r\nimport APISTATE from \"../../enums/APISTATE\";\r\n\r\nlet openResolve, openReject;\r\n\r\nconst reports = Repository.get(\"reports\");\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {\r\n groupMembers: [],\r\n availableGroupMembers: [],\r\n isOpen: false,\r\n filter: {}\r\n },\r\n mutations: {\r\n setChosenAssistant(state, assistantNumber) {\r\n const index = state.groupMembers.findIndex(\r\n (gm) => gm.number == assistantNumber\r\n );\r\n if (index !== -1) {\r\n state.groupMembers[index].isSelected = true;\r\n }\r\n\r\n state.availableGroupMembers[\r\n state.availableGroupMembers.findIndex(\r\n (gm) => gm.number == assistantNumber\r\n )\r\n ].isSelected = true;\r\n },\r\n setRejectedAssistant(state, assistantNumber) {\r\n const index = state.groupMembers.findIndex(\r\n (gm) => gm.number == assistantNumber\r\n );\r\n if (index !== -1) {\r\n state.groupMembers[index].isSelected = false;\r\n }\r\n\r\n state.availableGroupMembers[\r\n state.availableGroupMembers.findIndex(\r\n (gm) => gm.number == assistantNumber\r\n )\r\n ].isSelected = false;\r\n },\r\n setIsOpen(state, isOpen) {\r\n state.isOpen = isOpen;\r\n },\r\n setGroupMembers(state, response) {\r\n state.groupMembers = response;\r\n state.apiState = APISTATE.LOADED;\r\n },\r\n setAvailableGroupMembers(state, response) {\r\n state.availableGroupMembers = response;\r\n },\r\n setFilter(state, filter) {\r\n state.filter = filter\r\n }\r\n },\r\n actions: {\r\n async sidebarOpenAsync({ commit}) {\r\n commit(\"setIsOpen\", true);\r\n return new Promise((resolve, reject) => {\r\n openResolve = resolve;\r\n openReject = reject;\r\n });\r\n },\r\n markAssistantNumber({ commit, state }, assistantNumber) {\r\n const specificAssistant = state.groupMembers.find(\r\n (gm) => gm.number === assistantNumber\r\n );\r\n specificAssistant.isSelected\r\n ? commit(\"setRejectedAssistant\", assistantNumber)\r\n : commit(\"setChosenAssistant\", assistantNumber);\r\n },\r\n rejectAll({ commit, state }) {\r\n state.availableGroupMembers.forEach((agm) => {\r\n commit(\"setRejectedAssistant\", agm.number);\r\n });\r\n },\r\n sidebarCancel: ({ commit, state }) => {\r\n if (openResolve instanceof Function) {\r\n openResolve({\r\n action: \"cancel\",\r\n markedGroupMembers: [],\r\n });\r\n }\r\n commit(\"setIsOpen\", false);\r\n },\r\n setIsOpen: ({ commit }) => {\r\n commit(\"setIsOpen\", true);\r\n },\r\n updateParentView: ({ commit, state }) => {\r\n if (openResolve instanceof Function) {\r\n openResolve({\r\n action: \"update\",\r\n markedGroupMembers: state.availableGroupMembers.filter(\r\n (gm) => gm.isSelected\r\n ),\r\n });\r\n }\r\n commit(\"setIsOpen\", false);\r\n },\r\n searchForEmployee: ({ commit, state }, searchTerm) => {\r\n let groupMembers;\r\n if (searchTerm === \"\") {\r\n groupMembers = state.availableGroupMembers;\r\n } else {\r\n groupMembers = state.availableGroupMembers.filter(\r\n (gm) =>\r\n gm.name.toLowerCase().includes(searchTerm.toLowerCase()) ||\r\n gm.number\r\n .toString()\r\n .toLowerCase()\r\n .includes(searchTerm.toLowerCase())\r\n );\r\n }\r\n\r\n if (groupMembers === undefined) {\r\n commit(\"setGroupMembers\", []);\r\n } else {\r\n commit(\"setGroupMembers\", groupMembers );\r\n }\r\n },\r\n setGroupMembers({commit, state}, groupMembers){\r\n commit(\"setGroupMembers\", groupMembers);\r\n commit(\"setAvailableGroupMembers\", groupMembers);\r\n state.groupMembers.forEach((elem) => {\r\n commit(\"setChosenAssistant\", elem.number);\r\n });\r\n },\r\n setFilter({commit}, filter){\r\n commit(\"setFilter\", filter);\r\n }\r\n },\r\n getters: {\r\n groupMembers: (state) => state.groupMembers,\r\n isOpen: (state) => state.isOpen,\r\n filter: (state) => state.filter,\r\n availableGroupMembers: (state) => state.availableGroupMembers\r\n },\r\n};\r\n","import Repository from '@/repositories/RepositoryFactory';\r\nimport ApiState from \"../../enums/APISTATE\";\r\n\r\nconst groupTemplateRepository = Repository.get('groupTemplateRepository');\r\n\r\nexport default ({\r\n namespaced: true,\r\n state: {\r\n groupTemplate: {},\r\n groupTemplateApiState: ApiState.INIT,\r\n groupTemplates: [],\r\n historicGroupTemplatesDisplayed: [],\r\n groupTemplatesApiState: ApiState.INIT,\r\n simulating: false,\r\n showAll: false\r\n },\r\n mutations: {\r\n setGroupTemplateApiState: (state, apiState) => {\r\n state.groupTemplateApiState = apiState;\r\n },\r\n setGroupTemplate(state, response) {\r\n const { data } = response;\r\n state.groupTemplate = data;\r\n state.groupTemplateApiState = ApiState.LOADED;\r\n },\r\n setGroupTemplatesApiState: (state, apiState) => {\r\n state.groupTemplatesApiState = apiState;\r\n },\r\n setGroupTemplates(state, response) {\r\n const { data } = response;\r\n state.groupTemplates = data;\r\n state.groupTemplatesApiState = ApiState.LOADED;\r\n },\r\n initialized(state, { groupTemplate, groupTemplates }) {\r\n state.groupTemplate = groupTemplate;\r\n state.groupTemplates = groupTemplates;\r\n },\r\n setSimulating(state, simulating) {\r\n state.simulating = simulating;\r\n },\r\n setShowAll(state, showAll){\r\n state.showAll = showAll;\r\n },\r\n setHistoricGroupTemplatesDisplayed(state, historicGroupTemplate){\r\n state.historicGroupTemplatesDisplayed = historicGroupTemplate\r\n }\r\n },\r\n actions: {\r\n async getAllTemplatesForGroup({ commit, dispatch }, forGroup) {\r\n commit('setGroupTemplatesApiState', ApiState.LOADING);\r\n try {\r\n commit('setGroupTemplates', await groupTemplateRepository.getAllForGroup(forGroup));\r\n dispatch('setHistoricGroupTemplatesDisplayed');\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setGroupTemplatesApiState', ApiState.ERROR);\r\n }\r\n },\r\n async updateGroupTemplate({ commit, dispatch, state }, dto) {\r\n commit('setGroupTemplateApiState', ApiState.LOADING);\r\n try {\r\n const groupTemplate = await groupTemplateRepository.update(dto);\r\n commit(\"setGroupTemplate\", groupTemplate)\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setGroupTemplateApiState', ApiState.ERROR);\r\n }\r\n },\r\n async createGroupTemplate({ commit, dispatch, state }, dto) {\r\n commit('setGroupTemplateApiState', ApiState.LOADING);\r\n try {\r\n const groupTemplate = await groupTemplateRepository.create(dto);\r\n commit(\"setGroupTemplate\", groupTemplate)\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setGroupTemplateApiState', ApiState.ERROR);\r\n }\r\n },\r\n async applyGroupTemplate({ commit, dispatch, state }, dto) {\r\n commit('setGroupTemplateApiState', ApiState.LOADING);\r\n try {\r\n const groupTemplate = await groupTemplateRepository.apply(dto);\r\n commit(\"setGroupTemplate\", groupTemplate)\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setGroupTemplateApiState', ApiState.ERROR);\r\n }\r\n },\r\n async canApplyGroupTemplate({ commit, dispatch, state }, dto) {\r\n const result = await groupTemplateRepository.canApply(dto);\r\n return result.data;\r\n },\r\n async setHistoricGroupTemplatesDisplayed({commit, state}){\r\n const groupTemplates = state.showAll ? state.groupTemplates.filter(q => q.state === 10) : state.groupTemplates.filter(q => q.state === 10).slice(0,1);\r\n commit(\"setHistoricGroupTemplatesDisplayed\", groupTemplates )\r\n },\r\n async showAllPressed({commit,state, dispatch}){\r\n commit(\"setShowAll\", !state.showAll);\r\n dispatch(\"setHistoricGroupTemplatesDisplayed\");\r\n },\r\n setSimulating({commit}, isSimulating) {\r\n commit('setSimulating', isSimulating);\r\n },\r\n async rollbackGroupTemplate({ commit, dispatch, state }, dto) {\r\n commit('setGroupTemplateApiState', ApiState.LOADING);\r\n try {\r\n const groupTemplate = await groupTemplateRepository.rollbackGroupTemplate(dto);\r\n commit('setGroupTemplateApiState', ApiState.LOADED);\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setGroupTemplateApiState', ApiState.ERROR);\r\n }\r\n },\r\n },\r\n getters: {\r\n groupTemplatesApiState(state) {\r\n return state.groupTemplatesApiState;\r\n },\r\n groupTemplates(state) {\r\n return state.groupTemplates;\r\n },\r\n groupTemplateApiState(state) {\r\n return state.groupTemplateApiState;\r\n },\r\n groupTemplate(state) {\r\n return state.groupTemplate;\r\n },\r\n isGroupTemplateSimulating(state) {\r\n return state.simulating;\r\n },\r\n historicGroupTemplatesDisplayed: (state) => {return state.historicGroupTemplatesDisplayed},\r\n showAll: (state) => {return state.showAll}\r\n }\r\n });","import Repository from '@/repositories/RepositoryFactory';\r\nimport ENUM from '../../enums/APISTATE';\r\nimport Vue from 'vue';\r\n\r\nconst EmployeesRepository = Repository.get('employees');\r\n\r\nexport default ({\r\n namespaced: true,\r\n state: {\r\n employeeApiState: ENUM.INIT,\r\n employees: [],\r\n replacementApiState: ENUM.INIT,\r\n replacements: [],\r\n replacementsForDateApiState: ENUM.INIT,\r\n replacementsForDate: [],\r\n allEmployeeApiState: ENUM.INIT,\r\n allEmployees: [],\r\n allEmployeesDict: {},\r\n availableEmployees: [],\r\n availableEmployeesApiState: ENUM.INIT,\r\n },\r\n mutations: {\r\n setReplacementApiState: (state, apiState) => {\r\n state.replacementApiState = apiState;\r\n },\r\n setEmployeeApiState: (state, apiState) => {\r\n state.employeeApiState = apiState;\r\n },\r\n setEmployees(state, employees) {\r\n state.employees = employees;\r\n state.employeeApiState = ENUM.LOADED;\r\n },\r\n setReplacements(state, response) {\r\n const { data } = response;\r\n state.replacements = data;\r\n state.replacementApiState = ENUM.LOADED;\r\n },\r\n setReplacementsForDateApiState: (state, apiState) => {\r\n state.replacementsForDateApiState = apiState;\r\n if(apiState === ENUM.LOADING) {\r\n state.replacementsForDate = [];\r\n }\r\n },\r\n setReplacementsForDate(state, response) {\r\n const { data } = response;\r\n state.replacementsForDate = data;\r\n state.replacementsForDateApiState = ENUM.LOADED;\r\n },\r\n setAllEmployeeApiState: (state, apiState) => {\r\n state.allEmployeeApiState = apiState;\r\n },\r\n setAllEmployees(state, response) {\r\n state.allEmployees = response;\r\n state.allEmployeesDict = {};\r\n response.forEach(employee => Vue.set(state.allEmployeesDict, employee.id, employee));\r\n state.allEmployeeApiState = ENUM.LOADED;\r\n },\r\n setAvailableEmployees(state, response) {\r\n const {data} = response;\r\n state.availableEmployees = data;\r\n state.availableEmployeesApiState = ENUM.LOADED;\r\n },\r\n setAvailableEmployeesApiState(state, apiState) {\r\n state.availableEmployeesApiState = apiState;\r\n }\r\n },\r\n actions: {\r\n loadEmployees({ commit }) {\r\n commit('setEmployeeApiState', ENUM.LOADING);\r\n return new Promise((resolve, reject) => {\r\n EmployeesRepository.getActive().then((response) => {\r\n commit('setEmployees', response);\r\n resolve();\r\n }).catch((error) => {\r\n console.error(error);\r\n commit('setEmployeeApiState', ENUM.ERROR);\r\n reject();\r\n });\r\n });\r\n },\r\n employeesForMyCalendar({ commit }) {\r\n commit('setEmployeeApiState', ENUM.LOADING);\r\n return new Promise((resolve, reject) => {\r\n EmployeesRepository.employeesForMyCalendar().then((response) => {\r\n commit('setEmployees', response);\r\n resolve();\r\n }).catch((error) => {\r\n console.error(error);\r\n commit('setEmployeeApiState', ENUM.ERROR);\r\n reject();\r\n });\r\n });\r\n },\r\n loadReplacements({ commit }) {\r\n commit('setReplacementApiState', ENUM.LOADING);\r\n return new Promise((resolve, reject) => {\r\n EmployeesRepository.getReplacements().then((response) => {\r\n commit('setReplacements', response);\r\n resolve();\r\n }).catch((error) => {\r\n console.error(error);\r\n commit('setReplacementApiState', ENUM.ERROR);\r\n reject();\r\n });\r\n });\r\n },\r\n loadReplacementsFromDate({ commit }, request) {\r\n if(!request || !request.date) {\r\n return;\r\n }\r\n\r\n commit('setReplacementsForDateApiState', ENUM.LOADING);\r\n return new Promise((resolve, reject) => {\r\n EmployeesRepository.getReplacementsForDate(request.date, request.region).then((response) => {\r\n commit('setReplacementsForDate', response);\r\n resolve();\r\n }).catch((error) => {\r\n console.error(error);\r\n commit('setReplacementsForDateApiState', ENUM.ERROR);\r\n reject();\r\n });\r\n });\r\n },\r\n async setAllEmployees({commit}, employees){\r\n commit('setAllEmployees', employees);\r\n },\r\n async getAllEmployees({ commit }) {\r\n commit('setAllEmployeeApiState', ENUM.LOADING);\r\n try {\r\n const { data } = await EmployeesRepository.getAllEmployees();\r\n commit('setAllEmployees', data);\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setAllEmployeeApiState', ENUM.ERROR);\r\n }\r\n },\r\n async getEmployees({ commit }) {\r\n commit('setEmployeeApiState', ENUM.LOADING);\r\n return new Promise((resolve, reject) => {\r\n EmployeesRepository.getEmployees().then((response) => {\r\n commit('setEmployees', response);\r\n resolve();\r\n }).catch((error) => {\r\n console.error(error);\r\n commit('setEmployeeApiState', ENUM.ERROR);\r\n reject();\r\n });\r\n });\r\n },\r\n async getAvailableEmployees({commit}, {forGroup, forDate}) {\r\n commit('setAvailableEmployeesApiState', ENUM.LOADING);\r\n try {\r\n commit('setAvailableEmployees', await EmployeesRepository.getAvailableEmployees(forGroup, forDate));\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setAvailableEmployeesApiState', ENUM.ERROR);\r\n }\r\n }\r\n },\r\n getters: {\r\n employeeApiState(state) {\r\n return state.employeeApiState;\r\n },\r\n replacementApiState(state) {\r\n return state.replacementApiState;\r\n },\r\n employees(state) { \r\n return state.employees; \r\n },\r\n replacements(state) {\r\n return state.replacements;\r\n },\r\n replacementsForDateApiState(state) {\r\n return state.replacementsForDateApiState;\r\n },\r\n replacementsForDate(state) {\r\n return state.replacementsForDate;\r\n },\r\n allEmployeeApiState(state) {\r\n return state.allEmployeeApiState;\r\n },\r\n allEmployees(state) { \r\n return state.allEmployees; \r\n },\r\n availableEmployees(state) {\r\n return state.availableEmployees;\r\n },\r\n allEmployeesLookup: state => (employeeId) => state.allEmployeesDict[employeeId],\r\n\r\n }\r\n});\r\n","import { forecasts } from '@/repositories/devdata';\r\n\r\nexport default ({\r\n namespaced: true,\r\n state: {\r\n forecasts: []\r\n },\r\n mutations: {\r\n initialized(state, { forecasts }) {\r\n state.forecasts = forecasts;\r\n }\r\n },\r\n actions: {\r\n initialize({ commit }) {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n commit('initialized', {\r\n forecasts: forecasts\r\n });\r\n resolve();\r\n }\r\n catch (e) {\r\n console.error(e);\r\n reject();\r\n }\r\n })\r\n }\r\n },\r\n getters: {\r\n forecasts(state) { return state.forecasts; }\r\n }\r\n});\r\n","import { allocationTypes, regions } from '@/repositories/devdata';\r\n\r\nexport default ({\r\n namespaced: true,\r\n state: {\r\n allocationTypes: [], \r\n regions: []\r\n },\r\n mutations: {\r\n initialized(state, { allocationTypes, regions }) {\r\n state.allocationTypes = allocationTypes;\r\n state.regions = regions;\r\n }\r\n },\r\n actions: {\r\n initialize({ commit }) {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n commit('initialized', {\r\n allocationTypes: allocationTypes,\r\n regions: regions\r\n });\r\n resolve();\r\n }\r\n catch (e) {\r\n console.error(e);\r\n reject();\r\n }\r\n });\r\n }\r\n },\r\n getters: {\r\n allocationTypes(state) {\r\n // Convert allocationTypes array to object with key/values\r\n return state.allocationTypes.reduce((accumulator, currentValue) =>\r\n {\r\n accumulator[currentValue.key] = currentValue.label; \r\n return accumulator; \r\n }, {});\r\n },\r\n allocationTypesReport(state) {\r\n // Convert allocationTypes array to object with key/values\r\n return state.allocationTypes;\r\n },\r\n regions(state) {\r\n // Convert allocationTypes array to object with key/values\r\n return state.regions;\r\n }\r\n }\r\n});\r\n","import { milestones } from '@/repositories/devdata';\r\n\r\nexport default ({\r\n namespaced: true,\r\n state: {\r\n milestones: []\r\n },\r\n mutations: {\r\n initialized(state, { milestones }) {\r\n state.milestones = milestones;\r\n }\r\n },\r\n actions: {\r\n initialize({ commit }) {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n commit('initialized', {\r\n milestones: milestones\r\n });\r\n resolve();\r\n }\r\n catch (e) {\r\n console.error(e);\r\n reject();\r\n }\r\n });\r\n }\r\n },\r\n getters: {\r\n milestones(state) { return state.milestones; }\r\n }\r\n});\r\n","import ApiState from '../../enums/APISTATE';\r\nimport Repository from '@/repositories/RepositoryFactory';\r\n\r\nconst AllocationsRepository = Repository.get('allocations');\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {\r\n apiState: ApiState.INIT,\r\n allocations: []\r\n },\r\n mutations: {\r\n setApiState(state, apiState) {\r\n state.apiState = apiState;\r\n },\r\n setAllocations(state, allocationsResponse) {\r\n const {data} = allocationsResponse;\r\n state.allocations = data;\r\n state.apiState = ApiState.LOADED;\r\n },\r\n },\r\n actions: {\r\n async loadReplacementAllocationsForCurrentWeek({commit}) {\r\n commit('setApiState', ApiState.LOADING);\r\n try {\r\n commit('setAllocations', await AllocationsRepository.getReplacementAllocationsCurrentWeek());\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setApiState', ApiState.ERROR);\r\n }\r\n },\r\n },\r\n getters: {\r\n replacementAllocationsApiState: (state) => state.apiState,\r\n replacementAllocations: (state) => state.allocations,\r\n }\r\n}","import allocations from './repositories/allocations';\r\nimport circlesRepository from './repositories/circlesRepository';\r\nimport employees from './repositories/employees';\r\nimport forecasts from './repositories/forecasts';\r\nimport milestones from './repositories/milestones';\r\nimport overallocations from './repositories/overallocations';\r\nimport groups from './repositories/groups';\r\n\r\nexport default {\r\n allocations,\r\n circlesRepository,\r\n employees,\r\n forecasts,\r\n milestones,\r\n overallocations,\r\n groups\r\n};\r\n","import data from '@/data';\r\nimport Vue from 'vue';\r\n\r\nexport default ({\r\n namespaced: true,\r\n state: {\r\n fromDate: Date(),\r\n toDate: Date(),\r\n teamFilter: null,\r\n forRegion: null,\r\n groupBy: 'PROJECT',\r\n lookup: {\r\n employees: {},\r\n teams: {},\r\n clients: {},\r\n circles: {},\r\n allocations: {},\r\n milestones: {},\r\n overallocations: {\r\n byEmployee: {},\r\n byCircle: {},\r\n byEmployeeCircle: {},\r\n },\r\n forecasts: {\r\n byEmployee: {},\r\n byProject: {},\r\n byEmployeeProject: {},\r\n },\r\n groups: {},\r\n regions: {}\r\n },\r\n teams: [],\r\n employees: [],\r\n clients: [],\r\n circles: [],\r\n allocations: [],\r\n milestones: [],\r\n groups: [],\r\n regions:[],\r\n forecastType: 'FUTURE_PLANNED',\r\n colors: [\r\n 'orange',\r\n 'green',\r\n 'aqua',\r\n 'blue',\r\n 'purple',\r\n 'magenta',\r\n 'red',\r\n 'gray',\r\n 'black',\r\n ],\r\n colorsHex: [\r\n '#fa6400',\r\n '#1e8c0a',\r\n '#3ca0c8',\r\n '#004696',\r\n '#78328c',\r\n '#d22864',\r\n '#d20a0a',\r\n '#888',\r\n '#222',\r\n ],\r\n },\r\n mutations: {\r\n initialized(state, { teamFilter, groupBy, fromDate, toDate, clients, employees, circles, allocations, milestones, groups, regions }) {\r\n\r\n // If group by has changed - reset forecast type\r\n if(state.groupBy !== groupBy) {\r\n // eslint-disable-next-line\r\n state.forecastType = 'FUTURE_PLANNED';\r\n }\r\n\r\n // eslint-disable-next-line\r\n state.teamFilter = teamFilter;\r\n\r\n // eslint-disable-next-line\r\n state.groupBy = groupBy;\r\n\r\n // eslint-disable-next-line\r\n state.fromDate = fromDate;\r\n\r\n // eslint-disable-next-line\r\n state.toDate = toDate;\r\n\r\n // eslint-disable-next-line\r\n state.clients = clients;\r\n // eslint-disable-next-line\r\n state.lookup.clients = clients?.reduce((map, obj) => {\r\n map[obj.id] = obj;\r\n return map;\r\n }, {});\r\n // eslint-disable-next-line\r\n state.lookup.employees = employees?.reduce((map, obj) => {\r\n map[obj.id] = obj;\r\n return map;\r\n }, {});\r\n // eslint-disable-next-line\r\n state.employees = employees;\r\n // eslint-disable-next-line\r\n state.lookup.teams = employees?.reduce((map, obj) => {\r\n if(obj.teamId && !map[obj.teamId]) {\r\n map[obj.teamId] = { id: obj.teamId, name: obj.teamName };\r\n }\r\n return map;\r\n }, {});\r\n // eslint-disable-next-line\r\n state.teams = Object.values(state.lookup.teams);\r\n \r\n // eslint-disable-next-line\r\n state.allocations = allocations;\r\n state.lookup.allocations = allocations?.reduce((map, obj) => {\r\n map[obj.id] = obj;\r\n return map;\r\n }, {});\r\n // eslint-disable-next-line\r\n state.milestones = milestones;\r\n state.lookup.milestones = milestones?.reduce((map, obj) => {\r\n map[obj.id] = obj;\r\n return map;\r\n }, {});\r\n \r\n // eslint-disable-next-line\r\n state.groups = groups;\r\n state.lookup.groups = groups?.reduce((map, obj) => {\r\n map[obj.id] = obj;\r\n return map;\r\n }, {});\r\n\r\n // eslint-disable-next-line\r\n state.regions = regions;\r\n state.lookup.regions = regions?.reduce((map, obj) => {\r\n map[obj.id] = obj;\r\n return map;\r\n }, {});\r\n\r\n // eslint-disable-next-line\r\n state.circles = circles;\r\n state.lookup.circles = circles?.reduce((map, obj) => {\r\n map[obj.id] = obj;\r\n return map;\r\n }, {});\r\n // Add default absence project\r\n if (state.circles.findIndex(q => q.id === null) === -1) {\r\n state.circles.unshift({\r\n id: null,\r\n title: 'Ferie/Fri',\r\n code: '',\r\n colorCode: 'black'\r\n });\r\n }\r\n },\r\n periodChanged(state, { fromDate, toDate, teamFilter, forRegion, circles, allocations, milestones, employees }) {\r\n // eslint-disable-next-line\r\n state.fromDate = fromDate;\r\n\r\n // eslint-disable-next-line\r\n state.toDate = toDate;\r\n\r\n state.teamFilter = teamFilter;\r\n\r\n state.forRegion = forRegion;\r\n \r\n // // eslint-disable-next-line\r\n // state.lookup.employees = employees?.reduce((map, obj) => {\r\n // map[obj.id] = obj;\r\n // return map;\r\n // }, {});\r\n // // eslint-disable-next-line\r\n // state.employees = employees;\r\n\r\n // // eslint-disable-next-line\r\n // state.circles = circles;\r\n // state.lookup.circles = circles?.reduce((map, obj) => {\r\n // map[obj.id] = obj;\r\n // return map;\r\n // }, {});\r\n\r\n // // Add default absence project\r\n // if (state.circles.findIndex(q => q.id === null) === -1) {\r\n // state.circles.unshift({\r\n // id: null,\r\n // title: 'Ferie/Fri',\r\n // code: '',\r\n // colorCode: 'black'\r\n // });\r\n // }\r\n\r\n // eslint-disable-next-line\r\n state.allocations = allocations;\r\n state.lookup.allocations = allocations?.reduce((map, obj) => {\r\n map[obj.id] = obj;\r\n return map;\r\n }, {});\r\n\r\n // eslint-disable-next-line\r\n state.lookup.employees = employees?.reduce((map, obj) => {\r\n map[obj.id] = obj;\r\n return map;\r\n }, {});\r\n // eslint-disable-next-line\r\n state.employees = employees;\r\n // eslint-disable-next-line\r\n state.lookup.teams = employees?.reduce((map, obj) => {\r\n if(obj.teamId && !map[obj.teamId]) {\r\n map[obj.teamId] = { id: obj.teamId, name: obj.teamName };\r\n }\r\n return map;\r\n }, {});\r\n // eslint-disable-next-line\r\n state.teams = Object.values(state.lookup.teams);\r\n },\r\n allocationAdded(state, { allocation }) {\r\n state.allocations.push(allocation);\r\n state.lookup.allocations = state.allocations?.reduce((map, obj) => {\r\n map[obj.id] = obj;\r\n return map;\r\n }, {});\r\n },\r\n allocationDeleted(state, { allocationId }) {\r\n var allocationToLookup = state.lookup.allocations[allocationId];\r\n state.allocations.splice(state.allocations.indexOf(allocationToLookup), 1);\r\n state.lookup.allocations = state.allocations.reduce((map, obj) => {\r\n map[obj.id] = obj;\r\n return map;\r\n }, {});\r\n },\r\n allocationUpdated(state, { allocation }) {\r\n var allocationToUpdate = state.lookup.allocations[allocation.id];\r\n\r\n Object.assign(allocationToUpdate, allocation);\r\n state.lookup.allocations = state.allocations.reduce((map, obj) => {\r\n map[obj.id] = obj;\r\n return map;\r\n }, {});\r\n },\r\n allocationsAddOrUpdate(state, {allocations}) {\r\n if (Array.isArray(allocations)) {\r\n allocations.forEach(allocation => {\r\n if (Object.prototype.hasOwnProperty.call(state.lookup.allocations, allocation.id)) {\r\n // update existing allocation in state.allocations\r\n const existing = state.allocations.find(q => q.id === allocation.id);\r\n if (existing) {\r\n Object.assign(existing, allocation);\r\n }\r\n }\r\n else {\r\n // add new allocation to state.allocations\r\n state.allocations.push(allocation);\r\n }\r\n // update or add allocation to state.lookup.allocations\r\n Vue.set(state.lookup.allocations, allocation.id, allocation);\r\n });\r\n }\r\n },\r\n // Remove allocations with the specified allocationId as their parentAllocationId\r\n // The allocations are only removed from the frontend state.\r\n removeChildAllocations(state, {allocationId}) {\r\n state.allocations = state.allocations.filter(q => q.parentAllocationId !== allocationId);\r\n Object.values(state.lookup.allocations).forEach(lookupAllocation => {\r\n if (lookupAllocation.parentAllocationId === allocationId) {\r\n Vue.delete(state.lookup.allocations, lookupAllocation.id);\r\n }\r\n })\r\n },\r\n milestoneAdded(state, { milestone }) {\r\n state.milestones.push(milestone);\r\n state.lookup.milestones = state.milestones.reduce((map, obj) => {\r\n map[obj.id] = obj;\r\n return map;\r\n }, {});\r\n },\r\n milestoneDeleted(state, { milestoneId }) {\r\n var milestoneToLookup = state.lookup.milestones[milestoneId];\r\n state.milestones.splice(state.milestones.indexOf(milestoneToLookup), 1);\r\n state.lookup.milestones = state.milestones.reduce((map, obj) => {\r\n map[obj.id] = obj;\r\n return map;\r\n }, {});\r\n },\r\n milestoneUpdated(state, { milestone }) {\r\n var milestoneToUpdate = state.lookup.milestones[milestone.id];\r\n\r\n Object.assign(milestoneToUpdate, milestone);\r\n state.lookup.milestones = state.milestones.reduce((map, obj) => {\r\n map[obj.id] = obj;\r\n return map;\r\n }, {});\r\n },\r\n overallocationUpdated(state, { overallocations }) {\r\n // eslint-disable-next-line\r\n state.lookup.overallocations.byEmployeeCircle = overallocations?.reduce((map, obj) => {\r\n if(!map[`${obj.employeeId}-${obj.circleId}`])\r\n map[`${obj.employeeId}-${obj.circleId}`] = [];\r\n\r\n map[`${obj.employeeId}-${obj.circleId}`].push(obj);\r\n return map;\r\n }, {}) ?? {};\r\n\r\n // eslint-disable-next-line\r\n state.lookup.overallocations.byEmployee = overallocations?.reduce((map, obj) => {\r\n if(!map[obj.employeeId])\r\n map[obj.employeeId] = [];\r\n\r\n map[obj.employeeId].push(obj);\r\n return map;\r\n }, {}) ?? {};\r\n\r\n // eslint-disable-next-line\r\n state.lookup.overallocations.byCircle = overallocations?.reduce((map, obj) => {\r\n if(!map[obj.circleId])\r\n map[obj.circleId] = [];\r\n\r\n map[obj.circleId].push(obj);\r\n return map;\r\n }, {}) ?? {};\r\n },\r\n forecastUpdated(state, { forecasts, forecastKey }) {\r\n // eslint-disable-next-line\r\n state.forecastType = forecastKey;\r\n\r\n // eslint-disable-next-line\r\n state.lookup.forecasts.byEmployeeProject = forecasts?.reduce((map, obj) => {\r\n if(!map[`${obj.employeeId}-${obj.circleId}`])\r\n map[`${obj.employeeId}-${obj.circleId}`] = [];\r\n\r\n map[`${obj.employeeId}-${obj.circleId}`].push(obj);\r\n return map;\r\n }, {});\r\n\r\n // eslint-disable-next-line\r\n state.lookup.forecasts.byEmployee = forecasts?.reduce((map, obj) => {\r\n if(!map[obj.employeeId])\r\n map[obj.employeeId] = [];\r\n\r\n map[obj.employeeId].push(obj);\r\n return map;\r\n }, {});\r\n\r\n // eslint-disable-next-line\r\n state.lookup.forecasts.byProject = forecasts?.reduce((map, obj) => {\r\n if(!map[obj.circleId])\r\n map[obj.circleId] = [];\r\n\r\n map[obj.circleId].push(obj);\r\n return map;\r\n }, {});\r\n },\r\n },\r\n actions: {\r\n initialize({ commit, state, dispatch }, { teamFilter, groupBy, fromDate, toDate, forRegion }) {\r\n \r\n // Fetch metadata\r\n return Promise.all([\r\n //data.clients.getActive(),\r\n data.employees.getActiveInPeriod(fromDate, toDate),\r\n data.circlesRepository.getForPeriod(fromDate, toDate, null),\r\n data.allocations.getForPeriod(fromDate, toDate, teamFilter, forRegion),\r\n data.groups.getForPeriod(fromDate, toDate, null)\r\n ])\r\n .then((response) => {\r\n commit('initialized', {\r\n teamFilter: teamFilter,\r\n groupBy: groupBy,\r\n fromDate: fromDate,\r\n toDate: toDate,\r\n forRegion: forRegion,\r\n clients: null, //response[0].data,\r\n employees: response[0],\r\n circles: response[1],\r\n allocations: response[2],\r\n groups: response[3],\r\n regions: [{id: 'syd', name: 'syd'}, {id: 'nord', name: 'nord'}]\r\n });\r\n dispatch('updateOverallocations');\r\n dispatch('updateForecasts', { forecastKey: state.forecastType });\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n },\r\n changePeriod({ commit, state, dispatch }, { fromDate, toDate, teamFilter, forRegion }) {\r\n // Fetch metadata\r\n return Promise.all([\r\n data.allocations.getForPeriod(fromDate, toDate, teamFilter, forRegion),\r\n data.employees.getActiveInPeriod(fromDate, toDate)\r\n ])\r\n .then((response) => {\r\n commit('periodChanged', {\r\n fromDate: fromDate,\r\n toDate: toDate,\r\n teamFilter: teamFilter,\r\n forRegion: forRegion,\r\n allocations: response[0]/*.data*/,\r\n employees: response[1]\r\n });\r\n this.fetchEmployees(fromDate, toDate);\r\n dispatch('updateOverallocations');\r\n dispatch('updateForecasts', { forecastKey: state.forecastType });\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n },\r\n // fetchEmployees({commit, state}, fromDate, toDate){\r\n // console.log('im hit')\r\n // data.employees.getActiveInPeriod(fromDate, toDate).then(response => {\r\n\r\n // commit('initialized', {\r\n // teamFilter: state.teamFilter,\r\n // groupBy: state.groupBy,\r\n // fromDate: fromDate,\r\n // toDate: toDate,\r\n // forRegion: state.forRegion,\r\n // clients: null, //response[0].data,\r\n // employees: response,\r\n // circles: state.circles,\r\n // allocations: state.allocations,\r\n // groups: state.groups,\r\n // regions: state.regions})\r\n // }\r\n // );\r\n // },\r\n addAllocation({ commit, state, dispatch }, dto) {\r\n\r\n return data.allocations\r\n .create(dto.allocationType, dto.circleId, dto.employeeId, dto.startDate, dto.allocationSpanInDays, dto.groupId)\r\n .then((response) => {\r\n commit('allocationAdded', {\r\n allocation: response.data\r\n });\r\n dispatch('updateOverallocations');\r\n dispatch('updateForecasts', { forecastKey: state.forecastType });\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n },\r\n updateAllocation({ commit, state, dispatch }, { allocation }) {\r\n const retrieveChildren = !!(allocation.attachNewAllocation);\r\n const existingAllocation = state.allocations.find(q => q.id === allocation.id);\r\n const removeChildren = existingAllocation.replacementId !== null && allocation.replacementId === null;\r\n return data.allocations\r\n .update(allocation)\r\n .then((response) => {\r\n commit('allocationUpdated', {\r\n allocation: response.data\r\n });\r\n if (removeChildren) {\r\n data.allocations\r\n .getForParent(allocation.id)\r\n .then((response) => {\r\n if (Array.isArray(response.data)) {\r\n for (let childAllocation of response.data) {\r\n dispatch('deleteAllocation', {\r\n allocationId: childAllocation.id,\r\n updateTag: childAllocation._UpdateTag\r\n });\r\n }\r\n }\r\n })\r\n .catch((error) => console.error(error));\r\n }\r\n if (retrieveChildren) {\r\n dispatch('updateChildAllocations', allocation.id);\r\n }\r\n dispatch('updateOverallocations');\r\n dispatch('updateForecasts', { forecastKey: state.forecastType });\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n },\r\n deleteAllocation({ commit, state, dispatch }, { allocationId, updateTag }) {\r\n return data.allocations\r\n .delete(allocationId, updateTag)\r\n .then(() => {\r\n commit('allocationDeleted', {\r\n allocationId: allocationId\r\n });\r\n dispatch('updateOverallocations');\r\n dispatch('updateForecasts', { forecastKey: state.forecastType });\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n },\r\n // Insert or update children of the specified allocation, into the allocations lookup\r\n updateChildAllocations({commit, state, dispatch}, allocationId) {\r\n \r\n return data.allocations\r\n .getForParent(allocationId)\r\n .then((response) => {\r\n if (Array.isArray(response.data)) {\r\n commit('removeChildAllocations', { allocationId });\r\n commit('allocationsAddOrUpdate', { allocations: response.data });\r\n }\r\n dispatch('updateOverallocations');\r\n dispatch('updateForecasts', { forecastKey: state.forecastType });\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n })\r\n },\r\n addMilestone({ commit }, {\r\n name,\r\n circleId,\r\n milestoneType,\r\n date,\r\n percentageCompleted }) {\r\n return data.milestones\r\n .create(name, milestoneType, circleId, date, percentageCompleted)\r\n .then((response) => {\r\n commit('milestoneAdded', {\r\n milestone: response.data\r\n });\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n },\r\n updateMilestone({ commit }, { milestone }) {\r\n return data.milestones\r\n .update(milestone)\r\n .then((response) => {\r\n commit('milestoneUpdated', {\r\n milestone: response.data\r\n });\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n },\r\n deleteMilestone({ commit }, { milestoneId, updateTag }) {\r\n return data.milestones\r\n .delete(milestoneId, updateTag)\r\n .then(() => {\r\n commit('milestoneDeleted', {\r\n milestoneId: milestoneId\r\n });\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n },\r\n updateOverallocations({ commit, state }) {\r\n return data.overallocations\r\n .getForPeriod(state.fromDate, state.toDate, state.teamFilter) \r\n .then((response) => {\r\n commit('overallocationUpdated', {\r\n overallocations: response.data //.data\r\n });\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n },\r\n updateForecasts({ commit, state }, { forecastKey }) {\r\n return data.forecasts\r\n .getFromDate(forecastKey, state.fromDate, null)\r\n .then((response) => {\r\n commit('forecastUpdated', {\r\n forecasts: response,\r\n forecastKey: forecastKey,\r\n });\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n },\r\n },\r\n getters: {\r\n teamFilter(state) { return state.teamFilter; },\r\n groupBy(state) { return state.groupBy; },\r\n forecastType(state) { return state.forecastType; },\r\n teams(state) { return state.teams; },\r\n employees(state) { return state.employees; },\r\n employeeLookup(state) { return state.lookup.employees; },\r\n clients(state) { return state.clients; },\r\n clientLookup(state) { return state.lookup.clients; },\r\n circleLookup(state) { return state.lookup.circles; },\r\n circles(state) { return state.circles; },\r\n allocations(state) { return state.allocations; },\r\n milestones(state) { return state.milestones; },\r\n overallocations(state) { return state.lookup.overallocations; },\r\n forecasts(state) { return state.lookup.forecasts; }, \r\n colors(state) { return state.colors; },\r\n colorsHex(state) { return state.colorsHex; },\r\n groups(state) { return state.groups; },\r\n regions(state) { return state.regions; },\r\n },\r\n});\r\n","import Repository from \"@/repositories/RepositoryFactory\";\r\nimport ENUM from \"../../enums/APISTATE\";\r\nimport moment from 'moment';\r\n\r\nconst GroupCommentRepository = Repository.get(\"groupComments\");\r\nconst GroupRepository = Repository.get(\"groups\");\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {\r\n apiState: ENUM.INIT,\r\n apiStateDashboard: ENUM.INIT,\r\n groupComments: [],\r\n groupComment: {}, \r\n groupCommentsDashboard: [],\r\n lookupArgs: null,\r\n editingGroupComment: null,\r\n groupCommentMeta: { group: '', date: '' }\r\n },\r\n\r\n mutations: {\r\n setApiState: (state, apiState) => {\r\n state.apiState = apiState;\r\n },\r\n setApiStateDashboard: (state, apiState) => {\r\n state.apiStateDashboard = apiState;\r\n },\r\n setGroupComments: (state, groupCommentsResponse) => {\r\n const {data} = groupCommentsResponse;\r\n state.groupComments = data;\r\n state.apiState = ENUM.LOADED;\r\n },\r\n setGroupCommentsDashboard: (state, respones) => {\r\n const {data} = respones;\r\n state.groupCommentsDashboard = data;\r\n state.apiStateDashboard = ENUM.LOADED;\r\n },\r\n setGroupComment: (state, groupCommentResponse) => {\r\n const {data} = groupCommentResponse;\r\n state.groupComment = data;\r\n state.apiState = ENUM.LOADED;\r\n },\r\n setLookupArgs: (state, lookupArgs) => {\r\n state.lookupArgs = lookupArgs;\r\n },\r\n setEditingGroupComment: (state, groupCommentResponse) => {\r\n const {data} = groupCommentResponse;\r\n state.editingGroupComment = data;\r\n state.apiState = ENUM.LOADED;\r\n },\r\n setGroupCommentMetaGroup: (state, groupResponse) => {\r\n const {data} = groupResponse;\r\n state.groupCommentMeta.group = data.title;\r\n },\r\n setGroupCommentMetaDate: (state, date) => {\r\n state.groupCommentMeta.date = moment(date).format(\"D. MMMM\");\r\n },\r\n setCleared: (state) => {\r\n state.apiState = ENUM.LOADED;\r\n state.apiStateDashboard = ENUM.LOADED;\r\n state.groupComments= [];\r\n state.groupComment = {};\r\n state.groupCommentsDashboard = [];\r\n state.lookupArgs = null;\r\n state.editingGroupComment = null;\r\n state.groupCommentMeta = { group: '', date: '' };\r\n }\r\n },\r\n\r\n actions: {\r\n clear({commit}) {\r\n commit('setCleared');\r\n },\r\n\r\n // Load all groupComments for the given group and date-range.\r\n async loadGroupComments({commit, dispatch}, {fromDate, toDate, forGroup}) {\r\n dispatch('cancelEditingGroupComment');\r\n commit('setApiState', ENUM.LOADING);\r\n try {\r\n if (forGroup === null) {\r\n commit('setCleared');\r\n }\r\n else {\r\n commit('setLookupArgs', {fromDate, toDate, forGroup});\r\n commit('setGroupComments', await GroupCommentRepository.get(fromDate, toDate, forGroup));\r\n }\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setApiState', ENUM.ERROR);\r\n }\r\n },\r\n \r\n async loadGroupCommentsDashboard({commit, dispatch}, {fromDate, toDate}) {\r\n dispatch('cancelEditingGroupComment');\r\n commit('setApiStateDashboard', ENUM.LOADING);\r\n try {\r\n commit('setGroupCommentsDashboard', await GroupCommentRepository.getGroupCommentsDashboard(fromDate, toDate));\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setApiStateDashboard', ENUM.ERROR);\r\n }\r\n },\r\n\r\n // Load the groupComment for the given date and group.\r\n async loadGroupComment({commit}, {forDate, forGroup}) {\r\n commit('setApiState', ENUM.LOADING);\r\n try {\r\n if (forGroup === null) {\r\n commit('setCleared');\r\n }\r\n else {\r\n commit('setGroupCommentMetaGroup', await GroupRepository.getById(forGroup));\r\n commit('setGroupCommentMetaDate', forDate);\r\n commit('setGroupComment', await GroupCommentRepository.getForDayAndGroup(forDate, forGroup));\r\n }\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setApiState', ENUM.ERROR);\r\n }\r\n },\r\n\r\n async createOrUpdateGroupComment({commit, dispatch, state}, groupCommentModel) {\r\n commit('setApiState', ENUM.LOADING);\r\n try {\r\n await GroupCommentRepository.createOrUpdate(groupCommentModel);\r\n dispatch('loadGroupComments', state.lookupArgs);\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setApiState', ENUM.ERROR);\r\n }\r\n },\r\n\r\n // Open the groupComment sidebar and load the comment for the given date and the group-reference stored in lookupArgs.\r\n // Do nothing, if no group-reference is set.\r\n async editGroupComment({commit, state}, forDate) {\r\n if (state.lookupArgs === null)\r\n return;\r\n\r\n commit('setEditingGroupComment', {data: {}}); // show modal immediately\r\n commit('setApiState', ENUM.LOADING);\r\n try {\r\n commit('setGroupCommentMetaGroup', await GroupRepository.getById(state.lookupArgs.forGroup));\r\n commit('setGroupCommentMetaDate', forDate);\r\n commit('setEditingGroupComment', await GroupCommentRepository.getForDayAndGroup(forDate, state.lookupArgs.forGroup));\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setApiState', ENUM.ERROR);\r\n commit('setEditingGroupComment', {data: null});\r\n }\r\n },\r\n\r\n // Commit the currently edited groupComment\r\n async commitEditingGroupComment({commit, state, dispatch}, updatedGroupCommentModel) {\r\n commit('setApiState', ENUM.LOADING);\r\n try {\r\n await GroupCommentRepository.createOrUpdate(updatedGroupCommentModel);\r\n await dispatch('loadGroupComments', state.lookupArgs);\r\n dispatch('cancelEditingGroupComment');\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setApiState', ENUM.ERROR);\r\n }\r\n },\r\n\r\n // Close the groupComment sidebar\r\n cancelEditingGroupComment({commit}) {\r\n commit('setEditingGroupComment', { data: null });\r\n }\r\n },\r\n\r\n getters: {\r\n groupCommentsApiStateDashboard: (state) => state.apiStateDashboard,\r\n groupCommentsApiState: (state) => state.apiState,\r\n groupComment: (state) => state.groupComment,\r\n groupComments: (state) => state.groupComments,\r\n groupCommentMeta: (state) => state.groupCommentMeta,\r\n editingGroupComment: (state) => state.editingGroupComment,\r\n groupCommentsDashboard: (state) => state.groupCommentsDashboard,\r\n }\r\n};\r\n","import Repository from '@/repositories/RepositoryFactory';\r\nimport ApiState from \"../../enums/APISTATE\";\r\n\r\nconst reports = Repository.get('reports');\r\n\r\nexport default ({\r\n namespaced: true,\r\n state: {\r\n reportForPeriodApiState: ApiState.INIT,\r\n replacementReportForPeriodApiState: ApiState.INIT,\r\n monthReportApiState: ApiState.INIT,\r\n monthReportForPeriodApiState: ApiState.INIT,\r\n monthReportGroupApiState: ApiState.INIT,\r\n reportForPeriod: [],\r\n replacementReportForPeriod: [],\r\n monthReport: [],\r\n monthReportForPeriod: [],\r\n monthReportGroup: [],\r\n yearlyReport: [], \r\n yearlyReportApiState: ApiState.INIT,\r\n reportNotification: [],\r\n reportNotificationApiState: ApiState.INIT,\r\n generalReportForPeriodApiState: ApiState.INIT,\r\n generalReportForPeriod: [],\r\n driveReportForPeriod: [],\r\n driveReportForPeriodApiState: ApiState.INIT,\r\n timeOffForPeriod: [],\r\n timeOffForPeriodApiState: ApiState.INIT\r\n },\r\n mutations: {\r\n setReportForPeriodApiState: (state, apiState) => {\r\n state.reportForPeriodApiState = apiState;\r\n },\r\n setMonthReportGroupApiState(state, apiState) {\r\n state.monthReportGroupApiState = apiState;\r\n },\r\n setReplacementReportForPeriodApiState: (state, apiState) => {\r\n state.replacementReportForPeriodApiState = apiState;\r\n },\r\n setMonthReportForPeriodApiState: (state, apiState) => {\r\n state.monthReportForPeriodApiState = apiState;\r\n },\r\n setMonthReportApiState: (state, apiState) => {\r\n state.monthReportApiState = apiState;\r\n },\r\n setReportForPeriod(state, response) {\r\n const { data } = response;\r\n state.reportForPeriod = data;\r\n state.reportForPeriodApiState = ApiState.LOADED;\r\n },\r\n setReplacementReportForPeriod(state, response) {\r\n const { data } = response;\r\n state.replacementReportForPeriod = data;\r\n state.replacementReportForPeriodApiState = ApiState.LOADED;\r\n },\r\n setMonthReportForPeriod(state, response) {\r\n const { data } = response;\r\n state.monthReportForPeriod = data;\r\n state.monthReportForPeriodApiState = ApiState.LOADED;\r\n },\r\n setMonthReport(state, response) {\r\n const { data } = response;\r\n state.monthReport = data;\r\n state.monthReportApiState = ApiState.LOADED;\r\n },\r\n setMonthReportGroup(state, response) {\r\n const { data } = response;\r\n state.monthReportGroup = data;\r\n state.monthReportGroupApiState = ApiState.LOADED;\r\n },\r\n setYearlyReport(state, response){\r\n const { data } = response;\r\n state.yearlyReport = data;\r\n state.yearlyReportApiState = ApiState.LOADED;\r\n },\r\n setYearlyReportApiState: (state, apiState) => {\r\n state.yearlyReportApiState = apiState;\r\n },\r\n setReportNotification(state, response){\r\n const { data } = response;\r\n state.reportNotification = data;\r\n state.reportNotificationApiState = ApiState.LOADED;\r\n },\r\n setReportNotificationApiState: (state, apiState) => {\r\n state.reportNotificationApiState = apiState;\r\n },\r\n setGeneralReportForPeriod(state, response){\r\n const { data } = response;\r\n state.generalReportForPeriod = data;\r\n state.generalReportForPeriodApiState = ApiState.LOADED;\r\n },\r\n setGeneralReportForPeriodApiState: (state, apiState) => {\r\n state.generalReportForPeriodApiState = apiState;\r\n },\r\n setDriveReportForPeriod(state, response){\r\n const { data } = response;\r\n state.driveReportForPeriod = data;\r\n state.driveReportForPeriodApiState = ApiState.LOADED;\r\n },\r\n setAbsenceStatisticsForPeriod(state, response){\r\n const { data } = response;\r\n state.monthReportForPeriod = data;\r\n state.monthReportForPeriodApiState = ApiState.LOADED;\r\n },\r\n setDriveReportForPeriodApiState: (state, apiState) => {\r\n state.driveReportForPeriodApiState = apiState;\r\n },\r\n setTimeOffForPeriod(state, response){\r\n const { data } = response;\r\n state.timeOffForPeriod = data;\r\n state.timeOffForPeriodApiState = ApiState.LOADED;\r\n },\r\n setTimeOffForPeriodApiState: (state, apiState) => {\r\n state.timeOffForPeriodApiState = apiState;\r\n },\r\n initialized(state, { reportForPeriod, replacementReportForPeriod }) {\r\n state.reportForPeriod = reportForPeriod;\r\n state.replacementReportForPeriodApiState = replacementReportForPeriod;\r\n }\r\n },\r\n actions: {\r\n async getReportForPeriod({ commit }, dto) {\r\n commit('setReportForPeriodApiState', ApiState.LOADING);\r\n try {\r\n commit('setReportForPeriod', await reports.getReportForPeriod(dto.startDate, dto.endDate, dto.forGroup));\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setReportForPeriodApiState', ApiState.ERROR);\r\n }\r\n },\r\n async getReplacementReportForPeriod({ commit }, dto) {\r\n commit('setReplacementReportForPeriodApiState', ApiState.LOADING);\r\n try {\r\n commit('setReplacementReportForPeriod', await reports.getReplacementReportForPeriod(dto.startDate, dto.endDate, dto.forRegion));\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setReplacementReportForPeriodApiState', ApiState.ERROR);\r\n }\r\n },\r\n async getGeneralReportForPeriod({ commit }, dto) {\r\n commit('setGeneralReportForPeriodApiState', ApiState.LOADING);\r\n try {\r\n commit('setGeneralReportForPeriod', await reports.getGeneralReportForPeriod(dto.startDate, dto.endDate, dto.forGroup, dto.forRegion));\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setGeneralReportForPeriodApiState', ApiState.ERROR);\r\n }\r\n },\r\n \r\n async getAbsenceStatisticsForPeriod({ commit }, dto) {\r\n commit('setMonthReportForPeriodApiState', ApiState.LOADING);\r\n try {\r\n commit('setMonthReportForPeriod', await reports.getAbsenceStatisticsForPeriod(dto.startDate, dto.endDate, dto.forGroup, dto.forUser));\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setMonthReportForPeriodApiState', ApiState.ERROR);\r\n }\r\n },\r\n async getDriveReportForPeriod({ commit }, dto) {\r\n commit('setDriveReportForPeriodApiState', ApiState.LOADING);\r\n try {\r\n commit('setDriveReportForPeriod', await reports.getDriveReportForPeriod(dto.startDate, dto.endDate, dto.forGroup, dto.forUser));\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setDriveReportForPeriodApiState', ApiState.ERROR);\r\n }\r\n },\r\n async getTimeOffForPeriod({ commit }, dto) {\r\n commit('setTimeOffForPeriodApiState', ApiState.LOADING);\r\n try {\r\n commit('setTimeOffForPeriod', await reports.getTimeOffForPeriod(dto.startDate, dto.endDate, dto.forGroup, dto.forUser));\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setTimeOffForPeriodApiState', ApiState.ERROR);\r\n }\r\n },\r\n async getMonthReport({ commit }, dto) {\r\n commit('setMonthReportApiState', ApiState.LOADING);\r\n try {\r\n commit('setMonthReport', await reports.getMonthReport(dto.year, dto.month, dto.forUser));\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setMonthReportApiState', ApiState.ERROR);\r\n }\r\n },\r\n async approveAllMonthReport({ commit }, dto) {\r\n commit('setMonthReportApiState', ApiState.LOADING);\r\n try {\r\n commit('setMonthReport', await reports.approveAllMonthReport(dto.year, dto.month, dto.forUser));\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setMonthReportApiState', ApiState.ERROR);\r\n }\r\n },\r\n async approveMonthReport({ commit }, dto) {\r\n try {\r\n await reports.approveMonthReport(dto.date, dto.forUser);\r\n }\r\n catch (error) {\r\n console.error(error);\r\n }\r\n },\r\n async getMonthGroupReport({ commit }, dto) {\r\n commit('setMonthReportGroupApiState', ApiState.LOADING);\r\n try {\r\n commit('setMonthReportGroup', await reports.getMonthGroupReport(dto.year, dto.month, dto.forGroup, dto.forRegion));\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setMonthReportGroupApiState', ApiState.ERROR);\r\n }\r\n },\r\n async getYearlyReport({ commit }, dto) {\r\n commit('setYearlyReportApiState', ApiState.LOADING);\r\n try {\r\n console.log(await reports.getYearlyReport(dto.year, dto.forUser));\r\n commit('setYearlyReport', await reports.getYearlyReport(dto.year, dto.forUser));\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setYearlyReportApiState', ApiState.ERROR);\r\n }\r\n },\r\n async getReportNotification({ commit }, employeeId) {\r\n commit('setReportNotificationApiState', ApiState.LOADING);\r\n try {\r\n commit('setReportNotification', await reports.getReportNotification(employeeId));\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setReportNotificationApiState', ApiState.ERROR);\r\n }\r\n },\r\n async setGeneralReportForPeriod({commit}, generalReportForPeriod){\r\n const reports = {data: generalReportForPeriod}\r\n commit(\"setGeneralReportForPeriod\", reports)\r\n },\r\n async setDriveReportForPeriod({commit}, driveStaticsForPeriod){\r\n const reports = {data: driveStaticsForPeriod};\r\n commit(\"setDriveReportForPeriod\", reports);\r\n },\r\n async setAbsenceStatisticsForPeriod({commit}, absenceStatisticsForPeriod){\r\n const reports = {data: absenceStatisticsForPeriod};\r\n commit(\"setAbsenceStatisticsForPeriod\", reports);\r\n },\r\n async setTimeOffForPeriod({commit}, timeOffForPeriod){\r\n const reports = {data: timeOffForPeriod};\r\n commit(\"setTimeOffForPeriod\", reports);\r\n }\r\n },\r\n getters: {\r\n reportNotification(state) {\r\n return state.reportNotification;\r\n },\r\n reportForPeriodApiState(state) {\r\n return state.reportForPeriodApiState;\r\n },\r\n replacementReportForPeriodApiState(state) {\r\n return state.replacementReportForPeriodApiState;\r\n },\r\n monthReportApiState(state) {\r\n return state.monthReportApiState;\r\n },\r\n monthReportGroupApiState(state) {\r\n return state.monthReportGroupApiState;\r\n },\r\n monthReportForPeriodApiState(state) {\r\n return state.monthReportForPeriodApiState;\r\n },\r\n reportForPeriod(state) { \r\n return state.reportForPeriod; \r\n },\r\n replacementReportForPeriod(state) { \r\n return state.replacementReportForPeriod; \r\n },\r\n monthReport(state) { \r\n return state.monthReport; \r\n },\r\n monthReportGroup(state) { \r\n return state.monthReportGroup; \r\n },\r\n monthReportForPeriod(state) { \r\n return state.monthReportForPeriod; \r\n },\r\n yearlyReport(state) { \r\n return state.yearlyReport; \r\n },\r\n yearlyReportApiState(state) { \r\n return state.yearlyReportApiState; \r\n },\r\n generalReportForPeriod(state) { \r\n return state.generalReportForPeriod; \r\n },\r\n generalReportForPeriodApiState(state) { \r\n return state.generalReportForPeriodApiState; \r\n },\r\n driveReportForPeriod(state) { \r\n return state.driveReportForPeriod; \r\n },\r\n driveReportForPeriodApiState(state) { \r\n return state.driveReportForPeriodApiState; \r\n },\r\n timeOffForPeriod(state) { \r\n return state.timeOffForPeriod; \r\n },\r\n timeOffForPeriodApiState(state) { \r\n return state.timeOffForPeriodApiState; \r\n }\r\n }\r\n });","import Repository from \"@/repositories/RepositoryFactory\";\r\nimport groupRepository from \"../../repositories/groups\";\r\nimport gpsDataRepository from \"../../repositories/gpsDataRepository\";\r\nimport APISTATE from \"../../enums/APISTATE\";\r\n\r\nconst mockData = {\r\n rows: [\r\n {\r\n reportRowName: \"Hjemmetid HV\",\r\n hourlySalaryHV: 0,\r\n hourlySalarySH: 0,\r\n driveTimeHV: 0,\r\n driveTimeSH: 0,\r\n },\r\n {\r\n reportRowName: \"Hjemmetid SH\",\r\n hourlySalaryHV: 0,\r\n hourlySalarySH: 0,\r\n driveTimeHV: 0,\r\n driveTimeSH: 0,\r\n },\r\n {\r\n reportRowName: \"Besøg HV\",\r\n hourlySalaryHV: 0,\r\n hourlySalarySH: 0,\r\n driveTimeHV: 0,\r\n driveTimeSH: 0,\r\n },\r\n {\r\n reportRowName: \"Besøg HV med kode 23 (Minus)\",\r\n hourlySalaryHV: 0,\r\n hourlySalarySH: 0,\r\n driveTimeHV: 0,\r\n driveTimeSH: 0,\r\n },\r\n {\r\n reportRowName: \"Besøg SH\",\r\n hourlySalaryHV: 0,\r\n hourlySalarySH: 0,\r\n driveTimeHV: 0,\r\n driveTimeSH: 0,\r\n },\r\n {\r\n reportRowName: \"Besøg SH med kode 23 (Minus)\",\r\n hourlySalaryHV: 0,\r\n hourlySalarySH: 0,\r\n driveTimeHV: 0,\r\n driveTimeSH: 0,\r\n },\r\n {\r\n reportRowName: \"Insemineringer HV\",\r\n hourlySalaryHV: 0,\r\n hourlySalarySH: 0,\r\n driveTimeHV: 0,\r\n driveTimeSH: 0,\r\n },\r\n {\r\n reportRowName: \"Insemineringer SH\",\r\n hourlySalaryHV: 0,\r\n hourlySalarySH: 0,\r\n driveTimeHV: 0,\r\n driveTimeSH: 0,\r\n },\r\n {\r\n reportRowName: \"Drægtighedsundersøgelser HV\",\r\n hourlySalaryHV: 0,\r\n hourlySalarySH: 0,\r\n driveTimeHV: 0,\r\n driveTimeSH: 0,\r\n },\r\n {\r\n reportRowName: \"Drægtighedsundersøgelser SH\",\r\n hourlySalaryHV: 0,\r\n hourlySalarySH: 0,\r\n driveTimeHV: 0,\r\n driveTimeSH: 0,\r\n },\r\n {\r\n reportRowName: \"Øvrige behandlinger HV\",\r\n hourlySalaryHV: 0,\r\n hourlySalarySH: 0,\r\n driveTimeHV: 0,\r\n driveTimeSH: 0,\r\n },\r\n {\r\n reportRowName: \"Øvrige behandlinger SH\",\r\n hourlySalaryHV: 0,\r\n hourlySalarySH: 0,\r\n driveTimeHV: 0,\r\n driveTimeSH: 0,\r\n },\r\n {\r\n reportRowName: \"Forgæves besøg HV\",\r\n hourlySalaryHV: 0,\r\n hourlySalarySH: 0,\r\n driveTimeHV: 0,\r\n driveTimeSH: 0,\r\n },\r\n {\r\n reportRowName: \"Forgæves besøg SH\",\r\n hourlySalaryHV: 0,\r\n hourlySalarySH: 0,\r\n driveTimeHV: 0,\r\n driveTimeSH: 0,\r\n },\r\n {\r\n reportRowName: \"Mobiltilkald HV\",\r\n hourlySalaryHV: 0,\r\n hourlySalarySH: 0,\r\n driveTimeHV: 0,\r\n driveTimeSH: 0,\r\n },\r\n {\r\n reportRowName: \"Mobiltilkald SH\",\r\n hourlySalaryHV: 0,\r\n hourlySalarySH: 0,\r\n driveTimeHV: 0,\r\n driveTimeSH: 0,\r\n },\r\n {\r\n reportRowName: \"Ekstra besøg HV\",\r\n hourlySalaryHV: 0,\r\n hourlySalarySH: 0,\r\n driveTimeHV: 0,\r\n driveTimeSH: 0,\r\n },\r\n {\r\n reportRowName: \"Ekstra besøg SH\",\r\n hourlySalaryHV: 0,\r\n hourlySalarySH: 0,\r\n driveTimeHV: 0,\r\n driveTimeSH: 0,\r\n },\r\n {\r\n reportRowName: \"Afhentning af Sæd hos kollega HV\",\r\n hourlySalaryHV: 0,\r\n hourlySalarySH: 0,\r\n driveTimeHV: 0,\r\n driveTimeSH: 0,\r\n },\r\n {\r\n reportRowName: \"Afhentning af Sæd hos kollega SH\",\r\n hourlySalaryHV: 0,\r\n hourlySalarySH: 0,\r\n driveTimeHV: 0,\r\n driveTimeSH: 0,\r\n },\r\n {\r\n reportRowName: \"Donortilkald HV\",\r\n hourlySalaryHV: 0,\r\n hourlySalarySH: 0,\r\n driveTimeHV: 0,\r\n driveTimeSH: 0,\r\n },\r\n {\r\n reportRowName: \"Donortilkald SH\",\r\n hourlySalaryHV: 0,\r\n hourlySalarySH: 0,\r\n driveTimeHV: 0,\r\n driveTimeSH: 0,\r\n },\r\n {\r\n reportRowName: \"Rådgivningstid HV\",\r\n hourlySalaryHV: 0,\r\n hourlySalarySH: 0,\r\n driveTimeHV: 0,\r\n driveTimeSH: 0,\r\n },\r\n {\r\n reportRowName: \"Rådgivningstid SH\",\r\n hourlySalaryHV: 0,\r\n hourlySalarySH: 0,\r\n driveTimeHV: 0,\r\n driveTimeSH: 0,\r\n },\r\n {\r\n reportRowName: \"Anden tid HV\",\r\n hourlySalaryHV: 0,\r\n hourlySalarySH: 0,\r\n driveTimeHV: 0,\r\n driveTimeSH: 0,\r\n },\r\n {\r\n reportRowName: \"Anden tid SH\",\r\n hourlySalaryHV: 0,\r\n hourlySalarySH: 0,\r\n driveTimeHV: 0,\r\n driveTimeSH: 0,\r\n },\r\n {\r\n reportRowName: \"Admin tid HV\",\r\n hourlySalaryHV: 0,\r\n hourlySalarySH: 0,\r\n driveTimeHV: 0,\r\n driveTimeSH: 0,\r\n },\r\n {\r\n reportRowName: \"Admin tid SH\",\r\n hourlySalaryHV: 0,\r\n hourlySalarySH: 0,\r\n driveTimeHV: 0,\r\n driveTimeSH: 0,\r\n },\r\n {\r\n reportRowName: \"Aflevering af sæd HV\",\r\n hourlySalaryHV: 0,\r\n hourlySalarySH: 0,\r\n driveTimeHV: 0,\r\n driveTimeSH: 0,\r\n },\r\n {\r\n reportRowName: \"Aflevering af sæd SH\",\r\n hourlySalaryHV: 0,\r\n hourlySalarySH: 0,\r\n driveTimeHV: 0,\r\n driveTimeSH: 0,\r\n },\r\n {\r\n reportRowName: \"Køretid HV\",\r\n hourlySalaryHV: 0,\r\n hourlySalarySH: 0,\r\n driveTimeHV: 0,\r\n driveTimeSH: 0,\r\n },\r\n {\r\n reportRowName: \"Køretid SH\",\r\n hourlySalaryHV: 0,\r\n hourlySalarySH: 0,\r\n driveTimeHV: 0,\r\n driveTimeSH: 0,\r\n },\r\n {\r\n reportRowName: \"Køretid før 07:15 HV\",\r\n hourlySalaryHV: 0,\r\n hourlySalarySH: 0,\r\n driveTimeHV: 0,\r\n driveTimeSH: 0,\r\n },\r\n {\r\n reportRowName: \"Køretid før 07:15 SH\",\r\n hourlySalaryHV: 0,\r\n hourlySalarySH: 0,\r\n driveTimeHV: 0,\r\n driveTimeSH: 0,\r\n },\r\n {\r\n reportRowName: \"DNA HV\",\r\n hourlySalaryHV: 0,\r\n hourlySalarySH: 0,\r\n driveTimeHV: 0,\r\n driveTimeSH: 0,\r\n },\r\n {\r\n reportRowName: \"DNA SH\",\r\n hourlySalaryHV: 0,\r\n hourlySalarySH: 0,\r\n driveTimeHV: 0,\r\n driveTimeSH: 0,\r\n },\r\n {\r\n reportRowName:\r\n \"Andet heldagsarbejde a' 8 t. Hverdage og antal timer total\",\r\n hourlySalaryHV: 0,\r\n hourlySalarySH: 0,\r\n driveTimeHV: 0,\r\n driveTimeSH: 0,\r\n },\r\n {\r\n reportRowName:\r\n \"Andet heldagsarbejde a' 8 t. Søn- og helligdage og antal timer total\",\r\n hourlySalaryHV: 0,\r\n hourlySalarySH: 0,\r\n driveTimeHV: 0,\r\n driveTimeSH: 0,\r\n },\r\n ],\r\n};\r\n\r\nconst reports = Repository.get(\"reports\");\r\nconst getDateFromMonthYear = ( day, month, year ) => {\r\n let date = new Date();\r\n date.setMonth( month );\r\n date.setFullYear( year );\r\n date.setDate( day );\r\n return date;\r\n};\r\nconst getLatestDayOfMonth = ( month, year ) => {\r\n return new Date( year, month + 1, 0 ).getDate();\r\n};\r\nexport default {\r\n namespaced: true,\r\n state: {\r\n apiState: APISTATE.LOADED,\r\n salaryReportList: {},\r\n salaryDayReportList: {},\r\n salaryReportFilterYear: undefined,\r\n salaryReportFilterMonth: undefined,\r\n salaryReportFilterToYear: undefined,\r\n salaryReportFilterToMonth: undefined,\r\n salaryReportFilterEmployeeNumber: 0,\r\n showYear: false,\r\n showEmpty: false,\r\n compareDate: false,\r\n showToDate: false,\r\n fromDate: undefined,\r\n toDate: undefined,\r\n salaryReportCsv: [],\r\n },\r\n mutations: {\r\n setApiState: (state, apiState) => {\r\n state.apiState = apiState;\r\n },\r\n setSalaryReportList: (state, response) => {\r\n state.salaryReportList = response;\r\n console.log( response )\r\n state.apiState = APISTATE.LOADED;\r\n },\r\n setSalaryDayReportList: (state, response) => {\r\n state.salaryDayReportList = response;\r\n state.apiState = APISTATE.LOADED;\r\n },\r\n setSalaryReportFilterYear: (state, response) => {\r\n state.salaryReportFilterYear = response;\r\n },\r\n setSalaryReportFilterMonth: (state, response) => {\r\n state.salaryReportFilterMonth = response;\r\n },\r\n setSalaryReportFilterToYear: (state, response) => {\r\n state.salaryReportFilterToYear = response;\r\n },\r\n setSalaryReportFilterToMonth: (state, response) => {\r\n state.salaryReportFilterToMonth = response;\r\n },\r\n setSalaryReportFilterEmployeeNumber: (state, response) => {\r\n state.salaryReportFilterEmployeeNumber = response;\r\n },\r\n setShowYear: ( state, showYear ) => {\r\n state.showYear = showYear;\r\n },\r\n setCompareDate: ( state, compareDate ) => {\r\n state.compareDate = compareDate;\r\n },\r\n setShowEmpty: ( state, showEmpty ) => {\r\n state.showEmpty = showEmpty;\r\n },\r\n setShowToDate: ( state, showToDate ) => {\r\n state.showToDate = showToDate;\r\n },\r\n setFromDate: ( state, fromDate ) => {\r\n state.fromDate = fromDate;\r\n },\r\n setToDate: ( state, toDate ) => {\r\n state.toDate = toDate;\r\n },\r\n setSalaryReportCsv: (state, response) => {\r\n state.salaryReportCsv = response;\r\n },\r\n },\r\n actions: {\r\n async exportSalaryReportCsv({ commit, dispatch }, dto) {\r\n try {\r\n let salaryReportCsv = await reports.exportSalaryReportCsv(dto);\r\n commit('setSalaryReportCsv', salaryReportCsv);\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit(\"setApiState\", APISTATE.ERROR);\r\n } \r\n },\r\n async addNewLine ( { commit, state }, type ) {\r\n let salaryReportList = state.salaryReportList;\r\n\r\n let group = 'Diverse';\r\n switch ( type ) {\r\n case 'partialSumRows':\r\n group = 'HandyVik';\r\n break;\r\n case 'payrollRows':\r\n group = 'Øvrige';\r\n break;\r\n case 'onAccountSalaryRows':\r\n group = 'OnAccount';\r\n break;\r\n }\r\n\r\n salaryReportList[ type ] = [\r\n ...salaryReportList[ type ].filter( s => s.identifier !== 'Total' ),\r\n {\r\n times: 0,\r\n reportRowName: '',\r\n type: 'gange',\r\n newLine: true,\r\n rate: 0,\r\n total: 0,\r\n isUserDefined: true,\r\n group: group\r\n },\r\n salaryReportList[ type ].find( s => s.identifier === 'Total' ) ];\r\n commit( \"setSalaryReportList\", salaryReportList );\r\n },\r\n setShowYear ( { commit, dispatch }, showYear ) {\r\n commit( \"setShowYear\", showYear );\r\n dispatch('performLookup');\r\n },\r\n setShowEmpty ( { commit }, showEmpty ) {\r\n commit( \"setShowEmpty\", showEmpty );\r\n },\r\n setShowToDate ( { commit }, showToDate ) {\r\n commit( \"setShowToDate\", showToDate );\r\n },\r\n setFromDate ( { commit }, dateFrom ) {\r\n commit( \"setFromDate\", dateFrom );\r\n },\r\n setToDate ( { commit }, toDate ) {\r\n commit( \"setToDate\", toDate );\r\n },\r\n setCompareDate ( { commit }, compareDate ) {\r\n commit( \"setCompareDate\", compareDate );\r\n },\r\n async performLookup ( { state, dispatch, rootGetters } ) {\r\n let fromDate = getDateFromMonthYear(1, state.salaryReportFilterMonth, state.salaryReportFilterYear);\r\n let toDate = getDateFromMonthYear(\r\n getLatestDayOfMonth(state.salaryReportFilterMonth, state.salaryReportFilterYear),\r\n state.salaryReportFilterMonth,\r\n state.salaryReportFilterYear\r\n );\r\n\r\n if (state.showToDate) {\r\n fromDate = state.fromDate;\r\n toDate = state.toDate;\r\n }\r\n\r\n if (state.showYear) {\r\n fromDate = getDateFromMonthYear( 1, 0, state.salaryReportFilterYear );\r\n toDate = getDateFromMonthYear( 31, 11, state.salaryReportFilterYear );\r\n }\r\n\r\n let number = state.salaryReportFilterEmployeeNumber;\r\n if ( !number || number.toString() === '0' ) {\r\n number = rootGetters.currentUser.number;\r\n }\r\n\r\n const dto = {\r\n assistantNumber: number,\r\n fromDate: fromDate,\r\n toDate: toDate,\r\n compareDate: state.compareDate,\r\n userDefined: state.showToDate\r\n };\r\n dispatch('getAllSalaryReport', dto );\r\n },\r\n async getAllSalaryReport ( { commit }, dto ) {\r\n commit(\"setApiState\", APISTATE.LOADING);\r\n let salaryReports = await reports.getSalaryReport(\r\n dto.assistantNumber,\r\n dto.fromDate,\r\n dto.toDate,\r\n dto.compareDate,\r\n dto.userDefined\r\n );\r\n salaryReports.partialSumRows.forEach((v, i) => {\r\n if(i !== salaryReports.partialSumRows.length -1){\r\n v.style = { color: 'Blue'};\r\n }\r\n else{\r\n v.style = {fontWeight: 'bold'};\r\n }\r\n });\r\n salaryReports.payrollRows.forEach((v, i) => {\r\n if(i !== salaryReports.payrollRows.length -1){\r\n v.style = { color: 'Red'};\r\n } else{\r\n v.style = {fontWeight: 'bold'};\r\n }\r\n });\r\n salaryReports.averageRows.forEach((v, i) => {\r\n v.style = { color: 'Green'};\r\n });\r\n salaryReports.general.forEach((v, i) => {\r\n v.style = { color: 'Purple'};\r\n });\r\n salaryReports.totalSalaryRows.forEach((v, i) => {\r\n v.style = {fontWeight: 'bold'};\r\n });\r\n commit(\"setSalaryReportList\", salaryReports);\r\n commit(\"setApiState\", APISTATE.LOADED);\r\n },\r\n async getSalaryDayReport({ commit }, dto) {\r\n commit(\"setApiState\", APISTATE.LOADING);\r\n try {\r\n let salaryReports = await reports.getSalaryDayReport(\r\n dto.assistantNumber,\r\n dto.fromDate\r\n );\r\n commit('setSalaryDayReportList', salaryReports);\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit(\"setApiState\", APISTATE.ERROR);\r\n }\r\n },\r\n async setYear({ commit, dispatch }, year) {\r\n commit(\"setSalaryReportFilterYear\", year);\r\n },\r\n setMonth({ commit }, month) {\r\n commit(\"setSalaryReportFilterMonth\", month);\r\n },\r\n setToYear({ commit }, year) {\r\n commit(\"setSalaryReportFilterToYear\", year);\r\n },\r\n setToMonth({ commit }, month) {\r\n commit(\"setSalaryReportFilterToMonth\", month);\r\n },\r\n setEmployeeNumber({ commit }, employeeNumber) {\r\n commit(\"setSalaryReportFilterEmployeeNumber\", employeeNumber);\r\n },\r\n initYearMonth({ commit }) {\r\n const date = new Date();\r\n commit(\"setSalaryReportFilterYear\", date.getFullYear());\r\n commit(\"setSalaryReportFilterMonth\", date.getMonth());\r\n }, \r\n async processReportSalaryEmployee({commit, state}, dto){\r\n commit(\"setApiState\", APISTATE.LOADING);\r\n await reports.processReportSalaryEmployee(dto).then( async function (){\r\n commit(\"setApiState\", APISTATE.LOADED);\r\n });\r\n \r\n commit(\"setApiState\", APISTATE.LOADED);\r\n }, \r\n async lockReportSalaryEmployee({commit, state}, dto){\r\n commit(\"setApiState\", APISTATE.LOADING);\r\n await reports.lockReportSalaryEmployee(dto).then( async function (){\r\n commit(\"setApiState\", APISTATE.LOADED);\r\n });\r\n \r\n commit(\"setApiState\", APISTATE.LOADED);\r\n }, \r\n async unlockReportSalaryEmployee({commit, state}, dto){\r\n commit(\"setApiState\", APISTATE.LOADING);\r\n await reports.unlockReportSalaryEmployee(dto).then( async function (){\r\n commit(\"setApiState\", APISTATE.LOADED);\r\n });\r\n \r\n commit(\"setApiState\", APISTATE.LOADED);\r\n },\r\n async updateReportSalaryEmployee({commit, state}, dto){\r\n commit(\"setApiState\", APISTATE.LOADING);\r\n console.log( dto )\r\n await reports.updateReportSalaryEmployee(dto).then( async function () {\r\n commit(\"setApiState\", APISTATE.LOADED);\r\n });\r\n \r\n commit(\"setApiState\", APISTATE.LOADED);\r\n },\r\n },\r\n getters: {\r\n salaryReportCsv(state) {\r\n return state.salaryReportCsv;\r\n },\r\n salaryReportList(state) {\r\n return state.salaryReportList;\r\n },\r\n salaryDayReportList(state) {\r\n return state.salaryDayReportList;\r\n },\r\n salaryReportApiState(state) {\r\n return state.apiState;\r\n },\r\n salaryReportFilterYear(state) {\r\n return state.salaryReportFilterYear;\r\n },\r\n salaryReportFilterMonth(state) {\r\n return state.salaryReportFilterMonth;\r\n },\r\n salaryReportFilterEmployeeNumber(state) {\r\n return state.salaryReportFilterEmployeeNumber;\r\n },\r\n showYear: ( state ) => { return state.showYear; },\r\n compareDate: ( state ) => { return state.compareDate; },\r\n showEmpty: ( state ) => { return state.showEmpty; },\r\n showToDate: ( state ) => { return state.showToDate; },\r\n fromDate: ( state ) => { return state.fromDate; },\r\n toDate: ( state ) => { return state.toDate; }\r\n },\r\n};\r\n","import Repository from '@/repositories/RepositoryFactory';\r\nimport ApiState from \"../../enums/APISTATE\";\r\n\r\nconst holidayRepository = Repository.get('holidayRepository');\r\n\r\nexport default ({\r\n namespaced: true,\r\n state: {\r\n holidays: [],\r\n holidaysApiState: ApiState.INIT,\r\n chosenHoliday: {},\r\n sidebarOpen: false\r\n },\r\n mutations: {\r\n setHolidaysApiState: (state, apiState) => {\r\n state.holidaysApiState = apiState;\r\n },\r\n setHolidays(state, response) {\r\n const { data } = response;\r\n state.holidays = data;\r\n state.holidaysApiState = ApiState.LOADED;\r\n },\r\n initialized(state, { holidays }) {\r\n state.holidays = holidays;\r\n },\r\n setChosenHoliday(state, holiday){\r\n state.chosenHoliday = holiday;\r\n },\r\n setSidebarOpen(state, sidebarOpen){\r\n state.sidebarOpen = sidebarOpen;\r\n }\r\n },\r\n actions: {\r\n async getHolidays({ commit }) {\r\n commit('setHolidaysApiState', ApiState.LOADING);\r\n try {\r\n commit('setHolidays', await holidayRepository.getAll());\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setHolidaysApiState', ApiState.ERROR);\r\n }\r\n },\r\n setChosenHoliday({commit}, holiday){\r\n commit(\"setChosenHoliday\", holiday)\r\n commit(\"setSidebarOpen\", true);\r\n },\r\n closeSidebar({commit}){\r\n commit(\"setSidebarOpen\", false);\r\n },\r\n async updateHoliday({commit, state}){\r\n commit(\"setHolidaysApiState\", ApiState.LOADING);\r\n try{\r\n await holidayRepository.update(state.chosenHoliday)\r\n commit(\"setHolidays\", await holidayRepository.getAll())\r\n commit(\"setSidebarOpen\", false)\r\n commit(\"setHolidaysApiState\", ApiState.LOADED);\r\n }catch(error){\r\n console.error(error)\r\n commit(\"setHolidaysApiState\", ApiState.ERROR)\r\n }\r\n }\r\n },\r\n getters: {\r\n holidaysApiState(state) {\r\n return state.holidaysApiState;\r\n },\r\n holidays(state) {\r\n return state.holidays;\r\n },\r\n chosenHoliday: (state) => {return state.chosenHoliday},\r\n sidebarOpen: (state) => {return state.sidebarOpen}\r\n }\r\n });","const generateUUID = function() { // Public Domain/MIT\r\n var d = new Date().getTime();\r\n if (typeof performance !== 'undefined' && typeof performance.now === 'function'){\r\n d += performance.now(); //use high-precision timer if available\r\n }\r\n var newGuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\r\n var r = (d + Math.random() * 16) % 16 | 0;\r\n d = Math.floor(d / 16);\r\n return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16);\r\n });\r\n \r\n return newGuid;\r\n}\r\n\r\nexport { generateUUID };","/*\r\n * a: number (work), b: number (work), af: number (free in row), bf: number (free in row), freeInRow: number (group setting)\r\n */\r\nconst compare = (a, b, af, bf, freeInRow) => {\r\n // a work less than b\r\n if (a < b) {\r\n // a has half the work than b then omit free in row rule\r\n if(a * 2 < b){\r\n return -1;\r\n }\r\n\r\n if(af > 0 && af % freeInRow !== 0 && af > bf){\r\n return 1;\r\n }\r\n\r\n // af is set larger than due to free in row rule\r\n return -1;\r\n }\r\n // a work more than b\r\n if (a > b) {\r\n // a has double the work than b then omit free in row rule\r\n if(a * 0.5 > b){\r\n return 1;\r\n }\r\n\r\n if(bf > 0 && bf % freeInRow !== 0 && bf > af){\r\n return -1;\r\n }\r\n\r\n // af is set larger than due to free in row rule\r\n return 1;\r\n }\r\n\r\n if(af > 0 && af % freeInRow !== 0 && af > bf){\r\n return 1;\r\n }\r\n \r\n if(bf > 0 && bf % freeInRow !== 0 && bf > af){\r\n return -1;\r\n }\r\n\r\n return 0;\r\n};\r\n\r\n// a and b are statistic row\r\nconst compareEmployeeOrderNumber = (a, b) => {\r\n if (a.employee.orderNumber < b.employee.orderNumber) { \r\n return -1;\r\n }\r\n if (a.employee.orderNumber > b.employee.orderNumber) { \r\n return 1;\r\n }\r\n return 0;\r\n};\r\n\r\nconst compareOrderNumber = (a, b) => {\r\n if (a.orderNumber < b.orderNumber) { \r\n return -1;\r\n }\r\n if (a.orderNumber > b.orderNumber) { \r\n return 1;\r\n }\r\n return 0;\r\n};\r\n\r\nconst isActive = (day, weekdays) => {\r\n if(!weekdays || weekdays.length === 0){\r\n return true;\r\n }\r\n let isActive = true;\r\n switch(day){\r\n case 1: // Monday\r\n isActive = !weekdays.find(o => o.id === 2) || weekdays.find(o => o.id === 2).isChecked;\r\n break;\r\n \r\n case 2: \r\n isActive = !weekdays.find(o => o.id === 4) || weekdays.find(o => o.id === 4).isChecked;\r\n break;\r\n \r\n case 3: \r\n isActive = !weekdays.find(o => o.id === 8) || weekdays.find(o => o.id === 8).isChecked;\r\n break;\r\n \r\n case 4: \r\n isActive = !weekdays.find(o => o.id === 16) || weekdays.find(o => o.id === 16).isChecked;\r\n break;\r\n \r\n case 5: \r\n isActive = !weekdays.find(o => o.id === 32) || weekdays.find(o => o.id === 32).isChecked;\r\n break;\r\n \r\n case 6: // Saturday\r\n isActive = !weekdays.find(o => o.id === 64) || weekdays.find(o => o.id === 64).isChecked;\r\n break;\r\n\r\n case 7: // Sunday\r\n isActive = !weekdays.find(o => o.id === 1) || weekdays.find(o => o.id === 1).isChecked;\r\n break;\r\n }\r\n return isActive;\r\n};\r\n\r\nexport {\r\n isActive, \r\n compare,\r\n compareEmployeeOrderNumber,\r\n compareOrderNumber,\r\n \r\n}\r\n","import ApiState from \"../../enums/APISTATE\";\r\nimport moment from 'moment';\r\nimport { generateUUID } from \"../../util/uuid\";\r\nimport Vue from \"vue\";\r\nimport { isActive, compare, compareEmployeeOrderNumber, compareOrderNumber } from \"../../util/statisticsComparers\";\r\nimport Repository from '@/repositories/RepositoryFactory';\r\n\r\nconst allocationsRepository = Repository.get('allocations');\r\nconst groupTemplateRepository = Repository.get('groupTemplateRepository');\r\n\r\nconst allocationForDay = (day, employeeId, allocationsTimeOff) => {\r\n return allocationsTimeOff\r\n .filter(o => o.employeeId === employeeId)\r\n .filter(o => moment(o.startDate).format('YYYY-MM-DD') === day || \r\n (o.allocationSpanInDays > 1 && moment(o.startDate).format('YYYY-MM-DD') <= day && day <= moment(o.endDateInclusive).format('YYYY-MM-DD')))\r\n};\r\n\r\nconst isAllocatedForDay = (day, employeeId, allocationsTimeOff) => {\r\n return allocationsTimeOff\r\n .filter(o => o.employeeId === employeeId)\r\n .filter(o => o.replacementId && o.circleId)\r\n .filter(o => moment(o.startDate).format('YYYY-MM-DD') === day || \r\n (o.allocationSpanInDays > 1 && moment(o.startDate).format('YYYY-MM-DD') <= day && day <= moment(o.endDateInclusive).format('YYYY-MM-DD')))\r\n};\r\n\r\nconst dayBetween = (start, end) => {\r\n const a = moment(start);\r\n const b = moment(end);\r\n const totalDays = b.diff(a, 'days');\r\n return totalDays;\r\n};\r\n\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {\r\n apiState: ApiState.INIT,\r\n allocations: [],\r\n employeeStatistics: [],\r\n formGroupTemplate: null,\r\n activeSidebar: '',\r\n isNewGroupTemplate: false,\r\n loadStatisticsStartDate: moment().month(0).date(1),\r\n loadStatisticsEndDate: moment().month(11).date(31),\r\n loadStatisticsGroupFilter: '',\r\n loadStatisticsRegionFilter: '',\r\n\r\n },\r\n mutations: {\r\n setStatisticsApiState(state, apiState) {\r\n state.apiState = apiState;\r\n },\r\n clearEmployeeStatistics(state) {\r\n state.employeeStatistics = [];\r\n },\r\n setEmployeeStatistics(state, employeeStatistics) {\r\n state.employeeStatistics = employeeStatistics;\r\n },\r\n pushToAllocations(state, entry) {\r\n state.allocations.push(entry);\r\n },\r\n setAllocations(state, allocations) {\r\n state.allocations = allocations;\r\n },\r\n filterAllocations(state, element) {\r\n state.allocations = state.allocations.filter(element);\r\n },\r\n clearAllocations(state) {\r\n state.allocations = [];\r\n },\r\n pushToEmployeeStatistics(state, entry) {\r\n state.employeeStatistics.push(entry);\r\n },\r\n setActiveSidebar(state, activeSidebar) {\r\n state.activeSidebar = activeSidebar;\r\n },\r\n setFormGroupTemplate(state, formGroupTemplate) {\r\n Vue.set(state, \"formGroupTemplate\", formGroupTemplate);\r\n if (formGroupTemplate) {\r\n Vue.set(state.formGroupTemplate, \"fromDate\", moment(formGroupTemplate.fromDate).format('YYYY-MM-DD'));\r\n Vue.set(state.formGroupTemplate, \"toDate\", moment(formGroupTemplate.toDate).format('YYYY-MM-DD'));\r\n Vue.set(state.formGroupTemplate, \"prevFromDate\", moment(formGroupTemplate.fromDate).format('YYYY-MM-DD'));\r\n }\r\n },\r\n setFormGroupTemplateFromDate(state, fromDate) {\r\n Vue.set(state.formGroupTemplate, \"fromDate\", fromDate);\r\n },\r\n setFormGroupTemplateToDate(state, toDate) {\r\n Vue.set(state.formGroupTemplate, \"toDate\", toDate);\r\n },\r\n setFormGroupTemplateState(state, itemState) {\r\n Vue.set(state.formGroupTemplate, \"state\", itemState);\r\n },\r\n setFormGroupTemplateAllocations(state, allocations) {\r\n Vue.set(state.formGroupTemplate, 'allocations', allocations);\r\n },\r\n clearFormGroupTemplate(state) {\r\n state.formGroupTemplate = null;\r\n },\r\n setIsNewGroupTemplate(state, isNew) {\r\n state.isNewGroupTemplate = isNew;\r\n },\r\n sortEmployeeStatistics(state, compareMethod) {\r\n state.employeeStatistics = state.employeeStatistics.sort(compareMethod);\r\n },\r\n setFormGroupTemplateProperty(state, {propertyName, value}) {\r\n Vue.set(state.formGroupTemplate, propertyName, value);\r\n },\r\n setLoadStatisticsProperties(state, {groupFilter, regionFilter, startDate, endDate}) {\r\n if (groupFilter) state.loadStatisticsGroupFilter = groupFilter;\r\n if (regionFilter) state.loadStatisticsRegionFilter = regionFilter;\r\n if (startDate) state.loadStatisticsStartDate = startDate;\r\n if (endDate) state.loadStatisticsEndDate = endDate;\r\n }\r\n\r\n },\r\n actions: {\r\n initializeStatistics({commit, state, rootState}, {totalDays, groupFilter}) {\r\n const emp = rootState.employees.employees.filter(o => o.groupId === groupFilter || o.groups.find(f => f.groupId === groupFilter));\r\n \r\n let dayGroup = [];\r\n for (const em of emp) {\r\n let isGroupReplacement = em.area === 0;\r\n let isStandIn = false;\r\n let circleId = em.circleId;\r\n let weekDayGroupId = em.weekDayGroupId;\r\n let weekendGroupId = em.weekendGroupId;\r\n let maxWorkInRow = 99;\r\n let weekdays = [];\r\n let orderNumber = em.orderNumber;\r\n if(em.groupId !== groupFilter) {\r\n var grp = em.groups.find(o => o.groupId === groupFilter);\r\n if(grp){\r\n isGroupReplacement = grp.isGroupReplacement;\r\n isStandIn = grp.isStandIn;\r\n circleId = grp.circleId;\r\n weekdays = grp.weekdays;\r\n weekendGroupId = grp.weekendGroupId;\r\n weekDayGroupId = grp.weekDayGroupId;\r\n orderNumber = grp.orderNumber;\r\n if(grp.maxWorkInRow && grp.maxWorkInRow > 0) {\r\n maxWorkInRow = grp.maxWorkInRow;\r\n }\r\n }\r\n }\r\n\r\n commit('pushToEmployeeStatistics', {\r\n employee: em,\r\n circleId: circleId,\r\n baseCircleId: circleId,\r\n isGroupReplacement: isGroupReplacement,\r\n isStandIn: isStandIn,\r\n weekendGroupId: weekendGroupId,\r\n weekDayGroupId: weekDayGroupId, \r\n weekdays: weekdays,\r\n orderNumber: orderNumber,\r\n allocations: {\r\n free: totalDays - rootState.allocations.allocationsTimeOff.filter(o => o.employeeId === em.id).filter(o => moment(o.startDate) < moment(state.formGroupTemplate.toDate)).length,\r\n saturday: 0,\r\n sunday: 0,\r\n vacation: rootState.allocations.allocationsTimeOff.filter(o => o.employeeId === em.id && !o.circleId).filter(o => moment(o.startDate) < moment(state.formGroupTemplate.toDate)).length,\r\n holiday: 0, // TODO - Add filter and distribution\r\n work: 0,\r\n other: 0,\r\n freeInRow: 0,\r\n maxWorkInRow: maxWorkInRow,\r\n currentWorkInRow: 0,\r\n standIn: 0\r\n }\r\n });\r\n\r\n if(!dayGroup.find(o => o === weekDayGroupId)){\r\n dayGroup.push(weekDayGroupId);\r\n }\r\n }\r\n\r\n commit('sortEmployeeStatistics', compareEmployeeOrderNumber);\r\n\r\n return dayGroup;\r\n },\r\n\r\n finalizeStatistics({commit, state}, totalDays) { \r\n for (const em of state.employeeStatistics) {\r\n em.allocations.free = totalDays - (em.allocations.vacation + em.allocations.holiday + em.allocations.saturday + em.allocations.sunday + em.allocations.work);\r\n } \r\n commit('sortEmployeeStatistics', compareEmployeeOrderNumber);\r\n },\r\n\r\n async loadStatistics({commit, state, rootState}, {groupFilter, regionFilter, startDate, endDate} = {}) {\r\n commit('setStatisticsApiState', ApiState.LOADING);\r\n try {\r\n commit('setLoadStatisticsProperties', {groupFilter, regionFilter, startDate, endDate});\r\n commit('clearEmployeeStatistics');\r\n\r\n const {data: employeeStatistics} = await allocationsRepository.getAggregate(state.loadStatisticsStartDate, state.loadStatisticsEndDate, state.loadStatisticsGroupFilter, state.loadStatisticsRegionFilter)\r\n console.log(employeeStatistics)\r\n commit('setEmployeeStatistics', employeeStatistics);\r\n commit('sortEmployeeStatistics', compareEmployeeOrderNumber);\r\n\r\n commit('setStatisticsApiState', ApiState.LOADED);\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setStatisticsApiState', ApiState.ERROR);\r\n }\r\n },\r\n\r\n async setLoadStatisticsStartDate({commit, dispatch}, startDate) {\r\n commit('setLoadStatisticsProperties', {startDate: moment(startDate) });\r\n await dispatch('loadStatistics');\r\n },\r\n async setLoadStatisticsEndDate({commit, dispatch}, endDate) {\r\n commit('setLoadStatisticsProperties', {endDate: moment(endDate) });\r\n await dispatch('loadStatistics');\r\n },\r\n\r\n async addAllocation({commit, dispatch, state}, {data, groupFilter}) {\r\n if (!state.formGroupTemplate) {\r\n alert(\"Der er ikke valgt nogen template endnu!\")\r\n return;\r\n }\r\n\r\n if (!state.formGroupTemplate.isTemplateManual) {\r\n return;\r\n }\r\n \r\n if(moment(data.startDate).toDate() < moment(state.formGroupTemplate.fromDate).toDate()) {\r\n console.log(moment(data.startDate).format(\"YYYY-MM-DD\") + \" < \" + moment(state.formGroupTemplate.fromDate).format(\"YYYY-MM-DD\"));\r\n alert(\"Dagen er før starts dato for opsætningen og er derfor ikke valid!\")\r\n return;\r\n }\r\n\r\n if(moment(data.startDate).toDate() > moment(state.formGroupTemplate.toDate).add(1, 'days').toDate()) {\r\n console.log(moment(data.startDate).format(\"YYYY-MM-DD\") + \" > \" + moment(state.formGroupTemplate.toDate).format(\"YYYY-MM-DD\"));\r\n alert(\"Dagen er efter slut dato for opsætningen og er derfor ikke valid!\")\r\n return;\r\n }\r\n if(data.split) {\r\n for(let i = 0; i < data.allocationSpanInDays; i++) {\r\n const date = moment.utc(data.startDate).add(i, 'days').toDate()\r\n const response = await groupTemplateRepository.createGroupTemplateAllocation({\r\n allocationType: data.allocationType,\r\n circleId: data.circleId,\r\n groupId: state.formGroupTemplate.groupId,\r\n groupTemplateId: state.formGroupTemplate.id,\r\n employeeId: data.employeeId,\r\n startDate: date,\r\n endDateInclusive: date,\r\n allocationSpanInDays: 1,\r\n id: generateUUID(),\r\n comment: data.comment,\r\n });\r\n \r\n commit('pushToAllocations', response.data);\r\n }\r\n } else {\r\n const response = await groupTemplateRepository.createGroupTemplateAllocation({\r\n allocationType: data.allocationType,\r\n circleId: data.circleId,\r\n groupId: state.formGroupTemplate.groupId,\r\n groupTemplateId: state.formGroupTemplate.id,\r\n employeeId: data.employeeId,\r\n startDate: data.startDate,\r\n endDateInclusive: moment.utc(data.startDate).add(data.allocationSpanInDays - 1, 'days').toDate(),\r\n allocationSpanInDays: data.allocationSpanInDays,\r\n id: generateUUID(),\r\n comment: data.comment,\r\n });\r\n \r\n commit('pushToAllocations', response.data);\r\n }\r\n\r\n dispatch('updateManuel', {groupFilter}); //this.updateManuel();\r\n },\r\n\r\n async moveAllocations({commit, dispatch, state}, daysToMove) {\r\n const groupFilter = state.formGroupTemplate.groupId;\r\n commit('setStatisticsApiState', ApiState.LOADING);\r\n try {\r\n const allocationsToRepeat = state.allocations.filter(o => !o.isRepeated);\r\n for (let allocation of allocationsToRepeat) {\r\n allocation.startDate = moment(allocation.startDate).add(daysToMove, 'days').format('YYYY-MM-DD'); \r\n allocation.endDateInclusive = moment.utc(allocation.startDate).add(allocation.allocationSpanInDays - 1, 'days').format('YYYY-MM-DD');\r\n const response = await groupTemplateRepository.updateGroupTemplateAllocation(allocation);\r\n allocation._UpdateTag = response.data._UpdateTag;\r\n }\r\n commit('setStatisticsApiState', ApiState.LOADED); \r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setStatisticsApiState', ApiState.ERROR);\r\n }\r\n await dispatch('generateFormGroupTemplate', { groupFilter });\r\n },\r\n\r\n filterAllocations({commit}, element) {\r\n commit('filterAllocations', element);\r\n },\r\n\r\n updateManuel({commit, state, rootState}, {groupFilter}) {\r\n console.log(\"updateManuel\");\r\n\r\n if (!state.formGroupTemplate.isTemplateManual) {\r\n return;\r\n }\r\n\r\n if(state.formGroupTemplate.repeatWeeks > 0) {\r\n const allocationsToRepeat = state.allocations.filter(o => !o.isRepeated);\r\n for (let j = 1; j < state.formGroupTemplate.repeatWeeks + 1; j++) {\r\n for (let data of allocationsToRepeat) {\r\n let startDate = moment(data.startDate).add(state.formGroupTemplate.planningWeeks * j, 'weeks').format(\"YYYY-MM-DD\");\r\n //console.log(startDate);\r\n\r\n let newAllocation = {\r\n allocationType: data.allocationType,\r\n circleId: data.circleId,\r\n groupId: data.groupId,\r\n groupTemplateId: data.id,\r\n employeeId: data.employeeId,\r\n startDate: startDate,\r\n endDateInclusive: moment.utc(startDate).add(data.allocationSpanInDays - 1, 'days').toDate(),\r\n allocationSpanInDays: data.allocationSpanInDays,\r\n id: generateUUID(),\r\n isRepeated: true\r\n };\r\n\r\n commit('pushToAllocations', newAllocation);\r\n }\r\n }\r\n }\r\n\r\n commit('setFormGroupTemplateAllocations', state.allocations); //this.formGroupTemplate.allocations = this.allocations;\r\n\r\n const emp = rootState.employees.employees.filter(o => o.groupId === groupFilter || o.groups.find(f => f.groupId === groupFilter));\r\n const totalDays = state.formGroupTemplate.planningWeeks * 7 * (state.formGroupTemplate.repeatWeeks + 1);\r\n\r\n commit('clearEmployeeStatistics');\r\n\r\n const shiftCircle = rootState.circles.circles.find(o => o.title === \"Bagvagt\");\r\n\r\n for(const em of emp) {\r\n let isGroupReplacement = em.area === 0;\r\n let isStandIn = false;\r\n let circleId = em.circleId;\r\n let weekDayGroupId = em.weekDayGroupId;\r\n let weekendGroupId = em.weekendGroupId;\r\n let maxWorkInRow = 99;\r\n let weekdays = [];\r\n let orderNumber = em.orderNumber;\r\n if (em.groupId !== groupFilter) {\r\n var grp = em.groups.find(o => o.groupId === groupFilter);\r\n if (grp) {\r\n isGroupReplacement = grp.isGroupReplacement;\r\n isStandIn = grp.isStandIn;\r\n circleId = grp.circleId;\r\n weekdays = grp.weekdays;\r\n weekendGroupId = grp.weekendGroupId;\r\n weekDayGroupId = grp.weekDayGroupId;\r\n orderNumber = grp.orderNumber;\r\n if (grp.maxWorkInRow && grp.maxWorkInRow > 0) {\r\n maxWorkInRow = grp.maxWorkInRow;\r\n }\r\n }\r\n }\r\n\r\n let free = totalDays;\r\n let saturdays = 0;\r\n let sundays = 0;\r\n let work = 0;\r\n let standIn = 0;\r\n let allocations = state.allocations.filter(o => o.employeeId === em.id);\r\n\r\n for (let allocation of allocations) {\r\n for (let i = 0; i < allocation.allocationSpanInDays; i++) {\r\n let date = moment.utc(allocation.startDate).add(i, 'days');\r\n const wDay = date.isoWeekday();\r\n \r\n if(shiftCircle && shiftCircle.id === allocation.circleId){\r\n standIn += 1;\r\n } else {\r\n if(wDay === 6) {\r\n saturdays += 1;\r\n }else if(wDay === 7) {\r\n sundays += 1;\r\n }else{\r\n work += 1;\r\n } \r\n }\r\n console.log('e: ' + em.number + ' ' + moment(date).format('YYYY-MM-DD') + ' w: ' + work + ' sat: ' + saturdays + ' sun: ' + sundays);\r\n }\r\n \r\n free -= allocation.allocationSpanInDays;\r\n }\r\n\r\n commit('pushToEmployeeStatistics', {\r\n employee: em,\r\n circleId: circleId,\r\n baseCircleId: circleId,\r\n isGroupReplacement: isGroupReplacement,\r\n isStandIn: isStandIn,\r\n weekendGroupId: weekendGroupId,\r\n weekDayGroupId: weekDayGroupId, \r\n weekdays: weekdays,\r\n orderNumber: orderNumber,\r\n allocations: {\r\n free: free,\r\n saturday: saturdays,\r\n sunday: sundays,\r\n vacation: 0,\r\n holiday: 0,\r\n work: work,\r\n other: 0,\r\n freeInRow: 0,\r\n maxWorkInRow: maxWorkInRow,\r\n currentWorkInRow: 0,\r\n standIn: standIn\r\n }\r\n });\r\n }\r\n\r\n commit('sortEmployeeStatistics', compareOrderNumber);\r\n },\r\n\r\n /*\r\n * TODO: Remember to update this.selectedDate in the view with the output-date from this promise.\r\n */\r\n async generateFormGroupTemplate({commit, state, rootState, dispatch}, {groupFilter}) { // generateClicked\r\n if (state.formGroupTemplate) {\r\n commit('setStatisticsApiState', ApiState.LOADING);\r\n\r\n if (state.formGroupTemplate.isTemplateManual) {\r\n try {\r\n // LOAD TEMPLATE ALLOCATIONS\r\n const response = await groupTemplateRepository.loadGroupTemplateAllocation({id: state.formGroupTemplate.id});\r\n //console.log(response.data);\r\n commit('setAllocations', response.data);\r\n dispatch('updateManuel', {groupFilter}); // this.updateManuel();\r\n commit('setStatisticsApiState', ApiState.LOADED);\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setStatisticsApiState', ApiState.ERROR);\r\n }\r\n\r\n return moment(state.formGroupTemplate.fromDate).utc().startOf('day').toDate()\r\n }\r\n\r\n try {\r\n commit('clearAllocations');\r\n commit('clearEmployeeStatistics');\r\n let totalDays = 90;\r\n if (state.formGroupTemplate.toDate === state.formGroupTemplate.fromDate) {\r\n commit('setFormGroupTemplateToDate', moment.utc(state.formGroupTemplate.fromDate).add(totalDays, 'days').format('YYYY-MM-DD'));\r\n } else {\r\n var a = moment(state.formGroupTemplate.fromDate);\r\n var b = moment(state.formGroupTemplate.toDate);\r\n totalDays = b.diff(a, 'days') + 1; // =1\r\n }\r\n \r\n if (state.formGroupTemplate.isTemplateDynamic) {\r\n for (const item of rootState.allocations.allocationsTimeOff){\r\n if (moment(item.startDate) < moment(state.formGroupTemplate.toDate)) {\r\n commit('pushToAllocations', item);\r\n } \r\n }\r\n }\r\n console.log(\"Generating\");\r\n \r\n const group = state.formGroupTemplate;\r\n if (!group) {\r\n return;\r\n }\r\n \r\n if (!group.isSaturdayWeekendGroup) {\r\n group.isSaturdayWeekendGroup = false;\r\n }\r\n \r\n let circles = rootState.circles.circles.filter(o => o.groupId === groupFilter);\r\n if(circles.length === 0) {\r\n circles = rootState.circles.circles;\r\n }\r\n \r\n let date = moment.utc(state.formGroupTemplate.fromDate).toDate();\r\n let days = 0;\r\n let dayGroup = await dispatch('initializeStatistics', {totalDays, groupFilter});\r\n \r\n // Loop days\r\n // Loop mini groups\r\n // Add allocations based on group\r\n while (days < totalDays){\r\n const cDay = moment.utc(date).add(days, 'days');\r\n const wDay = cDay.isoWeekday();\r\n var indexDate = moment.utc(cDay);\r\n let isHoliday = rootState.holidayStore.holidays && rootState.holidayStore.holidays.find(o => indexDate.isSame(moment(o.date), 'date'));\r\n let employeeDay = [];\r\n \r\n if(state.formGroupTemplate.isTemplateDynamic) {\r\n employeeDay = await dispatch('getEmployeesForDay', {date: cDay, group: group, dayGroup: [...new Set(dayGroup)] });\r\n } else {\r\n employeeDay = await dispatch('getSimpleEmployeesForDay', {date: cDay, group: group, dayGroup: [...new Set(dayGroup)] });\r\n }\r\n \r\n for (const e of employeeDay) {\r\n let circleId = circles[0].id;\r\n let circleTitle = circles[0].title;\r\n \r\n if(e.circleId) {\r\n circleId = e.circleId;\r\n }\r\n \r\n commit('pushToAllocations', {\r\n adminNote: \"\",\r\n allocatedHoursPerDay: 7,\r\n allocatedTotalHours: 7,\r\n allocationSpanInDays: 1,\r\n allocationType: isHoliday \r\n ? \"WORKHOLIDAY\"\r\n : wDay === 6 \r\n ? \"WORKINGSATURDAY\" \r\n : wDay === 7 \r\n ? \"WORKINGSUNDAY\" \r\n : \"WORK\",\r\n circleColor: null,\r\n circleId: circleId,\r\n circleName: circleTitle,\r\n comment: \"\",\r\n created: new Date(),\r\n employeeId: e.employee.id,\r\n employeeName: e.employee.name,\r\n endDateInclusive: moment.utc(date).add(days + 1, 'days').toDate(),\r\n id: generateUUID(), // \"00000000-0000-0000-0000-000000000000\",\r\n note: \"\",\r\n number: e.employee.number,\r\n region: e.employee.region,\r\n replacementId: null,\r\n replacementName: null,\r\n startDate: cDay.toDate(),\r\n isSimulation: true\r\n });\r\n }\r\n \r\n days = days + 1;\r\n }\r\n \r\n dispatch('finalizeStatistics', {totalDays, groupFilter});\r\n \r\n commit('setFormGroupTemplateAllocations', state.allocations.filter(o => o.isSimulation));\r\n \r\n commit('setStatisticsApiState', ApiState.LOADED);\r\n return moment(state.formGroupTemplate.fromDate).utc().startOf('day').toDate();\r\n\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setStatisticsApiState', ApiState.ERROR);\r\n }\r\n }\r\n return null;\r\n },\r\n\r\n getEmployeesForDay({commit, state, rootState}, {date, group, dayGroup}) { \r\n const compareDayGroupSaturDay = (a, b) => {\r\n let ae = state.employeeStatistics.filter(o => o.weekDayGroupId === a);\r\n let be = state.employeeStatistics.filter(o => o.weekDayGroupId === b);\r\n let as = 0;\r\n let bs = 0;\r\n for(let i of ae) {\r\n if(i.allocations.saturday > as) {\r\n as = i.allocations.saturday;\r\n }\r\n }\r\n for(let i of be) {\r\n if(i.allocations.saturday > bs) {\r\n bs = i.allocations.saturday;\r\n }\r\n }\r\n if(as < bs) {\r\n return -1;\r\n }\r\n if(as > bs) {\r\n return 1;\r\n }\r\n return 0;\r\n };\r\n\r\n const compareDayGroupSunday= (a, b) => {\r\n let ae = state.employeeStatistics.filter(o => o.weekDayGroupId === a);\r\n let be = state.employeeStatistics.filter(o => o.weekDayGroupId === b);\r\n let as = 0;\r\n let bs = 0;\r\n for(let i of ae) {\r\n if(i.allocations.sunday > as) {\r\n as = i.allocations.sunday;\r\n }\r\n }\r\n for(let i of be) {\r\n if(i.allocations.sunday > bs) {\r\n bs = i.allocations.sunday;\r\n }\r\n }\r\n if(as < bs) {\r\n return -1;\r\n }\r\n if(as > bs) {\r\n return 1;\r\n }\r\n return 0;\r\n };\r\n\r\n const lookUp = moment.utc(date).format('YYYY-MM-DD');\r\n const day = date.isoWeekday();\r\n var indexDate = moment.utc(date);\r\n let isHoliday = rootState.holidayStore.holidays && rootState.holidayStore.holidays.find(o => indexDate.isSame(moment(o.date), 'date'));\r\n let freeInRow = 1;\r\n\r\n if(group.daysFreeInRow && group.daysFreeInRow > 0){\r\n freeInRow = group.daysFreeInRow;\r\n }\r\n\r\n // 1: Check work\r\n // 2: Check holiday\r\n // 3: Check free in row\r\n const compareWeekDay = (a, b) => {\r\n let ad = a.allocations.work;\r\n let bd = b.allocations.work;\r\n let af = a.allocations.freeInRow;\r\n let bf = b.allocations.freeInRow;\r\n let maxWorkInRow = a.allocations.maxWorkInRow;\r\n\r\n if(maxWorkInRow < 99 && a.allocations.currentWorkInRow > 2) {\r\n console.log('w-maxWorkInRow: ' + maxWorkInRow);\r\n return 1;\r\n }\r\n if(group.isSaturdayWeekendGroup === false) {\r\n ad = a.allocations.saturday + a.allocations.work;\r\n bd = b.allocations.saturday + b.allocations.work;\r\n }\r\n if(isHoliday) {\r\n ad = a.allocations.holiday;\r\n bd = b.allocations.holiday;\r\n }\r\n if(ad === bd) {\r\n ad = a.orderNumber;\r\n bd = b.orderNumber;\r\n }\r\n return compare(ad, bd, af, bf, freeInRow);\r\n };\r\n\r\n const compareSaturday = (a, b) => {\r\n let ad = a.allocations.saturday; \r\n let bd = b.allocations.saturday;\r\n let af = a.allocations.freeInRow;\r\n let bf = b.allocations.freeInRow;\r\n let maxWorkInRow = a.allocations.maxWorkInRow;\r\n \r\n if(maxWorkInRow < 99 && a.allocations.currentWorkInRow > 2) {\r\n console.log('sa-maxWorkInRow: ' + maxWorkInRow);\r\n return 1;\r\n }\r\n if(group.isSaturdayWeekendGroup === false) {\r\n // TODO: Check all days\r\n if(isActive(2, a.weekdays) && isActive(2, b.weekdays)){\r\n ad = a.allocations.saturday + a.allocations.work;\r\n bd = b.allocations.saturday + b.allocations.work;\r\n }\r\n }\r\n if(isHoliday) {\r\n ad = a.allocations.holiday;\r\n bd = b.allocations.holiday;\r\n }\r\n if(ad === bd) {\r\n ad = a.orderNumber;\r\n bd = b.orderNumber;\r\n }\r\n return compare(ad, bd, af, bf, freeInRow);\r\n };\r\n\r\n const compareSunday = (a, b) => {\r\n let ad = a.allocations.sunday;\r\n let bd = b.allocations.sunday;\r\n let af = a.allocations.freeInRow;\r\n let bf = b.allocations.freeInRow;\r\n let maxWorkInRow = a.allocations.maxWorkInRow;\r\n \r\n if(maxWorkInRow < 99 && a.allocations.currentWorkInRow > 2) {\r\n console.log('su-maxWorkInRow: ' + maxWorkInRow);\r\n return 1;\r\n }\r\n if(isHoliday) {\r\n ad = a.allocations.holiday;\r\n bd = b.allocations.holiday;\r\n }\r\n if(ad === bd) {\r\n ad = a.orderNumber;\r\n bd = b.orderNumber;\r\n }\r\n return compare(ad, bd, af, bf, freeInRow);\r\n };\r\n\r\n var compareStandIn = (a, b) => {\r\n let ad = a.allocations.standIn;\r\n let bd = b.allocations.standIn;\r\n let af = 0;\r\n let bf = 0;\r\n\r\n if(ad === bd) {\r\n ad = a.orderNumber;\r\n bd = b.orderNumber;\r\n }\r\n \r\n return compare(ad, bd, af, bf, freeInRow);\r\n };\r\n \r\n const days = [1,2,3,4,5]; \r\n let result = [];\r\n\r\n // Saturday\r\n // TODO: where not hole numers are used\r\n if(day === 6 && group.isSaturdayWeekendGroup) {\r\n const saturday = group.atWorkWeekSaturday;\r\n const calc = saturday / dayGroup.length;\r\n if (!days.find(o => o == calc)) {\r\n let added = saturday;\r\n let employees = state.employeeStatistics.sort(compareSaturday);\r\n \r\n for(let dg of dayGroup) {\r\n for(let e of employees) {\r\n if(e.weekDayGroupId === dg) {\r\n if(allocationForDay(lookUp, e.employee.id, rootState.allocations.allocationsTimeOff).length === 0 && isActive(day, e.weekdays)) {\r\n if(added > 0) {\r\n result.push(e);\r\n e.allocations.saturday = e.allocations.saturday + 1;\r\n e.allocations.free = e.allocations.free - 1;\r\n e.allocations.freeInRow = 0;\r\n e.allocations.currentWorkInRow += 1;\r\n }\r\n added = added - 1;\r\n break;\r\n }\r\n\r\n if(isActive(day, e.weekdays) === false){\r\n e.allocations.freeInRow = 0;\r\n }\r\n }\r\n }\r\n }\r\n\r\n for(let e of employees) {\r\n if(!result.find(o => o.employee.id === e.employee.id)) {\r\n if(allocationForDay(lookUp, e.employee.id, rootState.allocations.allocationsTimeOff).length === 0 && isActive(day, e.weekdays)) {\r\n if(added > 0) {\r\n // TODO\r\n result.push(e);\r\n e.allocations.saturday = e.allocations.saturday + 1;\r\n e.allocations.free = e.allocations.free - 1;\r\n e.allocations.freeInRow = 0;\r\n e.allocations.currentWorkInRow += 1;\r\n } else {\r\n if(e.allocations.freeInRow === 0 || e.allocations.freeInRow % freeInRow !== 0) {\r\n e.allocations.freeInRow = e.allocations.freeInRow + 1;\r\n }\r\n e.allocations.currentWorkInRow = 0;\r\n }\r\n added = added - 1;\r\n }\r\n if(isActive(day, e.weekdays) === false){\r\n e.allocations.freeInRow = 0;\r\n }\r\n }\r\n }\r\n return result;\r\n }\r\n }\r\n\r\n // Sunday\r\n // TODO: where not whole numers are used\r\n if(day === 7) {\r\n const sunday = group.atWorkWeekSunday;\r\n const calc = sunday / dayGroup.length;\r\n if (!days.find(o => o == calc)) { \r\n let added = sunday;\r\n let employees = state.employeeStatistics.sort(compareSunday);\r\n \r\n for(let dg of dayGroup) {\r\n for(let e of employees) {\r\n if(e.weekDayGroupId === dg) {\r\n if(allocationForDay(lookUp, e.employee.id, rootState.allocations.allocationsTimeOff).length === 0 && isActive(day, e.weekdays)) {\r\n if(added > 0) { \r\n result.push(e);\r\n e.allocations.sunday = e.allocations.sunday + 1;\r\n e.allocations.free = e.allocations.free - 1;\r\n e.allocations.freeInRow = 0;\r\n e.allocations.currentWorkInRow += 1;\r\n }\r\n added = added - 1;\r\n break;\r\n }\r\n if(isActive(day, e.weekdays) === false){\r\n e.allocations.freeInRow = 0;\r\n }\r\n }\r\n }\r\n }\r\n\r\n for(let e of employees) {\r\n if(!result.find(o => o.employee.id === e.employee.id)) {\r\n if(allocationForDay(lookUp, e.employee.id, rootState.allocations.allocationsTimeOff).length === 0 && isActive(day, e.weekdays)) {\r\n if(added > 0) {\r\n // TODO\r\n result.push(e);\r\n e.allocations.sunday = e.allocations.sunday + 1;\r\n e.allocations.free = e.allocations.free - 1;\r\n e.allocations.freeInRow = 0;\r\n e.allocations.currentWorkInRow += 1;\r\n } else {\r\n if(e.allocations.freeInRow === 0 || e.allocations.freeInRow % freeInRow !== 0) {\r\n e.allocations.freeInRow = e.allocations.freeInRow + 1;\r\n }\r\n e.allocations.currentWorkInRow = 0;\r\n }\r\n added = added - 1;\r\n }\r\n if(isActive(day, e.weekdays) === false){\r\n e.allocations.freeInRow = 0;\r\n }\r\n }\r\n }\r\n return result;\r\n }\r\n }\r\n\r\n let atWork = group.atWorkWeekDays;\r\n if (day === 6) {\r\n atWork = group.atWorkWeekSaturday;\r\n } else if(day === 7) {\r\n atWork = group.atWorkWeekSunday;\r\n } \r\n\r\n let weekDay = atWork / dayGroup.length;\r\n \r\n let sortedDayGroup = dayGroup;\r\n // If value is not hole number\r\n if (!days.find(o => o == weekDay)) {\r\n if(day === 6) {\r\n sortedDayGroup = dayGroup.sort(compareDayGroupSaturDay);\r\n } else if(day === 7) {\r\n //sortedDayGroup = dayGroup.sort(this.compareDayGroup);\r\n } \r\n }\r\n\r\n console.log(\"dayGroup\");\r\n\r\n for(let dg of sortedDayGroup) {\r\n let added = weekDay;\r\n\r\n let employees = state.employeeStatistics.filter(o => o.weekDayGroupId === dg).sort(compareWeekDay);\r\n\r\n if(employees.filter(o => o.isGroupReplacement === false).length === 1){\r\n added = 1;\r\n }\r\n\r\n if (day === 6) {\r\n employees = employees.sort(compareSaturday);\r\n } else if (day === 7) {\r\n employees = employees.sort(compareSunday);\r\n } \r\n let grpResult = [];\r\n let circleIds = [];\r\n for(let circle of employees.filter(o => o.isGroupReplacement === false)) {\r\n circleIds.push(circle.baseCircleId);\r\n if(isAllocatedForDay(lookUp, circle.employee.id, rootState.allocations.allocationsTimeOff).length > 0) {\r\n circle.allocations.work = circle.allocations.work + 1; // Work allocated\r\n circle.allocations.currentWorkInRow += 1;\r\n added = added - 1;\r\n atWork -= 1;\r\n }\r\n }\r\n for(let e of employees) { \r\n if(allocationForDay(lookUp, e.employee.id, rootState.allocations.allocationsTimeOff).length === 0 && isActive(day, e.weekdays)) {\r\n if(added > 0 && atWork > 0) {\r\n \r\n // Group replacement\r\n if(e.isGroupReplacement) {\r\n if(circleIds.length > 0) {\r\n e.circleId = circleIds[0];\r\n } else {\r\n e.circleId = e.baseCircleId;\r\n }\r\n } else {\r\n e.circleId = e.baseCircleId;\r\n }\r\n\r\n circleIds = circleIds.filter(o => o !== e.circleId);\r\n \r\n result.push(e);\r\n\r\n let workLoad = 1;\r\n\r\n if (e.employee.workLoad > 0 && e.employee.workLoad < 100) {\r\n workLoad = 1 + (e.employee.workLoad / 100);\r\n }\r\n\r\n if (day === 6) {\r\n e.allocations.saturday = e.allocations.saturday + 1 * workLoad;\r\n } else if(day === 7) {\r\n e.allocations.sunday = e.allocations.sunday + 1 * workLoad;\r\n } else {\r\n if(isHoliday) {\r\n e.allocations.holiday = e.allocations.holiday + 1 * workLoad;\r\n } else {\r\n e.allocations.work = e.allocations.work + 1 * workLoad;\r\n }\r\n }\r\n \r\n e.allocations.freeInRow = 0;\r\n e.allocations.currentWorkInRow += 1;\r\n atWork -= 1;\r\n } else {\r\n if(e.allocations.freeInRow === 0 || e.allocations.freeInRow % freeInRow !== 0) {\r\n e.allocations.freeInRow = e.allocations.freeInRow + 1;\r\n }\r\n if(e.allocations.maxWorkInRow < 99) {\r\n //debugger;\r\n }\r\n\r\n e.allocations.currentWorkInRow = 0;\r\n }\r\n added = added - 1;\r\n }\r\n if(isActive(day, e.weekdays) === false){\r\n e.allocations.freeInRow = 0;\r\n }\r\n }\r\n result.push(...grpResult);\r\n }\r\n \r\n if(day === 7) { \r\n console.log(state.employeeStatistics);\r\n let employeeStandIns = state.employeeStatistics.filter(o => o.isStandIn).sort(compareStandIn);\r\n for (let se of employeeStandIns) {\r\n let circleStandIn = rootState.circles.circles.find(o => o.title === \"Bagvagt\");\r\n\r\n if (!circleStandIn) {\r\n circleStandIn = rootState.circles.circles[0];\r\n }\r\n \r\n if (result.filter(o => o.employee.id === se.employee.id).length === 0) {\r\n se.circleId = circleStandIn.id;\r\n se.allocations.standIn += 1;\r\n result.push(se); \r\n break;\r\n }\r\n }\r\n }\r\n\r\n return result;\r\n },\r\n\r\n getSimpleEmployeesForDay({state, rootState}, {date, group, dayGroup}) {\r\n let freeInRow = 1;\r\n const day = date.isoWeekday();\r\n const lookUp = moment.utc(date).format('YYYY-MM-DD');\r\n\r\n if(group.daysFreeInRow && group.daysFreeInRow > 0){\r\n freeInRow = group.daysFreeInRow;\r\n }\r\n var compare = (a, b) => {\r\n let ad = a.allocations.work + a.allocations.saturday + a.allocations.sunday;\r\n let bd = b.allocations.work + b.allocations.saturday + b.allocations.sunday;\r\n let af = a.allocations.freeInRow;\r\n let bf = b.allocations.freeInRow;\r\n \r\n if(day === 7) { \r\n console.log(`${day} (${lookUp}): a (${ad}-${af}-${a.allocations.dayFree}), b (${bd}-${bf}-${b.allocations.dayFree})`);\r\n }\r\n\r\n if(freeInRow === 3){\r\n if(a.allocations.dayFree && a.allocations.dayFree === 7) {\r\n if(day === 3) {\r\n return 1;\r\n }\r\n }\r\n if(a.allocations.dayFree && a.allocations.dayFree === 4) {\r\n if(day === 7) {\r\n return 1;\r\n }\r\n }\r\n if(b.allocations.dayFree && b.allocations.dayFree === 7) { \r\n if(day === 3) {\r\n return -1;\r\n }\r\n }\r\n if(b.allocations.dayFree && b.allocations.dayFree === 4) {\r\n if(day === 7) {\r\n return -1;\r\n }\r\n }\r\n }\r\n\r\n if(af === freeInRow) {\r\n af = 0;\r\n }\r\n\r\n if(bf === freeInRow) {\r\n bf = 0;\r\n }\r\n \r\n if(af < bf){\r\n return -1;\r\n }\r\n\r\n if(af > bf){\r\n return 1;\r\n }\r\n\r\n if(ad === bd) {\r\n ad = a.orderNumber;\r\n bd = b.orderNumber;\r\n }\r\n\r\n if(ad < bd) {\r\n return -1;\r\n }\r\n\r\n if(ad > bd) {\r\n return 1;\r\n }\r\n\r\n return 0;\r\n };\r\n\r\n let result = [];\r\n var indexDate = moment.utc(date);\r\n let isHoliday = rootState.holidayStore.holidays && rootState.holidayStore.holidays.find(o => indexDate.isSame(moment(o.date), 'date'));\r\n let atWork = group.atWorkWeekDays;\r\n if (day === 6) {\r\n atWork = group.atWorkWeekSaturday;\r\n } else if(day === 7) {\r\n atWork = group.atWorkWeekSunday;\r\n } \r\n \r\n let employees = state.employeeStatistics;\r\n let circleIds = [];\r\n for (let circle of employees.filter(o => o.isGroupReplacement === false)) {\r\n circleIds.push(circle.baseCircleId);\r\n }\r\n\r\n if(group.daysFreeInRow === 4) {\r\n if (day === 4) {\r\n for(let e of employees) {\r\n e.allocations.freeInRow = 0;\r\n }\r\n }\r\n\r\n employees = state.employeeStatistics.sort(compare);\r\n \r\n for(let e of employees) {\r\n if(atWork > 0) { \r\n // Group replacement\r\n if(e.isGroupReplacement) {\r\n if(circleIds.length > 0) {\r\n e.circleId = circleIds[0];\r\n } else {\r\n e.circleId = e.baseCircleId;\r\n }\r\n } else {\r\n e.circleId = e.baseCircleId;\r\n }\r\n\r\n circleIds = circleIds.filter(o => o !== e.circleId);\r\n \r\n result.push(e);\r\n\r\n let workLoad = 1;\r\n\r\n if (day === 6) {\r\n e.allocations.saturday = e.allocations.saturday + 1 * workLoad;\r\n } else if(day === 7) {\r\n e.allocations.sunday = e.allocations.sunday + 1 * workLoad;\r\n } else {\r\n if(isHoliday) {\r\n e.allocations.holiday = e.allocations.holiday + 1 * workLoad;\r\n } else {\r\n e.allocations.work = e.allocations.work + 1 * workLoad;\r\n }\r\n }\r\n \r\n e.allocations.freeInRow = 0;\r\n e.allocations.currentWorkInRow += 1;\r\n atWork -= 1;\r\n } else {\r\n e.allocations.freeInRow += 1;\r\n } \r\n }\r\n }\r\n \r\n if(group.daysFreeInRow === 3) {\r\n if (day === 3 || day === 5) {\r\n for(let e of employees) {\r\n e.allocations.freeInRow = 0;\r\n }\r\n }\r\n \r\n employees = state.employeeStatistics.sort(compare);\r\n \r\n for(let e of employees) {\r\n if(atWork > 0) { \r\n // Group replacement\r\n if(e.isGroupReplacement) {\r\n if(circleIds.length > 0) {\r\n e.circleId = circleIds[0];\r\n } else {\r\n e.circleId = e.baseCircleId;\r\n }\r\n } else {\r\n e.circleId = e.baseCircleId;\r\n }\r\n\r\n circleIds = circleIds.filter(o => o !== e.circleId);\r\n \r\n result.push(e);\r\n\r\n let workLoad = 1;\r\n\r\n if (day === 6) {\r\n e.allocations.saturday = e.allocations.saturday + 1 * workLoad;\r\n } else if(day === 7) {\r\n e.allocations.sunday = e.allocations.sunday + 1 * workLoad;\r\n } else {\r\n if(isHoliday) {\r\n e.allocations.holiday = e.allocations.holiday + 1 * workLoad;\r\n } else {\r\n e.allocations.work = e.allocations.work + 1 * workLoad;\r\n }\r\n }\r\n \r\n e.allocations.freeInRow = 0;\r\n e.allocations.currentWorkInRow += 1;\r\n atWork -= 1;\r\n } else {\r\n e.allocations.freeInRow += 1;\r\n e.allocations.dayFree = day;\r\n } \r\n }\r\n }\r\n if(group.daysFreeInRow === 2) {\r\n if (day === 2 || day === 4 || day === 6) {\r\n for(let e of employees) {\r\n e.allocations.freeInRow = 0;\r\n }\r\n }\r\n \r\n employees = state.employeeStatistics.sort(compare);\r\n \r\n for(let e of employees) {\r\n if(atWork > 0) { \r\n // Group replacement\r\n if(e.isGroupReplacement) {\r\n if(circleIds.length > 0) {\r\n e.circleId = circleIds[0];\r\n } else {\r\n e.circleId = e.baseCircleId;\r\n }\r\n } else {\r\n e.circleId = e.baseCircleId;\r\n }\r\n\r\n circleIds = circleIds.filter(o => o !== e.circleId);\r\n \r\n result.push(e);\r\n\r\n let workLoad = 1;\r\n\r\n if (day === 6) {\r\n e.allocations.saturday = e.allocations.saturday + 1 * workLoad;\r\n } else if(day === 7) {\r\n e.allocations.sunday = e.allocations.sunday + 1 * workLoad;\r\n } else {\r\n if(isHoliday) {\r\n e.allocations.holiday = e.allocations.holiday + 1 * workLoad;\r\n } else {\r\n e.allocations.work = e.allocations.work + 1 * workLoad;\r\n }\r\n }\r\n \r\n e.allocations.freeInRow = 0;\r\n e.allocations.currentWorkInRow += 1;\r\n atWork -= 1;\r\n } else {\r\n e.allocations.freeInRow += 1;\r\n e.allocations.dayFree = day;\r\n } \r\n }\r\n }\r\n return result;\r\n },\r\n\r\n initAllocation({commit, state, rootState}, {groupFilter}) {\r\n console.log(\"initAllocation\");\r\n if (groupFilter && state.allocations.length === 0) { \r\n try {\r\n commit('setStatisticsApiState', ApiState.LOADING);\r\n \r\n for(const item of rootState.allocations.allocationsTimeOff){\r\n commit('pushToAllocations', item);\r\n }\r\n \r\n const totalDays = 90;\r\n const emp = rootState.employees.employees.filter(o => o.groupId === groupFilter);\r\n \r\n for(const em of emp) {\r\n commit('pushToEmployeeStatistics', {\r\n employee: em,\r\n circleId: null,\r\n allocations: {\r\n free: totalDays - rootState.allocations.allocationsTimeOff.filter(o => o.employeeId === em.id).length,\r\n saturday: 0,\r\n sunday: 0,\r\n vacation: rootState.allocations.allocationsTimeOff.filter(o => o.employeeId === em.id && !o.circleId).length,\r\n holiday: 0, // TODO - Add filter and distribution\r\n work: rootState.allocations.allocationsTimeOff.filter(o => o.employeeId === em.id && o.circleId && o.replacementId).length,\r\n other: 0\r\n }\r\n });\r\n }\r\n \r\n commit('sortEmployeeStatistics', compareEmployeeOrderNumber);\r\n commit('setStatisticsApiState', ApiState.LOADED);\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setStatisticsApiState', ApiState.ERROR);\r\n }\r\n } else { \r\n commit('setStatisticsApiState', ApiState.LOADED);\r\n }\r\n }, \r\n\r\n async setFormGroupTemplate({commit}, formGroupTemplate) {\r\n commit('setFormGroupTemplate', formGroupTemplate);\r\n },\r\n\r\n closeGroupTemplateSidebars({commit}) {\r\n commit('setActiveSidebar', '');\r\n },\r\n\r\n showGroupTemplateSelectionSidebar({commit}) {\r\n commit('setActiveSidebar', 'group-templates');\r\n },\r\n\r\n showGroupTemplateEditSidebar({commit}) {\r\n commit('setActiveSidebar', 'edit-group-template');\r\n },\r\n\r\n async copyGroupTemplate({commit, dispatch, rootState, state}, {groupTemplate, groupFilter}){\r\n if(groupTemplate) {\r\n commit('setFormGroupTemplate', groupTemplate);\r\n\r\n var a = moment(state.formGroupTemplate.fromDate);\r\n var b = moment(state.formGroupTemplate.toDate);\r\n const totalDays = b.diff(a, 'days') // =1\r\n\r\n if(state.formGroupTemplate.toDate !== state.formGroupTemplate.fromDate) {\r\n const newFrom = moment.utc(state.formGroupTemplate.toDate).add(1, 'days');\r\n const newTo = moment.utc(newFrom).add(totalDays, 'days');\r\n const newTotalDays = newTo.diff(newFrom, 'days') // =1\r\n\r\n if(totalDays != newTotalDays) {\r\n console.log('error: days between not korrekt' + totalDays + ' != ' + newTotalDays);\r\n }\r\n\r\n commit('setFormGroupTemplateFromDate', moment.utc(newFrom).format('YYYY-MM-DD'));\r\n commit('setFormGroupTemplateToDate', moment.utc(newTo).format('YYYY-MM-DD'));\r\n }\r\n\r\n commit('setFormGroupTemplateState', 0);\r\n\r\n // LOAD TEMPLATE ALLOCATIONS\r\n const response = await groupTemplateRepository.loadGroupTemplateAllocation({id: state.formGroupTemplate.id});\r\n const copyAllocations = response.data;\r\n\r\n await dispatch('groupTemplateStore/createGroupTemplate', state.formGroupTemplate, { root: true });\r\n await dispatch('groupTemplateStore/getAllTemplatesForGroup', groupFilter, { root: true });\r\n\r\n commit('setFormGroupTemplate', rootState.groupTemplateStore.groupTemplate);\r\n \r\n for (let data of copyAllocations) {\r\n let startDate = moment.utc(data.startDate).add(totalDays + 1, 'days').format(\"YYYY-MM-DD\");\r\n\r\n await dispatch('addAllocation', {data: {\r\n allocationType: data.allocationType,\r\n circleId: data.circleId,\r\n groupId: state.formGroupTemplate.groupId,\r\n groupTemplateId: state.formGroupTemplate.id,\r\n employeeId: data.employeeId,\r\n startDate: startDate,\r\n endDateInclusive: moment.utc(startDate).add(data.allocationSpanInDays - 1, 'days').format(\"YYYY-MM-DD\"),\r\n allocationSpanInDays: data.allocationSpanInDays,\r\n id: generateUUID(),\r\n }, groupFilter});\r\n }\r\n\r\n if (state.formGroupTemplate) {\r\n commit('setFormGroupTemplateFromDate', moment(state.formGroupTemplate.fromDate).format('YYYY-MM-DD'));\r\n commit('setFormGroupTemplateToDate', moment(state.formGroupTemplate.toDate).format('YYYY-MM-DD'));\r\n }\r\n commit('setIsNewGroupTemplate', false);\r\n }\r\n },\r\n\r\n async generateGroupTemplate({commit, dispatch}, {groupTemplate, groupFilter}) {\r\n commit('setStatisticsApiState', ApiState.LOADING);\r\n await new Promise(q => setTimeout(q, 500)); // Kind of a hack, to give the UI time to update\r\n commit('setFormGroupTemplate', groupTemplate);\r\n commit('setIsNewGroupTemplate', false);\r\n commit('setActiveSidebar', '');\r\n return await dispatch('generateFormGroupTemplate', {groupFilter});\r\n },\r\n\r\n async editGroupTemplate({commit, dispatch}, groupTemplate) {\r\n commit('setFormGroupTemplate', groupTemplate);\r\n commit('setIsNewGroupTemplate', false);\r\n if(groupTemplate) {\r\n const groupFilter = groupTemplate.groupId;\r\n await dispatch('generateFormGroupTemplate', { groupFilter });\r\n }\r\n commit('setActiveSidebar', 'edit-group-template');\r\n },\r\n\r\n async initGroupTemplate({commit, dispatch, rootState, state}, {selectedGroup, fromDate, toDate, groupFilter}) {\r\n if(selectedGroup) {\r\n\r\n commit('setIsNewGroupTemplate', true);\r\n \r\n commit('setFormGroupTemplate', {\r\n atWorkWeekDays: selectedGroup.atWorkWeekDays,\r\n atWorkWeekSaturday: selectedGroup.atWorkWeekSaturday,\r\n atWorkWeekSunday: selectedGroup.atWorkWeekSunday,\r\n atWorkHolidayWeekdays: selectedGroup.atWorkHolidayWeekdays,\r\n atWorkHolidayWeekend: selectedGroup.atWorkHolidayWeekend,\r\n daysFreeInRow: !selectedGroup.daysFreeInRow || selectedGroup.daysFreeInRow <= 0 \r\n ? 2 \r\n : selectedGroup.daysFreeInRow,\r\n isSaturdayWeekendGroup: !selectedGroup.isSaturdayWeekendGroup \r\n ? false \r\n : selectedGroup.isSaturdayWeekendGroup,\r\n title: selectedGroup.title,\r\n fromDate: fromDate,\r\n toDate: toDate,\r\n groupId: selectedGroup.id,\r\n isTemplateManual: true,\r\n isTemplateDynamic: false,\r\n planningWeeks: 1,\r\n repeatWeeks: 0\r\n });\r\n\r\n if (state.formGroupTemplate.isTemplateManual) {\r\n const totalDays = (state.formGroupTemplate.planningWeeks * 7 * (state.formGroupTemplate.repeatWeeks + 1)) - 1;\r\n commit('setFormGroupTemplateToDate', moment(state.formGroupTemplate.fromDate).add(totalDays, 'days').format('YYYY-MM-DD'));\r\n }\r\n\r\n //this.isSaturdayWeekendGroup = this.formGroupTemplate.isSaturdayWeekendGroup; // not sure that this does anything\r\n \r\n await dispatch('allocations/getTimeOff', {fromDate, forGroup: groupFilter}, { root: true });\r\n await dispatch('groupTemplateStore/getAllTemplatesForGroup', groupFilter, { root: true });\r\n await dispatch('groupComments/loadGroupComments', {fromDate, toDate, forGroup: groupFilter}, { root: true });\r\n } \r\n },\r\n\r\n async createGroupTemplateFromForm({commit, dispatch, state, rootState}, {groupFilter}) {\r\n if (!state.formGroupTemplate) {\r\n return;\r\n }\r\n try {\r\n commit('setStatisticsApiState', ApiState.LOADING);\r\n \r\n await dispatch('groupTemplateStore/createGroupTemplate', state.formGroupTemplate, { root: true });\r\n await dispatch('groupTemplateStore/getAllTemplatesForGroup', groupFilter, { root: true });\r\n \r\n commit('setFormGroupTemplate', rootState.groupTemplateStore.groupTemplate);\r\n commit('setIsNewGroupTemplate', false);\r\n commit('setStatisticsApiState', ApiState.LOADED);\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setStatisticsApiState', ApiState.ERROR);\r\n }\r\n },\r\n\r\n async updateGroupTemplateFromForm({commit, dispatch, state, rootState}, {fromDate, groupFilter}) { // updateClicked\r\n console.log(`updateGroupTemplateFromForm({fromDate: ${fromDate}, groupFilter: ${groupFilter}})`);\r\n if (!state.formGroupTemplate) {\r\n return;\r\n }\r\n\r\n const prevFromDate = state.formGroupTemplate.prevFromDate;\r\n\r\n if (state.formGroupTemplate.isTemplateManual) {\r\n let rw = new Number(state.formGroupTemplate.repeatWeeks);\r\n let pw = new Number(state.formGroupTemplate.planningWeeks);\r\n const weeks = pw * (rw + 1); \r\n const totalDays = (weeks * 7) - 1;\r\n\r\n commit('setFormGroupTemplateToDate', moment(state.formGroupTemplate.fromDate).add(totalDays, 'days').format('YYYY-MM-DD'));\r\n }\r\n\r\n await dispatch('groupTemplateStore/updateGroupTemplate', state.formGroupTemplate, { root: true });\r\n commit('setFormGroupTemplate', rootState.groupTemplateStore.groupTemplate);\r\n\r\n if (fromDate) {\r\n let spanInDays = dayBetween(fromDate, state.formGroupTemplate.fromDate);\r\n\r\n if(prevFromDate) {\r\n spanInDays = dayBetween(prevFromDate, state.formGroupTemplate.fromDate);\r\n console.log('prevFromDate: ' + prevFromDate);\r\n }\r\n\r\n console.log(spanInDays);\r\n // TODO: Move existing allocations\r\n console.log('fromDate: ' + fromDate);\r\n console.log('newFromDate: ' + state.formGroupTemplate.fromDate);\r\n if(spanInDays !== 0) {\r\n dispatch('moveAllocations', spanInDays);\r\n }\r\n }\r\n\r\n if (state.formGroupTemplate) {\r\n commit('setFormGroupTemplateFromDate', moment(state.formGroupTemplate.fromDate).format('YYYY-MM-DD'));\r\n commit('setFormGroupTemplateToDate', moment(state.formGroupTemplate.toDate).format('YYYY-MM-DD'));\r\n\r\n await dispatch('allocations/getTimeOff', {fromDate: state.formGroupTemplate.fromDate, forGroup: groupFilter}, { root: true });\r\n } \r\n },\r\n\r\n templatePropertyChanged({commit}, {propertyName, value}) {\r\n commit('setFormGroupTemplateProperty', {propertyName, value});\r\n },\r\n\r\n async updateGroupTemplate({commit, dispatch}, {fromDate, groupFilter}) {\r\n commit('setStatisticsApiState', ApiState.LOADING);\r\n try {\r\n // await this.updateClicked();\r\n await dispatch('updateGroupTemplateFromForm', {fromDate, groupFilter});\r\n \r\n //this.generateClicked();\r\n const selectedDate = await dispatch('generateFormGroupTemplate', {groupFilter});\r\n \r\n await dispatch('groupTemplateStore/getAllTemplatesForGroup', groupFilter, { root: true });\r\n \r\n dispatch('closeGroupTemplateSidebars');\r\n commit('setStatisticsApiState', ApiState.LOADED);\r\n \r\n return selectedDate;\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setStatisticsApiState', ApiState.ERROR);\r\n }\r\n },\r\n\r\n async applyGroupTemplate({commit, dispatch, state}, groupFilter) {\r\n const response = await groupTemplateRepository.canApply(state.formGroupTemplate);\r\n \r\n if(response.data > 0) { \r\n const vueTmp = Vue;\r\n const buefyTmp = vueTmp.prototype.$buefy;\r\n buefyTmp.dialog.confirm({\r\n title: \"Advarsel\",\r\n message: `Der er ${response.data} allokerede opgaver. Vil du erstatte din nuværende kalender med den nye kalender?`,\r\n cancelText: 'Nej',\r\n confirmText: 'Ja',\r\n type: 'is-success',\r\n onConfirm: async () => {\r\n commit('setStatisticsApiState', ApiState.LOADING);\r\n try {\r\n dispatch('closeGroupTemplateSidebars');\r\n console.log(state.formGroupTemplate)\r\n if(!state.formGroupTemplate.isTemplateManual) {\r\n commit('setFormGroupTemplateProperty', { propertyName: 'allocations', value: state.allocations.filter(o => o.isSimulation) });\r\n }\r\n \r\n await dispatch('groupTemplateStore/applyGroupTemplate', state.formGroupTemplate, { root: true }); \r\n await dispatch('groupTemplateStore/getAllTemplatesForGroup', groupFilter, { root: true });\r\n\r\n commit('clearFormGroupTemplate');\r\n commit('setStatisticsApiState', ApiState.LOADED);\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setStatisticsApiState', ApiState.ERROR);\r\n }\r\n },\r\n onCancel:() => {\r\n dispatch('closeGroupTemplateSidebars');\r\n }\r\n });\r\n }\r\n else {\r\n commit('setStatisticsApiState', ApiState.LOADING);\r\n try {\r\n dispatch('closeGroupTemplateSidebars');\r\n\r\n if(!state.formGroupTemplate.isTemplateManual) {\r\n commit('setFormGroupTemplateProperty', { propertyName: 'allocations', value: state.allocations.filter(o => o.isSimulation) });\r\n }\r\n \r\n await dispatch('groupTemplateStore/applyGroupTemplate', state.formGroupTemplate, { root: true });\r\n await dispatch('groupTemplateStore/getAllTemplatesForGroup', groupFilter, { root: true });\r\n\r\n commit('clearFormGroupTemplate');\r\n commit('setStatisticsApiState', ApiState.LOADED);\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setStatisticsApiState', ApiState.ERROR);\r\n }\r\n }\r\n },\r\n async rollbackGroupTemplate({commit, dispatch, state}, {groupTemplate, groupFilter}) {\r\n const vueTmp = Vue;\r\n const buefyTmp = vueTmp.prototype.$buefy;\r\n commit('setFormGroupTemplate', groupTemplate);\r\n buefyTmp.dialog.confirm({\r\n title: \"Advarsel\",\r\n message: `Vil du rulle dette template tilbage?`,\r\n cancelText: 'Nej',\r\n confirmText: 'Ja',\r\n type: 'is-success',\r\n onConfirm: async () => {\r\n commit('setStatisticsApiState', ApiState.LOADING);\r\n try {\r\n dispatch('closeGroupTemplateSidebars');\r\n console.log(state.formGroupTemplate)\r\n if(!state.formGroupTemplate.isTemplateManual) {\r\n commit('setFormGroupTemplateProperty', { propertyName: 'allocations', value: state.allocations.filter(o => o.isSimulation) });\r\n }\r\n \r\n await dispatch('groupTemplateStore/rollbackGroupTemplate', state.formGroupTemplate, { root: true }); \r\n await dispatch('groupTemplateStore/getAllTemplatesForGroup', groupFilter, { root: true });\r\n \r\n commit('clearFormGroupTemplate');\r\n commit('setStatisticsApiState', ApiState.LOADED);\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setStatisticsApiState', ApiState.ERROR);\r\n }\r\n },\r\n onCancel:() => {\r\n dispatch('closeGroupTemplateSidebars');\r\n }\r\n });\r\n }\r\n },\r\n getters: {\r\n statisticsApiState: state => state.apiState,\r\n allocations: state => state.allocations,\r\n employeeStatistics: state => state.employeeStatistics,\r\n formGroupTemplate: state => state.formGroupTemplate,\r\n activeSidebar: state => state.activeSidebar,\r\n isNewGroupTemplate: state => state.isNewGroupTemplate,\r\n latestUpdateTextFormGroupTemplate: state => {\r\n if (state.formGroupTemplate) {\r\n const duration = moment().diff(moment(state.formGroupTemplate._LatestUpdate), \"milliseconds\");\r\n const durationText = duration > 0 ? moment.duration(duration).humanize() : '';\r\n \r\n return `Opdateret ${durationText} siden af ${state.formGroupTemplate?._UpdatedByName}`;\r\n }\r\n return '';\r\n },\r\n loadStatisticsStartDate: state => state.loadStatisticsStartDate.toDate(),\r\n loadStatisticsEndDate: state => state.loadStatisticsEndDate.toDate(),\r\n loadStatisticsGroupFilter: state => state.loadStatisticsGroupFilter,\r\n loadStatisticsRegionFilter: state => state.loadStatisticsRegionFilter\r\n\r\n }\r\n}\r\n","import Vue from \"vue\";\r\nimport ApiState from '@/enums/APISTATE';\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {\r\n apiState: ApiState.INIT,\r\n selectedAllocations: {},\r\n\r\n },\r\n mutations: {\r\n setApiState(state, apiState) {\r\n state.apiState = apiState;\r\n },\r\n addSelection(state, allocation) {\r\n if (!Object.prototype.hasOwnProperty.call(state.selectedAllocations, allocation.id)) {\r\n // state.selectedAllocations[allocation.id] = allocation;\r\n Vue.set(state.selectedAllocations, allocation.id, allocation);\r\n }\r\n else {\r\n Vue.delete(state.selectedAllocations, allocation.id);\r\n }\r\n },\r\n clearSelection(state) {\r\n Vue.set(state, 'selectedAllocations', {});\r\n }\r\n\r\n },\r\n actions: {\r\n selectAllocation({commit, rootGetters}, allocation) {\r\n if (rootGetters.isReplacement || rootGetters.hasEditRights === false){\r\n return;\r\n }\r\n\r\n commit('addSelection', allocation);\r\n },\r\n async selectMoveTarget({commit, dispatch, state}, {rowData, rowDataKey, allocationRowDataKey = rowDataKey}) {\r\n if (state.apiState === ApiState.LOADING)\r\n return;\r\n\r\n commit('setApiState', ApiState.LOADING);\r\n try {\r\n for (let allocationId of Object.keys(state.selectedAllocations)) {\r\n let allocation = state.selectedAllocations[allocationId];\r\n allocation[allocationRowDataKey] = rowData[rowDataKey];\r\n await dispatch('scheduler/updateAllocation', { allocation }, { root: true });\r\n }\r\n dispatch('clearSelection');\r\n commit('setApiState', ApiState.LOADED);\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setApiState', ApiState.ERROR);\r\n }\r\n },\r\n clearSelection({commit}) {\r\n commit('clearSelection');\r\n }\r\n\r\n },\r\n getters: {\r\n awaitingSelection: state => Object.keys(state.selectedAllocations).length > 0,\r\n allocationSelectionClass: state => (allocation) => Object.prototype.hasOwnProperty.call(state.selectedAllocations, allocation.id) ? 'allocation-selection__allocation--selected' : '',\r\n isAllocationSelected: state => (allocation) => Object.prototype.hasOwnProperty.call(state.selectedAllocations, allocation.id),\r\n moveTargetClass: state => ({rowData, rowDataKey}) => {\r\n const output = [];\r\n output.push('allocation-selection__target');\r\n if (Object.keys(state.selectedAllocations).length > 0) {\r\n output.push('allocation-selection__target--active');\r\n }\r\n return output;\r\n }\r\n }\r\n}\r\n","import Repository from '@/repositories/RepositoryFactory';\r\nimport ApiState from \"../../enums/APISTATE\";\r\n\r\nconst agreementRepository = Repository.get('agreementRepository');\r\n\r\nexport default ({\r\n namespaced: true,\r\n state: {\r\n agreements: [],\r\n agreementsApiState: ApiState.INIT,\r\n agreement: {},\r\n agreementApiState: ApiState.INIT,\r\n editingAgreement: null,\r\n },\r\n mutations: {\r\n setAgreementsApiState: (state, apiState) => {\r\n state.agreementsApiState = apiState;\r\n },\r\n setAgreements(state, response) {\r\n const { data } = response;\r\n state.agreements = data;\r\n state.agreementsApiState = ApiState.LOADED;\r\n },\r\n setAgreementApiState: (state, apiState) => {\r\n state.agreementApiState = apiState;\r\n },\r\n setAgreement(state, response) {\r\n const { data } = response;\r\n state.agreement = data;\r\n state.agreementApiState = ApiState.LOADED;\r\n },\r\n initialized(state, { agreements }) {\r\n state.agreements = agreements;\r\n }\r\n },\r\n actions: {\r\n async agreementById({ commit, dispatch }, dto) {\r\n dispatch('cancelEditingAgreement');\r\n commit('setAgreementApiState', ApiState.LOADING);\r\n try {\r\n commit('setAgreement', await agreementRepository.getById(dto.employeeId, dto.year));\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setAgreementApiState', ApiState.ERROR);\r\n }\r\n },\r\n async agreementByYear({ commit, dispatch }, dto) {\r\n dispatch('cancelEditingAgreement');\r\n commit('setAgreementsApiState', ApiState.LOADING);\r\n try {\r\n commit('setAgreements', await agreementRepository.getAllForYear(dto.year));\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setAgreementsApiState', ApiState.ERROR);\r\n }\r\n },\r\n async agreementUpdate({ commit, dispatch, state }, dto) {\r\n commit('setAgreementApiState', ApiState.LOADING);\r\n try {\r\n const response = await agreementRepository.update(dto);\r\n commit(\"setAgreement\", response);\r\n dispatch('cancelEditingAgreement');\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setAgreementApiState', ApiState.ERROR);\r\n }\r\n },\r\n async agreementUpdateAll({ commit, dispatch, state }, dto) {\r\n commit('setAgreementsApiState', ApiState.LOADING);\r\n try {\r\n const response = await agreementRepository.updateAll(dto);\r\n commit(\"setAgreements\", response)\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setAgreementsApiState', ApiState.ERROR);\r\n }\r\n },\r\n // Close the agreement sidebar\r\n cancelEditingAgreement({commit}) {\r\n commit('setAgreement', { data: null });\r\n },\r\n \r\n // Open the agreement sidebar\r\n startEditingAgreement({commit}, dto) {\r\n commit('setAgreement', { data: dto });\r\n }\r\n },\r\n getters: {\r\n agreementApiState(state) {\r\n return state.agreementApiState;\r\n },\r\n agreement(state) {\r\n return state.agreement;\r\n },\r\n agreementsApiState(state) {\r\n return state.agreementsApiState;\r\n },\r\n agreements(state) {\r\n return state.agreements;\r\n }\r\n }\r\n });","import Repository from \"@/repositories/RepositoryFactory\";\r\nimport groupRepository from \"../../repositories/groups\";\r\nimport gpsDataRepository from \"../../repositories/gpsDataRepository\";\r\nimport APISTATE from \"../../enums/APISTATE\";\r\n\r\nconst GPSDataRepository = Repository.get(\"gpsData\");\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {\r\n gpsDataApiState: APISTATE.LOADED,\r\n gpsDataList: [],\r\n gpsDataFilterYear: undefined,\r\n gpsDataFilterMonth: undefined,\r\n gpsDataFilterEmployeeNumber: 0\r\n },\r\n mutations: {\r\n setApiState: (state, apiState) => {\r\n state.gpsDataApiState = apiState;\r\n },\r\n setGPSDataList: (state, response) => {\r\n state.gpsDataList = response;\r\n state.apiState = APISTATE.LOADED;\r\n },\r\n setGPSDataFilterYear: (state, response) => {\r\n state.gpsDataFilterYear = response;\r\n },\r\n setGPSDataFilterMonth: (state, response) => {\r\n state.gpsDataFilterMonth = response;\r\n },\r\n setGPSDataFilterEmployeeNumber: (state, response) => {\r\n state.gpsDataFilterEmployeeNumber = response;\r\n }\r\n },\r\n actions: {\r\n getAllGPSData({ commit }, dto) {\r\n commit(\"setApiState\", APISTATE.LOADING);\r\n return new Promise((resolve, reject) => {\r\n GPSDataRepository\r\n .getGPSDataList(dto)\r\n .then((response) => {\r\n commit(\"setGPSDataList\", response);\r\n commit(\"setApiState\", APISTATE.LOADED);\r\n resolve();\r\n })\r\n .catch((error) => {\r\n commit(\"setApiState\", APISTATE.ERROR);\r\n reject(error);\r\n });\r\n });\r\n },\r\n async updateGPSData({ commit}, gpsData) {\r\n commit('setApiState', APISTATE.LOADING);\r\n try {\r\n const response = await gpsDataRepository.updateGPSData(gpsData);\r\n commit('setApiState',APISTATE.LOADED)\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setApiState', APISTATE.ERROR);\r\n }\r\n },\r\n setYear({commit}, year) {\r\n commit(\"setGPSDataFilterYear\", year)\r\n },\r\n setMonth({commit}, month) {\r\n commit(\"setGPSDataFilterMonth\", month)\r\n },\r\n setEmployeeNumber ({commit}, employeeNumber) {\r\n commit(\"setGPSDataFilterEmployeeNumber\", employeeNumber)\r\n },\r\n initYearMonth ({commit}) {\r\n \r\n const date = new Date();\r\n commit(\"setGPSDataFilterYear\", date.getFullYear());\r\n commit(\"setGPSDataFilterMonth\", date.getMonth());\r\n \r\n }\r\n },\r\n getters: {\r\n gpsDataList(state) {\r\n return state.gpsDataList\r\n },\r\n gpsDataApiState (state) {\r\n return state.gpsDataApiState\r\n },\r\n gpsDataFilterYear (state) {\r\n return state.gpsDataFilterYear\r\n },\r\n gpsDataFilterMonth (state) {\r\n return state.gpsDataFilterMonth\r\n },\r\n gpsDataFilterEmployeeNumber (state) {\r\n return state.gpsDataFilterEmployeeNumber\r\n }\r\n }\r\n};\r\n","import Repository from '@/repositories/RepositoryFactory';\r\nimport ENUM from '../../enums/APISTATE';\r\nimport store from '../';\r\n\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {\r\n errorModalOpen: false,\r\n errorModalText: '',\r\n confirmationButtonText: '',\r\n confirmed: undefined,\r\n errorModalHeader: '',\r\n confirmingModel: {},\r\n },\r\n mutations: {\r\n setErrorModalOpen (state, open){\r\n state.errorModalOpen = open\r\n },\r\n setErrorModalText (state, text) {\r\n state.errorModalText = text\r\n },\r\n setErrorModalHeader (state, header) {\r\n state.errorModalHeader = header\r\n },\r\n setConfirmationButtonText(state, confirmationText){\r\n state.confirmationButtonText = confirmationText\r\n },\r\n setConfirmed(state, confirmed){\r\n console.log(confirmed);\r\n state.confirmed = confirmed\r\n },\r\n setConfirmingModel(state, confirmingModel){\r\n state.confirmingModel = confirmingModel;\r\n }\r\n },\r\n actions: {\r\n setErrorModalOpen: ({commit}, open) => {commit(\"setErrorModalOpen\", open)},\r\n setErrorModalText: ({commit}, text) => {commit(\"setErrorModalText\", text)},\r\n setConfirmationButtonText: ({commit}, confrimationText) => {commit(\"setConfirmationButtonText\", confrimationText)},\r\n setConfirmedAndClose: ({commit}, confirmed) => {\r\n commit(\"setErrorModalOpen\", false)\r\n commit(\"setConfirmed\", confirmed)\r\n },\r\n setConfirmed: ({commit}, confirmed) => {commit(\"setConfirmed\", confirmed)}, \r\n setErrorModalHeader: ({commit}, header) => {commit(\"setErrorModalHeader\", header)},\r\n setConfirmingModel({commit}, confirmingModel){commit(\"setConfirmingModel\", confirmingModel)}\r\n },\r\n getters: {\r\n errorModalOpen: (state) => {return state.errorModalOpen},\r\n errorModalText: (state) => {return state.errorModalText},\r\n confirmationButtonText: (state) => {return state.confirmationButtonText},\r\n confirmed: (state) => {return state.confirmed},\r\n errorModalHeader: (state) => {return state.errorModalHeader},\r\n confirmingModel: (state) => {return state.confirmingModel}\r\n }\r\n\r\n}","import Repository from '@/repositories/RepositoryFactory';\r\nimport APISTATE from '../../enums/APISTATE';\r\nimport moment, { ISO_8601 } from \"moment\";\r\n\r\nconst reports = Repository.get('reports');\r\nconst emptyUserDriveData = {\r\n id: 0,\r\n assistant_Name: '',\r\n type: 21,\r\n subType: 'DT',\r\n days: 0,\r\n timeInMinutes: 0,\r\n remark: '',\r\n distance: 0,\r\n createdDate: new Date(),\r\n chr: '',\r\n approvedBy: '',\r\n approvedByUser: false,\r\n totalImposed: 0,\r\n totalPreliminaryInvestigations: 0,\r\n totalPreliminaryInvestigationsDonor: 0,\r\n vgProject: false,\r\n vainVisits: 0,\r\n onDayOff: false\r\n}\r\n\r\nconst getDateFromMonthYear = (day, month, year) => {\r\n let date = new Date();\r\n date.setMonth(month);\r\n date.setFullYear(year);\r\n date.setDate(day);\r\n date.setHours(3);\r\n return date;\r\n };\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {\r\n report: [],\r\n apiState: APISTATE.LOADED,\r\n employeeNumber: undefined,\r\n employeeId: undefined,\r\n employeeName: undefined,\r\n year: undefined,\r\n month: undefined,\r\n selectedUserDriveData: undefined,\r\n types: [{id: 21, title:'ATK', backgroundColor: 'white'}, {id: 22, title: 'RTA', backgroundColor: 'white'}]\r\n },\r\n mutations: {\r\n setReport (state, open){\r\n state.report = open\r\n },\r\n setApiState(state, apiState){\r\n state.APISTATE = apiState;\r\n },\r\n setYear(state, year){\r\n state.year = year;\r\n },\r\n setMonth(state, month){\r\n state.month = month;\r\n },\r\n setEmployeeNumber(state, employeeNumber) {\r\n state.employeeNumber = employeeNumber;\r\n },\r\n setSelectedUserDriveData(state, data){\r\n state.selectedUserDriveData = data;\r\n },\r\n setSelectedType(state, type){\r\n const typeData = state.types.find(t => t.id == type);\r\n state.selectedUserDriveData.type = typeData.id;\r\n state.selectedUserDriveData.typeStringified = typeData.title;\r\n },\r\n setEmployeeId(state, id){\r\n state.employeeId = id;\r\n },\r\n setEmployeeName(state, name){\r\n state.setEmployeeName = name;\r\n }\r\n },\r\n actions: {\r\n async performLookup({commit, state}) {\r\n commit(\"setApiState\", APISTATE.LOADING);\r\n let report = await reports.getDTReport(state.employeeNumber, state.year, state.month + 1);\r\n commit(\"setReport\", report);\r\n commit(\"setApiState\", APISTATE.LOADED);\r\n },\r\n setYear({commit}, year) {\r\n commit(\"setYear\", year);\r\n },\r\n setMonth({commit}, month) {\r\n commit(\"setMonth\", month);\r\n },\r\n setEmployeeNumber({commit}, employeeNumber) {\r\n commit(\"setEmployeeNumber\", employeeNumber);\r\n },\r\n setSelectedUserDriveData({commit}, data){\r\n data.createdDate = new Date(data.createdDate);\r\n commit(\"setSelectedUserDriveData\", data);\r\n },\r\n setNewUserDriveData({commit, state}, currentUser){\r\n const newUserDriveData = emptyUserDriveData;\r\n newUserDriveData.assistant_Number = state.employeeNumber;\r\n newUserDriveData.assistant_Name = state.employeeName;\r\n newUserDriveData.assistant_Uid = state.employeeId;\r\n newUserDriveData.approvedBy = currentUser.name;\r\n newUserDriveData.remark = 'DT';\r\n commit(\"setSelectedUserDriveData\", newUserDriveData);\r\n },\r\n setEmployeeId({commit}, id){\r\n commit(\"setEmployeeId\", id);\r\n },\r\n cancelSidebar({commit}){\r\n commit(\"setSelectedUserDriveData\", undefined);\r\n },\r\n async update({commit, state}){\r\n commit(\"setApiState\", APISTATE.LOADING);\r\n state.selectedUserDriveData.assistant_Number = state.selectedUserDriveData.assistant_Number.toString();\r\n const date = state.selectedUserDriveData.createdDate;\r\n state.selectedUserDriveData.createdDate = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()));\r\n reports.updateDTReport(state.selectedUserDriveData).then( async function (){\r\n let report = await reports.getDTReport(state.employeeNumber, state.year, state.month + 1);\r\n commit(\"setReport\", report);\r\n commit(\"setSelectedUserDriveData\", undefined);\r\n });\r\n \r\n commit(\"setApiState\", APISTATE.LOADED);\r\n },\r\n setSelectedType({commit}, type){\r\n commit(\"setSelectedType\",type)\r\n },\r\n setEmployeeName({commit}, name){\r\n commit(\"setEmployeeName\", name);\r\n },\r\n async deleteItem({commit, state}){\r\n commit(\"setApiState\", APISTATE.LOADING);\r\n reports.deleteDTReport(state.selectedUserDriveData.id).then(async function(){\r\n let report = await reports.getDTReport(state.employeeNumber, state.year, state.month + 1);\r\n commit(\"setReport\", report);\r\n commit(\"setSelectedUserDriveData\", undefined);\r\n });\r\n commit(\"setApiState\", APISTATE.LOADED);\r\n }\r\n },\r\n getters: {\r\n report: (state) => { return state.report },\r\n year: (state) => { return state.year},\r\n month: (state) => { return state.month },\r\n employeeNumber: (state) => { return state.employeeNumber },\r\n loading: (state) => { return state.apiState !== APISTATE.LOADED },\r\n showSidebar: (state) => { return state.selectedUserDriveData !== undefined },\r\n sidebarHeaderText: (state) => { return state.selectedUserDriveData?.id !== 0 ? \"Opdater\" : \"Opret\" },\r\n selectedUserDriveData: (state) => { return state.selectedUserDriveData },\r\n types: (state) => { return state.types }\r\n }\r\n}","import Repository from '@/repositories/RepositoryFactory';\r\nimport ApiState from \"../../enums/APISTATE\";\r\n\r\nconst rateRepository = Repository.get('salaryRatesRepository');\r\n\r\nexport default ({\r\n namespaced: true,\r\n state: {\r\n rates: [],\r\n ratesApiState: ApiState.INIT,\r\n rate: {},\r\n rateApiState: ApiState.INIT,\r\n editingRate: null,\r\n },\r\n mutations: {\r\n setRatesApiState: (state, apiState) => {\r\n state.ratesApiState = apiState;\r\n },\r\n setRates(state, response) {\r\n const { data } = response;\r\n state.rates = data;\r\n state.ratesApiState = ApiState.LOADED;\r\n },\r\n setRateApiState: (state, apiState) => {\r\n state.rateApiState = apiState;\r\n },\r\n setRate(state, response) {\r\n const { data } = response;\r\n state.rate = data;\r\n state.rateApiState = ApiState.LOADED;\r\n },\r\n initialized(state, { rates }) {\r\n state.rates = rates;\r\n }\r\n },\r\n actions: {\r\n async getAllSalaryRatesForYear({ commit, dispatch }, dto) {\r\n dispatch('cancelEditingRate');\r\n commit('setRatesApiState', ApiState.LOADING);\r\n try {\r\n commit('setRates', await rateRepository.getAllSalaryRatesForYear(dto.year));\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setRatesApiState', ApiState.ERROR);\r\n }\r\n },\r\n async updateSalaryRate({ commit, dispatch, state }, dto) {\r\n commit('setRateApiState', ApiState.LOADING);\r\n try {\r\n const response = await rateRepository.updateSalaryRate(dto);\r\n commit(\"setRate\", response);\r\n dispatch('cancelEditingRate');\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setRateApiState', ApiState.ERROR);\r\n }\r\n },\r\n async createSalaryRate({ commit, dispatch, state }, dto) {\r\n commit('setRateApiState', ApiState.LOADING);\r\n try {\r\n const response = await rateRepository.createSalaryRate(dto);\r\n commit(\"setRate\", response);\r\n dispatch('cancelEditingRate');\r\n }\r\n catch (error) {\r\n console.error(error);\r\n commit('setRateApiState', ApiState.ERROR);\r\n }\r\n },\r\n // Close the rate sidebar\r\n cancelEditingRate({commit}) {\r\n commit('setRate', { data: null });\r\n },\r\n \r\n // Open the rate sidebar\r\n startEditingRate({commit}, dto) {\r\n commit('setRate', { data: dto });\r\n }\r\n },\r\n getters: {\r\n rateApiState(state) {\r\n return state.rateApiState;\r\n },\r\n rate(state) {\r\n return state.rate;\r\n },\r\n ratesApiState(state) {\r\n return state.ratesApiState;\r\n },\r\n rates(state) {\r\n return state.rates;\r\n }\r\n }\r\n });","import Repository from \"@/repositories/RepositoryFactory\";\r\nimport groupRepository from \"../../repositories/groups\";\r\nimport gpsDataRepository from \"../../repositories/gpsDataRepository\";\r\nimport APISTATE from \"../../enums/APISTATE\";\r\nimport Vuex from \"vuex\";\r\n\r\nconst SalaryManualInputRepository = Repository.get( \"salaryManualInput\" );\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {\r\n csvModalOpen: false,\r\n discriminator: {},\r\n discriminatorOptions: [ { key: 'OnAccount', value: 'Aconto' }, { key: 'CommissionSales', value: 'Provisionssalg' }, { key: 'SpecialHolidayAllowance', value: 'Særlig feriegodtgørelse' } ],\r\n selectedFile: null\r\n },\r\n mutations: {\r\n setCsvOpenModal: ( state, csvModalOpen ) => {\r\n state.csvModalOpen = csvModalOpen;\r\n },\r\n setDiscriminator: ( state, discriminator ) => {\r\n state.discriminator = discriminator\r\n },\r\n setSelectedFile: ( state, file ) => {\r\n state.selectedFile = file;\r\n }\r\n },\r\n actions: {\r\n setModalOpen: ( { commit }, csvModalOpen ) => { commit( \"setCsvOpenModal\", csvModalOpen ) },\r\n setDiscriminator: ( { commit }, discriminator ) => { commit( \"setDiscriminator\", discriminator ) },\r\n setSelectedFile: ( { commit }, file ) => { commit( \"setSelectedFile\", file ) },\r\n uploadFile: async ( { commit, state, dispatch } ) => {\r\n let data = new FormData();\r\n // console.log( 'selectedFile', state.selectedFile )\r\n data.append( 'file', state.selectedFile );\r\n data.append( 'discriminator', state.discriminator.key )\r\n // console.log( 'keys', data.keys() )\r\n\r\n await SalaryManualInputRepository.uploadCsv( data );\r\n commit( \"setSelectedFile\", null );\r\n\r\n await dispatch( 'salaryReportStore/performLookup', {}, { root: true } );\r\n commit( \"setCsvOpenModal\", false );\r\n }\r\n },\r\n getters: {\r\n isOpen: ( state ) => { return state.csvModalOpen },\r\n discriminator: ( state ) => { return state.discriminator },\r\n discriminatorOptions: ( state ) => { return state.discriminatorOptions },\r\n selectedFile: ( state ) => { return state.selectedFile }\r\n }\r\n};\r\n","import Vue from 'vue'\r\nimport Vuex from 'vuex'\r\nimport { vuexOidcCreateStoreModule } from 'vuex-oidc';\r\nimport { oidcSettings } from '../config/oidc';\r\nimport jwt from 'jsonwebtoken';\r\n\r\nimport appUsers from './modules/AppUsersStore';\r\nimport notificationStore from './modules/notificationStore';\r\nimport entrySidebar from './modules/EntrySidebar';\r\nimport allocations from './modules/allocations';\r\nimport circles from './modules/circles';\r\nimport groupStore from './modules/groupStore';\r\nimport groupTemplateStore from './modules/groupTemplateStore';\r\nimport employees from './modules/employees';\r\nimport forecasts from './modules/forecasts';\r\nimport metadata from './modules/metadata';\r\nimport milestones from './modules/milestones';\r\nimport replacementAllocations from './modules/ReplacementAllocations';\r\nimport scheduler from './modules/scheduler';\r\nimport groupComments from './modules/GroupCommentStore';\r\nimport reportStore from './modules/reportStore';\r\nimport salaryReportStore from './modules/salaryReportStore';\r\nimport holidayStore from './modules/holidayStore';\r\nimport statisticsStore from './modules/statisticsStore';\r\nimport allocationMoverStore from './modules/allocationMoverStore';\r\nimport agreementStore from './modules/agreementStore';\r\nimport gpsDataStore from './modules/gpsDataStore';\r\nimport generalStatisticsFilteringSidebar from './modules/GeneralStatisticsFilteringSidebar'\r\nimport confirmationModalStore from './modules/confirmationModalStore'\r\nimport dtReportStore from './modules/dtReportStore'\r\nimport salaryRateStore from './modules/salaryRateStore';\r\nimport csvModalStore from './modules/csvModalStore'\r\n\r\nVue.use(Vuex)\r\n\r\nconst store = new Vuex.Store({\r\n state: {\r\n currentUser: {},\r\n viewAs: {employee: undefined, group: undefined},\r\n isAdmin: false,\r\n isReplacement: false,\r\n hasEditRights: true\r\n },\r\n mutations: {\r\n setCurrentUser(state, userInfo) {\r\n state.currentUser = userInfo;\r\n },\r\n setViewAs(state, employeeAndGroup) {\r\n state.viewAs = employeeAndGroup;\r\n }\r\n },\r\n actions: {\r\n userLoaded({ commit }, user) {\r\n const decoded = jwt.decode(user.access_token);\r\n commit('setCurrentUser', { name: decoded.Name, role: decoded.Role, email: decoded.Email, id: decoded.sub, groupId: decoded.GroupId, number: decoded.Number, icalendarKey: decoded.ICalendarKey, isSalaryReportOpen: decoded.IsSalaryReportOpen });\r\n },\r\n userUnloaded({ commit }) {\r\n commit('setCurrentUser', { name: 'Not logged in', role: '', email: '', id: '', number: 0, icalendar: null, isSalaryReportOpen: null });\r\n },\r\n setViewAs({commit}, employeeAndGroup) {\r\n commit('setViewAs', employeeAndGroup);\r\n },\r\n clearViewAs({commit}) {\r\n commit('setViewAs', {employee: undefined, group: undefined});\r\n }\r\n },\r\n getters: {\r\n // Contains the currently logged-in user, or the user currently being impersonated\r\n currentUser: (state) => (state.viewAs.employee) ? state.viewAs.employee : state.currentUser,\r\n\r\n // Role of the currently logged-in user, regardless of impersonation\r\n currentRole: (state) => (state.currentUser) ? state.currentUser.role : \"---\",\r\n\r\n // Administrator state of the currently logged-in user, regardless of impersonation\r\n isAdmin: (state) => state.currentUser && state.currentUser.role === \"Admin\",\r\n\r\n // Replacement state of the currently logged-in user\r\n isReplacement: (state) => state.currentUser && state.currentUser.role === \"Replacement\",\r\n \r\n // State of the currently logged-in user\r\n hasEditRights: (state) => state.currentUser && state.currentUser.number !== 1014 && state.currentUser.email !== \"1014@vikingdanmark.dk\",\r\n\r\n // User currently being impersonated, otherwise undefined\r\n viewAsEmployee: state => state.viewAs.employee,\r\n \r\n // Group of user currently being impersonated, otherwise undefined\r\n viewAsGroup: state => state.viewAs.group,\r\n \r\n icalendarKey: (state) => state.currentUser.icalendarKey, \r\n\r\n // isSalaryReportOpen\r\n isSalaryReportOpen: (state) => state.currentUser && state.currentUser.isSalaryReportOpen,\r\n },\r\n modules: {\r\n allocations,\r\n appUsers,\r\n allocationMoverStore,\r\n circles,\r\n employees,\r\n entrySidebar,\r\n forecasts,\r\n groupComments,\r\n metadata,\r\n milestones,\r\n scheduler,\r\n replacementAllocations,\r\n salaryReportStore,\r\n reportStore,\r\n notificationStore,\r\n groupStore,\r\n groupTemplateStore,\r\n holidayStore,\r\n statisticsStore,\r\n agreementStore,\r\n gpsDataStore,\r\n generalStatisticsFilteringSidebar,\r\n confirmationModalStore,\r\n dtReportStore,\r\n salaryRateStore,\r\n csvModalStore,\r\n oidcStore: vuexOidcCreateStoreModule(\r\n oidcSettings,\r\n // ...\r\n {\r\n namespaced: true,\r\n dispatchEventsOnWindow: true\r\n },\r\n // OIDC Event listeners\r\n {\r\n userLoaded: (user) => store.dispatch('userLoaded', user),\r\n userUnloaded: () => store.dispatch('userUnloaded'),\r\n accessTokenExpiring: () => console.log('Access token will expire'),\r\n accessTokenExpired: () => console.log('Access token did expire'),\r\n silentRenewError: () => console.log('OIDC user is unloaded'),\r\n userSignedOut: () => console.log('OIDC user is signed out'),\r\n oidcError: (payload) => console.log('OIDC error', payload),\r\n automaticSilentRenewError: (payload) => console.log('OIDC automaticSilentRenewError', payload)\r\n }\r\n )\r\n }\r\n})\r\n\r\nexport default store;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"active\":_vm.errorModalOpen}},[_c('div',[_c('div',{staticClass:\"modal-header\"},[_c('h1',[_vm._v(_vm._s(_vm.errorModalHeader))])]),_c('div',{staticClass:\"modal-body\"},[_c('div',[_c('b-icon',{staticClass:\"exclamation-icon inline-block\",staticStyle:{\"color\":\"#ff7800\"},attrs:{\"icon\":\"exclamation-triangle\"}}),_c('h2',{staticClass:\"inline-block\"},[_vm._v(_vm._s(_vm.errorModalText))])],1)]),_c('div',{staticClass:\"modal-footer\"},[_c('b-button',{staticClass:\"is-blue\",on:{\"click\":function($event){return _vm.setConfirmed(true)}}},[_vm._v(_vm._s(_vm.confirmationButtonText))]),_c('b-button',{staticClass:\"is-text\",on:{\"click\":function($event){return _vm.setConfirmedAndClose(false)}}},[_vm._v(\"Annullér\")])],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfirmationModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfirmationModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ConfirmationModal.vue?vue&type=template&id=d69077ea&scoped=true&\"\nimport script from \"./ConfirmationModal.vue?vue&type=script&lang=js&\"\nexport * from \"./ConfirmationModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ConfirmationModal.vue?vue&type=style&index=0&id=d69077ea&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d69077ea\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"employee-selector\"},[_c('div',{staticClass:\"employee-selector__trigger\",on:{\"click\":_vm.toggleDropdown}},[(_vm.showPlaceholder)?_c('span',{key:\"placeholder\",staticClass:\"employee-selector__trigger--full\"},[_vm._v(\" \"+_vm._s(_vm.placeholder)+\" \")]):_vm._e(),_vm._l((Object.values(_vm.selected)),function(employee,index){return _c('span',{key:index,staticClass:\"employee-selector__trigger--full\"},[_vm._v(\" \"+_vm._s(employee.name)+\" \")])}),(_vm.hasSelection)?_c('span',{staticClass:\"employee-selector__trigger--clear\",on:{\"click\":function($event){$event.stopPropagation();return _vm.clearSelection.apply(null, arguments)}}},[_c('b-icon',{staticClass:\"icon\",attrs:{\"icon\":\"times\"}})],1):_vm._e()],2),_c('div',{directives:[{name:\"on-clickaway\",rawName:\"v-on-clickaway\",value:(_vm.closeDropdown),expression:\"closeDropdown\"}],class:[\n 'employee-selector__dropdown',\n _vm.open && 'employee-selector__dropdown--visible' ]},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.filterInput),expression:\"filterInput\"}],ref:\"filterInput\",staticClass:\"input employee-selector__dropdown__input\",attrs:{\"type\":\"search\",\"placeholder\":\"Filtrér...\"},domProps:{\"value\":(_vm.filterInput)},on:{\"keydown\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.select.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.closeDropdown.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"])){ return null; }return _vm.navigateNext.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"])){ return null; }return _vm.navigatePrev.apply(null, arguments)}],\"input\":function($event){if($event.target.composing){ return; }_vm.filterInput=$event.target.value}}}),_c('div',{staticClass:\"employee-selector__dropdown__list-container\"},[_c('div',{staticClass:\"employee-selector__dropdown__list\"},_vm._l((_vm.filteredEmployees),function(group,gindex){return _c('div',{key:gindex,staticClass:\"employee-selector__dropdown__group\"},[_c('span',[_vm._v(\" \"+_vm._s(group.group ? group.group.title : \"-\")+\" \")]),_c('div',{staticClass:\"employee-selector__dropdown__group--members\"},_vm._l((group.employees),function(employee,eindex){return _c('div',{key:eindex,class:[\n 'employee-selector__dropdown__group__member',\n _vm.cursorOnItem(gindex, eindex) &&\n 'employee-selector__dropdown__group--cursor' ],on:{\"click\":function($event){return _vm.navigateClick(gindex, eindex)}}},[_c('span',[_vm._v(_vm._s(employee.number))]),_c('span',{staticClass:\"dropdown__column--name\"},[_vm._v(_vm._s(employee.name))]),_c('span',[_vm._v(_vm._s(employee.role[0]))])])}),0)])}),0)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmployeeSelector.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmployeeSelector.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EmployeeSelector.vue?vue&type=template&id=84a4f534&\"\nimport script from \"./EmployeeSelector.vue?vue&type=script&lang=js&\"\nexport * from \"./EmployeeSelector.vue?vue&type=script&lang=js&\"\nimport style0 from \"./EmployeeSelector.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// extracted by mini-css-extract-plugin\nmodule.exports = {\"userSelectColors-black\":\"#141414\",\"userSelectColors-charcoal\":\"#3c3c3c\",\"userSelectColors-blue\":\"#0099d9\",\"userSelectColors-red\":\"#ff5d5d\",\"userSelectColors-timeoff\":\"#5c5c5c\",\"userSelectColors-orange\":\"#ffc684\",\"userSelectColors-gray\":\"#c9c8c8\",\"userSelectColors-coolgray\":\"#4e4f50\",\"userSelectColors-ivory\":\"#e2ded0\",\"userSelectColors-bluegray\":\"#647c90\",\"userSelectColors-green\":\"#42b983\",\"userSelectColors-yellow\":\"#f6ff00\"};","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SalaryRateSidebar.vue?vue&type=style&index=0&id=0bb45983&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"calendar-small-component\"},[(_vm.showNotificationBell)?_c('notification',[[(_vm.reportNotification && _vm.reportNotification.length > 0)?_c('div',_vm._l((_vm.reportNotification),function(entry,index){return _c('p',{key:index,attrs:{\"entry\":entry}},[_vm._v(\" \"+_vm._s(entry.year)+\"-\"+_vm._s(entry.month)+\" har \"+_vm._s(entry.count)+\" dage der ikke er godkendt endnu. \")])}),0):_vm._e()],(false)?[_c('div',[_vm._v(\"Don't render the template, if there's nothing to display\")])]:_vm._e(),[(false)?_c('div',[_vm._v(\" Content can also be hidden like this. \")]):_vm._e()]],2):_vm._e(),_c('div',{staticClass:\"calendar-small__spacer--admin\"}),_c('div',{staticClass:\"scroll-view\"},[_vm._l((_vm.allocations),function(entry,index){return _c('calendar-entry',{key:index,attrs:{\"entry\":entry,\"allocationTypes\":_vm.allocationTypes,\"circles-lookup\":_vm.circles},nativeOn:{\"click\":function($event){return _vm.openSidebar(entry)}}})}),_c('b-button',{staticClass:\"viking-button\",staticStyle:{\"margin-bottom\":\"65px\"},attrs:{\"type\":\"is-warning\",\"size\":\"is-large\",\"icon-left\":\"angle-down\"},on:{\"click\":function($event){return _vm.loadMore()}}},[_vm._v(\" Hent flere \")])],2),_c('div')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:['notifications-component', _vm.showBell && 'notifications-component--visible', _vm.pulse && 'notifications-component--pulse']},[_c('div',{staticClass:\"notifications-component__icon\",on:{\"click\":_vm.toggle}},[_c('font-awesome-icon',{attrs:{\"icon\":\"bell\"}})],1),_c('div',{directives:[{name:\"on-clickaway\",rawName:\"v-on-clickaway\",value:(_vm.close),expression:\"close\"}],class:['notifications-component__content', _vm.open && 'notifications-component__content--visible']},[_vm._t(\"default\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Notification.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Notification.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Notification.vue?vue&type=template&id=291f8d94&\"\nimport script from \"./Notification.vue?vue&type=script&lang=js&\"\nexport * from \"./Notification.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Notification.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CalendarSmall.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CalendarSmall.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CalendarSmall.vue?vue&type=template&id=2684443f&scoped=true&\"\nimport script from \"./CalendarSmall.vue?vue&type=script&lang=js&\"\nexport * from \"./CalendarSmall.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CalendarSmall.vue?vue&type=style&index=0&id=2684443f&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2684443f\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('entry-sidebar',{model:{value:(_vm.entrySidebarModel),callback:function ($$v) {_vm.entrySidebarModel=$$v},expression:\"entrySidebarModel\"}}),_c('dt-report-sidebar'),_c('group-comment-sidebar'),_c('agreement-sidebar'),_c('general-statistics-filter-sidebar'),_c('holiday-sidebar'),_c('salary-rate-sidebar'),_c('div',{staticClass:\"app-viewport\"},[(_vm.currentUser.name)?_c('app-header'):_vm._e(),_c('div',{staticClass:\"app-contents\"},[_c('router-view')],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-navbar',{scopedSlots:_vm._u([{key:\"brand\",fn:function(){return [_c('b-navbar-item',{staticClass:\"no-hover\",attrs:{\"tag\":\"router-link\",\"to\":\"/\"}},[_c('img',{attrs:{\"src\":require(\"../assets/viking-logo-white-cropped.svg\")}})])]},proxy:true},{key:\"start\",fn:function(){return [(_vm.isAdmin)?_c('b-navbar-item',{attrs:{\"tag\":\"router-link\",\"to\":{path: '/dashboard'}}},[_vm._v(\"Dashboard\")]):_vm._e(),_c('b-navbar-item',{attrs:{\"tag\":\"router-link\",\"to\":{path: '/calendar'}}},[_vm._v(\"Min kalender\")]),(_vm.show)?_c('b-navbar-item',{attrs:{\"tag\":\"router-link\",\"to\":{path: '/schedule'}}},[_vm._v(\"Kalender\")]):_vm._e(),(_vm.show && _vm.icalendarKey)?_c('b-navbar-item',{attrs:{\"tag\":\"router-link\",\"to\":{path: '/icalendar'}}},[_vm._v(\"Abonner på arbejdskalender\")]):_vm._e(),(_vm.show)?_c('b-navbar-item',{attrs:{\"tag\":\"router-link\",\"to\":{name: 'Reports'}}},[_vm._v(\"Rapporter\")]):_vm._e(),(_vm.isAdmin)?_c('b-navbar-item',{attrs:{\"tag\":\"router-link\",\"to\":{path: '/configuration'}}},[_vm._v(\"Opsætning\")]):_vm._e(),(_vm.isAdmin === false && _vm.show)?_c('b-navbar-item',{attrs:{\"tag\":\"router-link\",\"to\":{path: '/configuration-user'}}},[_vm._v(\"Opsætning\")]):_vm._e()]},proxy:true},{key:\"end\",fn:function(){return [_c('b-navbar-item',{attrs:{\"tag\":\"a\"},on:{\"click\":_vm.signOutOidc}},[_vm._v(\" Log ud \"),(_vm.currentUser && _vm.currentUser.number)?_c('span',[_vm._v(\" (\"+_vm._s(_vm.currentUser.number)+\")\")]):_vm._e()]),_c('b-navbar-item',{staticClass:\"no-hover\"},[_c('user-badge')],1)]},proxy:true}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"user-badge\"},[_c('div',{staticClass:\"frame\"},[_c('span',{staticClass:\"initials\"},[_vm._v(_vm._s(_vm.initials))])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserBadge.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserBadge.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UserBadge.vue?vue&type=template&id=4c3d8cdf&scoped=true&\"\nimport script from \"./UserBadge.vue?vue&type=script&lang=js&\"\nexport * from \"./UserBadge.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UserBadge.vue?vue&type=style&index=0&id=4c3d8cdf&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4c3d8cdf\",\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppHeader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppHeader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AppHeader.vue?vue&type=template&id=b4f8564e&scoped=true&\"\nimport script from \"./AppHeader.vue?vue&type=script&lang=js&\"\nexport * from \"./AppHeader.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AppHeader.vue?vue&type=style&index=0&id=b4f8564e&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b4f8564e\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"on-clickaway\",rawName:\"v-on-clickaway\",value:(_vm.onClickAway),expression:\"onClickAway\"}],staticClass:\"calendar-entry-sidebar\"},[_c('b-sidebar',{attrs:{\"position\":\"absolute\",\"right\":true,\"fullheight\":true,\"overlay\":false,\"open\":_vm.open}},[(!_vm.showReplacementView)?_c('div',{staticClass:\"sidebar-contents\"},[_c('calendar-entry-form',{staticClass:\"p-3\",attrs:{\"readonly\":_vm.readOnlyForm},on:{\"onChange\":function($event){return _vm.onChange($event)},\"onRequestSplit\":function($event){return _vm.onRequestSplit($event)},\"onRequestReplacement\":function($event){return _vm.onRequestReplacement($event)},\"onRequestReplacementRemove\":function($event){return _vm.onRequestReplacementRemove($event)},\"onViewReplacement\":function($event){return _vm.onViewReplacement($event)}},model:{value:(_vm.editing),callback:function ($$v) {_vm.editing=$$v},expression:\"editing\"}}),(_vm.isVisible)?_c('div',{staticClass:\"sidebar-footer\"},[_c('div',{staticClass:\"sidebar-controls p-3 mb-0\"},[_c('div',{staticClass:\"control-update\"},[(!_vm.isReplacement || _vm.isOwnEntry)?_c('b-button',{staticClass:\"is-blue\",on:{\"click\":_vm.onUpdate}},[_vm._v(\"Opdater\")]):_vm._e()],1),_c('div',{staticClass:\"control-cancel\"},[_c('b-button',{staticClass:\"is-text\",on:{\"click\":_vm.onCancel}},[_vm._v(\"Annuller\")])],1),_c('div',{staticClass:\"control-space\"}),_c('div',{staticClass:\"control-delete\"},[(!_vm.isReplacement || _vm.isOwnEntryValidForDeleting)?_c('b-button',{staticClass:\"is-text\",on:{\"click\":_vm.onDelete}},[_vm._v(\"Slet\")]):_vm._e()],1)]),_c('div',{staticClass:\"content p-2 updated has-text-centered\"},[_vm._v(\" \"+_vm._s(_vm.latestUpdateText)+\" \")])]):_vm._e()],1):_vm._e(),(_vm.showReplacementView)?_c('div',{staticClass:\"sidebar-contents\"},[_c('div',{staticClass:\"calendar-entry-form\",staticStyle:{\"padding\":\"0.75rem !important\"}},[_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-header\"},[_vm._v(\" Afløsere \")])]),_vm._l((_vm.replacements),function(replacement,index){return _c('div',{key:index},[_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(_vm._s(replacement.number))]),_c('div',{staticClass:\"sidebar-field-input\"},[_c('b-input',{attrs:{\"expanded\":\"\",\"disabled\":true},model:{value:(replacement.name),callback:function ($$v) {_vm.$set(replacement, \"name\", $$v)},expression:\"replacement.name\"}})],1)])])})],2),(_vm.isVisible)?_c('div',{staticClass:\"sidebar-footer\"},[_c('div',{staticClass:\"sidebar-controls p-3 mb-0\"},[_c('div',{staticClass:\"control-space\"}),_c('div',{staticClass:\"control-cancel\"},[_c('b-button',{staticClass:\"is-text\",on:{\"click\":_vm.onViewReplacement}},[_vm._v(\"Annuller\")])],1),_c('div',{staticClass:\"control-space\"})]),_c('div',{staticClass:\"content p-2 updated has-text-centered\"},[_vm._v(\" \"+_vm._s(_vm.latestUpdateText)+\" \")])]):_vm._e()]):_vm._e()]),_c('confirmation-modal')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"calendar-entry-form\"},[_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-header\",on:{\"click\":_vm.toggleEmployeeInfo}},[_vm._v(\" \"+_vm._s(_vm.editing.number)+\" - \"+_vm._s(_vm.editing.employeeName)+\" \"),_vm._m(0)]),_c('div',{directives:[{name:\"on-clickaway\",rawName:\"v-on-clickaway\",value:(_vm.closeEmployeeInfo),expression:\"closeEmployeeInfo\"}],class:[\n 'sidebar-field__employee-info',\n _vm.employeeInfoOpen && 'sidebar-field__employee-info--visible' ]},[(_vm.employeeInfoRows.length > 0)?_c('div',{staticClass:\"employee-info__fields\"},_vm._l((_vm.employeeInfoRows),function(row,index){return _c('div',{key:index,staticClass:\"employee-info__field\"},[_c('span',{staticClass:\"employee-info__label\"},[_vm._v(\" \"+_vm._s(row.label)+\" \")]),_c('span',{staticClass:\"employee-info__text\"},[_vm._v(\" \"+_vm._s(row.text)+\" \")])])}),0):_c('div',{staticClass:\"employee-info__fields\"},[_c('span',{staticClass:\"employee-info__noInfo\"},[_vm._v(\" Ingen kontaktinformation \")])])])]),_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"Fra dato\")]),_c('div',{staticClass:\"sidebar-field-input\"},[_c('b-datepicker',{attrs:{\"focusedDate\":_vm.startDateComputed,\"locale\":\"da-DK\",\"expanded\":\"\",\"disabled\":_vm.readonly && !_vm.editing.isSimulation,\"placeholder\":\"Vælg en fra-dato\"},on:{\"input\":_vm.modelUpdated},model:{value:(_vm.startDateComputed),callback:function ($$v) {_vm.startDateComputed=$$v},expression:\"startDateComputed\"}})],1)]),(_vm.editing.allocationType !== 'OFFDAYREPLACEMENT')?_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"Til dato\")]),_c('div',{staticClass:\"sidebar-field-input\"},[_c('b-datepicker',{attrs:{\"focusedDate\":_vm.endDateComputed,\"locale\":\"da-DK\",\"expanded\":\"\",\"disabled\":_vm.readonly && !_vm.editing.isSimulation,\"placeholder\":\"Vælg en til-dato\"},on:{\"input\":_vm.modelUpdated},model:{value:(_vm.endDateComputed),callback:function ($$v) {_vm.endDateComputed=$$v},expression:\"endDateComputed\"}})],1)]):_vm._e(),(_vm.notification && _vm.isAdmin)?_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"Udsæt indtil\")]),_c('div',{staticClass:\"sidebar-field-input\"},[_c('b-datepicker',{attrs:{\"focusedDate\":_vm.onHoldUntilDateComputed,\"locale\":\"da-DK\",\"expanded\":\"\",\"disabled\":_vm.readonly,\"placeholder\":\"Vælg en udsæt indtil-dato\"},on:{\"input\":_vm.modelUpdated},model:{value:(_vm.onHoldUntilDateComputed),callback:function ($$v) {_vm.onHoldUntilDateComputed=$$v},expression:\"onHoldUntilDateComputed\"}})],1)]):_vm._e(),(\n _vm.editing.allocationType !== undefined &&\n _vm.editing.allocationType !== 'OFFDAYREPLACEMENT'\n )?_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"Type\")]),_c('div',{staticClass:\"sidebar-field-input\"},[_c('b-select',{attrs:{\"expanded\":\"\",\"disabled\":_vm.typeDisabled},on:{\"input\":_vm.modelUpdated},model:{value:(_vm.editing.allocationType),callback:function ($$v) {_vm.$set(_vm.editing, \"allocationType\", $$v)},expression:\"editing.allocationType\"}},_vm._l((_vm.availableAllocationTypes),function(item){return _c('option',{key:item.key,domProps:{\"value\":item.key}},[_vm._v(\" \"+_vm._s(item.label)+\" \")])}),0)],1)]):_vm._e(),(\n _vm.isAdmin &&\n !_vm.notification &&\n _vm.editing.circleId &&\n _vm.avalilableCircles.length > 1\n )?_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"Kreds\")]),_c('div',{staticClass:\"sidebar-field-input\"},[_c('b-select',{attrs:{\"expanded\":\"\",\"disabled\":_vm.readonly},on:{\"input\":_vm.modelUpdated},model:{value:(_vm.editing.circleId),callback:function ($$v) {_vm.$set(_vm.editing, \"circleId\", $$v)},expression:\"editing.circleId\"}},_vm._l((_vm.avalilableCircles),function(circle,index){return _c('option',{key:index,domProps:{\"value\":circle.id}},[_vm._v(\" \"+_vm._s(circle.title)+\" \")])}),0)],1)]):_vm._e(),(\n _vm.editing.allocationSpanInDays > 1 &&\n !_vm.editing.replacementId &&\n !_vm.editing.isSimulation\n )?_c('div',[(!_vm.isReplacement && _vm.isVisible)?_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-label\"}),_c('div',{staticClass:\"sidebar-field-input\"},[_c('div',[_c('b-button',{staticClass:\"is-gray\",on:{\"click\":_vm.onRequestSplit}},[_vm._v(\"Split\")])],1)])]):_vm._e()]):_vm._e(),(_vm.editing.allocationSpanInDays > 1 && _vm.editing.isSimulation)?_c('div',[_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"Split\")]),_c('div',{staticClass:\"sidebar-field-input\"},[_c('b-checkbox',{attrs:{\"size\":\"is-medium\"},on:{\"input\":_vm.modelUpdated},model:{value:(_vm.splitComputed),callback:function ($$v) {_vm.splitComputed=$$v},expression:\"splitComputed\"}})],1)])]):_vm._e(),(\n (_vm.editing.allocationSpanInDays <= 1 || _vm.editing.replacementId) &&\n !_vm.editing.isSimulation\n )?_c('div',[(\n !_vm.isReplacement &&\n _vm.editing.allocationType !== 'OFFDAYREPLACEMENT' &&\n !_vm.editing.replacementId &&\n _vm.isVisible\n )?_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"Overfør Til\")]),_c('div',{staticClass:\"sidebar-field-input\"},[_c('b-select',{attrs:{\"expanded\":\"\",\"disabled\":_vm.readonly},on:{\"input\":_vm.modelUpdated},model:{value:(_vm.editing.transferTo),callback:function ($$v) {_vm.$set(_vm.editing, \"transferTo\", $$v)},expression:\"editing.transferTo\"}},_vm._l((_vm.availableEmployees),function(employee,index){return _c('option',{key:index,domProps:{\"value\":employee.id}},[_vm._v(\" \"+_vm._s(employee.number)+\" - \"+_vm._s(employee.name)+\" - \"+_vm._s(employee.region)+\" \")])}),0)],1)]):_vm._e(),(_vm.isAdmin && _vm.editing.circleId && !_vm.editing.isSimulation)?_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"Afløst af\")]),_c('div',{staticClass:\"sidebar-field-input\"},[_c('b-select',{attrs:{\"expanded\":\"\",\"disabled\":_vm.readonly},on:{\"input\":_vm.modelUpdated},model:{value:(_vm.editing.replacementId),callback:function ($$v) {_vm.$set(_vm.editing, \"replacementId\", $$v)},expression:\"editing.replacementId\"}},_vm._l((_vm.replacements),function(employee,index){return _c('option',{key:index,domProps:{\"value\":employee.id}},[_vm._v(\" \"+_vm._s(employee.number)+\" - \"+_vm._s(employee.name)+\" - \"+_vm._s(employee.role === \"Replacement\" ? employee.region : employee.groupName)+\" - \"+_vm._s(_vm.formatAvailability(employee))+\" \")])}),0)],1)]):_vm._e(),(\n _vm.isAdmin &&\n _vm.editing.circleId &&\n _vm.editing.replacementId &&\n !_vm.editing.isSimulation\n )?_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"Bookede afl.\")]),_c('div',{staticClass:\"sidebar-field-input\"},[_c('b-select',{attrs:{\"expanded\":\"\",\"disabled\":_vm.readonly},on:{\"input\":_vm.modelUpdated},model:{value:(_vm.editing.bookedAllocationId),callback:function ($$v) {_vm.$set(_vm.editing, \"bookedAllocationId\", $$v)},expression:\"editing.bookedAllocationId\"}},_vm._l((_vm.bookedReplacements),function(employee,index){return _c('option',{key:index,domProps:{\"value\":employee.allocation.id}},[_vm._v(\" \"+_vm._s(employee.number)+\" - \"+_vm._s(employee.name)+\" - \"+_vm._s(employee.role === \"Replacement\" ? employee.circleName : \"\")+\" \")])}),0)],1)]):_vm._e(),(\n _vm.isAdmin &&\n _vm.editing.circleId &&\n _vm.editing.replacementId &&\n !_vm.editing.isSimulation\n )?_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"Tilknyt ny opg.\")]),_c('div',{staticClass:\"sidebar-field-input\"},[_c('b-select',{attrs:{\"expanded\":\"\",\"disabled\":_vm.readonly},on:{\"input\":_vm.modelUpdated},model:{value:(_vm.editing.attachNewAllocation),callback:function ($$v) {_vm.$set(_vm.editing, \"attachNewAllocation\", $$v)},expression:\"editing.attachNewAllocation\"}},_vm._l((_vm.circlesWithoutOverallocations),function(circle,index){return _c('option',{key:index,domProps:{\"value\":circle.id}},[_vm._v(\" \"+_vm._s(circle.title)+\" \")])}),0)],1)]):_vm._e(),(\n !_vm.isReplacement &&\n !_vm.editing.replacementId &&\n _vm.isVisible &&\n !_vm.editing.isSimulation\n )?_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"Afløser\")]),(_vm.editing.allocationSpanInDays <= 1)?_c('div',{staticClass:\"sidebar-field-input\"},[(!_vm.notification)?_c('div',[_c('b-button',{staticClass:\"is-gray\",on:{\"click\":_vm.onRequestReplacement}},[_vm._v(\"Anmod afløser\")]),(_vm.replacements.length > 1)?_c('span',{staticClass:\"free-replacement-label\",on:{\"click\":_vm.onViewReplacement}},[_vm._v(\"(ledige \"+_vm._s(_vm.replacements.length - 1)+\")\")]):_vm._e()],1):_vm._e(),(_vm.notification)?_c('div',[_c('b-button',{staticClass:\"is-gray\",on:{\"click\":_vm.onRequestReplacementRemove}},[_vm._v(\"Fjern anmodning\")]),_c('span',{staticClass:\"sidebar-label\",on:{\"click\":_vm.onRequestReplacementRemove}},[_vm._v(_vm._s(_vm.notificationLabel()))])],1):_vm._e()]):_vm._e(),(_vm.editing.allocationSpanInDays > 1)?_c('div',{staticClass:\"sidebar-field-input\"},[_c('span',{staticClass:\"sidebar-label\"},[_vm._v(\"Kan ikke anmode om afløser da denne opgave strækker sig over flere dage.\")])]):_vm._e()]):_vm._e(),(\n _vm.editing.replacementId &&\n _vm.editing.replacementName &&\n !_vm.isAdmin &&\n !_vm.editing.isSimulation\n )?_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[(_vm.showReplacement)?_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"Afløst af.\")]):_vm._e(),(_vm.showReplacement)?_c('div',{staticClass:\"sidebar-field-input\"},[_c('b-input',{attrs:{\"expanded\":\"\",\"disabled\":_vm.readonly},model:{value:(_vm.editing.replacementName),callback:function ($$v) {_vm.$set(_vm.editing, \"replacementName\", $$v)},expression:\"editing.replacementName\"}})],1):_vm._e(),(!_vm.showReplacement)?_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"Afløser\")]):_vm._e(),(!_vm.showReplacement)?_c('div',{staticClass:\"sidebar-field-input\"},[_c('b-input',{attrs:{\"expanded\":\"\",\"disabled\":_vm.readonly},model:{value:(_vm.editing.employeeName),callback:function ($$v) {_vm.$set(_vm.editing, \"employeeName\", $$v)},expression:\"editing.employeeName\"}})],1):_vm._e()]):_vm._e()]):_vm._e(),(_vm.isAdmin && !_vm.editing.isSimulation)?_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"Dage ins.\")]),_c('div',{staticClass:\"sidebar-field-input\"},[_c('b-checkbox',{attrs:{\"title\":\"Afkrydset dette felt så auto beregnes dage ins. ikke\",\"size\":\"is-medium\"},on:{\"input\":_vm.modelUpdated},model:{value:(_vm.dayTypeComputed),callback:function ($$v) {_vm.dayTypeComputed=$$v},expression:\"dayTypeComputed\"}}),_c('b-numberinput',{attrs:{\"step\":\"0.01\",\"controls\":false,\"disabled\":_vm.readonly},on:{\"input\":_vm.modelUpdated},model:{value:(_vm.editing.days),callback:function ($$v) {_vm.$set(_vm.editing, \"days\", $$v)},expression:\"editing.days\"}})],1)]):_vm._e(),(_vm.isAdmin && _vm.editing.replacementId && !_vm.editing.isSimulation)?_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"Dage afl.\")]),_c('div',{staticClass:\"sidebar-field-input\"},[_c('b-checkbox',{attrs:{\"title\":\"Afkrydset dette felt så auto beregnes dage afl. ikke\",\"size\":\"is-medium\"},on:{\"input\":_vm.modelUpdated},model:{value:(_vm.daysReplacementTypeComputed),callback:function ($$v) {_vm.daysReplacementTypeComputed=$$v},expression:\"daysReplacementTypeComputed\"}}),_c('b-numberinput',{attrs:{\"step\":\"0.01\",\"controls\":false,\"disabled\":_vm.readonly},on:{\"input\":_vm.modelUpdated},model:{value:(_vm.editing.daysReplacement),callback:function ($$v) {_vm.$set(_vm.editing, \"daysReplacement\", $$v)},expression:\"editing.daysReplacement\"}})],1)]):_vm._e(),_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"Besked\")]),_c('div',{staticClass:\"sidebar-field-input\"},[_c('b-input',{attrs:{\"type\":\"textarea\",\"maxlength\":\"256\",\"disabled\":_vm.readonly && !_vm.editing.isSimulation},on:{\"input\":_vm.modelUpdated},model:{value:(_vm.editing.comment),callback:function ($$v) {_vm.$set(_vm.editing, \"comment\", $$v)},expression:\"editing.comment\"}})],1)]),(_vm.isVisible && !_vm.editing.isSimulation)?_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"Bemærkninger\")]),_c('div',{staticClass:\"sidebar-field-input\"},[_c('b-input',{attrs:{\"type\":\"textarea\",\"maxlength\":\"256\",\"disabled\":_vm.readonly},on:{\"input\":_vm.modelUpdated},model:{value:(_vm.editing.note),callback:function ($$v) {_vm.$set(_vm.editing, \"note\", $$v)},expression:\"editing.note\"}})],1)]):_vm._e(),(_vm.isVisible && !_vm.editing.isSimulation)?_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"Note til kontor\")]),_c('div',{staticClass:\"sidebar-field-input\"},[_c('b-input',{attrs:{\"type\":\"textarea\",\"maxlength\":\"256\",\"disabled\":_vm.readonly},on:{\"input\":_vm.modelUpdated},model:{value:(_vm.editing.officeNote),callback:function ($$v) {_vm.$set(_vm.editing, \"officeNote\", $$v)},expression:\"editing.officeNote\"}})],1)]):_vm._e(),(_vm.isAdmin && _vm.hasEditRights && !_vm.editing.isSimulation)?_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"Admin note\")]),_c('div',{staticClass:\"sidebar-field-input\"},[_c('b-input',{attrs:{\"type\":\"textarea\",\"maxlength\":\"256\",\"disabled\":_vm.readonly},on:{\"input\":_vm.modelUpdated},model:{value:(_vm.editing.adminNote),callback:function ($$v) {_vm.$set(_vm.editing, \"adminNote\", $$v)},expression:\"editing.adminNote\"}})],1)]):_vm._e(),_c('div',{staticClass:\"calendar-entry-sidebar-spacer\"}),(_vm.isAdmin && _vm.hasEditRights)?_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"Notifikation\")]),_c('div',{staticClass:\"sidebar-field-input\"},[_c('b-select',{attrs:{\"expanded\":\"\",\"disabled\":_vm.readonly},on:{\"input\":_vm.modelUpdated},model:{value:(_vm.editing.emailTarget),callback:function ($$v) {_vm.$set(_vm.editing, \"emailTarget\", $$v)},expression:\"editing.emailTarget\"}},[_c('option',{attrs:{\"value\":\"\"}},[_vm._v(\"Ingen får besked\")]),_c('option',{attrs:{\"value\":\"1\"}},[_vm._v(\"Send e-mail til ins.\")]),_c('option',{attrs:{\"value\":\"2\"}},[_vm._v(\"Send e-mail til involverede\")])])],1)]):_vm._e()])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"employee-info__icon\"},[_c('span',[_vm._v(\"i\")])])}]\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EntryForm.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EntryForm.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EntryForm.vue?vue&type=template&id=76040958&\"\nimport script from \"./EntryForm.vue?vue&type=script&lang=js&\"\nexport * from \"./EntryForm.vue?vue&type=script&lang=js&\"\nimport style0 from \"./EntryForm.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EntrySidebar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EntrySidebar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EntrySidebar.vue?vue&type=template&id=1642466d&\"\nimport script from \"./EntrySidebar.vue?vue&type=script&lang=js&\"\nexport * from \"./EntrySidebar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./EntrySidebar.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"group-comment-sidebar\"},[_c('b-sidebar',{attrs:{\"position\":\"absolute\",\"right\":true,\"fullheight\":true,\"overlay\":false,\"open\":_vm.editingGroupComment !== null},on:{\"close\":_vm.cancelEditingGroupComment}},[_c('div',{staticClass:\"group-comment-sidebar-contents\"},[_c('div',{staticClass:\"sidebar-header\"},[_c('span',[_vm._v(\" \"+_vm._s(_vm.headerText)+\" \")])]),_c('div',{staticClass:\"sidebar-body\"},[_c('b-input',{attrs:{\"type\":\"textarea\",\"size\":\"is-medium\",\"loading\":_vm.loading,\"expanded\":\"\"},model:{value:(_vm.model.comment),callback:function ($$v) {_vm.$set(_vm.model, \"comment\", $$v)},expression:\"model.comment\"}})],1),_c('div',{staticClass:\"sidebar-footer\"},[_c('div',{staticClass:\"sidebar-footer-controls\"},[_c('b-button',{staticClass:\"is-blue\",attrs:{\"loading\":_vm.loading},on:{\"click\":_vm.update}},[_vm._v(\"Opdater\")]),_c('b-button',{staticClass:\"is-text\",on:{\"click\":_vm.cancelEditingGroupComment}},[_vm._v(\"Annuller\")])],1),_c('div',{staticClass:\"sidebar-footer-updated content p-2 has-text-centered\"},[_vm._v(\" \"+_vm._s(_vm.latestUpdateText)+\" \")])])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupCommentSidebar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupCommentSidebar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GroupCommentSidebar.vue?vue&type=template&id=249a5a84&\"\nimport script from \"./GroupCommentSidebar.vue?vue&type=script&lang=js&\"\nexport * from \"./GroupCommentSidebar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GroupCommentSidebar.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"group-comment-sidebar\"},[_c('b-sidebar',{attrs:{\"position\":\"absolute\",\"right\":true,\"fullheight\":true,\"overlay\":false,\"open\":_vm.open},on:{\"close\":_vm.cancel}},[(_vm.agreement && _vm.agreement.employee)?_c('div',{staticClass:\"calendar-entry-form\"},[_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-header\"},[_vm._v(\" \"+_vm._s(_vm.headerText)+\" \")])]),_c('div',{staticClass:\"sidebar-body\"},[_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"Dage ins.\")]),_c('div',{staticClass:\"sidebar-field-input\"},[_c('b-numberinput',{attrs:{\"controls\":false},on:{\"input\":_vm.modelUpdated},model:{value:(_vm.agreement.daysCalculated),callback:function ($$v) {_vm.$set(_vm.agreement, \"daysCalculated\", $$v)},expression:\"agreement.daysCalculated\"}})],1)])]),_c('div',{staticClass:\"sidebar-footer\"},[_c('div',{staticClass:\"sidebar-footer-controls\"},[_c('b-button',{staticClass:\"is-blue\",attrs:{\"loading\":_vm.loading},on:{\"click\":_vm.update}},[_vm._v(\"Opdater\")]),_c('b-button',{staticClass:\"is-text\",on:{\"click\":_vm.cancel}},[_vm._v(\"Annuller\")])],1),_c('div',{staticClass:\"sidebar-footer-updated content p-2 has-text-centered\"},[_vm._v(\" \"+_vm._s(_vm.latestUpdateText)+\" \")])])]):_vm._e()])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementSidebar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementSidebar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AgreementSidebar.vue?vue&type=template&id=2621aeaf&\"\nimport script from \"./AgreementSidebar.vue?vue&type=script&lang=js&\"\nexport * from \"./AgreementSidebar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AgreementSidebar.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"group-comment-sidebar\"},[_c('b-sidebar',{attrs:{\"position\":\"absolute\",\"right\":true,\"fullheight\":true,\"overlay\":false,\"open\":_vm.isOpen},on:{\"close\":_vm.sidebarCancel}},[_c('div',[_c('b-input',{staticClass:\"search-bar\",attrs:{\"placeholder\":\"Søg på Navn eller Nummer\"},model:{value:(_vm.searchInput),callback:function ($$v) {_vm.searchInput=$$v},expression:\"searchInput\"}}),_c('div',[_c('b-button',{staticClass:\"search-button\",on:{\"click\":_vm.search}},[_vm._v(\" Søg \")])],1),_c('div',[_c('b-button',{staticClass:\"table-related-button button\",on:{\"click\":_vm.removeAllSelectedCheckboxes}},[_vm._v(\" Fravælg alle \")])],1),(_vm.displayedGroupMembers !== undefined)?_c('b-table',{staticClass:\"sidebar-table table\",attrs:{\"data\":_vm.displayedGroupMembers,\"hoverable\":\"\"}},[_c('b-table-column',{attrs:{\"field\":\"number\",\"label\":\"Nummer\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.number)+\" \")]}}],null,false,4281656126)}),_c('b-table-column',{attrs:{\"field\":\"name\",\"label\":\"Navn\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.name)+\" \")]}}],null,false,2982927002)}),_c('b-table-column',{attrs:{\"field\":\"isSelected\",\"label\":\"Valgt\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('b-field',[_c('b-checkbox',{attrs:{\"value\":props.row.isSelected},on:{\"input\":function (value) { return _vm.markAssistant(props.row.number); }}})],1)]}}],null,false,3059264153)})],1):_vm._e(),_c('button',{staticClass:\"acceptance-button button is-primary\",on:{\"click\":_vm.cancel}},[_vm._v(\"Anuller\")]),_c('button',{staticClass:\"acceptance-button button is-primary\",on:{\"click\":_vm.update}},[_vm._v(\"Vis\")])],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GeneralStatisticsFilterSidebar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GeneralStatisticsFilterSidebar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GeneralStatisticsFilterSidebar.vue?vue&type=template&id=6373800a&\"\nimport script from \"./GeneralStatisticsFilterSidebar.vue?vue&type=script&lang=js&\"\nexport * from \"./GeneralStatisticsFilterSidebar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GeneralStatisticsFilterSidebar.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"holiday-sidebar\"},[_c('b-sidebar',{attrs:{\"position\":\"absolute\",\"right\":true,\"fullheight\":true,\"overlay\":false,\"open\":_vm.sidebarOpen},on:{\"close\":_vm.closeSidebar}},[_c('div',{staticClass:\"holiday-sidebar-contents\"},[_c('div',{staticClass:\"sidebar-body\"},[_c('label',{staticClass:\"input-label\"},[_vm._v(\"Navn\")]),_c('b-input',{staticClass:\"b-input\",attrs:{\"disabled\":true},model:{value:(_vm.chosenHoliday.name),callback:function ($$v) {_vm.$set(_vm.chosenHoliday, \"name\", $$v)},expression:\"chosenHoliday.name\"}}),_c('label',{staticClass:\"input-label\"},[_vm._v(\"Dato\")]),_c('b-input',{staticClass:\"b-input\",attrs:{\"value\":_vm.dateFormat(_vm.chosenHoliday.date),\"disabled\":true}}),_c('label',{staticClass:\"input-label\"},[_vm._v(\"Alle fri\")]),_c('b-checkbox',{staticClass:\"b-checkbox\",attrs:{\"value\":_vm.chosenHoliday.state === 1,\"true-value\":1,\"false-value\":0},on:{\"input\":function (value) { return (_vm.markAllFree(value)); }}})],1),_c('div',{staticClass:\"sidebar-footer\"},[_c('b-button',{staticClass:\"is-blue\",on:{\"click\":_vm.updateHoliday}},[_vm._v(\"Gem\")]),_c('b-button',{staticClass:\"is-white\",on:{\"click\":_vm.closeSidebar}},[_vm._v(\"Annullér\")])],1)])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HolidaySidebar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HolidaySidebar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HolidaySidebar.vue?vue&type=template&id=eb6c3ce2&\"\nimport script from \"./HolidaySidebar.vue?vue&type=script&lang=js&\"\nexport * from \"./HolidaySidebar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./HolidaySidebar.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {\nvar this$1 = this;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dtreport__sidebar__view\"},[_c('b-sidebar',{attrs:{\"position\":\"absolute\",\"right\":true,\"fullheight\":true,\"overlay\":false,\"open\":_vm.showSidebar},on:{\"close\":_vm.cancelSidebar}},[(_vm.showSidebar && _vm.selectedUserDriveData)?_c('div',{staticClass:\"calendar-entry-form\"},[_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-header\"},[_vm._v(\" \"+_vm._s(_vm.sidebarHeaderText)+\" \")])]),_c('div',{staticClass:\"sidebar-body\"},[_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"Tid i minutter\")]),_c('b-input',{attrs:{\"disabled\":!_vm.isAdmin},model:{value:(_vm.selectedUserDriveData.timeInMinutes),callback:function ($$v) {_vm.$set(_vm.selectedUserDriveData, \"timeInMinutes\", $$v)},expression:\"selectedUserDriveData.timeInMinutes\"}}),_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"Distance\")]),_c('b-input',{attrs:{\"disabled\":!_vm.isAdmin},model:{value:(_vm.selectedUserDriveData.distance),callback:function ($$v) {_vm.$set(_vm.selectedUserDriveData, \"distance\", $$v)},expression:\"selectedUserDriveData.distance\"}}),_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"Dage\")]),_c('b-input',{attrs:{\"disabled\":!_vm.isAdmin},model:{value:(_vm.selectedUserDriveData.days),callback:function ($$v) {_vm.$set(_vm.selectedUserDriveData, \"days\", $$v)},expression:\"selectedUserDriveData.days\"}})],1),_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"Type\")]),_c('b-input',{attrs:{\"disabled\":true},model:{value:(_vm.selectedUserDriveData.remark),callback:function ($$v) {_vm.$set(_vm.selectedUserDriveData, \"remark\", $$v)},expression:\"selectedUserDriveData.remark\"}})],1),_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[(_vm.selectedUserDriveData.type)?_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\" Type \")]):_vm._e(),(_vm.selectedUserDriveData.type)?_c('dropdown',{attrs:{\"disabled\":!_vm.isAdmin,\"sourceList\":_vm.types,\"keyPropertyName\":function (o) { return o.id; },\"displayPropertyName\":function (o) { return o.title; },\"selectedValue\":_vm.type,\"backgroundColor\":'white',\"fontSize\":'1rem',\"padding\":'7px 11px',\"height\":'40px',\"dropdownWidth\":'204.72px'},on:{\"selectionChanged\":function (type) {\n this$1.setSelectedType(type);\n }}}):_vm._e()],1),(_vm.selectedUserDriveData.createdDate)?_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"Dato\")]),_c('b-datepicker',{attrs:{\"disabled\":!_vm.isAdmin,\"focusedDate\":_vm.selectedUserDriveData.createdDate,\"locale\":\"da-DK\",\"placeholder\":\"Vælg en dato\"},model:{value:(_vm.selectedUserDriveData.createdDate),callback:function ($$v) {_vm.$set(_vm.selectedUserDriveData, \"createdDate\", $$v)},expression:\"selectedUserDriveData.createdDate\"}})],1):_vm._e(),_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"CHR\")]),_c('b-input',{attrs:{\"disabled\":!_vm.isAdmin},model:{value:(_vm.selectedUserDriveData.chr),callback:function ($$v) {_vm.$set(_vm.selectedUserDriveData, \"chr\", $$v)},expression:\"selectedUserDriveData.chr\"}})],1),_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"Antal ilagte emb.\")]),_c('b-input',{attrs:{\"disabled\":!_vm.isAdmin},model:{value:(_vm.selectedUserDriveData.totalImposed),callback:function ($$v) {_vm.$set(_vm.selectedUserDriveData, \"totalImposed\", $$v)},expression:\"selectedUserDriveData.totalImposed\"}})],1),_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"Antal FU.\")]),_c('b-input',{attrs:{\"disabled\":!_vm.isAdmin},model:{value:(_vm.selectedUserDriveData.totalPreliminaryInvestigations),callback:function ($$v) {_vm.$set(_vm.selectedUserDriveData, \"totalPreliminaryInvestigations\", $$v)},expression:\"selectedUserDriveData.totalPreliminaryInvestigations\"}})],1),_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"Forgæves besøg\")]),_c('b-input',{attrs:{\"disabled\":!_vm.isAdmin},model:{value:(_vm.selectedUserDriveData.vainVisits),callback:function ($$v) {_vm.$set(_vm.selectedUserDriveData, \"vainVisits\", $$v)},expression:\"selectedUserDriveData.vainVisits\"}})],1),_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"VGProjekt\")]),_c('b-checkbox',{attrs:{\"size\":\"is-large\",\"disabled\":!_vm.isAdmin},model:{value:(_vm.selectedUserDriveData.vgProject),callback:function ($$v) {_vm.$set(_vm.selectedUserDriveData, \"vgProject\", $$v)},expression:\"selectedUserDriveData.vgProject\"}})],1),_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"På fridag\")]),_c('b-checkbox',{attrs:{\"size\":\"is-large\",\"disabled\":!_vm.isAdmin},model:{value:(_vm.selectedUserDriveData.onDayOff),callback:function ($$v) {_vm.$set(_vm.selectedUserDriveData, \"onDayOff\", $$v)},expression:\"selectedUserDriveData.onDayOff\"}})],1)]),(!_vm.isAdmin)?_c('div',{staticClass:\"sidebar-footer\"},[_c('div',{staticClass:\"sidebar-footer-controls\"},[_c('b-button',{staticClass:\"is-text\",on:{\"click\":function($event){return _vm.cancelSidebar()}}},[_vm._v(\"Luk\")])],1)]):_vm._e(),(_vm.isAdmin)?_c('div',{staticClass:\"sidebar-footer\"},[_c('div',{staticClass:\"sidebar-footer-controls\"},[_c('b-button',{staticClass:\"is-blue\",attrs:{\"loading\":_vm.loading},on:{\"click\":function($event){return _vm.update()}}},[_vm._v(_vm._s(_vm.sidebarHeaderText))]),_c('b-button',{staticClass:\"is-text\",on:{\"click\":function($event){return _vm.cancelSidebar()}}},[_vm._v(\"Annuller\")]),(_vm.selectedUserDriveData.id !== 0)?_c('b-button',{staticClass:\"is-red\",on:{\"click\":function($event){return _vm.deleteItem()}}},[_vm._v(\"Slet\")]):_vm._e()],1),_c('div',{staticClass:\"sidebar-footer-updated content p-2 has-text-centered\"})]):_vm._e()]):_vm._e()])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DtReportSidebar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DtReportSidebar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DtReportSidebar.vue?vue&type=template&id=3f7e0da8&scoped=true&\"\nimport script from \"./DtReportSidebar.vue?vue&type=script&lang=js&\"\nexport * from \"./DtReportSidebar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DtReportSidebar.vue?vue&type=style&index=0&id=3f7e0da8&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3f7e0da8\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"group-comment-sidebar\"},[_c('b-sidebar',{attrs:{\"position\":\"absolute\",\"right\":true,\"fullheight\":true,\"overlay\":false,\"open\":_vm.open},on:{\"close\":_vm.cancel}},[(_vm.rate)?_c('div',{staticClass:\"calendar-entry-form\"},[_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-header\"},[_vm._v(\" \"+_vm._s(_vm.headerText)+\" \")])]),_c('div',{staticClass:\"sidebar-body\"},[_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"Kørsel HV.\")]),_c('div',{staticClass:\"sidebar-field-input\"},[_c('b-numberinput',{attrs:{\"controls\":false,\"step\":\"0.01\"},on:{\"input\":_vm.modelUpdated},model:{value:(_vm.rate.drivingRateWeekday),callback:function ($$v) {_vm.$set(_vm.rate, \"drivingRateWeekday\", $$v)},expression:\"rate.drivingRateWeekday\"}})],1)]),_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"Kørsel SH.\")]),_c('div',{staticClass:\"sidebar-field-input\"},[_c('b-numberinput',{attrs:{\"controls\":false,\"step\":\"0.01\"},on:{\"input\":_vm.modelUpdated},model:{value:(_vm.rate.drivingRateHoliday),callback:function ($$v) {_vm.$set(_vm.rate, \"drivingRateHoliday\", $$v)},expression:\"rate.drivingRateHoliday\"}})],1)]),_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"Kørsel før 07:15 HV.\")]),_c('div',{staticClass:\"sidebar-field-input\"},[_c('b-numberinput',{attrs:{\"controls\":false,\"step\":\"0.01\"},on:{\"input\":_vm.modelUpdated},model:{value:(_vm.rate.hourRateWeekdayDrivingBefore),callback:function ($$v) {_vm.$set(_vm.rate, \"hourRateWeekdayDrivingBefore\", $$v)},expression:\"rate.hourRateWeekdayDrivingBefore\"}})],1)]),_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"Kørsel før 07:15 SH.\")]),_c('div',{staticClass:\"sidebar-field-input\"},[_c('b-numberinput',{attrs:{\"controls\":false,\"step\":\"0.01\"},on:{\"input\":_vm.modelUpdated},model:{value:(_vm.rate.hourRateWeekendDrivingBefore),callback:function ($$v) {_vm.$set(_vm.rate, \"hourRateWeekendDrivingBefore\", $$v)},expression:\"rate.hourRateWeekendDrivingBefore\"}})],1)]),_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"Time RTA HV.\")]),_c('div',{staticClass:\"sidebar-field-input\"},[_c('b-numberinput',{attrs:{\"controls\":false,\"step\":\"0.01\"},on:{\"input\":_vm.modelUpdated},model:{value:(_vm.rate.hourRateWeekday),callback:function ($$v) {_vm.$set(_vm.rate, \"hourRateWeekday\", $$v)},expression:\"rate.hourRateWeekday\"}})],1)]),_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"Time RTA SH.\")]),_c('div',{staticClass:\"sidebar-field-input\"},[_c('b-numberinput',{attrs:{\"controls\":false,\"step\":\"0.01\"},on:{\"input\":_vm.modelUpdated},model:{value:(_vm.rate.hourRateHoliday),callback:function ($$v) {_vm.$set(_vm.rate, \"hourRateHoliday\", $$v)},expression:\"rate.hourRateHoliday\"}})],1)]),_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"Time ATK HV.\")]),_c('div',{staticClass:\"sidebar-field-input\"},[_c('b-numberinput',{attrs:{\"controls\":false,\"step\":\"0.01\"},on:{\"input\":_vm.modelUpdated},model:{value:(_vm.rate.hourRateWeekdayAtk),callback:function ($$v) {_vm.$set(_vm.rate, \"hourRateWeekdayAtk\", $$v)},expression:\"rate.hourRateWeekdayAtk\"}})],1)]),_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"Time ATK SH.\")]),_c('div',{staticClass:\"sidebar-field-input\"},[_c('b-numberinput',{attrs:{\"controls\":false,\"step\":\"0.01\"},on:{\"input\":_vm.modelUpdated},model:{value:(_vm.rate.hourRateHolidayAtk),callback:function ($$v) {_vm.$set(_vm.rate, \"hourRateHolidayAtk\", $$v)},expression:\"rate.hourRateHolidayAtk\"}})],1)]),_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"Time barsel\")]),_c('div',{staticClass:\"sidebar-field-input\"},[_c('b-numberinput',{attrs:{\"controls\":false,\"step\":\"0.01\"},on:{\"input\":_vm.modelUpdated},model:{value:(_vm.rate.hourRateWeekdayMaternity),callback:function ($$v) {_vm.$set(_vm.rate, \"hourRateWeekdayMaternity\", $$v)},expression:\"rate.hourRateWeekdayMaternity\"}})],1)]),_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"Pensions rate %.\")]),_c('div',{staticClass:\"sidebar-field-input\"},[_c('b-numberinput',{attrs:{\"controls\":false,\"step\":\"0.01\"},on:{\"input\":_vm.modelUpdated},model:{value:(_vm.rate.pensionPercentage),callback:function ($$v) {_vm.$set(_vm.rate, \"pensionPercentage\", $$v)},expression:\"rate.pensionPercentage\"}})],1)]),_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"Anciennitet\")]),_c('div',{staticClass:\"sidebar-field-input\"},[_c('b-numberinput',{attrs:{\"controls\":false,\"step\":\"0.01\"},on:{\"input\":_vm.modelUpdated},model:{value:(_vm.rate.seniorityRate),callback:function ($$v) {_vm.$set(_vm.rate, \"seniorityRate\", $$v)},expression:\"rate.seniorityRate\"}})],1)]),_c('div',{staticClass:\"calendar-entry-sidebar-field\"},[_c('div',{staticClass:\"sidebar-field-label\"},[_vm._v(\"Timer pr. session\")]),_c('div',{staticClass:\"sidebar-field-input\"},[_c('b-numberinput',{attrs:{\"controls\":false,\"step\":\"0.01\"},on:{\"input\":_vm.modelUpdated},model:{value:(_vm.rate.tariff),callback:function ($$v) {_vm.$set(_vm.rate, \"tariff\", $$v)},expression:\"rate.tariff\"}})],1)])]),_c('div',{staticClass:\"sidebar-footer\"},[_c('div',{staticClass:\"sidebar-footer-controls\"},[_c('b-button',{staticClass:\"is-blue\",attrs:{\"loading\":_vm.loading},on:{\"click\":_vm.update}},[_vm._v(\"Opdater\")]),_c('b-button',{staticClass:\"is-text\",on:{\"click\":_vm.cancel}},[_vm._v(\"Annuller\")])],1),_c('div',{staticClass:\"sidebar-footer-updated content p-2 has-text-centered\"},[_vm._v(\" \"+_vm._s(_vm.latestUpdateText)+\" \")])])]):_vm._e()])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SalaryRateSidebar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SalaryRateSidebar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SalaryRateSidebar.vue?vue&type=template&id=0bb45983&scoped=true&\"\nimport script from \"./SalaryRateSidebar.vue?vue&type=script&lang=js&\"\nexport * from \"./SalaryRateSidebar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SalaryRateSidebar.vue?vue&type=style&index=0&id=0bb45983&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0bb45983\",\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=66e4b29a&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export const configurationRoutes = [\r\n {\r\n path: '/configuration',\r\n component: () => import('../views/Configuration.vue'),\r\n children: [\r\n {\r\n path: '',\r\n name: 'Opsætning',\r\n redirect: \"users\"\r\n },\r\n {\r\n path: 'users',\r\n name: 'Users',\r\n component: () => import('../views/Users.vue')\r\n }, \r\n {\r\n path: '/configuration/users/:userId/edit',\r\n name: 'UserEdit',\r\n props: true,\r\n component: () => import('/src/views/User.vue')\r\n },\r\n {\r\n path: '/configuration/users/:userId/password',\r\n name: 'UserPassword',\r\n props: true,\r\n component: () => import('../views/ChangePassword.vue')\r\n },\r\n {\r\n path: '/configuration/users/new',\r\n name: 'UserNew',\r\n component: () => import('../views/User.vue')\r\n },{\r\n path: 'holidays',\r\n name: 'Holiday',\r\n component: () => import('../views/configuration-views/Holiday.vue')\r\n }, \r\n {\r\n path: 'groups',\r\n name: 'Groups',\r\n component: () => import('../views/configuration-views/Groups')\r\n }, \r\n {\r\n path: '/configuration/groups/:groupId/group',\r\n name: 'GroupConfiguration',\r\n props: true,\r\n component: () => import('@/views/group-views/Group.vue')\r\n },\r\n {\r\n path: '/configuration/groups/new',\r\n name: 'NewGroupConfiguration',\r\n component: () => import('@/views/group-views/Group.vue')\r\n },\r\n {\r\n path: 'circles',\r\n name: 'Circles',\r\n component: () => import('../views/Circles')\r\n }, \r\n {\r\n path: '/configuration/circles/:circleId/edit',\r\n name: 'CircleEdit',\r\n props: true,\r\n component: () => import('../views/Circle.vue')\r\n },\r\n {\r\n path: '/configuration/circles/new',\r\n name: 'CircleNew',\r\n component: () => import('/src/views/Circle.vue')\r\n },\r\n {\r\n path: 'agreements',\r\n name: 'Agreements',\r\n component: () => import('../views/configuration-views/Agreements')\r\n },\r\n {\r\n path: 'gpsdata',\r\n name: 'GPSData',\r\n component: () => import('../views/configuration-views/GPSData')\r\n },\r\n {\r\n path: 'salaryRates',\r\n name: 'SalaryRates',\r\n component: () => import('../views/configuration-views/SalaryRates')\r\n },\r\n ]\r\n },\r\n ];\r\n \r\n console.log(\"configurationRoutes\" + configurationRoutes);","import Vue from 'vue'\r\nimport VueRouter from 'vue-router'\r\nimport { vuexOidcCreateRouterMiddleware } from 'vuex-oidc'\r\nimport Home from '../views/Home.vue'\r\nimport store from '@/store';\r\nimport { userRoutes } from \"./users\";\r\nimport { circleRoutes } from \"./circles\";\r\nimport { configurationRoutes } from './configuration';\r\n\r\nVue.use(VueRouter)\r\n\r\nconst routes = [\r\n {\r\n path: '/',\r\n name: 'Home',\r\n component: () => import('../views/Home.vue'),\r\n },\r\n {\r\n path: '/calendar',\r\n component: () => import('@/components/calendar/Home.vue'),\r\n children: [\r\n {\r\n path: \"\",\r\n name: 'Calendar',\r\n redirect: \"my-calendar\"\r\n },\r\n {\r\n path: \"my-calendar\",\r\n component: () => import(\"@/components/calendar/CalendarSmall.vue\")\r\n }, {\r\n path: \"group-overview\",\r\n component: () => import(\"@/components/calendar/GroupOverview.vue\")\r\n },\r\n ]\r\n },\r\n {\r\n path: '/login',\r\n name: 'Login',\r\n component: () => import('../views/Login.vue'),\r\n meta: {\r\n isPublic: true\r\n }\r\n },\r\n {\r\n path: '/logout',\r\n name: 'Logout',\r\n component: () => import('../views/Logout.vue'),\r\n meta: {\r\n isPublic: true\r\n }\r\n },\r\n {\r\n path: '/oidc-callback', // Needs to match redirectUrl in oidcSettings\r\n name: 'oidcCallback',\r\n component: () => import('../views/OidcCallback.vue'),\r\n meta: {\r\n isPublic: true\r\n }\r\n },\r\n {\r\n path: '/oidc-popup-callback', // Needs to match popupRedirectUrl in oidcSettings\r\n name: 'oidcPopupCallback',\r\n component: () => import('../views/OidcPopupCallback.vue'),\r\n meta: {\r\n isPublic: true\r\n }\r\n },\r\n {\r\n path: '/oidc-callback-error', // Needs to match redirect_uri in oidcSettings\r\n name: 'oidcCallbackError',\r\n component: () => import('../views/OidcCallbackError.vue'),\r\n meta: {\r\n isPublic: true\r\n }\r\n },\r\n {\r\n path: '/replacementweek',\r\n name: 'ReplacementWeek',\r\n component: () => import('../views/ReplacementWeek.vue')\r\n },\r\n {\r\n path: \"/schedule\",\r\n component: () => import(\"@/views/ScheduleTop.vue\"),\r\n children: [\r\n {\r\n path: \"\",\r\n name: \"Schedule\",\r\n component: () => import(\"@/components/scheduler/Schedule.vue\"),\r\n },\r\n {\r\n path: \"disposition\",\r\n name: \"Disposition\",\r\n component: () => import(\"@/views/Disposition.vue\")\r\n }\r\n ]\r\n },\r\n {\r\n path: \"/configuration-user\",\r\n component: () => import(\"@/views/ConfigurationUserTop.vue\"),\r\n children: [ \r\n {\r\n path: \"\",\r\n name: 'My-Groups',\r\n redirect: \"my-groups\"\r\n },\r\n {\r\n path: 'my-groups',\r\n name: 'My-Groups',\r\n component: () => import('@/views/group-views/GroupsForUser.vue')\r\n },\r\n {\r\n path: 'my-groups/:groupId/group',\r\n name: 'Group',\r\n props: true,\r\n component: () => import('@/views/group-views/Group.vue')\r\n },\r\n {\r\n path: 'my-groups/new',\r\n name: 'NewGroup',\r\n component: () => import('@/views/group-views/Group.vue')\r\n },\r\n ]\r\n },\r\n {\r\n path: '/reports',\r\n component: () => import('@/views/Reports.vue'),\r\n children: [\r\n {\r\n path: '',\r\n name: 'Reports',\r\n redirect: \"monthlystatistics\"\r\n },\r\n {\r\n path: 'replacementstatistics',\r\n name: 'ReplacementStatistics',\r\n component: () => import(\"@/views/reports/ReplacementStatistics.vue\")\r\n },\r\n {\r\n path: 'generalstatistics',\r\n name: 'GeneralStatistics',\r\n component: () => import(\"@/views/reports/GeneralStatistics.vue\")\r\n },\r\n {\r\n path: 'drivestatistics',\r\n name: 'DriveStatistics',\r\n component: () => import(\"@/views/reports/DriveStatistics.vue\")\r\n },\r\n {\r\n path: 'absencestatistics',\r\n name: 'AbsenceStatistics',\r\n component: () => import(\"@/views/reports/AbsenceStatistics.vue\")\r\n },\r\n {\r\n path: 'replacementmonthlystatistics',\r\n name: 'ReplacementMonthlyStatistics',\r\n props: true,\r\n component: () => import(\"@/views/reports/ReplacementMonthlyStatistics.vue\")\r\n },\r\n {\r\n path: 'monthlystatistics',\r\n name: 'MonthlyStatistics',\r\n props: true,\r\n component: () => import(\"@/views/reports/MonthlyStatistics.vue\")\r\n },\r\n {\r\n path: 'monthlygroup',\r\n name: 'MonthlyGroup',\r\n props: true,\r\n component: () => import(\"@/views/reports/MonthlyGroup.vue\")\r\n },\r\n {\r\n path: 'yearlytimeregistration',\r\n name: 'YearlyTimeRegistration',\r\n props: true,\r\n component: () => import(\"@/views/reports/YearlyTimeRegistrationReport.vue\")\r\n },\r\n {\r\n path: 'timeoff',\r\n name: 'TimeOff',\r\n props: true,\r\n component: () => import(\"@/views/reports/TimeOffReport.vue\")\r\n },\r\n {\r\n path: 'salaryReport',\r\n name: 'SalaryReport',\r\n props: true,\r\n component: () => import(\"@/views/reports/SalaryReport.vue\")\r\n },\r\n {\r\n path: 'salaryDayReport',\r\n name: 'SalaryDayReport',\r\n props: true,\r\n component: () => import(\"@/views/reports/SalaryDayReport.vue\")\r\n },\r\n {\r\n path: 'dtReport',\r\n name: 'DTReport',\r\n component: () => import(\"@/views/reports/DTReport.vue\")\r\n },\r\n ]\r\n },\r\n {\r\n path: '/dashboard',\r\n name: 'Dashboard',\r\n component: () => import('../views/Dashboard.vue')\r\n },\r\n {\r\n path: '/icalendar',\r\n name: 'ICalendar',\r\n component: () => import('../views/ICalendar.vue')\r\n },\r\n //...circleRoutes,\r\n ...configurationRoutes,\r\n {\r\n path: '/about',\r\n name: 'About',\r\n // route level code-splitting\r\n // this generates a separate chunk (about.[hash].js) for this route\r\n // which is lazy-loaded when the route is visited.\r\n component: () => import(/* webpackChunkName: \"about\" */ '../views/About.vue')\r\n }\r\n]\r\n\r\nconst router = new VueRouter({\r\n mode: 'history',\r\n base: process.env.BASE_URL,\r\n routes,\r\n linkActiveClass: 'is-active'\r\n});\r\n\r\nrouter.beforeEach(vuexOidcCreateRouterMiddleware(store, 'oidcStore'));\r\n\r\nexport default router\r\n","import Vue from 'vue';\r\n\r\nVue.filter(\"nodecimal\", v => (v ? v.toFixed(0) : ''));\r\nVue.filter(\"onedecimal\", v => (v ? v.toFixed(1) : ''));\r\nVue.filter(\"twodecimal\", v => (v ? v.toFixed(2) : ''));\r\n\r\nVue.filter(\"nodecimalorline\", v => (v ? v.toFixed(0) : '-'));\r\nVue.filter(\"salarydecimal\", v => (\r\n v \r\n ? \r\n Number(v)\r\n .toFixed(2)\r\n .replace('.', ',') \r\n .replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, \"$1.\") \r\n : ''\r\n));","import moment from 'moment'\r\nimport Vue from 'vue';\r\n\r\nVue.filter('formatDate', function(value) {\r\n if (value) {\r\n return moment(String(value)).format('DD-MM-YYYY')\r\n }\r\n});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"icon-container\",class:[_vm.type],on:{\"click\":_vm.onClick}},[_c('font-awesome-icon',{staticClass:\"icon\",attrs:{\"icon\":_vm.icon}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Icon.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Icon.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Icon.vue?vue&type=template&id=4838782f&scoped=true&\"\nimport script from \"./Icon.vue?vue&type=script&lang=js&\"\nexport * from \"./Icon.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Icon.vue?vue&type=style&index=0&id=4838782f&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4838782f\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\r\nimport App from './App.vue';\r\nimport router from './router';\r\nimport store from './store';\r\nimport Buefy from 'buefy';\r\nimport VueMoment from 'vue-moment';\r\nimport moment from 'moment';\r\nimport VSwatches from 'vue-swatches';\r\nimport 'moment/locale/da';\r\nimport './filters/numbers';\r\nimport './filters/dates'; \r\nimport '@fontsource/lato';\r\nimport Icon from \"./components/common/Icon.vue\";\r\n\r\nimport { library } from '@fortawesome/fontawesome-svg-core';\r\nimport { faCheck, faCheckCircle, faInfoCircle, faExclamationTriangle, faExclamationCircle,\r\n faArrowUp, faAngleRight, faAngleLeft, faAngleDown, faPlus, faBars, faComment, faTimes,\r\n faEye, faEyeSlash, faCaretDown, faCaretUp, faUpload, faEnvelope, faLock, faChevronLeft,faStickyNote,\r\n faChevronRight, faBell } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { FontAwesomeIcon } from '@fortawesome/vue-fontawesome';\r\nlibrary.add(faCheck, faCheckCircle, faInfoCircle, faExclamationTriangle, faExclamationCircle, \r\n faArrowUp, faAngleRight, faAngleLeft, faAngleDown, faPlus, faBars, faComment, faTimes, faStickyNote,\r\n faEye, faEyeSlash, faCaretDown, faCaretUp, faUpload, faEnvelope, faLock, faChevronLeft,\r\n faChevronRight, faBell);\r\n\r\nrequire('./styles/app.scss');\r\n\r\nmoment.locale('da');\r\nVue.use(VueMoment, { moment });\r\nVue.config.productionTip = false\r\n\r\nVue.component(\"v-swatches\", VSwatches);\r\nVue.component('font-awesome-icon', FontAwesomeIcon);\r\nVue.component(\"icon\", Icon);\r\n\r\nVue.use(Buefy, {\r\n defaultIconComponent: 'font-awesome-icon',\r\n defaultIconPack: 'fas',\r\n defaultContainerElement: '#content',\r\n defaultModalScroll: 'keep'\r\n});\r\n\r\nnew Vue({\r\n router,\r\n store,\r\n render: h => h(App)\r\n}).$mount('#app')\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"userSelectColors-black\":\"#141414\",\"userSelectColors-charcoal\":\"#3c3c3c\",\"userSelectColors-blue\":\"#0099d9\",\"userSelectColors-red\":\"#ff5d5d\",\"userSelectColors-timeoff\":\"#5c5c5c\",\"userSelectColors-orange\":\"#ffc684\",\"userSelectColors-gray\":\"#c9c8c8\",\"userSelectColors-coolgray\":\"#4e4f50\",\"userSelectColors-ivory\":\"#e2ded0\",\"userSelectColors-bluegray\":\"#647c90\",\"userSelectColors-green\":\"#42b983\",\"userSelectColors-yellow\":\"#f6ff00\"};","import moment from 'moment';\r\nimport { groups } from './devdata';\r\nimport AppUsersClient from \"../clients/AppUsersClient\";\r\n\r\nconst resource = '/group';\r\n\r\nexport default {\r\n getById: (groupId) => AppUsersClient.get(`${resource}/${groupId}`),\r\n getForPeriod(startDate, endDate, teamFilter) {\r\n return new Promise(function(resolve, reject) {\r\n AppUsersClient.get(`${resource}/?fromdate=${moment(startDate).format('YYYY-MM-DD')}&todate=${moment(endDate).format('YYYY-MM-DD')}&forteam=${(teamFilter ? teamFilter : '')}`)\r\n .then(response => {\r\n resolve(response.data);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n getAllForMyCalendar(){\r\n return new Promise(function(resolve, reject) {\r\n AppUsersClient.get(`${resource}/getAllForMyCalendar`)\r\n .then(response => {\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n getAll() {\r\n return new Promise(function(resolve, reject) {\r\n AppUsersClient.get(`${resource}`)\r\n .then(response => {\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n create(group) {\r\n return AppUsersClient.post(`${resource}`, group);\r\n },\r\n update(group) {\r\n return new Promise(function(resolve, reject) { \r\n AppUsersClient\r\n .put(`${resource}`, group)\r\n .then(response => {\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n async remove(groupId) {\r\n await AppUsersClient.put(`${resource}/remove/${groupId}`);\r\n },\r\n delete(groupId, updateTag) {\r\n return new Promise((resolve, reject) => {\r\n let index = groups.findIndex(q => q.id === groupId);\r\n if (index >= 0) {\r\n groups.splice(index, 1);\r\n }\r\n return resolve(groups);\r\n });\r\n },\r\n getGroupsForUser(id) {\r\n return new Promise(function(resolve, reject) {\r\n AppUsersClient.get(`${resource}/getGroupsForUser/${id}`)\r\n .then(response => {\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n getUsersGorGroup(id) {\r\n return new Promise(function(resolve, reject) {\r\n AppUsersClient.get(`${resource}/getUsersGorGroup/${id}`)\r\n .then(response => {\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n // delete(projectId, updateTag) {\r\n // return new Promise(function(resolve, reject) {\r\n // authService.acquireToken(['api://6b77f60e-8f2e-4d88-8f34-fb827da6f495/planning.manage']) //projects.manage\r\n // .then(accessToken => {\r\n // const headers = { 'Authorization': `Bearer ${accessToken}` };\r\n // const options = {\r\n // headers\r\n // };\r\n // axios\r\n // .delete(`${constants.planningApiBasePath}/projects/${projectId}?updateTag=${updateTag}`, options)\r\n // .then(response => {\r\n // resolve(response);\r\n // })\r\n // .catch(error => {\r\n // reject(error);\r\n // });\r\n // }).catch(error => {\r\n // reject(error);\r\n // });\r\n // });\r\n // },\r\n};\r\n","var map = {\n\t\"./af\": \"4fe5\",\n\t\"./af.js\": \"4fe5\",\n\t\"./ar\": \"3f7f\",\n\t\"./ar-dz\": \"0a4b\",\n\t\"./ar-dz.js\": \"0a4b\",\n\t\"./ar-kw\": \"9dc1\",\n\t\"./ar-kw.js\": \"9dc1\",\n\t\"./ar-ly\": \"cccb\",\n\t\"./ar-ly.js\": \"cccb\",\n\t\"./ar-ma\": \"d81c\",\n\t\"./ar-ma.js\": \"d81c\",\n\t\"./ar-sa\": \"dee2\",\n\t\"./ar-sa.js\": \"dee2\",\n\t\"./ar-tn\": \"df08\",\n\t\"./ar-tn.js\": \"df08\",\n\t\"./ar.js\": \"3f7f\",\n\t\"./az\": \"9a25\",\n\t\"./az.js\": \"9a25\",\n\t\"./be\": \"ffa8\",\n\t\"./be.js\": \"ffa8\",\n\t\"./bg\": \"c81c\",\n\t\"./bg.js\": \"c81c\",\n\t\"./bm\": \"0d5f\",\n\t\"./bm.js\": \"0d5f\",\n\t\"./bn\": \"fa65\",\n\t\"./bn-bd\": \"e711\",\n\t\"./bn-bd.js\": \"e711\",\n\t\"./bn.js\": \"fa65\",\n\t\"./bo\": \"b30d\",\n\t\"./bo.js\": \"b30d\",\n\t\"./br\": \"ee0a\",\n\t\"./br.js\": \"ee0a\",\n\t\"./bs\": \"89a9\",\n\t\"./bs.js\": \"89a9\",\n\t\"./ca\": \"0a16\",\n\t\"./ca.js\": \"0a16\",\n\t\"./cs\": \"b7a0\",\n\t\"./cs.js\": \"b7a0\",\n\t\"./cv\": \"2b90\",\n\t\"./cv.js\": \"2b90\",\n\t\"./cy\": \"0d0e\",\n\t\"./cy.js\": \"0d0e\",\n\t\"./da\": \"7a87\",\n\t\"./da.js\": \"7a87\",\n\t\"./de\": \"5f6f\",\n\t\"./de-at\": \"7f7e\",\n\t\"./de-at.js\": \"7f7e\",\n\t\"./de-ch\": \"f949\",\n\t\"./de-ch.js\": \"f949\",\n\t\"./de.js\": \"5f6f\",\n\t\"./dv\": \"3073\",\n\t\"./dv.js\": \"3073\",\n\t\"./el\": \"4130\",\n\t\"./el.js\": \"4130\",\n\t\"./en-au\": \"517c\",\n\t\"./en-au.js\": \"517c\",\n\t\"./en-ca\": \"eb45\",\n\t\"./en-ca.js\": \"eb45\",\n\t\"./en-gb\": \"594d\",\n\t\"./en-gb.js\": \"594d\",\n\t\"./en-ie\": \"7f1a\",\n\t\"./en-ie.js\": \"7f1a\",\n\t\"./en-il\": \"3d14\",\n\t\"./en-il.js\": \"3d14\",\n\t\"./en-in\": \"efab\",\n\t\"./en-in.js\": \"efab\",\n\t\"./en-nz\": \"a04d\",\n\t\"./en-nz.js\": \"a04d\",\n\t\"./en-sg\": \"c6c8\",\n\t\"./en-sg.js\": \"c6c8\",\n\t\"./eo\": \"d8aa\",\n\t\"./eo.js\": \"d8aa\",\n\t\"./es\": \"8dca\",\n\t\"./es-do\": \"24f7\",\n\t\"./es-do.js\": \"24f7\",\n\t\"./es-mx\": \"45bf\",\n\t\"./es-mx.js\": \"45bf\",\n\t\"./es-us\": \"8c15\",\n\t\"./es-us.js\": \"8c15\",\n\t\"./es.js\": \"8dca\",\n\t\"./et\": \"0207\",\n\t\"./et.js\": \"0207\",\n\t\"./eu\": \"4d24\",\n\t\"./eu.js\": \"4d24\",\n\t\"./fa\": \"9cf1\",\n\t\"./fa.js\": \"9cf1\",\n\t\"./fi\": \"5b8e\",\n\t\"./fi.js\": \"5b8e\",\n\t\"./fil\": \"9b23\",\n\t\"./fil.js\": \"9b23\",\n\t\"./fo\": \"cef1\",\n\t\"./fo.js\": \"cef1\",\n\t\"./fr\": \"74e2\",\n\t\"./fr-ca\": \"f791\",\n\t\"./fr-ca.js\": \"f791\",\n\t\"./fr-ch\": \"f086\",\n\t\"./fr-ch.js\": \"f086\",\n\t\"./fr.js\": \"74e2\",\n\t\"./fy\": \"0d86\",\n\t\"./fy.js\": \"0d86\",\n\t\"./ga\": \"d67f\",\n\t\"./ga.js\": \"d67f\",\n\t\"./gd\": \"d9d3\",\n\t\"./gd.js\": \"d9d3\",\n\t\"./gl\": \"29e2\",\n\t\"./gl.js\": \"29e2\",\n\t\"./gom-deva\": \"e231\",\n\t\"./gom-deva.js\": \"e231\",\n\t\"./gom-latn\": \"d91e\",\n\t\"./gom-latn.js\": \"d91e\",\n\t\"./gu\": \"d184\",\n\t\"./gu.js\": \"d184\",\n\t\"./he\": \"624c\",\n\t\"./he.js\": \"624c\",\n\t\"./hi\": \"061d\",\n\t\"./hi.js\": \"061d\",\n\t\"./hr\": \"6a0c\",\n\t\"./hr.js\": \"6a0c\",\n\t\"./hu\": \"dce0\",\n\t\"./hu.js\": \"dce0\",\n\t\"./hy-am\": \"39a7\",\n\t\"./hy-am.js\": \"39a7\",\n\t\"./id\": \"a8eb\",\n\t\"./id.js\": \"a8eb\",\n\t\"./is\": \"0ccb\",\n\t\"./is.js\": \"0ccb\",\n\t\"./it\": \"35f7\",\n\t\"./it-ch\": \"0a85\",\n\t\"./it-ch.js\": \"0a85\",\n\t\"./it.js\": \"35f7\",\n\t\"./ja\": \"239d\",\n\t\"./ja.js\": \"239d\",\n\t\"./jv\": \"9271\",\n\t\"./jv.js\": \"9271\",\n\t\"./ka\": \"d319\",\n\t\"./ka.js\": \"d319\",\n\t\"./kk\": \"83d9\",\n\t\"./kk.js\": \"83d9\",\n\t\"./km\": \"3319\",\n\t\"./km.js\": \"3319\",\n\t\"./kn\": \"a0c1\",\n\t\"./kn.js\": \"a0c1\",\n\t\"./ko\": \"6de7\",\n\t\"./ko.js\": \"6de7\",\n\t\"./ku\": \"a9d2\",\n\t\"./ku.js\": \"a9d2\",\n\t\"./ky\": \"0747\",\n\t\"./ky.js\": \"0747\",\n\t\"./lb\": \"6201\",\n\t\"./lb.js\": \"6201\",\n\t\"./lo\": \"c211\",\n\t\"./lo.js\": \"c211\",\n\t\"./lt\": \"6df3\",\n\t\"./lt.js\": \"6df3\",\n\t\"./lv\": \"55b3\",\n\t\"./lv.js\": \"55b3\",\n\t\"./me\": \"e661\",\n\t\"./me.js\": \"e661\",\n\t\"./mi\": \"fd00\",\n\t\"./mi.js\": \"fd00\",\n\t\"./mk\": \"1ffc\",\n\t\"./mk.js\": \"1ffc\",\n\t\"./ml\": \"18c9\",\n\t\"./ml.js\": \"18c9\",\n\t\"./mn\": \"c6f0\",\n\t\"./mn.js\": \"c6f0\",\n\t\"./mr\": \"48ce\",\n\t\"./mr.js\": \"48ce\",\n\t\"./ms\": \"d892\",\n\t\"./ms-my\": \"de1a\",\n\t\"./ms-my.js\": \"de1a\",\n\t\"./ms.js\": \"d892\",\n\t\"./mt\": \"9b8e\",\n\t\"./mt.js\": \"9b8e\",\n\t\"./my\": \"b403\",\n\t\"./my.js\": \"b403\",\n\t\"./nb\": \"cb28\",\n\t\"./nb.js\": \"cb28\",\n\t\"./ne\": \"89e8\",\n\t\"./ne.js\": \"89e8\",\n\t\"./nl\": \"3017\",\n\t\"./nl-be\": \"3daa\",\n\t\"./nl-be.js\": \"3daa\",\n\t\"./nl.js\": \"3017\",\n\t\"./nn\": \"6432\",\n\t\"./nn.js\": \"6432\",\n\t\"./oc-lnc\": \"92d0\",\n\t\"./oc-lnc.js\": \"92d0\",\n\t\"./pa-in\": \"5c40\",\n\t\"./pa-in.js\": \"5c40\",\n\t\"./pl\": \"a4a8\",\n\t\"./pl.js\": \"a4a8\",\n\t\"./pt\": \"6177\",\n\t\"./pt-br\": \"e204\",\n\t\"./pt-br.js\": \"e204\",\n\t\"./pt.js\": \"6177\",\n\t\"./ro\": \"b2de\",\n\t\"./ro.js\": \"b2de\",\n\t\"./ru\": \"a884\",\n\t\"./ru.js\": \"a884\",\n\t\"./sd\": \"60ab\",\n\t\"./sd.js\": \"60ab\",\n\t\"./se\": \"40bf\",\n\t\"./se.js\": \"40bf\",\n\t\"./si\": \"a975\",\n\t\"./si.js\": \"a975\",\n\t\"./sk\": \"e060\",\n\t\"./sk.js\": \"e060\",\n\t\"./sl\": \"46cd\",\n\t\"./sl.js\": \"46cd\",\n\t\"./sq\": \"c043\",\n\t\"./sq.js\": \"c043\",\n\t\"./sr\": \"77fd\",\n\t\"./sr-cyrl\": \"6868\",\n\t\"./sr-cyrl.js\": \"6868\",\n\t\"./sr.js\": \"77fd\",\n\t\"./ss\": \"bbaf\",\n\t\"./ss.js\": \"bbaf\",\n\t\"./sv\": \"be84\",\n\t\"./sv.js\": \"be84\",\n\t\"./sw\": \"c359\",\n\t\"./sw.js\": \"c359\",\n\t\"./ta\": \"73e1\",\n\t\"./ta.js\": \"73e1\",\n\t\"./te\": \"96fe\",\n\t\"./te.js\": \"96fe\",\n\t\"./tet\": \"7308\",\n\t\"./tet.js\": \"7308\",\n\t\"./tg\": \"0481\",\n\t\"./tg.js\": \"0481\",\n\t\"./th\": \"4331\",\n\t\"./th.js\": \"4331\",\n\t\"./tk\": \"b71b\",\n\t\"./tk.js\": \"b71b\",\n\t\"./tl-ph\": \"b965\",\n\t\"./tl-ph.js\": \"b965\",\n\t\"./tlh\": \"a42a\",\n\t\"./tlh.js\": \"a42a\",\n\t\"./tr\": \"183a\",\n\t\"./tr.js\": \"183a\",\n\t\"./tzl\": \"42e5\",\n\t\"./tzl.js\": \"42e5\",\n\t\"./tzm\": \"48ca\",\n\t\"./tzm-latn\": \"d974\",\n\t\"./tzm-latn.js\": \"d974\",\n\t\"./tzm.js\": \"48ca\",\n\t\"./ug-cn\": \"2453\",\n\t\"./ug-cn.js\": \"2453\",\n\t\"./uk\": \"9178\",\n\t\"./uk.js\": \"9178\",\n\t\"./ur\": \"9c29\",\n\t\"./ur.js\": \"9c29\",\n\t\"./uz\": \"3b78\",\n\t\"./uz-latn\": \"54ff\",\n\t\"./uz-latn.js\": \"54ff\",\n\t\"./uz.js\": \"3b78\",\n\t\"./vi\": \"63f8\",\n\t\"./vi.js\": \"63f8\",\n\t\"./x-pseudo\": \"51f1\",\n\t\"./x-pseudo.js\": \"51f1\",\n\t\"./yo\": \"cc6e\",\n\t\"./yo.js\": \"cc6e\",\n\t\"./zh-cn\": \"a25e\",\n\t\"./zh-cn.js\": \"a25e\",\n\t\"./zh-hk\": \"1bec\",\n\t\"./zh-hk.js\": \"1bec\",\n\t\"./zh-mo\": \"d297\",\n\t\"./zh-mo.js\": \"d297\",\n\t\"./zh-tw\": \"dba6\",\n\t\"./zh-tw.js\": \"dba6\"\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 = \"94e4\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"ctrl-button-toggle\",style:({ width: _vm.width + 'px' })},[_c('a',{staticClass:\"ctrl-button\",style:({\n background: _vm.disabled\n ? 'rgba(60, 60, 61, 0.1) !important'\n : _vm.backgroundColor\n ? _vm.backgroundColor\n : '#adadad',\n color: _vm.disabled\n ? 'black !important'\n : _vm.backgroundColor === 'white'\n ? '#363636'\n : 'white',\n fontSize: _vm.fontSize ? _vm.fontSize : '14px',\n padding: _vm.padding ? _vm.padding : '0px 0px 0px 10px',\n height: _vm.height ? _vm.height : '30px',\n width: _vm.dropdownWidth ? _vm.dropdownWidth : '285px',\n float: _vm.dropdownWidth ? 'left' : '',\n borderColor: _vm.disabled\n ? '#3c3c3d !important'\n : _vm.backgroundColor === 'white'\n ? '#707070'\n : '#bbb',\n cursor: _vm.disabled ? 'not-allowed' : 'pointer',\n }),on:{\"click\":_vm.toggleIsOpen}},[_vm._v(\" \"+_vm._s(_vm.selectedName)+\" \"),_vm._m(0)]),(_vm.isOpen && !_vm.disabled)?_c('div',{staticClass:\"ctrl-select-options\",style:({ width: _vm.dropdownWidth ? _vm.dropdownWidth : _vm.width + 'px' })},[_c('div',[(_vm.nullValueText !== undefined)?_c('div',{staticClass:\"ctrl-select-option\",attrs:{\"role\":\"option\"},on:{\"click\":function($event){return _vm.selectionChanged(null)}}},[_vm._v(\" \"+_vm._s(_vm.nullValueText)+\" \")]):_vm._e(),_vm._l((_vm.sourceList),function(obj,index){return _c('div',{key:index,staticClass:\"ctrl-select-option\",style:({\n background: obj.backgroundColor ? obj.backgroundColor : 'inherit',\n }),attrs:{\"role\":\"option\"},on:{\"click\":function($event){return _vm.selectionChanged(obj)}}},[_vm._v(\" \"+_vm._s(_vm.displayPropertyName(obj))+\" \")])})],2)]):_vm._e()])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticStyle:{\"float\":\"right\"}},[_c('i',{staticClass:\"icon\",attrs:{\"data-icon\":\"arrow-down-white\"}})])}]\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Dropdown.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Dropdown.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Dropdown.vue?vue&type=template&id=76a9cde2&scoped=true&\"\nimport script from \"./Dropdown.vue?vue&type=script&lang=js&\"\nexport * from \"./Dropdown.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Dropdown.vue?vue&type=style&index=0&id=76a9cde2&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"76a9cde2\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DtReportSidebar.vue?vue&type=style&index=0&id=3f7e0da8&scoped=true&lang=css&\"","// extracted by mini-css-extract-plugin\nmodule.exports = {\"userSelectColors-black\":\"#141414\",\"userSelectColors-charcoal\":\"#3c3c3c\",\"userSelectColors-blue\":\"#0099d9\",\"userSelectColors-red\":\"#ff5d5d\",\"userSelectColors-timeoff\":\"#5c5c5c\",\"userSelectColors-orange\":\"#ffc684\",\"userSelectColors-gray\":\"#c9c8c8\",\"userSelectColors-coolgray\":\"#4e4f50\",\"userSelectColors-ivory\":\"#e2ded0\",\"userSelectColors-bluegray\":\"#647c90\",\"userSelectColors-green\":\"#42b983\",\"userSelectColors-yellow\":\"#f6ff00\"};","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmployeeSelector.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementSidebar.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserBadge.vue?vue&type=style&index=0&id=4c3d8cdf&lang=scss&scoped=true&\"","import moment from 'moment';\r\nimport { circles } from './devdata';\r\nimport AppUsersClient from \"../clients/AppUsersClient\";\r\n\r\nconst resource = '/circle';\r\n\r\nexport default {\r\n getById: (circleId) => AppUsersClient.get(`${resource}/${circleId}`),\r\n getCirclesCurrentWeek: () => AppUsersClient.get(`${resource}/circlescurrentweek`),\r\n getCircle: id => AppUsersClient.get(`${resource}/${id}`),\r\n getForPeriod(startDate, endDate, teamFilter) {\r\n return new Promise(function(resolve, reject) {\r\n AppUsersClient.get(`${resource}/?fromdate=${moment(startDate).format('YYYY-MM-DD')}&todate=${moment(endDate).format('YYYY-MM-DD')}&forteam=${(teamFilter ? teamFilter : '')}`)\r\n .then(response => {\r\n resolve(response.data);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n getPeriods(startDate, endDate, teamFilter) {\r\n return new Promise(function(resolve, reject) {\r\n AppUsersClient.get(`${resource}/?fromdate=${moment(startDate).format('YYYY-MM-DD')}&todate=${moment(endDate).format('YYYY-MM-DD')}&forteam=${(teamFilter ? teamFilter : '')}`)\r\n .then(response => {\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n getAll(regionFilter) {\r\n return new Promise(function(resolve, reject) {\r\n AppUsersClient.get(`${resource}/getAllSystem/?forRegion=${(regionFilter ? regionFilter : '')}`)\r\n .then(response => {\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n getCircleForGroup(groupId) {\r\n return new Promise(function(resolve, reject) {\r\n AppUsersClient.get(`${resource}/getCircleForGroup/?forGroup=${(groupId ? groupId : '')}`)\r\n .then(response => {\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n create(circle) {\r\n return AppUsersClient.post(`${resource}`, circle)\r\n },\r\n update(circle) {\r\n return new Promise(function(resolve, reject) { \r\n AppUsersClient\r\n .put(`${resource}`, circle)\r\n .then(response => {\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n delete(circleId, updateTag) {\r\n return new Promise((resolve, reject) => {\r\n let index = circles.findIndex(q => q.id === circleId);\r\n if (index >= 0) {\r\n circles.splice(index, 1);\r\n }\r\n return resolve(circles);\r\n });\r\n },\r\n // delete(projectId, updateTag) {\r\n // return new Promise(function(resolve, reject) {\r\n // authService.acquireToken(['api://6b77f60e-8f2e-4d88-8f34-fb827da6f495/planning.manage']) //projects.manage\r\n // .then(accessToken => {\r\n // const headers = { 'Authorization': `Bearer ${accessToken}` };\r\n // const options = {\r\n // headers\r\n // };\r\n // axios\r\n // .delete(`${constants.planningApiBasePath}/projects/${projectId}?updateTag=${updateTag}`, options)\r\n // .then(response => {\r\n // resolve(response);\r\n // })\r\n // .catch(error => {\r\n // reject(error);\r\n // });\r\n // }).catch(error => {\r\n // reject(error);\r\n // });\r\n // });\r\n // },\r\n};\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.isAdmin)?_c('CalendarHome'):_c('Dashboard')}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=6f4b3ff8&\"\nimport script from \"./Home.vue?vue&type=script&lang=js&\"\nexport * from \"./Home.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Icon.vue?vue&type=style&index=0&id=4838782f&lang=scss&scoped=true&\"","// import axios from 'axios';\r\n// import constants from '../constants';\r\n// import authService from '../auth/AuthService';\r\nimport moment from 'moment';\r\nimport { allocations } from './devdata';\r\nimport AppUsersClient from \"../clients/AppUsersClient\";\r\n\r\nconst resource = '/allocation';\r\n\r\nexport default {\r\n getForPeriod(startDate, endDate, teamFilter, forRegion) {\r\n return new Promise(function(resolve, reject) { \r\n AppUsersClient.get(`${resource}/?fromdate=${moment(startDate).format('YYYY-MM-DD')}&todate=${moment(endDate).format('YYYY-MM-DD')}&forteam=${(teamFilter ? teamFilter : '')}&forRegion=${(forRegion ? forRegion : '')}`)\r\n .then(response => {\r\n resolve(response.data);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n getAggregate: (startDate, endDate, teamFilter, forRegion) => AppUsersClient.get(`${resource}/aggregate`, {\r\n params: {\r\n fromDate: moment(startDate).format('YYYY-MM-DD'),\r\n toDate: moment(endDate).format('YYYY-MM-DD'),\r\n forTeam: teamFilter ? teamFilter : '',\r\n forRegion: forRegion ? forRegion : ''\r\n }\r\n }),\r\n getForParent: (allocationId) => AppUsersClient.get(`${resource}/byParentId/${allocationId}`),\r\n getMyAllocations(startDate, endDate, asEmployee) {\r\n return new Promise(function(resolve, reject) {\r\n const asEmployeeParam = (asEmployee) ? `&asEmployee=${asEmployee}` : '';\r\n AppUsersClient.get(`${resource}/getMyAllocations/?fromdate=${moment(startDate).format('YYYY-MM-DD')}&todate=${moment(endDate).format('YYYY-MM-DD')}${asEmployeeParam}`)\r\n .then(response => {\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n getAllocationDashboard(region) {\r\n return new Promise(function(resolve, reject) { \r\n AppUsersClient.get(`${resource}/getAllocationDashboard/?region=${(region ? region : '')}`)\r\n .then(response => {\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n getTimeOff(fromDate, forGroup) {\r\n return new Promise(function(resolve, reject) { \r\n AppUsersClient.get(`${resource}/getTimeOff/?fromdate=${moment(fromDate).format('YYYY-MM-DD')}&forGroup=${(forGroup ? forGroup : '')}`)\r\n .then(response => {\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n create(\r\n allocationType,\r\n circleId,\r\n employeeId,\r\n startDate,\r\n allocationSpanInDays, \r\n groupId) {\r\n return new Promise(function(resolve, reject) { \r\n AppUsersClient.post(`${resource}`, {\r\n allocationType: allocationType,\r\n circleId: circleId,\r\n employeeId: employeeId,\r\n startDate: startDate,\r\n allocationSpanInDays: allocationSpanInDays,\r\n groupId: groupId\r\n })\r\n .then(response => {\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n update(allocation) {\r\n return new Promise(function(resolve, reject) {\r\n AppUsersClient.put(`${resource}`, allocation)\r\n .then(response => {\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n delete(allocationId, updateTag) { \r\n return new Promise(function(resolve, reject) { \r\n AppUsersClient.delete(`${resource}/${allocationId}?updateTag=${updateTag}`)\r\n .then(response => {\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n split(allocation) {\r\n return new Promise(function(resolve, reject) {\r\n AppUsersClient.put(`${resource}/split`, allocation)\r\n .then(response => {\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n getReplacementAllocationsCurrentWeek: () => AppUsersClient.get(`${resource}/replacementallocationscurrentweek`),\r\n // Get's allocation for my calendar for at given date and group\r\n getAllocationForGroupOnDate(date, forGroup, asEmployee) {\r\n const formattedDate = moment(date).format('YYYY-MM-DD');\r\n const asEmployeeParam = (asEmployee) ? `&asEmployee=${asEmployee}` : '';\r\n \r\n return new Promise(function(resolve, reject) { \r\n AppUsersClient.get(`${resource}/getAllocationForGroupOnDate/?fromdate=${formattedDate}&forUser=${(forGroup ? forGroup : '')}${asEmployeeParam}`)\r\n .then(response => {\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n};\r\n","import axios from 'axios';\r\nimport constants from '../constants';\r\n// import authService from '../auth/AuthService'; // acquire token from getters['oidcStore/oidcAccessToken']\r\nimport moment from 'moment';\r\nimport { forecasts } from './devdata';\r\n\r\nexport default {\r\n getFromDate(forecastKey, startDate, teamFilter) {\r\n return new Promise((resolve, reject) => { resolve(forecasts); });\r\n // return new Promise(function(resolve, reject) {\r\n // authService.acquireToken(['api://6b77f60e-8f2e-4d88-8f34-fb827da6f495/planning.read'])\r\n // .then(accessToken => {\r\n // const headers = { 'Authorization': `Bearer ${accessToken}` };\r\n // const options = {\r\n // headers\r\n // };\r\n // axios.get(`${constants.planningApiBasePath}/forecasts/?key=${forecastKey}&fromdate=${moment(startDate).format('YYYY-MM-DD')}&forteam=${(teamFilter ? teamFilter : '')}`, options)\r\n // .then(response => {\r\n // resolve(response);\r\n // })\r\n // .catch(error => {\r\n // reject(error);\r\n // });\r\n // }).catch(error => {\r\n // reject(error);\r\n // });\r\n // });\r\n },\r\n};\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"userSelectColors-black\":\"#141414\",\"userSelectColors-charcoal\":\"#3c3c3c\",\"userSelectColors-blue\":\"#0099d9\",\"userSelectColors-red\":\"#ff5d5d\",\"userSelectColors-timeoff\":\"#5c5c5c\",\"userSelectColors-orange\":\"#ffc684\",\"userSelectColors-gray\":\"#c9c8c8\",\"userSelectColors-coolgray\":\"#4e4f50\",\"userSelectColors-ivory\":\"#e2ded0\",\"userSelectColors-bluegray\":\"#647c90\",\"userSelectColors-green\":\"#42b983\",\"userSelectColors-yellow\":\"#f6ff00\"};","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Dropdown.vue?vue&type=style&index=0&id=76a9cde2&lang=scss&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Dashboard.vue?vue&type=style&index=0&id=8b0c5478&lang=scss&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppHeader.vue?vue&type=style&index=0&id=b4f8564e&scoped=true&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"replacementmonthlystatistics__report__view\"},[_c('div',{staticClass:\"box is-primary\"},[_c('h2',{staticClass:\"title is-3\"},[_vm._v(\" Overblikssiden \"),_c('b-select',{attrs:{\"expanded\":\"\"},on:{\"input\":_vm.filterRegions},model:{value:(_vm.regionFilter),callback:function ($$v) {_vm.regionFilter=$$v},expression:\"regionFilter\"}},_vm._l((_vm.regions),function(item,index){return _c('option',{key:index,domProps:{\"value\":item.id}},[_vm._v(\" \"+_vm._s(item.name)+\" \")])}),0)],1),_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"column\"},[_c('h3',[_vm._v(\"Afløser anmodninger\")]),_c('section',{staticClass:\"personal-info\"},[_c('b-field',{staticClass:\"column\",attrs:{\"label\":\"Vis alle anmodninger\"}},[_c('div',{staticClass:\"fake-control\",staticStyle:{\"width\":\"200px\"}},[_c('b-switch',{attrs:{\"type\":\"is-primary\",\"size\":\"is-medium\"},model:{value:(_vm.showAll),callback:function ($$v) {_vm.showAll=$$v},expression:\"showAll\"}},[_vm._v(_vm._s(_vm.showAll ? 'Ja' : 'Nej'))])],1)])],1),_c('b-table',{attrs:{\"data\":_vm.filteredNotifications,\"loading\":_vm.loading,\"hoverable\":\"\"}},[_c('b-table-column',{attrs:{\"field\":\"employeeName\",\"label\":\"Ins.\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(_vm.getStateLabel(props.row.state))+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"employeeName\",\"label\":\"Ins.\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.employeeName)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"replacementName\",\"label\":\"Afløser\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.allocation ? props.row.allocation.replacementName : '')+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"circleName\",\"label\":\"Kreds/Opg.\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.row.circleName)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"date\",\"label\":\"Dato\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('a',{on:{\"click\":function($event){return _vm.openSidebar(props.row.allocation)}}},[_vm._v(\" \"+_vm._s(_vm._f(\"formatDate\")(props.row.date))+\" \")])]}}])})],1)],1)]),_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"column\"},[_c('h3',[_vm._v(\"Afløsere i dag\")]),_c('b-table',{attrs:{\"data\":_vm.filteredReplacements,\"loading\":_vm.loading,\"hoverable\":\"\"}},[_c('b-table-column',{attrs:{\"field\":\"employeeName\",\"label\":\"Ins.\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('a',{attrs:{\"href\":\"javascript:void(0)\"},on:{\"click\":function($event){return _vm.gotoCalenderReplacement(props.row)}}},[_vm._v(_vm._s(props.row.number))]),_vm._v(\" - \"+_vm._s(props.row.name)+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"type\",\"label\":\"Status i dag\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('div',{class:[_vm.colorMap(props.row, 0)]},[_vm._v(\" \"+_vm._s(_vm.replacementAllocationLabel(props.row.id, 0))+\" \")])]}}])}),_c('b-table-column',{attrs:{\"field\":\"who\",\"label\":\"Ins.\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(_vm.replacementAllocation(props.row.id) ? _vm.replacementAllocation(props.row.id).employeeName : '')+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"circleName\",\"label\":\"Kreds/Opgave\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(_vm.replacementAllocation(props.row.id) ? _vm.replacementAllocation(props.row.id).circleName : '')+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"circleName\",\"label\":\"Kommentar\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(_vm.replacementAllocation(props.row.id) ? _vm.replacementAllocation(props.row.id).comment : '')+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"type\",\"label\":\"Status i morgen\",\"cellClass\":\"table-tomorrow\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('div',{class:[_vm.colorMap(props.row, 1)]},[_vm._v(\" \"+_vm._s(_vm.replacementAllocationLabel(props.row.id, 1))+\" \")])]}}])}),_c('b-table-column',{attrs:{\"field\":\"who\",\"label\":\"Ins. i morgen/Opgave\",\"cellClass\":\"table-tomorrow\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(_vm.replacementAllocationAddDays(props.row.id, 1) ? _vm.replacementAllocationAddDays(props.row.id, 1).employeeName : '')+\" \")]}}])}),_c('b-table-column',{attrs:{\"field\":\"who\",\"label\":\"kreds/Opgave\",\"cellClass\":\"table-tomorrow\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(_vm.replacementAllocationAddDays(props.row.id, 1) ? _vm.replacementAllocationAddDays(props.row.id, 1).circleName : '')+\" \")]}}])})],1)],1)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Dashboard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Dashboard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Dashboard.vue?vue&type=template&id=8b0c5478&scoped=true&\"\nimport script from \"./Dashboard.vue?vue&type=script&lang=js&\"\nexport * from \"./Dashboard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Dashboard.vue?vue&type=style&index=0&id=8b0c5478&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"8b0c5478\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:(\"calendar-entry is-important \" + _vm.entryColor)},[_c('header',{staticClass:\"entry-date\"},[_vm._v(\" \"+_vm._s(_vm.headerText)+\" \")]),(_vm.entry.notificationCount > 0)?_c('b-icon',{staticClass:\"sticky-note\",attrs:{\"icon\":\"sticky-note\"}}):_vm._e(),_c('header'),(!!_vm.entry.important)?_c('header',{staticClass:\"entry-icon\"},[_c('b-icon',{staticClass:\"is-important\",attrs:{\"icon\":\"exclamation-circle\"}})],1):_vm._e(),_c('div',{staticClass:\"entry-label is-size-6\"},[_vm._v(\" \"+_vm._s(_vm.entryLabel)+\" \")]),_c('div',{staticClass:\"entry-comment is-size-6\"},[_vm._v(\" \"+_vm._s(_vm.entry.comment)+\" \")]),_c('div',{staticClass:\"entry-note is-size-6\"},[_vm._v(\" \"+_vm._s(_vm.circleLabel)+\" \"),(_vm.entry.nextDayEmployeeName)?_c('span',[_vm._v(\" - Omstilling til '\"+_vm._s(_vm.entry.nextDayEmployeeName)+\"'\")]):_vm._e()])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CalendarEntry.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CalendarEntry.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CalendarEntry.vue?vue&type=template&id=34dfc51a&\"\nimport script from \"./CalendarEntry.vue?vue&type=script&lang=js&\"\nexport * from \"./CalendarEntry.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CalendarEntry.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CalendarEntry.vue?vue&type=style&index=0&lang=scss&\"","// extracted by mini-css-extract-plugin\nmodule.exports = {\"userSelectColors-black\":\"#141414\",\"userSelectColors-charcoal\":\"#3c3c3c\",\"userSelectColors-blue\":\"#0099d9\",\"userSelectColors-red\":\"#ff5d5d\",\"userSelectColors-timeoff\":\"#5c5c5c\",\"userSelectColors-orange\":\"#ffc684\",\"userSelectColors-gray\":\"#c9c8c8\",\"userSelectColors-coolgray\":\"#4e4f50\",\"userSelectColors-ivory\":\"#e2ded0\",\"userSelectColors-bluegray\":\"#647c90\",\"userSelectColors-green\":\"#42b983\",\"userSelectColors-yellow\":\"#f6ff00\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"userSelectColors-black\":\"#141414\",\"userSelectColors-charcoal\":\"#3c3c3c\",\"userSelectColors-blue\":\"#0099d9\",\"userSelectColors-red\":\"#ff5d5d\",\"userSelectColors-timeoff\":\"#5c5c5c\",\"userSelectColors-orange\":\"#ffc684\",\"userSelectColors-gray\":\"#c9c8c8\",\"userSelectColors-coolgray\":\"#4e4f50\",\"userSelectColors-ivory\":\"#e2ded0\",\"userSelectColors-bluegray\":\"#647c90\",\"userSelectColors-green\":\"#42b983\",\"userSelectColors-yellow\":\"#f6ff00\"};","export default {\r\n Model: 'Model',\r\n RequestReplacement: 'Request Replacement'\r\n}"],"sourceRoot":""}