From b0e0950d126bb525007a952671d45418aae0e86d Mon Sep 17 00:00:00 2001 From: InverseBot Date: Fri, 23 Jun 2017 01:28:37 -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 d4b840339..7877104ef 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,r,i,s,c){return angular.extend(e,{$q:t,$timeout:n,$log:a,$$resource:new r(o.activeUser("folderURL")+"Calendar",o.activeUser()),$Preferences:i,$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=this,a=e.$q.defer();return _.find(n.$webcalendars,function(e){return e.urls.webCalendarURL==t})?a.reject():e.$$resource.post(null,"addWebCalendar",{url:t}).then(function(n){angular.extend(n,{isWebCalendar:!0,isEditable:!0,isRemote:!1,owner:e.activeUser.login,urls:{webCalendarURL:t}});var o=new e(n);e.$$resource.fetch(o.id,"reload").then(function(t){e.$log.debug(JSON.stringify(t,void 0,2)),e.$add(o),a.resolve()},function(e){401==e.status?a.resolve(o):a.reject()})},a.reject),a.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),t>-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.download(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","Card","Gravatar","Resource",function(t,n,a,o,r,i,s,c,l,d){return angular.extend(e,{STATUS:i,$q:t,$timeout:n,$log:a,$rootScope:o,$Preferences:s,$Card:c,$gravatar:l,$$resource:new d(r.activeUser("folderURL")+"Calendar",r.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,r=this,i=new Date,s=i.getDate(),c=i.getMonth()+1,l=i.getFullYear(),d="$query"+t.capitalize(),u={day:l+(c<10?"0":"")+c+(s<10?"0":"")+s},h=!1;return e.$startRefreshTimeout(t),angular.extend(this.$query,u),n&&_.forEach(_.keys(n),function(t){h|=r.$query[t]&&n[t]!=e.$query[t],"reload"==t&&n[t]?h=!0:angular.isDefined(r.$query[t])?r.$query[t]=n[t]:r[d][t]=n[t]}),a=this.$$resource.fetch(null,t+"list",angular.extend(this[d],this.$query)),h&&(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,r=[t,n];return a&&r.push(a),o=this.$$resource.fetch(r.join("/"),"view"),new e(o)},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,r,i;return a=e.$Preferences.defaults.SOGoFirstDayOfWeek,"day"==t?(o="dayView",r=i=n):"multicolumnday"==t?(o="multicolumndayView",r=i=n):"week"==t?(o="weekView",r=n.beginOfWeek(a),(i=new Date).setTime(r.getTime()),i.addDays(6)):"month"==t&&(o="monthView",(r=n).setDate(1),r=r.beginOfWeek(a),(i=new Date).setTime(n.getTime()),i.setMonth(i.getMonth()+1),i.addDays(-1),i=i.endOfWeek(a)),this.$eventsBlocks(o,r,i)},e.$eventsBlocks=function(t,n,a){var o,r,i,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,r=_.zipObject(this.eventsFields,n),i=new Date(1e3*r.c_startdate);return r.hour=i.getHourString(),r.blocks=[],o=new e(r),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={},h={};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")),r=0;r0&&(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={M:"MINUTES",H:"HOURS",D:"DAYS",W:"WEEKS"},r=/-PT?([0-9]+)([MHDW])/.exec(e.$Preferences.defaults.SOGoCalendarDefaultReminder);r&&(this.$hasAlarm=!0,this.alarm.quantity=parseInt(r[1]),this.alarm.unit=o[r[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.hasCustomRepeat=function(){return 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))},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.enablePercentComplete=function(){return"task"==this.type&&this.percentComplete>0&&"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),r=parseInt(a.getMinutes()/15+.5);return n.setMinutes(15*o),a.setMinutes(15*r),_.forEach(n.daysUpTo(a),function(n,a){var r,i=n.getDate(),s=n.getDayString();if(s==e.start.getDayString())for(r=n.getHours().toString(),t[s]={},t[s][r]=[];o>0;)t[s][r].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.$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,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,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,r,i=this;return o=this.$omit(),r=e.$Preferences.$mdDateLocaleProvider,o.startDate=o.start?o.start.format(r,"%Y-%m-%d"):"",o.startTime=o.start?o.start.format(r,"%H:%M"):"",o.endDate=o.end?o.end.format(r,"%Y-%m-%d"):"",o.endTime=o.end?o.end.format(r,"%H:%M"):"",o.dueDate=o.due?o.due.format(r,"%Y-%m-%d"):"",o.dueTime=o.due?o.due.format(r,"%H:%M"):"",o.completedDate=o.completed?o.completed.format(r,"%Y-%m-%d"):"",this.hasCustomRepeat()?"monthly"==this.repeat.frequency&&this.repeat.month.type&&"byday"==this.repeat.month.type||"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||delete o.repeat.days: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,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 i.$shadowData=i.$omit(),e})},e.prototype.remove=function(t){var n=[this.pid,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.unit,this.alarm.reference].join("_"))===(t=l(e))&&(t=[this.alarm.quantity,l("reminder_"+this.alarm.unit),l("reminder_"+this.alarm.reference)].join(" ")),t},e.prototype.copyTo=function(t){return e.$$resource.post(this.pid+"/"+this.id,"copy",{destination:t})},e.prototype.moveTo=function(t){return e.$$resource.post(this.pid+"/"+this.id,"move",{destination:t})},e.prototype.toString=function(){return"[Component "+this.id+"]"}}(),function(){"use strict";function e(t,n,a,o,r,i,s,c,d){function u(e){e.push(r.createHotkey({key:l("hotkey_today"),description:l("Today"),callback:g,args:new Date})),e.push(r.createHotkey({key:l("hotkey_dayview"),description:l("Day"),callback:y,args:"day"})),e.push(r.createHotkey({key:l("hotkey_weekview"),description:l("Week"),callback:y,args:"week"})),e.push(r.createHotkey({key:l("hotkey_monthview"),description:l("Month"),callback:y,args:"month"})),e.push(r.createHotkey({key:l("hotkey_multicolumndayview"),description:l("Multicolumn Day View"),callback:y,args:"multicolumnday"})),e.push(r.createHotkey({key:"left",description:l("Move backward"),callback:h,args:-1})),e.push(r.createHotkey({key:"right",description:l("Move forward"),callback:h,args:1})),_.forEach(e,function(e){r.registerHotkey(e)})}function h(e,t){var n;"week"==o.view?n=$.selectedDate.beginOfWeek(c.defaults.SOGoFirstDayOfWeek).addDays(7*t):"month"==o.view?((n=$.selectedDate).setDate(1),n.setMonth(n.getMonth()+t)):n=$.selectedDate.addDays(t),g(e,n)}function p(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 m(){e.expandedAllDays=!e.expandedAllDays,$.expandedAllDays=e.expandedAllDays}function f(){s.$eventsBlocksForView(o.view,o.day.asDate()).then(function(e){var t,n,a;for(t=0;t=t;n--)$.views.splice(n,1)})}function g(e,t){var n=t?t.getDayString():angular.element(e.currentTarget).attr("date");t&&p(t),a.go("calendars.view",{day:n})}function y(e,t){a.go("calendars.view",{view:t})}var v,$=this,C=[];angular.isUndefined(e.expandedAllDays)&&(e.expandedAllDays=!1),$.selectedDate=o.day.asDate(),$.expandedAllDays=e.expandedAllDays,$.toggleAllDays=m,$.views=d,$.changeDate=g,$.changeView=y,this.$onInit=function(){u(C),p($.selectedDate),v=n.$on("calendars:list",f),t.$on("$destroy",function(){v(),_.forEach(C,function(e){r.deregisterHotkey(e)})})}}e.$inject=["$scope","$rootScope","$state","$stateParams","sgHotkeys","Calendar","Component","Preferences","stateEventsBlocks"],angular.module("SOGo.SchedulerUI").controller("CalendarController",e)}(),function(){"use strict";function e(e,t,n,a,o,r,i,s,c,d,u,h,p){function m(e){e.push(r.createHotkey({key:l("hotkey_search"),description:l("Search"),callback:$})),e.push(r.createHotkey({key:l("hotkey_create_event"),description:l("Create a new event"),callback:w,args:"appointment"})),e.push(r.createHotkey({key:l("hotkey_create_task"),description:l("Create a new task"),callback:w,args:"task"})),_.forEach(e,function(e){r.registerHotkey(e)})}function f(e,t){(t&&t.reload||H.componentType!=e)&&(angular.isUndefined(h["$"+e])&&h.$filter(e),H.unselectComponents(),H.componentType=e,h.saveSelectedList(e))}function g(){_.forEach(h["$"+H.componentType],function(e){e.selected=!1}),H.mode.multiple=0}function y(){_.forEach(h["$"+H.componentType],function(e){e.selected=!0}),H.mode.multiple=h["$"+H.componentType].length}function v(e,t){t.selected=!t.selected,H.mode.multiple+=t.selected?1:-1,e.preventDefault(),e.stopPropagation()}function $(){H.mode.search=!0,i("search")}function C(){s.confirm(l("Warning"),l("Are you sure you want to delete the selected components?"),{ok:l("Delete")}).then(function(){var t=_.filter(h["$"+H.componentType],function(e){return e.selected});u.$deleteComponents(t).then(function(){H.mode.multiple=0,e.$emit("calendars:list")})})}function b(e,t){k(e,t,"appointment")}function D(e,t){k(e,t,"task")}function k(e,t,n){if(t.viewable){var a="UIx"+n.capitalize()+"ViewTemplate";o.show({parent:angular.element(document.body),targetEvent:e,clickOutsideToClose:!0,escapeToClose:!0,templateUrl:a,controller:"ComponentController",controllerAs:"editor",locals:{stateComponent:t}})}}function w(e,t,n){var a;n?(a=n).updateFreeBusy():a=new h({pid:u.$defaultCalendar(),type:t});var r="UIx"+t.capitalize()+"EditorTemplate";return o.show({parent:angular.element(document.body),targetEvent:e,clickOutsideToClose:!0,escapeToClose:!0,templateUrl:r,controller:"ComponentEditorController",controllerAs:"editor",locals:{stateComponent:a}})}function E(t){function a(e,t,n,a){e.updateThisOccurrence=function(){n.$adjust(a).then(t.hide,function(e){t.cancel().then(function(){r(e,n,a)})})},e.updateAllOccurrences=function(){delete n.occurrenceId,n.$adjust(a).then(t.hide,function(e){t.cancel().then(function(){r(e,n,a)})})}}function r(t,n,a){t.status==d.ConflictHTTPErrorCode&&t.data&&t.data.message&&angular.isObject(t.data.message)&&o.show({parent:angular.element(document.body),clickOutsideToClose:!1,escapeToClose:!1,templateUrl:"UIxAttendeeConflictDialog",controller:i,controllerAs:"$AttendeeConflictDialogController",locals:{component:n,params:a,conflictError:t.data.message}}).then(function(){e.$emit("calendars:list")})}function i(e,t,n,a,o){function r(){n.$adjust(angular.extend({ignoreConflicts:!0},a)).then(t.hide)}var i=this;i.conflictError=o,i.cancel=t.cancel,i.save=r}var s,c,m,f,g,y,v;s=h.$ghost.component,c=h.$ghost.pointerHandler,s.isNew?(m=c.currentEventCoordinates,s.summary="",s.isAllDay&&(m.duration-=96),s.setDelta(15*m.duration),w(null,"appointment",s).finally(function(){n(function(){h.$resetGhost()})})):(f=c.currentEventCoordinates.getDelta(c.originalEventCoordinates),g={days:f.dayNumber,start:15*f.start,duration:15*f.duration},c.originalCalendar&&0!==f.dayNumber&&(y=c.currentEventCoordinates.dayNumber,v=_.filter(u.$findAll(),{active:1}),g.destination=v[y].id,g.days=0),s.isException||!s.occurrenceId?s.$adjust(g).then(function(){e.$emit("calendars:list"),p.getAlarms()},function(e){r(e,s,g)}).finally(function(){n(function(){h.$resetGhost()})}):s.occurrenceId&&o.show({clickOutsideToClose:!0,escapeToClose:!0,locals:{component:s,params:g},template:['',' ',"

"+l("editRepeatingItem")+"

","
"," ",' '+l("button_thisOccurrenceOnly")+"",' '+l("button_allOccurrences")+""," ","
"].join(""),controller:a}).then(function(){e.$emit("calendars:list")}).finally(function(){n(function(){h.$resetGhost()})})),a.$inject=["$scope","$mdDialog","component","params"],i.$inject=["$scope","$mdDialog","component","params","conflictError"]}function S(){return h["$query"+H.componentType.capitalize()].filterpopup}function T(e){h.$filter(H.componentType,{filterpopup:e})}function A(e){return h["$query"+H.componentType.capitalize()].filterpopup==e}function O(e){h.$filter(H.componentType,{sort:e})}function x(e){return h["$query"+H.componentType.capitalize()].sort==e}function U(){u.reloadWebCalendars().finally(function(){e.$emit("calendars:list")})}function I(){H.mode.search=!1,h.$filter(H.componentType,{value:""})}var M,H=this,q=[];H.component=h,H.componentType="events",H.selectedList=0,H.selectComponentType=f,H.unselectComponents=g,H.selectAll=y,H.searchMode=$,H.toggleComponentSelection=v,H.confirmDeleteSelectedComponents=C,H.openEvent=b,H.openTask=D,H.newComponent=w,H.filterpopup=S,H.filter=T,H.filteredBy=A,H.sort=O,H.sortedBy=x,H.reload=U,H.cancelSearch=I,H.mode={search:!1,multiple:0},this.$onInit=function(){m(q),M="events","tasksListView"==c.settings.Calendar.SelectedList&&(H.selectedList=1,M="tasks"),f(M,{reload:!0}),e.$on("calendars:list",function(){h.$filter(H.componentType,{reload:!0})}),e.$on("calendar:dragend",E),t.$on("$destroy",function(){_.forEach(q,function(e){r.deregisterHotkey(e)})})}}e.$inject=["$rootScope","$scope","$timeout","$state","$mdDialog","sgHotkeys","sgFocus","Dialog","Preferences","CalendarSettings","Calendar","Component","Alarm"],angular.module("SOGo.SchedulerUI").controller("CalendarListController",e)}(),function(){"use strict";function e(e,t,n,a,o,r,i,s,c,d,u,h,p,m){function f(e,t,n){return e.sortableScope.element[0]==t.element[0]}function g(){h.saveFoldersOrder(_.flatMap(h.$findAll(),"id"))}function y(){I.sortableMode=!I.sortableMode,I.filter.name=""}function v(){h.saveFoldersOrder()}function $(e){c.prompt(l("New calendar"),l("Name of the Calendar")).then(function(e){var t=new h({name:e,isEditable:!0,isRemote:!1,owner:UserLogin});t.$id().then(function(){h.$add(t)})})}function C(){function e(e,t,n,a){var o=this,r=n.split("/")[2];o.title=l("Please identify yourself to %{0}").formatted(r),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()}}c.prompt(l("Subscribe to a web calendar..."),l("URL of the Calendar"),{inputType:"url"}).then(function(t){h.$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 b(e){e.isSubscription?e.$delete().catch(function(t,n){c.alert(l('An error occured while deleting the calendar "%{0}".',e.name),l(t.error))}):c.confirm(l("Warning"),l('Are you sure you want to delete the calendar "%{0}"?',e.name),{ok:l("Delete")}).then(function(){e.$delete().catch(function(t,n){c.alert(l('An error occured while deleting the calendar "%{0}".',e.name),l(t.error))})})}function D(t,n){function o(t,n,a){function o(e){var t=0===e.type.indexOf("text")||/\.(ics)$/.test(e.name);return t||r.show({template:["",'
',' error_outline'," "+l("Select an iCalendar file (.ics).")+"","
","
"].join(""),position:"top right",hideDelay:3e3}),t}var s=this;s.uploader=new i({url:ApplicationBaseURL+[a.id,"import"].join("/"),autoUpload:!0,queueLimit:1,filters:[{name:o,fn:o}],onSuccessItem:function(t,a,o,i){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")),r.show(r.simple().content(s).position("top right").hideDelay(3e3))},onErrorItem:function(e,t,n,a){r.show({template:["",'
',' error_outline'," "+l("An error occurred while importing calendar.")+"","
","
"].join(""),position:"top right",hideDelay:3e3})}}),s.close=function(){n.hide()}}a.show({parent:angular.element(document.body),targetEvent:t,clickOutsideToClose:!0,escapeToClose:!0,templateUrl:"UIxCalendarImportDialog",controller:o,controllerAs:"$CalendarImportDialogController",locals:{folder:n}}),o.$inject=["scope","$mdDialog","folder"]}function k(e){_.forEach(h.$findAll(),function(t){e.id==t.id?t.active=1:t.active=0})}function w(){_.forEach(h.$findAll(),function(e){e.active=1})}function E(e){function t(e,t){function n(){e.hide()}var a=this;a.calendar=t,a.close=n}a.show({parent:angular.element(document.body),clickOutsideToClose:!0,escapeToClose:!0,templateUrl:e.id+"/links",controller:t,controllerAs:"links",locals:{calendar:e}}),t.$inject=["$mdDialog","calendar"]}function S(e){function t(e,t,n){function a(){r.calendar.$save(),n.init(r.calendar.$omit()),t.hide()}function o(){t.cancel()}var r=this;r.calendar=new h(n.$omit()),r.saveProperties=a,r.close=o,e.$watch(function(){return r.calendar.color},function(){n.color=r.calendar.color})}var n=e.color;a.show({templateUrl:e.id+"/properties",controller:t,controllerAs:"properties",clickOutsideToClose:!0,escapeToClose:!0,locals:{srcCalendar:e}}).catch(function(){e.color=n}),t.$inject=["$scope","$mdDialog","srcCalendar"]}function T(e){I.calendarName=e.name,I.editMode=e.id,s("calendarName_"+e.id)}function A(e){e.$reset(),I.editMode=!1}function O(e){e.$rename().then(function(e){I.editMode=!1})}function x(e){e.$acl.$users().then(function(){a.show({templateUrl:e.id+"/UIxAclEditor",controller:"AclController",controllerAs:"acl",clickOutsideToClose:!0,escapeToClose:!0,locals:{usersWithACL:e.$acl.users,User:p,folder:e}})})}function U(e){o.debug("subscribeToFolder "+e.owner+e.name),h.$subscribe(e.owner,e.name).then(function(e){r.show(r.simple().content(l("Successfully subscribed to calendar")).position("top right").hideDelay(3e3))})}var I=this;I.activeUser=d.activeUser,I.service=h,I.newCalendar=$,I.addWebCalendar=C,I.confirmDelete=b,I.editFolder=T,I.revertEditing=A,I.renameFolder=O,I.share=x,I.importCalendar=D,I.showOnly=k,I.showAll=w,I.showLinks=E,I.showProperties=S,I.subscribeToFolder=U,I.filter={name:""},I.sortableMode=!1,I.toggleSortableMode=y,I.resetSort=v,I.sortableCalendars={scrollableContainer:"#sidenav-content",containment:"md-list",orderChanged:g,accept:f},this.$onInit=function(){I.categories=_.map(u.defaults.SOGoCalendarCategories,function(e){return{id:e.asCSSIdentifier(),name:e,color:u.defaults.SOGoCalendarCategoriesColors[e]}}),t.$watch(function(){return _.union(_.map(h.$calendars,function(e){return _.pick(e,["id","active","color"])}),_.map(h.$subscriptions,function(e){return _.pick(e,["id","active","color"])}),_.map(h.$webcalendars,function(e){return _.pick(e,["id","active","color"])}))},function(t,n){var a,r,i;a=_.intersectionBy(t,n,"id"),r=_.map(_.filter(a,function(e){var t=_.find(n,{id:e.id});return!_.isEqual(e,t)}),"id"),i=h.$q.when(),r.length>0&&(o.debug(r.join(", ")+" changed"),i=h.saveFoldersActivation(r)),(r.length>0||a.length!=t.length||a.length!=n.length)&&i.then(function(){e.$emit("calendars:list")})},!0)}}e.$inject=["$rootScope","$scope","$window","$mdDialog","$log","$mdToast","FileUploader","sgFocus","Dialog","sgSettings","Preferences","Calendar","User","stateCalendars"],angular.module("SOGo.SchedulerUI").controller("CalendarsController",e)}(),function(){"use strict";function e(e,t,n,a,o,r,i,s){function c(){t.hide()}function d(e){return o.$filterAll(e)}function u(e){p(e,_.map(w.component.attendees,function(e){return e.name+" <"+e.email+">"}))}function h(e,t,n){p(e,[t+" <"+n+">"])}function p(e,n){i.$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:w.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 m(){var e="vevent"==w.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:w.component}})})}function f(){(k=n.$get(w.component.pid).$getComponent(w.component.id)).$futureComponentData.then(function(){w.component=k,m()})}function g(n){(n||w.component).$reply().then(function(){e.$emit("calendars:list"),r.getAlarms(),t.hide()})}function y(){(k=n.$get(w.component.pid).$getComponent(w.component.id)).$futureComponentData.then(function(){k.reply=w.component.reply,k.delegatedTo=w.component.delegatedTo,k.$hasAlarm=w.component.$hasAlarm,k.alarm=w.component.alarm,g(k)})}function v(){w.component.remove(!0).then(function(){e.$emit("calendars:list"),t.hide()})}function $(){w.component.remove().then(function(){e.$emit("calendars:list"),t.hide()})}function C(e){n.$$resource.post(w.component.pid+"/"+w.component.id,"raw").then(function(n){function a(e,t,n){e.data=n,e.close=function(){t.hide()}}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 b(n){w.component.copyTo(n).then(function(){t.hide(),e.$emit("calendars:list")})}function D(n){w.component.moveTo(n).then(function(){t.hide(),e.$emit("calendars:list")})}var k,w=this;w.calendarService=n,w.service=a,w.component=s,w.close=c,w.cardFilter=d,w.newMessageWithAllRecipients=u,w.newMessageWithRecipient=h,w.edit=m,w.editAllOccurrences=f,w.reply=g,w.replyAllOccurrences=y,w.deleteOccurrence=v,w.deleteAllOccurrences=$,w.toggleRawSource=C,w.copySelectedComponent=b,w.moveSelectedComponent=D,angular.isUndefined(w.component.$futureComponentData)&&(k=n.$get(w.component.pid).$getComponent(w.component.id,w.component.occurrenceId)).$futureComponentData.then(function(){w.component=k,w.organizer=[w.component.organizer]})}function t(e,t,n,a,o,r,i,s,c,d,u,h,p,m){function f(){var e=F.component.addAttachUrl("");r("attachUrl_"+e)}function g(){F.showRecurrenceEditor=!F.showRecurrenceEditor,F.component.$hasCustomRepeat=F.showRecurrenceEditor}function y(){F.showAttendeesEditor=!F.showAttendeesEditor}function v(){return F.component&&"monthly"==F.component.repeat.frequency&&"bymonthday"==F.component.repeat.month.type}function $(e){return u.$filterAll(e),u.$cards}function C(e){var t=!F.component.attendees||0===F.component.attendees.length;angular.isString(e)?e.isValidEmail()&&(F.component.addAttendee(new h({emails:[{value:e}]})),F.showAttendeesEditor|=t,F.searchText=""):(F.component.addAttendee(e),F.showAttendeesEditor|=t)}function b(e,t){F.component.deleteAttendee(e),0===F.component.attendees.length&&(F.showAttendeesEditor=!1),t.$setDirty()}function D(){if(F.component&&F.component.priority)return F.component.priority>5?l("low"):F.component.priority>4?l("normal"):l("high")}function k(t,n){t.$valid&&F.component.$save(n).then(function(t){e.$emit("calendars:list"),p.getAlarms(),o.hide()},function(e){e.status==s.ConflictHTTPErrorCode&&_.isObject(e.data.message)?F.attendeeConflictError=e.data.message:S(t)})}function w(e){F.component.$reset(),e.$setPristine()}function E(e){w(e),F.component.isNew&&(F.component=null),o.cancel()}function S(e){F.attendeeConflictError=!1,e.$setPristine(),e.$setDirty()}function T(){var e=[];return F.component.start&&F.component.end&&(e=F.component.start.daysUpTo(F.component.end)),_.map(e,function(e){return{stringWithSeparator:e.stringWithSeparator(),getDayString:e.getDayString()}})}function A(){F.component.$addStartDate(),H=new Date(F.component.start.getTime())}function O(){F.component.$addDueDate(),N=new Date(F.component.due.getTime())}function x(){if(F.component.start){0!==H.valueOf()-F.component.start.valueOf()&&(H=new Date(F.component.start.getTime()),"appointment"===F.component.type&&(F.component.end=new Date(F.component.start.getTime()),F.component.end.addMinutes(F.component.delta),q=new Date(F.component.end.getTime())),M())}}function U(){if(F.component.end){var e=q.valueOf()-F.component.end.valueOf();0!==e&&((e=F.component.start.minutesTo(F.component.end))<0?F.component.end=new Date(q.getTime()):(F.component.delta=e,q=new Date(F.component.end.getTime())),M())}}function I(){N=new Date(F.component.due.getTime())}function M(){F.attendeesEditor.days=T(),F.component.updateFreeBusy()}var H,q,N,F=this;F.service=c,F.component=m,F.categories={},F.showRecurrenceEditor=F.component.$hasCustomRepeat,F.toggleRecurrenceEditor=g,F.recurrenceMonthDaysAreRequired=v,F.showAttendeesEditor=F.component.attendees&&F.component.attendees.length,F.toggleAttendeesEditor=y,F.cardFilter=$,F.addAttendee=C,F.removeAttendee=b,F.addAttachUrl=f,F.priorityLevel=D,F.reset=w,F.cancel=E,F.edit=S,F.save=k,F.attendeeConflictError=!1,F.attendeesEditor={days:T(),hours:function(){for(var e=[],t=0;t<=23;t++)e.push(t.toString());return e}()},F.addStartDate=A,F.addDueDate=O,F.adjustStartTime=x,F.adjustEndTime=U,F.adjustDueTime=I,F.component.start&&(H=new Date(F.component.start.getTime())),F.component.end&&(q=new Date(F.component.end.getTime())),F.component.due&&(N=new Date(F.component.due.getTime()))}e.$inject=["$rootScope","$mdDialog","Calendar","Component","AddressBook","Alarm","Account","stateComponent"],t.$inject=["$rootScope","$scope","$log","$timeout","$mdDialog","sgFocus","User","CalendarSettings","Calendar","Component","AddressBook","Card","Alarm","stateComponent"],angular.module("SOGo.SchedulerUI").controller("ComponentController",e).controller("ComponentEditorController",t)}(),function(){"use strict";function e(){return{restrict:"E",scope:{day:"@sgDay",dayNumber:"@sgDayNumber",dayString:"@sgDayString",calendar:"@sgCalendar"},controller:t}}function t(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}}t.$inject=["$scope","Calendar"],angular.module("SOGo.SchedulerUI").directive("sgCalendarDay",e)}(),function(){"use strict";function e(e){function t(e,t){var n=_.has(t,"sgCalendarGhost")?"":"::";return['
",'
','
",'
',' {{'+n+"block.component.c_priority}}"," {{ "+n+"block.component.summary }}",' ',' ',' ',' ',' '," ",'
'," place {{"+n+"block.component.c_location}}","
","
","
",'
{{ block.startHour }}
','
{{ block.endHour }}
',"
"].join("")}function n(e,t,n){var a,o,r;_.has(n,"sgCalendarGhost")||(a=100/e.block.siblings,o=e.block.position*a,r=100-(e.block.position+1)*a,a<100&&(o>0&&(o-=2),r>0&&(r-=2)),0===o&&(o=2),0===r&&(r=2),t.css("left",o+"%"),t.css("right",r+"%"),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")))}return{restrict:"E",scope:{block:"=sgBlock",clickBlock:"&sgClick"},replace:!0,template:t,link:n}}e.$inject=["CalendarSettings"],angular.module("SOGo.SchedulerUI").directive("sgCalendarDayBlock",e)}(),function(){"use strict";function e(){return{restrict:"E",scope:{blocks:"=sgBlocks",day:"@sgDay",clickBlock:"&sgClick"},template:["'].join("")}}angular.module("SOGo.SchedulerUI").directive("sgCalendarDayTable",e)}(),function(){"use strict";function e(e,t,n,a,o){function r(t,r,i,s){function c(){var e,n,a;t.block=o.$ghost,(n=f.calendarData())&&(y=n.index,e=n.pid,v=t.block.pointerHandler.originalCalendar.index),e||(e=t.block.component.pid),(a=t.block.component.blocks[0].userState)&&r.addClass("sg-event--"+a),r.addClass("bg-folder"+e)}function l(){_.forEachRight(m.classList,function(e){/^bg-folder/.test(e)&&r.removeClass(e)}),r.addClass("ng-hide")}function d(){var e,o,i,s,c,l,d,u;if(e=!1,a.$view&&a.$view.type==g.type){if(o="multiday-allday"===g.type,i=t.block.component.c_isallday,s=t.block.pointerHandler.currentEventCoordinates.dayNumber,c=t.block.pointerHandler.currentEventCoordinates.start,d=t.block.pointerHandler.currentEventCoordinates.duration,u=n.EventDragDayLength-c,angular.isUndefined(d))return;for((l=d)>u&&(l=u),s>-1&&(y<0&&s==f.dayNumber||s==y&&(v==y||!t.block.component.isException))&&(e=!0,o||(i||(t.block.startHour=h(c)),a.$view.quarterHeight?(r.css("top",c*a.$view.quarterHeight+"px"),r.css("height",l*a.$view.quarterHeight+"px")):r.css("top",a.$view.topOffset+"px")),r.removeClass("fg-folder"+t.block.component.pid),r.removeClass("sg-event--ghost--last"),r.addClass("sg-event--ghost--first"),t.block.isFirst=!0),d-=l,s++;!e&&d&&s<=f.dayNumber;)(l=d)>n.EventDragDayLength&&(l=n.EventDragDayLength),s>-1&&s==f.dayNumber&&(e=!0,o||(r.css("top",a.$view.topOffset+"px"),a.$view.quarterHeight&&r.css("height",l*a.$view.quarterHeight+"px")),r.removeClass("sg-event--ghost--first"),r.removeClass("sg-event--ghost--last"),r.addClass("fg-folder"+t.block.component.pid)),d-=l,s++,c=0;d||(o?r.addClass("sg-event--ghost--last"):i||(t.block.endHour=p(c,l)))}e?r.removeClass("ng-hide"):r.addClass("ng-hide")}function u(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}function h(e){return u(e)}function p(e,t){return u((e+t)%n.EventDragDayLength)}var m,f,g,y,v;m=r[0],f=s[0],g=s[1],y=-1,r.addClass("sg-event--ghost md-whiteframe-3dp ng-hide");var $=e.$on("calendar:dragstart",c),C=e.$on("calendar:drag",d),b=e.$on("calendar:dragend",l);t.$on("$destroy",function(){$(),C(),b()})}return{restrict:"A",require:["^sgCalendarDay","^sgCalendarScrollView"],link:r}}e.$inject=["$rootScope","$timeout","CalendarSettings","Calendar","Component"],angular.module("SOGo.SchedulerUI").directive("sgCalendarGhost",e)}(),function(){"use strict";function e(){return{restrict:"E",scope:{blocks:"=sgBlocks",day:"@sgDay",clickBlock:"&sgClick"},template:["'].join("")}}angular.module("SOGo.SchedulerUI").directive("sgCalendarMonthDay",e)}(),function(){"use strict";function e(){function e(e,t){var n=_.has(t,"sgCalendarGhost")?"":"::";return['
','
",' {{ '+n+"block.component.startHour }}",' {{'+n+"block.component.c_priority}}"," {{ "+n+"block.component.summary }}",' ',' ',' ',' ',' '," ","
"].join("")}function t(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")))}return{restrict:"E",scope:{block:"=sgBlock",clickBlock:"&sgClick"},replace:!0,template:e,link:t}}angular.module("SOGo.SchedulerUI").directive("sgCalendarMonthEvent",e)}(),function(){"use strict";function e(e,n,a,o,r,i,s,c,l){return{restrict:"A",scope:{type:"@sgCalendarScrollView"},controller:t,link:function(t,a,o,i){function d(){if(h=new u(a,p),"monthly"!=p){var e,t,n;l.defaults.SOGoDayStartTime&&(e=l.defaults.SOGoDayStartTime.split(":"),t=document.getElementById("hour"+parseInt(e[0])),n=parseInt(e[1])*h.quarterHeight,h.element.scrollTop=t.offsetTop+n)}i.quarterHeight=h.quarterHeight}function u(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)}var h,p,m=!1;h=null,p=t.type,m="multicolumndayview"==a.attr("sg-view"),i.isMultiColumn=m,r(d),t.$on("$destroy",function(){h&&h.$destroy()}),u.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,r,i,s;return n=t=a=o=0,(r=this.element.getElementsByClassName("day")).length>0&&(n=(i=r[0].getBoundingClientRect()).height,t=i.width,a=i.left-e,(s=r[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 m?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,r;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):(r=(a=t.y+this.scrollStep)-this.element.clientHeight)>0&&(this.element.scrollTop+=r)))}}}}}function t(e){this.type=e.type}e.$inject=["$rootScope","$window","$document","$q","$timeout","$mdGesture","Calendar","Component","Preferences"],t.$inject=["$scope"],angular.module("SOGo.SchedulerUI").directive("sgCalendarScrollView",e)}(),function(){"use strict";function e(){return{restrict:"E",require:"ngModel",scope:{ngModel:"="},replace:!0,template:['"].join("")}}angular.module("SOGo.SchedulerUI").directive("sgCategoryStylesheet",e)}(),function(){"use strict";function e(e,t,n,a,o,r,i){function s(s,c,d,u){function h(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 v(t)).initFromEvent(e),i.$ghost.pointerHandler=n,angular.element(document).one("mouseup",f),angular.element(document).on("mousemove",m))}function p(t){var r,d,h,p,m,f,g,y;h=c.hasClass("clickableHourCell"),p="SG-CALENDAR-MONTH-DAY"==c[0].parentNode.tagName||c.hasClass("clickableDayCell"),y=u.calendarData(),s.block&&s.block.component?r=s.block:(m=u.dayString.parseDate(a.$mdDateLocaleProvider,"%Y-%m-%e"),f={type:"appointment",pid:y?y.pid:o.$defaultCalendar(),summary:l("New Event"),startDate:m,isAllDay:h?0:1},(r={component:new i(f),dayNumber:u.dayNumber,length:0}).component.blocks=[r]),d="multiday",p?d="monthly":r.component.c_isallday&&(d="multiday-allday"),_.forEach(r.component.blocks,function(e){e.dragging=!0}),(g=i.$ghost.pointerHandler).prepareWithEventType(d),g.initFromBlock(r),y&&g.initFromCalendar(y),i.$ghost.component=r.component,n.debug("emit calendar:dragstart "+d),e.$emit("calendar:dragstart")}function m(e){var n=i.$ghost.pointerHandler;t(function(){n.updateFromEvent(e)})}function f(t){var n,a;n=s.block,a=i.$ghost.pointerHandler,angular.element(document).off("mousemove",m),a.dragHasStarted&&(e.$emit("calendar:dragend"),a.dragHasStarted=!1),n&&n.component&&_.forEach(n.component.blocks,function(e){e.dragging=!1})}function g(){}function y(e){this.setEventType(e)}function v(e){this.dragMode=e}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,r,i,l,d,u;s.block.length<3||(e=s.block.component,t=s.block.dayIndex,a=0===(n=_.findIndex(e.blocks,["dayIndex",t])),o=n===e.blocks.length-1,(r=angular.element('
')).addClass("bdr-folder"+e.pid),e.c_isallday||"SG-CALENDAR-MONTH-DAY"===c[0].parentNode.tagName?(a&&(i=angular.element('
').append(r),c.append(i)),o&&(l=angular.element('
').append(r.clone()),c.append(l))):(a&&(d=angular.element('
').append(r),c.append(d)),o&&(u=angular.element('
').append(r.clone()),c.append(u))))}()}c.on("mousedown",h),s.$on("$destroy",function(){c.off("mousedown",h),c.off("mousemove",m)}),g.prototype={x:-1,y:-1,getDelta:function(e){var t=new g;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 g;return e.x=this.x,e.y=this.y,e}},y.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*r.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*r.EventDragDayLength}))},initFromCalendar:function(e){this.dayNumber=e},getDelta:function(e){var t=new y;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)%r.EventDragDayLength;return this._quartersToHM(e)},clone:function(){var e=new y;return e.dayNumber=this.dayNumber,e.start=this.start,e.duration=this.duration,e}},v.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 y(this.eventType),this.originalEventCoordinates=new y(this.eventType),this.originalEventCoordinates.initFromBlock(e)},initFromEvent:function(e){this.currentCoordinates=new g,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(e){if(this.currentCoordinates.x=e.pageX,this.currentCoordinates.y=e.pageY,this.dragHasStarted&&o.$view){var t=this.getEventViewCoordinates(o.$view);this.originalViewCoordinates||(this.originalViewCoordinates=this.getEventViewCoordinates(o.$view,this.originalCoordinates),i.$ghost.component.isNew&&(this.setTimeFromQuarters(i.$ghost.component.start,this.originalViewCoordinates.y),n.debug("new event start date "+i.$ghost.component.start))),this.currentViewCoordinates&&t&&t.x==this.currentViewCoordinates.x&&t.y==this.currentViewCoordinates.y||(this.currentViewCoordinates=t,this.originalViewCoordinates&&(t||(this.currentViewCoordinates=this.originalViewCoordinates.clone()),this.updateEventCoordinates()))}else this.originalCoordinates&&this.currentCoordinates&&!this.dragHasStarted&&this.getDistance()>3&&(this.dragHasStarted=!0,p(e))},updateEventCoordinates:function(){var t,a=this.currentViewCoordinates.getDelta(this.originalViewCoordinates),i=a.days*r.EventDragDayLength+a.y;n.debug("quarters delta "+i),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+i,this.currentEventCoordinates.duration=this.originalEventCoordinates.duration):"change-start"==this.dragMode?(t=this.originalEventCoordinates.duration-i)>0?(this.currentEventCoordinates.start=this.originalEventCoordinates.start+i,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+i)>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/r.EventDragDayLength),this.currentEventCoordinates.start+=c*r.EventDragDayLength,this.currentEventCoordinates.dayNumber-=c):this.currentEventCoordinates.start>=r.EventDragDayLength&&(c=Math.floor(this.currentEventCoordinates.start/r.EventDragDayLength),this.currentEventCoordinates.start-=c*r.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).getDelta(e.coordinates),a=e.element;return(n.xa.clientWidth||n.y<0||n.y>a.clientHeight)&&(n=null),n},prepareWithEventType:function(e){var t={multiday:this.getEventMultiDayViewCoordinates,"multiday-allday":this.getEventMultiDayAllDayViewCoordinates,monthly:this.getEventMonthlyViewCoordinates,unknown:null}[e];this.eventType=e,this.getEventViewCoordinates=t},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-r.EventDragHorizontalOffset)/a);var i=r.EventDragDayLength-1;n.y<0?n.y=0:n.y>i&&(n.y=i)}return n},getEventMultiDayAllDayViewCoordinates:function(e,t){var n,a=this.getContainerBasedCoordinates(e,t);if(a){n=new g;var r=e.dayWidth,i=e.daysOffset;n.x=Math.floor((a.x-i)/r);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 g;var o=e.maxX,r=e.dayWidth,i=e.daysOffset,s=e.dayHeight,c=Math.floor((a.y-0)/s);c<0&&(c=0),n.x=Math.floor((a.x-i)/r),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)}}}return{restrict:"CA",require:"^sgCalendarDay",link:s}}e.$inject=["$rootScope","$timeout","$log","Preferences","Calendar","CalendarSettings","Component"],angular.module("SOGo.SchedulerUI").directive("sgDraggableCalendarBlock",e)}(),function(){"use strict";function e(){function e(e,t,n,a){function o(){return t.find("sg-calendar-day")}function r(){return a.quarterHeight}var i=e.$watch(r,function(t){if(t){i(),e.quarterHeight=t;var n=e.$watch(o,function(t){t.length&&(n(),e.days=t,e.updateLine())})}})}return{restrict:"C",require:"^^sgCalendarScrollView",link:e,controller:t}}function t(e,t,n){function a(t){var a=new Date,s=a.getDayString(),c=a.getHours(),l=4*e.quarterHeight,d=a.getMinutes(),u=e.quarterHeight/15,h=parseInt(c*l+d*u-1);(t||s!=e.nowDay)&&(e.lineElement&&e.lineElement.remove(),e.lineElement=o(s,e.days),e.nowDay=s),e.lineElement&&(e.lineElement.css("top",h+"px"),r=n(angular.bind(i,e.updateLine),6e4))}function o(e,n){var a=angular.element("");return s.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)}),a}var r,i=this,s=t.controller("sgCalendarScrollView");e.nowDay=null,e.lineElement=null,e.updateLine=a,e.$on("$destroy",function(){r&&n.cancel(r)})}t.$inject=["$scope","$element","$timeout"],angular.module("SOGo.SchedulerUI").directive("sgNowLine",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,r,i,s,c){return angular.extend(e,{$q:t,$timeout:n,$log:a,$$resource:new r(o.activeUser("folderURL")+"Calendar",o.activeUser()),$Preferences:i,$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=this,a=e.$q.defer();return _.find(n.$webcalendars,function(e){return e.urls.webCalendarURL==t})?a.reject():e.$$resource.post(null,"addWebCalendar",{url:t}).then(function(n){angular.extend(n,{isWebCalendar:!0,isEditable:!0,isRemote:!1,owner:e.activeUser.login,urls:{webCalendarURL:t}});var o=new e(n);e.$$resource.fetch(o.id,"reload").then(function(t){e.$log.debug(JSON.stringify(t,void 0,2)),e.$add(o),a.resolve()},function(e){401==e.status?a.resolve(o):a.reject()})},a.reject),a.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),t>-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.download(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","Card","Gravatar","Resource",function(t,n,a,o,r,i,s,c,l,d){return angular.extend(e,{STATUS:i,$q:t,$timeout:n,$log:a,$rootScope:o,$Preferences:s,$Card:c,$gravatar:l,$$resource:new d(r.activeUser("folderURL")+"Calendar",r.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,r=this,i=new Date,s=i.getDate(),c=i.getMonth()+1,l=i.getFullYear(),d="$query"+t.capitalize(),u={day:l+(c<10?"0":"")+c+(s<10?"0":"")+s},h=!1;return e.$startRefreshTimeout(t),angular.extend(this.$query,u),n&&_.forEach(_.keys(n),function(t){h|=r.$query[t]&&n[t]!=e.$query[t],"reload"==t&&n[t]?h=!0:angular.isDefined(r.$query[t])?r.$query[t]=n[t]:r[d][t]=n[t]}),a=this.$$resource.fetch(null,t+"list",angular.extend(this[d],this.$query)),h&&(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,r=[t,n];return a&&r.push(a),o=this.$$resource.fetch(r.join("/"),"view"),new e(o)},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,r,i;return a=e.$Preferences.defaults.SOGoFirstDayOfWeek,"day"==t?(o="dayView",r=i=n):"multicolumnday"==t?(o="multicolumndayView",r=i=n):"week"==t?(o="weekView",r=n.beginOfWeek(a),(i=new Date).setTime(r.getTime()),i.addDays(6)):"month"==t&&(o="monthView",(r=n).setDate(1),r=r.beginOfWeek(a),(i=new Date).setTime(n.getTime()),i.setMonth(i.getMonth()+1),i.addDays(-1),i=i.endOfWeek(a)),this.$eventsBlocks(o,r,i)},e.$eventsBlocks=function(t,n,a){var o,r,i,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,r=_.zipObject(this.eventsFields,n),i=new Date(1e3*r.c_startdate);return r.hour=i.getHourString(),r.blocks=[],o=new e(r),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={},h={};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")),r=0;r0&&(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={M:"MINUTES",H:"HOURS",D:"DAYS",W:"WEEKS"},r=/-PT?([0-9]+)([MHDW])/.exec(e.$Preferences.defaults.SOGoCalendarDefaultReminder);r&&(this.$hasAlarm=!0,this.alarm.quantity=parseInt(r[1]),this.alarm.unit=o[r[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.hasCustomRepeat=function(){return 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))},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),r=parseInt(a.getMinutes()/15+.5);return n.setMinutes(15*o),a.setMinutes(15*r),_.forEach(n.daysUpTo(a),function(n,a){var r,i=n.getDate(),s=n.getDayString();if(s==e.start.getDayString())for(r=n.getHours().toString(),t[s]={},t[s][r]=[];o>0;)t[s][r].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.$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,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,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,r,i=this;return o=this.$omit(),r=e.$Preferences.$mdDateLocaleProvider,o.startDate=o.start?o.start.format(r,"%Y-%m-%d"):"",o.startTime=o.start?o.start.format(r,"%H:%M"):"",o.endDate=o.end?o.end.format(r,"%Y-%m-%d"):"",o.endTime=o.end?o.end.format(r,"%H:%M"):"",o.dueDate=o.due?o.due.format(r,"%Y-%m-%d"):"",o.dueTime=o.due?o.due.format(r,"%H:%M"):"",o.completedDate=o.completed?o.completed.format(r,"%Y-%m-%d"):"",this.hasCustomRepeat()?"monthly"==this.repeat.frequency&&this.repeat.month.type&&"byday"==this.repeat.month.type||"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||delete o.repeat.days: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,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 i.$shadowData=i.$omit(),e})},e.prototype.remove=function(t){var n=[this.pid,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.unit,this.alarm.reference].join("_"))===(t=l(e))&&(t=[this.alarm.quantity,l("reminder_"+this.alarm.unit),l("reminder_"+this.alarm.reference)].join(" ")),t},e.prototype.copyTo=function(t){return e.$$resource.post(this.pid+"/"+this.id,"copy",{destination:t})},e.prototype.moveTo=function(t){return e.$$resource.post(this.pid+"/"+this.id,"move",{destination:t})},e.prototype.toString=function(){return"[Component "+this.id+"]"}}(),function(){"use strict";function e(t,n,a,o,r,i,s,c,d){function u(e){e.push(r.createHotkey({key:l("hotkey_today"),description:l("Today"),callback:g,args:new Date})),e.push(r.createHotkey({key:l("hotkey_dayview"),description:l("Day"),callback:y,args:"day"})),e.push(r.createHotkey({key:l("hotkey_weekview"),description:l("Week"),callback:y,args:"week"})),e.push(r.createHotkey({key:l("hotkey_monthview"),description:l("Month"),callback:y,args:"month"})),e.push(r.createHotkey({key:l("hotkey_multicolumndayview"),description:l("Multicolumn Day View"),callback:y,args:"multicolumnday"})),e.push(r.createHotkey({key:"left",description:l("Move backward"),callback:h,args:-1})),e.push(r.createHotkey({key:"right",description:l("Move forward"),callback:h,args:1})),_.forEach(e,function(e){r.registerHotkey(e)})}function h(e,t){var n;"week"==o.view?n=$.selectedDate.beginOfWeek(c.defaults.SOGoFirstDayOfWeek).addDays(7*t):"month"==o.view?((n=$.selectedDate).setDate(1),n.setMonth(n.getMonth()+t)):n=$.selectedDate.addDays(t),g(e,n)}function p(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 m(){e.expandedAllDays=!e.expandedAllDays,$.expandedAllDays=e.expandedAllDays}function f(){s.$eventsBlocksForView(o.view,o.day.asDate()).then(function(e){var t,n,a;for(t=0;t=t;n--)$.views.splice(n,1)})}function g(e,t){var n=t?t.getDayString():angular.element(e.currentTarget).attr("date");t&&p(t),a.go("calendars.view",{day:n})}function y(e,t){a.go("calendars.view",{view:t})}var v,$=this,C=[];angular.isUndefined(e.expandedAllDays)&&(e.expandedAllDays=!1),$.selectedDate=o.day.asDate(),$.expandedAllDays=e.expandedAllDays,$.toggleAllDays=m,$.views=d,$.changeDate=g,$.changeView=y,this.$onInit=function(){u(C),p($.selectedDate),v=n.$on("calendars:list",f),t.$on("$destroy",function(){v(),_.forEach(C,function(e){r.deregisterHotkey(e)})})}}e.$inject=["$scope","$rootScope","$state","$stateParams","sgHotkeys","Calendar","Component","Preferences","stateEventsBlocks"],angular.module("SOGo.SchedulerUI").controller("CalendarController",e)}(),function(){"use strict";function e(e,t,n,a,o,r,i,s,c,d,u,h,p,m){function f(e){e.push(i.createHotkey({key:l("hotkey_search"),description:l("Search"),callback:C})),e.push(i.createHotkey({key:l("hotkey_create_event"),description:l("Create a new event"),callback:E,args:"appointment"})),e.push(i.createHotkey({key:l("hotkey_create_task"),description:l("Create a new task"),callback:E,args:"task"})),_.forEach(e,function(e){i.registerHotkey(e)})}function g(e,t){(t&&t.reload||q.componentType!=e)&&(angular.isUndefined(p["$"+e])&&p.$filter(e),q.unselectComponents(),q.componentType=e,p.saveSelectedList(e))}function y(){_.forEach(p["$"+q.componentType],function(e){e.selected=!1}),q.mode.multiple=0}function v(){_.forEach(p["$"+q.componentType],function(e){e.selected=!0}),q.mode.multiple=p["$"+q.componentType].length}function $(e,t){t.selected=!t.selected,q.mode.multiple+=t.selected?1:-1,e.preventDefault(),e.stopPropagation()}function C(){q.mode.search=!0,s("search")}function b(){c.confirm(l("Warning"),l("Are you sure you want to delete the selected components?"),{ok:l("Delete")}).then(function(){var t=_.filter(p["$"+q.componentType],function(e){return e.selected});h.$deleteComponents(t).then(function(){q.mode.multiple=0,e.$emit("calendars:list")})})}function D(e,t){w(e,t,"appointment")}function k(e,t){w(e,t,"task")}function w(e,t,a){if(t.viewable){var o=n.when();angular.isUndefined(t.$futureComponentData)&&(o=(t=h.$get(t.pid).$getComponent(t.id,t.occurrenceId)).$futureComponentData),o.then(function(){var n="UIx"+a.capitalize()+"ViewTemplate";r.show({parent:angular.element(document.body),targetEvent:e,clickOutsideToClose:!0,escapeToClose:!0,templateUrl:n,controller:"ComponentController",controllerAs:"editor",locals:{stateComponent:t}})})}}function E(e,t,n){var a;n?(a=n).updateFreeBusy():a=new p({pid:h.$defaultCalendar(),type:t});var o="UIx"+t.capitalize()+"EditorTemplate";return r.show({parent:angular.element(document.body),targetEvent:e,clickOutsideToClose:!0,escapeToClose:!0,templateUrl:o,controller:"ComponentEditorController",controllerAs:"editor",locals:{stateComponent:a}})}function S(t){function n(e,t,n,a){e.updateThisOccurrence=function(){n.$adjust(a).then(t.hide,function(e){t.cancel().then(function(){o(e,n,a)})})},e.updateAllOccurrences=function(){delete n.occurrenceId,n.$adjust(a).then(t.hide,function(e){t.cancel().then(function(){o(e,n,a)})})}}function o(t,n,a){t.status==u.ConflictHTTPErrorCode&&t.data&&t.data.message&&angular.isObject(t.data.message)&&r.show({parent:angular.element(document.body),clickOutsideToClose:!1,escapeToClose:!1,templateUrl:"UIxAttendeeConflictDialog",controller:i,controllerAs:"$AttendeeConflictDialogController",locals:{component:n,params:a,conflictError:t.data.message}}).then(function(){e.$emit("calendars:list")})}function i(e,t,n,a,o){function r(){n.$adjust(angular.extend({ignoreConflicts:!0},a)).then(t.hide)}var i=this;i.conflictError=o,i.cancel=t.cancel,i.save=r}var s,c,d,f,g,y,v;s=p.$ghost.component,c=p.$ghost.pointerHandler,s.isNew?(d=c.currentEventCoordinates,s.summary="",s.isAllDay&&(d.duration-=96),s.setDelta(15*d.duration),E(null,"appointment",s).finally(function(){a(function(){p.$resetGhost()})})):(f=c.currentEventCoordinates.getDelta(c.originalEventCoordinates),g={days:f.dayNumber,start:15*f.start,duration:15*f.duration},c.originalCalendar&&0!==f.dayNumber&&(y=c.currentEventCoordinates.dayNumber,v=_.filter(h.$findAll(),{active:1}),g.destination=v[y].id,g.days=0),s.isException||!s.occurrenceId?s.$adjust(g).then(function(){e.$emit("calendars:list"),m.getAlarms()},function(e){o(e,s,g)}).finally(function(){a(function(){p.$resetGhost()})}):s.occurrenceId&&r.show({clickOutsideToClose:!0,escapeToClose:!0,locals:{component:s,params:g},template:['',' ',"

"+l("editRepeatingItem")+"

","
"," ",' '+l("button_thisOccurrenceOnly")+"",' '+l("button_allOccurrences")+""," ","
"].join(""),controller:n}).then(function(){e.$emit("calendars:list")}).finally(function(){a(function(){p.$resetGhost()})})),n.$inject=["$scope","$mdDialog","component","params"],i.$inject=["$scope","$mdDialog","component","params","conflictError"]}function T(){return p["$query"+q.componentType.capitalize()].filterpopup}function A(e){p.$filter(q.componentType,{filterpopup:e})}function O(e){return p["$query"+q.componentType.capitalize()].filterpopup==e}function x(e){p.$filter(q.componentType,{sort:e})}function U(e){return p["$query"+q.componentType.capitalize()].sort==e}function I(){h.reloadWebCalendars().finally(function(){e.$emit("calendars:list")})}function M(){q.mode.search=!1,p.$filter(q.componentType,{value:""})}var H,q=this,N=[];q.component=p,q.componentType="events",q.selectedList=0,q.selectComponentType=g,q.unselectComponents=y,q.selectAll=v,q.searchMode=C,q.toggleComponentSelection=$,q.confirmDeleteSelectedComponents=b,q.openEvent=D,q.openTask=k,q.newComponent=E,q.filterpopup=T,q.filter=A,q.filteredBy=O,q.sort=x,q.sortedBy=U,q.reload=I,q.cancelSearch=M,q.mode={search:!1,multiple:0},this.$onInit=function(){f(N),H="events","tasksListView"==d.settings.Calendar.SelectedList&&(q.selectedList=1,H="tasks"),g(H,{reload:!0}),e.$on("calendars:list",function(){p.$filter(q.componentType,{reload:!0})}),e.$on("calendar:dragend",S),t.$on("$destroy",function(){_.forEach(N,function(e){i.deregisterHotkey(e)})})}}e.$inject=["$rootScope","$scope","$q","$timeout","$state","$mdDialog","sgHotkeys","sgFocus","Dialog","Preferences","CalendarSettings","Calendar","Component","Alarm"],angular.module("SOGo.SchedulerUI").controller("CalendarListController",e)}(),function(){"use strict";function e(e,t,n,a,o,r,i,s,c,d,u,h,p,m){function f(e,t,n){return e.sortableScope.element[0]==t.element[0]}function g(){h.saveFoldersOrder(_.flatMap(h.$findAll(),"id"))}function y(){I.sortableMode=!I.sortableMode,I.filter.name=""}function v(){h.saveFoldersOrder()}function $(e){c.prompt(l("New calendar"),l("Name of the Calendar")).then(function(e){var t=new h({name:e,isEditable:!0,isRemote:!1,owner:UserLogin});t.$id().then(function(){h.$add(t)})})}function C(){function e(e,t,n,a){var o=this,r=n.split("/")[2];o.title=l("Please identify yourself to %{0}").formatted(r),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()}}c.prompt(l("Subscribe to a web calendar..."),l("URL of the Calendar"),{inputType:"url"}).then(function(t){h.$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 b(e){e.isSubscription?e.$delete().catch(function(t,n){c.alert(l('An error occured while deleting the calendar "%{0}".',e.name),l(t.error))}):c.confirm(l("Warning"),l('Are you sure you want to delete the calendar "%{0}"?',e.name),{ok:l("Delete")}).then(function(){e.$delete().catch(function(t,n){c.alert(l('An error occured while deleting the calendar "%{0}".',e.name),l(t.error))})})}function D(t,n){function o(t,n,a){function o(e){var t=0===e.type.indexOf("text")||/\.(ics)$/.test(e.name);return t||r.show({template:["",'
',' error_outline'," "+l("Select an iCalendar file (.ics).")+"","
","
"].join(""),position:"top right",hideDelay:3e3}),t}var s=this;s.uploader=new i({url:ApplicationBaseURL+[a.id,"import"].join("/"),autoUpload:!0,queueLimit:1,filters:[{name:o,fn:o}],onSuccessItem:function(t,a,o,i){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")),r.show(r.simple().content(s).position("top right").hideDelay(3e3))},onErrorItem:function(e,t,n,a){r.show({template:["",'
',' error_outline'," "+l("An error occurred while importing calendar.")+"","
","
"].join(""),position:"top right",hideDelay:3e3})}}),s.close=function(){n.hide()}}a.show({parent:angular.element(document.body),targetEvent:t,clickOutsideToClose:!0,escapeToClose:!0,templateUrl:"UIxCalendarImportDialog",controller:o,controllerAs:"$CalendarImportDialogController",locals:{folder:n}}),o.$inject=["scope","$mdDialog","folder"]}function k(e){_.forEach(h.$findAll(),function(t){e.id==t.id?t.active=1:t.active=0})}function w(){_.forEach(h.$findAll(),function(e){e.active=1})}function E(e){function t(e,t){function n(){e.hide()}var a=this;a.calendar=t,a.close=n}a.show({parent:angular.element(document.body),clickOutsideToClose:!0,escapeToClose:!0,templateUrl:e.id+"/links",controller:t,controllerAs:"links",locals:{calendar:e}}),t.$inject=["$mdDialog","calendar"]}function S(e){function t(e,t,n){function a(){r.calendar.$save(),n.init(r.calendar.$omit()),t.hide()}function o(){t.cancel()}var r=this;r.calendar=new h(n.$omit()),r.saveProperties=a,r.close=o,e.$watch(function(){return r.calendar.color},function(){n.color=r.calendar.color})}var n=e.color;a.show({templateUrl:e.id+"/properties",controller:t,controllerAs:"properties",clickOutsideToClose:!0,escapeToClose:!0,locals:{srcCalendar:e}}).catch(function(){e.color=n}),t.$inject=["$scope","$mdDialog","srcCalendar"]}function T(e){I.calendarName=e.name,I.editMode=e.id,s("calendarName_"+e.id)}function A(e){e.$reset(),I.editMode=!1}function O(e){e.$rename().then(function(e){I.editMode=!1})}function x(e){e.$acl.$users().then(function(){a.show({templateUrl:e.id+"/UIxAclEditor",controller:"AclController",controllerAs:"acl",clickOutsideToClose:!0,escapeToClose:!0,locals:{usersWithACL:e.$acl.users,User:p,folder:e}})})}function U(e){o.debug("subscribeToFolder "+e.owner+e.name),h.$subscribe(e.owner,e.name).then(function(e){r.show(r.simple().content(l("Successfully subscribed to calendar")).position("top right").hideDelay(3e3))})}var I=this;I.activeUser=d.activeUser,I.service=h,I.newCalendar=$,I.addWebCalendar=C,I.confirmDelete=b,I.editFolder=T,I.revertEditing=A,I.renameFolder=O,I.share=x,I.importCalendar=D,I.showOnly=k,I.showAll=w,I.showLinks=E,I.showProperties=S,I.subscribeToFolder=U,I.filter={name:""},I.sortableMode=!1,I.toggleSortableMode=y,I.resetSort=v,I.sortableCalendars={scrollableContainer:"#sidenav-content",containment:"md-list",orderChanged:g,accept:f},this.$onInit=function(){I.categories=_.map(u.defaults.SOGoCalendarCategories,function(e){return{id:e.asCSSIdentifier(),name:e,color:u.defaults.SOGoCalendarCategoriesColors[e]}}),t.$watch(function(){return _.union(_.map(h.$calendars,function(e){return _.pick(e,["id","active","color"])}),_.map(h.$subscriptions,function(e){return _.pick(e,["id","active","color"])}),_.map(h.$webcalendars,function(e){return _.pick(e,["id","active","color"])}))},function(t,n){var a,r,i;a=_.intersectionBy(t,n,"id"),r=_.map(_.filter(a,function(e){var t=_.find(n,{id:e.id});return!_.isEqual(e,t)}),"id"),i=h.$q.when(),r.length>0&&(o.debug(r.join(", ")+" changed"),i=h.saveFoldersActivation(r)),(r.length>0||a.length!=t.length||a.length!=n.length)&&i.then(function(){e.$emit("calendars:list")})},!0)}}e.$inject=["$rootScope","$scope","$window","$mdDialog","$log","$mdToast","FileUploader","sgFocus","Dialog","sgSettings","Preferences","Calendar","User","stateCalendars"],angular.module("SOGo.SchedulerUI").controller("CalendarsController",e)}(),function(){"use strict";function e(e,t,n,a,o,r,i,s){function c(){t.hide()}function d(){return E.component&&E.component.priority&&E.component.priority<5}function u(e){return o.$filterAll(e)}function h(e){m(e,_.map(E.component.attendees,function(e){return e.name+" <"+e.email+">"}))}function p(e,t,n){m(e,[t+" <"+n+">"])}function m(e,n){i.$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:E.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 f(){var e="vevent"==E.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:E.component}})})}function g(){(w=n.$get(E.component.pid).$getComponent(E.component.id)).$futureComponentData.then(function(){E.component=w,f()})}function y(n){(n||E.component).$reply().then(function(){e.$emit("calendars:list"),r.getAlarms(),t.hide()})}function v(){(w=n.$get(E.component.pid).$getComponent(E.component.id)).$futureComponentData.then(function(){w.reply=E.component.reply,w.delegatedTo=E.component.delegatedTo,w.$hasAlarm=E.component.$hasAlarm,w.alarm=E.component.alarm,y(w)})}function $(){E.component.remove(!0).then(function(){e.$emit("calendars:list"),t.hide()})}function C(){E.component.remove().then(function(){e.$emit("calendars:list"),t.hide()})}function b(e){n.$$resource.post(E.component.pid+"/"+E.component.id,"raw").then(function(n){function a(e,t,n){e.data=n,e.close=function(){t.hide()}}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 D(n){E.component.copyTo(n).then(function(){t.hide(),e.$emit("calendars:list")})}function k(n){E.component.moveTo(n).then(function(){t.hide(),e.$emit("calendars:list")})}var w,E=this;E.calendarService=n,E.service=a,E.component=s,E.close=c,E.highPriority=d,E.cardFilter=u,E.newMessageWithAllRecipients=h,E.newMessageWithRecipient=p,E.edit=f,E.editAllOccurrences=g,E.reply=y,E.replyAllOccurrences=v,E.deleteOccurrence=$,E.deleteAllOccurrences=C,E.toggleRawSource=b,E.copySelectedComponent=D,E.moveSelectedComponent=k,E.organizer=[s.organizer]}function t(e,t,n,a,o,r,i,s,c,d,u,h,p,m){function f(){var e=F.component.addAttachUrl("");r("attachUrl_"+e)}function g(){F.showRecurrenceEditor=!F.showRecurrenceEditor,F.component.$hasCustomRepeat=F.showRecurrenceEditor}function y(){F.showAttendeesEditor=!F.showAttendeesEditor}function v(){return F.component&&"monthly"==F.component.repeat.frequency&&"bymonthday"==F.component.repeat.month.type}function $(e){return u.$filterAll(e),u.$cards}function C(e){var t=!F.component.attendees||0===F.component.attendees.length;angular.isString(e)?e.isValidEmail()&&(F.component.addAttendee(new h({emails:[{value:e}]})),F.showAttendeesEditor|=t,F.searchText=""):(F.component.addAttendee(e),F.showAttendeesEditor|=t)}function b(e,t){F.component.deleteAttendee(e),0===F.component.attendees.length&&(F.showAttendeesEditor=!1),t.$setDirty()}function D(){if(F.component&&F.component.priority)return F.component.priority>5?l("low"):F.component.priority>4?l("normal"):l("high")}function k(t,n){t.$valid&&F.component.$save(n).then(function(t){e.$emit("calendars:list"),p.getAlarms(),o.hide()},function(e){e.status==s.ConflictHTTPErrorCode&&_.isObject(e.data.message)?F.attendeeConflictError=e.data.message:S(t)})}function w(e){F.component.$reset(),e.$setPristine()}function E(e){w(e),F.component.isNew&&(F.component=null),o.cancel()}function S(e){F.attendeeConflictError=!1,e.$setPristine(),e.$setDirty()}function T(){var e=[];return F.component.start&&F.component.end&&(e=F.component.start.daysUpTo(F.component.end)),_.map(e,function(e){return{stringWithSeparator:e.stringWithSeparator(),getDayString:e.getDayString()}})}function A(){F.component.$addStartDate(),H=new Date(F.component.start.getTime())}function O(){F.component.$addDueDate(),N=new Date(F.component.due.getTime())}function x(){if(F.component.start){0!==H.valueOf()-F.component.start.valueOf()&&(H=new Date(F.component.start.getTime()),"appointment"===F.component.type&&(F.component.end=new Date(F.component.start.getTime()),F.component.end.addMinutes(F.component.delta),q=new Date(F.component.end.getTime())),M())}}function U(){if(F.component.end){var e=q.valueOf()-F.component.end.valueOf();0!==e&&((e=F.component.start.minutesTo(F.component.end))<0?F.component.end=new Date(q.getTime()):(F.component.delta=e,q=new Date(F.component.end.getTime())),M())}}function I(){N=new Date(F.component.due.getTime())}function M(){F.attendeesEditor.days=T(),F.component.updateFreeBusy()}var H,q,N,F=this;F.service=c,F.component=m,F.categories={},F.showRecurrenceEditor=F.component.$hasCustomRepeat,F.toggleRecurrenceEditor=g,F.recurrenceMonthDaysAreRequired=v,F.showAttendeesEditor=F.component.attendees&&F.component.attendees.length,F.toggleAttendeesEditor=y,F.cardFilter=$,F.addAttendee=C,F.removeAttendee=b,F.addAttachUrl=f,F.priorityLevel=D,F.reset=w,F.cancel=E,F.edit=S,F.save=k,F.attendeeConflictError=!1,F.attendeesEditor={days:T(),hours:function(){for(var e=[],t=0;t<=23;t++)e.push(t.toString());return e}()},F.addStartDate=A,F.addDueDate=O,F.adjustStartTime=x,F.adjustEndTime=U,F.adjustDueTime=I,F.component.start&&(H=new Date(F.component.start.getTime())),F.component.end&&(q=new Date(F.component.end.getTime())),F.component.due&&(N=new Date(F.component.due.getTime()))}e.$inject=["$rootScope","$mdDialog","Calendar","Component","AddressBook","Alarm","Account","stateComponent"],t.$inject=["$rootScope","$scope","$log","$timeout","$mdDialog","sgFocus","User","CalendarSettings","Calendar","Component","AddressBook","Card","Alarm","stateComponent"],angular.module("SOGo.SchedulerUI").controller("ComponentController",e).controller("ComponentEditorController",t)}(),function(){"use strict";function e(){return{restrict:"E",scope:{day:"@sgDay",dayNumber:"@sgDayNumber",dayString:"@sgDayString",calendar:"@sgCalendar"},controller:t}}function t(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}}t.$inject=["$scope","Calendar"],angular.module("SOGo.SchedulerUI").directive("sgCalendarDay",e)}(),function(){"use strict";function e(e){function t(e,t){var n=_.has(t,"sgCalendarGhost")?"":"::";return['
",'
','
",'
',' {{'+n+"block.component.c_priority}}"," {{ "+n+"block.component.summary }}",' ',' ',' ',' ',' '," ",'
'," place {{"+n+"block.component.c_location}}","
","
","
",'
{{ block.startHour }}
','
{{ block.endHour }}
',"
"].join("")}function n(e,t,n){var a,o,r;_.has(n,"sgCalendarGhost")||(a=100/e.block.siblings,o=e.block.position*a,r=100-(e.block.position+1)*a,a<100&&(o>0&&(o-=2),r>0&&(r-=2)),0===o&&(o=2),0===r&&(r=2),t.css("left",o+"%"),t.css("right",r+"%"),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")))}return{restrict:"E",scope:{block:"=sgBlock",clickBlock:"&sgClick"},replace:!0,template:t,link:n}}e.$inject=["CalendarSettings"],angular.module("SOGo.SchedulerUI").directive("sgCalendarDayBlock",e)}(),function(){"use strict";function e(){return{restrict:"E",scope:{blocks:"=sgBlocks",day:"@sgDay",clickBlock:"&sgClick"},template:["'].join("")}}angular.module("SOGo.SchedulerUI").directive("sgCalendarDayTable",e)}(),function(){"use strict";function e(e,t,n,a,o){function r(t,r,i,s){function c(){var e,n,a;t.block=o.$ghost,(n=f.calendarData())&&(y=n.index,e=n.pid,v=t.block.pointerHandler.originalCalendar.index),e||(e=t.block.component.pid),(a=t.block.component.blocks[0].userState)&&r.addClass("sg-event--"+a),r.addClass("bg-folder"+e)}function l(){_.forEachRight(m.classList,function(e){/^bg-folder/.test(e)&&r.removeClass(e)}),r.addClass("ng-hide")}function d(){var e,o,i,s,c,l,d,u;if(e=!1,a.$view&&a.$view.type==g.type){if(o="multiday-allday"===g.type,i=t.block.component.c_isallday,s=t.block.pointerHandler.currentEventCoordinates.dayNumber,c=t.block.pointerHandler.currentEventCoordinates.start,d=t.block.pointerHandler.currentEventCoordinates.duration,u=n.EventDragDayLength-c,angular.isUndefined(d))return;for((l=d)>u&&(l=u),s>-1&&(y<0&&s==f.dayNumber||s==y&&(v==y||!t.block.component.isException))&&(e=!0,o||(i||(t.block.startHour=h(c)),a.$view.quarterHeight?(r.css("top",c*a.$view.quarterHeight+"px"),r.css("height",l*a.$view.quarterHeight+"px")):r.css("top",a.$view.topOffset+"px")),r.removeClass("fg-folder"+t.block.component.pid),r.removeClass("sg-event--ghost--last"),r.addClass("sg-event--ghost--first"),t.block.isFirst=!0),d-=l,s++;!e&&d&&s<=f.dayNumber;)(l=d)>n.EventDragDayLength&&(l=n.EventDragDayLength),s>-1&&s==f.dayNumber&&(e=!0,o||(r.css("top",a.$view.topOffset+"px"),a.$view.quarterHeight&&r.css("height",l*a.$view.quarterHeight+"px")),r.removeClass("sg-event--ghost--first"),r.removeClass("sg-event--ghost--last"),r.addClass("fg-folder"+t.block.component.pid)),d-=l,s++,c=0;d||(o?r.addClass("sg-event--ghost--last"):i||(t.block.endHour=p(c,l)))}e?r.removeClass("ng-hide"):r.addClass("ng-hide")}function u(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}function h(e){return u(e)}function p(e,t){return u((e+t)%n.EventDragDayLength)}var m,f,g,y,v;m=r[0],f=s[0],g=s[1],y=-1,r.addClass("sg-event--ghost md-whiteframe-3dp ng-hide");var $=e.$on("calendar:dragstart",c),C=e.$on("calendar:drag",d),b=e.$on("calendar:dragend",l);t.$on("$destroy",function(){$(),C(),b()})}return{restrict:"A",require:["^sgCalendarDay","^sgCalendarScrollView"],link:r}}e.$inject=["$rootScope","$timeout","CalendarSettings","Calendar","Component"],angular.module("SOGo.SchedulerUI").directive("sgCalendarGhost",e)}(),function(){"use strict";function e(){return{restrict:"E",scope:{blocks:"=sgBlocks",day:"@sgDay",clickBlock:"&sgClick"},template:["'].join("")}}angular.module("SOGo.SchedulerUI").directive("sgCalendarMonthDay",e)}(),function(){"use strict";function e(){function e(e,t){var n=_.has(t,"sgCalendarGhost")?"":"::";return['
','
",' {{ '+n+"block.component.startHour }}",' {{'+n+"block.component.c_priority}}"," {{ "+n+"block.component.summary }}",' ',' ',' ',' ',' '," ","
"].join("")}function t(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")))}return{restrict:"E",scope:{block:"=sgBlock",clickBlock:"&sgClick"},replace:!0,template:e,link:t}}angular.module("SOGo.SchedulerUI").directive("sgCalendarMonthEvent",e)}(),function(){"use strict";function e(e,n,a,o,r,i,s,c,l){return{restrict:"A",scope:{type:"@sgCalendarScrollView"},controller:t,link:function(t,a,o,i){function d(){if(h=new u(a,p),"monthly"!=p){var e,t,n;l.defaults.SOGoDayStartTime&&(e=l.defaults.SOGoDayStartTime.split(":"),t=document.getElementById("hour"+parseInt(e[0])),n=parseInt(e[1])*h.quarterHeight,h.element.scrollTop=t.offsetTop+n)}i.quarterHeight=h.quarterHeight}function u(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)}var h,p,m=!1;h=null,p=t.type,m="multicolumndayview"==a.attr("sg-view"),i.isMultiColumn=m,r(d),t.$on("$destroy",function(){h&&h.$destroy()}),u.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,r,i,s;return n=t=a=o=0,(r=this.element.getElementsByClassName("day")).length>0&&(n=(i=r[0].getBoundingClientRect()).height,t=i.width,a=i.left-e,(s=r[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 m?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,r;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):(r=(a=t.y+this.scrollStep)-this.element.clientHeight)>0&&(this.element.scrollTop+=r)))}}}}}function t(e){this.type=e.type}e.$inject=["$rootScope","$window","$document","$q","$timeout","$mdGesture","Calendar","Component","Preferences"],t.$inject=["$scope"],angular.module("SOGo.SchedulerUI").directive("sgCalendarScrollView",e)}(),function(){"use strict";function e(){return{restrict:"E",require:"ngModel",scope:{ngModel:"="},replace:!0,template:['"].join("")}}angular.module("SOGo.SchedulerUI").directive("sgCategoryStylesheet",e)}(),function(){"use strict";function e(e,t,n,a,o,r,i){function s(s,c,d,u){function h(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 v(t)).initFromEvent(e),i.$ghost.pointerHandler=n,angular.element(document).one("mouseup",f),angular.element(document).on("mousemove",m))}function p(t){var r,d,h,p,m,f,g,y;h=c.hasClass("clickableHourCell"),p="SG-CALENDAR-MONTH-DAY"==c[0].parentNode.tagName||c.hasClass("clickableDayCell"),y=u.calendarData(),s.block&&s.block.component?r=s.block:(m=u.dayString.parseDate(a.$mdDateLocaleProvider,"%Y-%m-%e"),f={type:"appointment",pid:y?y.pid:o.$defaultCalendar(),summary:l("New Event"),startDate:m,isAllDay:h?0:1},(r={component:new i(f),dayNumber:u.dayNumber,length:0}).component.blocks=[r]),d="multiday",p?d="monthly":r.component.c_isallday&&(d="multiday-allday"),_.forEach(r.component.blocks,function(e){e.dragging=!0}),(g=i.$ghost.pointerHandler).prepareWithEventType(d),g.initFromBlock(r),y&&g.initFromCalendar(y),i.$ghost.component=r.component,n.debug("emit calendar:dragstart "+d),e.$emit("calendar:dragstart")}function m(e){var n=i.$ghost.pointerHandler;t(function(){n.updateFromEvent(e)})}function f(t){var n,a;n=s.block,a=i.$ghost.pointerHandler,angular.element(document).off("mousemove",m),a.dragHasStarted&&(e.$emit("calendar:dragend"),a.dragHasStarted=!1),n&&n.component&&_.forEach(n.component.blocks,function(e){e.dragging=!1})}function g(){}function y(e){this.setEventType(e)}function v(e){this.dragMode=e}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,r,i,l,d,u;s.block.length<3||(e=s.block.component,t=s.block.dayIndex,a=0===(n=_.findIndex(e.blocks,["dayIndex",t])),o=n===e.blocks.length-1,(r=angular.element('
')).addClass("bdr-folder"+e.pid),e.c_isallday||"SG-CALENDAR-MONTH-DAY"===c[0].parentNode.tagName?(a&&(i=angular.element('
').append(r),c.append(i)),o&&(l=angular.element('
').append(r.clone()),c.append(l))):(a&&(d=angular.element('
').append(r),c.append(d)),o&&(u=angular.element('
').append(r.clone()),c.append(u))))}()}c.on("mousedown",h),s.$on("$destroy",function(){c.off("mousedown",h),c.off("mousemove",m)}),g.prototype={x:-1,y:-1,getDelta:function(e){var t=new g;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 g;return e.x=this.x,e.y=this.y,e}},y.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*r.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*r.EventDragDayLength}))},initFromCalendar:function(e){this.dayNumber=e},getDelta:function(e){var t=new y;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)%r.EventDragDayLength;return this._quartersToHM(e)},clone:function(){var e=new y;return e.dayNumber=this.dayNumber,e.start=this.start,e.duration=this.duration,e}},v.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 y(this.eventType),this.originalEventCoordinates=new y(this.eventType),this.originalEventCoordinates.initFromBlock(e)},initFromEvent:function(e){this.currentCoordinates=new g,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(e){if(this.currentCoordinates.x=e.pageX,this.currentCoordinates.y=e.pageY,this.dragHasStarted&&o.$view){var t=this.getEventViewCoordinates(o.$view);this.originalViewCoordinates||(this.originalViewCoordinates=this.getEventViewCoordinates(o.$view,this.originalCoordinates),i.$ghost.component.isNew&&(this.setTimeFromQuarters(i.$ghost.component.start,this.originalViewCoordinates.y),n.debug("new event start date "+i.$ghost.component.start))),this.currentViewCoordinates&&t&&t.x==this.currentViewCoordinates.x&&t.y==this.currentViewCoordinates.y||(this.currentViewCoordinates=t,this.originalViewCoordinates&&(t||(this.currentViewCoordinates=this.originalViewCoordinates.clone()),this.updateEventCoordinates()))}else this.originalCoordinates&&this.currentCoordinates&&!this.dragHasStarted&&this.getDistance()>3&&(this.dragHasStarted=!0,p(e))},updateEventCoordinates:function(){var t,a=this.currentViewCoordinates.getDelta(this.originalViewCoordinates),i=a.days*r.EventDragDayLength+a.y;n.debug("quarters delta "+i),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+i,this.currentEventCoordinates.duration=this.originalEventCoordinates.duration):"change-start"==this.dragMode?(t=this.originalEventCoordinates.duration-i)>0?(this.currentEventCoordinates.start=this.originalEventCoordinates.start+i,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+i)>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/r.EventDragDayLength),this.currentEventCoordinates.start+=c*r.EventDragDayLength,this.currentEventCoordinates.dayNumber-=c):this.currentEventCoordinates.start>=r.EventDragDayLength&&(c=Math.floor(this.currentEventCoordinates.start/r.EventDragDayLength),this.currentEventCoordinates.start-=c*r.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).getDelta(e.coordinates),a=e.element;return(n.xa.clientWidth||n.y<0||n.y>a.clientHeight)&&(n=null),n},prepareWithEventType:function(e){var t={multiday:this.getEventMultiDayViewCoordinates,"multiday-allday":this.getEventMultiDayAllDayViewCoordinates,monthly:this.getEventMonthlyViewCoordinates,unknown:null}[e];this.eventType=e,this.getEventViewCoordinates=t},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-r.EventDragHorizontalOffset)/a);var i=r.EventDragDayLength-1;n.y<0?n.y=0:n.y>i&&(n.y=i)}return n},getEventMultiDayAllDayViewCoordinates:function(e,t){var n,a=this.getContainerBasedCoordinates(e,t);if(a){n=new g;var r=e.dayWidth,i=e.daysOffset;n.x=Math.floor((a.x-i)/r);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 g;var o=e.maxX,r=e.dayWidth,i=e.daysOffset,s=e.dayHeight,c=Math.floor((a.y-0)/s);c<0&&(c=0),n.x=Math.floor((a.x-i)/r),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)}}}return{restrict:"CA",require:"^sgCalendarDay",link:s}}e.$inject=["$rootScope","$timeout","$log","Preferences","Calendar","CalendarSettings","Component"],angular.module("SOGo.SchedulerUI").directive("sgDraggableCalendarBlock",e)}(),function(){"use strict";function e(){function e(e,t,n,a){function o(){return t.find("sg-calendar-day")}function r(){return a.quarterHeight}var i=e.$watch(r,function(t){if(t){i(),e.quarterHeight=t;var n=e.$watch(o,function(t){t.length&&(n(),e.days=t,e.updateLine())})}})}return{restrict:"C",require:"^^sgCalendarScrollView",link:e,controller:t}}function t(e,t,n){function a(t){var a=new Date,s=a.getDayString(),c=a.getHours(),l=4*e.quarterHeight,d=a.getMinutes(),u=e.quarterHeight/15,h=parseInt(c*l+d*u-1);(t||s!=e.nowDay)&&(e.lineElement&&e.lineElement.remove(),e.lineElement=o(s,e.days),e.nowDay=s),e.lineElement&&(e.lineElement.css("top",h+"px"),r=n(angular.bind(i,e.updateLine),6e4))}function o(e,n){var a=angular.element("");return s.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)}),a}var r,i=this,s=t.controller("sgCalendarScrollView");e.nowDay=null,e.lineElement=null,e.updateLine=a,e.$on("$destroy",function(){r&&n.cancel(r)})}t.$inject=["$scope","$element","$timeout"],angular.module("SOGo.SchedulerUI").directive("sgNowLine",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 a188ddd37..e71736f03 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/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","download","$setActivation","$getComponent","componentId","recurrenceId","$find","isError","isObject","futureComponentData","newComponentData","newguid","isNew","$rootScope","Component_STATUS","Card","Gravatar","STATUS","$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","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","$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","interval","monthdays","months","until","$hasCustomRepeat","hasCustomRepeat","classification","units","M","H","D","W","match","exec","SOGoCalendarDefaultReminder","$hasAlarm","sendAppointmentNotifications","SOGoAppointmentSendEMailNotifications","destinationCalendar","attendees","attendee","image","email","updateFreeBusy","isReadOnly","isEditableOccurrence","isInvitation","userHasRSVP","isInvitationOccurrence","enablePercentComplete","percentComplete","coversFreeBusy","quarter","freebusy","updateFreeBusyCoverage","roundedStart","roundedEnd","startQuarter","endQuarter","daysUpTo","index","hourKey","currentDay","dayKey","getHours","beginOfDay","addMinutes","updateFreeBusyAttendee","resource","domain","sday","eday","isMSExchange","c_folder","addAttendee","card","$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","$reply","reply","delegatedTo","$adjust","every","values","v","extraAttributes","dlp","$mdDateLocaleProvider","format","startTime","endTime","dueTime","stringWithSeparator","organizer","occurrenceOnly","$futureComponentData","copy","repeatDescription","localizedString","toUpperCase","alarmDescription","copyTo","destination","moveTo","CalendarController","$scope","$state","$stateParams","sgHotkeys","stateEventsBlocks","_registerHotkeys","createHotkey","description","callback","changeDate","args","changeView","_goToPeriod","registerHotkey","$event","direction","vm","selectedDate","_formatDate","setHours","$dateFormat","replace","toggleAllDays","expandedAllDays","updateView","asDate","newDate","element","currentTarget","attr","go","deregisterCalendarsList","hotkeys","$onInit","$on","deregisterHotkey","$inject","controller","CalendarListController","$mdDialog","focus","Dialog","CalendarSettings","Alarm","searchMode","newComponent","selectComponentType","reload","unselectComponents","mode","multiple","selectAll","toggleComponentSelection","preventDefault","stopPropagation","confirmDeleteSelectedComponents","confirm","ok","openEvent","openComponent","openTask","viewable","templateUrl","show","parent","document","body","targetEvent","clickOutsideToClose","escapeToClose","controllerAs","locals","stateComponent","baseComponent","updateComponentFromGhost","RecurrentComponentDialogController","updateThisOccurrence","hide","onComponentAdjustError","updateAllOccurrences","message","AttendeeConflictDialogController","conflictError","ignoreConflicts","coordinates","calendarNumber","activeCalendars","currentEventCoordinates","summary","isAllDay","duration","finally","getDelta","originalEventCoordinates","originalCalendar","isException","getAlarms","template","filteredBy","field","sortedBy","cancelSearch","selectedList","SelectedList","CalendarsController","$window","$mdToast","FileUploader","User","stateCalendars","_sortableAccept","sourceItemHandleScope","destSortableScope","destItemScope","sortableScope","_sortableEnd","toggleSortableMode","sortableMode","resetSort","newCalendar","ev","prompt","UserLogin","addWebCalendar","WebCalendarAuthDialogController","scope","hostname","title","formatted","authenticate","form","$valid","required","reason","$setValidity","inputType","confirmDelete","folder","catch","alert","importCalendar","CalendarImportDialogController","filterByExtension","item","isTextFile","test","position","hideDelay","uploader","ApplicationBaseURL","autoUpload","queueLimit","filters","fn","onSuccessItem","headers","msg","imported","simple","content","onErrorItem","close","showOnly","showAll","showLinks","LinksDialogController","showProperties","PropertiesDialogController","srcCalendar","saveProperties","$watch","editFolder","editMode","revertEditing","renameFolder","share","$users","usersWithACL","users","subscribeToFolder","service","sortableCalendars","scrollableContainer","containment","orderChanged","accept","SOGoCalendarCategories","asCSSIdentifier","pick","newList","oldList","commonList","intersectionBy","oldObject","isEqual","ComponentController","AddressBook","Account","cardFilter","$filterAll","newMessageWithAllRecipients","_newMessage","newMessageWithRecipient","recipients","accounts","account","$getMailboxes","mailboxes","$newMessage","editable","to","subject","stateAccount","stateMessage","edit","editAllOccurrences","replyAllOccurrences","deleteOccurrence","deleteAllOccurrences","toggleRawSource","ComponentRawSourceDialogController","copySelectedComponent","moveSelectedComponent","calendarService","ComponentEditorController","toggleRecurrenceEditor","showRecurrenceEditor","toggleAttendeesEditor","showAttendeesEditor","recurrenceMonthDaysAreRequired","$cards","automaticallyExapand","isValidEmail","searchText","removeAttendee","$setDirty","priorityLevel","priority","attendeeConflictError","reset","$setPristine","getDays","addStartDate","oldStartDate","addDueDate","oldDueDate","adjustStartTime","valueOf","oldEndDate","adjustEndTime","adjustDueTime","attendeesEditor","hours","sgCalendarDay","restrict","dayString","sgCalendarDayController","directive","sgCalendarDayBlock","tElem","tAttrs","p","has","link","iElement","attrs","pc","left","right","siblings","css","c_isallday","addClass","userState","c_isopaque","c_status","clickBlock","sgCalendarDayTable","sgCalendarGhost","ctrls","initGhost","calendarDayCtrl","originalCalendarNumber","hideGhost","forEachRight","domElement","classList","c","removeClass","updateGhost","showGhost","isRelative","durationLeft","maxDuration","scrollViewCtrl","getStartTime","quarterHeight","topOffset","getEndTime","quartersToHM","quarters","minutes","mins","floor","deregisterDragStart","deregisterDrag","deregisterDragEnd","require","sgCalendarMonthDay","sgCalendarMonthEvent","sgCalendarScrollView","$document","$mdGesture","sgCalendarScrollViewController","initView","sgScrollView","hourCell","quartersOffset","SOGoDayStartTime","getElementById","scrollTop","offsetTop","$element","getQuarterHeight","scrollStep","getDayNumbers","maxX","getMaxColumns","onDragStart","deregisterDragStop","onDragEnd","bindedUpdateCoordinates","updateCoordinates","bindedUpdateFromPointerHandler","updateFromPointerHandler","on","isMultiColumn","$destroy","off","hour0","hour23","height","getDayDimensions","viewLeft","width","leftOffset","nodes","domRect","tileHeader","getElementsByClassName","getBoundingClientRect","clientHeight","offset","top","getElementsByTagName","el","attributes","mdGridList","max","dayDimensions","x","y","dayHeight","dayWidth","daysOffset","pointerCoordinates","scrollY","minY","getContainerBasedCoordinates","lastScroll","sgCategoryStylesheet","ngModel","sgDraggableCalendarBlock","onDragDetect","dragMode","rect","scrollableZone","target","scrollHeight","pageX","className","SOGoEventDragPointerHandler","initFromEvent","one","onDrag","dragStart","eventType","isHourCell","isMonthly","newData","hasClass","parentNode","tagName","parseDate","b","dragging","prepareWithEventType","initFromBlock","initFromCalendar","updateFromEvent","pointer","dragHasStarted","SOGoCoordinates","SOGoEventDragEventCoordinates","setEventType","blockIndex","isFirstBlock","isLastBlock","dragGrip","leftGrip","rightGrip","topGrip","bottomGrip","append","clone","otherCoordinates","getDistance","sqrt","weekDay","prevDayNumber","sumBy","currentDayNumber","_quartersToHM","originalCoordinates","currentCoordinates","originalViewCoordinates","currentViewCoordinates","getEventViewCoordinates","pageY","newEventCoordinates","setTimeFromQuarters","updateEventCoordinates","newDuration","deltaQuarters","deltaDays","ceil","clientWidth","method","multiday","getEventMultiDayViewCoordinates","multiday-allday","getEventMultiDayAllDayViewCoordinates","monthly","getEventMonthlyViewCoordinates","unknown","pxCoordinates","maxY","minX","daysY","sgNowLine","iAttr","sgCalendarScrollViewCtrl","_getDays","_getView","_unwatchView","_unwatchDays","updateLine","sgNowLineController","_updateLine","force","nowDay","hourHeight","minuteHeight","lineElement","_addLine","updater","$lineElement","dayElement","eq"],"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/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","download","$setActivation","$getComponent","componentId","recurrenceId","$find","isError","isObject","futureComponentData","newComponentData","newguid","isNew","$rootScope","Component_STATUS","Card","Gravatar","STATUS","$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","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","$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","interval","monthdays","months","until","$hasCustomRepeat","hasCustomRepeat","classification","units","M","H","D","W","match","exec","SOGoCalendarDefaultReminder","$hasAlarm","sendAppointmentNotifications","SOGoAppointmentSendEMailNotifications","destinationCalendar","attendees","attendee","image","email","updateFreeBusy","isReadOnly","isEditableOccurrence","isInvitation","userHasRSVP","isInvitationOccurrence","showPercentComplete","percentComplete","enablePercentComplete","coversFreeBusy","quarter","freebusy","updateFreeBusyCoverage","roundedStart","roundedEnd","startQuarter","endQuarter","daysUpTo","index","hourKey","currentDay","dayKey","getHours","beginOfDay","addMinutes","updateFreeBusyAttendee","resource","domain","sday","eday","isMSExchange","c_folder","addAttendee","card","$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","$reply","reply","delegatedTo","$adjust","every","values","v","extraAttributes","dlp","$mdDateLocaleProvider","format","startTime","endTime","dueTime","stringWithSeparator","organizer","occurrenceOnly","$futureComponentData","copy","repeatDescription","localizedString","toUpperCase","alarmDescription","copyTo","destination","moveTo","CalendarController","$scope","$state","$stateParams","sgHotkeys","stateEventsBlocks","_registerHotkeys","createHotkey","description","callback","changeDate","args","changeView","_goToPeriod","registerHotkey","$event","direction","vm","selectedDate","_formatDate","setHours","$dateFormat","replace","toggleAllDays","expandedAllDays","updateView","asDate","newDate","element","currentTarget","attr","go","deregisterCalendarsList","hotkeys","$onInit","$on","deregisterHotkey","$inject","controller","CalendarListController","$mdDialog","focus","Dialog","CalendarSettings","Alarm","searchMode","newComponent","selectComponentType","reload","unselectComponents","mode","multiple","selectAll","toggleComponentSelection","preventDefault","stopPropagation","confirmDeleteSelectedComponents","confirm","ok","openEvent","openComponent","openTask","viewable","templateUrl","show","parent","document","body","targetEvent","clickOutsideToClose","escapeToClose","controllerAs","locals","stateComponent","baseComponent","updateComponentFromGhost","RecurrentComponentDialogController","updateThisOccurrence","hide","onComponentAdjustError","updateAllOccurrences","message","AttendeeConflictDialogController","conflictError","ignoreConflicts","coordinates","calendarNumber","activeCalendars","currentEventCoordinates","summary","isAllDay","duration","finally","getDelta","originalEventCoordinates","originalCalendar","isException","getAlarms","template","filteredBy","field","sortedBy","cancelSearch","selectedList","SelectedList","CalendarsController","$window","$mdToast","FileUploader","User","stateCalendars","_sortableAccept","sourceItemHandleScope","destSortableScope","destItemScope","sortableScope","_sortableEnd","toggleSortableMode","sortableMode","resetSort","newCalendar","ev","prompt","UserLogin","addWebCalendar","WebCalendarAuthDialogController","scope","hostname","title","formatted","authenticate","form","$valid","required","reason","$setValidity","inputType","confirmDelete","folder","catch","alert","importCalendar","CalendarImportDialogController","filterByExtension","item","isTextFile","test","position","hideDelay","uploader","ApplicationBaseURL","autoUpload","queueLimit","filters","fn","onSuccessItem","headers","msg","imported","simple","content","onErrorItem","close","showOnly","showAll","showLinks","LinksDialogController","showProperties","PropertiesDialogController","srcCalendar","saveProperties","$watch","editFolder","editMode","revertEditing","renameFolder","share","$users","usersWithACL","users","subscribeToFolder","service","sortableCalendars","scrollableContainer","containment","orderChanged","accept","SOGoCalendarCategories","asCSSIdentifier","pick","newList","oldList","commonList","intersectionBy","oldObject","isEqual","ComponentController","AddressBook","Account","highPriority","priority","cardFilter","$filterAll","newMessageWithAllRecipients","_newMessage","newMessageWithRecipient","recipients","accounts","account","$getMailboxes","mailboxes","$newMessage","editable","to","subject","stateAccount","stateMessage","edit","editAllOccurrences","replyAllOccurrences","deleteOccurrence","deleteAllOccurrences","toggleRawSource","ComponentRawSourceDialogController","copySelectedComponent","moveSelectedComponent","calendarService","ComponentEditorController","toggleRecurrenceEditor","showRecurrenceEditor","toggleAttendeesEditor","showAttendeesEditor","recurrenceMonthDaysAreRequired","$cards","automaticallyExapand","isValidEmail","searchText","removeAttendee","$setDirty","priorityLevel","attendeeConflictError","reset","$setPristine","getDays","addStartDate","oldStartDate","addDueDate","oldDueDate","adjustStartTime","valueOf","oldEndDate","adjustEndTime","adjustDueTime","attendeesEditor","hours","sgCalendarDay","restrict","dayString","sgCalendarDayController","directive","sgCalendarDayBlock","tElem","tAttrs","p","has","link","iElement","attrs","pc","left","right","siblings","css","c_isallday","addClass","userState","c_isopaque","c_status","clickBlock","sgCalendarDayTable","sgCalendarGhost","ctrls","initGhost","calendarDayCtrl","originalCalendarNumber","hideGhost","forEachRight","domElement","classList","c","removeClass","updateGhost","showGhost","isRelative","durationLeft","maxDuration","scrollViewCtrl","getStartTime","quarterHeight","topOffset","getEndTime","quartersToHM","quarters","minutes","mins","floor","deregisterDragStart","deregisterDrag","deregisterDragEnd","require","sgCalendarMonthDay","sgCalendarMonthEvent","sgCalendarScrollView","$document","$mdGesture","sgCalendarScrollViewController","initView","sgScrollView","hourCell","quartersOffset","SOGoDayStartTime","getElementById","scrollTop","offsetTop","$element","getQuarterHeight","scrollStep","getDayNumbers","maxX","getMaxColumns","onDragStart","deregisterDragStop","onDragEnd","bindedUpdateCoordinates","updateCoordinates","bindedUpdateFromPointerHandler","updateFromPointerHandler","on","isMultiColumn","$destroy","off","hour0","hour23","height","getDayDimensions","viewLeft","width","leftOffset","nodes","domRect","tileHeader","getElementsByClassName","getBoundingClientRect","clientHeight","offset","top","getElementsByTagName","el","attributes","mdGridList","max","dayDimensions","x","y","dayHeight","dayWidth","daysOffset","pointerCoordinates","scrollY","minY","getContainerBasedCoordinates","lastScroll","sgCategoryStylesheet","ngModel","sgDraggableCalendarBlock","onDragDetect","dragMode","rect","scrollableZone","target","scrollHeight","pageX","className","SOGoEventDragPointerHandler","initFromEvent","one","onDrag","dragStart","eventType","isHourCell","isMonthly","newData","hasClass","parentNode","tagName","parseDate","b","dragging","prepareWithEventType","initFromBlock","initFromCalendar","updateFromEvent","pointer","dragHasStarted","SOGoCoordinates","SOGoEventDragEventCoordinates","setEventType","blockIndex","isFirstBlock","isLastBlock","dragGrip","leftGrip","rightGrip","topGrip","bottomGrip","append","clone","otherCoordinates","getDistance","sqrt","weekDay","prevDayNumber","sumBy","currentDayNumber","_quartersToHM","originalCoordinates","currentCoordinates","originalViewCoordinates","currentViewCoordinates","getEventViewCoordinates","pageY","newEventCoordinates","setTimeFromQuarters","updateEventCoordinates","newDuration","deltaQuarters","deltaDays","ceil","clientWidth","method","multiday","getEventMultiDayViewCoordinates","multiday-allday","getEventMultiDayAllDayViewCoordinates","monthly","getEventMonthlyViewCoordinates","unknown","pxCoordinates","maxY","minX","daysY","sgNowLine","iAttr","sgCalendarScrollViewCtrl","_getDays","_getView","_unwatchView","_unwatchDays","updateLine","sgNowLineController","_updateLine","force","nowDay","hourHeight","minuteHeight","lineElement","_addLine","updater","$lineElement","dayElement","eq"],"mappings":"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","file":"Scheduler.services.js"} \ No newline at end of file