From dc50bd22963df9c4a2367694df80cbcbfb53e82b Mon Sep 17 00:00:00 2001 From: InverseBot Date: Tue, 17 Jul 2018 00:29:12 -0400 Subject: [PATCH] (js/css) Update generated files --- UI/WebServerResources/js/Scheduler.services.js | 2 +- UI/WebServerResources/js/Scheduler.services.js.map | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/UI/WebServerResources/js/Scheduler.services.js b/UI/WebServerResources/js/Scheduler.services.js index 907be25d8..54dd271fd 100644 --- a/UI/WebServerResources/js/Scheduler.services.js +++ b/UI/WebServerResources/js/Scheduler.services.js @@ -1,2 +1,2 @@ -!function(){"use strict";function e(t){if(this.init(t),this.name&&!this.id){var n=e.$$resource.create("createFolder",this.name);this.$unwrap(n)}}e.$factory=["$q","$timeout","$log","sgSettings","Resource","Preferences","Component","Acl",function(t,n,a,o,i,r,s,c){return angular.extend(e,{$q:t,$timeout:n,$log:a,$$resource:new i(o.activeUser("folderURL")+"Calendar",o.activeUser()),$Preferences:r,$Component:s,$$Acl:c,activeUser:o.activeUser(),$view:null}),e}];try{angular.module("SOGo.SchedulerUI")}catch(e){angular.module("SOGo.SchedulerUI",["SOGo.Common"])}angular.module("SOGo.SchedulerUI").value("CalendarSettings",{EventDragDayLength:96,EventDragHorizontalOffset:3,ConflictHTTPErrorCode:409}).factory("Calendar",e.$factory),e.$defaultCalendar=function(){var t;return"first"==e.$Preferences.defaults.SOGoDefaultCalendar&&(t=_.find(e.$findAll(null,!0),function(e){return e.active}))?t.id:"personal"},e.$add=function(t){var n,a;n=t.isWebCalendar?this.$webcalendars:t.isSubscription?this.$subscriptions:this.$calendars,(a=_.findIndex(n,function(e,n){return"personal"==t.id||"personal"!=e.id&&e.name.localeCompare(t.name)>0}))<0?n.push(t):n.splice(a,0,t),e.$Preferences.settings.Calendar.FoldersOrder&&e.saveFoldersOrder(_.flatMap(e.$findAll(),"id")),e.$reloadAll()},e.$findAll=function(t,n){var a=this;if(t)this.$calendars=[],this.$subscriptions=[],this.$webcalendars=[],angular.forEach(t,function(t,n){var o=new e(t);o.isWebCalendar?a.$webcalendars.push(o):o.isSubscription?a.$subscriptions.push(o):a.$calendars.push(o)});else if(angular.isUndefined(this.$calendars))return this.$calendars=[],this.$subscriptions=[],this.$webcalendars=[],e.$$resource.fetch("calendarslist").then(function(t){return e.$findAll(t.calendars,n)});return n?_.union(this.$calendars,_.filter(this.$subscriptions,function(e){return e.isOwned||e.acls.objectCreator})):_.union(this.$calendars,this.$subscriptions,this.$webcalendars)},e.$reloadAll=function(){var t=this;e.$$resource.fetch("calendarslist").then(function(n){_.forEach(n.calendars,function(n){var a,o;a=n.isWebCalendar?t.$webcalendars:n.owner!=e.activeUser.login?t.$subscriptions:t.$calendars,(o=_.find(a,function(e){return e.id==n.id}))&&o.init(n)})})},e.$get=function(t){var n;return(n=_.find(e.$calendars,function(e){return e.id==t}))||(n=_.find(e.$subscriptions,function(e){return e.id==t})),n||(n=_.find(e.$webcalendars,function(e){return e.id==t})),n},e.$getIndex=function(t){var n;return(n=_.indexOf(_.map(e.$calendars,"id"),t))<0&&(n=_.indexOf(_.map(e.$subscriptions,"id"),t)),n<0&&(n=_.indexOf(_.map(e.$webcalendars,"id"),t)),n},e.$subscribe=function(t,n){var a=this;return e.$$resource.userResource(t).fetch(n,"subscribe").then(function(t){var n=new e(angular.extend({active:1},t));return _.find(a.$subscriptions,function(e){return e.id==t.id})||e.$add(n),n})},e.$addWebCalendar=function(t){var n=e.$q.defer();return _.find(this.$webcalendars,function(e){return e.urls.webCalendarURL==t})?n.reject():e.$$resource.post(null,"addWebCalendar",{url:t}).then(function(a){angular.extend(a,{isWebCalendar:!0,isEditable:!0,isRemote:!1,owner:e.activeUser.login,urls:{webCalendarURL:t}});var o=new e(a);e.$$resource.fetch(o.id,"reload").then(function(t){e.$log.debug(JSON.stringify(t,void 0,2)),e.$add(o),n.resolve()},function(e){401==e.status?n.resolve(o):n.reject()})},n.reject),n.promise},e.reloadWebCalendars=function(){var t=[];return _.forEach(this.$webcalendars,function(n){var a=e.$$resource.fetch(n.id,"reload");a.then(function(e){n.$error=!1},function(e){n.$error=l(e.statusText)}),t.push(a)}),e.$q.all(t)},e.$deleteComponents=function(t){var n={},a=[];return _.forEach(t,function(e){angular.isDefined(n[e.pid])||(n[e.pid]=[]),n[e.pid].push(e.id)}),_.forEach(n,function(t,n){a.push(e.$$resource.post(n,"batchDelete",{uids:t}))}),e.$q.all(a)},e.saveFoldersActivation=function(t){var n={};return _.forEach(t,function(t){var a=e.$get(t);n[a.id]=a.active}),e.$$resource.post(null,"saveFoldersActivation",n)},e.saveFoldersOrder=function(t){return this.$$resource.post(null,"saveFoldersOrder",{folders:t}).then(function(){if(e.$Preferences.settings.Calendar.FoldersOrder=t,!t)return e.$$resource.fetch("calendarslist").then(function(t){return e.$findAll(t.calendars)})})},e.prototype.init=function(t){this.color=this.color||"#AAAAAA",this.active=1,angular.extend(this,t),this.id&&(this.$acl=new e.$$Acl("Calendar/"+this.id)),this.isOwned=e.activeUser.isSuperUser||this.owner==e.activeUser.login,this.isSubscription=!this.isRemote&&this.owner!=e.activeUser.login,angular.isUndefined(this.$shadowData)&&(this.$shadowData=this.$omit())},e.prototype.$id=function(){return this.id?e.$q.when(this.id):this.$futureCalendarData.then(function(e){return e.id})},e.prototype.getClassName=function(e){return angular.isUndefined(e)&&(e="fg"),e+"-folder"+this.id},e.prototype.$rename=function(){var t,n,a=this;return this.name==this.$shadowData.name?e.$q.when():(n=this.isWebCalendar?e.$webcalendars:this.isSubscription?e.$subscriptions:e.$calendars,(t=_.indexOf(_.map(n,"id"),this.id))>-1?this.$save().then(function(){n.splice(t,1),e.$add(a)}):e.$q.reject())},e.prototype.$delete=function(){var t,n,a=this;return this.isSubscription?(n=e.$$resource.fetch(this.id,"unsubscribe"),t=e.$subscriptions):(n=e.$$resource.remove(this.id),t=this.isWebCalendar?e.$webcalendars:e.$calendars),n.then(function(){var e=_.indexOf(_.map(t,"id"),a.id);t.splice(e,1)})},e.prototype.$reset=function(){var e=this;angular.forEach(this,function(t,n){"constructor"!=n&&"$"!=n[0]&&delete e[n]}),angular.extend(this,this.$shadowData),this.$shadowData=this.$omit()},e.prototype.$save=function(){var t=this;return e.$$resource.save(this.id,this.$omit()).then(function(e){return t.$shadowData=t.$omit(),e},function(n){return e.$log.error(JSON.stringify(n,void 0,2)),t.$reset(),n})},e.prototype.setCredentials=function(t,n){var a=this,o=e.$q.defer();return e.$$resource.post(this.id,"set-credentials",{username:t,password:n}).then(function(){e.$$resource.fetch(a.id,"reload").then(function(t){e.$add(a),o.resolve()},function(e){401==e.status?o.reject(l("Wrong username or password")):o.reject(e.statusText)})},o.reject),o.promise},e.prototype.export=function(){var t;return t={type:"application/octet-stream",filename:this.name+".ics"},e.$$resource.open(this.id+".ics","export",null,t)},e.prototype.$setActivation=function(){return e.$$resource.fetch(this.id,(this.active?"":"de")+"activateFolder")},e.prototype.$getComponent=function(t,n){return e.$Component.$find(this.id,t,n)},e.prototype.$unwrap=function(t){var n=this;this.$futureCalendarData=t.then(function(t){return e.$timeout(function(){return n.init(t),n})},function(t){n.isError=!0,angular.isObject(t)&&e.$timeout(function(){angular.extend(n,t)})})},e.prototype.$omit=function(){var e={};return angular.forEach(this,function(t,n){"constructor"!=n&&"$"!=n[0]&&(e[n]=t)}),e}}(),function(){"use strict";function e(t){if("function"!=typeof t.then){if(this.init(t),this.pid&&!this.id){var n=e.$$resource.newguid(this.pid);this.$unwrap(n),this.isNew=!0}}else this.$unwrap(t)}e.$factory=["$q","$timeout","$log","$rootScope","sgSettings","sgComponent_STATUS","Preferences","User","Card","Gravatar","Resource",function(t,n,a,o,i,r,s,c,l,d,u){return angular.extend(e,{STATUS:r,$q:t,$timeout:n,$log:a,$rootScope:o,$settings:i,$User:c,$Preferences:s,$Card:l,$gravatar:d,$$resource:new u(i.activeUser("folderURL")+"Calendar",i.activeUser()),timeFormat:"%H:%M",$query:{value:"",search:"title_Category_Location"},$queryEvents:{sort:"start",asc:1,filterpopup:"view_next7"},$queryTasks:{sort:"status",asc:1,filterpopup:"view_incomplete"},$refreshTimeout:null,$ghost:{}}),s.settings.Calendar.EventsFilterState&&(e.$queryEvents.filterpopup=s.settings.Calendar.EventsFilterState),s.settings.Calendar.TasksFilterState&&(e.$queryTasks.filterpopup=s.settings.Calendar.TasksFilterState),s.settings.Calendar.EventsSortingState&&(e.$queryEvents.sort=s.settings.Calendar.EventsSortingState[0],e.$queryEvents.asc=parseInt(s.settings.Calendar.EventsSortingState[1])),s.settings.Calendar.TasksSortingState&&(e.$queryTasks.sort=s.settings.Calendar.TasksSortingState[0],e.$queryTasks.asc=parseInt(s.settings.Calendar.TasksSortingState[1])),e.$queryTasks.show_completed=parseInt(s.settings.ShowCompletedTasks),e.$categories=s.defaults.SOGoCalendarCategoriesColors,s.defaults.SOGoTimeFormat&&(e.timeFormat=s.defaults.SOGoTimeFormat),e}];try{angular.module("SOGo.SchedulerUI")}catch(e){angular.module("SOGo.SchedulerUI",["SOGo.Common"])}angular.module("SOGo.SchedulerUI").constant("sgComponent_STATUS",{NOT_LOADED:0,DELAYED_LOADING:1,LOADING:2,LOADED:3,DELAYED_MS:300}).factory("Component",e.$factory),e.$selectedCount=function(){var t;return t=0,e.$events&&(t+=_.filter(e.$events,function(e){return e.selected}).length),e.$tasks&&(t+=_.filter(e.$tasks,function(e){return e.selected}).length),t},e.$startRefreshTimeout=function(t){e.$refreshTimeout&&e.$timeout.cancel(e.$refreshTimeout);var n=e.$Preferences.defaults.SOGoRefreshViewCheck;if(n&&"manually"!=n){var a=angular.bind(e.$rootScope,e.$rootScope.$emit,"calendars:list");e.$refreshTimeout=e.$timeout(a,1e3*n.timeInterval())}},e.$isLoading=function(){return e.$loaded==e.STATUS.LOADING},e.$filter=function(t,n){var a,o,i=this,r=new Date,s=r.getDate(),c=r.getMonth()+1,l=r.getFullYear(),d="$query"+t.capitalize(),u={day:l+(c<10?"0":"")+c+(s<10?"0":"")+s},p=!1;return e.$startRefreshTimeout(t),angular.extend(this.$query,u),n&&_.forEach(_.keys(n),function(t){p|=i.$query[t]&&n[t]!=e.$query[t],"reload"==t&&n[t]?p=!0:angular.isDefined(i.$query[t])?i.$query[t]=n[t]:i[d][t]=n[t]}),a=this.$$resource.fetch(null,t+"list",angular.extend(this[d],this.$query)),p&&(delete e[o="tasks"==t?"$events":"$tasks"],e.$log.debug("force reload of "+o)),this.$unwrapCollection(t,a)},e.$find=function(t,n,a){var o=[t,encodeURIComponent(n)];return a&&o.push(a),new e(this.$$resource.fetch(o.join("/"),"view"))},e.filterCategories=function(t){var n=new RegExp(t,"i");return _.filter(_.keys(e.$categories),function(e){return-1!=e.search(n)})},e.saveSelectedList=function(e){return this.$$resource.post(null,"saveSelectedList",{list:e+"ListView"})},e.$eventsBlocksForView=function(t,n){var a,o,i,r;return a=e.$Preferences.defaults.SOGoFirstDayOfWeek,"day"==t?(o="dayView",i=r=n):"multicolumnday"==t?(o="multicolumndayView",i=r=n):"week"==t?(o="weekView",i=n.beginOfWeek(a),(r=new Date).setTime(i.getTime()),r.addDays(6)):"month"==t&&(o="monthView",(i=n).setDate(1),i=i.beginOfWeek(a),(r=new Date).setTime(n.getTime()),r.setMonth(r.getMonth()+1),r.addDays(-1),r=r.endOfWeek(a)),this.$eventsBlocks(o,i,r)},e.$eventsBlocks=function(t,n,a){var o,i,r,s=[],c=[],l=e.$q.defer();return o={view:t.toLowerCase(),sd:n.getDayString(),ed:a.getDayString()},this.$$resource.fetch(null,"eventsblocks",o).then(function(t){var n,a;n=function(t,n,a){var o,i=_.zipObject(this.eventsFields,n),r=new Date(1e3*i.c_startdate);return i.hour=r.getHourString(),i.blocks=[],o=new e(i),t.push(o),t},a=function(e){this[e.nbr].blocks.push(e),e.component=this[e.nbr],e.isFirst=1==this[e.nbr].blocks.length},e.$views=[],e.$timeout(function(){_.forEach(t,function(t,o){var l,d=[],u={},p={};for(t.eventsFields.splice(_.indexOf(t.eventsFields,"c_folder"),1,"pid"),t.eventsFields.splice(_.indexOf(t.eventsFields,"c_name"),1,"id"),t.eventsFields.splice(_.indexOf(t.eventsFields,"c_recurrence_id"),1,"occurrenceId"),t.eventsFields.splice(_.indexOf(t.eventsFields,"c_title"),1,"summary"),_.reduce(t.events,_.bind(n,t),d),_.forEach(_.flatten(t.blocks),_.bind(a,d)),_.forEach(_.flatten(t.allDayBlocks),_.bind(a,d)),0===s.length&&(s=_.flatMap(t.days,"date"),c=_.flatMap(t.days,"number")),i=0;i0&&(this.repeat.month={type:"bymonthday"}),angular.isUndefined(this.repeat.month)&&(this.repeat.month={}),angular.isUndefined(this.repeat.month.occurrence)&&angular.extend(this.repeat.month,{occurrence:"1",day:"SU"}),angular.isUndefined(this.repeat.months)&&(this.repeat.months=[]),angular.isUndefined(this.repeat.year)&&(this.repeat.year={}),this.repeat.count?this.repeat.end="count":this.repeat.until?(this.repeat.end="until",angular.isString(this.repeat.until)&&(this.repeat.until=e.$parseDate(this.repeat.until,{no_time:!0}))):this.repeat.end="never",this.$hasCustomRepeat=this.hasCustomRepeat(),this.isNew){var a="appointment"==this.type?"Events":"Tasks";this.classification=e.$Preferences.defaults["SOGoCalendar"+a+"DefaultClassification"].toLowerCase();var o=/-PT?([0-9]+)([MHDW])/.exec(e.$Preferences.defaults.SOGoCalendarDefaultReminder);o&&(this.$hasAlarm=!0,this.alarm.quantity=parseInt(o[1]),this.alarm.unit={M:"MINUTES",H:"HOURS",D:"DAYS",W:"WEEKS"}[o[2]]),this.sendAppointmentNotifications=e.$Preferences.defaults.SOGoAppointmentSendEMailNotifications}else angular.isUndefined(t.$hasAlarm)&&(this.$hasAlarm=angular.isDefined(t.alarm));this.destinationCalendar=this.pid,this.attendees&&_.forEach(this.attendees,function(t){t.image=e.$gravatar(t.email,32)}),this.updateFreeBusy(),this.selected=!1},e.prototype.initOrganizer=function(t){var n,a=this;t&&t.isSubscription?n=e.$User.$filter(t.owner).then(function(e){var t=e[0];a.organizer={uid:t.uid,name:t.cn,email:t.c_email}}):(this.organizer={uid:e.$settings.activeUser("login"),name:e.$settings.activeUser("identification"),email:e.$settings.activeUser("email")},n=e.$q.when()),n.then(function(){a.updateFreeBusyAttendee(a.organizer)})},e.prototype.hasCustomRepeat=function(){return angular.isUndefined(this.occurrenceId)&&angular.isDefined(this.repeat)&&(this.repeat.interval>1||angular.isDefined(this.repeat.days)&&this.repeat.days.length>0||angular.isDefined(this.repeat.monthdays)&&this.repeat.monthdays.length>0||angular.isDefined(this.repeat.months)&&this.repeat.months.length>0||angular.isDefined(this.repeat.month)&&angular.isDefined(this.repeat.month.type)||angular.isDefined(this.repeat.dates)&&this.repeat.dates.length>0)},e.prototype.isEditable=function(){return!this.occurrenceId&&!this.isReadOnly},e.prototype.isEditableOccurrence=function(){return this.occurrenceId&&!this.isReadOnly},e.prototype.isInvitation=function(){return!this.occurrenceId&&this.userHasRSVP},e.prototype.isInvitationOccurrence=function(){return this.occurrenceId&&this.userHasRSVP},e.prototype.showPercentComplete=function(){return"task"==this.type&&this.percentComplete>0&&"cancelled"!=this.status},e.prototype.enablePercentComplete=function(){return"task"==this.type&&"not-specified"!=this.status&&"cancelled"!=this.status},e.prototype.coversFreeBusy=function(e,t,n){return angular.isDefined(this.freebusy[e])&&angular.isDefined(this.freebusy[e][t])&&1==this.freebusy[e][t][n]},e.prototype.updateFreeBusyCoverage=function(){var e=this,t={};if(this.start&&this.end){var n=new Date(this.start.getTime()),a=new Date(this.end.getTime()),o=parseInt(n.getMinutes()/15+.5),i=parseInt(a.getMinutes()/15+.5);return n.setMinutes(15*o),a.setMinutes(15*i),_.forEach(n.daysUpTo(a),function(n,a){var i,r=n.getDate(),s=n.getDayString();if(s==e.start.getDayString())for(i=n.getHours().toString(),t[s]={},t[s][i]=[];o>0;)t[s][i].push(0),o--;else n=n.beginOfDay(),t[s]={};for(;n.getTime()0},e.prototype.addAttachUrl=function(e){if(angular.isUndefined(this.attachUrls))this.attachUrls=[{value:e}];else{for(var t=0;t-1&&this.attachUrls.length>e&&this.attachUrls.splice(e,1)},e.prototype.$addDueDate=function(){this.due=new Date,this.due.setMinutes(15*Math.round(this.due.getMinutes()/15)),this.dueDate=this.due.toISOString()},e.prototype.$deleteDueDate=function(){delete this.due,delete this.dueDate},e.prototype.$addStartDate=function(){this.start=new Date,this.start.setMinutes(15*Math.round(this.start.getMinutes()/15))},e.prototype.$deleteStartDate=function(){delete this.start,delete this.startDate},e.prototype.$addRecurrenceDate=function(){var e=new Date;e.setMinutes(15*Math.round(e.getMinutes()/15)),angular.isUndefined(this.repeat.dates)&&(this.repeat={frequency:"custom",dates:[]}),this.repeat.dates.push(e)},e.prototype.$deleteRecurrenceDate=function(e){e>-1&&this.repeat&&this.repeat.dates&&this.repeat.dates.length>e&&this.repeat.dates.splice(e,1)},e.prototype.$reset=function(){var e=this;angular.forEach(this,function(t,n){"constructor"!=n&&"$"!=n[0]&&delete e[n]}),this.init(this.$shadowData),this.$shadowData=this.$omit()},e.prototype.$reply=function(){var t,n=this,a=[this.pid,encodeURIComponent(this.id)];return this.occurrenceId&&a.push(this.occurrenceId),t={reply:this.reply,delegatedTo:this.delegatedTo,alarm:this.$hasAlarm?this.alarm:{}},e.$$resource.save(a.join("/"),t,{action:"rsvpAppointment"}).then(function(e){return n.$shadowData=n.$omit(),e})},e.prototype.$adjust=function(t){var n=[this.pid,encodeURIComponent(this.id)];return _.every(_.values(t),function(e){return 0===e})?e.$q.when():(this.occurrenceId&&n.push(this.occurrenceId),e.$log.debug("adjust "+n.join("/")+" "+JSON.stringify(t)),e.$$resource.save(n.join("/"),t,{action:"adjust"}))},e.prototype.$save=function(t){var n,a,o,i,r=this;return o=this.$omit(),i=e.$Preferences.$mdDateLocaleProvider,o.startDate=o.start?o.start.format(i,"%Y-%m-%d"):"",o.startTime=o.start?o.start.format(i,"%H:%M"):"",o.endDate=o.end?o.end.format(i,"%Y-%m-%d"):"",o.endTime=o.end?o.end.format(i,"%H:%M"):"",o.dueDate=o.due?o.due.format(i,"%Y-%m-%d"):"",o.dueTime=o.due?o.due.format(i,"%H:%M"):"",o.completedDate=o.completed?o.completed.format(i,"%Y-%m-%d"):"",this.hasCustomRepeat()?"monthly"==this.repeat.frequency&&this.repeat.month.type&&"byday"==this.repeat.month.type&&"relative"!=this.repeat.month.day||"yearly"==this.repeat.frequency&&this.repeat.year.byday?(delete o.repeat.monthdays,o.repeat.days=[{day:this.repeat.month.day,occurrence:this.repeat.month.occurrence.toString()}]):"monthly"!=this.repeat.frequency&&"yearly"!=this.repeat.frequency||!this.repeat.month.type?"custom"==this.repeat.frequency&&this.repeat.dates&&_.forEach(o.repeat.dates,function(e,t,n){n[t]={date:e.format(i,"%Y-%m-%d"),time:e.format(i,"%H:%M")}}):(delete o.repeat.days,"relative"==this.repeat.month.day&&(o.repeat.monthdays=[this.repeat.month.occurrence])):this.repeat.frequency&&"never"!=this.repeat.frequency&&(o.repeat={frequency:this.repeat.frequency}),o.startDate&&this.repeat.frequency&&"never"!=this.repeat.frequency?"until"==this.repeat.end&&this.repeat.until?o.repeat.until=this.repeat.until.stringWithSeparator("-"):"count"==this.repeat.end&&this.repeat.count?o.repeat.count=this.repeat.count:(delete o.repeat.until,delete o.repeat.count):delete o.repeat,"not-specified"==this.status?delete o.status:"completed"!=this.status&&delete o.completedDate,o.startDate&&this.$hasAlarm?!this.alarm.action||"email"!=this.alarm.action||this.attendees&&this.attendees.length>0||(o.alarm.attendees=0,o.alarm.organizer=1):o.alarm={},a=[this.pid,encodeURIComponent(this.id)],this.isNew&&(n={action:"saveAs"+this.type.capitalize()}),this.occurrenceId&&a.push(this.occurrenceId),angular.extend(o,t),e.$$resource.save(a.join("/"),o,n).then(function(e){return r.$shadowData=r.$omit(),e})},e.prototype.remove=function(t){var n=[this.pid,encodeURIComponent(this.id)];return t&&this.occurrenceId&&n.push(this.occurrenceId),e.$$resource.remove(n.join("/"))},e.prototype.$unwrap=function(t){var n=this;this.$futureComponentData=t,this.$futureComponentData.then(function(e){n.init(e),n.$shadowData=n.$omit()},function(t){angular.extend(n,t),n.isError=!0,e.$log.error(n.error)})},e.prototype.$omit=function(){var e={};return angular.forEach(this,function(t,n){"constructor"==n||"$hasAlarm"!=n&&"$"==n[0]||"blocks"==n||(e[n]=angular.copy(t))}),e},e.prototype.repeatDescription=function(){var e=null;return this.repeat&&(e=l("repeat_"+this.repeat.frequency.toUpperCase())),e},e.prototype.alarmDescription=function(){var e,t=null;return this.alarm&&(e=["reminder",this.alarm.quantity],this.alarm.quantity>0&&e.push(this.alarm.unit.toUpperCase(),this.alarm.reference.toUpperCase()),(e=e.join("_"))===(t=l(e))&&(t=[this.alarm.quantity,l("reminder_"+this.alarm.unit.toUpperCase()),l("reminder_"+this.alarm.reference.toUpperCase())].join(" "))),t},e.prototype.copyTo=function(t){return e.$$resource.post(this.pid+"/"+encodeURIComponent(this.id),"copy",{destination:t})},e.prototype.moveTo=function(t){return e.$$resource.post(this.pid+"/"+encodeURIComponent(this.id),"move",{destination:t})},e.prototype.toString=function(){return"[Component "+this.id+"]"}}(),function(){"use strict";e.$inject=["$scope","$rootScope","$state","$stateParams","sgHotkeys","Calendar","Component","Preferences","stateEventsBlocks"];function e(t,n,a,o,i,r,s,c,d){var u,p=this,h=[];angular.isUndefined(e.expandedAllDays)&&(e.expandedAllDays=!1),p.selectedDate=o.day.asDate(),p.expandedAllDays=e.expandedAllDays,p.toggleAllDays=function(){e.expandedAllDays=!e.expandedAllDays,p.expandedAllDays=e.expandedAllDays},p.views=d,p.changeDate=y,p.changeView=v,this.$onInit=function(){(e=h).push(i.createHotkey({key:l("hotkey_today"),description:l("Today"),callback:y,args:new Date})),e.push(i.createHotkey({key:l("hotkey_dayview"),description:l("Day"),callback:v,args:"day"})),e.push(i.createHotkey({key:l("hotkey_weekview"),description:l("Week"),callback:v,args:"week"})),e.push(i.createHotkey({key:l("hotkey_monthview"),description:l("Month"),callback:v,args:"month"})),e.push(i.createHotkey({key:l("hotkey_multicolumndayview"),description:l("Multicolumn Day View"),callback:v,args:"multicolumnday"})),e.push(i.createHotkey({key:"left",description:l("Move backward"),callback:m,args:-1})),e.push(i.createHotkey({key:"right",description:l("Move forward"),callback:m,args:1})),_.forEach(e,function(e){i.registerHotkey(e)});var e;f(p.selectedDate),u=n.$on("calendars:list",g),t.$on("$destroy",function(){u(),_.forEach(h,function(e){i.deregisterHotkey(e)})})};function m(e,t){var n;"week"==o.view?n=p.selectedDate.beginOfWeek(c.defaults.SOGoFirstDayOfWeek).addDays(7*t):"month"==o.view?((n=p.selectedDate).setDate(1),n.setMonth(n.getMonth()+t)):n=p.selectedDate.addDays(t),y(e,n)}function f(e){"month"==o.view?(e.setDate(1),e.setHours(12),e.$dateFormat="%B %Y"):"week"==o.view?(e.setTime(e.beginOfWeek(c.defaults.SOGoFirstDayOfWeek).getTime()),e.$dateFormat=l("Week %d").replace("%d","%U")):e.$dateFormat="%A"}function g(){s.$eventsBlocksForView(o.view,o.day.asDate()).then(function(e){var t,n,a;for(t=0;t=t;n--)p.views.splice(n,1)})}function y(e,t){var n=t?t.getDayString():angular.element(e.currentTarget).attr("date");t&&f(t),a.go("calendars.view",{day:n})}function v(e,t){a.go("calendars.view",{view:t})}}angular.module("SOGo.SchedulerUI").controller("CalendarController",e)}(),function(){"use strict";e.$inject=["$rootScope","$scope","$q","$timeout","$state","$mdDialog","sgHotkeys","sgFocus","Dialog","Preferences","CalendarSettings","Calendar","Component","Alarm"];function e(e,t,n,a,o,i,r,s,c,d,u,p,h,m){var f,g,y=this,v=[];g={title:"Title",location:"Location",calendarName:"Calendar",start:"Start",priority:"Priority",category:"Category",status:"Status",events:{end:"End"},tasks:{end:"Due Date"}},y.component=h,y.componentType="events",y.selectedList=0,y.selectComponentType=$,y.unselectComponents=function(){_.forEach(h["$"+y.componentType],function(e){e.selected=!1}),y.mode.multiple=0},y.selectAll=function(){_.forEach(h["$"+y.componentType],function(e){e.selected=!0}),y.mode.multiple=h["$"+y.componentType].length},y.searchMode=C,y.toggleComponentSelection=function(e,t){t.selected=!t.selected,y.mode.multiple+=t.selected?1:-1,e.preventDefault(),e.stopPropagation()},y.confirmDeleteSelectedComponents=function(){c.confirm(l("Warning"),l("Are you sure you want to delete the selected components?"),{ok:l("Delete")}).then(function(){var t=_.filter(h["$"+y.componentType],function(e){return e.selected});p.$deleteComponents(t).then(function(){y.mode.multiple=0,e.$emit("calendars:list")})})},y.openEvent=function(e,t){b(e,t,"appointment")},y.openTask=function(e,t){b(e,t,"task")},y.newComponent=D,y.filter=function(e){{if(!e)return h["$query"+y.componentType.capitalize()].filterpopup;h.$filter(y.componentType,{filterpopup:e})}},y.filteredBy=function(e){return h["$query"+y.componentType.capitalize()].filterpopup==e},y.sort=function(e){{if(!e){var t=h["$query"+y.componentType.capitalize()].sort;return g[t]||g[y.componentType][t]}h.$filter(y.componentType,{sort:e})}},y.sortedBy=function(e){return h["$query"+y.componentType.capitalize()].sort==e},y.reload=function(){p.reloadWebCalendars().finally(function(){e.$emit("calendars:list")})},y.cancelSearch=function(){y.mode.search=!1,h.$filter(y.componentType,{value:""})},y.mode={search:!1,multiple:0},this.$onInit=function(){(n=v).push(r.createHotkey({key:l("hotkey_search"),description:l("Search"),callback:C})),n.push(r.createHotkey({key:l("hotkey_create_event"),description:l("Create a new event"),callback:D,args:"appointment"})),n.push(r.createHotkey({key:l("hotkey_create_task"),description:l("Create a new task"),callback:D,args:"task"})),_.forEach(n,function(e){r.registerHotkey(e)});var n;f="events","tasksListView"==d.settings.Calendar.SelectedList&&(y.selectedList=1,f="tasks"),$(f,{reload:!0}),e.$on("calendars:list",function(){h.$filter(y.componentType,{reload:!0})}),e.$on("calendar:dragend",k),t.$on("$destroy",function(){_.forEach(v,function(e){r.deregisterHotkey(e)})})};function $(e,t){(t&&t.reload||y.componentType!=e)&&(angular.isUndefined(h["$"+e])&&h.$filter(e),y.unselectComponents(),y.componentType=e,h.saveSelectedList(e))}function C(){y.mode.search=!0,s("search")}function b(e,t,a){if(t.viewable){var o=n.when();angular.isUndefined(t.$futureComponentData)&&(o=(t=p.$get(t.pid).$getComponent(t.id,t.occurrenceId)).$futureComponentData),o.then(function(){var n="UIx"+a.capitalize()+"ViewTemplate";i.show({parent:angular.element(document.body),targetEvent:e,clickOutsideToClose:!0,escapeToClose:!0,templateUrl:n,controller:"ComponentController",controllerAs:"editor",locals:{stateComponent:t}})})}}function D(e,t,n){var a;n?(a=n).updateFreeBusy():a=new h({pid:p.$defaultCalendar(),type:t});var o="UIx"+t.capitalize()+"EditorTemplate";return i.show({parent:angular.element(document.body),targetEvent:e,clickOutsideToClose:!0,escapeToClose:!0,templateUrl:o,controller:"ComponentEditorController",controllerAs:"editor",locals:{stateComponent:a}})}function k(t){var n,o,r,s,c,d,f;n=h.$ghost.component,o=h.$ghost.pointerHandler,n.isNew?(r=o.currentEventCoordinates,n.summary="",n.isAllDay&&(r.duration-=96),n.setDelta(15*r.duration),D(null,"appointment",n).catch().finally(function(){a(function(){h.$resetGhost()})})):(s=o.currentEventCoordinates.getDelta(o.originalEventCoordinates),c={days:s.dayNumber,start:15*s.start,duration:15*s.duration},o.originalCalendar&&0!==s.dayNumber&&(d=o.currentEventCoordinates.dayNumber,f=_.filter(p.$findAll(),{active:1}),c.destination=f[d].id,c.days=0),n.isException||!n.occurrenceId?n.$adjust(c).then(function(){e.$emit("calendars:list"),m.getAlarms()},function(e){y(e,n,c)}).finally(function(){a(function(){h.$resetGhost()})}):n.occurrenceId&&i.show({clickOutsideToClose:!0,escapeToClose:!0,locals:{component:n,params:c},template:['',' ',"

"+l("editRepeatingItem")+"

","
"," ",' '+l("button_thisOccurrenceOnly")+"",' '+l("button_allOccurrences")+""," ","
"].join(""),controller:g}).then(function(){e.$emit("calendars:list")},function(){}).finally(function(){a(function(){h.$resetGhost()})})),g.$inject=["$scope","$mdDialog","component","params"];function g(e,t,n,a){e.updateThisOccurrence=function(){n.$adjust(a).then(t.hide,function(e){t.cancel().then(function(){y(e,n,a)},function(){})})},e.updateAllOccurrences=function(){delete n.occurrenceId,n.$adjust(a).then(t.hide,function(e){t.cancel().then(function(){y(e,n,a)},function(){})})}}function y(t,n,a){t.status==u.ConflictHTTPErrorCode&&t.data&&t.data.message&&angular.isObject(t.data.message)&&i.show({parent:angular.element(document.body),clickOutsideToClose:!1,escapeToClose:!1,templateUrl:"UIxAttendeeConflictDialog",controller:v,controllerAs:"$AttendeeConflictDialogController",locals:{component:n,params:a,conflictError:t.data.message}}).then(function(){e.$emit("calendars:list")},function(){})}v.$inject=["$scope","$mdDialog","component","params","conflictError"];function v(e,t,n,a,o){this.conflictError=o,this.cancel=t.cancel,this.save=function(){n.$adjust(angular.extend({ignoreConflicts:!0},a)).then(t.hide)}}}this.ascending=function(){return h["$query"+y.componentType.capitalize()].asc}}angular.module("SOGo.SchedulerUI").controller("CalendarListController",e)}(),function(){"use strict";e.$inject=["$rootScope","$scope","$window","$mdDialog","$log","$mdToast","Dialog","sgSettings","Preferences","Calendar"];function e(e,t,n,a,o,i,r,s,c,d){var u=this;u.activeUser=s.activeUser,u.service=d,u.newCalendar=function(e){r.prompt(l("New calendar"),l("Name of the Calendar")).then(function(e){var t=new d({name:e,isEditable:!0,isRemote:!1,owner:UserLogin});t.$id().then(function(){d.$add(t)})})},u.addWebCalendar=function(){r.prompt(l("Subscribe to a web calendar..."),l("URL of the Calendar"),{inputType:"url"}).then(function(t){d.$addWebCalendar(t).then(function(n){angular.isObject(n)&&a.show({parent:angular.element(document.body),clickOutsideToClose:!0,escapeToClose:!0,templateUrl:"UIxWebCalendarAuthDialog",controller:e,controllerAs:"$WebCalendarAuthDialogController",locals:{url:t,calendar:n}})})}),e.$inject=["scope","$mdDialog","url","calendar"];function e(e,t,n,a){var o=this,i=n.split("/"),r=i[2];o.title=l("Please identify yourself to %{0}").formatted(r),o.url=n,o.authenticate=function(e){!e.$valid&&e.$error.required||a.setCredentials(o.username,o.password).then(function(e){t.hide()},function(t){e.password.$setValidity("credentials",!1)})},o.cancel=function(){t.cancel()}}},u.subscribeToFolder=function(e){o.debug("subscribeToFolder "+e.owner+e.name),d.$subscribe(e.owner,e.name).then(function(e){i.show(i.simple().content(l("Successfully subscribed to calendar")).position("top right").hideDelay(3e3))})},u.filter={name:""},u.sortableMode=!1,u.toggleSortableMode=function(){u.sortableMode=!u.sortableMode,u.filter.name=""},u.resetSort=function(){d.saveFoldersOrder()},u.sortableCalendars={scrollableContainer:"#sidenav-content",containment:"md-list",orderChanged:function(){d.saveFoldersOrder(_.flatMap(d.$findAll(),"id"))},accept:function(e,t,n){return e.sortableScope.element[0]==t.element[0]}},this.$onInit=function(){u.categories=_.map(c.defaults.SOGoCalendarCategories,function(e){return{id:e.asCSSIdentifier(),name:e,color:c.defaults.SOGoCalendarCategoriesColors[e]}}),t.$watch(function(){return _.union(_.map(d.$calendars,function(e){return _.pick(e,["id","active","color"])}),_.map(d.$subscriptions,function(e){return _.pick(e,["id","active","color"])}),_.map(d.$webcalendars,function(e){return _.pick(e,["id","active","color"])}))},function(t,n){var a,i,r;a=_.intersectionBy(t,n,"id"),i=_.map(_.filter(a,function(e){var t=_.find(n,{id:e.id});return!_.isEqual(e,t)}),"id"),r=d.$q.when(),i.length>0&&(o.debug(i.join(", ")+" changed"),r=d.saveFoldersActivation(i)),(i.length>0||a.length!=t.length||a.length!=n.length)&&r.then(function(){e.$emit("calendars:list")})},!0)}}angular.module("SOGo.SchedulerUI").controller("CalendarsController",e)}(),function(){"use strict";e.$inject=["$rootScope","$mdDialog","Calendar","Component","AddressBook","Alarm","Account","stateComponent"];function e(e,t,n,a,o,i,r,s){var c,d=this;d.calendarService=n,d.service=a,d.component=s,d.close=function(){t.hide()},d.highPriority=function(){return d.component&&d.component.priority&&d.component.priority<5},d.cardFilter=function(e){return o.$filterAll(e)},d.newMessageWithAllRecipients=function(e){var t=_.map(d.component.attendees,function(e){return e.name+" <"+e.email+">"});u(e,t)},d.newMessageWithRecipient=function(e,t,n){u(e,[t+" <"+n+">"])},d.edit=p,d.editAllOccurrences=function(){(c=n.$get(d.component.pid).$getComponent(d.component.id)).$futureComponentData.then(function(){d.component=c,p()})},d.reply=h,d.replyAllOccurrences=function(){(c=n.$get(d.component.pid).$getComponent(d.component.id)).$futureComponentData.then(function(){c.reply=d.component.reply,c.delegatedTo=d.component.delegatedTo,c.$hasAlarm=d.component.$hasAlarm,c.alarm=d.component.alarm,h(c)})},d.deleteOccurrence=function(){d.component.remove(!0).then(function(){e.$emit("calendars:list"),t.hide()})},d.deleteAllOccurrences=function(){d.component.remove().then(function(){e.$emit("calendars:list"),t.hide()})},d.toggleRawSource=function(e){n.$$resource.post(d.component.pid+"/"+d.component.id,"raw").then(function(n){t.hide(),t.show({parent:angular.element(document.body),targetEvent:e,clickOutsideToClose:!0,escapeToClose:!0,template:['',' ','
',"  
"," ",' '+l("Close")+""," ","
"].join(""),controller:a,locals:{data:n}}),a.$inject=["scope","$mdDialog","data"];function a(e,t,n){e.data=n,e.close=function(){t.hide()}}})},d.copySelectedComponent=function(n){d.component.copyTo(n).then(function(){t.hide(),e.$emit("calendars:list")})},d.moveSelectedComponent=function(n){d.component.moveTo(n).then(function(){t.hide(),e.$emit("calendars:list")})},d.organizer=[s.organizer];function u(e,n){r.$findAll().then(function(a){var o=_.find(a,function(e){if(0===e.id)return e});o.$getMailboxes().then(function(a){o.$newMessage().then(function(a){angular.extend(a.editable,{to:n,subject:d.component.summary}),t.show({parent:angular.element(document.body),targetEvent:e,clickOutsideToClose:!1,escapeToClose:!1,templateUrl:"../Mail/UIxMailEditor",controller:"MessageEditorController",controllerAs:"editor",locals:{stateAccount:o,stateMessage:a}})})})}),e.preventDefault(),e.stopPropagation()}function p(){var e="vevent"==d.component.component?"Appointment":"Task";t.hide().then(function(){var n="UIx"+e+"EditorTemplate";t.show({parent:angular.element(document.body),clickOutsideToClose:!0,escapeToClose:!0,templateUrl:n,controller:"ComponentEditorController",controllerAs:"editor",locals:{stateComponent:d.component}})})}function h(n){(n||d.component).$reply().then(function(){e.$emit("calendars:list"),i.getAlarms(),t.hide()})}}t.$inject=["$rootScope","$scope","$log","$timeout","$mdDialog","sgFocus","User","CalendarSettings","Calendar","Component","AddressBook","Card","Alarm","stateComponent"];function t(e,t,n,a,o,i,r,s,c,d,u,p,h,m){var f,g,y=this;y.service=c,y.component=m,y.categories={},y.showRecurrenceEditor=y.component.$hasCustomRepeat,y.toggleRecurrenceEditor=function(){y.showRecurrenceEditor=!y.showRecurrenceEditor,y.component.$hasCustomRepeat=y.showRecurrenceEditor},y.recurrenceMonthDaysAreRequired=function(){return y.component&&"monthly"==y.component.repeat.frequency&&"bymonthday"==y.component.repeat.month.type},y.showAttendeesEditor=y.component.attendees&&y.component.attendees.length,y.toggleAttendeesEditor=function(){y.showAttendeesEditor=!y.showAttendeesEditor},y.changeFrequency=function(){"custom"==y.component.repeat.frequency&&(y.showRecurrenceEditor=!0)},y.changeCalendar=function(){y.component.attendees&&y.component.attendees.length>0&&y.component.initOrganizer(c.$get(y.component.destinationCalendar))},y.cardFilter=function(e){return u.$filterAll(e),u.$cards},y.addAttendee=function(e){var t,n,a=!y.component.attendees||0===y.component.attendees.length,o=c.$get(y.component.destinationCalendar),i=a?{organizerCalendar:o}:{},r=/([\w\!\#$\%\&\'\*\+\-\/\=\?\^\`{\|\}\~]+\.)*[\w\!\#$\%\&\'\*\+\-\/\=\?\^\`{\|\}\~]+@((((([a-z0-9]{1}[a-z0-9\-]{0,62}[a-z0-9]{1})|[a-z])\.)+[a-z]{2,})|(\d{1,3}\.){3}\d{1,3}(\:\d{1,5})?)/i;function s(e){var t=e.match(r),n=t[0],o=e.replace(new RegExp(" *? *"),"");return y.showAttendeesEditor|=a,y.searchText="",new p({c_cn:_.trim(o,' "'),emails:[{value:n}]})}if(angular.isString(e)){for(n="",t=0;t5?l("low"):y.component.priority>4?l("normal"):l("high")},y.changeAlarmRelation=v,y.onAlarmChange=function(e){if("task"!==y.component.type)return;y.component.start||"START"!=y.component.alarm.relation?y.component.due||"END"!=y.component.alarm.relation||(y.component.alarm.relation="START"):y.component.alarm.relation="END";v(e)},y.reset=$,y.cancel=function(e){$(e),y.component.isNew&&(y.component=null);o.hide()},y.edit=C,y.save=function(t,n){v(t),t.$valid&&y.component.$save(n).then(function(t){e.$emit("calendars:list"),h.getAlarms(),o.hide()},function(e){e.status==s.ConflictHTTPErrorCode&&_.isObject(e.data.message)?y.attendeeConflictError=e.data.message:C(t)})},y.attendeeConflictError=!1,y.attendeesEditor={days:b(),hours:function(){for(var e=[],t=0;t<=23;t++)e.push(t.toString());return e}()},y.addStartDate=function(e){y.component.$addStartDate(),f=new Date(y.component.start.getTime()),y.component.due||(y.component.alarm.relation="START");v(e)},y.removeStartDate=function(e){y.component.$deleteStartDate(),y.component.due&&(y.component.alarm.relation="END");v(e)},y.addDueDate=function(e){y.component.$addDueDate(),new Date(y.component.due.getTime()),y.component.start||(y.component.alarm.relation="END");v(e)},y.removeDueDate=function(e){y.component.$deleteDueDate(),y.component.start&&(y.component.alarm.relation="START");v(e)},y.adjustStartTime=function(){if(y.component.start){0!==f.valueOf()-y.component.start.valueOf()&&(f=new Date(y.component.start.getTime()),"appointment"===y.component.type&&(y.component.end=new Date(y.component.start.getTime()),y.component.end.addMinutes(y.component.delta),g=new Date(y.component.end.getTime())),D())}},y.adjustEndTime=function(){if(y.component.end){var e=g.valueOf()-y.component.end.valueOf();0!==e&&((e=y.component.start.minutesTo(y.component.end))<0?y.component.end=new Date(g.getTime()):(y.component.delta=e,g=new Date(y.component.end.getTime())),D())}},y.adjustDueTime=function(){new Date(y.component.due.getTime())},y.component.start&&(f=new Date(y.component.start.getTime())),y.component.end&&(g=new Date(y.component.end.getTime())),y.component.due&&new Date(y.component.due.getTime());function v(e){"task"==y.component.type&&y.component.$hasAlarm&&(!y.component.start&&"START"==y.component.alarm.relation||!y.component.due&&"END"==y.component.alarm.relation)?e.alarmRelation.$setValidity("alarm",!1):e.alarmRelation.$setValidity("alarm",!0)}function $(e){y.component.$reset(),e.$setPristine()}function C(e){y.attendeeConflictError=!1,e.$setPristine(),e.$setDirty()}function b(){var e=[];return y.component.start&&y.component.end&&(e=y.component.start.daysUpTo(y.component.end)),_.map(e,function(e){return{stringWithSeparator:e.stringWithSeparator(),getDayString:e.getDayString()}})}function D(){y.attendeesEditor.days=b(),y.component.updateFreeBusy()}}angular.module("SOGo.SchedulerUI").controller("ComponentController",e).controller("ComponentEditorController",t)}(),function(){"use strict";e.$inject=["$scope","Calendar"];function e(e,t){this.day=e.day,this.dayNumber=e.dayNumber,this.dayString=e.dayString,this.calendarData=function(){var n,a,o;return e.calendar?(n=e.calendar,o=_.filter(t.$findAll(),{active:1}),a=_.findIndex(o,function(e){return e.id==n}),{pid:n,index:a}):null}}angular.module("SOGo.SchedulerUI").directive("sgCalendarDay",function(){return{restrict:"E",scope:{day:"@sgDay",dayNumber:"@sgDayNumber",dayString:"@sgDayString",calendar:"@sgCalendar"},controller:e}})}(),function(){"use strict";e.$inject=["CalendarSettings"];function e(e){return{restrict:"E",scope:{block:"=sgBlock",clickBlock:"&sgClick"},replace:!0,template:function(e,t){var n=_.has(t,"sgCalendarGhost")?"":"::";return['
",'
','
",'
',' {{'+n+"block.component.c_priority}}"," {{ "+n+"block.component.summary }}",' ',' ',' ',' ',' '," ",'
',' place ',"
","
","
",'
{{ block.startHour }}
','
{{ block.endHour }}
',"
"].join("")},link:function(e,t,n){var a,o,i;_.has(n,"sgCalendarGhost")||(a=100/e.block.siblings,o=e.block.position*a,0===(i=100-(e.block.position+1)*a)&&(i=10),t.css("left",o+"%"),t.css("right",i+"%"),e.block.component&&e.block.component.c_isallday||(t.addClass("starts"+e.block.start),t.addClass("lasts"+e.block.length)),e.block.userState&&t.addClass("sg-event--"+e.block.userState),e.block.component&&(t.addClass("bg-folder"+e.block.component.pid),t.addClass("contrast-bdr-folder"+e.block.component.pid),0===e.block.component.c_isopaque&&t.addClass("sg-event--transparent"),0===e.block.component.c_status&&t.addClass("sg-event--cancelled")))}}}angular.module("SOGo.SchedulerUI").directive("sgCalendarDayBlock",e)}(),function(){"use strict";angular.module("SOGo.SchedulerUI").directive("sgCalendarDayTable",function(){return{restrict:"E",scope:{blocks:"=sgBlocks",day:"@sgDay",clickBlock:"&sgClick"},template:["'].join("")}})}(),function(){"use strict";e.$inject=["$rootScope","$timeout","CalendarSettings","Calendar","Component"];function e(e,t,n,a,o){return{restrict:"A",require:["^sgCalendarDay","^sgCalendarScrollView"],link:function(t,i,r,s){var c,l,d,u,p;c=i[0],l=s[0],d=s[1],u=-1,i.addClass("sg-event--ghost md-whiteframe-3dp ng-hide");var h=e.$on("calendar:dragstart",function(){var e,n,a;t.block=o.$ghost,(n=l.calendarData())&&(u=n.index,e=n.pid,p=t.block.pointerHandler.originalCalendar.index);e||(e=t.block.component.pid);(a=t.block.component.blocks[0].userState)&&i.addClass("sg-event--"+a);i.addClass("bg-folder"+e)}),m=e.$on("calendar:drag",function(){var e,o,r,s,c,h,m,f;if(e=!1,a.$view&&a.$view.type==d.type){if(o="multiday-allday"===d.type,r=t.block.component.c_isallday,s=t.block.pointerHandler.currentEventCoordinates.dayNumber,c=t.block.pointerHandler.currentEventCoordinates.start,m=t.block.pointerHandler.currentEventCoordinates.duration,f=n.EventDragDayLength-c,angular.isUndefined(m))return;for((h=m)>f&&(h=f),s>-1&&(u<0&&s==l.dayNumber||s==u&&(p==u||!t.block.component.isException))&&(e=!0,o||(r||(t.block.startHour=($=c,g($))),a.$view.quarterHeight?(i.css("top",c*a.$view.quarterHeight+"px"),i.css("height",h*a.$view.quarterHeight+"px")):i.css("top",a.$view.topOffset+"px")),i.removeClass("fg-folder"+t.block.component.pid),i.removeClass("sg-event--ghost--last"),i.addClass("sg-event--ghost--first"),t.block.isFirst=!0),m-=h,s++;!e&&m&&s<=l.dayNumber;)(h=m)>n.EventDragDayLength&&(h=n.EventDragDayLength),s>-1&&s==l.dayNumber&&(e=!0,o||(i.css("top",a.$view.topOffset+"px"),a.$view.quarterHeight&&i.css("height",h*a.$view.quarterHeight+"px")),i.removeClass("sg-event--ghost--first"),i.removeClass("sg-event--ghost--last"),i.addClass("fg-folder"+t.block.component.pid)),m-=h,s++,c=0;m||(o?i.addClass("sg-event--ghost--last"):r||(t.block.endHour=(y=c,v=h,g((y+v)%n.EventDragDayLength))))}var y,v;var $;e?i.removeClass("ng-hide"):i.addClass("ng-hide")}),f=e.$on("calendar:dragend",function(){_.forEachRight(c.classList,function(e){/^bg-folder/.test(e)&&i.removeClass(e)}),i.addClass("ng-hide")});t.$on("$destroy",function(){h(),m(),f()});function g(e){var t,n,a;return t=15*e,(n=Math.floor(t/60))<10&&(n="0"+n),(a=t%60)<10&&(a="0"+a),n+":"+a}}}}angular.module("SOGo.SchedulerUI").directive("sgCalendarGhost",e)}(),function(){"use strict";e.$inject=["CalendarSettings"];function e(e){return{restrict:"E",scope:{component:"=sgComponent",clickComponent:"&sgClick"},replace:!0,template:function(e,t){return['
','
",' '," {{ ::component.c_title }}",' ',' ',' ',' ',' '," ",'
',' access_time ',"
",'
',' place ',"
","
"].join("")},link:function(e,t,n){e.component.viewable&&t.addClass("md-clickable");e.component.userstate&&t.addClass("sg-event--"+e.component.userstate);t.addClass("bg-folder"+e.component.pid),t.addClass("contrast-bdr-folder"+e.component.pid),0===e.component.c_isopaque&&t.addClass("sg-event--transparent");0===e.component.c_status&&t.addClass("sg-event--cancelled")}}}angular.module("SOGo.SchedulerUI").directive("sgCalendarListEvent",e)}(),function(){e.$inject=["$rootScope","$scope","$element","$timeout","$mdToast","$mdPanel","$mdMedia","$mdSidenav","sgConstant","Dialog","Calendar"];function e(e,t,n,a,o,i,r,s,c,d,u){var p=this;this.$onInit=function(){this.editMode=!1},this.$postLink=function(){this.clickableElement=n.find("p")[0],this.nameElements=this.clickableElement.getElementsByClassName("sg-calendar-name"),this.inputContainer=n.find("md-input-container")[0],this.inputElement=n.find("input")[0],this.moreOptionsButton=_.last(n.find("md-icon")),this.updateCalendarName()},this.updateCalendarName=function(){_.forEach(this.nameElements,function(e){e.innerHTML=p.calendar.name})},this.editFolder=function(e){e.stopPropagation(),e.preventDefault(),this.editMode=!0,this.inputElement.value=this.calendar.name,this.clickableElement.classList.add("ng-hide"),this.inputContainer.classList.remove("ng-hide"),"touchend"==e.srcEvent.type?a(function(){p.inputElement.focus(),p.inputElement.select()},200):(this.inputElement.select(),this.inputElement.focus()),this.panel&&this.panel.close()},this.saveFolder=function(e){this.inputElement.disabled||(this.calendar.name=this.inputElement.value,this.inputElement.disabled=!0,this.calendar.$rename().then(function(e){p.editMode=!1,p.inputContainer.classList.add("ng-hide"),p.clickableElement.classList.remove("ng-hide"),p.updateCalendarName()}).finally(function(){p.inputElement.disabled=!1}))},this.revertEditing=function(){this.editMode=!1,this.clickableElement.classList.remove("ng-hide"),this.inputContainer.classList.add("ng-hide"),this.inputElement.value=this.calendar.name},this.confirmDelete=function(){this.calendar.isSubscription?this.calendar.$delete().catch(function(e,t){d.alert(l('An error occured while deleting the calendar "%{0}".',p.calendar.name),l(e.error))}):d.confirm(l("Warning"),l('Are you sure you want to delete the calendar "%{0}"?',this.calendar.name),{ok:l("Delete")}).then(function(){p.calendar.$delete().catch(function(e,t){d.alert(l('An error occured while deleting the calendar "%{0}".',p.calendar.name),l(e.error))})})},this.showMenu=function(t){var n=i.newPanelPosition().relativeTo(this.moreOptionsButton).addPanelPosition(i.xPosition.ALIGN_START,i.yPosition.ALIGN_TOPS),a=i.newPanelAnimation().openFrom(this.moreOptionsButton).duration(100).withAnimation(i.animation.FADE),r={attachTo:angular.element(document.body),locals:{itemCtrl:this,calendar:this.calendar,editFolder:angular.bind(this,this.editFolder),confirmDelete:angular.bind(this,this.confirmDelete)},bindToController:!0,controller:s,controllerAs:"$menuCtrl",position:n,animation:a,targetEvent:t,templateUrl:"UIxCalendarMenu",trapFocus:!0,clickOutsideToClose:!0,escapeToClose:!0,focusOnOpen:!0};i.open(r).then(function(e){p.panel=e,e.panelEl.one("click",function(){e.close()})}),s.$inject=["mdPanelRef","$mdDialog","FileUploader","User"];function s(n,a,i,r){var s=this;this.showOnly=function(){_.forEach(u.$findAll(),function(e){s.calendar.id==e.id?e.active=1:e.active=0})},this.showAll=function(){_.forEach(u.$findAll(),function(e){e.active=1})},this.showProperties=function(){var e=this.calendar.color;a.show({templateUrl:this.calendar.id+"/properties",controller:t,controllerAs:"properties",clickOutsideToClose:!0,escapeToClose:!0,locals:{srcCalendar:this.calendar}}).catch(function(){s.calendar.color=e}),t.$inject=["$scope","$mdDialog","srcCalendar"];function t(e,t,n){var a=this;a.calendar=new u(n.$omit()),a.saveProperties=function(e){e.$valid&&(a.calendar.$save(),n.init(a.calendar.$omit()),t.hide())},a.close=function(){t.cancel()},e.$watch(function(){return a.calendar.color},function(){n.color=a.calendar.color})}},this.showLinks=function(){a.show({parent:angular.element(document.body),clickOutsideToClose:!0,escapeToClose:!0,templateUrl:this.calendar.id+"/links",controller:e,controllerAs:"links",locals:{calendar:this.calendar}}),e.$inject=["$mdDialog","calendar"];function e(e,t){this.calendar=t,this.close=function(){e.hide()}}},this.importCalendar=function(){a.show({parent:angular.element(document.body),targetEvent:t,clickOutsideToClose:!0,escapeToClose:!0,templateUrl:"UIxCalendarImportDialog",controller:n,controllerAs:"$CalendarImportDialogController",locals:{folder:this.calendar}}),n.$inject=["scope","$mdDialog","folder"];function n(t,n,a){this.uploader=new i({url:ApplicationBaseURL+[a.id,"import"].join("/"),autoUpload:!0,queueLimit:1,filters:[{name:r,fn:r}],onSuccessItem:function(t,a,i,r){var s;n.hide(),0===a.imported?s=l("No event was imported."):(s=l("A total of %{0} events were imported in the calendar.",a.imported),e.$emit("calendars:list")),o.show(o.simple().content(s).position("top right").hideDelay(3e3))},onErrorItem:function(e,t,n,a){o.show({template:["",'
',' error_outline'," "+l("An error occurred while importing calendar.")+"","
","
"].join(""),position:"top right",hideDelay:3e3})}}),this.close=function(){n.hide()};function r(e){var t=0===e.type.indexOf("text")||/\.(ics)$/.test(e.name);return t||o.show({template:["",'
',' error_outline'," "+l("Select an iCalendar file (.ics).")+"","
","
"].join(""),position:"top right",hideDelay:3e3}),t}}},this.share=function(){this.calendar.$acl.$users().then(function(){a.show({templateUrl:s.calendar.id+"/UIxAclEditor",controller:"AclController",controllerAs:"acl",clickOutsideToClose:!0,escapeToClose:!0,locals:{usersWithACL:s.calendar.$acl.users,User:r,folder:s.calendar}})})}}}}angular.module("SOGo.SchedulerUI").controller("sgCalendarListItemController",e).directive("sgCalendarListItem",function(){return{restrict:"C",scope:{},bindToController:{calendar:"=sgCalendar"},template:['','

',' ',' error',' ',' ',"

",'',' ',"",''," drag_handle","",'more_vert'].join(""),controller:"sgCalendarListItemController",controllerAs:"$ctrl"}})}(),function(){"use strict";angular.module("SOGo.SchedulerUI").directive("sgCalendarMonthDay",function(){return{restrict:"E",scope:{blocks:"=sgBlocks",day:"@sgDay",clickBlock:"&sgClick"},template:["'].join("")}})}(),function(){"use strict";angular.module("SOGo.SchedulerUI").directive("sgCalendarMonthEvent",function(){return{restrict:"E",scope:{block:"=sgBlock",clickBlock:"&sgClick"},replace:!0,template:function(e,t){var n=_.has(t,"sgCalendarGhost")?"":"::";return['
','
",' {{ '+n+"block.component.startHour }}",' {{'+n+"block.component.c_priority}}"," {{ "+n+"block.component.summary }}",' ',' ',' ',' ',' '," ","
"].join("")},link:function(e,t,n){_.has(n,"sgCalendarGhost")||(e.block.userState&&t.addClass("sg-event--"+e.block.userState),e.block.component&&(t.addClass("bg-folder"+e.block.component.pid),0===e.block.component.c_isopaque&&t.addClass("sg-event--transparent"),0===e.block.component.c_status&&t.addClass("sg-event--cancelled")))}}})}(),function(){"use strict";e.$inject=["$rootScope","$window","$document","$q","$timeout","$mdGesture","Calendar","Component","Preferences"];function e(e,n,a,o,i,r,s,c,l){return{restrict:"A",scope:{type:"@sgCalendarScrollView"},controller:t,link:function(t,a,o,r){var d,u,p=!1;d=null,u=t.type,p="multicolumndayview"==a.attr("sg-view"),r.isMultiColumn=p,i(function(){if(d=new h(a,u),"monthly"!=u){var e,t,n;l.defaults.SOGoDayStartTime&&(e=l.defaults.SOGoDayStartTime.split(":"),t=document.getElementById("hour"+parseInt(e[0])),n=parseInt(e[1])*d.quarterHeight,d.element.scrollTop=t.offsetTop+n)}r.quarterHeight=d.quarterHeight}),t.$on("$destroy",function(){d&&d.$destroy()});function h(t,a){this.$element=t,this.element=t[0],this.type=a,this.quarterHeight=this.getQuarterHeight(),this.scrollStep=6*this.quarterHeight,this.dayNumbers=this.getDayNumbers(),this.maxX=this.getMaxColumns(),this.deregisterDragStart=e.$on("calendar:dragstart",angular.bind(this,this.onDragStart)),this.deregisterDragStop=e.$on("calendar:dragend",angular.bind(this,this.onDragEnd)),this.bindedUpdateCoordinates=angular.bind(this,this.updateCoordinates),this.bindedUpdateFromPointerHandler=angular.bind(this,this.updateFromPointerHandler),this.updateCoordinates(),angular.element(n).on("resize",this.bindedUpdateCoordinates)}h.prototype={$destroy:function(){this.deregisterDragStart(),this.deregisterDragStop(),this.$element.off("mousemove",this.bindedUpdateFromPointerHandler),angular.element(n).off("resize",this.bindedUpdateCoordinates)},onDragStart:function(){this.$element.on("mousemove",this.bindedUpdateFromPointerHandler),this.updateCoordinates(),this.updateFromPointerHandler()},onDragEnd:function(){this.$element.off("mousemove",this.bindedUpdateFromPointerHandler),s.$view=null},getQuarterHeight:function(){var e,t,n=null;return e=document.getElementById("hour0"),t=document.getElementById("hour23"),e&&t&&(n=(t.offsetTop-e.offsetTop)/92),n},getDayDimensions:function(e){var t,n,a,o,i,r,s;return n=t=a=o=0,(i=this.element.getElementsByClassName("day")).length>0&&(n=(r=i[0].getBoundingClientRect()).height,t=r.width,a=r.left-e,(s=i[0].getElementsByClassName("sg-calendar-tile-header")).length>0&&(o=s[0].clientHeight)),{height:n,width:t,offset:{left:a,top:o}}},getDayNumbers:function(){var e;return e=this.element.getElementsByTagName("sg-calendar-day"),_.map(e,function(e,t){return p?t:parseInt(e.attributes["sg-day-number"].value)})},getMaxColumns:function(){var e,t=0;return"monthly"==this.type?(e=this.element.getElementsByTagName("md-grid-list")[0],t=parseInt(e.attributes["md-cols"].value)-1):t=this.element.getElementsByClassName("day").length-1,t},updateCoordinates:function(){var e,t;e=this.element.getBoundingClientRect(),t=this.getDayDimensions(e.left),angular.extend(this,{coordinates:{x:e.left,y:e.top},dayHeight:t.height,dayWidth:t.width,daysOffset:t.offset.left,topOffset:t.offset.top})},updateFromPointerHandler:function(){var e,t,n,a,o,i;e=c.$ghost.pointerHandler,this.coordinates&&e&&(t=e.getContainerBasedCoordinates(this))&&(s.$view=this,n=(new Date).getTime(),(!this.lastScroll||n>this.lastScroll+100)&&(this.lastScroll=n,(a=t.y-this.scrollStep)<0?(a<(o=-this.element.scrollTop)&&(a=o),this.element.scrollTop+=a):(i=(a=t.y+this.scrollStep)-this.element.clientHeight)>0&&(this.element.scrollTop+=i)))}}}}}t.$inject=["$scope"];function t(e){this.type=e.type}angular.module("SOGo.SchedulerUI").directive("sgCalendarScrollView",e)}(),function(){"use strict";angular.module("SOGo.SchedulerUI").directive("sgCategoryStylesheet",function(){return{restrict:"E",require:"ngModel",scope:{ngModel:"="},replace:!0,template:['"].join("")}})}(),function(){"use strict";e.$inject=["$rootScope","$timeout","$log","Preferences","Calendar","CalendarSettings","Component"];function e(e,t,n,a,o,i,r){return{restrict:"CA",require:"^sgCalendarDay",link:function(s,c,d,u){if(s.block){if(!s.block.component.editable||s.block.userState)return void c.removeClass("sg-draggable-calendar-block");!function(){var e,t,n,a,o,i,r,l,d,u;if(s.block.length<3)return;e=s.block.component,t=s.block.dayIndex,n=_.findIndex(e.blocks,["dayIndex",t]),a=0===n,o=n===e.blocks.length-1,(i=angular.element('
')).addClass("bdr-folder"+e.pid),e.c_isallday||"SG-CALENDAR-MONTH-DAY"===c[0].parentNode.tagName?(a&&(r=angular.element('
').append(i),c.append(r)),o&&(l=angular.element('
').append(i.clone()),c.append(l))):(a&&(d=angular.element('
').append(i),c.append(d)),o&&(u=angular.element('
').append(i.clone()),c.append(u)))}()}c.on("mousedown",p),s.$on("$destroy",function(){c.off("mousedown",p),c.off("mousemove",h)});function p(e){var t,n,a,o;e.stopPropagation(),e.target.scrollHeight>e.target.clientHeight+1&&(a=e.target.getBoundingClientRect(),o=a.left+a.width-18,e.pageX>o)||(t="move-event",s.block&&s.block.component?"dragGrip-top"==e.target.className||"dragGrip-left"==e.target.className?t="change-start":"dragGrip-bottom"!=e.target.className&&"dragGrip-right"!=e.target.className||(t="change-end"):t="change-end",(n=new y(t)).initFromEvent(e),r.$ghost.pointerHandler=n,angular.element(document).one("mouseup",m),angular.element(document).on("mousemove",h))}function h(e){var n=r.$ghost.pointerHandler;t(function(){n.updateFromEvent(e)})}function m(t){var n,a;n=s.block,a=r.$ghost.pointerHandler,angular.element(document).off("mousemove",h),a.dragHasStarted&&(e.$emit("calendar:dragend"),a.dragHasStarted=!1),n&&n.component&&_.forEach(n.component.blocks,function(e){e.dragging=!1})}function f(){}f.prototype={x:-1,y:-1,getDelta:function(e){var t=new f;return t.x=this.x-e.x,t.y=this.y-e.y,o.$view&&(t.days=o.$view.dayNumbers[this.x]-o.$view.dayNumbers[e.x]),t},getDistance:function(e){var t=this.getDelta(e);return Math.sqrt(t.x*t.x+t.y*t.y)},clone:function(){var e=new f;return e.x=this.x,e.y=this.y,e}};function g(e){this.setEventType(e)}g.prototype={dayNumber:-1,weekDay:-1,start:-1,duration:-1,eventType:null,setEventType:function(e){this.eventType=e},initFromBlock:function(e){var t=-1;"monthly"===this.eventType?(this.start=0,this.duration=e.component.blocks.length*i.EventDragDayLength):(this.start=e.component.blocks[0].start,this.duration=_.sumBy(e.component.blocks,function(e){var n,a;return a=e.dayNumber,n=t<0?0:a-t-1,t=a,e.length+n*i.EventDragDayLength}))},initFromCalendar:function(e){this.dayNumber=e},getDelta:function(e){var t=new g;return t.dayNumber=this.dayNumber-e.dayNumber,t.start=this.start-e.start,t.duration=this.duration-e.duration,t},_quartersToHM:function(e){var t=15*e,n=Math.floor(t/60);n<10&&(n="0"+n);var a=t%60;return a<10&&(a="0"+a),n+":"+a},getStartTime:function(){return this._quartersToHM(this.start)},getEndTime:function(){var e=(this.start+this.duration)%i.EventDragDayLength;return this._quartersToHM(e)},clone:function(){var e=new g;return e.dayNumber=this.dayNumber,e.start=this.start,e.duration=this.duration,e}};function y(e){this.dragMode=e}y.prototype={originalCoordinates:null,currentCoordinates:null,originalViewCoordinates:null,currentViewCoordinates:null,originalEventCoordinates:null,currentEventCoordinates:null,originalCalendar:null,dragHasStarted:!1,getEventViewCoordinates:null,initFromBlock:function(e){this.currentEventCoordinates=new g(this.eventType),this.originalEventCoordinates=new g(this.eventType),this.originalEventCoordinates.initFromBlock(e)},initFromEvent:function(e){this.currentCoordinates=new f,this.updateFromEvent(e),this.originalCoordinates=this.currentCoordinates.clone()},initFromCalendar:function(e){this.originalCalendar=e,this.currentEventCoordinates.initFromCalendar(e.index),this.originalEventCoordinates.initFromCalendar(e.index)},updateFromEvent:function(t){if(this.currentCoordinates.x=t.pageX,this.currentCoordinates.y=t.pageY,this.dragHasStarted&&o.$view){var i=this.getEventViewCoordinates(o.$view);this.originalViewCoordinates||(this.originalViewCoordinates=this.getEventViewCoordinates(o.$view,this.originalCoordinates),r.$ghost.component.isNew&&(this.setTimeFromQuarters(r.$ghost.component.start,this.originalViewCoordinates.y),n.debug("new event start date "+r.$ghost.component.start))),this.currentViewCoordinates&&i&&i.x==this.currentViewCoordinates.x&&i.y==this.currentViewCoordinates.y||(this.currentViewCoordinates=i,this.originalViewCoordinates&&(i||(this.currentViewCoordinates=this.originalViewCoordinates.clone()),this.updateEventCoordinates()))}else if(this.originalCoordinates&&this.currentCoordinates&&!this.dragHasStarted){var d=this.getDistance();d>3&&(this.dragHasStarted=!0,function(t){var i,d,p,h,m,f,g,y,v;p=c.hasClass("clickableHourCell"),h="SG-CALENDAR-MONTH-DAY"==c[0].parentNode.tagName||c.hasClass("clickableDayCell"),v=u.calendarData(),s.block&&s.block.component?i=s.block:(m=u.dayString.parseDate(a.$mdDateLocaleProvider,"%Y-%m-%e"),f={type:"appointment",pid:v?v.pid:o.$defaultCalendar(),summary:l("New Event"),startDate:m,isAllDay:p?0:1},g=new r(f),(i={component:g,dayNumber:u.dayNumber,length:0}).component.blocks=[i]);d="multiday",h?d="monthly":i.component.c_isallday&&(d="multiday-allday");_.forEach(i.component.blocks,function(e){e.dragging=!0}),(y=r.$ghost.pointerHandler).prepareWithEventType(d),y.initFromBlock(i),v&&y.initFromCalendar(v);r.$ghost.component=i.component,n.debug("emit calendar:dragstart "+d),e.$emit("calendar:dragstart")}())}},updateEventCoordinates:function(){var t,a=this.currentViewCoordinates.getDelta(this.originalViewCoordinates),r=a.days*i.EventDragDayLength+a.y;n.debug("quarters delta "+r),angular.isUndefined(this.originalEventCoordinates.start)?(this.originalEventCoordinates.dayNumber=o.$view.dayNumbers[this.originalViewCoordinates.x],this.originalEventCoordinates.start=this.originalViewCoordinates.y):this.originalEventCoordinates.dayNumber<0&&(this.originalEventCoordinates.dayNumber=o.$view.dayNumbers[s.block.component.blocks[0].dayIndex]),this.currentEventCoordinates.dayNumber=this.originalEventCoordinates.dayNumber,"move-event"==this.dragMode?(this.currentEventCoordinates.start=this.originalEventCoordinates.start+r,this.currentEventCoordinates.duration=this.originalEventCoordinates.duration):"change-start"==this.dragMode?(t=this.originalEventCoordinates.duration-r)>0?(this.currentEventCoordinates.start=this.originalEventCoordinates.start+r,this.currentEventCoordinates.duration=t):t<0&&(this.currentEventCoordinates.start=this.originalEventCoordinates.start+this.originalEventCoordinates.duration,this.currentEventCoordinates.duration=-t):"change-end"==this.dragMode&&((t=this.originalEventCoordinates.duration+r)>0?(this.currentEventCoordinates.start=this.originalEventCoordinates.start,this.currentEventCoordinates.duration=t):t<0&&(this.currentEventCoordinates.start=this.originalEventCoordinates.start+t,this.currentEventCoordinates.duration=-t));var c;this.currentEventCoordinates.start<0?(c=Math.ceil(-this.currentEventCoordinates.start/i.EventDragDayLength),this.currentEventCoordinates.start+=c*i.EventDragDayLength,this.currentEventCoordinates.dayNumber-=c):this.currentEventCoordinates.start>=i.EventDragDayLength&&(c=Math.floor(this.currentEventCoordinates.start/i.EventDragDayLength),this.currentEventCoordinates.start-=c*i.EventDragDayLength,this.currentEventCoordinates.dayNumber+=c),n.debug("event coordinates "+JSON.stringify(this.currentEventCoordinates)),e.$emit("calendar:drag")},getContainerBasedCoordinates:function(e,t){var n=t||this.currentCoordinates,a=n.getDelta(e.coordinates),o=e.element;return(a.xo.clientWidth||a.y<0||a.y>o.clientHeight)&&(a=null),a},prepareWithEventType:function(e){var t={multiday:this.getEventMultiDayViewCoordinates,"multiday-allday":this.getEventMultiDayAllDayViewCoordinates,monthly:this.getEventMonthlyViewCoordinates,unknown:null},n=t[e];this.eventType=e,this.getEventViewCoordinates=n},getEventMultiDayViewCoordinates:function(e,t){var n=this.getEventMultiDayAllDayViewCoordinates(e,t);if(n){var a=e.quarterHeight,o=this.getContainerBasedCoordinates(e,t);o.y+=e.element.scrollTop,n.y=Math.floor((o.y-i.EventDragHorizontalOffset)/a);var r=i.EventDragDayLength-1;n.y<0?n.y=0:n.y>r&&(n.y=r)}return n},getEventMultiDayAllDayViewCoordinates:function(e,t){var n,a=this.getContainerBasedCoordinates(e,t);if(a){n=new f;var i=e.dayWidth,r=e.daysOffset;n.x=Math.floor((a.x-r)/i);var s=0,c=o.$view.maxX;if("move-event"!=this.dragMode){var l=u.calendarData();l&&(s=c=l.index)}n.xc&&(n.x=c),n.y=0}else n=null;return n},getEventMonthlyViewCoordinates:function(e,t){var n,a=this.getContainerBasedCoordinates(e,t);if(a){n=new f;var o=e.maxX,i=e.dayWidth,r=e.daysOffset,s=e.dayHeight,c=Math.floor((a.y-0)/s);c<0&&(c=0),n.x=Math.floor((a.x-r)/i),n.x<0?n.x=0:n.x>o&&(n.x=o),n.x+=(o+1)*c,n.y=0}else n=null;return n},getDistance:function(){return this.currentCoordinates.getDistance(this.originalCoordinates)},setTimeFromQuarters:function(e,t){var n,a;n=Math.floor(t/4),a=t%4*15,e.setHours(n,a)}}}}}angular.module("SOGo.SchedulerUI").directive("sgDraggableCalendarBlock",e)}(),function(){"use strict";e.$inject=["$scope","$element","$timeout"];function e(e,t,n){var a,o=this,i=t.controller("sgCalendarScrollView");e.nowDay=null,e.lineElement=null,e.updateLine=function(r){var s=new Date,c=s.getDayString(),l=s.getHours(),d=4*e.quarterHeight,u=s.getMinutes(),p=e.quarterHeight/15,h=parseInt(l*d+u*p-1);(r||c!=e.nowDay)&&(e.lineElement&&e.lineElement.remove(),e.lineElement=function(e,n){var a=angular.element("");i.isMultiColumn?n&&n[0].attributes["sg-day"].value==e&&t.append(a):_.forEach(n,function(t){t.attributes["sg-day"].value==e&&angular.element(t).find("div").eq(0).append(a)});return a}(c,e.days),e.nowDay=c);e.lineElement&&(e.lineElement.css("top",h+"px"),a=n(angular.bind(o,e.updateLine),6e4))},e.$on("$destroy",function(){a&&n.cancel(a)})}angular.module("SOGo.SchedulerUI").directive("sgNowLine",function(){return{restrict:"C",require:"^^sgCalendarScrollView",link:function(e,t,n,a){function o(){return t.find("sg-calendar-day")}var i=e.$watch(function(){return a.quarterHeight},function(t){if(t){i(),e.quarterHeight=t;var n=e.$watch(o,function(t){t.length&&(n(),e.days=t,e.updateLine())})}})},controller:e}})}(); +!function(){"use strict";function e(t){if(this.init(t),this.name&&!this.id){var n=e.$$resource.create("createFolder",this.name);this.$unwrap(n)}}e.$factory=["$q","$timeout","$log","sgSettings","Resource","Preferences","Component","Acl",function(t,n,a,o,i,r,s,c){return angular.extend(e,{$q:t,$timeout:n,$log:a,$$resource:new i(o.activeUser("folderURL")+"Calendar",o.activeUser()),$Preferences:r,$Component:s,$$Acl:c,activeUser:o.activeUser(),$view:null}),e}];try{angular.module("SOGo.SchedulerUI")}catch(e){angular.module("SOGo.SchedulerUI",["SOGo.Common"])}angular.module("SOGo.SchedulerUI").value("CalendarSettings",{EventDragDayLength:96,EventDragHorizontalOffset:3,ConflictHTTPErrorCode:409}).factory("Calendar",e.$factory),e.$defaultCalendar=function(){var t;return"first"==e.$Preferences.defaults.SOGoDefaultCalendar&&(t=_.find(e.$findAll(null,!0),function(e){return e.active}))?t.id:"personal"},e.$add=function(t){var n,a;n=t.isWebCalendar?this.$webcalendars:t.isSubscription?this.$subscriptions:this.$calendars,(a=_.findIndex(n,function(e,n){return"personal"==t.id||"personal"!=e.id&&e.name.localeCompare(t.name)>0}))<0?n.push(t):n.splice(a,0,t),e.$Preferences.settings.Calendar.FoldersOrder&&e.saveFoldersOrder(_.flatMap(e.$findAll(),"id")),e.$reloadAll()},e.$findAll=function(t,n){var a=this;if(t)this.$calendars=[],this.$subscriptions=[],this.$webcalendars=[],angular.forEach(t,function(t,n){var o=new e(t);o.isWebCalendar?a.$webcalendars.push(o):o.isSubscription?a.$subscriptions.push(o):a.$calendars.push(o)});else if(angular.isUndefined(this.$calendars))return this.$calendars=[],this.$subscriptions=[],this.$webcalendars=[],e.$$resource.fetch("calendarslist").then(function(t){return e.$findAll(t.calendars,n)});return n?_.union(this.$calendars,_.filter(this.$subscriptions,function(e){return e.isOwned||e.acls.objectCreator})):_.union(this.$calendars,this.$subscriptions,this.$webcalendars)},e.$reloadAll=function(){var t=this;e.$$resource.fetch("calendarslist").then(function(n){_.forEach(n.calendars,function(n){var a,o;a=n.isWebCalendar?t.$webcalendars:n.owner!=e.activeUser.login?t.$subscriptions:t.$calendars,(o=_.find(a,function(e){return e.id==n.id}))&&o.init(n)})})},e.$get=function(t){var n;return(n=_.find(e.$calendars,function(e){return e.id==t}))||(n=_.find(e.$subscriptions,function(e){return e.id==t})),n||(n=_.find(e.$webcalendars,function(e){return e.id==t})),n},e.$getIndex=function(t){var n;return(n=_.indexOf(_.map(e.$calendars,"id"),t))<0&&(n=_.indexOf(_.map(e.$subscriptions,"id"),t)),n<0&&(n=_.indexOf(_.map(e.$webcalendars,"id"),t)),n},e.$subscribe=function(t,n){var a=this;return e.$$resource.userResource(t).fetch(n,"subscribe").then(function(t){var n=new e(angular.extend({active:1},t));return _.find(a.$subscriptions,function(e){return e.id==t.id})||e.$add(n),n})},e.$addWebCalendar=function(t){var n=e.$q.defer();return _.find(this.$webcalendars,function(e){return e.urls.webCalendarURL==t})?n.reject():e.$$resource.post(null,"addWebCalendar",{url:t}).then(function(a){angular.extend(a,{isWebCalendar:!0,isEditable:!0,isRemote:!1,owner:e.activeUser.login,urls:{webCalendarURL:t}});var o=new e(a);e.$$resource.fetch(o.id,"reload").then(function(t){e.$log.debug(JSON.stringify(t,void 0,2)),e.$add(o),n.resolve()},function(e){401==e.status?n.resolve(o):n.reject()})},n.reject),n.promise},e.reloadWebCalendars=function(){var t=[];return _.forEach(this.$webcalendars,function(n){var a=e.$$resource.fetch(n.id,"reload");a.then(function(e){n.$error=!1},function(e){n.$error=l(e.statusText)}),t.push(a)}),e.$q.all(t)},e.$deleteComponents=function(t){var n={},a=[];return _.forEach(t,function(e){angular.isDefined(n[e.pid])||(n[e.pid]=[]),n[e.pid].push(e.id)}),_.forEach(n,function(t,n){a.push(e.$$resource.post(n,"batchDelete",{uids:t}))}),e.$q.all(a)},e.saveFoldersActivation=function(t){var n={};return _.forEach(t,function(t){var a=e.$get(t);n[a.id]=a.active}),e.$$resource.post(null,"saveFoldersActivation",n)},e.saveFoldersOrder=function(t){return this.$$resource.post(null,"saveFoldersOrder",{folders:t}).then(function(){if(e.$Preferences.settings.Calendar.FoldersOrder=t,!t)return e.$$resource.fetch("calendarslist").then(function(t){return e.$findAll(t.calendars)})})},e.prototype.init=function(t){this.color=this.color||"#AAAAAA",this.active=1,angular.extend(this,t),this.id&&(this.$acl=new e.$$Acl("Calendar/"+this.id)),this.isOwned=e.activeUser.isSuperUser||this.owner==e.activeUser.login,this.isSubscription=!this.isRemote&&this.owner!=e.activeUser.login,angular.isUndefined(this.$shadowData)&&(this.$shadowData=this.$omit())},e.prototype.$id=function(){return this.id?e.$q.when(this.id):this.$futureCalendarData.then(function(e){return e.id})},e.prototype.getClassName=function(e){return angular.isUndefined(e)&&(e="fg"),e+"-folder"+this.id},e.prototype.$rename=function(){var t,n,a=this;return this.name==this.$shadowData.name?e.$q.when():(n=this.isWebCalendar?e.$webcalendars:this.isSubscription?e.$subscriptions:e.$calendars,(t=_.indexOf(_.map(n,"id"),this.id))>-1?this.$save().then(function(){n.splice(t,1),e.$add(a)}):e.$q.reject())},e.prototype.$delete=function(){var t,n,a=this;return this.isSubscription?(n=e.$$resource.fetch(this.id,"unsubscribe"),t=e.$subscriptions):(n=e.$$resource.remove(this.id),t=this.isWebCalendar?e.$webcalendars:e.$calendars),n.then(function(){var e=_.indexOf(_.map(t,"id"),a.id);t.splice(e,1)})},e.prototype.$reset=function(){var e=this;angular.forEach(this,function(t,n){"constructor"!=n&&"$"!=n[0]&&delete e[n]}),angular.extend(this,this.$shadowData),this.$shadowData=this.$omit()},e.prototype.$save=function(){var t=this;return e.$$resource.save(this.id,this.$omit()).then(function(e){return t.$shadowData=t.$omit(),e},function(n){return e.$log.error(JSON.stringify(n,void 0,2)),t.$reset(),n})},e.prototype.setCredentials=function(t,n){var a=this,o=e.$q.defer();return e.$$resource.post(this.id,"set-credentials",{username:t,password:n}).then(function(){e.$$resource.fetch(a.id,"reload").then(function(t){e.$add(a),o.resolve()},function(e){401==e.status?o.reject(l("Wrong username or password")):o.reject(e.statusText)})},o.reject),o.promise},e.prototype.export=function(){var t;return t={type:"application/octet-stream",filename:this.name+".ics"},e.$$resource.open(this.id+".ics","export",null,t)},e.prototype.$setActivation=function(){return e.$$resource.fetch(this.id,(this.active?"":"de")+"activateFolder")},e.prototype.$getComponent=function(t,n){return e.$Component.$find(this.id,t,n)},e.prototype.$unwrap=function(t){var n=this;this.$futureCalendarData=t.then(function(t){return e.$timeout(function(){return n.init(t),n})},function(t){n.isError=!0,angular.isObject(t)&&e.$timeout(function(){angular.extend(n,t)})})},e.prototype.$omit=function(){var e={};return angular.forEach(this,function(t,n){"constructor"!=n&&"$"!=n[0]&&(e[n]=t)}),e}}(),function(){"use strict";function e(t){if("function"!=typeof t.then){if(this.init(t),this.pid&&!this.id){var n=e.$$resource.newguid(this.pid);this.$unwrap(n),this.isNew=!0}}else this.$unwrap(t)}e.$factory=["$q","$timeout","$log","$rootScope","sgSettings","sgComponent_STATUS","Preferences","User","Card","Gravatar","Resource",function(t,n,a,o,i,r,s,c,l,d,u){return angular.extend(e,{STATUS:r,$q:t,$timeout:n,$log:a,$rootScope:o,$settings:i,$User:c,$Preferences:s,$Card:l,$gravatar:d,$$resource:new u(i.activeUser("folderURL")+"Calendar",i.activeUser()),timeFormat:"%H:%M",$query:{value:"",search:"title_Category_Location"},$queryEvents:{sort:"start",asc:1,filterpopup:"view_next7"},$queryTasks:{sort:"status",asc:1,filterpopup:"view_incomplete"},$refreshTimeout:null,$ghost:{}}),s.settings.Calendar.EventsFilterState&&(e.$queryEvents.filterpopup=s.settings.Calendar.EventsFilterState),s.settings.Calendar.TasksFilterState&&(e.$queryTasks.filterpopup=s.settings.Calendar.TasksFilterState),s.settings.Calendar.EventsSortingState&&(e.$queryEvents.sort=s.settings.Calendar.EventsSortingState[0],e.$queryEvents.asc=parseInt(s.settings.Calendar.EventsSortingState[1])),s.settings.Calendar.TasksSortingState&&(e.$queryTasks.sort=s.settings.Calendar.TasksSortingState[0],e.$queryTasks.asc=parseInt(s.settings.Calendar.TasksSortingState[1])),e.$queryTasks.show_completed=parseInt(s.settings.ShowCompletedTasks),e.$categories=s.defaults.SOGoCalendarCategoriesColors,s.defaults.SOGoTimeFormat&&(e.timeFormat=s.defaults.SOGoTimeFormat),e}];try{angular.module("SOGo.SchedulerUI")}catch(e){angular.module("SOGo.SchedulerUI",["SOGo.Common"])}angular.module("SOGo.SchedulerUI").constant("sgComponent_STATUS",{NOT_LOADED:0,DELAYED_LOADING:1,LOADING:2,LOADED:3,DELAYED_MS:300}).factory("Component",e.$factory),e.$selectedCount=function(){var t;return t=0,e.$events&&(t+=_.filter(e.$events,function(e){return e.selected}).length),e.$tasks&&(t+=_.filter(e.$tasks,function(e){return e.selected}).length),t},e.$startRefreshTimeout=function(t){e.$refreshTimeout&&e.$timeout.cancel(e.$refreshTimeout);var n=e.$Preferences.defaults.SOGoRefreshViewCheck;if(n&&"manually"!=n){var a=angular.bind(e.$rootScope,e.$rootScope.$emit,"calendars:list");e.$refreshTimeout=e.$timeout(a,1e3*n.timeInterval())}},e.$isLoading=function(){return e.$loaded==e.STATUS.LOADING},e.$filter=function(t,n){var a,o,i=this,r=new Date,s=r.getDate(),c=r.getMonth()+1,l=r.getFullYear(),d="$query"+t.capitalize(),u={day:l+(c<10?"0":"")+c+(s<10?"0":"")+s},p=!1;return e.$startRefreshTimeout(t),angular.extend(this.$query,u),n&&_.forEach(_.keys(n),function(t){p|=i.$query[t]&&n[t]!=e.$query[t],"reload"==t&&n[t]?p=!0:angular.isDefined(i.$query[t])?i.$query[t]=n[t]:i[d][t]=n[t]}),a=this.$$resource.fetch(null,t+"list",angular.extend(this[d],this.$query)),p&&(delete e[o="tasks"==t?"$events":"$tasks"],e.$log.debug("force reload of "+o)),this.$unwrapCollection(t,a)},e.$find=function(t,n,a){var o=[t,encodeURIComponent(n)];return a&&o.push(a),new e(this.$$resource.fetch(o.join("/"),"view"))},e.filterCategories=function(t){var n=new RegExp(t,"i");return _.filter(_.keys(e.$categories),function(e){return-1!=e.search(n)})},e.saveSelectedList=function(e){return this.$$resource.post(null,"saveSelectedList",{list:e+"ListView"})},e.$eventsBlocksForView=function(t,n){var a,o,i,r;return a=e.$Preferences.defaults.SOGoFirstDayOfWeek,"day"==t?(o="dayView",i=r=n):"multicolumnday"==t?(o="multicolumndayView",i=r=n):"week"==t?(o="weekView",i=n.beginOfWeek(a),(r=new Date).setTime(i.getTime()),r.addDays(6)):"month"==t&&(o="monthView",(i=n).setDate(1),i=i.beginOfWeek(a),(r=new Date).setTime(n.getTime()),r.setMonth(r.getMonth()+1),r.addDays(-1),r=r.endOfWeek(a)),this.$eventsBlocks(o,i,r)},e.$eventsBlocks=function(t,n,a){var o,i,r,s=[],c=[],l=e.$q.defer();return o={view:t.toLowerCase(),sd:n.getDayString(),ed:a.getDayString()},this.$$resource.fetch(null,"eventsblocks",o).then(function(t){var n,a;n=function(t,n,a){var o,i=_.zipObject(this.eventsFields,n),r=new Date(1e3*i.c_startdate);return i.hour=r.getHourString(),i.blocks=[],o=new e(i),t.push(o),t},a=function(e){this[e.nbr].blocks.push(e),e.component=this[e.nbr],e.isFirst=1==this[e.nbr].blocks.length},e.$views=[],e.$timeout(function(){_.forEach(t,function(t,o){var l,d=[],u={},p={};for(t.eventsFields.splice(_.indexOf(t.eventsFields,"c_folder"),1,"pid"),t.eventsFields.splice(_.indexOf(t.eventsFields,"c_name"),1,"id"),t.eventsFields.splice(_.indexOf(t.eventsFields,"c_recurrence_id"),1,"occurrenceId"),t.eventsFields.splice(_.indexOf(t.eventsFields,"c_title"),1,"summary"),_.reduce(t.events,_.bind(n,t),d),_.forEach(_.flatten(t.blocks),_.bind(a,d)),_.forEach(_.flatten(t.allDayBlocks),_.bind(a,d)),0===s.length&&(s=_.flatMap(t.days,"date"),c=_.flatMap(t.days,"number")),i=0;i0&&(this.repeat.month={type:"bymonthday"}),angular.isUndefined(this.repeat.month)&&(this.repeat.month={}),angular.isUndefined(this.repeat.month.occurrence)&&angular.extend(this.repeat.month,{occurrence:"1",day:"SU"}),angular.isUndefined(this.repeat.months)&&(this.repeat.months=[]),angular.isUndefined(this.repeat.year)&&(this.repeat.year={}),this.repeat.count?this.repeat.end="count":this.repeat.until?(this.repeat.end="until",angular.isString(this.repeat.until)&&(this.repeat.until=e.$parseDate(this.repeat.until,{no_time:!0}))):this.repeat.end="never",this.$hasCustomRepeat=this.hasCustomRepeat(),this.isNew){var a="appointment"==this.type?"Events":"Tasks";this.classification=e.$Preferences.defaults["SOGoCalendar"+a+"DefaultClassification"].toLowerCase();var o=/-PT?([0-9]+)([MHDW])/.exec(e.$Preferences.defaults.SOGoCalendarDefaultReminder);o&&(this.$hasAlarm=!0,this.alarm.quantity=parseInt(o[1]),this.alarm.unit={M:"MINUTES",H:"HOURS",D:"DAYS",W:"WEEKS"}[o[2]]),this.sendAppointmentNotifications=e.$Preferences.defaults.SOGoAppointmentSendEMailNotifications}else angular.isUndefined(t.$hasAlarm)&&(this.$hasAlarm=angular.isDefined(t.alarm));this.destinationCalendar=this.pid,this.attendees&&_.forEach(this.attendees,function(t){t.image=e.$gravatar(t.email,32)}),this.updateFreeBusy(),this.selected=!1},e.prototype.initOrganizer=function(t){var n,a=this;t&&t.isSubscription?n=e.$User.$filter(t.owner).then(function(e){var t=e[0];a.organizer={uid:t.uid,name:t.cn,email:t.c_email}}):(this.organizer={uid:e.$settings.activeUser("login"),name:e.$settings.activeUser("identification"),email:e.$settings.activeUser("email")},n=e.$q.when()),n.then(function(){a.updateFreeBusyAttendee(a.organizer)})},e.prototype.hasCustomRepeat=function(){return angular.isUndefined(this.occurrenceId)&&angular.isDefined(this.repeat)&&(this.repeat.interval>1||angular.isDefined(this.repeat.days)&&this.repeat.days.length>0||angular.isDefined(this.repeat.monthdays)&&this.repeat.monthdays.length>0||angular.isDefined(this.repeat.months)&&this.repeat.months.length>0||angular.isDefined(this.repeat.month)&&angular.isDefined(this.repeat.month.type)||angular.isDefined(this.repeat.dates)&&this.repeat.dates.length>0)},e.prototype.isEditable=function(){return!this.occurrenceId&&!this.isReadOnly},e.prototype.isEditableOccurrence=function(){return this.occurrenceId&&!this.isReadOnly},e.prototype.isInvitation=function(){return!this.occurrenceId&&this.userHasRSVP},e.prototype.isInvitationOccurrence=function(){return this.occurrenceId&&this.userHasRSVP},e.prototype.showPercentComplete=function(){return"task"==this.type&&this.percentComplete>0&&"cancelled"!=this.status},e.prototype.enablePercentComplete=function(){return"task"==this.type&&"not-specified"!=this.status&&"cancelled"!=this.status},e.prototype.coversFreeBusy=function(e,t,n){return angular.isDefined(this.freebusy[e])&&angular.isDefined(this.freebusy[e][t])&&1==this.freebusy[e][t][n]},e.prototype.updateFreeBusyCoverage=function(){var e=this,t={};if(this.start&&this.end){var n=new Date(this.start.getTime()),a=new Date(this.end.getTime()),o=parseInt(n.getMinutes()/15+.5),i=parseInt(a.getMinutes()/15+.5);return n.setMinutes(15*o),a.setMinutes(15*i),_.forEach(n.daysUpTo(a),function(n,a){var i,r=n.getDate(),s=n.getDayString();if(s==e.start.getDayString())for(i=n.getHours().toString(),t[s]={},t[s][i]=[];o>0;)t[s][i].push(0),o--;else n=n.beginOfDay(),t[s]={};for(;n.getTime()0},e.prototype.addAttachUrl=function(e){if(angular.isUndefined(this.attachUrls))this.attachUrls=[{value:e}];else{for(var t=0;t-1&&this.attachUrls.length>e&&this.attachUrls.splice(e,1)},e.prototype.$addDueDate=function(){this.due=new Date,this.due.setMinutes(15*Math.round(this.due.getMinutes()/15)),this.dueDate=this.due.toISOString()},e.prototype.$deleteDueDate=function(){delete this.due,delete this.dueDate},e.prototype.$addStartDate=function(){this.start=new Date,this.start.setMinutes(15*Math.round(this.start.getMinutes()/15))},e.prototype.$deleteStartDate=function(){delete this.start,delete this.startDate},e.prototype.$addRecurrenceDate=function(){var e=new Date;e.setMinutes(15*Math.round(e.getMinutes()/15)),angular.isUndefined(this.repeat.dates)&&(this.repeat={frequency:"custom",dates:[]}),this.repeat.dates.push(e)},e.prototype.$deleteRecurrenceDate=function(e){e>-1&&this.repeat&&this.repeat.dates&&this.repeat.dates.length>e&&this.repeat.dates.splice(e,1)},e.prototype.$reset=function(){var e=this;angular.forEach(this,function(t,n){"constructor"!=n&&"$"!=n[0]&&delete e[n]}),this.init(this.$shadowData),this.$shadowData=this.$omit()},e.prototype.$reply=function(){var t,n=this,a=[this.pid,encodeURIComponent(this.id)];return this.occurrenceId&&a.push(this.occurrenceId),t={reply:this.reply,delegatedTo:this.delegatedTo,alarm:this.$hasAlarm?this.alarm:{}},e.$$resource.save(a.join("/"),t,{action:"rsvpAppointment"}).then(function(e){return n.$shadowData=n.$omit(),e})},e.prototype.$adjust=function(t){var n=[this.pid,encodeURIComponent(this.id)];return _.every(_.values(t),function(e){return 0===e})?e.$q.when():(this.occurrenceId&&n.push(this.occurrenceId),e.$log.debug("adjust "+n.join("/")+" "+JSON.stringify(t)),e.$$resource.save(n.join("/"),t,{action:"adjust"}))},e.prototype.$save=function(t){var n,a,o,i,r=this;return o=this.$omit(),i=e.$Preferences.$mdDateLocaleProvider,o.startDate=o.start?o.start.format(i,"%Y-%m-%d"):"",o.startTime=o.start?o.start.format(i,"%H:%M"):"",o.endDate=o.end?o.end.format(i,"%Y-%m-%d"):"",o.endTime=o.end?o.end.format(i,"%H:%M"):"",o.dueDate=o.due?o.due.format(i,"%Y-%m-%d"):"",o.dueTime=o.due?o.due.format(i,"%H:%M"):"",o.completedDate=o.completed?o.completed.format(i,"%Y-%m-%d"):"",this.hasCustomRepeat()?"monthly"==this.repeat.frequency&&this.repeat.month.type&&"byday"==this.repeat.month.type&&"relative"!=this.repeat.month.day||"yearly"==this.repeat.frequency&&this.repeat.year.byday?(delete o.repeat.monthdays,o.repeat.days=[{day:this.repeat.month.day,occurrence:this.repeat.month.occurrence.toString()}]):"monthly"!=this.repeat.frequency&&"yearly"!=this.repeat.frequency||!this.repeat.month.type?"custom"==this.repeat.frequency&&this.repeat.dates&&_.forEach(o.repeat.dates,function(e,t,n){n[t]={date:e.format(i,"%Y-%m-%d"),time:e.format(i,"%H:%M")}}):(delete o.repeat.days,"relative"==this.repeat.month.day&&(o.repeat.monthdays=[this.repeat.month.occurrence])):this.repeat.frequency&&"never"!=this.repeat.frequency&&(o.repeat={frequency:this.repeat.frequency}),o.startDate&&this.repeat.frequency&&"never"!=this.repeat.frequency?"until"==this.repeat.end&&this.repeat.until?o.repeat.until=this.repeat.until.stringWithSeparator("-"):"count"==this.repeat.end&&this.repeat.count?o.repeat.count=this.repeat.count:(delete o.repeat.until,delete o.repeat.count):delete o.repeat,"not-specified"==this.status?delete o.status:"completed"!=this.status&&delete o.completedDate,o.startDate&&this.$hasAlarm?!this.alarm.action||"email"!=this.alarm.action||this.attendees&&this.attendees.length>0||(o.alarm.attendees=0,o.alarm.organizer=1):o.alarm={},a=[this.pid,encodeURIComponent(this.id)],this.isNew&&(n={action:"saveAs"+this.type.capitalize()}),this.occurrenceId&&a.push(this.occurrenceId),angular.extend(o,t),e.$$resource.save(a.join("/"),o,n).then(function(e){return r.$shadowData=r.$omit(),e})},e.prototype.remove=function(t){var n=[this.pid,encodeURIComponent(this.id)];return t&&this.occurrenceId&&n.push(this.occurrenceId),e.$$resource.remove(n.join("/"))},e.prototype.$unwrap=function(t){var n=this;this.$futureComponentData=t,this.$futureComponentData.then(function(e){n.init(e),n.$shadowData=n.$omit()},function(t){angular.extend(n,t),n.isError=!0,e.$log.error(n.error)})},e.prototype.$omit=function(){var e={};return angular.forEach(this,function(t,n){"constructor"==n||"$hasAlarm"!=n&&"$"==n[0]||"blocks"==n||(e[n]=angular.copy(t))}),e},e.prototype.repeatDescription=function(){var e=null;return this.repeat&&(e=l("repeat_"+this.repeat.frequency.toUpperCase())),e},e.prototype.alarmDescription=function(){var e,t=null;return this.alarm&&(e=["reminder",this.alarm.quantity],this.alarm.quantity>0&&e.push(this.alarm.unit.toUpperCase(),this.alarm.reference.toUpperCase()),(e=e.join("_"))===(t=l(e))&&(t=[this.alarm.quantity,l("reminder_"+this.alarm.unit.toUpperCase()),l("reminder_"+this.alarm.reference.toUpperCase())].join(" "))),t},e.prototype.copyTo=function(t){return e.$$resource.post(this.pid+"/"+encodeURIComponent(this.id),"copy",{destination:t})},e.prototype.moveTo=function(t){return e.$$resource.post(this.pid+"/"+encodeURIComponent(this.id),"move",{destination:t})},e.prototype.toString=function(){return"[Component "+this.id+"]"}}(),function(){"use strict";e.$inject=["$scope","$rootScope","$state","$stateParams","sgHotkeys","Calendar","Component","Preferences","stateEventsBlocks"];function e(t,n,a,o,i,r,s,c,d){var u,p=this,h=[];angular.isUndefined(e.expandedAllDays)&&(e.expandedAllDays=!1),p.selectedDate=o.day.asDate(),p.expandedAllDays=e.expandedAllDays,p.toggleAllDays=function(){e.expandedAllDays=!e.expandedAllDays,p.expandedAllDays=e.expandedAllDays},p.views=d,p.changeDate=y,p.changeView=v,this.$onInit=function(){(e=h).push(i.createHotkey({key:l("hotkey_today"),description:l("Today"),callback:y,args:new Date})),e.push(i.createHotkey({key:l("hotkey_dayview"),description:l("Day"),callback:v,args:"day"})),e.push(i.createHotkey({key:l("hotkey_weekview"),description:l("Week"),callback:v,args:"week"})),e.push(i.createHotkey({key:l("hotkey_monthview"),description:l("Month"),callback:v,args:"month"})),e.push(i.createHotkey({key:l("hotkey_multicolumndayview"),description:l("Multicolumn Day View"),callback:v,args:"multicolumnday"})),e.push(i.createHotkey({key:"left",description:l("Move backward"),callback:m,args:-1})),e.push(i.createHotkey({key:"right",description:l("Move forward"),callback:m,args:1})),_.forEach(e,function(e){i.registerHotkey(e)});var e;f(p.selectedDate),u=n.$on("calendars:list",g),t.$on("$destroy",function(){u(),_.forEach(h,function(e){i.deregisterHotkey(e)})})};function m(e,t){var n;"week"==o.view?n=p.selectedDate.beginOfWeek(c.defaults.SOGoFirstDayOfWeek).addDays(7*t):"month"==o.view?((n=p.selectedDate).setDate(1),n.setMonth(n.getMonth()+t)):n=p.selectedDate.addDays(t),y(e,n)}function f(e){"month"==o.view?(e.setDate(1),e.setHours(12),e.$dateFormat="%B %Y"):"week"==o.view?(e.setTime(e.beginOfWeek(c.defaults.SOGoFirstDayOfWeek).getTime()),e.$dateFormat=l("Week %d").replace("%d","%U")):e.$dateFormat="%A"}function g(){s.$eventsBlocksForView(o.view,o.day.asDate()).then(function(e){var t,n,a;for(t=0;t=t;n--)p.views.splice(n,1)})}function y(e,t){var n=t?t.getDayString():angular.element(e.currentTarget).attr("date");t&&f(t),a.go("calendars.view",{day:n})}function v(e,t){a.go("calendars.view",{view:t})}}angular.module("SOGo.SchedulerUI").controller("CalendarController",e)}(),function(){"use strict";e.$inject=["$rootScope","$scope","$q","$timeout","$state","$mdDialog","sgHotkeys","sgFocus","Dialog","Preferences","CalendarSettings","Calendar","Component","Alarm"];function e(e,t,n,a,o,i,r,s,c,d,u,p,h,m){var f,g,y=this,v=[];g={title:"Title",location:"Location",calendarName:"Calendar",start:"Start",priority:"Priority",category:"Category",status:"Status",events:{end:"End"},tasks:{end:"Due Date"}},y.component=h,y.componentType="events",y.selectedList=0,y.selectComponentType=$,y.unselectComponents=function(){_.forEach(h["$"+y.componentType],function(e){e.selected=!1}),y.mode.multiple=0},y.selectAll=function(){_.forEach(h["$"+y.componentType],function(e){e.selected=!0}),y.mode.multiple=h["$"+y.componentType].length},y.searchMode=C,y.toggleComponentSelection=function(e,t){t.selected=!t.selected,y.mode.multiple+=t.selected?1:-1,e.preventDefault(),e.stopPropagation()},y.confirmDeleteSelectedComponents=function(){c.confirm(l("Warning"),l("Are you sure you want to delete the selected components?"),{ok:l("Delete")}).then(function(){var t=_.filter(h["$"+y.componentType],function(e){return e.selected});p.$deleteComponents(t).then(function(){y.mode.multiple=0,e.$emit("calendars:list")})})},y.openEvent=function(e,t){b(e,t,"appointment")},y.openTask=function(e,t){b(e,t,"task")},y.newComponent=D,y.filter=function(e){{if(!e)return h["$query"+y.componentType.capitalize()].filterpopup;h.$filter(y.componentType,{filterpopup:e})}},y.filteredBy=function(e){return h["$query"+y.componentType.capitalize()].filterpopup==e},y.sort=function(e){{if(!e){var t=h["$query"+y.componentType.capitalize()].sort;return g[t]||g[y.componentType][t]}h.$filter(y.componentType,{sort:e})}},y.sortedBy=function(e){return h["$query"+y.componentType.capitalize()].sort==e},y.reload=function(){h.$loaded=h.STATUS.LOADING,p.reloadWebCalendars().finally(function(){e.$emit("calendars:list")})},y.cancelSearch=function(){y.mode.search=!1,h.$filter(y.componentType,{value:""})},y.mode={search:!1,multiple:0},this.$onInit=function(){(n=v).push(r.createHotkey({key:l("hotkey_search"),description:l("Search"),callback:C})),n.push(r.createHotkey({key:l("hotkey_create_event"),description:l("Create a new event"),callback:D,args:"appointment"})),n.push(r.createHotkey({key:l("hotkey_create_task"),description:l("Create a new task"),callback:D,args:"task"})),_.forEach(n,function(e){r.registerHotkey(e)});var n;f="events","tasksListView"==d.settings.Calendar.SelectedList&&(y.selectedList=1,f="tasks"),$(f,{reload:!0}),e.$on("calendars:list",function(){h.$filter(y.componentType,{reload:!0})}),e.$on("calendar:dragend",k),t.$on("$destroy",function(){_.forEach(v,function(e){r.deregisterHotkey(e)})})};function $(e,t){(t&&t.reload||y.componentType!=e)&&(angular.isUndefined(h["$"+e])&&h.$filter(e),y.unselectComponents(),y.componentType=e,h.saveSelectedList(e))}function C(){y.mode.search=!0,s("search")}function b(e,t,a){if(t.viewable){var o=n.when();angular.isUndefined(t.$futureComponentData)&&(o=(t=p.$get(t.pid).$getComponent(t.id,t.occurrenceId)).$futureComponentData),o.then(function(){var n="UIx"+a.capitalize()+"ViewTemplate";i.show({parent:angular.element(document.body),targetEvent:e,clickOutsideToClose:!0,escapeToClose:!0,templateUrl:n,controller:"ComponentController",controllerAs:"editor",locals:{stateComponent:t}})})}}function D(e,t,n){var a;n?(a=n).updateFreeBusy():a=new h({pid:p.$defaultCalendar(),type:t});var o="UIx"+t.capitalize()+"EditorTemplate";return i.show({parent:angular.element(document.body),targetEvent:e,clickOutsideToClose:!0,escapeToClose:!0,templateUrl:o,controller:"ComponentEditorController",controllerAs:"editor",locals:{stateComponent:a}})}function k(t){var n,o,r,s,c,d,f;n=h.$ghost.component,o=h.$ghost.pointerHandler,n.isNew?(r=o.currentEventCoordinates,n.summary="",n.isAllDay&&(r.duration-=96),n.setDelta(15*r.duration),D(null,"appointment",n).catch().finally(function(){a(function(){h.$resetGhost()})})):(s=o.currentEventCoordinates.getDelta(o.originalEventCoordinates),c={days:s.dayNumber,start:15*s.start,duration:15*s.duration},o.originalCalendar&&0!==s.dayNumber&&(d=o.currentEventCoordinates.dayNumber,f=_.filter(p.$findAll(),{active:1}),c.destination=f[d].id,c.days=0),n.isException||!n.occurrenceId?n.$adjust(c).then(function(){e.$emit("calendars:list"),m.getAlarms()},function(e){y(e,n,c)}).finally(function(){a(function(){h.$resetGhost()})}):n.occurrenceId&&i.show({clickOutsideToClose:!0,escapeToClose:!0,locals:{component:n,params:c},template:['',' ',"

"+l("editRepeatingItem")+"

","
"," ",' '+l("button_thisOccurrenceOnly")+"",' '+l("button_allOccurrences")+""," ","
"].join(""),controller:g}).then(function(){e.$emit("calendars:list")},function(){}).finally(function(){a(function(){h.$resetGhost()})})),g.$inject=["$scope","$mdDialog","component","params"];function g(e,t,n,a){e.updateThisOccurrence=function(){n.$adjust(a).then(t.hide,function(e){t.cancel().then(function(){y(e,n,a)},function(){})})},e.updateAllOccurrences=function(){delete n.occurrenceId,n.$adjust(a).then(t.hide,function(e){t.cancel().then(function(){y(e,n,a)},function(){})})}}function y(t,n,a){t.status==u.ConflictHTTPErrorCode&&t.data&&t.data.message&&angular.isObject(t.data.message)&&i.show({parent:angular.element(document.body),clickOutsideToClose:!1,escapeToClose:!1,templateUrl:"UIxAttendeeConflictDialog",controller:v,controllerAs:"$AttendeeConflictDialogController",locals:{component:n,params:a,conflictError:t.data.message}}).then(function(){e.$emit("calendars:list")},function(){})}v.$inject=["$scope","$mdDialog","component","params","conflictError"];function v(e,t,n,a,o){this.conflictError=o,this.cancel=t.cancel,this.save=function(){n.$adjust(angular.extend({ignoreConflicts:!0},a)).then(t.hide)}}}this.ascending=function(){return h["$query"+y.componentType.capitalize()].asc}}angular.module("SOGo.SchedulerUI").controller("CalendarListController",e)}(),function(){"use strict";e.$inject=["$rootScope","$scope","$window","$mdDialog","$log","$mdToast","Dialog","sgSettings","Preferences","Calendar"];function e(e,t,n,a,o,i,r,s,c,d){var u=this;u.activeUser=s.activeUser,u.service=d,u.newCalendar=function(e){r.prompt(l("New calendar"),l("Name of the Calendar")).then(function(e){var t=new d({name:e,isEditable:!0,isRemote:!1,owner:UserLogin});t.$id().then(function(){d.$add(t)})})},u.addWebCalendar=function(){r.prompt(l("Subscribe to a web calendar..."),l("URL of the Calendar"),{inputType:"url"}).then(function(t){d.$addWebCalendar(t).then(function(n){angular.isObject(n)&&a.show({parent:angular.element(document.body),clickOutsideToClose:!0,escapeToClose:!0,templateUrl:"UIxWebCalendarAuthDialog",controller:e,controllerAs:"$WebCalendarAuthDialogController",locals:{url:t,calendar:n}})})}),e.$inject=["scope","$mdDialog","url","calendar"];function e(e,t,n,a){var o=this,i=n.split("/"),r=i[2];o.title=l("Please identify yourself to %{0}").formatted(r),o.url=n,o.authenticate=function(e){!e.$valid&&e.$error.required||a.setCredentials(o.username,o.password).then(function(e){t.hide()},function(t){e.password.$setValidity("credentials",!1)})},o.cancel=function(){t.cancel()}}},u.subscribeToFolder=function(e){o.debug("subscribeToFolder "+e.owner+e.name),d.$subscribe(e.owner,e.name).then(function(e){i.show(i.simple().content(l("Successfully subscribed to calendar")).position("top right").hideDelay(3e3))})},u.filter={name:""},u.sortableMode=!1,u.toggleSortableMode=function(){u.sortableMode=!u.sortableMode,u.filter.name=""},u.resetSort=function(){d.saveFoldersOrder()},u.sortableCalendars={scrollableContainer:"#sidenav-content",containment:"md-list",orderChanged:function(){d.saveFoldersOrder(_.flatMap(d.$findAll(),"id"))},accept:function(e,t,n){return e.sortableScope.element[0]==t.element[0]}},this.$onInit=function(){u.categories=_.map(c.defaults.SOGoCalendarCategories,function(e){return{id:e.asCSSIdentifier(),name:e,color:c.defaults.SOGoCalendarCategoriesColors[e]}}),t.$watch(function(){return _.union(_.map(d.$calendars,function(e){return _.pick(e,["id","active","color"])}),_.map(d.$subscriptions,function(e){return _.pick(e,["id","active","color"])}),_.map(d.$webcalendars,function(e){return _.pick(e,["id","active","color"])}))},function(t,n){var a,i,r;a=_.intersectionBy(t,n,"id"),i=_.map(_.filter(a,function(e){var t=_.find(n,{id:e.id});return!_.isEqual(e,t)}),"id"),r=d.$q.when(),i.length>0&&(o.debug(i.join(", ")+" changed"),r=d.saveFoldersActivation(i)),(i.length>0||a.length!=t.length||a.length!=n.length)&&r.then(function(){e.$emit("calendars:list")})},!0)}}angular.module("SOGo.SchedulerUI").controller("CalendarsController",e)}(),function(){"use strict";e.$inject=["$rootScope","$mdDialog","Calendar","Component","AddressBook","Alarm","Account","stateComponent"];function e(e,t,n,a,o,i,r,s){var c,d=this;d.calendarService=n,d.service=a,d.component=s,d.close=function(){t.hide()},d.highPriority=function(){return d.component&&d.component.priority&&d.component.priority<5},d.cardFilter=function(e){return o.$filterAll(e)},d.newMessageWithAllRecipients=function(e){var t=_.map(d.component.attendees,function(e){return e.name+" <"+e.email+">"});u(e,t)},d.newMessageWithRecipient=function(e,t,n){u(e,[t+" <"+n+">"])},d.edit=p,d.editAllOccurrences=function(){(c=n.$get(d.component.pid).$getComponent(d.component.id)).$futureComponentData.then(function(){d.component=c,p()})},d.reply=h,d.replyAllOccurrences=function(){(c=n.$get(d.component.pid).$getComponent(d.component.id)).$futureComponentData.then(function(){c.reply=d.component.reply,c.delegatedTo=d.component.delegatedTo,c.$hasAlarm=d.component.$hasAlarm,c.alarm=d.component.alarm,h(c)})},d.deleteOccurrence=function(){d.component.remove(!0).then(function(){e.$emit("calendars:list"),t.hide()})},d.deleteAllOccurrences=function(){d.component.remove().then(function(){e.$emit("calendars:list"),t.hide()})},d.toggleRawSource=function(e){n.$$resource.post(d.component.pid+"/"+d.component.id,"raw").then(function(n){t.hide(),t.show({parent:angular.element(document.body),targetEvent:e,clickOutsideToClose:!0,escapeToClose:!0,template:['',' ','
',"  
"," ",' '+l("Close")+""," ","
"].join(""),controller:a,locals:{data:n}}),a.$inject=["scope","$mdDialog","data"];function a(e,t,n){e.data=n,e.close=function(){t.hide()}}})},d.copySelectedComponent=function(n){d.component.copyTo(n).then(function(){t.hide(),e.$emit("calendars:list")})},d.moveSelectedComponent=function(n){d.component.moveTo(n).then(function(){t.hide(),e.$emit("calendars:list")})},d.organizer=[s.organizer];function u(e,n){r.$findAll().then(function(a){var o=_.find(a,function(e){if(0===e.id)return e});o.$getMailboxes().then(function(a){o.$newMessage().then(function(a){angular.extend(a.editable,{to:n,subject:d.component.summary}),t.show({parent:angular.element(document.body),targetEvent:e,clickOutsideToClose:!1,escapeToClose:!1,templateUrl:"../Mail/UIxMailEditor",controller:"MessageEditorController",controllerAs:"editor",locals:{stateAccount:o,stateMessage:a}})})})}),e.preventDefault(),e.stopPropagation()}function p(){var e="vevent"==d.component.component?"Appointment":"Task";t.hide().then(function(){var n="UIx"+e+"EditorTemplate";t.show({parent:angular.element(document.body),clickOutsideToClose:!0,escapeToClose:!0,templateUrl:n,controller:"ComponentEditorController",controllerAs:"editor",locals:{stateComponent:d.component}})})}function h(n){(n||d.component).$reply().then(function(){e.$emit("calendars:list"),i.getAlarms(),t.hide()})}}t.$inject=["$rootScope","$scope","$log","$timeout","$mdDialog","sgFocus","User","CalendarSettings","Calendar","Component","AddressBook","Card","Alarm","stateComponent"];function t(e,t,n,a,o,i,r,s,c,d,u,p,h,m){var f,g,y=this;y.service=c,y.component=m,y.categories={},y.showRecurrenceEditor=y.component.$hasCustomRepeat,y.toggleRecurrenceEditor=function(){y.showRecurrenceEditor=!y.showRecurrenceEditor,y.component.$hasCustomRepeat=y.showRecurrenceEditor},y.recurrenceMonthDaysAreRequired=function(){return y.component&&"monthly"==y.component.repeat.frequency&&"bymonthday"==y.component.repeat.month.type},y.showAttendeesEditor=y.component.attendees&&y.component.attendees.length,y.toggleAttendeesEditor=function(){y.showAttendeesEditor=!y.showAttendeesEditor},y.changeFrequency=function(){"custom"==y.component.repeat.frequency&&(y.showRecurrenceEditor=!0)},y.changeCalendar=function(){y.component.attendees&&y.component.attendees.length>0&&y.component.initOrganizer(c.$get(y.component.destinationCalendar))},y.cardFilter=function(e){return u.$filterAll(e),u.$cards},y.addAttendee=function(e){var t,n,a=!y.component.attendees||0===y.component.attendees.length,o=c.$get(y.component.destinationCalendar),i=a?{organizerCalendar:o}:{},r=/([\w\!\#$\%\&\'\*\+\-\/\=\?\^\`{\|\}\~]+\.)*[\w\!\#$\%\&\'\*\+\-\/\=\?\^\`{\|\}\~]+@((((([a-z0-9]{1}[a-z0-9\-]{0,62}[a-z0-9]{1})|[a-z])\.)+[a-z]{2,})|(\d{1,3}\.){3}\d{1,3}(\:\d{1,5})?)/i;function s(e){var t=e.match(r),n=t[0],o=e.replace(new RegExp(" *? *"),"");return y.showAttendeesEditor|=a,y.searchText="",new p({c_cn:_.trim(o,' "'),emails:[{value:n}]})}if(angular.isString(e)){for(n="",t=0;t5?l("low"):y.component.priority>4?l("normal"):l("high")},y.changeAlarmRelation=v,y.onAlarmChange=function(e){if("task"!==y.component.type)return;y.component.start||"START"!=y.component.alarm.relation?y.component.due||"END"!=y.component.alarm.relation||(y.component.alarm.relation="START"):y.component.alarm.relation="END";v(e)},y.reset=$,y.cancel=function(e){$(e),y.component.isNew&&(y.component=null);o.hide()},y.edit=C,y.save=function(t,n){v(t),t.$valid&&y.component.$save(n).then(function(t){e.$emit("calendars:list"),h.getAlarms(),o.hide()},function(e){e.status==s.ConflictHTTPErrorCode&&_.isObject(e.data.message)?y.attendeeConflictError=e.data.message:C(t)})},y.attendeeConflictError=!1,y.attendeesEditor={days:b(),hours:function(){for(var e=[],t=0;t<=23;t++)e.push(t.toString());return e}()},y.addStartDate=function(e){y.component.$addStartDate(),f=new Date(y.component.start.getTime()),y.component.due||(y.component.alarm.relation="START");v(e)},y.removeStartDate=function(e){y.component.$deleteStartDate(),y.component.due&&(y.component.alarm.relation="END");v(e)},y.addDueDate=function(e){y.component.$addDueDate(),new Date(y.component.due.getTime()),y.component.start||(y.component.alarm.relation="END");v(e)},y.removeDueDate=function(e){y.component.$deleteDueDate(),y.component.start&&(y.component.alarm.relation="START");v(e)},y.adjustStartTime=function(){if(y.component.start){0!==f.valueOf()-y.component.start.valueOf()&&(f=new Date(y.component.start.getTime()),"appointment"===y.component.type&&(y.component.end=new Date(y.component.start.getTime()),y.component.end.addMinutes(y.component.delta),g=new Date(y.component.end.getTime())),D())}},y.adjustEndTime=function(){if(y.component.end){var e=g.valueOf()-y.component.end.valueOf();0!==e&&((e=y.component.start.minutesTo(y.component.end))<0?y.component.end=new Date(g.getTime()):(y.component.delta=e,g=new Date(y.component.end.getTime())),D())}},y.adjustDueTime=function(){new Date(y.component.due.getTime())},y.component.start&&(f=new Date(y.component.start.getTime())),y.component.end&&(g=new Date(y.component.end.getTime())),y.component.due&&new Date(y.component.due.getTime());function v(e){"task"==y.component.type&&y.component.$hasAlarm&&(!y.component.start&&"START"==y.component.alarm.relation||!y.component.due&&"END"==y.component.alarm.relation)?e.alarmRelation.$setValidity("alarm",!1):e.alarmRelation.$setValidity("alarm",!0)}function $(e){y.component.$reset(),e.$setPristine()}function C(e){y.attendeeConflictError=!1,e.$setPristine(),e.$setDirty()}function b(){var e=[];return y.component.start&&y.component.end&&(e=y.component.start.daysUpTo(y.component.end)),_.map(e,function(e){return{stringWithSeparator:e.stringWithSeparator(),getDayString:e.getDayString()}})}function D(){y.attendeesEditor.days=b(),y.component.updateFreeBusy()}}angular.module("SOGo.SchedulerUI").controller("ComponentController",e).controller("ComponentEditorController",t)}(),function(){"use strict";e.$inject=["$scope","Calendar"];function e(e,t){this.day=e.day,this.dayNumber=e.dayNumber,this.dayString=e.dayString,this.calendarData=function(){var n,a,o;return e.calendar?(n=e.calendar,o=_.filter(t.$findAll(),{active:1}),a=_.findIndex(o,function(e){return e.id==n}),{pid:n,index:a}):null}}angular.module("SOGo.SchedulerUI").directive("sgCalendarDay",function(){return{restrict:"E",scope:{day:"@sgDay",dayNumber:"@sgDayNumber",dayString:"@sgDayString",calendar:"@sgCalendar"},controller:e}})}(),function(){"use strict";e.$inject=["CalendarSettings"];function e(e){return{restrict:"E",scope:{block:"=sgBlock",clickBlock:"&sgClick"},replace:!0,template:function(e,t){var n=_.has(t,"sgCalendarGhost")?"":"::";return['
",'
','
",'
',' {{'+n+"block.component.c_priority}}"," {{ "+n+"block.component.summary }}",' ',' ',' ',' ',' '," ",'
',' place ',"
","
","
",'
{{ block.startHour }}
','
{{ block.endHour }}
',"
"].join("")},link:function(e,t,n){var a,o,i;_.has(n,"sgCalendarGhost")||(a=100/e.block.siblings,o=e.block.position*a,0===(i=100-(e.block.position+1)*a)&&(i=10),t.css("left",o+"%"),t.css("right",i+"%"),e.block.component&&e.block.component.c_isallday||(t.addClass("starts"+e.block.start),t.addClass("lasts"+e.block.length)),e.block.userState&&t.addClass("sg-event--"+e.block.userState),e.block.component&&(t.addClass("bg-folder"+e.block.component.pid),t.addClass("contrast-bdr-folder"+e.block.component.pid),0===e.block.component.c_isopaque&&t.addClass("sg-event--transparent"),0===e.block.component.c_status&&t.addClass("sg-event--cancelled")))}}}angular.module("SOGo.SchedulerUI").directive("sgCalendarDayBlock",e)}(),function(){"use strict";angular.module("SOGo.SchedulerUI").directive("sgCalendarDayTable",function(){return{restrict:"E",scope:{blocks:"=sgBlocks",day:"@sgDay",clickBlock:"&sgClick"},template:["'].join("")}})}(),function(){"use strict";e.$inject=["$rootScope","$timeout","CalendarSettings","Calendar","Component"];function e(e,t,n,a,o){return{restrict:"A",require:["^sgCalendarDay","^sgCalendarScrollView"],link:function(t,i,r,s){var c,l,d,u,p;c=i[0],l=s[0],d=s[1],u=-1,i.addClass("sg-event--ghost md-whiteframe-3dp ng-hide");var h=e.$on("calendar:dragstart",function(){var e,n,a;t.block=o.$ghost,(n=l.calendarData())&&(u=n.index,e=n.pid,p=t.block.pointerHandler.originalCalendar.index);e||(e=t.block.component.pid);(a=t.block.component.blocks[0].userState)&&i.addClass("sg-event--"+a);i.addClass("bg-folder"+e)}),m=e.$on("calendar:drag",function(){var e,o,r,s,c,h,m,f;if(e=!1,a.$view&&a.$view.type==d.type){if(o="multiday-allday"===d.type,r=t.block.component.c_isallday,s=t.block.pointerHandler.currentEventCoordinates.dayNumber,c=t.block.pointerHandler.currentEventCoordinates.start,m=t.block.pointerHandler.currentEventCoordinates.duration,f=n.EventDragDayLength-c,angular.isUndefined(m))return;for((h=m)>f&&(h=f),s>-1&&(u<0&&s==l.dayNumber||s==u&&(p==u||!t.block.component.isException))&&(e=!0,o||(r||(t.block.startHour=($=c,g($))),a.$view.quarterHeight?(i.css("top",c*a.$view.quarterHeight+"px"),i.css("height",h*a.$view.quarterHeight+"px")):i.css("top",a.$view.topOffset+"px")),i.removeClass("fg-folder"+t.block.component.pid),i.removeClass("sg-event--ghost--last"),i.addClass("sg-event--ghost--first"),t.block.isFirst=!0),m-=h,s++;!e&&m&&s<=l.dayNumber;)(h=m)>n.EventDragDayLength&&(h=n.EventDragDayLength),s>-1&&s==l.dayNumber&&(e=!0,o||(i.css("top",a.$view.topOffset+"px"),a.$view.quarterHeight&&i.css("height",h*a.$view.quarterHeight+"px")),i.removeClass("sg-event--ghost--first"),i.removeClass("sg-event--ghost--last"),i.addClass("fg-folder"+t.block.component.pid)),m-=h,s++,c=0;m||(o?i.addClass("sg-event--ghost--last"):r||(t.block.endHour=(y=c,v=h,g((y+v)%n.EventDragDayLength))))}var y,v;var $;e?i.removeClass("ng-hide"):i.addClass("ng-hide")}),f=e.$on("calendar:dragend",function(){_.forEachRight(c.classList,function(e){/^bg-folder/.test(e)&&i.removeClass(e)}),i.addClass("ng-hide")});t.$on("$destroy",function(){h(),m(),f()});function g(e){var t,n,a;return t=15*e,(n=Math.floor(t/60))<10&&(n="0"+n),(a=t%60)<10&&(a="0"+a),n+":"+a}}}}angular.module("SOGo.SchedulerUI").directive("sgCalendarGhost",e)}(),function(){"use strict";e.$inject=["CalendarSettings"];function e(e){return{restrict:"E",scope:{component:"=sgComponent",clickComponent:"&sgClick"},replace:!0,template:function(e,t){return['
','
",' '," {{ ::component.c_title }}",' ',' ',' ',' ',' '," ",'
',' access_time ',"
",'
',' place ',"
","
"].join("")},link:function(e,t,n){e.component.viewable&&t.addClass("md-clickable");e.component.userstate&&t.addClass("sg-event--"+e.component.userstate);t.addClass("bg-folder"+e.component.pid),t.addClass("contrast-bdr-folder"+e.component.pid),0===e.component.c_isopaque&&t.addClass("sg-event--transparent");0===e.component.c_status&&t.addClass("sg-event--cancelled")}}}angular.module("SOGo.SchedulerUI").directive("sgCalendarListEvent",e)}(),function(){e.$inject=["$rootScope","$scope","$element","$timeout","$mdToast","$mdPanel","$mdMedia","$mdSidenav","sgConstant","Dialog","Calendar"];function e(e,t,n,a,o,i,r,s,c,d,u){var p=this;this.$onInit=function(){this.editMode=!1},this.$postLink=function(){this.clickableElement=n.find("p")[0],this.nameElements=this.clickableElement.getElementsByClassName("sg-calendar-name"),this.inputContainer=n.find("md-input-container")[0],this.inputElement=n.find("input")[0],this.moreOptionsButton=_.last(n.find("md-icon")),this.updateCalendarName()},this.updateCalendarName=function(){_.forEach(this.nameElements,function(e){e.innerHTML=p.calendar.name})},this.editFolder=function(e){e.stopPropagation(),e.preventDefault(),this.editMode=!0,this.inputElement.value=this.calendar.name,this.clickableElement.classList.add("ng-hide"),this.inputContainer.classList.remove("ng-hide"),"touchend"==e.srcEvent.type?a(function(){p.inputElement.focus(),p.inputElement.select()},200):(this.inputElement.select(),this.inputElement.focus()),this.panel&&this.panel.close()},this.saveFolder=function(e){this.inputElement.disabled||(this.calendar.name=this.inputElement.value,this.inputElement.disabled=!0,this.calendar.$rename().then(function(e){p.editMode=!1,p.inputContainer.classList.add("ng-hide"),p.clickableElement.classList.remove("ng-hide"),p.updateCalendarName()}).finally(function(){p.inputElement.disabled=!1}))},this.revertEditing=function(){this.editMode=!1,this.clickableElement.classList.remove("ng-hide"),this.inputContainer.classList.add("ng-hide"),this.inputElement.value=this.calendar.name},this.confirmDelete=function(){this.calendar.isSubscription?this.calendar.$delete().catch(function(e,t){d.alert(l('An error occured while deleting the calendar "%{0}".',p.calendar.name),l(e.error))}):d.confirm(l("Warning"),l('Are you sure you want to delete the calendar "%{0}"?',this.calendar.name),{ok:l("Delete")}).then(function(){p.calendar.$delete().catch(function(e,t){d.alert(l('An error occured while deleting the calendar "%{0}".',p.calendar.name),l(e.error))})})},this.showMenu=function(t){var n=i.newPanelPosition().relativeTo(this.moreOptionsButton).addPanelPosition(i.xPosition.ALIGN_START,i.yPosition.ALIGN_TOPS),a=i.newPanelAnimation().openFrom(this.moreOptionsButton).duration(100).withAnimation(i.animation.FADE),r={attachTo:angular.element(document.body),locals:{itemCtrl:this,calendar:this.calendar,editFolder:angular.bind(this,this.editFolder),confirmDelete:angular.bind(this,this.confirmDelete)},bindToController:!0,controller:s,controllerAs:"$menuCtrl",position:n,animation:a,targetEvent:t,templateUrl:"UIxCalendarMenu",trapFocus:!0,clickOutsideToClose:!0,escapeToClose:!0,focusOnOpen:!0};i.open(r).then(function(e){p.panel=e,e.panelEl.one("click",function(){e.close()})}),s.$inject=["mdPanelRef","$mdDialog","FileUploader","User"];function s(n,a,i,r){var s=this;this.showOnly=function(){_.forEach(u.$findAll(),function(e){s.calendar.id==e.id?e.active=1:e.active=0})},this.showAll=function(){_.forEach(u.$findAll(),function(e){e.active=1})},this.showProperties=function(){var e=this.calendar.color;a.show({templateUrl:this.calendar.id+"/properties",controller:t,controllerAs:"properties",clickOutsideToClose:!0,escapeToClose:!0,locals:{srcCalendar:this.calendar}}).catch(function(){s.calendar.color=e}),t.$inject=["$scope","$mdDialog","srcCalendar"];function t(e,t,n){var a=this;a.calendar=new u(n.$omit()),a.saveProperties=function(e){e.$valid&&(a.calendar.$save(),n.init(a.calendar.$omit()),t.hide())},a.close=function(){t.cancel()},e.$watch(function(){return a.calendar.color},function(){n.color=a.calendar.color})}},this.showLinks=function(){a.show({parent:angular.element(document.body),clickOutsideToClose:!0,escapeToClose:!0,templateUrl:this.calendar.id+"/links",controller:e,controllerAs:"links",locals:{calendar:this.calendar}}),e.$inject=["$mdDialog","calendar"];function e(e,t){this.calendar=t,this.close=function(){e.hide()}}},this.importCalendar=function(){a.show({parent:angular.element(document.body),targetEvent:t,clickOutsideToClose:!0,escapeToClose:!0,templateUrl:"UIxCalendarImportDialog",controller:n,controllerAs:"$CalendarImportDialogController",locals:{folder:this.calendar}}),n.$inject=["scope","$mdDialog","folder"];function n(t,n,a){this.uploader=new i({url:ApplicationBaseURL+[a.id,"import"].join("/"),autoUpload:!0,queueLimit:1,filters:[{name:r,fn:r}],onSuccessItem:function(t,a,i,r){var s;n.hide(),0===a.imported?s=l("No event was imported."):(s=l("A total of %{0} events were imported in the calendar.",a.imported),e.$emit("calendars:list")),o.show(o.simple().content(s).position("top right").hideDelay(3e3))},onErrorItem:function(e,t,n,a){o.show({template:["",'
',' error_outline'," "+l("An error occurred while importing calendar.")+"","
","
"].join(""),position:"top right",hideDelay:3e3})}}),this.close=function(){n.hide()};function r(e){var t=0===e.type.indexOf("text")||/\.(ics)$/.test(e.name);return t||o.show({template:["",'
',' error_outline'," "+l("Select an iCalendar file (.ics).")+"","
","
"].join(""),position:"top right",hideDelay:3e3}),t}}},this.share=function(){this.calendar.$acl.$users().then(function(){a.show({templateUrl:s.calendar.id+"/UIxAclEditor",controller:"AclController",controllerAs:"acl",clickOutsideToClose:!0,escapeToClose:!0,locals:{usersWithACL:s.calendar.$acl.users,User:r,folder:s.calendar}})})}}}}angular.module("SOGo.SchedulerUI").controller("sgCalendarListItemController",e).directive("sgCalendarListItem",function(){return{restrict:"C",scope:{},bindToController:{calendar:"=sgCalendar"},template:['','

',' ',' error',' ',' ',"

",'',' ',"",''," drag_handle","",'more_vert'].join(""),controller:"sgCalendarListItemController",controllerAs:"$ctrl"}})}(),function(){"use strict";angular.module("SOGo.SchedulerUI").directive("sgCalendarMonthDay",function(){return{restrict:"E",scope:{blocks:"=sgBlocks",day:"@sgDay",clickBlock:"&sgClick"},template:["'].join("")}})}(),function(){"use strict";angular.module("SOGo.SchedulerUI").directive("sgCalendarMonthEvent",function(){return{restrict:"E",scope:{block:"=sgBlock",clickBlock:"&sgClick"},replace:!0,template:function(e,t){var n=_.has(t,"sgCalendarGhost")?"":"::";return['
','
",' {{ '+n+"block.component.startHour }}",' {{'+n+"block.component.c_priority}}"," {{ "+n+"block.component.summary }}",' ',' ',' ',' ',' '," ","
"].join("")},link:function(e,t,n){_.has(n,"sgCalendarGhost")||(e.block.userState&&t.addClass("sg-event--"+e.block.userState),e.block.component&&(t.addClass("bg-folder"+e.block.component.pid),0===e.block.component.c_isopaque&&t.addClass("sg-event--transparent"),0===e.block.component.c_status&&t.addClass("sg-event--cancelled")))}}})}(),function(){"use strict";e.$inject=["$rootScope","$window","$document","$q","$timeout","$mdGesture","Calendar","Component","Preferences"];function e(e,n,a,o,i,r,s,c,l){return{restrict:"A",scope:{type:"@sgCalendarScrollView"},controller:t,link:function(t,a,o,r){var d,u,p=!1;d=null,u=t.type,p="multicolumndayview"==a.attr("sg-view"),r.isMultiColumn=p,i(function(){if(d=new h(a,u),"monthly"!=u){var e,t,n;l.defaults.SOGoDayStartTime&&(e=l.defaults.SOGoDayStartTime.split(":"),t=document.getElementById("hour"+parseInt(e[0])),n=parseInt(e[1])*d.quarterHeight,d.element.scrollTop=t.offsetTop+n)}r.quarterHeight=d.quarterHeight}),t.$on("$destroy",function(){d&&d.$destroy()});function h(t,a){this.$element=t,this.element=t[0],this.type=a,this.quarterHeight=this.getQuarterHeight(),this.scrollStep=6*this.quarterHeight,this.dayNumbers=this.getDayNumbers(),this.maxX=this.getMaxColumns(),this.deregisterDragStart=e.$on("calendar:dragstart",angular.bind(this,this.onDragStart)),this.deregisterDragStop=e.$on("calendar:dragend",angular.bind(this,this.onDragEnd)),this.bindedUpdateCoordinates=angular.bind(this,this.updateCoordinates),this.bindedUpdateFromPointerHandler=angular.bind(this,this.updateFromPointerHandler),this.updateCoordinates(),angular.element(n).on("resize",this.bindedUpdateCoordinates)}h.prototype={$destroy:function(){this.deregisterDragStart(),this.deregisterDragStop(),this.$element.off("mousemove",this.bindedUpdateFromPointerHandler),angular.element(n).off("resize",this.bindedUpdateCoordinates)},onDragStart:function(){this.$element.on("mousemove",this.bindedUpdateFromPointerHandler),this.updateCoordinates(),this.updateFromPointerHandler()},onDragEnd:function(){this.$element.off("mousemove",this.bindedUpdateFromPointerHandler),s.$view=null},getQuarterHeight:function(){var e,t,n=null;return e=document.getElementById("hour0"),t=document.getElementById("hour23"),e&&t&&(n=(t.offsetTop-e.offsetTop)/92),n},getDayDimensions:function(e){var t,n,a,o,i,r,s;return n=t=a=o=0,(i=this.element.getElementsByClassName("day")).length>0&&(n=(r=i[0].getBoundingClientRect()).height,t=r.width,a=r.left-e,(s=i[0].getElementsByClassName("sg-calendar-tile-header")).length>0&&(o=s[0].clientHeight)),{height:n,width:t,offset:{left:a,top:o}}},getDayNumbers:function(){var e;return e=this.element.getElementsByTagName("sg-calendar-day"),_.map(e,function(e,t){return p?t:parseInt(e.attributes["sg-day-number"].value)})},getMaxColumns:function(){var e,t=0;return"monthly"==this.type?(e=this.element.getElementsByTagName("md-grid-list")[0],t=parseInt(e.attributes["md-cols"].value)-1):t=this.element.getElementsByClassName("day").length-1,t},updateCoordinates:function(){var e,t;e=this.element.getBoundingClientRect(),t=this.getDayDimensions(e.left),angular.extend(this,{coordinates:{x:e.left,y:e.top},dayHeight:t.height,dayWidth:t.width,daysOffset:t.offset.left,topOffset:t.offset.top})},updateFromPointerHandler:function(){var e,t,n,a,o,i;e=c.$ghost.pointerHandler,this.coordinates&&e&&(t=e.getContainerBasedCoordinates(this))&&(s.$view=this,n=(new Date).getTime(),(!this.lastScroll||n>this.lastScroll+100)&&(this.lastScroll=n,(a=t.y-this.scrollStep)<0?(a<(o=-this.element.scrollTop)&&(a=o),this.element.scrollTop+=a):(i=(a=t.y+this.scrollStep)-this.element.clientHeight)>0&&(this.element.scrollTop+=i)))}}}}}t.$inject=["$scope"];function t(e){this.type=e.type}angular.module("SOGo.SchedulerUI").directive("sgCalendarScrollView",e)}(),function(){"use strict";angular.module("SOGo.SchedulerUI").directive("sgCategoryStylesheet",function(){return{restrict:"E",require:"ngModel",scope:{ngModel:"="},replace:!0,template:['"].join("")}})}(),function(){"use strict";e.$inject=["$rootScope","$timeout","$log","Preferences","Calendar","CalendarSettings","Component"];function e(e,t,n,a,o,i,r){return{restrict:"CA",require:"^sgCalendarDay",link:function(s,c,d,u){if(s.block){if(!s.block.component.editable||s.block.userState)return void c.removeClass("sg-draggable-calendar-block");!function(){var e,t,n,a,o,i,r,l,d,u;if(s.block.length<3)return;e=s.block.component,t=s.block.dayIndex,n=_.findIndex(e.blocks,["dayIndex",t]),a=0===n,o=n===e.blocks.length-1,(i=angular.element('
')).addClass("bdr-folder"+e.pid),e.c_isallday||"SG-CALENDAR-MONTH-DAY"===c[0].parentNode.tagName?(a&&(r=angular.element('
').append(i),c.append(r)),o&&(l=angular.element('
').append(i.clone()),c.append(l))):(a&&(d=angular.element('
').append(i),c.append(d)),o&&(u=angular.element('
').append(i.clone()),c.append(u)))}()}c.on("mousedown",p),s.$on("$destroy",function(){c.off("mousedown",p),c.off("mousemove",h)});function p(e){var t,n,a,o;e.stopPropagation(),e.target.scrollHeight>e.target.clientHeight+1&&(a=e.target.getBoundingClientRect(),o=a.left+a.width-18,e.pageX>o)||(t="move-event",s.block&&s.block.component?"dragGrip-top"==e.target.className||"dragGrip-left"==e.target.className?t="change-start":"dragGrip-bottom"!=e.target.className&&"dragGrip-right"!=e.target.className||(t="change-end"):t="change-end",(n=new y(t)).initFromEvent(e),r.$ghost.pointerHandler=n,angular.element(document).one("mouseup",m),angular.element(document).on("mousemove",h))}function h(e){var n=r.$ghost.pointerHandler;t(function(){n.updateFromEvent(e)})}function m(t){var n,a;n=s.block,a=r.$ghost.pointerHandler,angular.element(document).off("mousemove",h),a.dragHasStarted&&(e.$emit("calendar:dragend"),a.dragHasStarted=!1),n&&n.component&&_.forEach(n.component.blocks,function(e){e.dragging=!1})}function f(){}f.prototype={x:-1,y:-1,getDelta:function(e){var t=new f;return t.x=this.x-e.x,t.y=this.y-e.y,o.$view&&(t.days=o.$view.dayNumbers[this.x]-o.$view.dayNumbers[e.x]),t},getDistance:function(e){var t=this.getDelta(e);return Math.sqrt(t.x*t.x+t.y*t.y)},clone:function(){var e=new f;return e.x=this.x,e.y=this.y,e}};function g(e){this.setEventType(e)}g.prototype={dayNumber:-1,weekDay:-1,start:-1,duration:-1,eventType:null,setEventType:function(e){this.eventType=e},initFromBlock:function(e){var t=-1;"monthly"===this.eventType?(this.start=0,this.duration=e.component.blocks.length*i.EventDragDayLength):(this.start=e.component.blocks[0].start,this.duration=_.sumBy(e.component.blocks,function(e){var n,a;return a=e.dayNumber,n=t<0?0:a-t-1,t=a,e.length+n*i.EventDragDayLength}))},initFromCalendar:function(e){this.dayNumber=e},getDelta:function(e){var t=new g;return t.dayNumber=this.dayNumber-e.dayNumber,t.start=this.start-e.start,t.duration=this.duration-e.duration,t},_quartersToHM:function(e){var t=15*e,n=Math.floor(t/60);n<10&&(n="0"+n);var a=t%60;return a<10&&(a="0"+a),n+":"+a},getStartTime:function(){return this._quartersToHM(this.start)},getEndTime:function(){var e=(this.start+this.duration)%i.EventDragDayLength;return this._quartersToHM(e)},clone:function(){var e=new g;return e.dayNumber=this.dayNumber,e.start=this.start,e.duration=this.duration,e}};function y(e){this.dragMode=e}y.prototype={originalCoordinates:null,currentCoordinates:null,originalViewCoordinates:null,currentViewCoordinates:null,originalEventCoordinates:null,currentEventCoordinates:null,originalCalendar:null,dragHasStarted:!1,getEventViewCoordinates:null,initFromBlock:function(e){this.currentEventCoordinates=new g(this.eventType),this.originalEventCoordinates=new g(this.eventType),this.originalEventCoordinates.initFromBlock(e)},initFromEvent:function(e){this.currentCoordinates=new f,this.updateFromEvent(e),this.originalCoordinates=this.currentCoordinates.clone()},initFromCalendar:function(e){this.originalCalendar=e,this.currentEventCoordinates.initFromCalendar(e.index),this.originalEventCoordinates.initFromCalendar(e.index)},updateFromEvent:function(t){if(this.currentCoordinates.x=t.pageX,this.currentCoordinates.y=t.pageY,this.dragHasStarted&&o.$view){var i=this.getEventViewCoordinates(o.$view);this.originalViewCoordinates||(this.originalViewCoordinates=this.getEventViewCoordinates(o.$view,this.originalCoordinates),r.$ghost.component.isNew&&(this.setTimeFromQuarters(r.$ghost.component.start,this.originalViewCoordinates.y),n.debug("new event start date "+r.$ghost.component.start))),this.currentViewCoordinates&&i&&i.x==this.currentViewCoordinates.x&&i.y==this.currentViewCoordinates.y||(this.currentViewCoordinates=i,this.originalViewCoordinates&&(i||(this.currentViewCoordinates=this.originalViewCoordinates.clone()),this.updateEventCoordinates()))}else if(this.originalCoordinates&&this.currentCoordinates&&!this.dragHasStarted){var d=this.getDistance();d>3&&(this.dragHasStarted=!0,function(t){var i,d,p,h,m,f,g,y,v;p=c.hasClass("clickableHourCell"),h="SG-CALENDAR-MONTH-DAY"==c[0].parentNode.tagName||c.hasClass("clickableDayCell"),v=u.calendarData(),s.block&&s.block.component?i=s.block:(m=u.dayString.parseDate(a.$mdDateLocaleProvider,"%Y-%m-%e"),f={type:"appointment",pid:v?v.pid:o.$defaultCalendar(),summary:l("New Event"),startDate:m,isAllDay:p?0:1},g=new r(f),(i={component:g,dayNumber:u.dayNumber,length:0}).component.blocks=[i]);d="multiday",h?d="monthly":i.component.c_isallday&&(d="multiday-allday");_.forEach(i.component.blocks,function(e){e.dragging=!0}),(y=r.$ghost.pointerHandler).prepareWithEventType(d),y.initFromBlock(i),v&&y.initFromCalendar(v);r.$ghost.component=i.component,n.debug("emit calendar:dragstart "+d),e.$emit("calendar:dragstart")}())}},updateEventCoordinates:function(){var t,a=this.currentViewCoordinates.getDelta(this.originalViewCoordinates),r=a.days*i.EventDragDayLength+a.y;n.debug("quarters delta "+r),angular.isUndefined(this.originalEventCoordinates.start)?(this.originalEventCoordinates.dayNumber=o.$view.dayNumbers[this.originalViewCoordinates.x],this.originalEventCoordinates.start=this.originalViewCoordinates.y):this.originalEventCoordinates.dayNumber<0&&(this.originalEventCoordinates.dayNumber=o.$view.dayNumbers[s.block.component.blocks[0].dayIndex]),this.currentEventCoordinates.dayNumber=this.originalEventCoordinates.dayNumber,"move-event"==this.dragMode?(this.currentEventCoordinates.start=this.originalEventCoordinates.start+r,this.currentEventCoordinates.duration=this.originalEventCoordinates.duration):"change-start"==this.dragMode?(t=this.originalEventCoordinates.duration-r)>0?(this.currentEventCoordinates.start=this.originalEventCoordinates.start+r,this.currentEventCoordinates.duration=t):t<0&&(this.currentEventCoordinates.start=this.originalEventCoordinates.start+this.originalEventCoordinates.duration,this.currentEventCoordinates.duration=-t):"change-end"==this.dragMode&&((t=this.originalEventCoordinates.duration+r)>0?(this.currentEventCoordinates.start=this.originalEventCoordinates.start,this.currentEventCoordinates.duration=t):t<0&&(this.currentEventCoordinates.start=this.originalEventCoordinates.start+t,this.currentEventCoordinates.duration=-t));var c;this.currentEventCoordinates.start<0?(c=Math.ceil(-this.currentEventCoordinates.start/i.EventDragDayLength),this.currentEventCoordinates.start+=c*i.EventDragDayLength,this.currentEventCoordinates.dayNumber-=c):this.currentEventCoordinates.start>=i.EventDragDayLength&&(c=Math.floor(this.currentEventCoordinates.start/i.EventDragDayLength),this.currentEventCoordinates.start-=c*i.EventDragDayLength,this.currentEventCoordinates.dayNumber+=c),n.debug("event coordinates "+JSON.stringify(this.currentEventCoordinates)),e.$emit("calendar:drag")},getContainerBasedCoordinates:function(e,t){var n=t||this.currentCoordinates,a=n.getDelta(e.coordinates),o=e.element;return(a.xo.clientWidth||a.y<0||a.y>o.clientHeight)&&(a=null),a},prepareWithEventType:function(e){var t={multiday:this.getEventMultiDayViewCoordinates,"multiday-allday":this.getEventMultiDayAllDayViewCoordinates,monthly:this.getEventMonthlyViewCoordinates,unknown:null},n=t[e];this.eventType=e,this.getEventViewCoordinates=n},getEventMultiDayViewCoordinates:function(e,t){var n=this.getEventMultiDayAllDayViewCoordinates(e,t);if(n){var a=e.quarterHeight,o=this.getContainerBasedCoordinates(e,t);o.y+=e.element.scrollTop,n.y=Math.floor((o.y-i.EventDragHorizontalOffset)/a);var r=i.EventDragDayLength-1;n.y<0?n.y=0:n.y>r&&(n.y=r)}return n},getEventMultiDayAllDayViewCoordinates:function(e,t){var n,a=this.getContainerBasedCoordinates(e,t);if(a){n=new f;var i=e.dayWidth,r=e.daysOffset;n.x=Math.floor((a.x-r)/i);var s=0,c=o.$view.maxX;if("move-event"!=this.dragMode){var l=u.calendarData();l&&(s=c=l.index)}n.xc&&(n.x=c),n.y=0}else n=null;return n},getEventMonthlyViewCoordinates:function(e,t){var n,a=this.getContainerBasedCoordinates(e,t);if(a){n=new f;var o=e.maxX,i=e.dayWidth,r=e.daysOffset,s=e.dayHeight,c=Math.floor((a.y-0)/s);c<0&&(c=0),n.x=Math.floor((a.x-r)/i),n.x<0?n.x=0:n.x>o&&(n.x=o),n.x+=(o+1)*c,n.y=0}else n=null;return n},getDistance:function(){return this.currentCoordinates.getDistance(this.originalCoordinates)},setTimeFromQuarters:function(e,t){var n,a;n=Math.floor(t/4),a=t%4*15,e.setHours(n,a)}}}}}angular.module("SOGo.SchedulerUI").directive("sgDraggableCalendarBlock",e)}(),function(){"use strict";e.$inject=["$scope","$element","$timeout"];function e(e,t,n){var a,o=this,i=t.controller("sgCalendarScrollView");e.nowDay=null,e.lineElement=null,e.updateLine=function(r){var s=new Date,c=s.getDayString(),l=s.getHours(),d=4*e.quarterHeight,u=s.getMinutes(),p=e.quarterHeight/15,h=parseInt(l*d+u*p-1);(r||c!=e.nowDay)&&(e.lineElement&&e.lineElement.remove(),e.lineElement=function(e,n){var a=angular.element("");i.isMultiColumn?n&&n[0].attributes["sg-day"].value==e&&t.append(a):_.forEach(n,function(t){t.attributes["sg-day"].value==e&&angular.element(t).find("div").eq(0).append(a)});return a}(c,e.days),e.nowDay=c);e.lineElement&&(e.lineElement.css("top",h+"px"),a=n(angular.bind(o,e.updateLine),6e4))},e.$on("$destroy",function(){a&&n.cancel(a)})}angular.module("SOGo.SchedulerUI").directive("sgNowLine",function(){return{restrict:"C",require:"^^sgCalendarScrollView",link:function(e,t,n,a){function o(){return t.find("sg-calendar-day")}var i=e.$watch(function(){return a.quarterHeight},function(t){if(t){i(),e.quarterHeight=t;var n=e.$watch(o,function(t){t.length&&(n(),e.days=t,e.updateLine())})}})},controller:e}})}(); //# sourceMappingURL=Scheduler.services.js.map \ No newline at end of file diff --git a/UI/WebServerResources/js/Scheduler.services.js.map b/UI/WebServerResources/js/Scheduler.services.js.map index d9920f403..96c08e84b 100644 --- a/UI/WebServerResources/js/Scheduler.services.js.map +++ b/UI/WebServerResources/js/Scheduler.services.js.map @@ -1 +1 @@ -{"version":3,"sources":["Scheduler/Calendar.service.js","Scheduler/Component.service.js","Scheduler/CalendarController.js","Scheduler/CalendarListController.js","Scheduler/CalendarsController.js","Scheduler/ComponentController.js","Scheduler/sgCalendarDay.directive.js","Scheduler/sgCalendarDayBlock.directive.js","Scheduler/sgCalendarDayTable.directive.js","Scheduler/sgCalendarGhost.directive.js","Scheduler/sgCalendarListEvent.directive.js","Scheduler/sgCalendarListItem.directive.js","Scheduler/sgCalendarMonthDay.directive.js","Scheduler/sgCalendarMonthEvent.directive.js","Scheduler/sgCalendarScrollView.directive.js","Scheduler/sgCategoryStylesheet.directive.js","Scheduler/sgDraggableCalendarBlock.directive.js","Scheduler/sgNowLine.directive.js"],"names":["Calendar","futureCalendarData","this","init","name","id","newCalendarData","$$resource","create","$unwrap","$factory","$q","$timeout","$log","Settings","Resource","Preferences","Component","Acl","angular","extend","activeUser","$Preferences","$Component","$$Acl","$view","module","e","value","EventDragDayLength","EventDragHorizontalOffset","ConflictHTTPErrorCode","factory","$defaultCalendar","calendar","defaults","SOGoDefaultCalendar","_","find","$findAll","active","$add","list","sibling","isWebCalendar","$webcalendars","isSubscription","$subscriptions","$calendars","findIndex","o","i","localeCompare","push","splice","settings","FoldersOrder","saveFoldersOrder","flatMap","$reloadAll","data","writable","_this","forEach","isUndefined","fetch","then","calendars","union","filter","isOwned","acls","objectCreator","calendarData","group","owner","login","$get","$getIndex","indexOf","map","$subscribe","uid","path","userResource","$addWebCalendar","url","d","defer","urls","webCalendarURL","reject","post","isEditable","isRemote","debug","JSON","stringify","undefined","resolve","response","status","promise","reloadWebCalendars","promises","$error","l","statusText","all","$deleteComponents","components","component","isDefined","pid","uids","saveFoldersActivation","ids","request","folders","prototype","color","$acl","isSuperUser","$shadowData","$omit","$id","when","$futureCalendarData","getClassName","base","$rename","$save","$delete","remove","$reset","key","save","error","setCredentials","username","password","export","options","type","filename","open","$setActivation","$getComponent","componentId","recurrenceId","$find","isError","isObject","futureComponentData","newComponentData","newguid","isNew","$rootScope","Component_STATUS","User","Card","Gravatar","STATUS","$settings","$User","$Card","$gravatar","timeFormat","$query","search","$queryEvents","sort","asc","filterpopup","$queryTasks","$refreshTimeout","$ghost","EventsFilterState","TasksFilterState","EventsSortingState","parseInt","TasksSortingState","show_completed","ShowCompletedTasks","$categories","SOGoCalendarCategoriesColors","SOGoTimeFormat","constant","NOT_LOADED","DELAYED_LOADING","LOADING","LOADED","DELAYED_MS","$selectedCount","count","$events","event","selected","length","$tasks","task","$startRefreshTimeout","cancel","refreshViewCheck","SOGoRefreshViewCheck","f","bind","$emit","timeInterval","$isLoading","$loaded","$filter","otherType","now","Date","day","getDate","month","getMonth","year","getFullYear","queryKey","capitalize","params","dirty","keys","$unwrapCollection","calendarId","occurrenceId","encodeURIComponent","join","filterCategories","query","re","RegExp","category","saveSelectedList","componentType","$eventsBlocksForView","view","date","firstDayOfWeek","viewAction","startDate","endDate","SOGoFirstDayOfWeek","beginOfWeek","setTime","getTime","addDays","setDate","setMonth","endOfWeek","$eventsBlocks","j","dayDates","dayNumbers","deferred","toLowerCase","sd","getDayString","ed","views","reduceComponent","associateComponent","objects","eventData","componentData","zipObject","eventsFields","start","c_startdate","hour","getHourString","blocks","block","nbr","isFirst","$views","viewIndex","viewData","allDayBlocks","reduce","events","flatten","days","dayIndex","dayNumber","calendarName","fields","invokeMap","monthData","dayData","$resetGhost","pointerHandler","startHour","endHour","$parseDate","dateString","time","substring","split","no_time","categories","repeat","alarm","action","quantity","unit","reference","relation","delta","isString","setMinutes","Math","round","getMinutes","end","minutesTo","setDelta","dueDate","due","completedDate","completed","c_category","$isRecurrent","byDayMask","occurrence","frequency","byday","toString","dates","rdate","rdates","interval","monthdays","months","until","$hasCustomRepeat","hasCustomRepeat","classification","match","exec","SOGoCalendarDefaultReminder","$hasAlarm","M","H","D","W","sendAppointmentNotifications","SOGoAppointmentSendEMailNotifications","destinationCalendar","attendees","attendee","image","email","updateFreeBusy","initOrganizer","results","organizer","cn","c_email","updateFreeBusyAttendee","isReadOnly","isEditableOccurrence","isInvitation","userHasRSVP","isInvitationOccurrence","showPercentComplete","percentComplete","enablePercentComplete","coversFreeBusy","quarter","freebusy","updateFreeBusyCoverage","roundedStart","roundedEnd","startQuarter","endQuarter","daysUpTo","index","hourKey","currentDay","dayKey","getHours","beginOfDay","addMinutes","resource","domain","sday","eday","isMSExchange","c_folder","addAttendee","card","organizerCalendar","$isList","expandable","container","c_name","listId","refs","ref","c_cn","$preferredEmail","role","partstat","c_uid","$avatarIcon","c_domain","ismsexchange","hasAttendee","emails","deleteAttendee","currentAttendee","canRemindAttendeesByEmail","addAttachUrl","attachUrl","attachUrls","deleteAttachUrl","$addDueDate","toISOString","$deleteDueDate","$addStartDate","$deleteStartDate","$addRecurrenceDate","$deleteRecurrenceDate","$reply","reply","delegatedTo","$adjust","every","values","v","extraAttributes","dlp","$mdDateLocaleProvider","format","startTime","endTime","dueTime","stringWithSeparator","occurrenceOnly","$futureComponentData","copy","repeatDescription","localizedString","toUpperCase","alarmDescription","copyTo","destination","moveTo","CalendarController","$inject","$scope","$state","$stateParams","sgHotkeys","stateEventsBlocks","deregisterCalendarsList","vm","hotkeys","expandedAllDays","selectedDate","asDate","toggleAllDays","changeDate","changeView","$onInit","createHotkey","description","callback","args","_goToPeriod","registerHotkey","_formatDate","$on","updateView","deregisterHotkey","$event","direction","setHours","$dateFormat","replace","newDate","element","currentTarget","attr","go","controller","CalendarListController","$mdDialog","focus","Dialog","CalendarSettings","Alarm","sortLabels","title","location","priority","tasks","selectedList","selectComponentType","unselectComponents","mode","multiple","selectAll","searchMode","toggleComponentSelection","preventDefault","stopPropagation","confirmDeleteSelectedComponents","confirm","ok","openEvent","openComponent","openTask","newComponent","filteredBy","field","sortedBy","reload","finally","cancelSearch","SelectedList","updateComponentFromGhost","viewable","templateUrl","show","parent","document","body","targetEvent","clickOutsideToClose","escapeToClose","controllerAs","locals","stateComponent","baseComponent","coordinates","calendarNumber","activeCalendars","currentEventCoordinates","summary","isAllDay","duration","catch","getDelta","originalEventCoordinates","originalCalendar","isException","getAlarms","onComponentAdjustError","template","RecurrentComponentDialogController","updateThisOccurrence","hide","updateAllOccurrences","message","AttendeeConflictDialogController","conflictError","ignoreConflicts","ascending","CalendarsController","$window","$mdToast","service","newCalendar","ev","prompt","UserLogin","addWebCalendar","inputType","WebCalendarAuthDialogController","scope","parts","hostname","formatted","authenticate","form","$valid","required","reason","$setValidity","subscribeToFolder","simple","content","position","hideDelay","sortableMode","toggleSortableMode","resetSort","sortableCalendars","scrollableContainer","containment","orderChanged","accept","sourceItemHandleScope","destSortableScope","destItemScope","sortableScope","SOGoCalendarCategories","asCSSIdentifier","$watch","pick","newList","oldList","commonList","intersectionBy","oldObject","isEqual","ComponentController","AddressBook","Account","calendarService","close","highPriority","cardFilter","$filterAll","newMessageWithAllRecipients","recipients","_newMessage","newMessageWithRecipient","edit","editAllOccurrences","replyAllOccurrences","deleteOccurrence","deleteAllOccurrences","toggleRawSource","ComponentRawSourceDialogController","copySelectedComponent","moveSelectedComponent","accounts","account","$getMailboxes","mailboxes","$newMessage","editable","to","subject","stateAccount","stateMessage","ComponentEditorController","oldStartDate","oldEndDate","showRecurrenceEditor","toggleRecurrenceEditor","recurrenceMonthDaysAreRequired","showAttendeesEditor","toggleAttendeesEditor","changeFrequency","changeCalendar","$cards","address","emailRE","createCard","str","searchText","trim","charCodeAt","test","charAt","removeAttendee","$setDirty","priorityLevel","changeAlarmRelation","onAlarmChange","reset","attendeeConflictError","attendeesEditor","getDays","hours","addStartDate","removeStartDate","addDueDate","removeDueDate","adjustStartTime","valueOf","adjustEndTime","adjustDueTime","alarmRelation","$setPristine","sgCalendarDayController","dayString","directive","restrict","sgCalendarDayBlock","clickBlock","tElem","tAttrs","p","has","link","iElement","attrs","pc","left","right","siblings","css","c_isallday","addClass","userState","c_isopaque","c_status","sgCalendarGhost","require","ctrls","domElement","calendarDayCtrl","scrollViewCtrl","originalCalendarNumber","deregisterDragStart","deregisterDrag","showGhost","isRelative","durationLeft","maxDuration","quartersToHM","quarterHeight","topOffset","removeClass","deregisterDragEnd","forEachRight","classList","c","quarters","minutes","mins","floor","sgCalendarListEvent","clickComponent","userstate","sgCalendarListItemController","$element","$mdPanel","$mdMedia","$mdSidenav","sgConstant","$ctrl","editMode","$postLink","clickableElement","nameElements","getElementsByClassName","inputContainer","inputElement","moreOptionsButton","last","updateCalendarName","innerHTML","editFolder","add","srcEvent","select","panel","saveFolder","disabled","revertEditing","confirmDelete","alert","showMenu","panelPosition","newPanelPosition","relativeTo","addPanelPosition","xPosition","ALIGN_START","yPosition","ALIGN_TOPS","panelAnimation","newPanelAnimation","openFrom","withAnimation","animation","FADE","config","attachTo","itemCtrl","bindToController","MenuController","trapFocus","focusOnOpen","panelRef","panelEl","one","mdPanelRef","FileUploader","$menuCtrl","showOnly","showAll","showProperties","PropertiesDialogController","srcCalendar","saveProperties","showLinks","LinksDialogController","importCalendar","CalendarImportDialogController","folder","uploader","ApplicationBaseURL","autoUpload","queueLimit","filters","filterByExtension","fn","onSuccessItem","item","headers","msg","imported","onErrorItem","isTextFile","share","$users","usersWithACL","users","sgCalendarScrollView","$document","$mdGesture","sgCalendarScrollViewController","isMultiColumn","sgScrollView","hourCell","quartersOffset","SOGoDayStartTime","getElementById","scrollTop","offsetTop","$destroy","getQuarterHeight","scrollStep","getDayNumbers","maxX","getMaxColumns","onDragStart","deregisterDragStop","onDragEnd","bindedUpdateCoordinates","updateCoordinates","bindedUpdateFromPointerHandler","updateFromPointerHandler","on","off","hour0","hour23","height","getDayDimensions","viewLeft","width","leftOffset","nodes","domRect","tileHeader","getBoundingClientRect","clientHeight","offset","top","getElementsByTagName","el","attributes","mdGridList","max","dayDimensions","x","y","dayHeight","dayWidth","daysOffset","pointerCoordinates","scrollY","minY","getContainerBasedCoordinates","lastScroll","ngModel","sgDraggableCalendarBlock","blockIndex","isFirstBlock","isLastBlock","dragGrip","leftGrip","rightGrip","topGrip","bottomGrip","parentNode","tagName","append","clone","initGrips","onDragDetect","onDrag","dragMode","rect","scrollableZone","target","scrollHeight","pageX","className","SOGoEventDragPointerHandler","initFromEvent","updateFromEvent","pointer","dragHasStarted","b","dragging","SOGoCoordinates","otherCoordinates","getDistance","sqrt","SOGoEventDragEventCoordinates","eventType","setEventType","weekDay","initFromBlock","prevDayNumber","sumBy","currentDayNumber","initFromCalendar","_quartersToHM","getStartTime","getEndTime","originalCoordinates","currentCoordinates","originalViewCoordinates","currentViewCoordinates","getEventViewCoordinates","pageY","newEventCoordinates","setTimeFromQuarters","updateEventCoordinates","distance","isHourCell","isMonthly","newData","hasClass","parseDate","prepareWithEventType","dragStart","newDuration","deltaQuarters","deltaDays","ceil","clientWidth","methods","multiday","getEventMultiDayViewCoordinates","multiday-allday","getEventMultiDayAllDayViewCoordinates","monthly","getEventMonthlyViewCoordinates","unknown","method","pxCoordinates","maxY","minX","daysY","sgNowLineController","updater","nowDay","lineElement","updateLine","force","hourHeight","minuteHeight","$lineElement","dayElement","eq","_addLine","iAttr","sgCalendarScrollViewCtrl","_getDays","_unwatchView","_unwatchDays"],"mappings":"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","file":"Scheduler.services.js"} \ No newline at end of file +{"version":3,"sources":["Scheduler/Calendar.service.js","Scheduler/Component.service.js","Scheduler/CalendarController.js","Scheduler/CalendarListController.js","Scheduler/CalendarsController.js","Scheduler/ComponentController.js","Scheduler/sgCalendarDay.directive.js","Scheduler/sgCalendarDayBlock.directive.js","Scheduler/sgCalendarDayTable.directive.js","Scheduler/sgCalendarGhost.directive.js","Scheduler/sgCalendarListEvent.directive.js","Scheduler/sgCalendarListItem.directive.js","Scheduler/sgCalendarMonthDay.directive.js","Scheduler/sgCalendarMonthEvent.directive.js","Scheduler/sgCalendarScrollView.directive.js","Scheduler/sgCategoryStylesheet.directive.js","Scheduler/sgDraggableCalendarBlock.directive.js","Scheduler/sgNowLine.directive.js"],"names":["Calendar","futureCalendarData","this","init","name","id","newCalendarData","$$resource","create","$unwrap","$factory","$q","$timeout","$log","Settings","Resource","Preferences","Component","Acl","angular","extend","activeUser","$Preferences","$Component","$$Acl","$view","module","e","value","EventDragDayLength","EventDragHorizontalOffset","ConflictHTTPErrorCode","factory","$defaultCalendar","calendar","defaults","SOGoDefaultCalendar","_","find","$findAll","active","$add","list","sibling","isWebCalendar","$webcalendars","isSubscription","$subscriptions","$calendars","findIndex","o","i","localeCompare","push","splice","settings","FoldersOrder","saveFoldersOrder","flatMap","$reloadAll","data","writable","_this","forEach","isUndefined","fetch","then","calendars","union","filter","isOwned","acls","objectCreator","calendarData","group","owner","login","$get","$getIndex","indexOf","map","$subscribe","uid","path","userResource","$addWebCalendar","url","d","defer","urls","webCalendarURL","reject","post","isEditable","isRemote","debug","JSON","stringify","undefined","resolve","response","status","promise","reloadWebCalendars","promises","$error","l","statusText","all","$deleteComponents","components","component","isDefined","pid","uids","saveFoldersActivation","ids","request","folders","prototype","color","$acl","isSuperUser","$shadowData","$omit","$id","when","$futureCalendarData","getClassName","base","$rename","$save","$delete","remove","$reset","key","save","error","setCredentials","username","password","export","options","type","filename","open","$setActivation","$getComponent","componentId","recurrenceId","$find","isError","isObject","futureComponentData","newComponentData","newguid","isNew","$rootScope","Component_STATUS","User","Card","Gravatar","STATUS","$settings","$User","$Card","$gravatar","timeFormat","$query","search","$queryEvents","sort","asc","filterpopup","$queryTasks","$refreshTimeout","$ghost","EventsFilterState","TasksFilterState","EventsSortingState","parseInt","TasksSortingState","show_completed","ShowCompletedTasks","$categories","SOGoCalendarCategoriesColors","SOGoTimeFormat","constant","NOT_LOADED","DELAYED_LOADING","LOADING","LOADED","DELAYED_MS","$selectedCount","count","$events","event","selected","length","$tasks","task","$startRefreshTimeout","cancel","refreshViewCheck","SOGoRefreshViewCheck","f","bind","$emit","timeInterval","$isLoading","$loaded","$filter","otherType","now","Date","day","getDate","month","getMonth","year","getFullYear","queryKey","capitalize","params","dirty","keys","$unwrapCollection","calendarId","occurrenceId","encodeURIComponent","join","filterCategories","query","re","RegExp","category","saveSelectedList","componentType","$eventsBlocksForView","view","date","firstDayOfWeek","viewAction","startDate","endDate","SOGoFirstDayOfWeek","beginOfWeek","setTime","getTime","addDays","setDate","setMonth","endOfWeek","$eventsBlocks","j","dayDates","dayNumbers","deferred","toLowerCase","sd","getDayString","ed","views","reduceComponent","associateComponent","objects","eventData","componentData","zipObject","eventsFields","start","c_startdate","hour","getHourString","blocks","block","nbr","isFirst","$views","viewIndex","viewData","allDayBlocks","reduce","events","flatten","days","dayIndex","dayNumber","calendarName","fields","invokeMap","monthData","dayData","$resetGhost","pointerHandler","startHour","endHour","$parseDate","dateString","time","substring","split","no_time","categories","repeat","alarm","action","quantity","unit","reference","relation","delta","isString","setMinutes","Math","round","getMinutes","end","minutesTo","setDelta","dueDate","due","completedDate","completed","c_category","$isRecurrent","byDayMask","occurrence","frequency","byday","toString","dates","rdate","rdates","interval","monthdays","months","until","$hasCustomRepeat","hasCustomRepeat","classification","match","exec","SOGoCalendarDefaultReminder","$hasAlarm","M","H","D","W","sendAppointmentNotifications","SOGoAppointmentSendEMailNotifications","destinationCalendar","attendees","attendee","image","email","updateFreeBusy","initOrganizer","results","organizer","cn","c_email","updateFreeBusyAttendee","isReadOnly","isEditableOccurrence","isInvitation","userHasRSVP","isInvitationOccurrence","showPercentComplete","percentComplete","enablePercentComplete","coversFreeBusy","quarter","freebusy","updateFreeBusyCoverage","roundedStart","roundedEnd","startQuarter","endQuarter","daysUpTo","index","hourKey","currentDay","dayKey","getHours","beginOfDay","addMinutes","resource","domain","sday","eday","isMSExchange","c_folder","addAttendee","card","organizerCalendar","$isList","expandable","container","c_name","listId","refs","ref","c_cn","$preferredEmail","role","partstat","c_uid","$avatarIcon","c_domain","ismsexchange","hasAttendee","emails","deleteAttendee","currentAttendee","canRemindAttendeesByEmail","addAttachUrl","attachUrl","attachUrls","deleteAttachUrl","$addDueDate","toISOString","$deleteDueDate","$addStartDate","$deleteStartDate","$addRecurrenceDate","$deleteRecurrenceDate","$reply","reply","delegatedTo","$adjust","every","values","v","extraAttributes","dlp","$mdDateLocaleProvider","format","startTime","endTime","dueTime","stringWithSeparator","occurrenceOnly","$futureComponentData","copy","repeatDescription","localizedString","toUpperCase","alarmDescription","copyTo","destination","moveTo","CalendarController","$inject","$scope","$state","$stateParams","sgHotkeys","stateEventsBlocks","deregisterCalendarsList","vm","hotkeys","expandedAllDays","selectedDate","asDate","toggleAllDays","changeDate","changeView","$onInit","createHotkey","description","callback","args","_goToPeriod","registerHotkey","_formatDate","$on","updateView","deregisterHotkey","$event","direction","setHours","$dateFormat","replace","newDate","element","currentTarget","attr","go","controller","CalendarListController","$mdDialog","focus","Dialog","CalendarSettings","Alarm","sortLabels","title","location","priority","tasks","selectedList","selectComponentType","unselectComponents","mode","multiple","selectAll","searchMode","toggleComponentSelection","preventDefault","stopPropagation","confirmDeleteSelectedComponents","confirm","ok","openEvent","openComponent","openTask","newComponent","filteredBy","field","sortedBy","reload","finally","cancelSearch","SelectedList","updateComponentFromGhost","viewable","templateUrl","show","parent","document","body","targetEvent","clickOutsideToClose","escapeToClose","controllerAs","locals","stateComponent","baseComponent","coordinates","calendarNumber","activeCalendars","currentEventCoordinates","summary","isAllDay","duration","catch","getDelta","originalEventCoordinates","originalCalendar","isException","getAlarms","onComponentAdjustError","template","RecurrentComponentDialogController","updateThisOccurrence","hide","updateAllOccurrences","message","AttendeeConflictDialogController","conflictError","ignoreConflicts","ascending","CalendarsController","$window","$mdToast","service","newCalendar","ev","prompt","UserLogin","addWebCalendar","inputType","WebCalendarAuthDialogController","scope","parts","hostname","formatted","authenticate","form","$valid","required","reason","$setValidity","subscribeToFolder","simple","content","position","hideDelay","sortableMode","toggleSortableMode","resetSort","sortableCalendars","scrollableContainer","containment","orderChanged","accept","sourceItemHandleScope","destSortableScope","destItemScope","sortableScope","SOGoCalendarCategories","asCSSIdentifier","$watch","pick","newList","oldList","commonList","intersectionBy","oldObject","isEqual","ComponentController","AddressBook","Account","calendarService","close","highPriority","cardFilter","$filterAll","newMessageWithAllRecipients","recipients","_newMessage","newMessageWithRecipient","edit","editAllOccurrences","replyAllOccurrences","deleteOccurrence","deleteAllOccurrences","toggleRawSource","ComponentRawSourceDialogController","copySelectedComponent","moveSelectedComponent","accounts","account","$getMailboxes","mailboxes","$newMessage","editable","to","subject","stateAccount","stateMessage","ComponentEditorController","oldStartDate","oldEndDate","showRecurrenceEditor","toggleRecurrenceEditor","recurrenceMonthDaysAreRequired","showAttendeesEditor","toggleAttendeesEditor","changeFrequency","changeCalendar","$cards","address","emailRE","createCard","str","searchText","trim","charCodeAt","test","charAt","removeAttendee","$setDirty","priorityLevel","changeAlarmRelation","onAlarmChange","reset","attendeeConflictError","attendeesEditor","getDays","hours","addStartDate","removeStartDate","addDueDate","removeDueDate","adjustStartTime","valueOf","adjustEndTime","adjustDueTime","alarmRelation","$setPristine","sgCalendarDayController","dayString","directive","restrict","sgCalendarDayBlock","clickBlock","tElem","tAttrs","p","has","link","iElement","attrs","pc","left","right","siblings","css","c_isallday","addClass","userState","c_isopaque","c_status","sgCalendarGhost","require","ctrls","domElement","calendarDayCtrl","scrollViewCtrl","originalCalendarNumber","deregisterDragStart","deregisterDrag","showGhost","isRelative","durationLeft","maxDuration","quartersToHM","quarterHeight","topOffset","removeClass","deregisterDragEnd","forEachRight","classList","c","quarters","minutes","mins","floor","sgCalendarListEvent","clickComponent","userstate","sgCalendarListItemController","$element","$mdPanel","$mdMedia","$mdSidenav","sgConstant","$ctrl","editMode","$postLink","clickableElement","nameElements","getElementsByClassName","inputContainer","inputElement","moreOptionsButton","last","updateCalendarName","innerHTML","editFolder","add","srcEvent","select","panel","saveFolder","disabled","revertEditing","confirmDelete","alert","showMenu","panelPosition","newPanelPosition","relativeTo","addPanelPosition","xPosition","ALIGN_START","yPosition","ALIGN_TOPS","panelAnimation","newPanelAnimation","openFrom","withAnimation","animation","FADE","config","attachTo","itemCtrl","bindToController","MenuController","trapFocus","focusOnOpen","panelRef","panelEl","one","mdPanelRef","FileUploader","$menuCtrl","showOnly","showAll","showProperties","PropertiesDialogController","srcCalendar","saveProperties","showLinks","LinksDialogController","importCalendar","CalendarImportDialogController","folder","uploader","ApplicationBaseURL","autoUpload","queueLimit","filters","filterByExtension","fn","onSuccessItem","item","headers","msg","imported","onErrorItem","isTextFile","share","$users","usersWithACL","users","sgCalendarScrollView","$document","$mdGesture","sgCalendarScrollViewController","isMultiColumn","sgScrollView","hourCell","quartersOffset","SOGoDayStartTime","getElementById","scrollTop","offsetTop","$destroy","getQuarterHeight","scrollStep","getDayNumbers","maxX","getMaxColumns","onDragStart","deregisterDragStop","onDragEnd","bindedUpdateCoordinates","updateCoordinates","bindedUpdateFromPointerHandler","updateFromPointerHandler","on","off","hour0","hour23","height","getDayDimensions","viewLeft","width","leftOffset","nodes","domRect","tileHeader","getBoundingClientRect","clientHeight","offset","top","getElementsByTagName","el","attributes","mdGridList","max","dayDimensions","x","y","dayHeight","dayWidth","daysOffset","pointerCoordinates","scrollY","minY","getContainerBasedCoordinates","lastScroll","ngModel","sgDraggableCalendarBlock","blockIndex","isFirstBlock","isLastBlock","dragGrip","leftGrip","rightGrip","topGrip","bottomGrip","parentNode","tagName","append","clone","initGrips","onDragDetect","onDrag","dragMode","rect","scrollableZone","target","scrollHeight","pageX","className","SOGoEventDragPointerHandler","initFromEvent","updateFromEvent","pointer","dragHasStarted","b","dragging","SOGoCoordinates","otherCoordinates","getDistance","sqrt","SOGoEventDragEventCoordinates","eventType","setEventType","weekDay","initFromBlock","prevDayNumber","sumBy","currentDayNumber","initFromCalendar","_quartersToHM","getStartTime","getEndTime","originalCoordinates","currentCoordinates","originalViewCoordinates","currentViewCoordinates","getEventViewCoordinates","pageY","newEventCoordinates","setTimeFromQuarters","updateEventCoordinates","distance","isHourCell","isMonthly","newData","hasClass","parseDate","prepareWithEventType","dragStart","newDuration","deltaQuarters","deltaDays","ceil","clientWidth","methods","multiday","getEventMultiDayViewCoordinates","multiday-allday","getEventMultiDayAllDayViewCoordinates","monthly","getEventMonthlyViewCoordinates","unknown","method","pxCoordinates","maxY","minX","daysY","sgNowLineController","updater","nowDay","lineElement","updateLine","force","hourHeight","minuteHeight","$lineElement","dayElement","eq","_addLine","iAttr","sgCalendarScrollViewCtrl","_getDays","_unwatchView","_unwatchDays"],"mappings":"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","file":"Scheduler.services.js"} \ No newline at end of file