Thanasoft-H2F/calendar/js/calendar-src_store_index_js.js

3 lines
80 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*! For license information please see calendar-src_store_index_js.js.LICENSE.txt */
"use strict";(self.webpackChunkcalendar=self.webpackChunkcalendar||[]).push([["src_store_index_js"],{1737:(e,t,a)=>{a.d(t,{N:()=>l});var n=a(65043),r=a(68422);const l=async(e,t)=>{await n.Ay.post((0,r.K)(e),{value:t})}},4239:(e,t,a)=>{a.d(t,{Kc:()=>d,ON:()=>c,WX:()=>u,cr:()=>o,hK:()=>i});var n=a(53191),r=a(13061);const l=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Object.assign({},{id:null,calendarId:null,dav:null,calendarComponent:null,uid:null,uri:null,objectType:null,isEvent:!1,isJournal:!1,isTodo:!1,existsOnServer:!1},e)},c=(e,t)=>{const a=(0,n.zc)().getParserForFileType("text/calendar");if("string"!=typeof e.data||""===e.data.trim())throw new Error("Empty calendar object");a.parse(e.data);const c=a.getItemIterator().next().value;if(!c)throw new Error("Empty calendar object");const o=c.getVObjectIterator().next().value;return l({id:btoa(e.url),calendarId:t,dav:e,calendarComponent:c,uid:o.uid,uri:e.url,objectType:o.name,isEvent:o.name===r.P$,isJournal:o.name===r.W5,isTodo:o.name===r.vC,existsOnServer:!0})},o=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;const a=e.getVObjectIterator().next().value;if(!a)throw new Error("Calendar object without vobjects");return l({calendarId:t,calendarComponent:e,uid:a.uid,objectType:a.name,isEvent:a.name===r.P$,isJournal:a.name===r.W5,isTodo:a.name===r.vC})},s=(e,t,a)=>{const n=((e,t)=>`${e}:${t}\r\n`)(t,a);return e=e.replace("END:VEVENT",`${n}END:VEVENT`)},d=(e,t)=>{for(var a in t){const n=t[a]?t[a]:"";e=s(e,a,n)}return e},i=e=>e.replace(/\\/g,"\\\\").replace(/\n/g,"\\n").replace(/,/g,"\\,").replace(/;/g,"\\;"),u=e=>{const t=[];for(;e.length>75;)t.push(e.slice(0,75)),e=" "+e.slice(75);return t.push(e),t.join("\r\n")}},6088:(e,t,a)=>{a.d(t,{A:()=>h});var n=a(85471),r=a(28928),l=a(4239),c=a(77555),o=a(23688),s=a(68339),d=a(88484),i=a(53334),u=a(62863),m=a(53191),p=a(13061),g=a(85168);const b={calendars:[],trashBin:void 0,scheduleInbox:void 0,deletedCalendars:[],deletedCalendarObjects:[],calendarsById:{},initialCalendarsLoaded:!1,editCalendarModal:void 0,widgetView:"dayGridMonth",widgetDate:"now",widgetEventDetailsOpen:!1,widgetEventDetails:{},widgetRef:void 0},I={addCalendar(e,t){let{calendar:a}=t;const r=(0,o.t)(a);e.calendars.some((e=>e.id===r.id))||e.calendars.push(r),n.default.set(e.calendarsById,r.id,r)},addTrashBin(e,t){let{trashBin:a}=t;e.trashBin=a},setWidgetView(e,t){let{viewName:a}=t;e.widgetView=a},setWidgetDate(e,t){let{widgetDate:a}=t;e.widgetDate=a},setWidgetRef(e,t){let{widgetRef:a}=t;e.widgetRef=a},setSelectedEvent(e,t){let{object:a,recurrenceId:n}=t;e.widgetEventDetailsOpen=!0,e.widgetEventDetails={object:a,recurrenceId:n}},closeWidgetEventDetails(e){e.widgetEventDetailsOpen=!1},addScheduleInbox(e,t){let{scheduleInbox:a}=t;e.scheduleInbox=a},addDeletedCalendar(e,t){let{calendar:a}=t;e.deletedCalendars.some((e=>e.url===a.url))||e.deletedCalendars.push(a)},removeDeletedCalendar(e,t){let{calendar:a}=t;e.deletedCalendars=e.deletedCalendars.filter((e=>e!==a))},removeDeletedCalendarObject(e,t){let{vobject:a}=t;e.deletedCalendarObjects=e.deletedCalendarObjects.filter((e=>e.id!==a.id))},addDeletedCalendarObject(e,t){let{vobject:a}=t;e.deletedCalendarObjects.some((e=>e.uri===a.uri))||e.deletedCalendarObjects.push(a)},deleteCalendar(e,t){let{calendar:a}=t;e.calendars.splice(e.calendars.indexOf(a),1),n.default.delete(e.calendarsById,a.id)},toggleCalendarEnabled(e,t){let{calendar:a}=t;e.calendarsById[a.id].enabled=!e.calendarsById[a.id].enabled},renameCalendar(e,t){let{calendar:a,newName:n}=t;e.calendarsById[a.id].displayName=n},changeCalendarColor(e,t){let{calendar:a,newColor:n}=t;e.calendarsById[a.id].color=n},changeCalendarOrder(e,t){let{calendar:a,newOrder:n}=t;e.calendarsById[a.id].order=n},appendCalendarObjectsToCalendar(e,t){let{calendar:a,calendarObjectIds:n}=t;for(const t of n)-1===e.calendarsById[a.id].calendarObjects.indexOf(t)&&e.calendarsById[a.id].calendarObjects.push(t)},addCalendarObjectToCalendar(e,t){let{calendar:a,calendarObjectId:n}=t;-1===e.calendarsById[a.id].calendarObjects.indexOf(n)&&e.calendarsById[a.id].calendarObjects.push(n)},deleteCalendarObjectFromCalendar(e,t){let{calendar:a,calendarObjectId:n}=t;const r=e.calendarsById[a.id].calendarObjects.indexOf(n);-1!==r&&e.calendarsById[a.id].calendarObjects.slice(r,1)},addFetchedTimeRangeToCalendar(e,t){let{calendar:a,fetchedTimeRangeId:n}=t;e.calendarsById[a.id].fetchedTimeRanges.push(n)},deleteFetchedTimeRangeFromCalendar(e,t){let{calendar:a,fetchedTimeRangeId:n}=t;const r=e.calendarsById[a.id].fetchedTimeRanges.indexOf(n);-1!==r&&e.calendarsById[a.id].fetchedTimeRanges.slice(r,1)},shareCalendar(e,t){let{calendar:a,user:n,displayName:r,uri:l,isGroup:c,isCircle:o}=t;const s={displayName:r,id:n,writeable:!1,isGroup:c,isCircle:o,uri:l};e.calendarsById[a.id].shares.push(s)},unshareCalendar(e,t){let{calendar:a,uri:n}=t;a=e.calendars.find((e=>e.id===a.id));const r=a.shares.findIndex((e=>e.uri===n));a.shares.splice(r,1)},toggleCalendarShareWritable(e,t){let{calendar:a,uri:n}=t;a=e.calendars.find((e=>e.id===a.id));const r=a.shares.find((e=>e.uri===n));r.writeable=!r.writeable},publishCalendar(e,t){let{calendar:a,publishURL:n}=t;a=e.calendars.find((e=>e.id===a.id)),a.publishURL=n},unpublishCalendar(e,t){let{calendar:a}=t;a=e.calendars.find((e=>e.id===a.id)),a.publishURL=null},initialCalendarsLoaded(e){e.initialCalendarsLoaded=!0},markCalendarAsLoading(e,t){let{calendar:a}=t;e.calendarsById[a.id].loading=!0},markCalendarAsNotLoading(e,t){let{calendar:a}=t;e.calendarsById[a.id].loading=!1},showEditCalendarModal(e,t){let{calendarId:a}=t;e.editCalendarModal={calendarId:a}},hideEditCalendarModal(e){e.editCalendarModal=void 0},setCalendarDeleteCountdown(e,t){let{calendar:a,countdown:r}=t;n.default.set(e.calendarsById[a.id],"countdown",r)},setCalendarDeleteHandles(e,t){let{calendar:a,deleteTimeout:r,deleteInterval:l}=t;n.default.set(e.calendarsById[a.id],"deleteTimeout",r),n.default.set(e.calendarsById[a.id],"deleteInterval",l)}},C={sortedCalendarsSubscriptions:(e,t,a)=>e.calendars.filter((e=>e.supportsEvents||a.settings.showTasks&&e.supportsTasks)).sort(((e,t)=>e.order-t.order)),sortedCalendars:e=>e.calendars.filter((e=>e.supportsEvents)).filter((e=>!e.readOnly)).sort(((e,t)=>e.order-t.order)),ownSortedCalendars:e=>e.calendars.filter((e=>e.supportsEvents)).filter((e=>!e.readOnly)).filter((e=>!e.isSharedWithMe)).sort(((e,t)=>e.order-t.order)),widgetView:e=>e.widgetView,widgetDate:e=>e.widgetDate,widgetEventDetailsOpen:e=>e.widgetEventDetailsOpen,widgetRef:e=>e.widgetRef,hasTrashBin:e=>void 0!==e.trashBin&&0!==e.trashBin.retentionDuration,trashBin:e=>e.trashBin,scheduleInbox:e=>e.scheduleInbox,sortedDeletedCalendars:e=>e.deletedCalendars.sort(((e,t)=>e.deletedAt-t.deletedAt)),deletedCalendarObjects(e){const t={};return e.calendars.forEach((e=>{const a=e.url.replace(/\/$/,""),n=a.slice(a.lastIndexOf("/")+1);t[n]=e})),e.deletedCalendarObjects.map((e=>({calendar:t[e.dav._props["{http://nextcloud.com/ns}calendar-uri"]],...e})))},sortedSubscriptions:e=>e.calendars.filter((e=>e.supportsEvents)).filter((e=>e.readOnly)).sort(((e,t)=>e.order-t.order)),enabledCalendars:(e,t,a)=>e.calendars.filter((e=>e.supportsEvents||a.settings.showTasks&&e.supportsTasks)).filter((e=>e.enabled)),getCalendarById:e=>t=>e.calendarsById[t],getCalendarByUrl:e=>t=>e.calendars.find((e=>e.url===t)),getBirthdayCalendar:e=>{for(const t of e.calendars){const e=t.url.slice(0,-1),a=e.lastIndexOf("/");if(e.slice(a+1)===p.DL)return t}return null},hasBirthdayCalendar:(e,t)=>!!t.getBirthdayCalendar,sortedCalendarFilteredByComponents:(e,t)=>(e,a,n)=>t.sortedCalendars.filter((t=>!(e&&!t.supportsEvents)&&(!(a&&!t.supportsJournals)&&!(n&&!t.supportsTasks)))),editCalendarModal:e=>e.editCalendarModal},y={async loadCollections(e){let{commit:t,state:a,getters:n}=e;const{calendars:l,trashBins:c,scheduleInboxes:s,subscriptions:d}=await(0,r.JW)();return console.info("calendar home scanned",l,c,d),l.map((e=>(0,o.B)(e,n.getCurrentUserPrincipal))).forEach((e=>{t("addCalendar",{calendar:e})})),c.length&&t("addTrashBin",{trashBin:c[0]}),s.length&&t("addScheduleInbox",{scheduleInbox:s[0]}),t("initialCalendarsLoaded"),{calendars:a.calendars,trashBin:a.trashBin}},async loadDeletedCalendars(e){let{commit:t}=e;(await(0,r.BK)()).forEach((e=>t("addDeletedCalendar",{calendar:e})))},async loadDeletedCalendarObjects(e){let{commit:t,state:a}=e;const n=await a.trashBin.findDeletedObjects();console.info("vobjects loaded",{vobjects:n}),n.forEach((e=>{try{const a=(0,l.ON)(e,void 0);t("addDeletedCalendarObject",{vobject:a})}catch(t){console.error("could not convert calendar object",e,t)}}))},async getPublicCalendars(e,t){let{commit:a}=e,{tokens:n}=t;const l=await(0,r.jb)(n),c=[];for(const e of l){const t=(0,o.B)(e);a("addCalendar",{calendar:t}),c.push(t)}return a("initialCalendarsLoaded"),c},async appendCalendar(e,t){let{displayName:a,color:n,order:l,components:c=["VEVENT"],timezone:s=null}=t;null===s&&(s=e.getters.getResolvedTimezone);let d=null;const i=(0,u.A)().getTimezoneForId(s);if(i!==m.kc.utc&&i!==m.kc.floating){const e=m.Sl.fromEmpty();e.addComponent(m.Ln.fromICALJs(i.toICALJs())),d=e.toICS(!1)}const p=await(0,r.dZ)(a,n,c,l,d),g=(0,o.B)(p,e.getters.getCurrentUserPrincipal);e.commit("addCalendar",{calendar:g})},async appendSubscription(e,t){let{displayName:a,color:n,order:l,source:c}=t;const s=await(0,r.Ky)(a,n,c,l),d=(0,o.B)(s,e.getters.getCurrentUserPrincipal);e.commit("addCalendar",{calendar:d})},async deleteCalendar(e,t){let{calendar:a}=t;await a.dav.delete(),e.commit("deleteCalendar",{calendar:a})},async deleteCalendarPermanently(e,t){let{calendar:a}=t;await a.delete({"X-NC-CalDAV-No-Trashbin":1}),e.commit("removeDeletedCalendar",{calendar:a})},deleteCalendarAfterTimeout(e,t){let{calendar:a,countdown:n=7}=t;e.commit("setCalendarDeleteCountdown",{calendar:a,countdown:n});const r=setInterval((()=>{n--,n<0&&(n=0),e.commit("setCalendarDeleteCountdown",{calendar:a,countdown:n})}),1e3),l=setTimeout((async()=>{try{await e.dispatch("deleteCalendar",{calendar:a})}catch(e){(0,g.Qg)((0,i.translate)("calendar","An error occurred, unable to delete the calendar.")),console.error(e)}finally{clearInterval(r)}}),7e3);e.commit("setCalendarDeleteHandles",{calendar:a,deleteInterval:r,deleteTimeout:l})},cancelCalendarDeletion(e,t){let{calendar:a}=t;a.deleteInterval&&clearInterval(a.deleteInterval),a.deleteTimeout&&clearTimeout(a.deleteTimeout),e.commit("setCalendarDeleteHandles",{calendar:a,deleteInterval:void 0,deleteTimeout:void 0})},async restoreCalendar(e,t){let{commit:a,state:n}=e,{calendar:r}=t;await n.trashBin.restore(r.url),a("removeDeletedCalendar",{calendar:r})},async restoreCalendarObject(e,t){let{commit:a,state:n,getters:r}=e,{vobject:c}=t;await n.trashBin.restore(c.uri),a("removeDeletedCalendarObject",{vobject:c});const o=(0,l.ON)(c.dav,void 0).calendarComponent.getFirstComponent(c.objectType),s=r.getTimeRangeForCalendarCoveringRange(c.calendar.id,o.startDate?.unixTime,o.endDate?.unixTime);s&&(a("deleteFetchedTimeRangeFromCalendar",{calendar:c.calendar,fetchedTimeRangeId:s.id}),a("removeTimeRange",{timeRangeId:s.id})),a("incrementModificationCount")},async deleteCalendarObjectPermanently(e,t){let{vobject:a}=t;await a.dav.delete({"X-NC-CalDAV-No-Trashbin":1}),e.commit("removeDeletedCalendarObject",{vobject:a})},async toggleCalendarEnabled(e,t){let{calendar:a}=t;e.commit("markCalendarAsLoading",{calendar:a}),a.dav.enabled=!a.dav.enabled;try{await a.dav.update(),e.commit("markCalendarAsNotLoading",{calendar:a}),e.commit("toggleCalendarEnabled",{calendar:a})}catch(t){throw e.commit("markCalendarAsNotLoading",{calendar:a}),t}},async renameCalendar(e,t){let{calendar:a,newName:n}=t;a.dav.displayname=n,await a.dav.update(),e.commit("renameCalendar",{calendar:a,newName:n})},async changeCalendarColor(e,t){let{calendar:a,newColor:n}=t;a.dav.color=n,await a.dav.update(),e.commit("changeCalendarColor",{calendar:a,newColor:n})},async shareCalendar(e,t){let{calendar:a,user:n,displayName:r,uri:l,isGroup:c,isCircle:o}=t;await a.dav.share(l),e.commit("shareCalendar",{calendar:a,user:n,displayName:r,uri:l,isGroup:c,isCircle:o})},async toggleCalendarShareWritable(e,t){let{calendar:a,uri:n}=t;const r=a.shares.find((e=>e.uri===n));await a.dav.share(n,!r.writeable),e.commit("toggleCalendarShareWritable",{calendar:a,uri:n})},async unshareCalendar(e,t){let{calendar:a,uri:n}=t;await a.dav.unshare(n),e.commit("unshareCalendar",{calendar:a,uri:n})},async publishCalendar(e,t){let{calendar:a}=t;await a.dav.publish();const n=a.dav.publishURL;e.commit("publishCalendar",{calendar:a,publishURL:n})},async unpublishCalendar(e,t){let{calendar:a}=t;await a.dav.unpublish(),e.commit("unpublishCalendar",{calendar:a})},async getEventsFromCalendarInTimeRange(e,t){let{calendar:a,from:n,to:r}=t;e.commit("markCalendarAsLoading",{calendar:a});const o=await a.dav.findByTypeInTimeRange("VEVENT",n,r);let s=[];e.rootState.settings.showTasks&&(s=await a.dav.findByTypeInTimeRange("VTODO",n,r)),e.commit("addTimeRange",{calendarId:a.id,from:(0,c.PY)(n),to:(0,c.PY)(r),lastFetched:(0,c.PY)((0,c.RK)()),calendarObjectIds:[]});const d=e.getters.getLastTimeRangeInsertId;e.commit("addFetchedTimeRangeToCalendar",{calendar:a,fetchedTimeRangeId:d});const i=[],u=[];for(const e of o.concat(s))try{const t=(0,l.ON)(e,a.id);i.push(t),u.push(t.id)}catch(t){console.error(`could not convert calendar object of calendar ${a.id}`,t,{response:e})}return e.commit("appendCalendarObjects",{calendarObjects:i}),e.commit("appendCalendarObjectsToCalendar",{calendar:a,calendarObjectIds:u}),e.commit("appendCalendarObjectIdsToTimeFrame",{timeRangeId:d,calendarObjectIds:u}),e.commit("markCalendarAsNotLoading",{calendar:a}),e.rootState.fetchedTimeRanges.lastTimeRangeInsertId},async getEventByObjectId(e,t){let{objectId:a}=t;if(e.getters.getCalendarObjectById(a))return Promise.resolve(e.getters.getCalendarObjectById(a));const n=atob(a),r=n.lastIndexOf("/"),c=n.slice(0,r+1),o=n.slice(r+1),s=btoa(c);if(!e.state.calendarsById[s])return Promise.reject(new Error(""));const d=e.state.calendarsById[s],i=await d.dav.find(o),u=(0,l.ON)(i,d.id);return e.commit("appendCalendarObject",{calendarObject:u}),e.commit("addCalendarObjectToCalendar",{calendar:{id:s},calendarObjectId:u.id}),u},async importEventsIntoCalendar(e){e.commit("changeStage",p.RW);const t=e.rootState.importFiles.importFiles.slice();let a=0;for(const n of t){a+=n.parser.getItemCount();if("new"===e.rootState.importFiles.importCalendarRelation[n.id]){const t=n.parser.getName()||(0,i.translate)("calendar","Imported {filename}",{filename:n.name}),a=n.parser.getColor()||(0,d.GM)(t),l=[];n.parser.containsVEvents()&&l.push("VEVENT"),n.parser.containsVJournals()&&l.push("VJOURNAL"),n.parser.containsVTodos()&&l.push("VTODO");const c=await(0,r.dZ)(t,a,l,0),s=(0,o.B)(c,e.getters.getCurrentUserPrincipal);e.commit("addCalendar",{calendar:s}),e.commit("setCalendarForFileId",{fileId:n.id,calendarId:s.id})}}e.commit("setTotal",a);const n=(0,s.A)(3),c=[];for(const a of t){const t=e.rootState.importFiles.importCalendarRelation[a.id],r=e.getters.getCalendarById(t);for(const o of a.parser.getItemIterator())c.push(n((async()=>{const a=o.toICS();let n;try{n=await r.dav.createVObject(a)}catch(t){return e.commit("incrementDenied"),void console.error(t)}const c=(0,l.ON)(n,t);e.commit("appendCalendarObject",{calendarObject:c}),e.commit("addCalendarObjectToCalendar",{calendar:r,calendarObjectId:c.id}),e.commit("addCalendarObjectIdToAllTimeRangesOfCalendar",{calendarId:r.id,calendarObjectId:c.id}),e.commit("incrementAccepted")})))}await Promise.all(c),e.commit("changeStage",p.NU)},async updateCalendarListOrder(e,t){let{state:a,commit:n}=e,{newOrder:r}=t;const l=(0,s.A)(3),c=[],o=[];for(const e in r)c.push(l((async()=>{const t=a.calendarsById[e];t.dav.order!==r[e]&&(t.dav.order=r[e],await t.dav.update(),o.push({calendar:t,newOrder:r[e]}))})));await Promise.all(c);for(const{calendar:e,newOrder:t}of o)console.debug(e,t),n("changeCalendarOrder",{calendar:e,newOrder:t})}},h={state:b,mutations:I,getters:C,actions:y}},13667:(e,t,a)=>{a.d(t,{d:()=>n});const n=e=>function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Object.assign({},{attachmentProperty:null,fileName:null,formatType:null,uri:null,value:null,xNcHasPreview:null,xNcFileId:null},e)}({attachmentProperty:e,fileName:e.getParameterFirstValue("FILENAME"),formatType:e.formatType,uri:e.uri,value:e.value,xNcHasPreview:"true"===e.getParameterFirstValue("X-NC-HAS-PREVIEW"),xNcFileId:e.getParameterFirstValue("X-NC-FILE-ID")})},19305:(e,t,a)=>{a.d(t,{o:()=>c});var n=a(74717),r=a(77555);const l=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Object.assign({},{alarmComponent:null,type:null,isRelative:!1,absoluteDate:null,absoluteTimezoneId:null,relativeIsBefore:null,relativeIsRelatedToStart:null,relativeUnitTimed:null,relativeAmountTimed:null,relativeUnitAllDay:null,relativeAmountAllDay:null,relativeHoursAllDay:null,relativeMinutesAllDay:null,relativeTrigger:null},e)},c=e=>{if(e.trigger.isRelative()){const t=e.trigger.value.isNegative,a="START"===e.trigger.related,{amount:r,unit:c}=(0,n.R2)(e.trigger.value.totalSeconds),{unit:o,amount:s,hours:d,minutes:i}=(0,n.rG)(e.trigger.value.totalSeconds),u=e.trigger.value.totalSeconds;return l({alarmComponent:e,type:e.action,isRelative:e.trigger.isRelative(),relativeIsBefore:t,relativeIsRelatedToStart:a,relativeUnitTimed:c,relativeAmountTimed:r,relativeUnitAllDay:o,relativeAmountAllDay:s,relativeHoursAllDay:d,relativeMinutesAllDay:i,relativeTrigger:u})}{const t=(0,r.z8)(e.trigger.value);return l({alarmComponent:e,type:e.action,isRelative:e.trigger.isRelative(),absoluteDate:t,absoluteTimezoneId:e.trigger.value.timezoneId})}}},23518:(e,t,a)=>{a.d(t,{vV:()=>s});var n=a(65043),r=a(63814),l=a(85168),c=a(53334),o=a(44719);const s=async function(e,t){const a=(0,r.dC)(`dav/files/${t}/${e}`);try{await(0,n.Ay)({method:"MKCOL",url:a})}catch(a){if(405!==a?.response?.status)return(0,l.Qg)((0,c.translate)("calendar","Error creating a folder {folder}",{folder:e})),e;"/"!==e&&(e=await d(e,t))}return e},d=async function(e,t){const a=await i(e,t),n=await(0,o.h4)(a),r=n?.multistatus?.response[0]?.propstat?.prop?.["mount-type"];if("shared"!==r)return e;const l=e.split("/");return l.pop(),1===l.length?"/":d(l.join("/"),t)},i=async function(e,t){const a=(0,r.dC)(`dav/files/${t}/${e}`);return(await(0,n.Ay)({method:"PROPFIND",url:a,data:'<?xml version="1.0"?>\n\t\t\t<d:propfind\n\t\t\txmlns:d="DAV:"\n\t\t\txmlns:oc="http://owncloud.org/ns"\n\t\t\txmlns:nc="http://nextcloud.org/ns">\n\t\t\t\t<d:prop>\n\t\t\t\t\t<d:getcontenttype />\n\t\t\t\t\t<oc:size />\n\t\t\t\t\t<oc:fileid />\n\t\t\t\t\t<oc:share-types />\n\t\t\t\t\t<nc:has-preview />\n\t\t\t\t\t<nc:mount-type />\n\t\t\t\t</d:prop>\n\t\t\t</d:propfind>'}).catch((()=>{(0,l.Qg)((0,c.translate)("calendar","An error occurred during getting file information"))}))).data}},23688:(e,t,a)=>{a.d(t,{B:()=>c,t:()=>l});var n=a(88484),r=a(70253);const l=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Object.assign({},{id:"",displayName:"",color:(0,n.GM)(""),enabled:!0,loading:!1,supportsEvents:!0,supportsJournals:!1,supportsTasks:!1,owner:"",timezone:null,shares:[],publishURL:null,url:"",readOnly:!1,order:0,isSharedWithMe:!1,canBeShared:!1,canBePublished:!1,dav:!1,calendarObjects:[],fetchedTimeRanges:[]},e)},c=(e,t)=>{const a=btoa(e.url),c=e.displayname||function(e){e.endsWith("/")&&(e=e.substring(0,e.length-1));return e.substring(e.lastIndexOf("/")+1)}(e.url);let o=(0,n.nJ)(e.color);o||(o=(0,n.GM)(c));const s=e.components.includes("VEVENT"),d=e.components.includes("VJOURNAL"),i=e.components.includes("VTODO"),u=e.owner,m=!e.isWriteable(),p=e.isShareable(),g=e.isPublishable(),b=e.order||0,I=e.url,C=e.publishURL||null,y=e.timezone||null;let h,O=!1;O=!t||u!==t.url,t?"boolean"==typeof e.enabled?h=e.enabled:(h=!0,e.enabled=!0):h=!0;const v=[];if(t&&Array.isArray(e.shares))for(const a of e.shares)a.href!==t.principalScheme&&v.push((0,r.T)(a));return l({id:a,displayName:c,color:o,order:b,url:I,enabled:h,supportsEvents:s,supportsJournals:d,supportsTasks:i,isSharedWithMe:O,owner:u,readOnly:m,publishURL:C,canBeShared:p,canBePublished:g,shares:v,timezone:y,dav:e})}},27270:(e,t,a)=>{a.d(t,{E:()=>c,X:()=>l});var n=a(72641),r=a(77555);const l=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Object.assign({},{recurrenceRuleValue:null,frequency:"NONE",interval:1,count:null,until:null,byDay:[],byMonth:[],byMonthDay:[],bySetPosition:null,isUnsupported:!1},e)},c=(e,t)=>{switch(e.frequency){case"DAILY":return b(e);case"WEEKLY":return I(e,t);case"MONTHLY":return C(e,t);case"YEARLY":return y(e,t);default:return f(e,{isUnsupported:!0})}},o=["BYSECOND","BYMINUTE","BYHOUR","BYDAY","BYMONTHDAY","BYYEARDAY","BYWEEKNO","BYMONTH","BYSETPOS"],s=["BYSECOND","BYMINUTE","BYHOUR","BYMONTHDAY","BYYEARDAY","BYWEEKNO","BYMONTH","BYSETPOS"],d=["BYSECOND","BYMINUTE","BYHOUR","BYYEARDAY","BYWEEKNO","BYMONTH"],i=["BYSECOND","BYMINUTE","BYHOUR","BYMONTHDAY","BYYEARDAY","BYWEEKNO"],u=["SU","MO","TU","WE","TH","FR","SA"],m=(e,t)=>Array.apply(null,Array(t-e+1)).map(((t,a)=>a+e)).map((e=>e.toString())),p=m(1,31),g=m(1,12),b=e=>{const t=v(e,o);return f(e,{isUnsupported:t})},I=(e,t)=>{const a=v(e,s),r=e.getComponent("BYDAY").some((e=>!u.includes(e))),l=a||r,c=e.getComponent("BYDAY").filter((e=>u.includes(e)));return 0===c.length&&c.push((0,n.j)(t.jsDate)),f(e,{byDay:c,isUnsupported:l})},C=(e,t)=>{let a=v(e,d),n=[],r=null,l=[];if(v(e,["BYMONTHDAY"])){v(e,["BYDAY","BYSETPOS"])&&(a=!0);const t=e.getComponent("BYMONTHDAY").some((e=>!p.includes(e.toString())));a=a||t,l=e.getComponent("BYMONTHDAY").filter((e=>p.includes(e.toString()))).map((e=>e.toString()))}else if(v(e,["BYDAY"])&&v(e,["BYSETPOS"])){h(e.getComponent("BYDAY"))?n=e.getComponent("BYDAY"):(n=["MO","TU","WE","TH","FR","SA","SU"],a=!0);const t=e.getComponent("BYSETPOS");1===t.length&&O(t[0])?r=t[0]:(r=1,a=!0)}else if(v(e,["BYDAY"])){const c=e.getComponent("BYDAY");if(c.length>1)l.push(t.day.toString()),a=!0;else{const e=c[0],o=/^(-?\d)([A-Z]{2})$/.exec(e);if(o){const e=o[1],t=o[2];O(e)?(n=[t],r=parseInt(e,10)):(n=[t],r=1,a=!0)}else l.push(t.day.toString()),a=!0}}else l.push(t.day.toString());return f(e,{byDay:n,bySetPosition:r,byMonthDay:l,isUnsupported:a})},y=(e,t)=>{let a=v(e,i),n=[],r=null,l=[];if(v(e,["BYMONTH"])){const t=e.getComponent("BYMONTH").some((e=>!g.includes(e.toString())));a=a||t,l=e.getComponent("BYMONTH").filter((e=>g.includes(e.toString()))).map((e=>e.toString()))}else l.push(t.month.toString());if(v(e,["BYDAY"])&&v(e,["BYSETPOS"])){h(e.getComponent("BYDAY"))?n=e.getComponent("BYDAY"):(n=["MO","TU","WE","TH","FR","SA","SU"],a=!0);const t=e.getComponent("BYSETPOS");1===t.length&&O(t[0])?r=t[0]:(r=1,a=!0)}else if(v(e,["BYDAY"])){const t=e.getComponent("BYDAY");if(t.length>1)a=!0;else{const e=t[0],l=/^(-?\d)([A-Z]{2})$/.exec(e);if(l){const e=l[1],t=l[2];O(e)?(n=[t],r=parseInt(e,10)):(n=[t],r=1,a=!0)}else a=!0}}return f(e,{byDay:n,bySetPosition:r,byMonth:l,isUnsupported:a})},h=e=>["MO","TU","WE","TH","FR","SA","SU","FR,MO,SA,SU,TH,TU,WE","FR,MO,TH,TU,WE","SA,SU"].includes(e.slice().sort().join(",")),O=e=>["-2","-1","1","2","3","4","5"].includes(e.toString()),v=(e,t)=>{for(const a of t){if(e.getComponent(a).length>0)return!0}return!1},f=(e,t)=>{const a=null!==e.count&&null!==e.until;let n={};return a&&(n={isUnsupported:a}),l(Object.assign({},{recurrenceRuleValue:e,frequency:e.frequency,interval:parseInt(e.interval,10)||1,count:e.count,until:e.until?(0,r.z8)(e.until):null},t,n))}},36977:(e,t,a)=>{a.d(t,{A:()=>O});var n=a(85471),r=a(62863),l=a(77555),c=a(53191),o=a(72641),s=a(49064),d=a(74717),i=a(88484),u=a(19305),m=a(67982),p=a(30835),g=a(89274),b=a(63239),I=a(63814),C=a(81895);const y={setCalendarObjectInstanceForExistingEvent(e,t){let{calendarObject:a,calendarObjectInstance:n,objectId:r,recurrenceId:l}=t;e.isNew=!1,e.calendarObject=a,e.calendarObjectInstance=n,e.existingEvent.objectId=r,e.existingEvent.recurrenceId=l},setCalendarObjectInstanceForNewEvent(e,t){let{calendarObject:a,calendarObjectInstance:n}=t;e.isNew=!0,e.calendarObject=a,e.calendarObjectInstance=n,e.existingEvent.objectId=null,e.existingEvent.recurrenceId=null},resetCalendarObjectInstanceObjectIdAndRecurrenceId(e){e.isNew=!1,e.calendarObject=null,e.calendarObjectInstance=null,e.existingEvent.objectId=null,e.existingEvent.recurrenceId=null},changeTitle(e,t){let{calendarObjectInstance:a,title:n}=t;a.eventComponent.title=n,a.title=n},changeStartDate(e,t){let{calendarObjectInstance:a,startDate:n}=t;a.eventComponent.startDate.year=n.getFullYear(),a.eventComponent.startDate.month=n.getMonth()+1,a.eventComponent.startDate.day=n.getDate(),a.eventComponent.startDate.hour=n.getHours(),a.eventComponent.startDate.minute=n.getMinutes(),a.eventComponent.startDate.second=0;const o=a.eventComponent.isAllDay(),s=a.eventComponent.endDate.clone(),d=a.eventComponent.startDate.clone();if(o){if(s.addDuration(c.wy.fromSeconds(-86400)),-1===s.compare(d)){const e=(0,r.A)().getTimezoneForId(s.timezoneId);a.eventComponent.endDate=a.eventComponent.startDate.getInTimezone(e),a.endDate=(0,l.z8)(a.eventComponent.endDate),a.eventComponent.endDate.addDuration(c.wy.fromSeconds(86400))}}else if(-1===s.compare(d)){const e=(0,r.A)().getTimezoneForId(s.timezoneId);a.eventComponent.endDate=a.eventComponent.startDate.getInTimezone(e),a.endDate=(0,l.z8)(a.eventComponent.endDate)}a.startDate=n},changeStartTimezone(e,t){let{calendarObjectInstance:a,startTimezone:n}=t;const l=(0,r.A)().getTimezoneForId(n);a.eventComponent.startDate.replaceTimezone(l),a.startTimezoneId=n,"floating"!==n&&"floating"!==a.endTimezoneId||(a.eventComponent.endDate.replaceTimezone(l),a.endTimezoneId=n)},changeEndDate(e,t){let{calendarObjectInstance:a,endDate:n}=t;const o=a.eventComponent.endDate;a.eventComponent.endDate=o,a.eventComponent.endDate.year=n.getFullYear(),a.eventComponent.endDate.month=n.getMonth()+1,a.eventComponent.endDate.day=n.getDate(),a.eventComponent.endDate.hour=n.getHours(),a.eventComponent.endDate.minute=n.getMinutes(),a.eventComponent.endDate.second=0;const s=a.eventComponent.isAllDay(),d=a.eventComponent.endDate.clone(),i=a.eventComponent.startDate.clone();if(s){if(-1===d.compare(i)){const e=(0,r.A)().getTimezoneForId(i.timezoneId);a.eventComponent.startDate=a.eventComponent.endDate.getInTimezone(e),a.startDate=(0,l.z8)(a.eventComponent.startDate)}a.eventComponent.endDate.addDuration(c.wy.fromSeconds(86400))}else if(-1===d.compare(i))if(d.addDuration(c.wy.fromSeconds(86400)),-1===d.compare(i)){const e=(0,r.A)().getTimezoneForId(i.timezoneId);a.eventComponent.startDate=a.eventComponent.endDate.getInTimezone(e),a.startDate=(0,l.z8)(a.eventComponent.startDate)}else a.eventComponent.endDate.addDuration(c.wy.fromSeconds(86400)),n=new Date(n.getTime()+864e5);a.endDate=n},changeEndTimezone(e,t){let{calendarObjectInstance:a,endTimezone:n}=t;const l=(0,r.A)().getTimezoneForId(n);a.eventComponent.endDate.replaceTimezone(l),a.endTimezoneId=n,"floating"!==n&&"floating"!==a.startTimezoneId||(a.eventComponent.startDate.replaceTimezone(l),a.startTimezoneId=n)},toggleAllDay(e,t){let{calendarObjectInstance:a}=t;if(!a.eventComponent.canModifyAllDay())return;const n=a.eventComponent.isAllDay();a.eventComponent.startDate.isDate=!n,a.eventComponent.endDate.isDate=!n,a.isAllDay=a.eventComponent.isAllDay(),n?a.eventComponent.endDate.addDuration(c.wy.fromSeconds(-86400)):a.eventComponent.endDate.addDuration(c.wy.fromSeconds(86400))},toggleIsPrivate(e,t){let{calendarObjectInstance:a,isPrivate:n}=t;a.eventComponent.isPrivate=n,a.isPrivate=n},toggleReturnToSiege(e,t){let{calendarObjectInstance:a,returnToSiege:n}=t;a.eventComponent.returnToSiege=n,a.returnToSiege=n},addEmailId(e,t){let{calendarObjectInstance:a,emailId:n}=t;a.eventComponent.emailId=n,a.emailId=n},changeTimeToDefaultForTimedEvents(e,t){let{calendarObjectInstance:a}=t;const n=a.eventComponent.startDate,r=a.eventComponent.endDate;0===n.hour&&0===n.minute&&0===r.hour&&0===r.minute&&(n.hour=10,r.hour=11,a.startDate=(0,l.z8)(n),a.endDate=(0,l.z8)(r))},changeLocation(e,t){let{calendarObjectInstance:a,location:n}=t;a.eventComponent.deleteAllProperties("X-APPLE-STRUCTURED-LOCATION"),a.eventComponent.location=n,a.location=n},changeComment(e,t){let{calendarObjectInstance:a,comment:n}=t;a.eventComponent.comment=n,a.comment=n},changeClient(e,t){let{calendarObjectInstance:a,client:n}=t;a.eventComponent.client=n,a.client=n},changeEmbalmer(e,t){let{calendarObjectInstance:a,embalmer:n}=t;a.eventComponent.embalmer=n,a.embalmer=n},changeAbsenceType(e,t){let{calendarObjectInstance:a,absenceType:n}=t;if(a.eventComponent.absenceType=n??null,a.absenceType=n??null,n){[{value:"LEAVE",label:"Congé"},{value:"REST",label:"Repos"},{value:"DISEASE",label:"Arrêt maladie"}].forEach((e=>{if(e.value==n&&(a.title=e.label,a.eventComponent.title=e.label,"LEAVE"==n)){const e=a.eventComponent.startDate,t=a.eventComponent.endDate;e.hour=8,t.hour=17,a.startDate=(0,l.z8)(e),a.endDate=(0,l.z8)(t)}}))}},changeDescription(e,t){let{calendarObjectInstance:a,description:n}=t;const r=a.eventComponent.getFirstProperty("Description");if(r)for(const e of r.getParametersIterator())r.deleteParameter(e.name);a.eventComponent.deleteAllProperties("X-ALT-DESC"),a.eventComponent.description=n,a.description=n},changeAccessClass(e,t){let{calendarObjectInstance:a,accessClass:n}=t;a.eventComponent.accessClass=n,a.accessClass=n},changeStatus(e,t){let{calendarObjectInstance:a,status:n}=t;a.eventComponent.status=n,a.status=n},changeTimeTransparency(e,t){let{calendarObjectInstance:a,timeTransparency:n}=t;a.eventComponent.timeTransparency=n,a.timeTransparency=n},changeCustomColor(e,t){let{calendarObjectInstance:a,customColor:r}=t;if(null===r)return a.eventComponent.deleteAllProperties("COLOR"),void n.default.set(a,"customColor",null);const l=(0,i.mj)(r),c=(0,i.dU)(l);if(!l||!c)return console.error("Setting custom color failed"),console.error("customColor: ",r),console.error("cssColorName: ",l),void console.error("hexColorOfCssName: ",c);a.eventComponent.color=l,n.default.set(a,"customColor",c)},addAttendee(e,t){let{calendarObjectInstance:a,commonName:n,uri:r,calendarUserType:l=null,participationStatus:o=null,role:s=null,rsvp:d=null,language:i=null,timezoneId:u=null,organizer:m=null,member:p=null}=t;const g=c.Uy.fromNameAndEMail(n,r);null!==l&&(g.userType=l),null!==o&&(g.participationStatus=o),null!==s&&(g.role=s),null!==d&&(g.rsvp=d),null!==i&&(g.language=i),null!==u&&g.updateParameterIfExist("TZID",u),null!==p&&g.updateParameterIfExist("MEMBER",p),a.eventComponent.addProperty(g),a.attendees.push({commonName:n,participationStatus:o,role:s,rsvp:d,uri:r,attendeeProperty:g}),!a.organizer&&m&&this.commit("setOrganizer",{calendarObjectInstance:a,commonName:m.displayname,email:m.emailAddress})},removeAttendee(e,t){let{calendarObjectInstance:a,attendee:n}=t;a.eventComponent.removeAttendee(n.attendeeProperty),"GROUP"===n.attendeeProperty.userType&&n.members.forEach((function(e){a.eventComponent.removeAttendee(e.attendeeProperty);const t=a.attendees.indexOf(e);-1!==t&&a.attendees.splice(t,1)}));const r=a.attendees.indexOf(n);-1!==r&&a.attendees.splice(r,1)},changeAttendeesParticipationStatus(e,t){let{attendee:a,participationStatus:n}=t;a.attendeeProperty.participationStatus=n,a.participationStatus=n},changeAttendeesRole(e,t){let{attendee:a,role:n}=t;a.attendeeProperty.role=n,a.role=n},toggleAttendeeRSVP(e,t){let{attendee:a}=t;const n=a.attendeeProperty.rsvp;a.attendeeProperty.rsvp=!n,a.rsvp=!n},setOrganizer(e,t){let{calendarObjectInstance:a,commonName:r=null,email:l}=t;a.eventComponent.setOrganizerFromNameAndEMail(r,l),n.default.set(a,"organizer",{}),n.default.set(a.organizer,"commonName",r),n.default.set(a.organizer,"uri",l),n.default.set(a.organizer,"attendeeProperty",a.eventComponent.getFirstProperty("ORGANIZER"))},addCategory(e,t){let{calendarObjectInstance:a,category:n}=t;a.eventComponent.addCategory(n),a.categories.push(n)},removeCategory(e,t){let{calendarObjectInstance:a,category:n}=t;a.eventComponent.removeCategory(n);const r=a.categories.indexOf(n);-1!==r&&a.categories.splice(r,1)},changeRecurrenceInterval(e,t){let{calendarObjectInstance:a,recurrenceRule:n,interval:r}=t;n.recurrenceRuleValue&&(n.recurrenceRuleValue.interval=r,n.interval=r,console.debug(n.recurrenceRuleValue._innerValue.toString()))},changeRecurrenceFrequency(e,t){let{calendarObjectInstance:a,recurrenceRule:n,frequency:r}=t;n.recurrenceRuleValue&&(n.recurrenceRuleValue.frequency=r,n.frequency=r,console.debug(n.recurrenceRuleValue._innerValue.toString()))},changeRecurrenceCount(e,t){let{calendarObjectInstance:a,recurrenceRule:n,count:r}=t;n.recurrenceRuleValue&&(n.recurrenceRuleValue.count=r,n.count=r,n.until=null,console.debug(n.recurrenceRuleValue._innerValue.toString()))},changeRecurrenceUntil(e,t){let{calendarObjectInstance:a,recurrenceRule:n,until:r}=t;n.recurrenceRuleValue&&("floating"!==a.startTimezoneId?n.recurrenceRuleValue.until=c.Z4.fromJSDate(r,{zone:"utc"}):n.recurrenceRuleValue.until=c.Z4.fromJSDate(r),n.until=r,n.count=null,console.debug(n.recurrenceRuleValue._innerValue.toString()))},changeRecurrenceToInfinite(e,t){let{calendarObjectInstance:a,recurrenceRule:n}=t;n.recurrenceRuleValue&&(n.recurrenceRuleValue.setToInfinite(),n.until=null,n.count=null,console.debug(n.recurrenceRuleValue._innerValue.toString()))},resetRecurrenceByParts(e,t){let{calendarObjectInstance:a,recurrenceRule:r}=t;if(r.recurrenceRuleValue){const e=["BYSECOND","BYMINUTE","BYHOUR","BYDAY","BYMONTHDAY","BYYEARDAY","BYWEEKNO","BYMONTH","BYSETPOS"];for(const t of e)r.recurrenceRuleValue.setComponent(t,[]);n.default.set(r,"byDay",[]),n.default.set(r,"byMonth",[]),n.default.set(r,"byMonthDay",[]),n.default.set(r,"bySetPosition",null),console.debug(r.recurrenceRuleValue._innerValue.toString())}},setDefaultRecurrenceByPartsForWeekly(e,t){let{calendarObjectInstance:a,recurrenceRule:n}=t;if(n.recurrenceRuleValue){const e=(0,o.j)(a.startDate);n.recurrenceRuleValue.setComponent("BYDAY",[e]),n.byDay.push(e),console.debug(n.recurrenceRuleValue._innerValue.toString())}},setDefaultRecurrenceByPartsForMonthly(e,t){let{calendarObjectInstance:a,recurrenceRule:n}=t;if(n.recurrenceRuleValue){const e=a.startDate.getDate().toString();n.recurrenceRuleValue.setComponent("BYMONTHDAY",[e]),n.byMonthDay.push(e),console.debug(n.recurrenceRuleValue._innerValue.toString())}},setDefaultRecurrenceByPartsForMonthlyBySetPosition(e,t){let{calendarObjectInstance:a,recurrenceRule:n}=t;if(n.recurrenceRuleValue){const{byDay:e,bySetPosition:t}=(0,o.h)(a.startDate);n.recurrenceRuleValue.setComponent("BYDAY",[e]),n.recurrenceRuleValue.setComponent("BYSETPOS",[t]),n.byDay.push(e),n.bySetPosition=t,console.debug(n.recurrenceRuleValue._innerValue.toString())}},setDefaultRecurrenceByPartsForYearly(e,t){let{calendarObjectInstance:a,recurrenceRule:n}=t;if(n.recurrenceRuleValue){const e=a.startDate.getMonth()+1;n.recurrenceRuleValue.setComponent("BYMONTH",[e]),n.byMonth.push(e),console.debug(n.recurrenceRuleValue._innerValue.toString())}},addByDayToRecurrenceRule(e,t){let{calendarObjectInstance:a,recurrenceRule:n,byDay:r}=t;if(n.recurrenceRuleValue){const e=n.recurrenceRuleValue.getComponent("BYDAY");-1===e.indexOf(r)&&(e.push(r),n.recurrenceRuleValue.setComponent("BYDAY",e));-1===n.byDay.indexOf(r)&&n.byDay.push(r),console.debug(n.recurrenceRuleValue._innerValue.toString())}},removeByDayFromRecurrenceRule(e,t){let{calendarObjectInstance:a,recurrenceRule:n,byDay:r}=t;if(n.recurrenceRuleValue){const e=n.recurrenceRuleValue.getComponent("BYDAY"),t=e.indexOf(r);-1!==t&&(e.splice(t,1),n.recurrenceRuleValue.setComponent("BYDAY",e));const a=n.byDay.indexOf(r);-1!==a&&n.byDay.splice(a,1),console.debug(n.recurrenceRuleValue._innerValue.toString())}},addByMonthDayToRecurrenceRule(e,t){let{calendarObjectInstance:a,recurrenceRule:n,byMonthDay:r}=t;if(n.recurrenceRuleValue){const e=n.recurrenceRuleValue.getComponent("BYMONTHDAY");-1===e.indexOf(r)&&(e.push(r),n.recurrenceRuleValue.setComponent("BYMONTHDAY",e));-1===n.byMonthDay.indexOf(r)&&n.byMonthDay.push(r),console.debug(n.recurrenceRuleValue._innerValue.toString())}},removeByMonthDayFromRecurrenceRule(e,t){let{calendarObjectInstance:a,recurrenceRule:n,byMonthDay:r}=t;if(n.recurrenceRuleValue){const e=n.recurrenceRuleValue.getComponent("BYMONTHDAY"),t=e.indexOf(r);-1!==t&&(e.splice(t,1),n.recurrenceRuleValue.setComponent("BYMONTHDAY",e));const a=n.byMonthDay.indexOf(r);-1!==a&&n.byMonthDay.splice(a,1),console.debug(n.recurrenceRuleValue._innerValue.toString())}},addByMonthToRecurrenceRule(e,t){let{calendarObjectInstance:a,recurrenceRule:n,byMonth:r}=t;if(n.recurrenceRuleValue){console.debug("addByMonthToRecurrenceRule",r);const e=n.recurrenceRuleValue.getComponent("BYMONTH");-1===e.indexOf(r)&&(e.push(r),n.recurrenceRuleValue.setComponent("BYMONTH",e));-1===n.byMonth.indexOf(r)&&n.byMonth.push(r),console.debug(n.recurrenceRuleValue._innerValue.toString())}},removeByMonthFromRecurrenceRule(e,t){let{calendarObjectInstance:a,recurrenceRule:n,byMonth:r}=t;if(n.recurrenceRuleValue){console.debug("removeByMonthFromRecurrenceRule",r);const e=n.recurrenceRuleValue.getComponent("BYMONTH"),t=e.indexOf(r);-1!==t&&(e.splice(t,1),n.recurrenceRuleValue.setComponent("BYMONTH",e));const a=n.byMonth.indexOf(r);-1!==a&&n.byMonth.splice(a,1),console.debug(n.recurrenceRuleValue._innerValue.toString())}},changeRecurrenceByDay(e,t){let{calendarObjectInstance:a,recurrenceRule:r,byDay:l}=t;r.recurrenceRuleValue&&(r.recurrenceRuleValue.setComponent("BYDAY",l),n.default.set(r,"byDay",l),console.debug(r.recurrenceRuleValue._innerValue.toString()))},changeRecurrenceBySetPosition(e,t){let{calendarObjectInstance:a,recurrenceRule:r,bySetPosition:l}=t;r.recurrenceRuleValue&&(r.recurrenceRuleValue.setComponent("BYSETPOS",[l]),n.default.set(r,"bySetPosition",l),console.debug(r.recurrenceRuleValue._innerValue.toString()))},unsetRecurrenceBySetPosition(e,t){let{calendarObjectInstance:a,recurrenceRule:r}=t;r.recurrenceRuleValue&&(r.recurrenceRuleValue.setComponent("BYSETPOS",[]),n.default.set(r,"bySetPosition",null),console.debug(r.recurrenceRuleValue._innerValue.toString()))},removeRecurrenceRuleFromCalendarObjectInstance(e,t){let{calendarObjectInstance:a,recurrenceRule:r}=t;r.recurrenceRuleValue&&(a.eventComponent.deleteAllProperties("RRULE"),n.default.set(a,"recurrenceRule",(0,s.v8)().recurrenceRule),console.debug(a),console.debug(r))},addRecurrenceRuleFromCalendarObjectInstance(e,t){let{calendarObjectInstance:a}=t;const n=c.TM.fromData({}),r=new c.mA("RRULE",n);a.eventComponent.addProperty(r),a.recurrenceRule.recurrenceRuleValue=n},markRecurrenceRuleAsSupported(e,t){let{calendarObjectInstance:a,recurrenceRule:n}=t;n.isUnsupported=!1},changeAlarmType(e,t){let{calendarObjectInstance:a,alarm:n,type:r}=t;n.alarmComponent&&(n.alarmComponent.action=r,n.type=r,console.debug(n.alarmComponent.toICALJs().toString()))},changeAlarmAmountTimed(e,t){let{calendarObjectInstance:a,alarm:n,amount:r}=t;n.alarmComponent&&(n.alarmComponent.trigger.value.totalSeconds=(0,d.yu)(r,n.relativeUnitTimed,n.relativeIsBefore),n.relativeAmountTimed=r,n.relativeTrigger=n.alarmComponent.trigger.value.totalSeconds,console.debug(n.alarmComponent.toICALJs().toString()))},changeAlarmUnitTimed(e,t){let{calendarObjectInstance:a,alarm:n,unit:r}=t;n.alarmComponent&&(n.alarmComponent.trigger.value.totalSeconds=(0,d.yu)(n.relativeAmountTimed,r,n.relativeIsBefore),n.relativeUnitTimed=r,n.relativeTrigger=n.alarmComponent.trigger.value.totalSeconds,console.debug(n.alarmComponent.toICALJs().toString()))},changeAlarmAmountAllDay(e,t){let{calendarObjectInstance:a,alarm:n,amount:r}=t;n.alarmComponent&&(n.alarmComponent.trigger.value.totalSeconds=(0,d.LW)(r,n.relativeHoursAllDay,n.relativeMinutesAllDay,n.relativeUnitAllDay),n.relativeAmountAllDay=r,n.relativeTrigger=n.alarmComponent.trigger.value.totalSeconds,console.debug(n.alarmComponent.toICALJs().toString()))},changeAlarmUnitAllDay(e,t){let{calendarObjectInstance:a,alarm:n,unit:r}=t;n.alarmComponent&&(n.alarmComponent.trigger.value.totalSeconds=(0,d.LW)(n.relativeAmountAllDay,n.relativeHoursAllDay,n.relativeMinutesAllDay,r),n.relativeUnitAllDay=r,n.relativeTrigger=n.alarmComponent.trigger.value.totalSeconds,console.debug(n.alarmComponent.toICALJs().toString()))},changeAlarmHoursMinutesAllDay(e,t){let{calendarObjectInstance:a,alarm:n,hours:r,minutes:l}=t;n.alarmComponent&&(n.alarmComponent.trigger.value.totalSeconds=(0,d.LW)(n.relativeAmountAllDay,r,l,n.relativeUnitAllDay),n.relativeHoursAllDay=r,n.relativeMinutesAllDay=l,n.relativeTrigger=n.alarmComponent.trigger.value.totalSeconds,console.debug(n.alarmComponent.toICALJs().toString()))},changeAlarmAbsoluteDate(e,t){let{calendarObjectInstance:a,alarm:n,date:r}=t;n.alarmComponent&&(n.alarmComponent.trigger.value.year=r.getFullYear(),n.alarmComponent.trigger.value.month=r.getMonth()+1,n.alarmComponent.trigger.value.day=r.getDate(),n.alarmComponent.trigger.value.hour=r.getHours(),n.alarmComponent.trigger.value.minute=r.getMinutes(),n.alarmComponent.trigger.value.second=0,n.absoluteDate=r,console.debug(n.alarmComponent.toICALJs().toString()))},changeAlarmAbsoluteTimezoneId(e,t){let{calendarObjectInstance:a,alarm:n,timezoneId:l}=t;if(n.alarmComponent){const e=(0,r.A)().getTimezoneForId(l);n.alarmComponent.trigger.value.replaceTimezone(e),n.absoluteTimezoneId=l,console.debug(n.alarmComponent.toICALJs().toString())}},changeAlarmFromRelativeToAbsolute(e,t){let{calendarObjectInstance:a,alarm:n}=t;if(n.alarmComponent){const e=a.eventComponent.startDate.clone();e.isDate=!1,e.addDuration(n.alarmComponent.trigger.value),n.alarmComponent.setTriggerFromAbsolute(e),n.absoluteDate=(0,l.z8)(n.alarmComponent.trigger.value),n.absoluteTimezoneId=n.alarmComponent.trigger.value.timezoneId,console.debug(n.alarmComponent.toICALJs().toString())}},changeAlarmFromAbsoluteToRelative(e,t){let{calendarObjectInstance:a,alarm:n}=t;if(n.alarmComponent){const e=n.alarmComponent.trigger.value.subtractDateWithTimezone(a.eventComponent.startDate);n.alarmComponent.setTriggerFromRelative(e),n.relativeIsBefore=n.alarmComponent.trigger.value.isNegative,n.relativeIsRelatedToStart=!0,n.relativeTrigger=e.totalSeconds}},resetAlarmRelativeParts(e,t){let{alarm:a}=t;a.relativeIsBefore=null,a.relativeIsRelatedToStart=null,a.relativeUnitTimed=null,a.relativeAmountTimed=null,a.relativeUnitAllDay=null,a.relativeAmountAllDay=null,a.relativeHoursAllDay=null,a.relativeMinutesAllDay=null,a.relativeTrigger=null},resetAlarmAbsoluteParts(e,t){let{alarm:a}=t;a.absoluteDate=null,a.absoluteTimezoneId=null},updateAlarmAllDayParts(e,t){let{calendarObjectInstance:a,alarm:n}=t;if(n.alarmComponent){const e=n.alarmComponent.trigger.value.totalSeconds,t=(0,d.rG)(e);n.relativeUnitAllDay=t.unit,n.relativeAmountAllDay=t.amount,n.relativeHoursAllDay=t.hours,n.relativeMinutesAllDay=t.minutes}},updateAlarmTimedParts(e,t){let{calendarObjectInstance:a,alarm:n}=t;if(n.alarmComponent){const e=n.alarmComponent.trigger.value.totalSeconds,t=(0,d.R2)(e);n.relativeUnitTimed=t.unit,n.relativeAmountTimed=t.amount,console.debug(n.alarmComponent.toICALJs().toString())}},addAlarmToCalendarObjectInstance(e,t){let{calendarObjectInstance:a,type:n,totalSeconds:r}=t;if(a.eventComponent){const e=a.eventComponent,t=c.wy.fromSeconds(r),l=e.addRelativeAlarm(n,t),o=(0,u.o)(l);a.alarms.push(o),console.debug(o.alarmComponent.toICALJs().toString())}},removeAlarmFromCalendarObjectInstance(e,t){let{calendarObjectInstance:a,alarm:n}=t;if(n.alarmComponent){a.eventComponent.removeAlarm(n.alarmComponent);const e=a.alarms.indexOf(n);-1!==e&&a.alarms.splice(e,1)}},addAttachmentBySharedData(e,t){let{calendarObjectInstance:a,sharedData:n}=t;const r=c.zN.fromLink(n.url),l=n.fileName,o=new c.kH("FILENAME",l),s=new c.kH("X-NC-HAS-PREVIEW",n["has-preview"].toString()),d=new c.kH("X-NC-FILE-ID",n.fileid.toString()),i=new c.kH("X-NC-SHARED-TYPES",n["share-types"]["share-type"]?n["share-types"]["share-type"].join(","):"");r.setParameter(o),r.setParameter(d),r.setParameter(s),r.setParameter(i),r.isNew=!0,r.shareTypes=n["share-types"]["share-type"]?n["share-types"]["share-type"].join(","):"",r.fileName=l,r.xNcFileId=n.fileid,r.xNcHasPreview=n["has-preview"],r.formatType=n.getcontenttype,r.uri=n.url?n.url:(0,I.Jv)(`/f/${n.fileid}`),a.eventComponent.addProperty(r),a.attachments.push(r)},addAttachmentWithProperty(e,t){let{calendarObjectInstance:a,sharedData:n}=t;const r={},l=n.fileName;r.isNew=!0,r.shareTypes=("number"==typeof n?.["share-types"]?.["share-type"]?n?.["share-types"]?.["share-type"]?.toString():n?.["share-types"]?.["share-type"]?.join(","))??null,r.fileName=l,r.xNcFileId=n.fileid,r.xNcHasPreview=n["has-preview"],r.formatType=n.getcontenttype,r.uri=n.url?n.url:(0,I.Jv)(`/f/${n.fileid}`);const o=c.zN.fromLink(r.uri,r.formatType),s=new c.kH("FILENAME",l),d=new c.kH("X-NC-HAS-PREVIEW",r.xNcHasPreview.toString()),i=new c.kH("X-NC-FILE-ID",r.xNcFileId.toString());if(null!==r.shareTypes){const e=new c.kH("X-NC-SHARED-TYPES",r.shareTypes);o.setParameter(e)}o.setParameter(s),o.setParameter(i),o.setParameter(d),o.uri=r.uri,r.attachmentProperty=o,a.eventComponent.addProperty(o),a.attachments.push(r)},deleteAttachment(e,t){let{calendarObjectInstance:a,attachment:n}=t;try{const e=a.attachments.indexOf(n);-1!==e&&a.attachments.splice(e,1),a.eventComponent.removeAttachment(n.attachmentProperty)}catch{}},setAbsenceType(e,t){let{calendarObjectInstance:a,absenceType:n}=t;a&&(a.absenceType=n)}},h={async resolveClosestRecurrenceIdForCalendarObject(e,t){let{state:a,dispatch:n,commit:r}=e,{objectId:l,closeToDate:o}=t;const s=(await n("getEventByObjectId",{objectId:l})).calendarComponent.getVObjectIterator().next().value,d=c.Z4.fromJSDate(o,!0);return s.recurrenceManager.getClosestOccurrence(d).getReferenceRecurrenceId().unixTime},async getCalendarObjectInstanceByObjectIdAndRecurrenceId(e,t){let{state:a,dispatch:n,commit:r}=e,{objectId:l,recurrenceId:c}=t;if(a.existingEvent.objectId===l&&a.existingEvent.recurrenceId===c)return Promise.resolve({calendarObject:a.calendarObject,calendarObjectInstance:a.calendarObjectInstance});const o=new Date(1e3*c),d=await n("getEventByObjectId",{objectId:l}),i=(0,m.s)(d,o);if(null===i)throw new Error("Not a valid recurrence-id");const u=(0,s.Qu)(i);return r("setCalendarObjectInstanceForExistingEvent",{calendarObject:d,calendarObjectInstance:u,objectId:l,recurrenceId:c}),{calendarObject:d,calendarObjectInstance:u}},async getCalendarObjectInstanceForNewEvent(e,t){let{state:a,dispatch:n,commit:r}=e,{isAllDay:l,start:c,end:o,timezoneId:d}=t;if(!0===a.isNew)return Promise.resolve({calendarObject:a.calendarObject,calendarObjectInstance:a.calendarObjectInstance});const i=await n("createNewEvent",{start:c,end:o,isAllDay:l,timezoneId:d}),u=new Date(1e3*c),I=(0,m.s)(i,u),C=(0,s.Qu)(I),y=parseInt(g.A.state.defaultReminder);isNaN(y)||(r("addAlarmToCalendarObjectInstance",{calendarObjectInstance:C,type:"DISPLAY",totalSeconds:y}),p.Ay.debug(`Added defaultReminder (${y}s) to newly created event`));return r("changeStatus",{calendarObjectInstance:C,status:(0,b.B)().status.defaultValue}),r("setCalendarObjectInstanceForNewEvent",{calendarObject:i,calendarObjectInstance:C}),{calendarObject:i,calendarObjectInstance:C}},async updateCalendarObjectInstanceForNewEvent(e,t){let{state:a,dispatch:n,commit:r}=e,{isAllDay:l,start:c,end:o,timezoneId:s}=t;return await n("updateTimeOfNewEvent",{calendarObjectInstance:a.calendarObjectInstance,start:c,end:o,isAllDay:l,timezoneId:s}),r("setCalendarObjectInstanceForNewEvent",{calendarObject:a.calendarObject,calendarObjectInstance:a.calendarObjectInstance}),{calendarObject:a.calendarObject,calendarObjectInstance:a.calendarObjectInstance}},async saveCalendarObjectInstance(e,t){let{state:a,dispatch:n,commit:r}=e,{thisAndAllFuture:l,calendarId:c}=t;const o=a.calendarObjectInstance.eventComponent,s=a.calendarObject;(0,d.IS)(o),(0,C.EX)(o);let i=null!=o.client||null!=o.isPrivate||null!=o.returnToSiege||o.absenceType||o.emailId||null!=o.comment;if(o.isDirty()||i){let e=null,t=null;null!==o.primaryItem&&o.canCreateRecurrenceExceptions()&&([e,t]=o.createRecurrenceException(l)),await n("updateCalendarObject",{calendarObject:s,eventComponent:o}),null!==e&&null!==t&&e.root!==t.root&&await n("createCalendarObjectFromFork",{eventComponent:t,calendarId:c})}c!==a.calendarObject.calendarId&&await n("moveCalendarObject",{calendarObject:s,newCalendarId:c})},async duplicateCalendarObjectInstance(e){let{state:t,dispatch:a,commit:n}=e;const r=t.calendarObjectInstance,l=r.eventComponent,c=l.startDate.getInUTC(),o=l.endDate.getInUTC(),d=await a("createNewEvent",{start:c.unixTime,end:o.unixTime,timezoneId:l.startDate.timezoneId,isAllDay:l.isAllDay()}),i=(0,m.s)(d,c.jsDate);(0,s.pz)(r,i);const u=(0,s.Qu)(i);await n("setCalendarObjectInstanceForNewEvent",{calendarObject:d,calendarObjectInstance:u})},async deleteCalendarObjectInstance(e,t){let{state:a,dispatch:n,commit:r}=e,{thisAndAllFuture:l}=t;const c=a.calendarObjectInstance.eventComponent.removeThisOccurrence(l),o=a.calendarObject;c?await n("deleteCalendarObject",{calendarObject:o}):await n("updateCalendarObject",{calendarObject:o})},changeStartDate(e,t){let{commit:a}=e,{calendarObjectInstance:n,startDate:r}=t;const l=r.getTime()-n.startDate.getTime(),c=new Date(n.endDate.getTime()+l);a("changeStartDate",{calendarObjectInstance:n,startDate:r}),a("changeEndDate",{calendarObjectInstance:n,endDate:c})},changeStartTimezone(e,t){let{commit:a}=e,{calendarObjectInstance:n,startTimezone:r}=t;a("changeStartTimezone",{calendarObjectInstance:n,startTimezone:r}),a("changeStartDate",{calendarObjectInstance:n,startDate:n.startDate})},changeEndTimezone(e,t){let{commit:a}=e,{calendarObjectInstance:n,endTimezone:r}=t;a("changeEndTimezone",{calendarObjectInstance:n,endTimezone:r}),a("changeEndDate",{calendarObjectInstance:n,endDate:n.endDate})},changeRecurrenceFrequency(e,t){let{commit:a,dispatch:n}=e,{calendarObjectInstance:r,recurrenceRule:l,frequency:c}=t;console.debug(r),console.debug(l),console.debug(c),"NONE"===l.frequency&&"NONE"!==c?(a("addRecurrenceRuleFromCalendarObjectInstance",{calendarObjectInstance:r}),a("resetRecurrenceByParts",{calendarObjectInstance:r,recurrenceRule:l}),a("changeRecurrenceFrequency",{calendarObjectInstance:r,recurrenceRule:r.recurrenceRule,frequency:c}),a("changeRecurrenceInterval",{calendarObjectInstance:r,recurrenceRule:r.recurrenceRule,interval:1}),a("changeRecurrenceToInfinite",{calendarObjectInstance:r,recurrenceRule:r.recurrenceRule}),n("setDefaultRecurrenceByParts",{calendarObjectInstance:r,recurrenceRule:l,frequency:c}),console.debug(`changed from none to ${c}`)):"NONE"!==l.frequency&&"NONE"===c?(console.debug("calling removeRecurrenceRuleFromCalendarObjectInstance"),a("removeRecurrenceRuleFromCalendarObjectInstance",{calendarObjectInstance:r,recurrenceRule:l})):(a("resetRecurrenceByParts",{calendarObjectInstance:r,recurrenceRule:l}),a("changeRecurrenceFrequency",{calendarObjectInstance:r,recurrenceRule:r.recurrenceRule,frequency:c}),n("setDefaultRecurrenceByParts",{calendarObjectInstance:r,recurrenceRule:l,frequency:c}))},setDefaultRecurrenceByParts(e,t){let{commit:a}=e,{calendarObjectInstance:n,recurrenceRule:r,frequency:l}=t;switch(l){case"WEEKLY":a("setDefaultRecurrenceByPartsForWeekly",{calendarObjectInstance:n,recurrenceRule:r});break;case"MONTHLY":a("setDefaultRecurrenceByPartsForMonthly",{calendarObjectInstance:n,recurrenceRule:r});break;case"YEARLY":a("setDefaultRecurrenceByPartsForYearly",{calendarObjectInstance:n,recurrenceRule:r})}},setRecurrenceToInfinite(e,t){let{commit:a}=e,{calendarObjectInstance:n,recurrenceRule:r}=t;a("changeRecurrenceToInfinite",{calendarObjectInstance:n,recurrenceRule:r})},changeMonthlyRecurrenceFromByDayToBySetPosition(e,t){let{commit:a}=e,{calendarObjectInstance:n,recurrenceRule:r}=t;console.debug("changeMonthlyRecurrenceFromByDayToBySetPosition"),a("resetRecurrenceByParts",{calendarObjectInstance:n,recurrenceRule:r}),a("setDefaultRecurrenceByPartsForMonthlyBySetPosition",{calendarObjectInstance:n,recurrenceRule:r})},changeMonthlyRecurrenceFromBySetPositionToByDay(e,t){let{commit:a}=e,{calendarObjectInstance:n,recurrenceRule:r}=t;console.debug("changeMonthlyRecurrenceFromBySetPositionToByDay"),a("resetRecurrenceByParts",{calendarObjectInstance:n,recurrenceRule:r}),a("setDefaultRecurrenceByPartsForMonthly",{calendarObjectInstance:n,recurrenceRule:r})},enableYearlyRecurrenceBySetPosition(e,t){let{commit:a}=e,{calendarObjectInstance:n,recurrenceRule:r}=t;a("setDefaultRecurrenceByPartsForMonthlyBySetPosition",{calendarObjectInstance:n,recurrenceRule:r})},disableYearlyRecurrenceBySetPosition(e,t){let{commit:a}=e,{calendarObjectInstance:n,recurrenceRule:r}=t;a("changeRecurrenceByDay",{calendarObjectInstance:n,recurrenceRule:r,byDay:[]}),a("unsetRecurrenceBySetPosition",{calendarObjectInstance:n,recurrenceRule:r})},enableRecurrenceLimitByUntil(e,t){let a,{commit:n}=e,{calendarObjectInstance:r,recurrenceRule:l}=t;switch(l.frequency){case"DAILY":a=new Date(r.startDate.getTime()+6048e5);break;case"WEEKLY":a=new Date(r.startDate.getTime()+24192e5);break;case"YEARLY":a=new Date(r.startDate.getFullYear()+10,r.startDate.getMonth(),r.startDate.getDate(),23,59,59);break;default:a=new Date(r.startDate.getFullYear()+1,r.startDate.getMonth(),r.startDate.getDate(),23,59,59)}n("changeRecurrenceToInfinite",{calendarObjectInstance:r,recurrenceRule:l}),n("changeRecurrenceUntil",{calendarObjectInstance:r,recurrenceRule:l,until:a})},enableRecurrenceLimitByCount(e,t){let{commit:a}=e,{calendarObjectInstance:n,recurrenceRule:r}=t;a("changeRecurrenceToInfinite",{calendarObjectInstance:n,recurrenceRule:r}),a("changeRecurrenceCount",{calendarObjectInstance:n,recurrenceRule:r,count:2})},changeAlarmAmountTimed(e,t){let{commit:a}=e,{calendarObjectInstance:n,alarm:r,amount:l}=t;a("changeAlarmAmountTimed",{calendarObjectInstance:n,alarm:r,amount:l}),a("updateAlarmAllDayParts",{calendarObjectInstance:n,alarm:r})},changeAlarmUnitTimed(e,t){let{commit:a}=e,{calendarObjectInstance:n,alarm:r,unit:l}=t;a("changeAlarmUnitTimed",{calendarObjectInstance:n,alarm:r,unit:l}),a("updateAlarmAllDayParts",{calendarObjectInstance:n,alarm:r})},changeAlarmAmountAllDay(e,t){let{commit:a}=e,{calendarObjectInstance:n,alarm:r,amount:l}=t;a("changeAlarmAmountAllDay",{calendarObjectInstance:n,alarm:r,amount:l}),a("updateAlarmTimedParts",{calendarObjectInstance:n,alarm:r})},changeAlarmUnitAllDay(e,t){let{commit:a}=e,{calendarObjectInstance:n,alarm:r,unit:l}=t;a("changeAlarmUnitAllDay",{calendarObjectInstance:n,alarm:r,unit:l}),a("updateAlarmTimedParts",{calendarObjectInstance:n,alarm:r})},changeAlarmHoursMinutesAllDay(e,t){let{commit:a}=e,{calendarObjectInstance:n,alarm:r,hours:l,minutes:c}=t;a("changeAlarmHoursMinutesAllDay",{calendarObjectInstance:n,alarm:r,hours:l,minutes:c}),a("updateAlarmTimedParts",{calendarObjectInstance:n,alarm:r})},changeAlarmFromRelativeToAbsolute(e,t){let{commit:a}=e,{calendarObjectInstance:n,alarm:r}=t;a("changeAlarmFromRelativeToAbsolute",{calendarObjectInstance:n,alarm:r}),a("resetAlarmRelativeParts",{alarm:r})},changeAlarmFromAbsoluteToRelative(e,t){let{commit:a}=e,{calendarObjectInstance:n,alarm:r}=t;a("changeAlarmFromAbsoluteToRelative",{calendarObjectInstance:n,alarm:r}),a("updateAlarmAllDayParts",{calendarObjectInstance:n,alarm:r}),a("updateAlarmTimedParts",{calendarObjectInstance:n,alarm:r}),a("resetAlarmAbsoluteParts",{alarm:r})},toggleAllDay(e,t){let{commit:a,getters:n}=e,{calendarObjectInstance:r}=t;if(a("toggleAllDay",{calendarObjectInstance:r}),!r.isAllDay){if("floating"===r.startTimezoneId){a("changeStartTimezone",{calendarObjectInstance:r,startTimezone:n.getResolvedTimezone})}a("changeTimeToDefaultForTimedEvents",{calendarObjectInstance:r})}}},O={state:{isNew:null,calendarObject:null,calendarObjectInstance:null,existingEvent:{objectId:null,recurrenceId:null}},mutations:y,getters:{},actions:h}},45774:(e,t,a)=>{a.d(t,{t:()=>r,v:()=>l});var n=a(13061);const r=e=>Object.assign({},{id:null,calendarUserType:"INDIVIDUAL",emailAddress:null,displayname:null,principalScheme:null,userId:null,url:null,dav:null,isCircle:!1,isUser:!1,isGroup:!1,isCalendarResource:!1,isCalendarRoom:!1,principalId:null,scheduleDefaultCalendarUrl:null},e),l=e=>{const t=btoa(encodeURI(e.url)),a=e.calendarUserType,l=e.principalScheme,c=e.email,o=e.displayname,s=e.scheduleDefaultCalendarUrl,d=e.principalScheme.startsWith(n.mI),i=e.principalScheme.startsWith(n._l),u=e.principalScheme.startsWith(n.fM),m=e.principalScheme.startsWith(n.an),p=e.principalScheme.startsWith(n.bd);let g=null;d?g=e.principalScheme.substring(n.mI.length):i?g=e.principalScheme.substring(n._l.length):u?g=e.principalScheme.substring(n.fM.length):m?g=e.principalScheme.substring(n.an.length):p&&(g=e.principalScheme.substring(n.bd.length));const b=e.principalUrl,I=e.userId;return r({id:t,calendarUserType:a,principalScheme:l,emailAddress:c,displayname:o,url:b,dav:e,isUser:d,isGroup:i,isCircle:u,isCalendarResource:m,isCalendarRoom:p,principalId:g,userId:I,scheduleDefaultCalendarUrl:s})}},48565:(e,t,a)=>{a.d(t,{A:()=>c});var n=a(13061);const r={total:0,accepted:0,denied:0,stage:n.rk},l={incrementAccepted(e){e.accepted++},incrementDenied(e){e.denied++},setTotal(e,t){e.total=t},changeStage(e,t){e.stage=t},resetState(e){e.total=0,e.accepted=0,e.denied=0,e.stage=n.rk}},c={state:r,mutations:l,getters:{},actions:{}}},49064:(e,t,a)=>{a.d(t,{Qu:()=>u,pz:()=>m,v8:()=>i});var n=a(77555),r=a(53191),l=a(88484),c=a(19305),o=a(58196),s=a(13667),d=a(27270);const i=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Object.assign({},{eventComponent:null,title:null,startDate:null,startTimezoneId:null,endDate:null,endTimezoneId:null,isAllDay:!1,canModifyAllDay:!0,location:null,client:null,embalmer:null,absenceType:null,isPrivate:!1,returnToSiege:!1,comment:null,description:null,accessClass:null,status:null,timeTransparency:null,recurrenceRule:(0,d.X)(),hasMultipleRRules:!1,isMasterItem:!1,isRecurrenceException:!1,forceThisAndAllFuture:!1,canCreateRecurrenceException:!1,attendees:[],organizer:null,alarms:[],customColor:null,categories:[],emailId:null,attachments:[]},e)},u=e=>{const t=i({eventComponent:e,title:e.title,isAllDay:e.isAllDay(),isPrivate:!1,returnToSiege:!1,canModifyAllDay:e.canModifyAllDay(),location:e.location,client:"CLIENT",embalmer:"TEST",comment:"",absenceType:"",emailId:null,description:e.description,accessClass:e.accessClass,status:e.status,timeTransparency:e.timeTransparency,categories:Array.from(e.getCategoryIterator()),isMasterItem:e.isMasterItem(),isRecurrenceException:e.isRecurrenceException(),canCreateRecurrenceException:e.canCreateRecurrenceExceptions()});if(t.startDate=(0,n.z8)(e.startDate),t.startTimezoneId=e.startDate.timezoneId,e.isAllDay()){const a=e.endDate.clone();a.addDuration(r.wy.fromSeconds(-86400)),t.endDate=(0,n.z8)(a)}else t.endDate=(0,n.z8)(e.endDate);if(t.endTimezoneId=e.endDate.timezoneId,e.organizer){const a=e.getFirstProperty("ORGANIZER");t.organizer={commonName:a.commonName,uri:a.email,attendeeProperty:a}}for(const a of e.getAlarmIterator())t.alarms.push((0,c.o)(a));for(const a of e.getAttendeeIterator())t.attendees.push((0,o.W)(a));for(const a of e.getPropertyIterator("ATTACH"))t.attachments.push((0,s.d)(a));const a=e.getPropertyIterator("RRULE"),u=a.next().value;if(u&&(t.recurrenceRule=(0,d.E)(u.getFirstValue(),e.startDate),t.hasMultipleRRules=!a.next().done),e.hasProperty("COLOR")){const a=(0,l.dU)(e.getFirstPropertyFirstValue("COLOR"));null!==a&&(t.customColor=a)}return e.hasProperty("CLIENT")&&(t.client=e.getFirstPropertyFirstValue("CLIENT")),e.hasProperty("ISPRIVATE")&&(t.isPrivate="1"===e.getFirstPropertyFirstValue("ISPRIVATE")),e.hasProperty("RETURNTOSIEGE")&&(t.returnToSiege="1"===e.getFirstPropertyFirstValue("RETURNTOSIEGE")),e.hasProperty("EMBALMER")&&(t.embalmer=e.getFirstPropertyFirstValue("EMBALMER")),e.hasProperty("COMMENT")&&(t.comment=e.getFirstPropertyFirstValue("COMMENT")),e.hasProperty("ABSENCETYPE")&&(t.absenceType=e.getFirstPropertyFirstValue("ABSENCETYPE")),e.hasProperty("EMAILID")&&(t.emailId=e.getFirstPropertyFirstValue("EMAILID")),t},m=(e,t)=>{t.title=e.title,t.location=e.location,t.client=e.client,t.embalmer=e.embalmer,t.isPrivate=e.isPrivate,t.returnToSiege=e.returnToSiege,t.comment=e.comment,t.emailId=e.emailId,t.description=e.description,t.accessClass=e.accessClass,t.status=e.status,t.timeTransparency=e.timeTransparency;for(const a of e.categories)t.addCategory(a);e.organizer&&t.setOrganizerFromNameAndEMail(e.organizer.commonName,e.organizer.uri);for(const a of e.alarms)if(a.isRelative){const e=r.wy.fromSeconds(a.relativeTrigger);t.addRelativeAlarm(a.type,e,a.relativeIsRelatedToStart)}else{const e=r.Z4.fromJSDate(a.absoluteDate);t.addAbsoluteAlarm(a.type,e)}for(const a of e.attendees)t.addProperty(a.attendeeProperty);for(const a of e.eventComponent.getPropertyIterator("RRULE"))t.addProperty(a);e.customColor&&(t.color=(0,l.mj)(e.customColor))}},58196:(e,t,a)=>{a.d(t,{W:()=>n});const n=e=>function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Object.assign({},{attendeeProperty:null,commonName:null,calendarUserType:"INDIVIDUAL",participationStatus:"NEEDS-ACTION",role:"REQ-PARTICIPANT",rsvp:!1,uri:null,member:null},e)}({attendeeProperty:e,commonName:e.commonName,calendarUserType:e.userType,participationStatus:e.participationStatus,role:e.role,rsvp:e.rsvp,uri:e.email,member:e.member})},63521:(e,t,a)=>{a.d(t,{A:()=>l});var n=a(85471);const r={addTimeRange(e,t){let{calendarId:a,from:r,to:l,lastFetched:c,calendarObjectIds:o}=t;const s={id:++e.lastTimeRangeInsertId,calendarId:a,from:r,to:l,lastFetched:c,calendarObjectIds:o};e.fetchedTimeRanges.push(s),n.default.set(e.fetchedTimeRangesById,s.id,s)},removeTimeRange(e,t){let{timeRangeId:a}=t;const r=e.fetchedTimeRangesById[a],l=e.fetchedTimeRanges.indexOf(r);-1!==l&&(e.fetchedTimeRanges.splice(l,1),n.default.delete(e.fetchedTimeRangesById,a))},appendCalendarObjectIdsToTimeFrame(e,t){let{timeRangeId:a,calendarObjectIds:n}=t;for(const t of n)-1===e.fetchedTimeRangesById[a].calendarObjectIds.indexOf(t)&&e.fetchedTimeRangesById[a].calendarObjectIds.push(t)},appendCalendarObjectIdToTimeRange(e,t){let{timeRangeId:a,calendarObjectId:n}=t;e.fetchedTimeRangesById[a].calendarObjectIds.push(n)},removeCalendarObjectIdFromTimeRange(e,t){let{timeRangeId:a,calendarObjectId:n}=t;const r=e.fetchedTimeRangesById[a].calendarObjectIds.indexOf(n);-1!==r&&e.fetchedTimeRangesById[a].calendarObjectIds.splice(r,1)},removeCalendarObjectIdFromAnyTimeRange(e,t){let{calendarObjectId:a}=t;for(const t of e.fetchedTimeRanges){const e=t.calendarObjectIds.indexOf(a);-1!==e&&t.calendarObjectIds.splice(e,1)}},updateTimestampOfLastFetched(e,t){let{timeRangeId:a,lastFetched:n}=t;e.fetchedTimeRangesById[a].lastFetched=n},addCalendarObjectIdToAllTimeRangesOfCalendar(e,t){let{calendarObjectId:a,calendarId:n}=t;for(const t of e.fetchedTimeRanges)t.calendarId===n&&-1===t.calendarObjectIds.indexOf(a)&&t.calendarObjectIds.push(a)},removeCalendarObjectIdFromAllTimeRangesOfCalendar(e,t){let{calendarObjectId:a,calendarId:n}=t;for(const t of e.fetchedTimeRanges){if(t.calendarId!==n)continue;const e=t.calendarObjectIds.indexOf(a);-1!==e&&t.calendarObjectIds.splice(e,1)}},clearFetchedTimeRanges(e){e.lastTimeRangeInsertId=-1,e.fetchedTimeRanges=[],e.fetchedTimeRangesById={}}},l={state:{lastTimeRangeInsertId:-1,fetchedTimeRanges:[],fetchedTimeRangesById:{}},mutations:r,getters:{getAllTimeRangesForCalendar:e=>t=>e.fetchedTimeRanges.filter((e=>e.calendarId===t)),getTimeRangeForCalendarCoveringRange:e=>(t,a,n)=>e.fetchedTimeRanges.find((e=>e.calendarId===t&&e.from<=a&&e.to>=n)),getAllTimeRangesOlderThan:e=>t=>e.fetchedTimeRanges.filter((e=>e.lastFetched<=t)),getLastTimeRangeInsertId:e=>e.lastTimeRangeInsertId,getCalendarObjectsByTimeRangeId:(e,t)=>a=>e.fetchedTimeRangesById[a]?e.fetchedTimeRangesById[a].calendarObjectIds.map((e=>t.getCalendarObjectById(e))):[]},actions:{}}},68422:(e,t,a)=>{a.d(t,{K:()=>r});var n=a(63814);function r(e){return[(0,n.uM)("calendar","index.php"),"v1/config",e].join("/")}},68522:(e,t,a)=>{a.d(t,{A:()=>l});var n=a(85471);const r={appendContact(e,t){let{contact:a}=t;-1===e.contacts.indexOf(a)&&e.contacts.push(a);for(const t of a.emails)void 0===e.contactByEMail[t]&&n.default.set(e.contactByEMail,t,a)},removeContact(e,t){let{contact:a}=t;for(const t of a.emails)e.contactByEMail[t]===a&&n.default.delete(e.contactByEMail,t);const r=e.contacts.indexOf(a);-1!==r&&e.contacts.splice(r,1)}},l={state:{contacts:[],contactByEMail:{}},mutations:r,getters:{},actions:{}}},68686:(e,t,a)=>{a.d(t,{A:()=>s});var n=a(85471),r=a(4239),l=a(30835),c=a(53191);const o={appendCalendarObjects(e,t){let{calendarObjects:a=[]}=t;for(const t of a)e.calendarObjects[t.id]||n.default.set(e.calendarObjects,t.id,t)},appendCalendarObject(e,t){let{calendarObject:a}=t;e.calendarObjects[a.id]||n.default.set(e.calendarObjects,a.id,a)},updateCalendarObjectId(e,t){let{calendarObject:a}=t;null===a.dav?a.id=null:a.id=btoa(a.dav.url)},updateCalendarObjectIdCalendarId(e,t){let{calendarObjectId:a,calendarId:n}=t;e.calendarObjects[a].calendarId=n},resetCalendarObjectToDav(e,t){let{calendarObject:a}=t;if(a=e.calendarObjects[a.id],!a||!a.existsOnServer)return;const n=(0,c.zc)().getParserForFileType("text/calendar");n.parse(a.dav.data);const r=n.getItemIterator().next().value;r&&(a.calendarComponent=r)},deleteCalendarObject(e,t){let{calendarObject:a}=t;n.default.delete(e.calendarObjects,a.id)},incrementModificationCount(e){e.modificationCount++}},s={state:{calendarObjects:{},modificationCount:0},mutations:o,getters:{getCalendarObjectById:e=>t=>e.calendarObjects[t]},actions:{async moveCalendarObject(e,t){let{calendarObject:a,newCalendarId:n}=t;if(!a.existsOnServer)return;const r=a.id,c=a.calendarId;if(c===n)return void l.Ay.error("Old calendar Id and new calendar Id are the same, nothing to move …");const o=e.getters.getCalendarById(n);o?(await a.dav.move(o.dav),e.commit("updateCalendarObjectIdCalendarId",{calendarObjectId:a.id,calendarId:n}),e.commit("addCalendarObjectToCalendar",{calendar:{id:n},calendarObjectId:a.id}),e.commit("addCalendarObjectIdToAllTimeRangesOfCalendar",{calendarId:n,calendarObjectId:a.id}),e.commit("deleteCalendarObjectFromCalendar",{calendar:{id:c},calendarObjectId:r}),e.commit("removeCalendarObjectIdFromAllTimeRangesOfCalendar",{calendarId:c,calendarObjectId:r}),e.commit("incrementModificationCount")):l.Ay.error("Calendar to move to not found, aborting …")},async updateCalendarObject(e,t){let{calendarObject:a,eventComponent:n}=t;if(n||(n=a.calendarComponent.getFirstComponent("VEVENT")),a.existsOnServer){let t=a.calendarComponent.toICS();if(null!=n){if(null!=n.client){let e="CLIENT:"+n.client,a=/CLIENT:(?!\d)(?=\s*[\r\n])/g;a.test(t)&&(t=t.replace(a,e));let l=/CLIENT:\d+/;if(l.test(t))t=t.replace(l,e);else{const e={CLIENT:n.client};t=(0,r.Kc)(t,e)}}if(null!=n.comment){const e=(0,r.hK)(n.comment),a=(0,r.WX)(e);let l="COMMENT:"+a,c=/^COMMENT:.*(?:\r?\n [^\n]*)*/m;if(c.test(t))t=t.replace(c,l);else{const e={COMMENT:a};t=(0,r.Kc)(t,e)}}if(null!=n.isPrivate){let e=n.isPrivate?"1":"0",a="ISPRIVATE:"+e,l=/ISPRIVATE:\d+/;if(l.test(t))t=t.replace(l,a);else{const a={ISPRIVATE:e};t=(0,r.Kc)(t,a)}}if(null!=n.emailId){let e=n.emailId,a="EMAILID:"+e,l=/EMAILID:\d+/;if(l.test(t))t=t.replace(l,a);else{const a={EMAILID:e};t=(0,r.Kc)(t,a)}}if(null!=n.absenceType&&""!=n.absenceType){let e=n.absenceType,a="ABSENCETYPE:"+e,l=/^ABSENCETYPE:.*$/m;if(l.test(t))t=t.replace(l,a);else{const a={ABSENCETYPE:e};t=(0,r.Kc)(t,a)}}if(null!=n.returnToSiege&&""!=n.returnToSiege){let e=n.returnToSiege,a="RETURNTOSIEGE:"+e,l=/RETURNTOSIEGE:\d+/;if(l.test(t))t=t.replace(l,a);else{const a={RETURNTOSIEGE:e};t=(0,r.Kc)(t,a)}}}return a.dav.data=t,await a.dav.update(),e.commit("addCalendarObjectIdToAllTimeRangesOfCalendar",{calendarId:a.calendarId,calendarObjectId:a.id}),e.commit("resetCalendarObjectToDav",{calendarObject:a}),void e.commit("incrementModificationCount")}const l=e.getters.getCalendarById(a.calendarId);let c=a.calendarComponent.toICS();if(null!=n){let e="";if(null!=n.comment){const t=(0,r.hK)(n.comment);e=(0,r.WX)(t)}const t={CLIENT:n.client,EMBALMER:n.embalmer,ISPRIVATE:n.isPrivate?"1":"0",RETURNTOSIEGE:n.returnToSiege?"1":"0",COMMENT:e,EMAILID:n.emailId,ABSENCETYPE:n.absenceType??""};c=(0,r.Kc)(c,t)}a.dav=await l.dav.createVObject(c),a.existsOnServer=!0,e.commit("updateCalendarObjectId",{calendarObject:a}),e.commit("appendCalendarObject",{calendarObject:a}),e.commit("addCalendarObjectToCalendar",{calendar:{id:a.calendarId},calendarObjectId:a.id}),e.commit("addCalendarObjectIdToAllTimeRangesOfCalendar",{calendarId:a.calendarId,calendarObjectId:a.id}),e.commit("resetCalendarObjectToDav",{calendarObject:a}),e.commit("incrementModificationCount")},async createCalendarObjectFromFork(e,t){let{eventComponent:a,calendarId:n}=t;const l=e.getters.getCalendarById(n),c=(0,r.cr)(a.root,l.id);c.dav=await l.dav.createVObject(c.calendarComponent.toICS()),c.existsOnServer=!0,e.commit("updateCalendarObjectId",{calendarObject:c}),e.commit("appendCalendarObject",{calendarObject:c}),e.commit("addCalendarObjectToCalendar",{calendar:{id:c.calendarId},calendarObjectId:c.id}),e.commit("addCalendarObjectIdToAllTimeRangesOfCalendar",{calendarId:l.id,calendarObjectId:c.id}),e.commit("incrementModificationCount")},async deleteCalendarObject(e,t){let{calendarObject:a}=t;a.existsOnServer&&await a.dav.delete(),e.commit("deleteCalendarObject",{calendarObject:a}),e.commit("deleteCalendarObjectFromCalendar",{calendar:{id:a.calendarId},calendarObjectId:a.id}),e.commit("removeCalendarObjectIdFromAnyTimeRange",{calendarObjectId:a.id}),e.commit("incrementModificationCount")},createNewEvent(e,t){let{start:a,end:n,timezoneId:l,isAllDay:o}=t;const s=(0,c.ZR)().getTimezoneForId(l),d=new Date(1e3*a),i=new Date(1e3*n),u=c.Z4.fromJSDate(d,!0).getInTimezone(s),m=c.Z4.fromJSDate(i,!0).getInTimezone(s);o&&(u.isDate=!0,m.isDate=!0);const p=(0,c.lh)(u,m);for(const e of p.getVObjectIterator())e.undirtify();const g=e.getters.sortedCalendars[0].id;return Promise.resolve((0,r.cr)(p,g))},updateTimeOfNewEvent(e,t){let{commit:a,dispatch:n}=e,{calendarObjectInstance:r,start:l,end:c,timezoneId:o,isAllDay:s}=t;const d=r.eventComponent.isDirty(),i=new Date(1e3*l),u=new Date(1e3*c);r.isAllDay!==s&&a("toggleAllDay",{calendarObjectInstance:r}),n("changeStartTimezone",{calendarObjectInstance:r,startTimezone:o}),n("changeEndTimezone",{calendarObjectInstance:r,endTimezone:o}),a("changeStartDate",{calendarObjectInstance:r,startDate:i}),a("changeEndDate",s?{calendarObjectInstance:r,endDate:new Date(u.getTime()-864e5)}:{calendarObjectInstance:r,endDate:u}),d||r.eventComponent.undirtify()}}}},70253:(e,t,a)=>{a.d(t,{T:()=>r});var n=a(13061);const r=e=>{const t=btoa(encodeURI(e.href));let a;a=e["common-name"]&&""!==e["common-name"].trim()?e["common-name"]:e.href.startsWith(n._l)?decodeURIComponent(e.href.slice(28)):e.href.startsWith(n.mI)?decodeURIComponent(e.href.slice(27)):e.href;return function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Object.assign({},{id:null,displayName:null,writeable:!1,isUser:!1,isGroup:!1,isCircle:!1,uri:null},e)}({id:t,displayName:a,writeable:e.access[0].endsWith("read-write"),isUser:e.href.startsWith(n.mI),isGroup:e.href.startsWith(n._l),isCircle:e.href.startsWith(n.fM),uri:e.href})}},72641:(e,t,a)=>{function n(e){const t=r(e);let a=1,n=e.getDate();for(;n>7;n-=7)a++;return{byDay:t,bySetPosition:a}}function r(e){switch(e.getDay()){case 0:return"SU";case 1:return"MO";case 2:return"TU";case 3:return"WE";case 4:return"TH";case 5:return"FR";case 6:return"SA";default:throw TypeError("Invalid date-object given")}}a.d(t,{h:()=>n,j:()=>r})},73124:(e,t,a)=>{a.d(t,{A:()=>s});var n=a(85471),r=a(28928),l=a(30835),c=a(45774);const o={addPrincipal(e,t){let{principal:a}=t;const r=(0,c.t)(a);e.principalsById[r.id]||(e.principals.push(r),n.default.set(e.principalsById,r.id,r))},setCurrentUserPrincipal(e,t){let{principalId:a}=t;e.currentUserPrincipal=a},changePrincipalScheduleDefaultCalendarUrl(e,t){let{principal:a,scheduleDefaultCalendarUrl:r}=t;n.default.set(e.principalsById[a.id],"scheduleDefaultCalendarUrl",r)}},s={state:{principals:[],principalsById:{},currentUserPrincipal:null},mutations:o,getters:{getPrincipalByUrl:e=>t=>e.principals.find((e=>e.url===t)),getPrincipalById:e=>t=>e.principalsById[t],getCurrentUserPrincipal:e=>e.principalsById[e.currentUserPrincipal],getCurrentUserPrincipalEmail:e=>e.principalsById[e.currentUserPrincipal]?.emailAddress},actions:{async fetchPrincipalByUrl(e,t){let{url:a}=t;if(e.getters.getPrincipalByUrl(a))return;const n=await(0,r.a9)(a);n&&e.commit("addPrincipal",{principal:(0,c.v)(n)})},async fetchCurrentUserPrincipal(e){const t=(0,r.xX)();if(!t)return;const a=(0,c.v)(t);e.commit("addPrincipal",{principal:a}),e.commit("setCurrentUserPrincipal",{principalId:a.id}),l.Ay.debug(`Current user principal is ${a.url}`)},async changePrincipalScheduleDefaultCalendarUrl(e,t){let{principal:a,scheduleDefaultCalendarUrl:n}=t;a.dav.scheduleDefaultCalendarUrl=n,await a.dav.update(),e.commit("changePrincipalScheduleDefaultCalendarUrl",{principal:a,scheduleDefaultCalendarUrl:n})}}}},74717:(e,t,a)=>{a.d(t,{IS:()=>i,LW:()=>d,R2:()=>c,rG:()=>s,yu:()=>o});var n=a(53191),r=a(53334);function l(e){switch(e){case"seconds":default:return 1;case"minutes":return 60;case"hours":return 3600;case"days":return 86400;case"weeks":return 604800}}function c(e){return 0===(e=Math.abs(e))?{amount:0,unit:"minutes"}:e%604800==0?{amount:e/604800,unit:"weeks"}:e%86400==0?{amount:e/86400,unit:"days"}:e%3600==0?{amount:e/3600,unit:"hours"}:e%60==0?{amount:e/60,unit:"minutes"}:{amount:e,unit:"seconds"}}function o(e,t){let a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return e*l(t)*(a?-1:1)}function s(e){const t=l("days"),a=l("hours"),n=l("minutes"),r=e<0;e=Math.abs(e);let c=Math.floor(e/t);const o=e%t;0!==o&&r&&c++;let s=0,d=null;0===c?d="days":c%7==0?(s=c/7,d="weeks"):(s=c,d="days");let i=Math.floor(o/a);const u=o%a;let m=Math.floor(u/n);return r&&(i=24-i,0!==m&&(i--,m=60-m)),{amount:s,unit:d,hours:i,minutes:m}}function d(e,t,a,n){"weeks"===n&&(e*=7,n="days");if(e>0){e--,e*=l(n);let r=24-t,c=0;0!==a&&(r--,c=60-a),e+=r*l("hours"),e+=c*l("minutes"),e*=-1}else e*=l("days"),e+=t*l("hours"),e+=a*l("minutes");return e}function i(e){for(const t of e.getAlarmIterator()){if("EMAIL"!==t.action&&"DISPLAY"!==t.action)continue;t.deleteAllProperties("SUMMARY");const a=e.getFirstProperty("SUMMARY");if(a)t.addProperty(a.clone());else{const e=(0,r.translate)("calendar","Untitled event");t.addProperty(new n.mA("SUMMARY",e))}if(!t.hasProperty("DESCRIPTION")){const e=(0,r.translate)("calendar","This is an event reminder.");t.addProperty(new n.mA("DESCRIPTION",e))}t.deleteAllProperties("ATTENDEE");for(const a of e.getAttendeeIterator())["RESOURCE","ROOM"].includes(a.userType)||t.addProperty(new n.Uy("ATTENDEE",a.value))}}},76783:(e,t,a)=>{a.d(t,{default:()=>I});var n=a(85471),r=a(95353),l=a(36977),c=a(68686),o=a(6088),s=a(68522),d=a(87935),i=a(63521),u=a(88659),m=a(48565),p=a(73124),g=a(89274),b=a(91728);n.default.use(r.Ay);const I=new r.Ay.Store({modules:{calendarObjectInstance:l.A,calendarObjects:c.A,calendars:o.A,contacts:s.A,davRestrictions:d.A,fetchedTimeRanges:i.A,importFiles:u.A,importState:m.A,principals:p.A,settings:g.A,userRole:b.A}})},87935:(e,t,a)=>{a.d(t,{A:()=>r});const n={loadDavRestrictionsFromServer(e,t){let{minimumDate:a,maximumDate:n}=t;e.minimumDate=a,e.maximumDate=n}},r={state:{minimumDate:"1970-01-01T00:00:00Z",maximumDate:"2037-12-31T23:59:59Z"},mutations:n,getters:{},actions:{}}},88659:(e,t,a)=>{a.d(t,{A:()=>l});var n=a(85471);const r={addFile(e,t){let{contents:a,lastModified:r,name:l,parser:c,size:o,type:s}=t;const d={id:++e.lastFileInsertId,contents:a,lastModified:r,name:l,parser:c,size:o,type:s};e.importFiles.push(d),n.default.set(e.importFilesById,d.id,d)},setCalendarForFileId(e,t){let{fileId:a,calendarId:r}=t;n.default.set(e.importCalendarRelation,a,r)},removeAllFiles(e){n.default.set(e,"importFiles",[]),n.default.set(e,"importFilesById",{}),n.default.set(e,"importCalendarRelation",{})}},l={state:{lastFileInsertId:-1,importFiles:[],importFilesById:{},importCalendarRelation:{}},mutations:r,getters:{},actions:{}}},89274:(e,t,a)=>{a.d(t,{A:()=>g});var n=a(28928),r=a(23688),l=a(87133),c=a(53191),o=a(1737),s=a(30835),d=a(62863),i=a(23518);const u={toggleEventLimitEnabled(e){e.eventLimit=!e.eventLimit},togglePopoverEnabled(e){e.skipPopover=!e.skipPopover},toggleTasksEnabled(e){e.showTasks=!e.showTasks},toggleWeekendsEnabled(e){e.showWeekends=!e.showWeekends},toggleWeekNumberEnabled(e){e.showWeekNumbers=!e.showWeekNumbers},setSlotDuration(e,t){let{slotDuration:a}=t;e.slotDuration=a},setDefaultReminder(e,t){let{defaultReminder:a}=t;e.defaultReminder=a},setTimezone(e,t){let{timezoneId:a}=t;e.timezone=a},setAttachmentsFolder(e,t){let{attachmentsFolder:a}=t;e.attachmentsFolder=a,e.attachmentsFolderCreated=!1},setAttachmentsFolderCreated(e,t){let{attachmentsFolderCreated:a}=t;e.attachmentsFolderCreated=a},loadSettingsFromServer(e,t){let{appVersion:a,eventLimit:n,firstRun:r,showWeekNumbers:l,showTasks:c,showWeekends:o,skipPopover:d,slotDuration:i,defaultReminder:u,talkEnabled:m,tasksEnabled:p,timezone:g,hideEventExport:b,forceEventAlarmType:I,disableAppointments:C,canSubscribeLink:y,attachmentsFolder:h,showResources:O,publicCalendars:v}=t;(0,s.fH)(`\nInitial settings:\n\t- AppVersion: ${a}\n\t- EventLimit: ${n}\n\t- FirstRun: ${r}\n\t- ShowWeekNumbers: ${l}\n\t- ShowTasks: ${c}\n\t- ShowWeekends: ${o}\n\t- SkipPopover: ${d}\n\t- SlotDuration: ${i}\n\t- DefaultReminder: ${u}\n\t- TalkEnabled: ${m}\n\t- TasksEnabled: ${p}\n\t- Timezone: ${g}\n\t- HideEventExport: ${b}\n\t- ForceEventAlarmType: ${I}\n\t- disableAppointments: ${C}\n\t- CanSubscribeLink: ${y}\n\t- attachmentsFolder: ${h}\n\t- ShowResources: ${O}\n\t- PublicCalendars: ${v}\n`),e.appVersion=a,e.eventLimit=n,e.firstRun=r,e.showWeekNumbers=l,e.showTasks=c,e.showWeekends=o,e.skipPopover=d,e.slotDuration=i,e.defaultReminder=u,e.talkEnabled=m,e.tasksEnabled=p,e.timezone=g,e.hideEventExport=b,e.forceEventAlarmType=I,e.disableAppointments=C,e.canSubscribeLink=y,e.attachmentsFolder=h,e.showResources=O,e.publicCalendars=v},setMomentLocale(e,t){let{locale:a}=t;(0,s.fH)(`Updated moment locale: ${a}`),e.momentLocale=a}},m={isTalkEnabled:e=>e.talkEnabled,getResolvedTimezone:e=>"automatic"===e.timezone?(0,l.t)():e.timezone,getResolvedTimezoneObject:(e,t)=>{const a=t.getResolvedTimezone;let n=(0,d.A)().getTimezoneForId(a);return n||(n=(0,d.A)().getTimezoneForId("UTC")),n}},p={async toggleBirthdayCalendarEnabled(e){let{getters:t,commit:a,dispatch:l}=e;if(t.hasBirthdayCalendar){const e=t.getBirthdayCalendar;await l("deleteCalendar",{calendar:e})}else{const e=await(0,n.vV)();a("addCalendar",{calendar:(0,r.B)(e)})}},async toggleEventLimitEnabled(e){let{state:t,commit:a}=e;const n=!t.eventLimit?"yes":"no";await(0,o.N)("eventLimit",n),a("toggleEventLimitEnabled")},async togglePopoverEnabled(e){let{state:t,commit:a}=e;const n=!t.skipPopover?"yes":"no";await(0,o.N)("skipPopover",n),a("togglePopoverEnabled")},async toggleWeekendsEnabled(e){let{state:t,commit:a}=e;const n=!t.showWeekends?"yes":"no";await(0,o.N)("showWeekends",n),a("toggleWeekendsEnabled")},async toggleTasksEnabled(e){let{state:t,commit:a}=e;const n=!t.showTasks?"yes":"no";await(0,o.N)("showTasks",n),a("toggleTasksEnabled"),a("clearFetchedTimeRanges"),a("incrementModificationCount")},async toggleWeekNumberEnabled(e){let{state:t,commit:a}=e;const n=!t.showWeekNumbers?"yes":"no";await(0,o.N)("showWeekNr",n),a("toggleWeekNumberEnabled")},async setInitialView(e,t){let{initialView:a}=t;await(0,o.N)("view",a)},async setSlotDuration(e,t){let{state:a,commit:n}=e,{slotDuration:r}=t;a.slotDuration!==r&&(await(0,o.N)("slotDuration",r),n("setSlotDuration",{slotDuration:r}))},async setDefaultReminder(e,t){let{state:a,commit:n}=e,{defaultReminder:r}=t;a.defaultReminder!==r&&(await(0,o.N)("defaultReminder",r),n("setDefaultReminder",{defaultReminder:r}))},async setTimezone(e,t){let{state:a,commit:n}=e,{timezoneId:r}=t;a.timezone!==r&&(await(0,o.N)("timezone",r),n("setTimezone",{timezoneId:r}))},async setAttachmentsFolder(e,t){let{state:a,commit:n}=e,{attachmentsFolder:r}=t;a.attachmentsFolder!==r&&(await(0,o.N)("attachmentsFolder",r),n("setAttachmentsFolder",{attachmentsFolder:r}))},async createAttachmentsFolder(e){let{state:t,commit:a,dispatch:n,getters:r}=e;if(t.attachmentsFolderCreated)return t.attachmentsFolder;const l=r.getCurrentUserPrincipal.dav.userId,c=await i.vV(t.attachmentsFolder,l);return c!==t.attachmentsFolder&&await n("setAttachmentsFolder",{attachmentsFolder:c}),a("setAttachmentsFolderCreated",{attachmentsFolderCreated:!0}),c},initializeCalendarJsConfig(e){let{state:t}=e;(0,c.Nk)("PRODID",`-//IDN nextcloud.com//Calendar app ${t.appVersion}//EN`),(0,c.Nk)("property-list-significant-change",["SUMMARY","LOCATION","DESCRIPTION","CLIENT"])}},g={state:{appVersion:null,firstRun:null,talkEnabled:!1,disableAppointments:!1,publicCalendars:null,eventLimit:null,showTasks:null,showWeekends:null,showWeekNumbers:null,skipPopover:null,slotDuration:null,defaultReminder:null,tasksEnabled:!1,timezone:"automatic",hideEventExport:!1,forceEventAlarmType:!1,canSubscribeLink:!0,showResources:!0,momentLocale:"en",attachmentsFolder:"/Calendar",attachmentsFolderCreated:!1},mutations:u,getters:m,actions:p}},91533:(e,t,a)=>{a.d(t,{A:()=>l});var n=a(65043),r=a(63814);const l={async fetchAndCommitRoles(e){try{const t=(0,r.Jv)("/apps/gestion/getUserConnectedGroups");n.Ay.get(t).then((t=>{let a=JSON.parse(t.data);e("setUserRole",a)})).catch((e=>{}))}catch(e){}}}},91728:(e,t,a)=>{a.d(t,{A:()=>l});var n=a(91533);const r={setUserRole(e,t){e.roles=t}},l={namespaced:!0,state:{roles:[]},mutations:r,actions:{async fetchUserRoles(e){let{commit:t}=e;try{await n.A.fetchAndCommitRoles(t)}catch(e){}}},getters:{isAdmin:e=>e.roles.includes("admin"),canAccessPreviousEvent:e=>0==e.roles.includes("Ligne")&&0==e.roles.includes("ligne")}}}}]);
//# sourceMappingURL=calendar-src_store_index_js.js.map?v=5d64c0b9fe39560dd3be