diff --git a/UI/WebServerResources/js/Common.js b/UI/WebServerResources/js/Common.js
index abb33c9dd..5bfba203e 100644
--- a/UI/WebServerResources/js/Common.js
+++ b/UI/WebServerResources/js/Common.js
@@ -1,2 +1,2 @@
-!function(){"use strict";angular.module("SOGo.Common",["ngAnimate","ngMessages","ngSanitize","ngMaterial","mdColors"]).value("sgSettings",{isPopup:document.body.classList.contains("popup"),baseURL:function(){return ApplicationBaseURL||null},resourcesURL:function(){return ResourcesURL||null},activeUser:function(e){var t={login:UserLogin||null,identification:UserIdentification||null,email:UserEmail||null,language:UserLanguage||null,folderURL:UserFolderURL||null,isSuperUser:IsSuperUser||null,path:{calendar:UserCalendarPath||null,contacts:UserContactsPath||null,mail:UserMailPath||null,preferences:UserPreferencesPath||null,administration:IsSuperUser?UserAdministrationPath:null,help:HelpURL||null,logoff:UserLogoffPath||null}};return e?t[e]:t},minimumSearchLength:function(){return angular.isNumber(minimumSearchLength)?minimumSearchLength:2}}).constant("sgColors",{selection:["#FFFFFF","#330033","#C0C0C0","#999999","#666666","#333333","#000000","#FFCCCC","#FF6666","#FF0000","#CC0000","#990000","#660000","#330000","#FFCC99","#FF9966","#FF9900","#FF6600","#CC6600","#993300","#663300","#FFFF99","#FFFF66","#FFCC66","#FFCC33","#CC9933","#996633","#663333","#FFFFCC","#FFFF33","#FFFF00","#FFCC00","#999900","#666600","#333300","#CCCCCC","#66FF99","#33FF33","#33CC00","#009900","#006600","#003300","#99FFFF","#33FFFF","#66CCCC","#00CCCC","#339999","#336666","#003333","#CCFFFF","#66FFFF","#33CCFF","#3366FF","#3333FF","#000099","#000066","#CCCCFF","#9999FF","#6666CC","#6633FF","#6600CC","#333399","#330099","#FFCCFF","#FF99FF","#CC66CC","#CC33CC","#993399","#663366","#99FF99"]}).constant("sgConstant",{xs:"(max-width: 599px)","gt-xs":"(min-width: 600px)",sm:"(min-width: 600px) and (max-width: 959px)","gt-sm":"(min-width: 960px)",md:"(min-width: 960px) and (max-width: 1023px)","gt-md":"(min-width: 1024px)",lg:"(min-width: 1024px) and (max-width: 1279px)","gt-lg":"(min-width: 1280px)",xl:"(min-width: 1920px)",print:"print"}).config(e).factory("AuthInterceptor",t).factory("ErrorInterceptor",n),e.$inject=["$logProvider","$compileProvider","$httpProvider","$mdThemingProvider","$mdAriaProvider"];function e(e,t,n,r,i){r.definePalette("sogo-green",{50:"eaf5e9",100:"cbe5c8",200:"aad6a5",300:"88c781",400:"66b86a",500:"56b04c",600:"4da143",700:"388e3c",800:"367d2e",900:"225e1b",A100:"fafafa",A200:"69f0ae",A400:"00e676",A700:"00c853",contrastDefaultColor:"dark",contrastLightColors:["300","400","500","600","700","800","900"]}),r.definePalette("sogo-blue",{50:"f0faf9",100:"e1f5f3",200:"ceebe8",300:"bfe0dd",400:"b2d6d3",500:"a1ccc8",600:"8ebfbb",700:"7db3b0",800:"639997",900:"4d8080",A100:"d4f7fa",A200:"c3f5fa",A400:"53e3f0",A700:"00b0c0",contrastDefaultColor:"light",contrastDarkColors:["50","100","200"]}),r.definePalette("sogo-paper",{50:"fcf7f8",100:"f7f1dc",200:"ede5ca",300:"e6d8ba",400:"e2d2a3",500:"d6c48d",600:"baa870",700:"857545",800:"524517",900:"433809",1000:"000000",A100:"ffffff",A200:"eeeeee",A400:"bdbdbd",A700:"616161",contrastDefaultColor:"dark",contrastLightColors:["800","900"]});var o=r.extendPalette("grey",{600:"00B0C0"});r.definePalette("sogo-grey",o),r.theme("default").primaryPalette("sogo-blue",{default:"900","hue-1":"400","hue-2":"800","hue-3":"A700"}).accentPalette("sogo-green",{default:"500","hue-1":"A100","hue-2":"300","hue-3":"A700"}).backgroundPalette("sogo-grey"),DebugEnabled||(e.debugEnabled(!1),t.debugInfoEnabled(!1),i.disableWarnings(),r.generateThemesOnDemand(!0)),n.interceptors.push("AuthInterceptor"),n.interceptors.push("ErrorInterceptor")}t.$inject=["$window","$q"];function t(e,t){return{response:function(n){return n&&/^application\/json/.test(n.config.headers.Accept)&&/^[\n\r ]*/.test(n.data)?(e.location.reload(!0),t.reject()):n}}}n.$inject=["$rootScope","$window","$q","$injector"];function n(e,t,n,r){return{responseError:function(i){var o,s;if(/^application\/json/.test(i.config.headers.Accept)){if(t.usesCASAuthentication&&-1==i.status||t.usesSAML2Authentication&&401==i.status)return o=n.defer(),(s=angular.element('')).on("load",function(){r.get("$http")(i.config).then(o.resolve,o.reject),s.remove()}),document.body.appendChild(s[0]),o.promise;e.$broadcast("http:Error",i)}return n.reject(i)}}}}(),function(){"use strict";var e;angular.module("mdColors",["ngMaterial"]).config(t).run(n),t.$inject=["$mdThemingProvider"];function t(t){e=t}n.$inject=["$interpolate","$document","$log"];function n(t,n,r){function i(e){return e.join("")}for(var o=t(i([".md-{{theme}}-theme",".md-fg"])+" { color:{{value}};}"),s=t(i([".md-{{theme}}-theme",".md-bg"])+" { background-color:{{value}};}"),a=t(i([".md-{{theme}}-theme",".md-bdr"])+" { border-color:{{value}};}"),l=t(i([".md-{{theme}}-theme",".md-{{hue}}",".md-fg"])+" { color:{{value}};}"),c=t(i([".md-{{theme}}-theme",".md-{{hue}}",".md-bg"])+" { background-color:{{value}};}"),u=t(i([".md-{{theme}}-theme",".md-{{palette}}",".md-fg"])+" { color:{{value}};}"),d=t(i([".md-{{theme}}-theme",".md-{{palette}}",".md-bg"])+" { background-color:{{value}}; color:{{contrast}} !important; }"),h=t(i([".md-{{theme}}-theme",".md-{{palette}}",".md-bdr"])+" { border-color:{{value}};}"),m=t(i([".md-{{theme}}-theme",".md-{{palette}}.md-{{hue}}",".md-fg"])+" { color:{{value}};}"),g=t(i([".md-{{theme}}-theme",".md-{{palette}}.md-{{hue}}",".md-bg"])+" { background-color:{{value}};}"),p=function(){var e=n[0].head.querySelector('style[title="Dynamic-Generated-by-mdColors"]');null===e&&((e=n[0].createElement("style")).title="Dynamic-Generated-by-mdColors",e.appendChild(n[0].createTextNode("")),n[0].head.appendChild(e));return e.sheet}(),f=0;p.cssRules.length>0;)p.deleteRule(0);angular.forEach(e._THEMES,function(t,n){y(o,s,n,"primary",e._PALETTES[t.colors.primary.name][t.colors.primary.hues.default]),y(l,c,n,"primary",e._PALETTES[t.colors.primary.name][t.colors.primary.hues["hue-2"]],"hue-2"),y(l,c,n,"primary",e._PALETTES[t.colors.primary.name][t.colors.primary.hues["hue-3"]],"hue-3"),y(l,c,n,"primary",e._PALETTES[t.colors.primary.name][t.colors.primary.hues["hue-1"]],"hue-1"),v(a,n,"primary",e._PALETTES[t.colors.primary.name][t.colors.primary.hues.default]),angular.forEach(t.colors,function(t,r){y(u,d,n,r,e._PALETTES[t.name][t.hues.default]),v(h,n,r,e._PALETTES[t.name][t.hues.default]),y(m,g,n,r,e._PALETTES[t.name][t.hues["hue-2"]],"hue-2"),y(m,g,n,r,e._PALETTES[t.name][t.hues["hue-3"]],"hue-3"),y(m,g,n,r,e._PALETTES[t.name][t.hues["hue-1"]],"hue-1")})});function y(e,t,n,r,i,o){if(i){var s={theme:n,palette:r,value:"rgb("+i.value[0]+","+i.value[1]+","+i.value[2]+")",contrast:"rgb("+i.contrast[0]+","+i.contrast[1]+","+i.contrast[2]+")",hue:o};p.insertRule(e(s),f),f+=1,p.insertRule(t(s),f),f+=1}}function v(e,t,n,r,i){if(r){var o="rgb("+r.value[0]+","+r.value[1]+","+r.value[2]+")";p.insertRule(e({theme:t,palette:n,value:o,hue:i}),f),f+=1}}}}(),function(){"use strict";e.$inject=["$window"];function e(e){return e.decodeURIComponent}angular.module("SOGo.Common").filter("decodeUri",e)}(),function(){"use strict";e.$inject=["$window"];function e(e){return e.encodeURIComponent}angular.module("SOGo.Common").filter("encodeUri",e)}(),function(){"use strict";e.$inject=["$sce"];function e(e){return function(t){var n=angular.element("
"+t+"
");return n.find("a").attr("target","_blank"),e.trustAs("html",n.html())}}angular.module("SOGo.Common").filter("ensureTarget",e)}(),function(){"use strict";angular.module("SOGo.Common").filter("loc",function(){return l})}(),function(){"use strict";angular.module("SOGo.Common").filter("range",function(){return function(e){for(var t=[],n=0;n"):void 0}}angular.module("SOGo.Common").filter("txt2html",e)}(),function(){"use strict";e.$inject=["$document","$timeout","$mdDialog","Dialog","usersWithACL","User","folder"];function e(e,t,n,r,i,o,s){var a=this;a.users=i,a.folder=s,a.selectedUser=null,a.selectedUid=null,a.userToAdd="",a.searchText="",a.folderClassName=function(){return!!angular.isFunction(s.getClassName)&&s.getClassName("bg")},a.templateName=function(t){return"UIx"+(e[0].getElementById("UIxAnonymousUserRightsEditor")&&t.$isAnonymous()?"Anonymous":"")+"UserRightsEditor"},a.userFilter=function(e){return o.$filter(e,s.$acl.users)},a.closeModal=function(){s.$acl.$resetUsersRights(),n.hide()},a.saveModal=function(){s.$acl.$saveUsersRights().then(function(){n.hide()},function(e,t){r.alert(l("Warning"),l("An error occured please try again."))})},a.confirmChange=function(e){var t=e.$confirmRights(a.folder);t&&(a.confirmation.showing=!0,a.confirmation.message=t)},a.removeUser=function(e){t(function(){s.$acl.$removeUser(e.uid)},500)},a.addUser=function(e){e&&s.$acl.$addUser(e).then(function(e){a.userToAdd="",a.searchText="",a.selectedUid=null,e&&c(e)})},a.selectAllRights=function(e){s.$acl.$selectAllRights(e)},a.selectUser=c,a.showRights=function(e){return a.selectedUid==e.uid&&!e.inactive},a.confirmation={showing:!1,message:""};function c(e,t){if(t&&t.target.parentNode.classList.contains("md-secondary"))return!1;a.selectedUid==e.uid?a.selectedUid=null:(a.selectedUid=e.uid,a.selectedUser=e,e.inactive||a.selectedUser.$rights())}}angular.module("SOGo.Common").controller("AclController",e)}(),function(){"use strict";e.$inject=["$rootScope","$scope","$timeout","$interval","$http","$window","$mdSidenav","$mdToast","$mdMedia","$log","sgConstant","sgSettings","Resource","Alarm"];function e(e,t,n,r,i,o,s,a,c,u,d,h,m,g){var p=new m(h.baseURL(),h.activeUser());this.$onInit=function(){t.isPopup=h.isPopup,t.activeUser=h.activeUser(),t.baseURL=h.baseURL(),t.leftIsClose=!c(d["gt-md"]),t.centerIsClose=!!o.centerIsClose&&!t.leftIsClose,t.currentDay=window.currentDay,n(function(){r(function(){i.get("../date").then(function(e){t.currentDay=e})},864e5)},1e3*window.currentDay.secondsBeforeTomorrow),t.$watch(function(){return c(d["gt-md"])},function(e){t.isGtMedium=e,e&&(t.leftIsClose=!1)}),e.$on("http:Error",f),h.activeUser("path").calendar&&g.getAlarms()},t.toggleLeft=function(){t.isGtMedium?t.leftIsClose=!t.leftIsClose:(t.leftIsClose=!s("left").isOpen(),t.leftIsClose&&angular.element(o).triggerHandler("resize"),s("left").toggle().then(function(){u.debug("toggle left is done")}))},t.toggleRight=function(){s("right").toggle().then(function(){u.debug("toggle right is done")})},t.toggleCenter=function(e){t.centerIsClose=!t.centerIsClose,e&&e.save&&p.post(null,"saveListState",{state:t.centerIsClose?"collapse":"rise"})};function f(e,t){var n;t.data&&t.data.message&&angular.isString(t.data.message)?n=t.data.message:t.status&&(n=t.statusText),n?a.show({template:["",' ',' error_outline '," "+l(n)+" ","
"," "].join(""),hideDelay:5e3,position:"top right"}):u.debug("untrap error")}}angular.module("SOGo.Common").controller("navController",e)}(),function(){"use strict";function e(e){this.folderId=e}e.factory=["$q","$timeout","sgSettings","Resource","User",function(t,n,r,i,o){return angular.extend(e,{$q:t,$timeout:n,$$resource:new i(r.activeUser("folderURL"),r.activeUser()),$User:o}),e}],angular.module("SOGo.Common").factory("Acl",e.factory),e.prototype.$users=function(t){var n,r=this,i=e.$q.defer();if(!this.users){return(angular.isDefined(t)?e.$$resource.userResource(t).fetch(this.folderId,"acls"):e.$$resource.fetch(this.folderId,"acls")).then(function(o){return r.users=[],angular.forEach(o.users,function(i){(n=new e.$User(i)).canSubscribeUser=n.isSubscribed,n.wasSubscribed=n.isSubscribed,n.$rights=angular.bind(n,n.$acl,r.folderId,t),r.users.push(n)}),i.resolve(r.users),r.users})}return i.resolve(this.users),i.promise},e.prototype.$addUser=function(t,n){var r=this,i=e.$q.defer(),o={uid:t.uid};if(!t.uid||_.indexOf(_.map(this.users,"uid"),t.uid)>-1)i.resolve();else{(angular.isDefined(n)?e.$$resource.userResource(n).fetch(this.folderId,"addUserInAcls",o):e.$$resource.fetch(this.folderId,"addUserInAcls",o)).then(function(){t.wasSubscribed=!1,t.userClass=t.isGroup?"normal-group":"normal-user",t.$rights=angular.bind(t,t.$acl,r.folderId,n),r.users.push(t),i.resolve(t)},function(e,t){i.reject(l("An error occured please try again."))})}return i.promise},e.prototype.$removeUser=function(t,n){var r=this,i={uid:t};return(angular.isDefined(n)?e.$$resource.userResource(n).fetch(this.folderId,"removeUserFromAcls",i):e.$$resource.fetch(this.folderId,"removeUserFromAcls",i)).then(function(){var e=_.indexOf(_.map(r.users,"uid"),t);e>=0&&(r.users[e].$shadowRights=null,r.users.splice(e,1))})},e.prototype.$selectAllRights=function(e){_.forEach(e.rights,function(t,n){angular.isNumber(e.rights[n])?e.rights[n]=1:e.rights[n]="Modifier"})},e.prototype.$resetUsersRights=function(){angular.forEach(this.users,function(e){e.$resetRights()})},e.prototype.$saveUsersRights=function(t){var n=this,r=e.$q.defer(),i=e.$q.defer(),o={action:"saveUserRights"},s=[];if(angular.forEach(this.users,function(e){e.$rightsAreDirty()&&s.push(e.$omit())}),s.length){(angular.isDefined(t)?e.$$resource.userResource(t).save(this.folderId,s,o):e.$$resource.save(this.folderId,s,o)).then(function(){angular.forEach(n.users,function(e){e.$rightsAreDirty()&&(e.$shadowRights=angular.copy(e.rights))}),r.resolve()},r.reject)}else r.resolve();return s=[],angular.forEach(this.users,function(e){!e.wasSubscribed&&e.isSubscribed&&s.push(e.uid)}),s.length?(o={uids:s.join(",")},e.$$resource.fetch(this.folderId,"subscribeUsers",o).then(function(){angular.forEach(n.users,function(e){e.wasSubscribed=e.isSubscribed}),i.resolve()},i.reject)):i.resolve(),e.$q.all([r.promise,i.promise])}}(),function(){"use strict";function e(){this.currentAlarm=null}e.getAlarms=function(){var t=this,n=new Date,r=Math.floor(n.getTime()/1e3);this.$$resource.fetch("","alarmslist?browserTime="+r).then(function(n){var r=n.alarms.sort(function(e,t){var n=parseInt(e[2]);return parseInt(t[2])-n});if(r.length>0){var i=r.pop(),o=new Date,s=Math.floor(o.getTime()/1e3),a=i[0]+"/"+i[1],l=parseInt(i[2]),c=l;l>0&&(c-=s);new Date(1e3*l);var u=angular.bind(t,e.showAlarm,a);t.currentAlarm&&t.$timeout.cancel(t.currentAlarm),t.currentAlarm=t.$timeout(u,1e3*c)}})},e.showAlarm=function(e){var t=this;this.$$resource.fetch(e,"?resetAlarm=yes").then(function(n){t.$toast.show({position:"top right",hideDelay:0,template:["",' ','
','
{{ summary }}
','
'," ",' {{ "Snooze for " | loc }} ',' ',' ',l("5 minutes")," ",' ',l("10 minutes")," ",' ',l("15 minutes")," ",' ',l("30 minutes")," ",' ',l("45 minutes")," ",' ',l("1 hour")," ",' ',l("1 day")," "," "," ",' ',l("Snooze")," ",' ',l("Close")," ","
","
","
"," "].join(""),locals:{url:e},controller:r}),r.$inject=["scope","$mdToast","url"];function r(e,r,i){e.summary=n.summary,e.reminder="10",e.close=function(){r.hide()},e.snooze=function(){t.$$resource.fetch(i,"view?snoozeAlarm="+e.reminder),r.hide()}}})},t.$inject=["$timeout","sgSettings","Resource","$mdToast"];function t(t,n,r,i){return angular.extend(e,{$timeout:t,$$resource:new r(n.activeUser("folderURL")+"Calendar",n.activeUser()),$toast:i}),e}angular.module("SOGo.Common").factory("Alarm",t)}(),function(){"use strict";angular.module("SOGo.Authentication",["ngCookies"]).constant("passwordPolicyConfig",{PolicyPasswordChangeUnsupported:-3,PolicyPasswordSystemUnknown:-2,PolicyPasswordUnknown:-1,PolicyPasswordExpired:0,PolicyAccountLocked:1,PolicyChangeAfterReset:2,PolicyPasswordModNotAllowed:3,PolicyMustSupplyOldPassword:4,PolicyInsufficientPasswordQuality:5,PolicyPasswordTooShort:6,PolicyPasswordTooYoung:7,PolicyPasswordInHistory:8,PolicyNoError:65535}).provider("Authentication",function(){function e(e,t){var n,r,i,o,s,a;return n=e,t&&(n+="@"+t.value),r=""+window.location.href,"/"==(i=ApplicationBaseURL+encodeURIComponent(n))[0]&&(o=r.split("/"),s=o[2],a=o[0],i=a+"//"+s+i),r.startsWith(i)&&!r.endsWith("/logoff")?r:i}this.$get=t,t.$inject=["$q","$http","$cookies","passwordPolicyConfig"];function t(t,n,r,i){function o(){var e,t=null,n=r.get("0xHIGHFLYxSOGo");return n&&n.length>8&&(e=decodeURIComponent(n.substr(8)),t=e.base64decode().split(":")),t}return{login:function(r){var s,a=t.defer(),c=r.username,u=r.password,d=r.domain,h=r.rememberLogin?1:0;return r.loginSuffix&&!c.endsWith(r.loginSuffix)&&(c+=loginSuffix,d=!1),r.language&&"WONoSelectionString"!=r.language&&(s=r.language),n({method:"POST",url:"/SOGo/connect",data:{userName:c,password:u,domain:d,language:s,rememberLogin:h}}).then(function(t){var n=t.data,r=o();r?void 0!==n.expire&&void 0!==n.grace?n.expire<0&&n.grace>0?a.reject({grace:n.grace}):n.expire>0&&-1==n.grace?a.reject({expire:n.expire}):a.resolve({cn:n.cn,url:e(c,d)}):a.resolve({url:e(c,d)}):a.reject(l("cookiesNotEnabled"))},function(e){var t,n,r=e.data;r&&r.LDAPPasswordPolicyError?(n=r.LDAPPasswordPolicyError,t=n==i.PolicyNoError?l("Wrong username or password."):n==i.PolicyAccountLocked?l("Your account was locked due to too many failed attempts."):l("Login failed due to unhandled error case: ")+n):t=l("Unhandled error response"),a.reject({error:t})}),a.promise},changePassword:function(e){var s=t.defer(),a=o(),c=r.get("XSRF-TOKEN");return r.remove("XSRF-TOKEN",{path:"/SOGo/"}),n({method:"POST",url:"/SOGo/so/changePassword",headers:{"X-XSRF-TOKEN":c},data:{userName:a[0],password:a[1],newPassword:e}}).then(s.resolve,function(e){var t,n=e.data,o=n.LDAPPasswordPolicyError;o?o==i.PolicyNoError?t=l("Password change failed"):o==i.PolicyPasswordModNotAllowed?t=l("Password change failed - Permission denied"):o==i.PolicyInsufficientPasswordQuality?t=l("Password change failed - Insufficient password quality"):o==i.PolicyPasswordTooShort?t=l("Password change failed - Password is too short"):o==i.PolicyPasswordTooYoung?t=l("Password change failed - Password is too young"):o==i.PolicyPasswordInHistory?t=l("Password change failed - Password is in history"):(t=l("Unhandled policy error: %{0}").formatted(o),o=i.PolicyPasswordUnknown):(o=i.PolicyPasswordSystemUnknown,t=_("Unhandled error response")),r.put("XSRF-TOKEN",c,{path:"/SOGo/"}),s.reject(t)}),s.promise}}}})}(),function(){"use strict";function e(){}e.alert=function(e,t){var n=this.$modal.alert().title(e).htmlContent(t).ok(l("OK")).multiple(!0);this.$modal.show(n)},e.confirm=function(e,t,n){var r=this.$modal.confirm().title(e).htmlContent(t).ok(n&&n.ok?n.ok:l("OK")).cancel(n&&n.cancel?n.cancel:l("Cancel"));return this.$modal.show(r)},e.prompt=function(e,t,n){var r=n||{},i=e.asCSSIdentifier(),o=this.$q.defer();this.$modal.show({parent:angular.element(document.body),clickOutsideToClose:!0,escapeToClose:!0,template:['',' "," "].join(""),controller:s}),s.$inject=["scope","$mdDialog"];function s(t,n){t.title=e,t.name="",t.cancel=function(){o.reject(),n.hide()},t.ok=function(){o.resolve(t.name),n.hide()}}return o.promise},t.$inject=["$q","$mdDialog"];function t(t,n){return angular.extend(e,{$q:t,$modal:n}),e}angular.module("SOGo.Common").factory("Dialog",t)}(),function(){"use strict";angular.module("SOGo.Common").factory("Gravatar",function(){return function(e,t,n,r){var i,o,s,a=t,l=n;return e?((i=e.indexOf("<"))>=0&&(o=e.indexOf(">",i))>i&&(e=e.substring(i+1,o)),t||(a=48),s=e.md5(),l&&"none"!=l||(n=r&&r.no_404?"mm":"404"),"https://www.gravatar.com/avatar/"+s+"?s="+a+"&d="+n):""}})}(),function(){"use strict";function e(e,t,n,r,i){angular.extend(this,{_http:e,_q:t,_path:n,_activeUser:r}),angular.extend(this,i),this._path=this._path.replace(/\/$/,"")}e.$factory=["$http","$q",function(t,n){return function(r,i,o){return new e(t,n,r,i,o)}}],angular.module("SOGo.Common").factory("Resource",e.$factory),e.prototype.userResource=function(t){var n=_.compact(this._activeUser.folderURL.split("/"));return t&&n.splice(n.length-1,1,escape(t)),new e(this._http,this._q,"/"+n.join("/"),this._activeUser)},e.prototype.path=function(){var e=[this._path];return arguments.length>0&&Array.prototype.push.apply(e,Array.prototype.slice.call(arguments)),e.join("/")},e.prototype.fetch=function(e,t,n){var r=this._q.defer(),i=[this._path];return e&&i.push(e.split("/")),t&&i.push(t),i=_.compact(_.flatten(i)).join("/"),this._http({method:"GET",url:i,params:n}).then(function(e){return r.resolve(e.data)},r.reject),r.promise},e.prototype.newguid=function(e){var t=this._q.defer(),n=this._path+"/"+e+"/newguid";return this._http.get(n).then(function(e){return t.resolve(e.data)},t.reject),t.promise},e.prototype.create=function(e,t){var n=this._q.defer(),r=this._path+"/"+e;return this._http.post(r,{name:t}).then(function(e){return n.resolve(e.data)},n.reject),n.promise},e.prototype.post=function(e,t,n){var r=this._q.defer(),i=[this._path];return e&&i.push(e),t&&i.push(t),i=_.compact(_.flatten(i)).join("/"),this._http.post(i,n).then(function(e){return r.resolve(e.data)},r.reject),r.promise},e.prototype.save=function(e,t,n){var r=n&&n.action?n.action:"save";return this.post(e,r,t)},e.prototype.download=function(e,t,n,r){this._q.defer();var i=r&&r.type?r.type:"application/zip",o=[this._path];e&&o.push(e),t&&o.push(t),o=_.compact(_.flatten(o)).join("/");return this._http({method:"POST",url:o,data:n,headers:{accept:i},responseType:"arraybuffer",cache:!1,transformResponse:function(e,t,n){var o,s=null;if(n<200||n>299)throw new Error("Bad gateway");e&&(s=new Blob([e],{type:i})),r&&r.filename?o=r.filename:(a=t("content-disposition"))&&a.split(";")[1].trim().split("=")[1].replace(/"/g,"");var a;if(!saveAs)throw new Error("To use Resource.download, FileSaver.js must be loaded.");saveAs(s,o)}})},e.prototype.remove=function(e){var t=this._q.defer(),n=this._path+"/"+e+"/delete";return this._http.get(n).then(function(e){return t.resolve(e.data)},t.reject),t.promise}}(),function(){"use strict";e.$inject=["$rootScope","$timeout"];function e(e,t){return function(n){t(function(){e.$broadcast("sgFocusOn",n)})}}angular.module("SOGo.Common").factory("sgFocus",e)}(),function(){"use strict";e.$inject=["$mdDialog","$sgHotkeys"];function e(e,t){return angular.extend(t,{$modal:e}),new t}angular.module("SOGo.Common").service("sgHotkeys",e).provider("$sgHotkeys",function(){var e={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",19:"pause",20:"caps",27:"escape",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"insert",46:"delete",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9",106:"*",107:"+",109:"-",110:".",111:"/",112:"f1",113:"f2",114:"f3",115:"f4",116:"f5",117:"f6",118:"f7",119:"f8",120:"f9",121:"f10",122:"f11",123:"f12"},t={42:"*",63:"?"};this.$get=n,n.$inject=["$rootScope","$window"];function n(n,r){var i=function(e){this.id=e.id||guid(),this.key=e.key,this.description=e.description||null,this.context=e.context||null,this.callback=e.callback,this.preventInClass=e.preventInClass,this.args=e.args,this.onKeyUp=!1,this.key.length>1&&(this.lkey=l("key_"+this.key))};i.prototype.clone=function(){return new i(this)};var o=function(){this._hotkeys={},this._hotkeysUp={},this._preventIn=["INPUT","SELECT","TEXTAREA","MD-OPTION"],this._preventInClass=["md-chip-content"],this._onKeydown=this._onKeydown.bind(this),this._onKeyup=this._onKeyup.bind(this),this._onKeypress=this._onKeypress.bind(this),this.initialize()};return o.prototype.initialize=function(){this.registerHotkey(this.createHotkey({key:"?",description:l("Show or hide this help"),callback:this._toggleCheatSheet.bind(this)})),r.addEventListener("keydown",this._onKeydown,!0),r.addEventListener("keyup",this._onKeyup,!0),r.addEventListener("keypress",this._onKeypress,!0)},o.prototype._invokeHotkeyHandlers=function(e,t,n){for(var r=0,i=n.length;r=0;n--){var r=e.clone();r.key=e.key[n];var i=this._deregisterHotkey(r);void 0!==i&&t.push(i[0])}else t.push(this._deregisterHotkey(e));return t},o.prototype._validateHotkey=function(e){if(!(e instanceof i))throw new TypeError("Hotkeys: Expected a hotkey object be instance of HotKey")},o.prototype._registerKey=function(e){var t=this._hotkeys;return e.onKeyUp&&(t=this._hotkeysUp),t[e.key]=t[e.key]||[],t[e.key].push(e),e},o.prototype._registerKeys=function(e){var t=[];if(angular.isArray(e.key))for(var n=e.key.length-1;n>=0;n--){var r=e.clone();r.id=guid(),r.key=e.key[n],t.push(this._registerKey(r))}else t.push(this._registerKey(e));return t},o.prototype.registerHotkey=function(e){return this._validateHotkey(e),this._registerKeys(e)},o.prototype.registerHotkeyUp=function(e){this._validateHotkey(e),e.onKeyUp=!0,this._registerKeys(e)},o.prototype.createHotkey=function(e){if(null===e.key||void 0===e.key)throw new TypeError('HotKeys: Argument "key" is required');if(null===e.callback||void 0===e.callback)throw new TypeError('HotKeys: Argument "callback" is required');e.callback=(t=e.callback,function(e,r){n.$apply(function(){t.call(this,e,r)}.bind(this))});var t;return new i(e)},o.prototype.match=function(e,t){angular.isArray(t)||(t=[t]);var n=this.keyStringFromEvent(e);return Boolean(~t.indexOf(n))},o.prototype._toggleCheatSheet=function(){var e=this;this._cheatSheet?(o.$modal.hide(),this._cheatSheet=null):this._cheatSheet=o.$modal.show({clickOutsideToClose:!0,escapeToClose:!0,template:[""," "," ",' ',' '," {{keys[0].lkey || hotkey}} ","
"," {{keys[0].description}}"," "," "," "," "].join(""),controller:t,locals:{hotkeys:e._hotkeys}}).finally(function(){e._cheatSheet=null}),t.$inject=["$scope","hotkeys"];function t(e,t){e.hotkeys=t,e.closeDialog=function(){o.$modal.hide()}}},o}})}(),function(){"use strict";function e(e){e&&this.init(e)}e.factory=["$q","$log","sgSettings","Resource",function(t,n,r,i){return angular.extend(e,{$q:t,$log:n,$$resource:new i(r.activeUser("folderURL"),r.activeUser()),$query:"",$users:[]}),e}],angular.module("SOGo.Common").factory("User",e.factory),e.$filter=function(t,n,r){var i=e.$$resource,o={search:t};if(r&&r.dry)r&&r.uid&&(i=e.$$resource.userResource(r.uid));else{if(!t)return e.$users.splice(0,e.$users.length),e.$q.when(e.$users);if(e.$query==t)return e.$q.when(e.$users);e.$query=t}return i.fetch(null,"usersSearch",o).then(function(t){var i,o,s,a,l=function(e){return this.uid==e.uid};for(r?r.dry?a=[]:r.results&&(a=r.results):a=e.$users,i=n?_.filter(t.users,function(e){return!_.find(n,_.bind(l,e))}):t.users,o=a.length-1;o>=0;o--)s=a[o],_.find(i,_.bind(l,s))||a.splice(o,1);return _.forEach(i,function(t,n){if(_.isUndefined(_.find(a,_.bind(l,t)))){var r=new e(t);a.splice(n,0,r)}}),e.$log.debug(a),a})},e.prototype.init=function(e){angular.extend(this,e),this.$$shortFormat||(this.$$shortFormat=this.$shortFormat()),this.$$image||(this.$$image=this.image),this.$avatarIcon=this.$isGroup()||this.$isSpecial()?"group":"person",this.empty=" "},e.prototype.$fullname=function(){var e=this.cn||this.uid;return this.c_info&&(e+=" ("+this.c_info.split("\n").join("; ")+")"),e},e.prototype.$shortFormat=function(e){var t=this.$fullname(),n=this.c_email;return!(e&&!1===e.email)&&n&&t!=n&&(t+=" <"+n+">"),t},e.prototype.$acl=function(t,n){var r=this,i=e.$q.defer(),o={uid:this.uid};if(this.$shadowRights)i.resolve(this.rights);else{(angular.isDefined(n)?e.$$resource.userResource(n).fetch(t,"userRights",o):e.$$resource.fetch(t,"userRights",o)).then(function(e){return r.rights=e,r.$shadowRights=angular.copy(e),i.resolve(e),e})}return i.promise},e.prototype.$isGroup=function(){return this.isGroup||this.userClass&&"normal-group"==this.userClass},e.prototype.$isAnonymous=function(){return"anonymous"==this.uid},e.prototype.$isSpecial=function(){return this.userClass&&"public-user"==this.userClass},e.prototype.$confirmRights=function(e){var t=!1;return!this.$confirmation&&(_.some(_.values(this.rights))&&("anonymous"==this.uid?"AddressBook"==e.constructor.name?t=l('Potentially anyone on the Internet will be able to access your address book "%{0}", even if they do not have an account on this system. Is this information suitable for the public Internet?',e.name):"Calendar"==e.constructor.name&&(t=l('Potentially anyone on the Internet will be able to access your calendar "%{0}", even if they do not have an account on this system. Is this information suitable for the public Internet?',e.name)):"anyone"!=this.uid&&""!=this.uid||("AddressBook"==e.constructor.name?t=l('Any user with an account on this system will be able to access your address book "%{0}". Are you certain you trust them all?',e.name):"Calendar"==e.constructor.name?t=l('Any user with an account on this system will be able to access your calendar "%{0}". Are you certain you trust them all?',e.name):"Mailbox"==e.constructor.name&&(t=l('Any user with an account on this system will be able to access your mailbox "%{0}". Are you certain you trust them all?',e.name)))),this.$confirmation=t,t)},e.prototype.$rightsAreDirty=function(){return this.rights&&!_.isEqual(this.rights,this.$shadowRights)},e.prototype.$resetRights=function(e){var t=this;e?_.map(_.keys(this.rights),function(e){angular.isString(t.rights[e])?t.rights[e]="None":t.rights[e]=0}):this.$shadowRights&&(this.rights=angular.copy(this.$shadowRights))},e.prototype.$folders=function(t){var n=this,r=e.$q.defer(),i={type:t};return this.$$folders?r.resolve(this.$$folders):e.$$resource.userResource(this.uid).fetch(null,"foldersSearch",i).then(function(e){n.$$folders=e.folders,r.resolve(e.folders)}),r.promise},e.prototype.$omit=function(){var e={};return angular.forEach(this,function(t,n){"constructor"!=n&&"$"!=n[0]&&(e[n]=t)}),e},e.prototype.toString=function(){return"[User "+this.c_email+"]"}}(),function(){"use strict";e.$inject=["$scope","$element","$http","$q","Preferences","Gravatar"];function e(e,t,n,r,i,o){var s,a;s=this,e.$on("$destroy",function(){a&&t.off("click",a)}),e.$watch(function(){return s.email},function(e,t){e&&s.urlEmail!=e?(l(),i.defaults.SOGoGravatarEnabled&&function(e){var t=o(e,s.size,i.defaults.SOGoAlternateAvatar);n({method:"GET",url:t,cache:!0,headers:{Accept:"image/*"}}).then(function(){s.url||(s.url=t,s.urlEmail=e,c())},function(){l()})}(e)):e||l()}),"sg-src"in t[0].attributes&&e.$watch(function(){return s.src},function(e){e&&(s.url=e,s.urlEmail=""+s.email,t.addClass("sg-avatar-image--zoomable"),a=function(){t.toggleClass("sg-avatar-image--zoom")},t.on("click",a),c())});function l(){s.url=null,s.urlEmail=null,s.img.addClass("ng-hide"),s.genericImg.removeClass("ng-hide")}function c(){s.genericImg.addClass("ng-hide"),s.img.removeClass("ng-hide")}}angular.module("SOGo.Common").directive("sgAvatarImage",function(){return{restrict:"AE",scope:{},bindToController:{size:"@",email:"=sgEmail",src:"=sgSrc"},transclude:!0,template:['',"
",'
not_interested ','
',"
"].join(""),link:function(e,t,n,r){var i,o=t.find("img"),s=t.find("md-icon"),a=angular.element(s[0]),l=angular.element(s[1]);n.size&&(o.attr("width",n.size),o.attr("height",n.size),a.css("font-size",n.size+"px"),l.css("font-size",parseInt(.4*n.size)+"px")),angular.isDefined(n.ngDisabled)&&(i=e.$watch(n.ngDisabled,function(e){n.disabled&&l.css({display:"block"}),i()})),r.img=o,r.genericImg=a},controller:"sgAvatarImageController",controllerAs:"vm"}}).controller("sgAvatarImageController",e)}(),function(){"use strict";e.$inject=["$mdUtil","$animateCss","$$rAF"];function e(e,t,n){return{link:function(e,r){var i=r[0].querySelector(".sg-button-toggle"),o=i.querySelector(".sg-icon-toggle"),s="md-rotate-180-ccw",a=r[0].querySelector(".sg-block-toggle"),l=!1;i.classList.add("md-clickable"),angular.element(i).on("click",function(){(l=!l)?o.classList.add(s):o.classList.remove(s);l&&(a.style.visibility="visible");n(function(){var e=l?a.scrollHeight:0;t(angular.element(a),{easing:"cubic-bezier(0.35, 0, 0.25, 1)",to:{height:e+"px"},duration:.75}).start().then(function(){c()})})}),c();function c(){a.setAttribute("aria-hidden",!l),a.setAttribute("aria-expanded",l),l||(a.style.visibility="hidden")}}}}angular.module("SOGo.Common").directive("sgBlockToggle",e)}(),function(){"use strict";angular.module("SOGo.Common").directive("sgCheckmark",e),e.$inject=["$parse","$mdAria","$mdTheming","$mdUtil"];function e(e,t,n,r){var i="sg-checked";return{restrict:"E",replace:!0,transclude:!0,require:"?ngModel",template:[''," check "," "].join(""),compile:function(o,s){return o.on("click",function(e){this.hasAttribute("disabled")&&e.stopImmediatePropagation()}),function(o,s,a,l){var c=d(e,o,"sgTrueValue",a.sgTrueValue,!0),u=d(e,o,"sgFalseValue",a.sgFalseValue,!1);l=l||r.fakeNgModel(),n(s),t.expectWithText(s,"aria-label"),s.on("click",function(e){s[0].hasAttribute("disabled")||o.$apply(function(){var t=l.$viewValue==c?u:c;l.$setViewValue(t,e&&e.type),l.$render()})}),l.$render=function(){l.$viewValue==c?s.addClass(i):s.removeClass(i)};function d(e,t,n,r,i){var o;if(angular.isDefined(r)){if(!(o=e(r)).constant)throw Error("Expected constant expression for `"+n+"`, but saw `"+r+"`.");return o(t)}return i}}}}}}(),function(){"use strict";e.$inject=["$scope","$element","$mdPanel","sgColors"];function e(e,t,n,r){var i,o,s;this.$onInit=function(){i=this,o=t.controller("ngModel")},this.$postLink=function(){this.buttonIcon=t.find("md-icon"),o.$render=function(){a(o.$viewValue)}};function a(e){s=e,i.buttonIcon.css("color",s)}this.showPicker=function(e){for(var t=n.newPanelPosition().relativeTo(i.buttonIcon).addPanelPosition(n.xPosition.ALIGN_START,n.yPosition.ALIGN_TOPS),l=n.newPanelAnimation().openFrom(i.buttonIcon).duration(100).withAnimation(n.animation.FADE),c=[],u="",d=0;d",g&&(u+=' '),u+=""}var p={attachTo:angular.element(document.body),bindToController:!0,controller:f,controllerAs:"$menuCtrl",position:t,animation:l,targetEvent:e,template:['"].join(""),trapFocus:!0,clickOutsideToClose:!0,escapeToClose:!0,focusOnOpen:!0};n.open(p).then(function(e){e.panelEl.one("click",function(){e.close()})}),f.$inject=["mdPanelRef","$state","$mdDialog","User"];function f(e,t,n,r){this.setColor=function(e,t){e&&(_.forEach(e.currentTarget.parentElement.children,function(e){e.classList.remove("selected")}),e.currentTarget.classList.add("selected")),a(t),o.$setViewValue(t)}}}}angular.module("SOGo.Common").directive("sgColorPicker",function(){return{restrict:"E",require:"ngModel",template:[' '," format_color_fill "," "].join(""),controller:e,controllerAs:"$ctrl"}})}(),function(){"use strict";e.$inject=["$compile"];function e(e){return{restrict:"A",link:function(t,n,r){var i=t.$watch(function(e){return e.$eval(r.sgCompile)},function(r){n.html(r),e(n.contents())(t),i()})}}}angular.module("SOGo.Common").directive("sgCompile",e)}(),function(){"use strict";angular.module("SOGo.Common").directive("sgDatepickerReadonlyInput",function(){return{link:function(e,t,n,r){var i=e.$watch(function(){return t.find("input").eq(0)},function(e){e.length&&(i(),e.prop("disabled",!0),e.parent().addClass("sg-datepicker-readonly-input-container"))})},require:"mdDatepicker",restrict:"A"}})}(),function(){"use strict";e.$inject=["$parse","$rootScope","$document","$timeout","$log"];function e(e,t,n,r,i){return{restrict:"A",link:function(o,s,a){var l;r(function(){var t,n,r;t=e(a.sgDraggable)(o),n=a.sgDragStart?e(a.sgDragStart):null,r=a.sgDragCount?e(a.sgDragCount):null,l=new c(s,t,n,r)}),o.$on("$destroy",function(){l.$destroy()});function c(e,t,r,i){if(this.$element=e,this.folder=t,this.dragStart=r,this.count=i,this.helper=n.find("sg-draggable-helper"),!this.helper)throw Error("sg-draggable requires a sg-draggable-helper element.");this.bindedOnDragDetect=angular.bind(this,this.onDragDetect),this.bindedOnDrag=angular.bind(this,this.onDrag),this.$element.on("mousedown",this.bindedOnDragDetect)}c.prototype={dragHasStarted:!1,$destroy:function(){this.$element.off("mousedown",this.bindedOnDragDetect)},getDistanceFromStart:function(e){var t={x:this.startPosition.clientX-e.clientX,y:this.startPosition.clientY-e.clientY};return Math.sqrt(t.x*t.x+t.y*t.y)},onDragDetect:function(e){e.stopPropagation(),this.dragStart&&!this.dragStart(o)||(n.on("mousemove",this.bindedOnDrag),n.one("mouseup",angular.bind(this,this.onDragEnd)))},onDrag:function(e){var n;this.startPosition?!this.dragHasStarted&&this.getDistanceFromStart(e)>10&&(n=this.helper.find("sg-draggable-helper-counter"),this.dragHasStarted=!0,this.helper.removeClass("ng-hide"),this.count&&this.count(o)>1?n.text(this.count(o)).removeClass("ng-hide"):n.addClass("ng-hide"),i.debug("emit folder:dragstart"),t.$emit("folder:dragstart",this.folder)):this.startPosition={clientX:e.clientX,clientY:e.clientY},this.dragHasStarted&&(e.shiftKey||this.folder.isRemote?this.helper.addClass("sg-draggable-helper--copy"):this.helper.removeClass("sg-draggable-helper--copy"),this.helper.css({top:e.pageY+5+"px",left:e.pageX+5+"px"}))},onDragEnd:function(e){var r="move";this.startPosition=null,n.off("mousemove",this.bindedOnDrag),this.dragHasStarted&&((e.shiftKey||this.folder.isRemote)&&(r="copy"),i.debug("emit folder:dragend"),t.$emit("folder:dragend",this.folder,r),this.dragHasStarted=!1,this.helper.addClass("ng-hide"))}}}}}angular.module("SOGo.Common").directive("sgDraggable",e)}(),function(){"use strict";e.$inject=["$parse","$rootScope","$document","$timeout","$log"];function e(e,t,n,r,i){return{restrict:"A",link:function(n,r,i){var o,s,a,l,c=!1;if(!i.sgDrop)throw Error("sg-droppable requires a sg-drop action.");c=!1,s=e(i.sgDroppable),o=e(i.sgDrop),a=t.$on("folder:dragstart",function(e,t){s(n,{dragFolder:t})&&(r.on("mouseenter",u),r.on("mouseleave",d))}),l=t.$on("folder:dragend",function(e,t,i){r.off("mouseenter"),r.off("mouseleave"),c&&(angular.bind(r[0],d)(e),o(n,{dragFolder:t,dragMode:i}))}),n.$on("destroy",function(){a(),l()});function u(e){c=!0,r.addClass("sg-droppable-over")}function d(e){c=!1,this.classList.remove("sg-droppable-over"),r.off("mousemove")}}}}angular.module("SOGo.Common").directive("sgDroppable",e)}(),function(){"use strict";angular.module("SOGo.Common").directive("sgEnter",function(){return function(e,t,n){t.bind("keydown keypress",function(t){13===t.which&&(e.$apply(n.sgEnter),t.preventDefault())})}})}(),function(){"use strict";angular.module("SOGo.Common").directive("sgEscape",function(){return function(e,t,n){t.bind("keydown",function(t){27===t.keyCode&&e.$apply(n.sgEscape)})}})}(),function(){"use strict";angular.module("SOGo.Common").directive("sgFocusOn",function(){return function(e,t,n){e.$on("sgFocusOn",function(e,r){r===n.sgFocusOn&&(t[0].focus(),"function"==typeof t[0].select&&t[0].select())})}})}(),function(){"use strict";angular.module("SOGo.Common").directive("sgFolderStylesheet",function(){return{restrict:"E",require:"ngModel",scope:{ngModel:"="},replace:!0,bindToController:!0,controller:function(){this.contrast=contrast,this.transparent=function(e,t){var n=hexToRgb(e);return["rgba("+n.r,n.g,n.b,t+")"].join(",")}},controllerAs:"cssCtrl",template:['"].join("")}})}(),function(){"use strict";angular.module("SOGo.Common").directive("sgNoDirtyCheck",function(){return{restrict:"A",require:"ngModel",link:function(e,t,n,r){if(r){var i=r.$pristine&&!r.$dirty;i&&(r.$pristine=!1,r.$dirty=!0)}}}})}(),function(){"use strict";angular.module("SOGo.Common").directive("sgPlaceholder",function(){return{restrict:"A",scope:{placeholder:"=sgPlaceholder"},link:function(e,t,n){e.$watch("placeholder",function(){t[0].placeholder=e.placeholder})}}})}(),function(){"use strict";angular.module("SOGo.Common").directive("sgResetOnDisabled",function(){return{link:function(e,t,n,r){var i=e.$watch(function(){return t.find("input").eq(0)},function(e){e.length&&(i(),r.$scope.$watch("ctrl.isDisabled",function(e){e&&r.ngModelCtrl.$invalid&&r.$scope.$emit("md-calendar-change",r.date)}))})},require:"mdDatepicker",restrict:"A"}})}(),function(){"use strict";angular.module("SOGo.Common").directive("sgRippleClick",e),e.$inject=["$log","$timeout"];function e(e,t){return{restrict:"A",compile:function(n,r){return function(n,r,i){var o,s,a,l;for(l=r.attr("sg-ripple-click"),a=r[0].parentNode;a&&a.id!=l;)a=a.parentNode;a?(s=a.querySelector("sg-ripple-content"))?((o=a.querySelector("sg-ripple"))?o=angular.element(o):(o=angular.element(' '),a.appendChild(o[0]),s.classList.contains("ng-hide")||s.classList.add("ng-hide")),r.on("click",c),n.$on("$destroy",function(){r.off("click",c)})):e.error("sg-ripple-content not found inside #"+l):e.error("No parent element found with id "+l);function c(e){var n;r[0].hasAttribute("disabled")||(n=e.pageX&&e.pageY?{left:e.pageX,top:e.pageY}:e.target.getBoundingClientRect(),s.classList.contains("ng-hide")?(angular.element(a).css({overflow:"hidden",position:"relative"}),angular.element(s).css({top:a.scrollTop+"px"}),t(function(){o.css({top:n.top-a.offsetTop+a.scrollTop+"px",left:n.left-a.offsetLeft+"px",height:"400vmin",width:"400vmin"}),s.classList.remove("ng-hide")})):(o.css({top:n.top-a.offsetTop+a.scrollTop+"px",left:n.left-a.offsetLeft+"px",height:"0px",width:"0px"}),s.classList.add("ng-hide"),t(function(){angular.element(a).css({overflow:"",position:""})},800)))}}}}}}(),function(){"use strict";e.$inject=["$parse"];function e(e){return{restrict:"A",controller:"sgSearchController",controllerAs:"$sgSearchController",priority:1001,compile:function(t,n){t.find("md-input-container");var r=t.find("input"),i=t.find("md-select"),o=t.find("md-button");r.attr("ng-model","$sgSearchController.searchText"),r.attr("ng-model-options","$sgSearchController.searchTextOptions"),r.attr("ng-change","$sgSearchController.onChange()"),i&&(i.attr("ng-model","$sgSearchController.searchField"),i.attr("ng-change","$sgSearchController.onChange()"));o&&o.attr("sg-search-cancel")?(o.attr("ng-click",o.attr("sg-search-cancel")),o.removeAttr("sg-search-cancel")):o=null;return function(t,n,i,s){var a=n.find("button");s.formName=n.attr("name"),s.inputName=r.attr("name"),s.allowDot=e(n.attr("sg-allow-dot"))(t),s.fields=e(n.attr("sg-search-fields"))(t),s.doSearch=e(n.attr("sg-search")),o&&a&&a.on("click",s.cancelSearch)}}}}t.$inject=["$window","$scope","$element"];function t(e,t,n){var r=this;if(r.searchText=null,r.searchTextOptions={updateOn:"default blur",debounce:{default:300,blur:0}},n.attr("sg-search-fields"))var i=t.$watch(r.fields,function(e){r.searchField=_.clone(r.fields),i()});r.onChange=function(){var e=t[r.formName],n=e[r.inputName],i=n.$viewValue;(r.allowDot&&"."==i||e.$valid&&i)&&("."==i&&n.$setValidity("minlength",!0),r.doSearch(t,{searchText:i,searchField:r.searchField}))},r.cancelSearch=function(){r.searchText=null}}angular.module("SOGo.Common").controller("sgSearchController",t).directive("sgSearch",e).directive("sgSearch",function(){return{restrict:"A",priority:1e3,transclude:!0,compile:function(e,t){return function(e,t,n,r,i){i(function(e){t.append(e)})}}}})}(),function(){"use strict";angular.module("SOGo.Common").directive("sgSelectOnly",function(){return{link:function(e,t,n,r){var i=e.$watch(function(){return t.find("input").eq(0)},function(t){var n;t.length&&(i(),n=t.controller("ngModel"),t.on("blur",function(){r.scope.selectedItem||e.$applyAsync(n.$setValidity("required",!1))}))})},require:"mdAutocomplete",restrict:"A"}})}(),function(){"use strict";e.$inject=["User"];function e(e){return{restrict:"A",scope:{folderType:"@sgSubscribe",onFolderSelect:"&sgSubscribeOnSelect"},replace:!1,bindToController:!0,controller:n,controllerAs:"$sgSubscribeDialogController",link:t}}function t(e,t,n,r){t.find("input");t.on("click",r.showDialog)}n.$inject=["$mdDialog"];function n(e){var t=this;t.showDialog=function(){e.show({templateUrl:"../Contacts/UIxContactsUserFolders",clickOutsideToClose:!0,locals:{folderType:t.folderType,onFolderSelect:t.onFolderSelect},controller:r,controllerAs:"subscribe"})}}r.$inject=["$mdDialog","folderType","onFolderSelect","User"];function r(e,t,n,r){var i=this;i.selectedUser=null,i.users=[],i.searchTextOptions={updateOn:"default blur",debounce:{default:300,blur:0}},i.onChange=function(e){r.$filter(i.searchText,null,{results:i.users}).then(function(t){e.$setValidity("matches",t.length>0),e.$setTouched(),i.selectedUser&&_.isUndefined(_.find(t,function(e){return e.uid==i.selectedUser.uid}))&&(i.selectedUser=null)})},i.selectUser=function(e){i.selectedUser==i.users[e]?i.selectedUser=null:i.users[e].$folders(t).then(function(){i.selectedUser=i.users[e]})},i.selectFolder=function(e){n({folderData:e})},i.close=function(){e.hide()}}angular.module("SOGo.Common").directive("sgSubscribe",e)}(),function(){"use strict";angular.module("SOGo.Common").directive("sgTimePane",function(){return{template:['','
','
','
',' {{hour.displayName}} ',"
","
","
",'
','
','
',' {{minute.displayName}} ',"
","
","
",'
",'
',' ',"
","
"].join(""),scope:{},require:["ngModel","sgTimePane","?^mdInputContainer"],controller:t,controllerAs:"ctrl",bindToController:!0,link:function(e,t,n,r){var i=r[0],o=r[1],s=r[2];if(s)throw Error("sg-timepicker should not be placed inside md-input-container.");o.configureNgModel(i,o)}}});var e=0;t.$inject=["$element","$scope","$$mdDateUtil","$mdUtil","$mdConstant","$mdTheming","$$rAF","$attrs","$mdDateLocale"];function t(t,n,r,i,o,s,a,l,c){var u;s(t),this.$element=t,this.$scope=n,this.dateUtil=r,this.$mdUtil=i,this.keyCode=o.KEY_CODE,this.$$rAF=a,this.timePaneElement=t[0].querySelector(".sg-time-pane"),this.ngModelCtrl=null,this.SELECTED_TIME_CLASS="sg-time-selected",this.FOCUSED_TIME_CLASS="md-focus",this.id=e++,this.displayTime=null,this.selectedTime=null,this.isInitialized=!1,n.hours=[],n.hours[0]=[],n.hours[0][0]=[],n.hours[0][1]=[],n.hours[1]=[],n.hours[1][0]=[],n.hours[1][1]=[];for(var d=0;d<6;d++)n.hours[0][0][d]={id:"tp-"+this.id+"-hour-"+d,displayName:d<10?"0"+d:""+d,selected:!1},n.hours[0][1][d]={id:"tp-"+this.id+"-hour-"+(d+6),displayName:d+6<10?"0"+(d+6):""+(d+6),selected:!1},n.hours[1][0][d]={id:"tp-"+this.id+"-hour-"+(d+12),displayName:""+(d+12),selected:!1},n.hours[1][1][d]={id:"tp-"+this.id+"-hour-"+(d+18),displayName:""+(d+18),selected:!1};for(n.min5=[],n.min5[0]=[],n.min5[1]=[],d=0;d<6;d++)u=5*d,n.min5[0][d]={id:"tp-"+this.id+"-minute5-"+u,displayName:u<10?":0"+u:":"+u,selected:!0},n.min5[1][d]={id:"tp-"+this.id+"-minute5-"+(u+30),displayName:":"+(u+30),selected:!1};for(n.min1=[],d=0;d<12;d++){n.min1[d]=[];for(var h=0;h<5;h++)u=5*d+h,n.min1[d][h]={id:"tp-"+this.id+"-minute-"+u,displayName:u<10?":0"+u:":"+u,selected:!0}}n.show5min=!0,n.getToggleBtnLbl=function(){return n.is5min()?">>":"<<"},n.toggleManual5min=function(){n.manual5min=!n.is5min()},n.is5min=function(){return!0===n.manual5min||!1===n.manual5min?n.manual5min:n.show5min},l.tabindex||t.attr("tabindex","-1");var m=this;this.hourClickHandler=function(e){var t=new Date(m.displayTime);t.setHours(Number(e)),m.setNgModelValue(t,"hours")},n.hourClickHandler=this.hourClickHandler,this.minuteClickHandler=function(e){var t=e.substr(1),n=new Date(m.displayTime);n.setMinutes(Number(t)),m.setNgModelValue(n,"minutes")},n.minuteClickHandler=this.minuteClickHandler;var g=angular.bind(this,this.handleKeyEvent);angular.element(document.body).on("keydown",g),n.$on("$destroy",function(){angular.element(document.body).off("keydown",g)})}t.prototype.configureNgModel=function(e,t){var n=this;n.ngModelCtrl=e,n.$mdUtil.nextTick(function(){n.isInitialized=!0}),e.$render=function(){var e=this.$viewValue;n.$mdUtil.nextTick(function(){n.changeSelectedTime(e,t)})}},t.prototype.changeSelectedTime=function(e,t){var n=this.selectedTime;if(this.selectedTime=e,this.displayTime=new Date(e),n){var r=n.getHours(),i=document.getElementById("tp-"+t.id+"-hour-"+r);i&&(i.classList.remove(this.SELECTED_TIME_CLASS),i.setAttribute("aria-selected","false"));var o=n.getMinutes(),s=document.getElementById("tp-"+t.id+"-minute-"+o);s&&(s.classList.remove(this.SELECTED_TIME_CLASS),s.setAttribute("aria-selected","false"));var a=document.getElementById("tp-"+t.id+"-minute5-"+o);a&&(a.classList.remove(this.SELECTED_TIME_CLASS),a.setAttribute("aria-selected","false"))}if(e){var l,c=e.getHours(),u=document.getElementById("tp-"+t.id+"-hour-"+c);u&&(u.classList.add(this.SELECTED_TIME_CLASS),u.setAttribute("aria-selected","true"));var d=e.getMinutes();d%5==0?(t.$scope.show5min=!0,(l=document.getElementById("tp-"+t.id+"-minute5-"+d))&&(l.classList.add(this.SELECTED_TIME_CLASS),l.setAttribute("aria-selected","true"))):t.$scope.show5min=!1,(l=document.getElementById("tp-"+t.id+"-minute-"+d))&&(l.classList.add(this.SELECTED_TIME_CLASS),l.setAttribute("aria-selected","true"))}},t.prototype.setNgModelValue=function(e,t){return this.$scope.$emit("sg-time-pane-change",{date:e,changed:t}),this.ngModelCtrl.$setViewValue(e),this.ngModelCtrl.$render(),e},t.prototype.handleKeyEvent=function(e){var t=this;this.$scope.$apply(function(){return e.which==t.keyCode.ESCAPE||e.which==t.keyCode.TAB?(t.$scope.$emit("md-time-pane-close"),void(e.which==t.keyCode.TAB&&e.preventDefault())):e.which===t.keyCode.ENTER?(t.setNgModelValue(t.displayTime,"enter"),void e.preventDefault()):void 0})},t.prototype.focus=function(e,t){var n=e||this.selectedTime||this.today,r=this.timePaneElement.querySelector(".md-focus");if(r&&r.classList.remove(this.FOCUSED_TIME_CLASS),n){var i=n.getHours(),o=document.getElementById("tp-"+t.id+"-hour-"+i);o&&(o.classList.add(this.FOCUSED_TIME_CLASS),o.focus())}}}(),function(){"use strict";angular.module("SOGo.Common").directive("sgTimepicker",e),e.$inject=["$mdUtil","$mdAria"];function e(e,t){return{template:function(e,t){var n=t.ariaLabel||t.mdPlaceholder;return['',' access_time '," ",'",'"].join("")},require:["ngModel","sgTimepicker","?^form"],scope:{placeholder:"@mdPlaceholder"},controller:s,controllerAs:"ctrl",bindToController:!0,link:function(t,n,r,i){var o=i[0],s=i[1],a=i[2];e.parseAttributeBoolean(r.mdNoAsterisk);if(s.configureNgModel(o),a)var l=t.$watch(function(){return a.$submitted},function(e){e&&(s.updateErrorState(),l())})}}}var t="sg-timepicker-invalid",n="sg-timepicker-open",r={MIN5:{GTXS:192,XS:311},MIN1:{GTXS:384,XS:474}},i={GTXS:530,XS:294},o=/ipad|iphone|ipod|android/i;s.$inject=["$scope","$element","$attrs","$window","$mdConstant","$mdTheming","$mdUtil","$mdDateLocale","$$mdDateUtil","$$rAF","$mdMedia"];function s(e,t,n,r,i,s,a,l,c,u,d){this.$window=r,this.dateLocale=l,this.dateUtil=c,this.$mdConstant=i,this.$mdUtil=a,this.$$rAF=u,this.$mdMedia=d,this.documentElement=angular.element(document.documentElement),this.ngModelCtrl=null,this.inputElement=t[0].querySelector("input"),this.ngInputElement=angular.element(this.inputElement),this.inputContainer=t[0].querySelector(".sg-timepicker-input-container"),this.timePane=t[0].querySelector(".sg-timepicker-time-pane"),this.timeButton=t[0].querySelector(".sg-timepicker-button"),this.inputMask=angular.element(t[0].querySelector(".sg-timepicker-input-mask-opaque")),this.$element=t,this.$attrs=n,this.$scope=e,this.date=null,this.isFocused=!1,this.isDisabled=!1,this.setDisabled(t[0].disabled||angular.isString(n.disabled)),this.isTimeOpen=!1,this.timePaneOpenedFrom=null,this.timePaneId="sg-time-pane"+a.nextUid(),this.bodyClickHandler=angular.bind(this,this.handleBodyClick),this.windowEventName=o.test(navigator.userAgent||navigator.vendor||window.opera)?"orientationchange":"resize",this.windowEventHandler=a.debounce(angular.bind(this,this.closeTimePane),100),this.windowBlurHandler=angular.bind(this,this.handleWindowBlur),this.leftMargin=20,this.topMargin=null,n.tabindex?(this.ngInputElement.attr("tabindex",n.tabindex),n.$set("tabindex",null)):n.$set("tabindex","-1"),s(t),s(angular.element(this.timePane)),this.installPropertyInterceptors(),this.attachChangeListeners(),this.attachInteractionListeners();var h=this;e.$on("$destroy",function(){h.detachTimePane()})}s.prototype.configureNgModel=function(e){this.ngModelCtrl=e;var t=this;t.ngModelCtrl.$formatters.push(function(e){if(e&&!(e instanceof Date))throw Error("The ng-model for sg-timepicker must be a Date instance. Currently the model is a: "+typeof e);return t.time=e,t.inputElement.value=t.dateLocale.formatTime(e),t.resizeInputElement(),t.updateErrorState(),e}),e.$viewChangeListeners.unshift(angular.bind(this,this.updateErrorState))},s.prototype.attachChangeListeners=function(){var e=this;e.$scope.$on("sg-time-pane-change",function(n,r){var i=new Date(r.date);e.ngModelCtrl.$setViewValue(i),e.time=i,e.inputElement.value=e.dateLocale.formatTime(i),"minutes"==r.changed&&e.closeTimePane(),e.resizeInputElement(),e.inputContainer.classList.remove(t)}),e.ngInputElement.on("input",angular.bind(e,e.resizeInputElement));var n=angular.isDefined(this.debounceInterval)?this.debounceInterval:500;e.ngInputElement.on("input",e.$mdUtil.debounce(e.handleInputEvent,n,e))},s.prototype.attachInteractionListeners=function(){var e=this,t=this.$scope,n=this.$mdConstant.KEY_CODE;e.ngInputElement.on("keydown",function(r){r.altKey&&r.keyCode==n.DOWN_ARROW&&(e.openTimePane(r),t.$digest())}),t.$on("md-time-close",function(){e.closeTimePane()})},s.prototype.installPropertyInterceptors=function(){var e=this;if(this.$attrs.ngDisabled){var t=this.$scope.$parent;t&&t.$watch(this.$attrs.ngDisabled,function(t){e.setDisabled(t)})}Object.defineProperty(this,"placeholder",{get:function(){return e.inputElement.placeholder},set:function(t){e.inputElement.placeholder=t||""}})},s.prototype.setDisabled=function(e){this.isDisabled=e,this.inputElement.disabled=e,this.timeButton&&(this.timeButton.disabled=e)},s.prototype.updateErrorState=function(e){var n=e||this.date;this.clearErrorState(),this.dateUtil.isValidDate(n)||this.ngModelCtrl.$setValidity("valid",null===n),this.ngModelCtrl.$valid||this.inputContainer.classList.add(t)},s.prototype.clearErrorState=function(){this.inputContainer.classList.remove(t),["valid"].forEach(function(e){this.ngModelCtrl.$setValidity(e,!0)},this)},s.prototype.resizeInputElement=function(){this.inputElement.size=this.inputElement.value.length+3},s.prototype.handleInputEvent=function(e){var t=this.inputElement.value,n=t?this.dateLocale.parseTime(t):null;if(""===t||this.dateUtil.isValidDate(n)){var r=new Date(this.time);r.setHours(n.getHours()),r.setMinutes(n.getMinutes()),this.ngModelCtrl.$setViewValue(r),this.time=r}this.updateErrorState(n)},s.prototype.attachTimePane=function(){var e=this.timePane,t=document.body;e.style.transform="",this.$element.addClass(n),angular.element(t).addClass("md-datepicker-is-showing");var o=this.inputContainer.getBoundingClientRect(),s=t.getBoundingClientRect();(!this.topMargin||this.topMargin<0)&&(this.topMargin=(this.inputMask.parent().prop("clientHeight")-this.ngInputElement.prop("clientHeight"))/2);var a=o.top-s.top-this.topMargin,l=o.left-s.left-this.leftMargin,c=s.top<0&&0===t.scrollTop?-s.top:document.body.scrollTop,u=s.left<0&&0===t.scrollLeft?-s.left:document.body.scrollLeft,d=c+this.$window.innerHeight,h=u+this.$window.innerWidth;this.inputMask.css({position:"absolute",left:this.leftMargin+"px",top:this.topMargin+"px",width:o.width-1+"px",height:o.height-2+"px"});var m=this.$mdMedia("xs")?i.XS:i.GTXS;if(l+m>h){if(h-m>0)l=h-m;else{l=u;var g=this.$window.innerWidth/m;e.style.transform="scale("+g+")"}e.classList.add("sg-timepicker-pos-adjusted")}var p="object"==typeof this.time&&this.time.getMinutes()%5==0?"MIN5":"MIN1",f=this.$mdMedia("xs")?r[p].XS:r[p].GTXS;a+f>d&&d-f>c&&(a=d-f,e.classList.add("sg-timepicker-pos-adjusted")),e.style.left=l+"px",e.style.top=a+"px",document.body.appendChild(e),this.$$rAF(function(){e.classList.add("md-pane-open")})},s.prototype.detachTimePane=function(){this.$element.removeClass(n),angular.element(document.body).removeClass("md-datepicker-is-showing"),this.timePane.classList.remove("md-pane-open"),this.timePane.classList.remove("md-timepicker-pos-adjusted"),this.isTimeOpen&&this.$mdUtil.enableScrolling(),this.timePane.parentNode&&this.timePane.parentNode.removeChild(this.timePane)},s.prototype.openTimePane=function(e){if(!this.isTimeOpen&&!this.isDisabled){this.isTimeOpen=!0,this.timePaneOpenedFrom=e.target,this.$mdUtil.disableScrollAround(this.timePane),this.attachTimePane(),this.evalAttr("ngFocus");var t=this;this.$mdUtil.nextTick(function(){t.documentElement.on("click touchstart",t.bodyClickHandler)},!1),window.addEventListener(this.windowEventName,this.windowEventHandler)}},s.prototype.closeTimePane=function(){if(this.isTimeOpen){this.detachTimePane(),this.ngModelCtrl.$setTouched(),this.evalAttr("ngBlur"),this.documentElement.off("click touchstart",this.bodyClickHandler),window.removeEventListener(this.windowEventName,this.windowEventHandler),this.timePaneOpenedFrom.focus(),this.timePaneOpenedFrom=null,this.isTimeOpen=!1}},s.prototype.getTimePaneCtrl=function(){return angular.element(this.timePane.querySelector("sg-time-pane")).controller("sgTimePane")},s.prototype.focusTime=function(){var e=this;this.$mdUtil.nextTick(function(){var t=e.getTimePaneCtrl();e.getTimePaneCtrl().focus(null,t)},!1)},s.prototype.setFocused=function(e){e||this.ngModelCtrl.$setTouched(),this.evalAttr(e?"ngFocus":"ngBlur"),this.isFocused=e},s.prototype.handleBodyClick=function(e){if(this.isTimeOpen){this.$mdUtil.getClosest(e.target,"sg-time-pane")||this.closeTimePane(),this.$scope.$digest()}},s.prototype.handleWindowBlur=function(){this.inputFocusedOnWindowBlur=document.activeElement===this.inputElement},s.prototype.evalAttr=function(e){this.$attrs[e]&&this.$scope.$parent.$eval(this.$attrs[e])}}(),function(){"use strict";e.$inject=["$parse","$mdUtil","$mdColors"];function e(e,t,n){return{restrict:"A",require:["mdGridList","?ngModel"],compile:function(e,r){return function(i,o,s,a){var l,c,u,d,h,m=e.find("md-grid-tile"),g=[];for((c=a[1]||t.fakeNgModel()).$render=function(){var e=c.$viewValue;g=c.$viewValue,r.sgToggleGridAttr&&(d=r.sgToggleGridAttr,e=_.map(c.$viewValue,r.sgToggleGridAttr));_.forEach(m,function(t){var n=angular.element(t);_.includes(e,n.attr("value"))&&n.addClass("sg-active")}),c.$validate(),p(c.$invalid)},c.$isEmpty=function(e){return!e||0===e.length},h=function(){var e=angular.element(this),t=e.attr("value");e.toggleClass("sg-active"),function(e){var t=_.findIndex(g,function(t){return d?t[d]==e:t==e});if(t<0)if(d){var n={};n[d]=e,g.push(n)}else g.push(e);else g.splice(t,1);i.$apply(function(){c.$setViewValue(g),c.$setDirty(),c.$validate(),p(c.$invalid)})}(t)},u=0;u /g,">")},String.prototype._base64_keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",String.prototype.base64encode=function(){for(var e,t,n,r,i,o,s,a="",l=0,c=this.utf8encode();l>2,i=(3&e)<<4|(t=c.charCodeAt(l++))>>4,o=(15&t)<<2|(n=c.charCodeAt(l++))>>6,s=63&n,isNaN(t)?o=s=64:isNaN(n)&&(s=64),a=a+this._base64_keyStr.charAt(r)+this._base64_keyStr.charAt(i)+this._base64_keyStr.charAt(o)+this._base64_keyStr.charAt(s);return a},String.prototype.base64decode=function(){for(var e,t,n,r,i,o,s="",a=0,l=""+this;a>4,t=(15&r)<<4|(i=this._base64_keyStr.indexOf(l.charAt(a++)))>>2,n=(3&i)<<6|(o=this._base64_keyStr.indexOf(l.charAt(a++))),s+=String.fromCharCode(e),64!=i&&(s+=String.fromCharCode(t)),64!=o&&(s+=String.fromCharCode(n));return s},String.prototype.md5=function(){if(this.length){return function(e){function t(e,t){return e<>>32-t}function n(e,t){var n,r,i,o,s;return i=2147483648&e,o=2147483648&t,s=(1073741823&e)+(1073741823&t),(n=1073741824&e)&(r=1073741824&t)?2147483648^s^i^o:n|r?1073741824&s?3221225472^s^i^o:1073741824^s^i^o:s^i^o}function r(e,r,i,o,s,a,l){var c,u,d;return n(t(e=n(e,n(n((c=r,u=i,d=o,c&u|~c&d),s),l)),a),r)}function i(e,r,i,o,s,a,l){var c,u,d;return n(t(e=n(e,n(n((c=r,u=i,d=o,c&d|u&~d),s),l)),a),r)}function o(e,r,i,o,s,a,l){var c,u,d;return n(t(e=n(e,n(n((c=r,u=i,d=o,c^u^d),s),l)),a),r)}function s(e,r,i,o,s,a,l){var c,u,d;return n(t(e=n(e,n(n((c=r,u=i,d=o,u^(c|~d)),s),l)),a),r)}function a(e){var t,n="",r="";for(t=0;t<=3;t++)n+=(r="0"+(e>>>8*t&255).toString(16)).substr(r.length-2,2);return n}var l,c,u,d,h,m,g,p,f,y=Array();for(y=function(e){for(var t,n=e.length,r=n+8,i=16*((r-r%64)/64+1),o=Array(i-1),s=0,a=0;a>>29,o}(e=function(e){e=e.replace(/rn/g,"n");for(var t="",n=0;n127&&r<2048?(t+=String.fromCharCode(r>>6|192),t+=String.fromCharCode(63&r|128)):(t+=String.fromCharCode(r>>12|224),t+=String.fromCharCode(r>>6&63|128),t+=String.fromCharCode(63&r|128))}return t}(e)),m=1732584193,g=4023233417,p=2562383102,f=271733878,l=0;l=0&&(a.month=n),n>=0}],"%B":[/[^\d\s\.\/\-]{2,}/,function(t){var n=_.indexOf(_.map(e.months,_.toLower),_.toLower(t));return n>=0&&(a.month=n),n>=0}],"%y":[/\d\d/,function(e){var t=parseInt(s.getFullYear().toString().substring(2))+5;return a.year=parseInt(e),a.yearr){var i=n;n=r,r=i}for(var o=Math.round((r-n)/864e5)+1,s=0;s(n=this.getDay())&&(n+=7),n-t},Date.prototype.firstWeekOfYearForDate=function(e){var t,n,r;return t=e.firstWeekOfYear,(r=new Date(this.getTime())).setMonth(0),r.setDate(1),n=r.dayOfWeek(e),"First4DayWeek"==t?n<4?r.beginOfWeek(e.firstDayOfWeek):r.addDays(7).beginOfWeek(e.firstDayOfWeek):"FirstFullWeek"==t?0===n?r.beginOfWeek(e.firstDayOfWeek):r.addDays(7).beginOfWeek(e.firstDayOfWeek):r.beginOfWeek(e.firstDayOfWeek)},Date.prototype.getWeek=function(e){var t,n,r,i;return(i=new Date(this.getTime())).addDays(6),(t=i.firstWeekOfYearForDate(e)).getTime()0&&(t-=7);var n=this.beginOfDay();return n.setHours(12),n.addDays(t),n},Date.prototype.endOfWeek=function(e){var t=this.beginOfWeek(e);return t.addDays(6),t.setHours(23),t.setMinutes(59),t.setSeconds(59),t.setMilliseconds(999),t},Date.prototype.getDayString=function(){var e=this.getYear();e<1e3&&(e+=1900);var t=""+(this.getMonth()+1);1==t.length&&(t="0"+t),e+=t;var n=""+this.getDate();return 1==n.length&&(n="0"+n),e+=n},Date.prototype.getHourString=function(){var e=this.getHours()+"00";return 3==e.length&&(e="0"+e),e},Date.prototype.format=function(e,t){var n,r,i,o,s=[],a=/%[deaAmbByYUHIMp]/g,c={"%d":this.getDate(),"%e":this.getDate(),"%a":e.shortDays[this.getDay()],"%A":e.days[this.getDay()],"%m":this.getMonth()+1,"%b":e.shortMonths[this.getMonth()],"%B":e.months[this.getMonth()],"%y":this.getFullYear().toString().substring(2),"%Y":this.getFullYear(),"%U":this.getWeek(e),"%H":this.getHours(),"%M":this.getMinutes()};for(c["%I"]=c["%H"]>12?c["%H"]%12:c["%H"],c["%p"]=c["%H"]<12?l("AM"):l("PM"),c["%d"]=(c["%d"]<10?"0":"")+c["%d"],c["%e"]=(c["%e"]<10?" ":"")+c["%e"],c["%m"]=(c["%m"]<10?"0":"")+c["%m"],c["%H"]=(c["%H"]<10?"0":"")+c["%H"],c["%I"]=(c["%I"]<10?"0":"")+c["%I"],c["%M"]=(c["%M"]<10?"0":"")+c["%M"],n=t.replace(a,"\0").split("\0"),i=0,o=(r=t.match(a)).length;i<=o;i++)n.length&&s.push(n.shift()),s.push(c[r[i]]);return s.join("")};function l(){var e,t,n=arguments[0],r=n,i=arguments;for(labels[n]?r=labels[n]:clabels[n]&&(r=clabels[n]),e=1,t=0;e1&&(r=r.replace(/%((%)|s|d)/g,function(t){var n=null;if(t[2])n=t[2];else{switch(n=i[e],t){case"%d":n=parseFloat(n),isNaN(n)&&(n=0)}e++}return n})),r}function hexToRgb(e){var t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?{r:parseInt(t[1],16),g:parseInt(t[2],16),b:parseInt(t[3],16)}:null}function contrast(e){var t,n,r=1;if(t=hexToRgb(e)){n=[t.r/255,t.g/255,t.b/255];for(var i=0;i.179?"black":"white"}function guid(){function e(){return(65536*(1+Math.random())|0).toString(16).substring(1)}return(e()+e()+"-"+e()+"-4"+e().substr(0,3)+"-"+e()+"-"+e()+e()+e()).toLowerCase()}
+!function(){"use strict";angular.module("SOGo.Common",["ngAnimate","ngMessages","ngSanitize","ngMaterial","mdColors"]).value("sgSettings",{isPopup:document.body.classList.contains("popup"),baseURL:function(){return ApplicationBaseURL||null},resourcesURL:function(){return ResourcesURL||null},activeUser:function(e){var t={login:UserLogin||null,identification:UserIdentification||null,email:UserEmail||null,language:UserLanguage||null,folderURL:UserFolderURL||null,isSuperUser:IsSuperUser||null,path:{calendar:UserCalendarPath||null,contacts:UserContactsPath||null,mail:UserMailPath||null,preferences:UserPreferencesPath||null,administration:IsSuperUser?UserAdministrationPath:null,help:HelpURL||null,logoff:UserLogoffPath||null}};return e?t[e]:t},minimumSearchLength:function(){return angular.isNumber(minimumSearchLength)?minimumSearchLength:2}}).constant("sgColors",{selection:["#FFFFFF","#330033","#C0C0C0","#999999","#666666","#333333","#000000","#FFCCCC","#FF6666","#FF0000","#CC0000","#990000","#660000","#330000","#FFCC99","#FF9966","#FF9900","#FF6600","#CC6600","#993300","#663300","#FFFF99","#FFFF66","#FFCC66","#FFCC33","#CC9933","#996633","#663333","#FFFFCC","#FFFF33","#FFFF00","#FFCC00","#999900","#666600","#333300","#CCCCCC","#66FF99","#33FF33","#33CC00","#009900","#006600","#003300","#99FFFF","#33FFFF","#66CCCC","#00CCCC","#339999","#336666","#003333","#CCFFFF","#66FFFF","#33CCFF","#3366FF","#3333FF","#000099","#000066","#CCCCFF","#9999FF","#6666CC","#6633FF","#6600CC","#333399","#330099","#FFCCFF","#FF99FF","#CC66CC","#CC33CC","#993399","#663366","#99FF99"]}).constant("sgConstant",{xs:"(max-width: 599px)","gt-xs":"(min-width: 600px)",sm:"(min-width: 600px) and (max-width: 959px)","gt-sm":"(min-width: 960px)",md:"(min-width: 960px) and (max-width: 1023px)","gt-md":"(min-width: 1024px)",lg:"(min-width: 1024px) and (max-width: 1279px)","gt-lg":"(min-width: 1280px)",xl:"(min-width: 1920px)",print:"print"}).config(e).factory("AuthInterceptor",t).factory("ErrorInterceptor",n),e.$inject=["$logProvider","$compileProvider","$httpProvider","$mdThemingProvider","$mdAriaProvider"];function e(e,t,n,r,i){r.definePalette("sogo-green",{50:"eaf5e9",100:"cbe5c8",200:"aad6a5",300:"88c781",400:"66b86a",500:"56b04c",600:"4da143",700:"388e3c",800:"367d2e",900:"225e1b",A100:"fafafa",A200:"69f0ae",A400:"00e676",A700:"00c853",contrastDefaultColor:"dark",contrastLightColors:["300","400","500","600","700","800","900"]}),r.definePalette("sogo-blue",{50:"f0faf9",100:"e1f5f3",200:"ceebe8",300:"bfe0dd",400:"b2d6d3",500:"a1ccc8",600:"8ebfbb",700:"7db3b0",800:"639997",900:"4d8080",A100:"d4f7fa",A200:"c3f5fa",A400:"53e3f0",A700:"00b0c0",contrastDefaultColor:"light",contrastDarkColors:["50","100","200"]}),r.definePalette("sogo-paper",{50:"fcf7f8",100:"f7f1dc",200:"ede5ca",300:"e6d8ba",400:"e2d2a3",500:"d6c48d",600:"baa870",700:"857545",800:"524517",900:"433809",1000:"000000",A100:"ffffff",A200:"eeeeee",A400:"bdbdbd",A700:"616161",contrastDefaultColor:"dark",contrastLightColors:["800","900"]});var o=r.extendPalette("grey",{600:"00B0C0"});r.definePalette("sogo-grey",o),r.theme("default").primaryPalette("sogo-blue",{default:"900","hue-1":"400","hue-2":"800","hue-3":"A700"}).accentPalette("sogo-green",{default:"500","hue-1":"A100","hue-2":"300","hue-3":"A700"}).backgroundPalette("sogo-grey"),DebugEnabled||(e.debugEnabled(!1),t.debugInfoEnabled(!1),i.disableWarnings(),r.generateThemesOnDemand(!0)),n.interceptors.push("AuthInterceptor"),n.interceptors.push("ErrorInterceptor")}t.$inject=["$window","$q"];function t(e,t){return{response:function(n){return n&&/^application\/json/.test(n.config.headers.Accept)&&/^[\n\r ]*/.test(n.data)?(e.location.reload(!0),t.reject()):n}}}n.$inject=["$rootScope","$window","$q","$injector"];function n(e,t,n,r){return{responseError:function(i){var o,s;if(/^application\/json/.test(i.config.headers.Accept)){if(t.usesCASAuthentication&&-1==i.status)return o=n.defer(),(s=angular.element('')).on("load",function(){r.get("$http")(i.config).then(o.resolve,o.reject),s.remove()}),document.body.appendChild(s[0]),o.promise;t.usesSAML2Authentication&&401==i.status?t.location.reload(!0):e.$broadcast("http:Error",i)}return n.reject(i)}}}}(),function(){"use strict";var e;angular.module("mdColors",["ngMaterial"]).config(t).run(n),t.$inject=["$mdThemingProvider"];function t(t){e=t}n.$inject=["$interpolate","$document","$log"];function n(t,n,r){function i(e){return e.join("")}for(var o=t(i([".md-{{theme}}-theme",".md-fg"])+" { color:{{value}};}"),s=t(i([".md-{{theme}}-theme",".md-bg"])+" { background-color:{{value}};}"),a=t(i([".md-{{theme}}-theme",".md-bdr"])+" { border-color:{{value}};}"),l=t(i([".md-{{theme}}-theme",".md-{{hue}}",".md-fg"])+" { color:{{value}};}"),c=t(i([".md-{{theme}}-theme",".md-{{hue}}",".md-bg"])+" { background-color:{{value}};}"),u=t(i([".md-{{theme}}-theme",".md-{{palette}}",".md-fg"])+" { color:{{value}};}"),d=t(i([".md-{{theme}}-theme",".md-{{palette}}",".md-bg"])+" { background-color:{{value}}; color:{{contrast}} !important; }"),h=t(i([".md-{{theme}}-theme",".md-{{palette}}",".md-bdr"])+" { border-color:{{value}};}"),m=t(i([".md-{{theme}}-theme",".md-{{palette}}.md-{{hue}}",".md-fg"])+" { color:{{value}};}"),g=t(i([".md-{{theme}}-theme",".md-{{palette}}.md-{{hue}}",".md-bg"])+" { background-color:{{value}};}"),p=function(){var e=n[0].head.querySelector('style[title="Dynamic-Generated-by-mdColors"]');null===e&&((e=n[0].createElement("style")).title="Dynamic-Generated-by-mdColors",e.appendChild(n[0].createTextNode("")),n[0].head.appendChild(e));return e.sheet}(),f=0;p.cssRules.length>0;)p.deleteRule(0);angular.forEach(e._THEMES,function(t,n){y(o,s,n,"primary",e._PALETTES[t.colors.primary.name][t.colors.primary.hues.default]),y(l,c,n,"primary",e._PALETTES[t.colors.primary.name][t.colors.primary.hues["hue-2"]],"hue-2"),y(l,c,n,"primary",e._PALETTES[t.colors.primary.name][t.colors.primary.hues["hue-3"]],"hue-3"),y(l,c,n,"primary",e._PALETTES[t.colors.primary.name][t.colors.primary.hues["hue-1"]],"hue-1"),v(a,n,"primary",e._PALETTES[t.colors.primary.name][t.colors.primary.hues.default]),angular.forEach(t.colors,function(t,r){y(u,d,n,r,e._PALETTES[t.name][t.hues.default]),v(h,n,r,e._PALETTES[t.name][t.hues.default]),y(m,g,n,r,e._PALETTES[t.name][t.hues["hue-2"]],"hue-2"),y(m,g,n,r,e._PALETTES[t.name][t.hues["hue-3"]],"hue-3"),y(m,g,n,r,e._PALETTES[t.name][t.hues["hue-1"]],"hue-1")})});function y(e,t,n,r,i,o){if(i){var s={theme:n,palette:r,value:"rgb("+i.value[0]+","+i.value[1]+","+i.value[2]+")",contrast:"rgb("+i.contrast[0]+","+i.contrast[1]+","+i.contrast[2]+")",hue:o};p.insertRule(e(s),f),f+=1,p.insertRule(t(s),f),f+=1}}function v(e,t,n,r,i){if(r){var o="rgb("+r.value[0]+","+r.value[1]+","+r.value[2]+")";p.insertRule(e({theme:t,palette:n,value:o,hue:i}),f),f+=1}}}}(),function(){"use strict";e.$inject=["$window"];function e(e){return e.decodeURIComponent}angular.module("SOGo.Common").filter("decodeUri",e)}(),function(){"use strict";e.$inject=["$window"];function e(e){return e.encodeURIComponent}angular.module("SOGo.Common").filter("encodeUri",e)}(),function(){"use strict";e.$inject=["$sce"];function e(e){return function(t){var n=angular.element(""+t+"
");return n.find("a").attr("target","_blank"),e.trustAs("html",n.html())}}angular.module("SOGo.Common").filter("ensureTarget",e)}(),function(){"use strict";angular.module("SOGo.Common").filter("loc",function(){return l})}(),function(){"use strict";angular.module("SOGo.Common").filter("range",function(){return function(e){for(var t=[],n=0;n"):void 0}}angular.module("SOGo.Common").filter("txt2html",e)}(),function(){"use strict";e.$inject=["$document","$timeout","$mdDialog","Dialog","usersWithACL","User","folder"];function e(e,t,n,r,i,o,s){var a=this;a.users=i,a.folder=s,a.selectedUser=null,a.selectedUid=null,a.userToAdd="",a.searchText="",a.folderClassName=function(){return!!angular.isFunction(s.getClassName)&&s.getClassName("bg")},a.templateName=function(t){return"UIx"+(e[0].getElementById("UIxAnonymousUserRightsEditor")&&t.$isAnonymous()?"Anonymous":"")+"UserRightsEditor"},a.userFilter=function(e){return o.$filter(e,s.$acl.users)},a.closeModal=function(){s.$acl.$resetUsersRights(),n.hide()},a.saveModal=function(){s.$acl.$saveUsersRights().then(function(){n.hide()},function(e,t){r.alert(l("Warning"),l("An error occured please try again."))})},a.confirmChange=function(e){var t=e.$confirmRights(a.folder);t&&(a.confirmation.showing=!0,a.confirmation.message=t)},a.removeUser=function(e){t(function(){s.$acl.$removeUser(e.uid)},500)},a.addUser=function(e){e&&s.$acl.$addUser(e).then(function(e){a.userToAdd="",a.searchText="",a.selectedUid=null,e&&c(e)})},a.selectAllRights=function(e){s.$acl.$selectAllRights(e)},a.selectUser=c,a.showRights=function(e){return a.selectedUid==e.uid&&!e.inactive},a.confirmation={showing:!1,message:""};function c(e,t){if(t&&t.target.parentNode.classList.contains("md-secondary"))return!1;a.selectedUid==e.uid?a.selectedUid=null:(a.selectedUid=e.uid,a.selectedUser=e,e.inactive||a.selectedUser.$rights())}}angular.module("SOGo.Common").controller("AclController",e)}(),function(){"use strict";e.$inject=["$rootScope","$scope","$timeout","$interval","$http","$window","$mdSidenav","$mdToast","$mdMedia","$log","sgConstant","sgSettings","Resource","Alarm"];function e(e,t,n,r,i,o,s,a,c,u,d,h,m,g){var p=new m(h.baseURL(),h.activeUser());this.$onInit=function(){t.isPopup=h.isPopup,t.activeUser=h.activeUser(),t.baseURL=h.baseURL(),t.leftIsClose=!c(d["gt-md"]),t.centerIsClose=!!o.centerIsClose&&!t.leftIsClose,t.currentDay=window.currentDay,n(function(){r(function(){i.get("../date").then(function(e){t.currentDay=e})},864e5)},1e3*window.currentDay.secondsBeforeTomorrow),t.$watch(function(){return c(d["gt-md"])},function(e){t.isGtMedium=e,e&&(t.leftIsClose=!1)}),e.$on("http:Error",f),h.activeUser("path").calendar&&g.getAlarms()},t.toggleLeft=function(){t.isGtMedium?t.leftIsClose=!t.leftIsClose:(t.leftIsClose=!s("left").isOpen(),t.leftIsClose&&angular.element(o).triggerHandler("resize"),s("left").toggle().then(function(){u.debug("toggle left is done")}))},t.toggleRight=function(){s("right").toggle().then(function(){u.debug("toggle right is done")})},t.toggleCenter=function(e){t.centerIsClose=!t.centerIsClose,e&&e.save&&p.post(null,"saveListState",{state:t.centerIsClose?"collapse":"rise"})};function f(e,t){var n;t.data&&t.data.message&&angular.isString(t.data.message)?n=t.data.message:t.status&&(n=t.statusText),n?a.show({template:["",' ',' error_outline '," "+l(n)+" ","
"," "].join(""),hideDelay:5e3,position:"top right"}):u.debug("untrap error")}}angular.module("SOGo.Common").controller("navController",e)}(),function(){"use strict";function e(e){this.folderId=e}e.factory=["$q","$timeout","sgSettings","Resource","User",function(t,n,r,i,o){return angular.extend(e,{$q:t,$timeout:n,$$resource:new i(r.activeUser("folderURL"),r.activeUser()),$User:o}),e}],angular.module("SOGo.Common").factory("Acl",e.factory),e.prototype.$users=function(t){var n,r=this,i=e.$q.defer();if(!this.users){return(angular.isDefined(t)?e.$$resource.userResource(t).fetch(this.folderId,"acls"):e.$$resource.fetch(this.folderId,"acls")).then(function(o){return r.users=[],angular.forEach(o.users,function(i){(n=new e.$User(i)).canSubscribeUser=n.isSubscribed,n.wasSubscribed=n.isSubscribed,n.$rights=angular.bind(n,n.$acl,r.folderId,t),r.users.push(n)}),i.resolve(r.users),r.users})}return i.resolve(this.users),i.promise},e.prototype.$addUser=function(t,n){var r=this,i=e.$q.defer(),o={uid:t.uid};if(!t.uid||_.indexOf(_.map(this.users,"uid"),t.uid)>-1)i.resolve();else{(angular.isDefined(n)?e.$$resource.userResource(n).fetch(this.folderId,"addUserInAcls",o):e.$$resource.fetch(this.folderId,"addUserInAcls",o)).then(function(){t.wasSubscribed=!1,t.userClass=t.isGroup?"normal-group":"normal-user",t.$rights=angular.bind(t,t.$acl,r.folderId,n),r.users.push(t),i.resolve(t)},function(e,t){i.reject(l("An error occured please try again."))})}return i.promise},e.prototype.$removeUser=function(t,n){var r=this,i={uid:t};return(angular.isDefined(n)?e.$$resource.userResource(n).fetch(this.folderId,"removeUserFromAcls",i):e.$$resource.fetch(this.folderId,"removeUserFromAcls",i)).then(function(){var e=_.indexOf(_.map(r.users,"uid"),t);e>=0&&(r.users[e].$shadowRights=null,r.users.splice(e,1))})},e.prototype.$selectAllRights=function(e){_.forEach(e.rights,function(t,n){angular.isNumber(e.rights[n])?e.rights[n]=1:e.rights[n]="Modifier"})},e.prototype.$resetUsersRights=function(){angular.forEach(this.users,function(e){e.$resetRights()})},e.prototype.$saveUsersRights=function(t){var n=this,r=e.$q.defer(),i=e.$q.defer(),o={action:"saveUserRights"},s=[];if(angular.forEach(this.users,function(e){e.$rightsAreDirty()&&s.push(e.$omit())}),s.length){(angular.isDefined(t)?e.$$resource.userResource(t).save(this.folderId,s,o):e.$$resource.save(this.folderId,s,o)).then(function(){angular.forEach(n.users,function(e){e.$rightsAreDirty()&&(e.$shadowRights=angular.copy(e.rights))}),r.resolve()},r.reject)}else r.resolve();return s=[],angular.forEach(this.users,function(e){!e.wasSubscribed&&e.isSubscribed&&s.push(e.uid)}),s.length?(o={uids:s.join(",")},e.$$resource.fetch(this.folderId,"subscribeUsers",o).then(function(){angular.forEach(n.users,function(e){e.wasSubscribed=e.isSubscribed}),i.resolve()},i.reject)):i.resolve(),e.$q.all([r.promise,i.promise])}}(),function(){"use strict";function e(){this.currentAlarm=null}e.getAlarms=function(){var t=this,n=new Date,r=Math.floor(n.getTime()/1e3);this.$$resource.fetch("","alarmslist?browserTime="+r).then(function(n){var r=n.alarms.sort(function(e,t){var n=parseInt(e[2]);return parseInt(t[2])-n});if(r.length>0){var i=r.pop(),o=new Date,s=Math.floor(o.getTime()/1e3),a=i[0]+"/"+i[1],l=parseInt(i[2]),c=l;l>0&&(c-=s);new Date(1e3*l);var u=angular.bind(t,e.showAlarm,a);t.currentAlarm&&t.$timeout.cancel(t.currentAlarm),t.currentAlarm=t.$timeout(u,1e3*c)}})},e.showAlarm=function(e){var t=this;this.$$resource.fetch(e,"?resetAlarm=yes").then(function(n){t.$toast.show({position:"top right",hideDelay:0,template:["",' ','
','
{{ summary }}
','
'," ",' {{ "Snooze for " | loc }} ',' ',' ',l("5 minutes")," ",' ',l("10 minutes")," ",' ',l("15 minutes")," ",' ',l("30 minutes")," ",' ',l("45 minutes")," ",' ',l("1 hour")," ",' ',l("1 day")," "," "," ",' ',l("Snooze")," ",' ',l("Close")," ","
","
","
"," "].join(""),locals:{url:e},controller:r}),r.$inject=["scope","$mdToast","url"];function r(e,r,i){e.summary=n.summary,e.reminder="10",e.close=function(){r.hide()},e.snooze=function(){t.$$resource.fetch(i,"view?snoozeAlarm="+e.reminder),r.hide()}}})},t.$inject=["$timeout","sgSettings","Resource","$mdToast"];function t(t,n,r,i){return angular.extend(e,{$timeout:t,$$resource:new r(n.activeUser("folderURL")+"Calendar",n.activeUser()),$toast:i}),e}angular.module("SOGo.Common").factory("Alarm",t)}(),function(){"use strict";angular.module("SOGo.Authentication",["ngCookies"]).constant("passwordPolicyConfig",{PolicyPasswordChangeUnsupported:-3,PolicyPasswordSystemUnknown:-2,PolicyPasswordUnknown:-1,PolicyPasswordExpired:0,PolicyAccountLocked:1,PolicyChangeAfterReset:2,PolicyPasswordModNotAllowed:3,PolicyMustSupplyOldPassword:4,PolicyInsufficientPasswordQuality:5,PolicyPasswordTooShort:6,PolicyPasswordTooYoung:7,PolicyPasswordInHistory:8,PolicyNoError:65535}).provider("Authentication",function(){function e(e,t){var n,r,i,o,s,a;return n=e,t&&(n+="@"+t.value),r=""+window.location.href,"/"==(i=ApplicationBaseURL+encodeURIComponent(n))[0]&&(o=r.split("/"),s=o[2],a=o[0],i=a+"//"+s+i),r.startsWith(i)&&!r.endsWith("/logoff")?r:i}this.$get=t,t.$inject=["$q","$http","$cookies","passwordPolicyConfig"];function t(t,n,r,i){function o(){var e,t=null,n=r.get("0xHIGHFLYxSOGo");return n&&n.length>8&&(e=decodeURIComponent(n.substr(8)),t=e.base64decode().split(":")),t}return{login:function(r){var s,a=t.defer(),c=r.username,u=r.password,d=r.domain,h=r.rememberLogin?1:0;return r.loginSuffix&&!c.endsWith(r.loginSuffix)&&(c+=loginSuffix,d=!1),r.language&&"WONoSelectionString"!=r.language&&(s=r.language),n({method:"POST",url:"/SOGo/connect",data:{userName:c,password:u,domain:d,language:s,rememberLogin:h}}).then(function(t){var n=t.data,r=o();r?void 0!==n.expire&&void 0!==n.grace?n.expire<0&&n.grace>0?a.reject({grace:n.grace}):n.expire>0&&-1==n.grace?a.reject({expire:n.expire}):a.resolve({cn:n.cn,url:e(c,d)}):a.resolve({url:e(c,d)}):a.reject(l("cookiesNotEnabled"))},function(e){var t,n,r=e.data;r&&r.LDAPPasswordPolicyError?(n=r.LDAPPasswordPolicyError,t=n==i.PolicyNoError?l("Wrong username or password."):n==i.PolicyAccountLocked?l("Your account was locked due to too many failed attempts."):l("Login failed due to unhandled error case: ")+n):t=l("Unhandled error response"),a.reject({error:t})}),a.promise},changePassword:function(e){var s=t.defer(),a=o(),c=r.get("XSRF-TOKEN");return r.remove("XSRF-TOKEN",{path:"/SOGo/"}),n({method:"POST",url:"/SOGo/so/changePassword",headers:{"X-XSRF-TOKEN":c},data:{userName:a[0],password:a[1],newPassword:e}}).then(s.resolve,function(e){var t,n=e.data,o=n.LDAPPasswordPolicyError;o?o==i.PolicyNoError?t=l("Password change failed"):o==i.PolicyPasswordModNotAllowed?t=l("Password change failed - Permission denied"):o==i.PolicyInsufficientPasswordQuality?t=l("Password change failed - Insufficient password quality"):o==i.PolicyPasswordTooShort?t=l("Password change failed - Password is too short"):o==i.PolicyPasswordTooYoung?t=l("Password change failed - Password is too young"):o==i.PolicyPasswordInHistory?t=l("Password change failed - Password is in history"):(t=l("Unhandled policy error: %{0}").formatted(o),o=i.PolicyPasswordUnknown):(o=i.PolicyPasswordSystemUnknown,t=_("Unhandled error response")),r.put("XSRF-TOKEN",c,{path:"/SOGo/"}),s.reject(t)}),s.promise}}}})}(),function(){"use strict";function e(){}e.alert=function(e,t){var n=this.$modal.alert().title(e).htmlContent(t).ok(l("OK")).multiple(!0);this.$modal.show(n)},e.confirm=function(e,t,n){var r=this.$modal.confirm().title(e).htmlContent(t).ok(n&&n.ok?n.ok:l("OK")).cancel(n&&n.cancel?n.cancel:l("Cancel"));return this.$modal.show(r)},e.prompt=function(e,t,n){var r=n||{},i=e.asCSSIdentifier(),o=this.$q.defer();this.$modal.show({parent:angular.element(document.body),clickOutsideToClose:!0,escapeToClose:!0,template:['',' "," "].join(""),controller:s}),s.$inject=["scope","$mdDialog"];function s(t,n){t.title=e,t.name="",t.cancel=function(){o.reject(),n.hide()},t.ok=function(){o.resolve(t.name),n.hide()}}return o.promise},t.$inject=["$q","$mdDialog"];function t(t,n){return angular.extend(e,{$q:t,$modal:n}),e}angular.module("SOGo.Common").factory("Dialog",t)}(),function(){"use strict";angular.module("SOGo.Common").factory("Gravatar",function(){return function(e,t,n,r){var i,o,s,a=t,l=n;return e?((i=e.indexOf("<"))>=0&&(o=e.indexOf(">",i))>i&&(e=e.substring(i+1,o)),t||(a=48),s=e.md5(),l&&"none"!=l||(n=r&&r.no_404?"mm":"404"),"https://www.gravatar.com/avatar/"+s+"?s="+a+"&d="+n):""}})}(),function(){"use strict";function e(e,t,n,r,i){angular.extend(this,{_http:e,_q:t,_path:n,_activeUser:r}),angular.extend(this,i),this._path=this._path.replace(/\/$/,"")}e.$factory=["$http","$q",function(t,n){return function(r,i,o){return new e(t,n,r,i,o)}}],angular.module("SOGo.Common").factory("Resource",e.$factory),e.prototype.userResource=function(t){var n=_.compact(this._activeUser.folderURL.split("/"));return t&&n.splice(n.length-1,1,escape(t)),new e(this._http,this._q,"/"+n.join("/"),this._activeUser)},e.prototype.path=function(){var e=[this._path];return arguments.length>0&&Array.prototype.push.apply(e,Array.prototype.slice.call(arguments)),e.join("/")},e.prototype.fetch=function(e,t,n){var r=this._q.defer(),i=[this._path];return e&&i.push(e.split("/")),t&&i.push(t),i=_.compact(_.flatten(i)).join("/"),this._http({method:"GET",url:i,params:n}).then(function(e){return r.resolve(e.data)},r.reject),r.promise},e.prototype.newguid=function(e){var t=this._q.defer(),n=this._path+"/"+e+"/newguid";return this._http.get(n).then(function(e){return t.resolve(e.data)},t.reject),t.promise},e.prototype.create=function(e,t){var n=this._q.defer(),r=this._path+"/"+e;return this._http.post(r,{name:t}).then(function(e){return n.resolve(e.data)},n.reject),n.promise},e.prototype.post=function(e,t,n){var r=this._q.defer(),i=[this._path];return e&&i.push(e),t&&i.push(t),i=_.compact(_.flatten(i)).join("/"),this._http.post(i,n).then(function(e){return r.resolve(e.data)},r.reject),r.promise},e.prototype.save=function(e,t,n){var r=n&&n.action?n.action:"save";return this.post(e,r,t)},e.prototype.download=function(e,t,n,r){this._q.defer();var i=r&&r.type?r.type:"application/zip",o=[this._path];e&&o.push(e),t&&o.push(t),o=_.compact(_.flatten(o)).join("/");return this._http({method:"POST",url:o,data:n,headers:{accept:i},responseType:"arraybuffer",cache:!1,transformResponse:function(e,t,n){var o,s=null;if(n<200||n>299)throw new Error("Bad gateway");e&&(s=new Blob([e],{type:i})),r&&r.filename?o=r.filename:(a=t("content-disposition"))&&a.split(";")[1].trim().split("=")[1].replace(/"/g,"");var a;if(!saveAs)throw new Error("To use Resource.download, FileSaver.js must be loaded.");saveAs(s,o)}})},e.prototype.remove=function(e){var t=this._q.defer(),n=this._path+"/"+e+"/delete";return this._http.get(n).then(function(e){return t.resolve(e.data)},t.reject),t.promise}}(),function(){"use strict";e.$inject=["$rootScope","$timeout"];function e(e,t){return function(n){t(function(){e.$broadcast("sgFocusOn",n)})}}angular.module("SOGo.Common").factory("sgFocus",e)}(),function(){"use strict";e.$inject=["$mdDialog","$sgHotkeys"];function e(e,t){return angular.extend(t,{$modal:e}),new t}angular.module("SOGo.Common").service("sgHotkeys",e).provider("$sgHotkeys",function(){var e={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",19:"pause",20:"caps",27:"escape",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"insert",46:"delete",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9",106:"*",107:"+",109:"-",110:".",111:"/",112:"f1",113:"f2",114:"f3",115:"f4",116:"f5",117:"f6",118:"f7",119:"f8",120:"f9",121:"f10",122:"f11",123:"f12"},t={42:"*",63:"?"};this.$get=n,n.$inject=["$rootScope","$window"];function n(n,r){var i=function(e){this.id=e.id||guid(),this.key=e.key,this.description=e.description||null,this.context=e.context||null,this.callback=e.callback,this.preventInClass=e.preventInClass,this.args=e.args,this.onKeyUp=!1,this.key.length>1&&(this.lkey=l("key_"+this.key))};i.prototype.clone=function(){return new i(this)};var o=function(){this._hotkeys={},this._hotkeysUp={},this._preventIn=["INPUT","SELECT","TEXTAREA","MD-OPTION"],this._preventInClass=["md-chip-content"],this._onKeydown=this._onKeydown.bind(this),this._onKeyup=this._onKeyup.bind(this),this._onKeypress=this._onKeypress.bind(this),this.initialize()};return o.prototype.initialize=function(){this.registerHotkey(this.createHotkey({key:"?",description:l("Show or hide this help"),callback:this._toggleCheatSheet.bind(this)})),r.addEventListener("keydown",this._onKeydown,!0),r.addEventListener("keyup",this._onKeyup,!0),r.addEventListener("keypress",this._onKeypress,!0)},o.prototype._invokeHotkeyHandlers=function(e,t,n){for(var r=0,i=n.length;r=0;n--){var r=e.clone();r.key=e.key[n];var i=this._deregisterHotkey(r);void 0!==i&&t.push(i[0])}else t.push(this._deregisterHotkey(e));return t},o.prototype._validateHotkey=function(e){if(!(e instanceof i))throw new TypeError("Hotkeys: Expected a hotkey object be instance of HotKey")},o.prototype._registerKey=function(e){var t=this._hotkeys;return e.onKeyUp&&(t=this._hotkeysUp),t[e.key]=t[e.key]||[],t[e.key].push(e),e},o.prototype._registerKeys=function(e){var t=[];if(angular.isArray(e.key))for(var n=e.key.length-1;n>=0;n--){var r=e.clone();r.id=guid(),r.key=e.key[n],t.push(this._registerKey(r))}else t.push(this._registerKey(e));return t},o.prototype.registerHotkey=function(e){return this._validateHotkey(e),this._registerKeys(e)},o.prototype.registerHotkeyUp=function(e){this._validateHotkey(e),e.onKeyUp=!0,this._registerKeys(e)},o.prototype.createHotkey=function(e){if(null===e.key||void 0===e.key)throw new TypeError('HotKeys: Argument "key" is required');if(null===e.callback||void 0===e.callback)throw new TypeError('HotKeys: Argument "callback" is required');e.callback=(t=e.callback,function(e,r){n.$apply(function(){t.call(this,e,r)}.bind(this))});var t;return new i(e)},o.prototype.match=function(e,t){angular.isArray(t)||(t=[t]);var n=this.keyStringFromEvent(e);return Boolean(~t.indexOf(n))},o.prototype._toggleCheatSheet=function(){var e=this;this._cheatSheet?(o.$modal.hide(),this._cheatSheet=null):this._cheatSheet=o.$modal.show({clickOutsideToClose:!0,escapeToClose:!0,template:[""," "," ",' ',' '," {{keys[0].lkey || hotkey}} ","
"," {{keys[0].description}}"," "," "," "," "].join(""),controller:t,locals:{hotkeys:e._hotkeys}}).finally(function(){e._cheatSheet=null}),t.$inject=["$scope","hotkeys"];function t(e,t){e.hotkeys=t,e.closeDialog=function(){o.$modal.hide()}}},o}})}(),function(){"use strict";function e(e){e&&this.init(e)}e.factory=["$q","$log","sgSettings","Resource",function(t,n,r,i){return angular.extend(e,{$q:t,$log:n,$$resource:new i(r.activeUser("folderURL"),r.activeUser()),$query:"",$users:[]}),e}],angular.module("SOGo.Common").factory("User",e.factory),e.$filter=function(t,n,r){var i=e.$$resource,o={search:t};if(r&&r.dry)r&&r.uid&&(i=e.$$resource.userResource(r.uid));else{if(!t)return e.$users.splice(0,e.$users.length),e.$q.when(e.$users);if(e.$query==t)return e.$q.when(e.$users);e.$query=t}return i.fetch(null,"usersSearch",o).then(function(t){var i,o,s,a,l=function(e){return this.uid==e.uid};for(r?r.dry?a=[]:r.results&&(a=r.results):a=e.$users,i=n?_.filter(t.users,function(e){return!_.find(n,_.bind(l,e))}):t.users,o=a.length-1;o>=0;o--)s=a[o],_.find(i,_.bind(l,s))||a.splice(o,1);return _.forEach(i,function(t,n){if(_.isUndefined(_.find(a,_.bind(l,t)))){var r=new e(t);a.splice(n,0,r)}}),e.$log.debug(a),a})},e.prototype.init=function(e){angular.extend(this,e),this.$$shortFormat||(this.$$shortFormat=this.$shortFormat()),this.$$image||(this.$$image=this.image),this.$avatarIcon=this.$isGroup()||this.$isSpecial()?"group":"person",this.empty=" "},e.prototype.$fullname=function(){var e=this.cn||this.uid;return this.c_info&&(e+=" ("+this.c_info.split("\n").join("; ")+")"),e},e.prototype.$shortFormat=function(e){var t=this.$fullname(),n=this.c_email;return!(e&&!1===e.email)&&n&&t!=n&&(t+=" <"+n+">"),t},e.prototype.$acl=function(t,n){var r=this,i=e.$q.defer(),o={uid:this.uid};if(this.$shadowRights)i.resolve(this.rights);else{(angular.isDefined(n)?e.$$resource.userResource(n).fetch(t,"userRights",o):e.$$resource.fetch(t,"userRights",o)).then(function(e){return r.rights=e,r.$shadowRights=angular.copy(e),i.resolve(e),e})}return i.promise},e.prototype.$isGroup=function(){return this.isGroup||this.userClass&&"normal-group"==this.userClass},e.prototype.$isAnonymous=function(){return"anonymous"==this.uid},e.prototype.$isSpecial=function(){return this.userClass&&"public-user"==this.userClass},e.prototype.$confirmRights=function(e){var t=!1;return!this.$confirmation&&(_.some(_.values(this.rights))&&("anonymous"==this.uid?"AddressBook"==e.constructor.name?t=l('Potentially anyone on the Internet will be able to access your address book "%{0}", even if they do not have an account on this system. Is this information suitable for the public Internet?',e.name):"Calendar"==e.constructor.name&&(t=l('Potentially anyone on the Internet will be able to access your calendar "%{0}", even if they do not have an account on this system. Is this information suitable for the public Internet?',e.name)):"anyone"!=this.uid&&""!=this.uid||("AddressBook"==e.constructor.name?t=l('Any user with an account on this system will be able to access your address book "%{0}". Are you certain you trust them all?',e.name):"Calendar"==e.constructor.name?t=l('Any user with an account on this system will be able to access your calendar "%{0}". Are you certain you trust them all?',e.name):"Mailbox"==e.constructor.name&&(t=l('Any user with an account on this system will be able to access your mailbox "%{0}". Are you certain you trust them all?',e.name)))),this.$confirmation=t,t)},e.prototype.$rightsAreDirty=function(){return this.rights&&!_.isEqual(this.rights,this.$shadowRights)},e.prototype.$resetRights=function(e){var t=this;e?_.map(_.keys(this.rights),function(e){angular.isString(t.rights[e])?t.rights[e]="None":t.rights[e]=0}):this.$shadowRights&&(this.rights=angular.copy(this.$shadowRights))},e.prototype.$folders=function(t){var n=this,r=e.$q.defer(),i={type:t};return this.$$folders?r.resolve(this.$$folders):e.$$resource.userResource(this.uid).fetch(null,"foldersSearch",i).then(function(e){n.$$folders=e.folders,r.resolve(e.folders)}),r.promise},e.prototype.$omit=function(){var e={};return angular.forEach(this,function(t,n){"constructor"!=n&&"$"!=n[0]&&(e[n]=t)}),e},e.prototype.toString=function(){return"[User "+this.c_email+"]"}}(),function(){"use strict";e.$inject=["$scope","$element","$http","$q","Preferences","Gravatar"];function e(e,t,n,r,i,o){var s,a;s=this,e.$on("$destroy",function(){a&&t.off("click",a)}),e.$watch(function(){return s.email},function(e,t){e&&s.urlEmail!=e?(l(),i.defaults.SOGoGravatarEnabled&&function(e){var t=o(e,s.size,i.defaults.SOGoAlternateAvatar);n({method:"GET",url:t,cache:!0,headers:{Accept:"image/*"}}).then(function(){s.url||(s.url=t,s.urlEmail=e,c())},function(){l()})}(e)):e||l()}),"sg-src"in t[0].attributes&&e.$watch(function(){return s.src},function(e){e&&(s.url=e,s.urlEmail=""+s.email,t.addClass("sg-avatar-image--zoomable"),a=function(){t.toggleClass("sg-avatar-image--zoom")},t.on("click",a),c())});function l(){s.url=null,s.urlEmail=null,s.img.addClass("ng-hide"),s.genericImg.removeClass("ng-hide")}function c(){s.genericImg.addClass("ng-hide"),s.img.removeClass("ng-hide")}}angular.module("SOGo.Common").directive("sgAvatarImage",function(){return{restrict:"AE",scope:{},bindToController:{size:"@",email:"=sgEmail",src:"=sgSrc"},transclude:!0,template:['',"
",'
not_interested ','
',"
"].join(""),link:function(e,t,n,r){var i,o=t.find("img"),s=t.find("md-icon"),a=angular.element(s[0]),l=angular.element(s[1]);n.size&&(o.attr("width",n.size),o.attr("height",n.size),a.css("font-size",n.size+"px"),l.css("font-size",parseInt(.4*n.size)+"px")),angular.isDefined(n.ngDisabled)&&(i=e.$watch(n.ngDisabled,function(e){n.disabled&&l.css({display:"block"}),i()})),r.img=o,r.genericImg=a},controller:"sgAvatarImageController",controllerAs:"vm"}}).controller("sgAvatarImageController",e)}(),function(){"use strict";e.$inject=["$mdUtil","$animateCss","$$rAF"];function e(e,t,n){return{link:function(e,r){var i=r[0].querySelector(".sg-button-toggle"),o=i.querySelector(".sg-icon-toggle"),s="md-rotate-180-ccw",a=r[0].querySelector(".sg-block-toggle"),l=!1;i.classList.add("md-clickable"),angular.element(i).on("click",function(){(l=!l)?o.classList.add(s):o.classList.remove(s);l&&(a.style.visibility="visible");n(function(){var e=l?a.scrollHeight:0;t(angular.element(a),{easing:"cubic-bezier(0.35, 0, 0.25, 1)",to:{height:e+"px"},duration:.75}).start().then(function(){c()})})}),c();function c(){a.setAttribute("aria-hidden",!l),a.setAttribute("aria-expanded",l),l||(a.style.visibility="hidden")}}}}angular.module("SOGo.Common").directive("sgBlockToggle",e)}(),function(){"use strict";angular.module("SOGo.Common").directive("sgCheckmark",e),e.$inject=["$parse","$mdAria","$mdTheming","$mdUtil"];function e(e,t,n,r){var i="sg-checked";return{restrict:"E",replace:!0,transclude:!0,require:"?ngModel",template:[''," check "," "].join(""),compile:function(o,s){return o.on("click",function(e){this.hasAttribute("disabled")&&e.stopImmediatePropagation()}),function(o,s,a,l){var c=d(e,o,"sgTrueValue",a.sgTrueValue,!0),u=d(e,o,"sgFalseValue",a.sgFalseValue,!1);l=l||r.fakeNgModel(),n(s),t.expectWithText(s,"aria-label"),s.on("click",function(e){s[0].hasAttribute("disabled")||o.$apply(function(){var t=l.$viewValue==c?u:c;l.$setViewValue(t,e&&e.type),l.$render()})}),l.$render=function(){l.$viewValue==c?s.addClass(i):s.removeClass(i)};function d(e,t,n,r,i){var o;if(angular.isDefined(r)){if(!(o=e(r)).constant)throw Error("Expected constant expression for `"+n+"`, but saw `"+r+"`.");return o(t)}return i}}}}}}(),function(){"use strict";e.$inject=["$scope","$element","$mdPanel","sgColors"];function e(e,t,n,r){var i,o,s;this.$onInit=function(){i=this,o=t.controller("ngModel")},this.$postLink=function(){this.buttonIcon=t.find("md-icon"),o.$render=function(){a(o.$viewValue)}};function a(e){s=e,i.buttonIcon.css("color",s)}this.showPicker=function(e){for(var t=n.newPanelPosition().relativeTo(i.buttonIcon).addPanelPosition(n.xPosition.ALIGN_START,n.yPosition.ALIGN_TOPS),l=n.newPanelAnimation().openFrom(i.buttonIcon).duration(100).withAnimation(n.animation.FADE),c=[],u="",d=0;d",g&&(u+=' '),u+=""}var p={attachTo:angular.element(document.body),bindToController:!0,controller:f,controllerAs:"$menuCtrl",position:t,animation:l,targetEvent:e,template:['"].join(""),trapFocus:!0,clickOutsideToClose:!0,escapeToClose:!0,focusOnOpen:!0};n.open(p).then(function(e){e.panelEl.one("click",function(){e.close()})}),f.$inject=["mdPanelRef","$state","$mdDialog","User"];function f(e,t,n,r){this.setColor=function(e,t){e&&(_.forEach(e.currentTarget.parentElement.children,function(e){e.classList.remove("selected")}),e.currentTarget.classList.add("selected")),a(t),o.$setViewValue(t)}}}}angular.module("SOGo.Common").directive("sgColorPicker",function(){return{restrict:"E",require:"ngModel",template:[' '," format_color_fill "," "].join(""),controller:e,controllerAs:"$ctrl"}})}(),function(){"use strict";e.$inject=["$compile"];function e(e){return{restrict:"A",link:function(t,n,r){var i=t.$watch(function(e){return e.$eval(r.sgCompile)},function(r){n.html(r),e(n.contents())(t),i()})}}}angular.module("SOGo.Common").directive("sgCompile",e)}(),function(){"use strict";angular.module("SOGo.Common").directive("sgDatepickerReadonlyInput",function(){return{link:function(e,t,n,r){var i=e.$watch(function(){return t.find("input").eq(0)},function(e){e.length&&(i(),e.prop("disabled",!0),e.parent().addClass("sg-datepicker-readonly-input-container"))})},require:"mdDatepicker",restrict:"A"}})}(),function(){"use strict";e.$inject=["$parse","$rootScope","$document","$timeout","$log"];function e(e,t,n,r,i){return{restrict:"A",link:function(o,s,a){var l;r(function(){var t,n,r;t=e(a.sgDraggable)(o),n=a.sgDragStart?e(a.sgDragStart):null,r=a.sgDragCount?e(a.sgDragCount):null,l=new c(s,t,n,r)}),o.$on("$destroy",function(){l.$destroy()});function c(e,t,r,i){if(this.$element=e,this.folder=t,this.dragStart=r,this.count=i,this.helper=n.find("sg-draggable-helper"),!this.helper)throw Error("sg-draggable requires a sg-draggable-helper element.");this.bindedOnDragDetect=angular.bind(this,this.onDragDetect),this.bindedOnDrag=angular.bind(this,this.onDrag),this.$element.on("mousedown",this.bindedOnDragDetect)}c.prototype={dragHasStarted:!1,$destroy:function(){this.$element.off("mousedown",this.bindedOnDragDetect)},getDistanceFromStart:function(e){var t={x:this.startPosition.clientX-e.clientX,y:this.startPosition.clientY-e.clientY};return Math.sqrt(t.x*t.x+t.y*t.y)},onDragDetect:function(e){e.stopPropagation(),this.dragStart&&!this.dragStart(o)||(n.on("mousemove",this.bindedOnDrag),n.one("mouseup",angular.bind(this,this.onDragEnd)))},onDrag:function(e){var n;this.startPosition?!this.dragHasStarted&&this.getDistanceFromStart(e)>10&&(n=this.helper.find("sg-draggable-helper-counter"),this.dragHasStarted=!0,this.helper.removeClass("ng-hide"),this.count&&this.count(o)>1?n.text(this.count(o)).removeClass("ng-hide"):n.addClass("ng-hide"),i.debug("emit folder:dragstart"),t.$emit("folder:dragstart",this.folder)):this.startPosition={clientX:e.clientX,clientY:e.clientY},this.dragHasStarted&&(e.shiftKey||this.folder.isRemote?this.helper.addClass("sg-draggable-helper--copy"):this.helper.removeClass("sg-draggable-helper--copy"),this.helper.css({top:e.pageY+5+"px",left:e.pageX+5+"px"}))},onDragEnd:function(e){var r="move";this.startPosition=null,n.off("mousemove",this.bindedOnDrag),this.dragHasStarted&&((e.shiftKey||this.folder.isRemote)&&(r="copy"),i.debug("emit folder:dragend"),t.$emit("folder:dragend",this.folder,r),this.dragHasStarted=!1,this.helper.addClass("ng-hide"))}}}}}angular.module("SOGo.Common").directive("sgDraggable",e)}(),function(){"use strict";e.$inject=["$parse","$rootScope","$document","$timeout","$log"];function e(e,t,n,r,i){return{restrict:"A",link:function(n,r,i){var o,s,a,l,c=!1;if(!i.sgDrop)throw Error("sg-droppable requires a sg-drop action.");c=!1,s=e(i.sgDroppable),o=e(i.sgDrop),a=t.$on("folder:dragstart",function(e,t){s(n,{dragFolder:t})&&(r.on("mouseenter",u),r.on("mouseleave",d))}),l=t.$on("folder:dragend",function(e,t,i){r.off("mouseenter"),r.off("mouseleave"),c&&(angular.bind(r[0],d)(e),o(n,{dragFolder:t,dragMode:i}))}),n.$on("destroy",function(){a(),l()});function u(e){c=!0,r.addClass("sg-droppable-over")}function d(e){c=!1,this.classList.remove("sg-droppable-over"),r.off("mousemove")}}}}angular.module("SOGo.Common").directive("sgDroppable",e)}(),function(){"use strict";angular.module("SOGo.Common").directive("sgEnter",function(){return function(e,t,n){t.bind("keydown keypress",function(t){13===t.which&&(e.$apply(n.sgEnter),t.preventDefault())})}})}(),function(){"use strict";angular.module("SOGo.Common").directive("sgEscape",function(){return function(e,t,n){t.bind("keydown",function(t){27===t.keyCode&&e.$apply(n.sgEscape)})}})}(),function(){"use strict";angular.module("SOGo.Common").directive("sgFocusOn",function(){return function(e,t,n){e.$on("sgFocusOn",function(e,r){r===n.sgFocusOn&&(t[0].focus(),"function"==typeof t[0].select&&t[0].select())})}})}(),function(){"use strict";angular.module("SOGo.Common").directive("sgFolderStylesheet",function(){return{restrict:"E",require:"ngModel",scope:{ngModel:"="},replace:!0,bindToController:!0,controller:function(){this.contrast=contrast,this.transparent=function(e,t){var n=hexToRgb(e);return["rgba("+n.r,n.g,n.b,t+")"].join(",")}},controllerAs:"cssCtrl",template:['"].join("")}})}(),function(){"use strict";angular.module("SOGo.Common").directive("sgNoDirtyCheck",function(){return{restrict:"A",require:"ngModel",link:function(e,t,n,r){if(r){var i=r.$pristine&&!r.$dirty;i&&(r.$pristine=!1,r.$dirty=!0)}}}})}(),function(){"use strict";angular.module("SOGo.Common").directive("sgPlaceholder",function(){return{restrict:"A",scope:{placeholder:"=sgPlaceholder"},link:function(e,t,n){e.$watch("placeholder",function(){t[0].placeholder=e.placeholder})}}})}(),function(){"use strict";angular.module("SOGo.Common").directive("sgResetOnDisabled",function(){return{link:function(e,t,n,r){var i=e.$watch(function(){return t.find("input").eq(0)},function(e){e.length&&(i(),r.$scope.$watch("ctrl.isDisabled",function(e){e&&r.ngModelCtrl.$invalid&&r.$scope.$emit("md-calendar-change",r.date)}))})},require:"mdDatepicker",restrict:"A"}})}(),function(){"use strict";angular.module("SOGo.Common").directive("sgRippleClick",e),e.$inject=["$log","$timeout"];function e(e,t){return{restrict:"A",compile:function(n,r){return function(n,r,i){var o,s,a,l;for(l=r.attr("sg-ripple-click"),a=r[0].parentNode;a&&a.id!=l;)a=a.parentNode;a?(s=a.querySelector("sg-ripple-content"))?((o=a.querySelector("sg-ripple"))?o=angular.element(o):(o=angular.element(' '),a.appendChild(o[0]),s.classList.contains("ng-hide")||s.classList.add("ng-hide")),r.on("click",c),n.$on("$destroy",function(){r.off("click",c)})):e.error("sg-ripple-content not found inside #"+l):e.error("No parent element found with id "+l);function c(e){var n;r[0].hasAttribute("disabled")||(n=e.pageX&&e.pageY?{left:e.pageX,top:e.pageY}:e.target.getBoundingClientRect(),s.classList.contains("ng-hide")?(angular.element(a).css({overflow:"hidden",position:"relative"}),angular.element(s).css({top:a.scrollTop+"px"}),t(function(){o.css({top:n.top-a.offsetTop+a.scrollTop+"px",left:n.left-a.offsetLeft+"px",height:"400vmin",width:"400vmin"}),s.classList.remove("ng-hide")})):(o.css({top:n.top-a.offsetTop+a.scrollTop+"px",left:n.left-a.offsetLeft+"px",height:"0px",width:"0px"}),s.classList.add("ng-hide"),t(function(){angular.element(a).css({overflow:"",position:""})},800)))}}}}}}(),function(){"use strict";e.$inject=["$parse"];function e(e){return{restrict:"A",controller:"sgSearchController",controllerAs:"$sgSearchController",priority:1001,compile:function(t,n){t.find("md-input-container");var r=t.find("input"),i=t.find("md-select"),o=t.find("md-button");r.attr("ng-model","$sgSearchController.searchText"),r.attr("ng-model-options","$sgSearchController.searchTextOptions"),r.attr("ng-change","$sgSearchController.onChange()"),i&&(i.attr("ng-model","$sgSearchController.searchField"),i.attr("ng-change","$sgSearchController.onChange()"));o&&o.attr("sg-search-cancel")?(o.attr("ng-click",o.attr("sg-search-cancel")),o.removeAttr("sg-search-cancel")):o=null;return function(t,n,i,s){var a=n.find("button");s.formName=n.attr("name"),s.inputName=r.attr("name"),s.allowDot=e(n.attr("sg-allow-dot"))(t),s.fields=e(n.attr("sg-search-fields"))(t),s.doSearch=e(n.attr("sg-search")),o&&a&&a.on("click",s.cancelSearch)}}}}t.$inject=["$window","$scope","$element"];function t(e,t,n){var r=this;if(r.searchText=null,r.searchTextOptions={updateOn:"default blur",debounce:{default:300,blur:0}},n.attr("sg-search-fields"))var i=t.$watch(r.fields,function(e){r.searchField=_.clone(r.fields),i()});r.onChange=function(){var e=t[r.formName],n=e[r.inputName],i=n.$viewValue;(r.allowDot&&"."==i||e.$valid&&i)&&("."==i&&n.$setValidity("minlength",!0),r.doSearch(t,{searchText:i,searchField:r.searchField}))},r.cancelSearch=function(){r.searchText=null}}angular.module("SOGo.Common").controller("sgSearchController",t).directive("sgSearch",e).directive("sgSearch",function(){return{restrict:"A",priority:1e3,transclude:!0,compile:function(e,t){return function(e,t,n,r,i){i(function(e){t.append(e)})}}}})}(),function(){"use strict";angular.module("SOGo.Common").directive("sgSelectOnly",function(){return{link:function(e,t,n,r){var i=e.$watch(function(){return t.find("input").eq(0)},function(t){var n;t.length&&(i(),n=t.controller("ngModel"),t.on("blur",function(){r.scope.selectedItem||e.$applyAsync(n.$setValidity("required",!1))}))})},require:"mdAutocomplete",restrict:"A"}})}(),function(){"use strict";e.$inject=["User"];function e(e){return{restrict:"A",scope:{folderType:"@sgSubscribe",onFolderSelect:"&sgSubscribeOnSelect"},replace:!1,bindToController:!0,controller:n,controllerAs:"$sgSubscribeDialogController",link:t}}function t(e,t,n,r){t.find("input");t.on("click",r.showDialog)}n.$inject=["$mdDialog"];function n(e){var t=this;t.showDialog=function(){e.show({templateUrl:"../Contacts/UIxContactsUserFolders",clickOutsideToClose:!0,locals:{folderType:t.folderType,onFolderSelect:t.onFolderSelect},controller:r,controllerAs:"subscribe"})}}r.$inject=["$mdDialog","folderType","onFolderSelect","User"];function r(e,t,n,r){var i=this;i.selectedUser=null,i.users=[],i.searchTextOptions={updateOn:"default blur",debounce:{default:300,blur:0}},i.onChange=function(e){r.$filter(i.searchText,null,{results:i.users}).then(function(t){e.$setValidity("matches",t.length>0),e.$setTouched(),i.selectedUser&&_.isUndefined(_.find(t,function(e){return e.uid==i.selectedUser.uid}))&&(i.selectedUser=null)})},i.selectUser=function(e){i.selectedUser==i.users[e]?i.selectedUser=null:i.users[e].$folders(t).then(function(){i.selectedUser=i.users[e]})},i.selectFolder=function(e){n({folderData:e})},i.close=function(){e.hide()}}angular.module("SOGo.Common").directive("sgSubscribe",e)}(),function(){"use strict";angular.module("SOGo.Common").directive("sgTimePane",function(){return{template:['','
','
','
',' {{hour.displayName}} ',"
","
","
",'
','
','
',' {{minute.displayName}} ',"
","
","
",'
",'
',' ',"
","
"].join(""),scope:{},require:["ngModel","sgTimePane","?^mdInputContainer"],controller:t,controllerAs:"ctrl",bindToController:!0,link:function(e,t,n,r){var i=r[0],o=r[1],s=r[2];if(s)throw Error("sg-timepicker should not be placed inside md-input-container.");o.configureNgModel(i,o)}}});var e=0;t.$inject=["$element","$scope","$$mdDateUtil","$mdUtil","$mdConstant","$mdTheming","$$rAF","$attrs","$mdDateLocale"];function t(t,n,r,i,o,s,a,l,c){var u;s(t),this.$element=t,this.$scope=n,this.dateUtil=r,this.$mdUtil=i,this.keyCode=o.KEY_CODE,this.$$rAF=a,this.timePaneElement=t[0].querySelector(".sg-time-pane"),this.ngModelCtrl=null,this.SELECTED_TIME_CLASS="sg-time-selected",this.FOCUSED_TIME_CLASS="md-focus",this.id=e++,this.displayTime=null,this.selectedTime=null,this.isInitialized=!1,n.hours=[],n.hours[0]=[],n.hours[0][0]=[],n.hours[0][1]=[],n.hours[1]=[],n.hours[1][0]=[],n.hours[1][1]=[];for(var d=0;d<6;d++)n.hours[0][0][d]={id:"tp-"+this.id+"-hour-"+d,displayName:d<10?"0"+d:""+d,selected:!1},n.hours[0][1][d]={id:"tp-"+this.id+"-hour-"+(d+6),displayName:d+6<10?"0"+(d+6):""+(d+6),selected:!1},n.hours[1][0][d]={id:"tp-"+this.id+"-hour-"+(d+12),displayName:""+(d+12),selected:!1},n.hours[1][1][d]={id:"tp-"+this.id+"-hour-"+(d+18),displayName:""+(d+18),selected:!1};for(n.min5=[],n.min5[0]=[],n.min5[1]=[],d=0;d<6;d++)u=5*d,n.min5[0][d]={id:"tp-"+this.id+"-minute5-"+u,displayName:u<10?":0"+u:":"+u,selected:!0},n.min5[1][d]={id:"tp-"+this.id+"-minute5-"+(u+30),displayName:":"+(u+30),selected:!1};for(n.min1=[],d=0;d<12;d++){n.min1[d]=[];for(var h=0;h<5;h++)u=5*d+h,n.min1[d][h]={id:"tp-"+this.id+"-minute-"+u,displayName:u<10?":0"+u:":"+u,selected:!0}}n.show5min=!0,n.getToggleBtnLbl=function(){return n.is5min()?">>":"<<"},n.toggleManual5min=function(){n.manual5min=!n.is5min()},n.is5min=function(){return!0===n.manual5min||!1===n.manual5min?n.manual5min:n.show5min},l.tabindex||t.attr("tabindex","-1");var m=this;this.hourClickHandler=function(e){var t=new Date(m.displayTime);t.setHours(Number(e)),m.setNgModelValue(t,"hours")},n.hourClickHandler=this.hourClickHandler,this.minuteClickHandler=function(e){var t=e.substr(1),n=new Date(m.displayTime);n.setMinutes(Number(t)),m.setNgModelValue(n,"minutes")},n.minuteClickHandler=this.minuteClickHandler;var g=angular.bind(this,this.handleKeyEvent);angular.element(document.body).on("keydown",g),n.$on("$destroy",function(){angular.element(document.body).off("keydown",g)})}t.prototype.configureNgModel=function(e,t){var n=this;n.ngModelCtrl=e,n.$mdUtil.nextTick(function(){n.isInitialized=!0}),e.$render=function(){var e=this.$viewValue;n.$mdUtil.nextTick(function(){n.changeSelectedTime(e,t)})}},t.prototype.changeSelectedTime=function(e,t){var n=this.selectedTime;if(this.selectedTime=e,this.displayTime=new Date(e),n){var r=n.getHours(),i=document.getElementById("tp-"+t.id+"-hour-"+r);i&&(i.classList.remove(this.SELECTED_TIME_CLASS),i.setAttribute("aria-selected","false"));var o=n.getMinutes(),s=document.getElementById("tp-"+t.id+"-minute-"+o);s&&(s.classList.remove(this.SELECTED_TIME_CLASS),s.setAttribute("aria-selected","false"));var a=document.getElementById("tp-"+t.id+"-minute5-"+o);a&&(a.classList.remove(this.SELECTED_TIME_CLASS),a.setAttribute("aria-selected","false"))}if(e){var l,c=e.getHours(),u=document.getElementById("tp-"+t.id+"-hour-"+c);u&&(u.classList.add(this.SELECTED_TIME_CLASS),u.setAttribute("aria-selected","true"));var d=e.getMinutes();d%5==0?(t.$scope.show5min=!0,(l=document.getElementById("tp-"+t.id+"-minute5-"+d))&&(l.classList.add(this.SELECTED_TIME_CLASS),l.setAttribute("aria-selected","true"))):t.$scope.show5min=!1,(l=document.getElementById("tp-"+t.id+"-minute-"+d))&&(l.classList.add(this.SELECTED_TIME_CLASS),l.setAttribute("aria-selected","true"))}},t.prototype.setNgModelValue=function(e,t){return this.$scope.$emit("sg-time-pane-change",{date:e,changed:t}),this.ngModelCtrl.$setViewValue(e),this.ngModelCtrl.$render(),e},t.prototype.handleKeyEvent=function(e){var t=this;this.$scope.$apply(function(){return e.which==t.keyCode.ESCAPE||e.which==t.keyCode.TAB?(t.$scope.$emit("md-time-pane-close"),void(e.which==t.keyCode.TAB&&e.preventDefault())):e.which===t.keyCode.ENTER?(t.setNgModelValue(t.displayTime,"enter"),void e.preventDefault()):void 0})},t.prototype.focus=function(e,t){var n=e||this.selectedTime||this.today,r=this.timePaneElement.querySelector(".md-focus");if(r&&r.classList.remove(this.FOCUSED_TIME_CLASS),n){var i=n.getHours(),o=document.getElementById("tp-"+t.id+"-hour-"+i);o&&(o.classList.add(this.FOCUSED_TIME_CLASS),o.focus())}}}(),function(){"use strict";angular.module("SOGo.Common").directive("sgTimepicker",e),e.$inject=["$mdUtil","$mdAria"];function e(e,t){return{template:function(e,t){var n=t.ariaLabel||t.mdPlaceholder;return['',' access_time '," ",'",'"].join("")},require:["ngModel","sgTimepicker","?^form"],scope:{placeholder:"@mdPlaceholder"},controller:s,controllerAs:"ctrl",bindToController:!0,link:function(t,n,r,i){var o=i[0],s=i[1],a=i[2];e.parseAttributeBoolean(r.mdNoAsterisk);if(s.configureNgModel(o),a)var l=t.$watch(function(){return a.$submitted},function(e){e&&(s.updateErrorState(),l())})}}}var t="sg-timepicker-invalid",n="sg-timepicker-open",r={MIN5:{GTXS:192,XS:311},MIN1:{GTXS:384,XS:474}},i={GTXS:530,XS:294},o=/ipad|iphone|ipod|android/i;s.$inject=["$scope","$element","$attrs","$window","$mdConstant","$mdTheming","$mdUtil","$mdDateLocale","$$mdDateUtil","$$rAF","$mdMedia"];function s(e,t,n,r,i,s,a,l,c,u,d){this.$window=r,this.dateLocale=l,this.dateUtil=c,this.$mdConstant=i,this.$mdUtil=a,this.$$rAF=u,this.$mdMedia=d,this.documentElement=angular.element(document.documentElement),this.ngModelCtrl=null,this.inputElement=t[0].querySelector("input"),this.ngInputElement=angular.element(this.inputElement),this.inputContainer=t[0].querySelector(".sg-timepicker-input-container"),this.timePane=t[0].querySelector(".sg-timepicker-time-pane"),this.timeButton=t[0].querySelector(".sg-timepicker-button"),this.inputMask=angular.element(t[0].querySelector(".sg-timepicker-input-mask-opaque")),this.$element=t,this.$attrs=n,this.$scope=e,this.date=null,this.isFocused=!1,this.isDisabled=!1,this.setDisabled(t[0].disabled||angular.isString(n.disabled)),this.isTimeOpen=!1,this.timePaneOpenedFrom=null,this.timePaneId="sg-time-pane"+a.nextUid(),this.bodyClickHandler=angular.bind(this,this.handleBodyClick),this.windowEventName=o.test(navigator.userAgent||navigator.vendor||window.opera)?"orientationchange":"resize",this.windowEventHandler=a.debounce(angular.bind(this,this.closeTimePane),100),this.windowBlurHandler=angular.bind(this,this.handleWindowBlur),this.leftMargin=20,this.topMargin=null,n.tabindex?(this.ngInputElement.attr("tabindex",n.tabindex),n.$set("tabindex",null)):n.$set("tabindex","-1"),s(t),s(angular.element(this.timePane)),this.installPropertyInterceptors(),this.attachChangeListeners(),this.attachInteractionListeners();var h=this;e.$on("$destroy",function(){h.detachTimePane()})}s.prototype.configureNgModel=function(e){this.ngModelCtrl=e;var t=this;t.ngModelCtrl.$formatters.push(function(e){if(e&&!(e instanceof Date))throw Error("The ng-model for sg-timepicker must be a Date instance. Currently the model is a: "+typeof e);return t.time=e,t.inputElement.value=t.dateLocale.formatTime(e),t.resizeInputElement(),t.updateErrorState(),e}),e.$viewChangeListeners.unshift(angular.bind(this,this.updateErrorState))},s.prototype.attachChangeListeners=function(){var e=this;e.$scope.$on("sg-time-pane-change",function(n,r){var i=new Date(r.date);e.ngModelCtrl.$setViewValue(i),e.time=i,e.inputElement.value=e.dateLocale.formatTime(i),"minutes"==r.changed&&e.closeTimePane(),e.resizeInputElement(),e.inputContainer.classList.remove(t)}),e.ngInputElement.on("input",angular.bind(e,e.resizeInputElement));var n=angular.isDefined(this.debounceInterval)?this.debounceInterval:500;e.ngInputElement.on("input",e.$mdUtil.debounce(e.handleInputEvent,n,e))},s.prototype.attachInteractionListeners=function(){var e=this,t=this.$scope,n=this.$mdConstant.KEY_CODE;e.ngInputElement.on("keydown",function(r){r.altKey&&r.keyCode==n.DOWN_ARROW&&(e.openTimePane(r),t.$digest())}),t.$on("md-time-close",function(){e.closeTimePane()})},s.prototype.installPropertyInterceptors=function(){var e=this;if(this.$attrs.ngDisabled){var t=this.$scope.$parent;t&&t.$watch(this.$attrs.ngDisabled,function(t){e.setDisabled(t)})}Object.defineProperty(this,"placeholder",{get:function(){return e.inputElement.placeholder},set:function(t){e.inputElement.placeholder=t||""}})},s.prototype.setDisabled=function(e){this.isDisabled=e,this.inputElement.disabled=e,this.timeButton&&(this.timeButton.disabled=e)},s.prototype.updateErrorState=function(e){var n=e||this.date;this.clearErrorState(),this.dateUtil.isValidDate(n)||this.ngModelCtrl.$setValidity("valid",null===n),this.ngModelCtrl.$valid||this.inputContainer.classList.add(t)},s.prototype.clearErrorState=function(){this.inputContainer.classList.remove(t),["valid"].forEach(function(e){this.ngModelCtrl.$setValidity(e,!0)},this)},s.prototype.resizeInputElement=function(){this.inputElement.size=this.inputElement.value.length+3},s.prototype.handleInputEvent=function(e){var t=this.inputElement.value,n=t?this.dateLocale.parseTime(t):null;if(""===t||this.dateUtil.isValidDate(n)){var r=new Date(this.time);r.setHours(n.getHours()),r.setMinutes(n.getMinutes()),this.ngModelCtrl.$setViewValue(r),this.time=r}this.updateErrorState(n)},s.prototype.attachTimePane=function(){var e=this.timePane,t=document.body;e.style.transform="",this.$element.addClass(n),angular.element(t).addClass("md-datepicker-is-showing");var o=this.inputContainer.getBoundingClientRect(),s=t.getBoundingClientRect();(!this.topMargin||this.topMargin<0)&&(this.topMargin=(this.inputMask.parent().prop("clientHeight")-this.ngInputElement.prop("clientHeight"))/2);var a=o.top-s.top-this.topMargin,l=o.left-s.left-this.leftMargin,c=s.top<0&&0===t.scrollTop?-s.top:document.body.scrollTop,u=s.left<0&&0===t.scrollLeft?-s.left:document.body.scrollLeft,d=c+this.$window.innerHeight,h=u+this.$window.innerWidth;this.inputMask.css({position:"absolute",left:this.leftMargin+"px",top:this.topMargin+"px",width:o.width-1+"px",height:o.height-2+"px"});var m=this.$mdMedia("xs")?i.XS:i.GTXS;if(l+m>h){if(h-m>0)l=h-m;else{l=u;var g=this.$window.innerWidth/m;e.style.transform="scale("+g+")"}e.classList.add("sg-timepicker-pos-adjusted")}var p="object"==typeof this.time&&this.time.getMinutes()%5==0?"MIN5":"MIN1",f=this.$mdMedia("xs")?r[p].XS:r[p].GTXS;a+f>d&&d-f>c&&(a=d-f,e.classList.add("sg-timepicker-pos-adjusted")),e.style.left=l+"px",e.style.top=a+"px",document.body.appendChild(e),this.$$rAF(function(){e.classList.add("md-pane-open")})},s.prototype.detachTimePane=function(){this.$element.removeClass(n),angular.element(document.body).removeClass("md-datepicker-is-showing"),this.timePane.classList.remove("md-pane-open"),this.timePane.classList.remove("md-timepicker-pos-adjusted"),this.isTimeOpen&&this.$mdUtil.enableScrolling(),this.timePane.parentNode&&this.timePane.parentNode.removeChild(this.timePane)},s.prototype.openTimePane=function(e){if(!this.isTimeOpen&&!this.isDisabled){this.isTimeOpen=!0,this.timePaneOpenedFrom=e.target,this.$mdUtil.disableScrollAround(this.timePane),this.attachTimePane(),this.evalAttr("ngFocus");var t=this;this.$mdUtil.nextTick(function(){t.documentElement.on("click touchstart",t.bodyClickHandler)},!1),window.addEventListener(this.windowEventName,this.windowEventHandler)}},s.prototype.closeTimePane=function(){if(this.isTimeOpen){this.detachTimePane(),this.ngModelCtrl.$setTouched(),this.evalAttr("ngBlur"),this.documentElement.off("click touchstart",this.bodyClickHandler),window.removeEventListener(this.windowEventName,this.windowEventHandler),this.timePaneOpenedFrom.focus(),this.timePaneOpenedFrom=null,this.isTimeOpen=!1}},s.prototype.getTimePaneCtrl=function(){return angular.element(this.timePane.querySelector("sg-time-pane")).controller("sgTimePane")},s.prototype.focusTime=function(){var e=this;this.$mdUtil.nextTick(function(){var t=e.getTimePaneCtrl();e.getTimePaneCtrl().focus(null,t)},!1)},s.prototype.setFocused=function(e){e||this.ngModelCtrl.$setTouched(),this.evalAttr(e?"ngFocus":"ngBlur"),this.isFocused=e},s.prototype.handleBodyClick=function(e){if(this.isTimeOpen){this.$mdUtil.getClosest(e.target,"sg-time-pane")||this.closeTimePane(),this.$scope.$digest()}},s.prototype.handleWindowBlur=function(){this.inputFocusedOnWindowBlur=document.activeElement===this.inputElement},s.prototype.evalAttr=function(e){this.$attrs[e]&&this.$scope.$parent.$eval(this.$attrs[e])}}(),function(){"use strict";e.$inject=["$parse","$mdUtil","$mdColors"];function e(e,t,n){return{restrict:"A",require:["mdGridList","?ngModel"],compile:function(e,r){return function(i,o,s,a){var l,c,u,d,h,m=e.find("md-grid-tile"),g=[];for((c=a[1]||t.fakeNgModel()).$render=function(){var e=c.$viewValue;g=c.$viewValue,r.sgToggleGridAttr&&(d=r.sgToggleGridAttr,e=_.map(c.$viewValue,r.sgToggleGridAttr));_.forEach(m,function(t){var n=angular.element(t);_.includes(e,n.attr("value"))&&n.addClass("sg-active")}),c.$validate(),p(c.$invalid)},c.$isEmpty=function(e){return!e||0===e.length},h=function(){var e=angular.element(this),t=e.attr("value");e.toggleClass("sg-active"),function(e){var t=_.findIndex(g,function(t){return d?t[d]==e:t==e});if(t<0)if(d){var n={};n[d]=e,g.push(n)}else g.push(e);else g.splice(t,1);i.$apply(function(){c.$setViewValue(g),c.$setDirty(),c.$validate(),p(c.$invalid)})}(t)},u=0;u /g,">")},String.prototype._base64_keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",String.prototype.base64encode=function(){for(var e,t,n,r,i,o,s,a="",l=0,c=this.utf8encode();l>2,i=(3&e)<<4|(t=c.charCodeAt(l++))>>4,o=(15&t)<<2|(n=c.charCodeAt(l++))>>6,s=63&n,isNaN(t)?o=s=64:isNaN(n)&&(s=64),a=a+this._base64_keyStr.charAt(r)+this._base64_keyStr.charAt(i)+this._base64_keyStr.charAt(o)+this._base64_keyStr.charAt(s);return a},String.prototype.base64decode=function(){for(var e,t,n,r,i,o,s="",a=0,l=""+this;a>4,t=(15&r)<<4|(i=this._base64_keyStr.indexOf(l.charAt(a++)))>>2,n=(3&i)<<6|(o=this._base64_keyStr.indexOf(l.charAt(a++))),s+=String.fromCharCode(e),64!=i&&(s+=String.fromCharCode(t)),64!=o&&(s+=String.fromCharCode(n));return s},String.prototype.md5=function(){if(this.length){return function(e){function t(e,t){return e<>>32-t}function n(e,t){var n,r,i,o,s;return i=2147483648&e,o=2147483648&t,s=(1073741823&e)+(1073741823&t),(n=1073741824&e)&(r=1073741824&t)?2147483648^s^i^o:n|r?1073741824&s?3221225472^s^i^o:1073741824^s^i^o:s^i^o}function r(e,r,i,o,s,a,l){var c,u,d;return n(t(e=n(e,n(n((c=r,u=i,d=o,c&u|~c&d),s),l)),a),r)}function i(e,r,i,o,s,a,l){var c,u,d;return n(t(e=n(e,n(n((c=r,u=i,d=o,c&d|u&~d),s),l)),a),r)}function o(e,r,i,o,s,a,l){var c,u,d;return n(t(e=n(e,n(n((c=r,u=i,d=o,c^u^d),s),l)),a),r)}function s(e,r,i,o,s,a,l){var c,u,d;return n(t(e=n(e,n(n((c=r,u=i,d=o,u^(c|~d)),s),l)),a),r)}function a(e){var t,n="",r="";for(t=0;t<=3;t++)n+=(r="0"+(e>>>8*t&255).toString(16)).substr(r.length-2,2);return n}var l,c,u,d,h,m,g,p,f,y=Array();for(y=function(e){for(var t,n=e.length,r=n+8,i=16*((r-r%64)/64+1),o=Array(i-1),s=0,a=0;a>>29,o}(e=function(e){e=e.replace(/rn/g,"n");for(var t="",n=0;n127&&r<2048?(t+=String.fromCharCode(r>>6|192),t+=String.fromCharCode(63&r|128)):(t+=String.fromCharCode(r>>12|224),t+=String.fromCharCode(r>>6&63|128),t+=String.fromCharCode(63&r|128))}return t}(e)),m=1732584193,g=4023233417,p=2562383102,f=271733878,l=0;l=0&&(a.month=n),n>=0}],"%B":[/[^\d\s\.\/\-]{2,}/,function(t){var n=_.indexOf(_.map(e.months,_.toLower),_.toLower(t));return n>=0&&(a.month=n),n>=0}],"%y":[/\d\d/,function(e){var t=parseInt(s.getFullYear().toString().substring(2))+5;return a.year=parseInt(e),a.yearr){var i=n;n=r,r=i}for(var o=Math.round((r-n)/864e5)+1,s=0;s(n=this.getDay())&&(n+=7),n-t},Date.prototype.firstWeekOfYearForDate=function(e){var t,n,r;return t=e.firstWeekOfYear,(r=new Date(this.getTime())).setMonth(0),r.setDate(1),n=r.dayOfWeek(e),"First4DayWeek"==t?n<4?r.beginOfWeek(e.firstDayOfWeek):r.addDays(7).beginOfWeek(e.firstDayOfWeek):"FirstFullWeek"==t?0===n?r.beginOfWeek(e.firstDayOfWeek):r.addDays(7).beginOfWeek(e.firstDayOfWeek):r.beginOfWeek(e.firstDayOfWeek)},Date.prototype.getWeek=function(e){var t,n,r,i;return(i=new Date(this.getTime())).addDays(6),(t=i.firstWeekOfYearForDate(e)).getTime()0&&(t-=7);var n=this.beginOfDay();return n.setHours(12),n.addDays(t),n},Date.prototype.endOfWeek=function(e){var t=this.beginOfWeek(e);return t.addDays(6),t.setHours(23),t.setMinutes(59),t.setSeconds(59),t.setMilliseconds(999),t},Date.prototype.getDayString=function(){var e=this.getYear();e<1e3&&(e+=1900);var t=""+(this.getMonth()+1);1==t.length&&(t="0"+t),e+=t;var n=""+this.getDate();return 1==n.length&&(n="0"+n),e+=n},Date.prototype.getHourString=function(){var e=this.getHours()+"00";return 3==e.length&&(e="0"+e),e},Date.prototype.format=function(e,t){var n,r,i,o,s=[],a=/%[deaAmbByYUHIMp]/g,c={"%d":this.getDate(),"%e":this.getDate(),"%a":e.shortDays[this.getDay()],"%A":e.days[this.getDay()],"%m":this.getMonth()+1,"%b":e.shortMonths[this.getMonth()],"%B":e.months[this.getMonth()],"%y":this.getFullYear().toString().substring(2),"%Y":this.getFullYear(),"%U":this.getWeek(e),"%H":this.getHours(),"%M":this.getMinutes()};for(c["%I"]=c["%H"]>12?c["%H"]%12:c["%H"],c["%p"]=c["%H"]<12?l("AM"):l("PM"),c["%d"]=(c["%d"]<10?"0":"")+c["%d"],c["%e"]=(c["%e"]<10?" ":"")+c["%e"],c["%m"]=(c["%m"]<10?"0":"")+c["%m"],c["%H"]=(c["%H"]<10?"0":"")+c["%H"],c["%I"]=(c["%I"]<10?"0":"")+c["%I"],c["%M"]=(c["%M"]<10?"0":"")+c["%M"],n=t.replace(a,"\0").split("\0"),i=0,o=(r=t.match(a)).length;i<=o;i++)n.length&&s.push(n.shift()),s.push(c[r[i]]);return s.join("")};function l(){var e,t,n=arguments[0],r=n,i=arguments;for(labels[n]?r=labels[n]:clabels[n]&&(r=clabels[n]),e=1,t=0;e1&&(r=r.replace(/%((%)|s|d)/g,function(t){var n=null;if(t[2])n=t[2];else{switch(n=i[e],t){case"%d":n=parseFloat(n),isNaN(n)&&(n=0)}e++}return n})),r}function hexToRgb(e){var t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?{r:parseInt(t[1],16),g:parseInt(t[2],16),b:parseInt(t[3],16)}:null}function contrast(e){var t,n,r=1;if(t=hexToRgb(e)){n=[t.r/255,t.g/255,t.b/255];for(var i=0;i.179?"black":"white"}function guid(){function e(){return(65536*(1+Math.random())|0).toString(16).substring(1)}return(e()+e()+"-"+e()+"-4"+e().substr(0,3)+"-"+e()+"-"+e()+e()+e()).toLowerCase()}
//# sourceMappingURL=Common.js.map
\ No newline at end of file
diff --git a/UI/WebServerResources/js/Common.js.map b/UI/WebServerResources/js/Common.js.map
index 1b5f0f641..6a9f31fd7 100644
--- a/UI/WebServerResources/js/Common.js.map
+++ b/UI/WebServerResources/js/Common.js.map
@@ -1 +1 @@
-{"version":3,"sources":["Common/Common.app.js","Common/mdColors.app.js","Common/decodeUri.filter.js","Common/encodeUri.filter.js","Common/ensureTarget.filter.js","Common/loc.filter.js","Common/range.filter.js","Common/txt2html.filter.js","Common/AclController.js","Common/navController.js","Common/Acl.service.js","Common/Alarm.service.js","Common/Authentication.service.js","Common/Dialog.service.js","Common/Gravatar.service.js","Common/Resource.service.js","Common/sgFocus.service.js","Common/sgHotkeys.service.js","Common/User.service.js","Common/sgAvatarImage.directive.js","Common/sgBlockToggle.directive.js","Common/sgCheckmark.directive.js","Common/sgColorPicker.directive.js","Common/sgCompile.directive.js","Common/sgDatepickerReadonlyInput.directive.js","Common/sgDraggable.directive.js","Common/sgDroppable.directive.js","Common/sgEnter.directive.js","Common/sgEscape.directive.js","Common/sgFocus.directive.js","Common/sgFolderStylesheet.directive.js","Common/sgNoDirtyCheck.directive.js","Common/sgPlaceholder.directive.js","Common/sgResetOnDisabled.directive.js","Common/sgRippleClick.directive.js","Common/sgSearch.directive.js","Common/sgSelectOnly.directive.js","Common/sgSubscribe.directive.js","Common/sgTimepicker.directive.js","Common/sgToggleGrid.directive.js","Common/utils.js"],"names":["angular","module","value","isPopup","document","body","classList","contains","baseURL","ApplicationBaseURL","resourcesURL","ResourcesURL","activeUser","param","settings","login","UserLogin","identification","UserIdentification","email","UserEmail","language","UserLanguage","folderURL","UserFolderURL","isSuperUser","IsSuperUser","path","calendar","UserCalendarPath","contacts","UserContactsPath","mail","UserMailPath","preferences","UserPreferencesPath","administration","UserAdministrationPath","help","HelpURL","logoff","UserLogoffPath","minimumSearchLength","isNumber","constant","selection","xs","gt-xs","sm","gt-sm","md","gt-md","lg","gt-lg","xl","print","config","configure","factory","AuthInterceptor","ErrorInterceptor","$inject","$logProvider","$compileProvider","$httpProvider","$mdThemingProvider","$mdAriaProvider","definePalette","50","100","200","300","400","500","600","700","800","900","A100","A200","A400","A700","contrastDefaultColor","contrastLightColors","contrastDarkColors","1000","greyMap","extendPalette","theme","primaryPalette","default","hue-1","hue-2","hue-3","accentPalette","backgroundPalette","DebugEnabled","debugEnabled","debugInfoEnabled","disableWarnings","generateThemesOnDemand","interceptors","push","$window","$q","response","test","headers","Accept","data","location","reload","reject","$rootScope","$injector","responseError","rejection","deferred","iframe","usesCASAuthentication","status","usesSAML2Authentication","defer","element","on","get","$http","then","resolve","remove","appendChild","promise","$broadcast","_$mdThemingProvider","run","runBlock","$interpolate","$document","$log","buildCssSelectors","selectors","join","fgDefault","bgDefault","bdrDefault","fgDefaultHue","bgDefaultHue","fgColor","bgColor","bdrColor","fgHue","bgHue","customSheet","style","head","querySelector","createElement","title","createTextNode","sheet","getStyleSheet","index","cssRules","length","deleteRule","forEach","_THEMES","themeName","addRule","_PALETTES","colors","primary","name","hues","addBorderRule","color","paletteName","fgInterpolate","bgInterpolate","colorArray","hueName","context","palette","contrast","hue","insertRule","bdrInterpolate","colorValue","decodeUri","decodeURIComponent","filter","encodeUri","encodeURIComponent","ensureTarget","$sce","tree","find","attr","trustAs","html","l","n","res","i","parseInt","txt2html","linkyFilter","text","String","replace","undefined","AclController","$timeout","$mdDialog","Dialog","usersWithACL","User","folder","vm","this","users","selectedUser","selectedUid","userToAdd","searchText","folderClassName","isFunction","getClassName","templateName","user","getElementById","$isAnonymous","userFilter","$query","$filter","$acl","closeModal","$resetUsersRights","hide","saveModal","$saveUsersRights","alert","confirmChange","confirmation","$confirmRights","showing","message","removeUser","$removeUser","uid","addUser","$addUser","selectUser","selectAllRights","$selectAllRights","showRights","inactive","$event","target","parentNode","$rights","controller","navController","$scope","$interval","$mdSidenav","$mdToast","$mdMedia","sgConstant","sgSettings","Resource","Alarm","resource","$onInit","leftIsClose","centerIsClose","currentDay","window","secondsBeforeTomorrow","$watch","newVal","isGtMedium","$on","onHttpError","getAlarms","toggleLeft","isOpen","triggerHandler","toggle","debug","toggleRight","toggleCenter","options","save","post","state","event","isString","statusText","show","template","hideDelay","position","Acl","folderId","Settings","extend","$$resource","$User","prototype","$users","owner","_this","isDefined","userResource","fetch","canSubscribeUser","isSubscribed","wasSubscribed","bind","_","indexOf","map","userClass","isGroup","$shadowRights","splice","rights","right","$resetRights","deferredSave","deferredSubscribe","action","$rightsAreDirty","$omit","copy","uids","all","currentAlarm","now","Date","browserTime","Math","floor","getTime","alarms","sort","a","b","x","next","pop","utc","url","alarmTime","delay","f","showAlarm","cancel","$toast","locals","AlarmController","scope","summary","reminder","close","snooze","AlarmService","PolicyPasswordChangeUnsupported","PolicyPasswordSystemUnknown","PolicyPasswordUnknown","PolicyPasswordExpired","PolicyAccountLocked","PolicyChangeAfterReset","PolicyPasswordModNotAllowed","PolicyMustSupplyOldPassword","PolicyInsufficientPasswordQuality","PolicyPasswordTooShort","PolicyPasswordTooYoung","PolicyPasswordInHistory","PolicyNoError","provider","redirectUrl","username","domain","userName","address","baseAddress","parts","hostpart","protocol","href","split","startsWith","endsWith","$get","getService","$cookies","passwordPolicyConfig","readLoginCookie","loginValues","cookie","substr","base64decode","d","password","rememberLogin","loginSuffix","method","loginCookie","expire","grace","cn","msg","perr","LDAPPasswordPolicyError","error","changePassword","newPassword","xsrfCookie","X-XSRF-TOKEN","formatted","put","content","$modal","htmlContent","ok","multiple","confirm","prompt","label","o","id","asCSSIdentifier","parent","clickOutsideToClose","escapeToClose","inputType","PromptDialogController","DialogService","size","alternate_avatar","y","hash","s","substring","md5","no_404","_http","_q","_path","_activeUser","$factory","compact","escape","arguments","Array","apply","slice","call","params","flatten","newguid","create","newValue","download","type","accept","responseType","cache","transformResponse","fileName","blob","Error","Blob","filename","header","trim","saveAs","sgFocus","sgHotkeys","$sgHotkeys","service","KEY_CODES","8","9","13","16","17","18","19","20","27","32","33","34","35","36","37","38","39","40","45","46","96","97","98","99","101","102","103","104","105","106","107","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","CHAR_CODES","42","63","HotKey","guid","key","description","callback","preventInClass","args","onKeyUp","lkey","clone","Hotkeys","_hotkeys","_hotkeysUp","_preventIn","_preventInClass","_onKeydown","_onKeyup","_onKeypress","initialize","registerHotkey","createHotkey","_toggleCheatSheet","addEventListener","_invokeHotkeyHandlers","keyString","hotkeys","hotkey","srcElement","nodeName","toUpperCase","includes","intersection","e","console","keyStringFromEvent","charCode","keyCode","which","result","fromCharCode","toLowerCase","ctrlKey","altKey","shiftKey","metaKey","uniq","_deregisterHotkey","ret","table","callbackArray","callbackData","deregisterHotkey","_validateHotkey","isArray","TypeError","_registerKey","_registerKeys","registerHotkeyUp","fn","$apply","match","eventHotkey","Boolean","_cheatSheet","CheatSheetController","finally","closeDialog","userData","init","search","excludedUsers","dry","when","results","compareUids","isUndefined","$$shortFormat","$shortFormat","$$image","image","$avatarIcon","$isGroup","$isSpecial","empty","$fullname","fullname","c_info","c_email","$confirmation","some","values","constructor","isEqual","zero","keys","$folders","$$folders","folders","toString","sgAvatarImageController","$element","Preferences","Gravatar","toggleZoomFcn","off","old","urlEmail","showGenericAvatar","defaults","SOGoGravatarEnabled","SOGoAlternateAvatar","hideGenericAvatar","getGravatar","attributes","src","addClass","toggleClass","img","genericImg","removeClass","directive","restrict","bindToController","transclude","link","attrs","deregisterWatcher","imgElement","mdIcons","mdIconElement","mdBadgeElement","css","ngDisabled","isDisabled","disabled","display","controllerAs","sgBlockToggle","$mdUtil","$animateCss","$$rAF","button","icon","icon_rotate_class","block","add","visibility","targetHeight","scrollHeight","easing","to","height","duration","start","renderContent","setAttribute","sgCheckmarkDirective","$parse","$mdAria","$mdTheming","CHECKED_CSS","require","compile","tElement","tAttrs","hasAttribute","stopImmediatePropagation","ngModelCtrl","trueValue","parseConstantExpr","sgTrueValue","falseValue","sgFalseValue","fakeNgModel","expectWithText","ev","viewValue","$viewValue","$setViewValue","$render","expression","fallback","parseFn","sgColorPickerController","$mdPanel","sgColors","$ctrl","ngModelController","$postLink","buttonIcon","updateColor","newColor","showPicker","panelPosition","newPanelPosition","relativeTo","addPanelPosition","xPosition","ALIGN_START","yPosition","ALIGN_TOPS","panelAnimation","newPanelAnimation","openFrom","withAnimation","animation","FADE","columns","column","currentColor","currentContrastColor","selected","attachTo","MenuController","targetEvent","trapFocus","focusOnOpen","open","panelRef","panelEl","one","mdPanelRef","$state","setColor","currentTarget","parentElement","children","tile","sgCompile","$compile","ensureCompileRunsOnce","$eval","contents","datepickerCtrl","listener","eq","input","prop","sgDraggable","dragStart","count","sgDragStart","sgDragCount","sgDraggableObject","$destroy","helper","bindedOnDragDetect","onDragDetect","bindedOnDrag","onDrag","dragHasStarted","getDistanceFromStart","delta","startPosition","clientX","clientY","sqrt","stopPropagation","onDragEnd","counter","$emit","isRemote","top","pageY","left","pageX","sgDroppable","dropAction","droppable","deregisterFolderDragStart","deregisterFolderDragEnd","overElement","sgDrop","dragFolder","onEnter","onLeave","mode","dragMode","sgEnter","preventDefault","elem","sgEscape","sgFocusOn","focus","select","ngModel","transparent","hex","ratio","hexToRgb","r","g","clean","$pristine","$dirty","placeholder","$invalid","date","sgRippleClick","ripple","container","containerId","coordinates","getBoundingClientRect","overflow","scrollTop","offsetTop","offsetLeft","width","sgSearchPreTransclude","priority","tAttr","inputEl","selectEl","buttonEl","removeAttr","iElement","iAttr","compiledButtonEl","formName","inputName","allowDot","fields","doSearch","cancelSearch","sgSearchController","searchTextOptions","updateOn","debounce","blur","waitforFieldsOnce","searchField","onChange","form","rawSearchText","$valid","$setValidity","append","autoComplete","selectedItem","$applyAsync","sgSubscribe","folderType","onFolderSelect","sgSubscribeDialogController","showDialog","templateUrl","sgSubscribeController","$setTouched","selectFolder","folderData","TimePaneCtrl","controllers","sgTimePaneCtrl","mdInputContainer","configureNgModel","nextUniqueId","$$mdDateUtil","$mdConstant","$attrs","$mdDateLocale","m","dateUtil","KEY_CODE","timePaneElement","SELECTED_TIME_CLASS","FOCUSED_TIME_CLASS","displayTime","selectedTime","isInitialized","hours","displayName","min5","min1","ii","show5min","getToggleBtnLbl","is5min","toggleManual5min","manual5min","tabindex","self","hourClickHandler","displayVal","updated","setHours","Number","setNgModelValue","minuteClickHandler","val","setMinutes","boundKeyHandler","handleKeyEvent","nextTick","changeSelectedTime","previousSelectedTime","prevH","getHours","prevHCell","prevM","getMinutes","prevMCell","prevM5Cell","mCell","newH","hCell","newM","changed","ESCAPE","TAB","ENTER","opt_date","today","previousFocus","timePickerDirective","ariaLabelValue","ariaLabel","mdPlaceholder","TimePickerCtrl","mdTimePickerCtrl","parentForm","parseAttributeBoolean","mdNoAsterisk","parentSubmittedWatcher","$submitted","isSubmitted","updateErrorState","INVALID_CLASS","OPEN_CLASS","TIME_PANE_HEIGHT","MIN5","GTXS","XS","MIN1","TIME_PANE_WIDTH","IS_MOBILE_REGEX","dateLocale","documentElement","inputElement","ngInputElement","inputContainer","timePane","timeButton","inputMask","isFocused","setDisabled","isTimeOpen","timePaneOpenedFrom","timePaneId","nextUid","bodyClickHandler","handleBodyClick","windowEventName","navigator","userAgent","vendor","opera","windowEventHandler","closeTimePane","windowBlurHandler","handleWindowBlur","leftMargin","topMargin","$set","installPropertyInterceptors","attachChangeListeners","attachInteractionListeners","detachTimePane","$formatters","time","formatTime","resizeInputElement","$viewChangeListeners","unshift","debounceInterval","handleInputEvent","keyCodes","DOWN_ARROW","openTimePane","$digest","$parent","Object","defineProperty","set","clearErrorState","isValidDate","field","inputString","parsedTime","parseTime","attachTimePane","transform","elementRect","bodyRect","paneTop","paneLeft","viewportTop","viewportLeft","scrollLeft","viewportBottom","innerHeight","viewportRight","innerWidth","paneWidth","scale","min","paneHeight","enableScrolling","removeChild","disableScrollAround","evalAttr","removeEventListener","getTimePaneCtrl","focusTime","ctrl","setFocused","getClosest","inputFocusedOnWindowBlur","activeElement","sgToggleGrid","$mdColors","modelAttr","tiles","modelDays","flattenedDays","sgToggleGridAttr","$validate","setInvalid","$isEmpty","day","findIndex","$setDirty","invalid","tagName","getThemeColor","suffix","pattern","lastIndexOf","encodeEntities","charCodeAt","_base64_keyStr","base64encode","chr1","chr2","chr3","enc1","enc2","enc3","enc4","output","utf8encode","isNaN","charAt","L","k","K","G","I","F","H","u","aa","Z","D","t","B","P","h","E","v","Y","X","W","V","C","J","capitalize","asDate","newDate","newString","isValidEmail","characters","escapeds","re","RegExp","timeInterval","parseDate","localeProvider","format","string","formattingTokens","tokens","token","regexes","parsedInput","matchesCount","year","getYear","month","getMonth","getDate","hour","minute","%d","%e","%m","%b","shortMonths","toLower","%B","months","%y","nearFuture","getFullYear","%Y","%H","%I","%M","%p","linput","am","pm","NaN","daysUpTo","otherDate","days","day1","day2","tmp","nbrDays","round","setTime","minutesTo","valueOf","getTimezoneOffset","stringWithSeparator","separator","str","addDays","initialDate","milliSeconds","dstOffset","addHours","nbrHours","addMinutes","nbrMinutes","beginOfDay","setSeconds","setMilliseconds","dayOfWeek","offset","baseDayOfWeek","firstDayOfWeek","getDay","firstWeekOfYearForDate","firstWeekRule","januaryFirst","firstWeekOfYear","setMonth","setDate","beginOfWeek","getWeek","firstWeek","previousWeek","weekNumber","endOfWeek","getDayString","getHourString","separators","max","validParts","%a","shortDays","%A","%U","shift","j","labels","clabels","parseFloat","exec","c","pow","S4","random"],"mappings":"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","file":"Common.js"}
\ No newline at end of file
+{"version":3,"sources":["Common/Common.app.js","Common/mdColors.app.js","Common/decodeUri.filter.js","Common/encodeUri.filter.js","Common/ensureTarget.filter.js","Common/loc.filter.js","Common/range.filter.js","Common/txt2html.filter.js","Common/AclController.js","Common/navController.js","Common/Acl.service.js","Common/Alarm.service.js","Common/Authentication.service.js","Common/Dialog.service.js","Common/Gravatar.service.js","Common/Resource.service.js","Common/sgFocus.service.js","Common/sgHotkeys.service.js","Common/User.service.js","Common/sgAvatarImage.directive.js","Common/sgBlockToggle.directive.js","Common/sgCheckmark.directive.js","Common/sgColorPicker.directive.js","Common/sgCompile.directive.js","Common/sgDatepickerReadonlyInput.directive.js","Common/sgDraggable.directive.js","Common/sgDroppable.directive.js","Common/sgEnter.directive.js","Common/sgEscape.directive.js","Common/sgFocus.directive.js","Common/sgFolderStylesheet.directive.js","Common/sgNoDirtyCheck.directive.js","Common/sgPlaceholder.directive.js","Common/sgResetOnDisabled.directive.js","Common/sgRippleClick.directive.js","Common/sgSearch.directive.js","Common/sgSelectOnly.directive.js","Common/sgSubscribe.directive.js","Common/sgTimepicker.directive.js","Common/sgToggleGrid.directive.js","Common/utils.js"],"names":["angular","module","value","isPopup","document","body","classList","contains","baseURL","ApplicationBaseURL","resourcesURL","ResourcesURL","activeUser","param","settings","login","UserLogin","identification","UserIdentification","email","UserEmail","language","UserLanguage","folderURL","UserFolderURL","isSuperUser","IsSuperUser","path","calendar","UserCalendarPath","contacts","UserContactsPath","mail","UserMailPath","preferences","UserPreferencesPath","administration","UserAdministrationPath","help","HelpURL","logoff","UserLogoffPath","minimumSearchLength","isNumber","constant","selection","xs","gt-xs","sm","gt-sm","md","gt-md","lg","gt-lg","xl","print","config","configure","factory","AuthInterceptor","ErrorInterceptor","$inject","$logProvider","$compileProvider","$httpProvider","$mdThemingProvider","$mdAriaProvider","definePalette","50","100","200","300","400","500","600","700","800","900","A100","A200","A400","A700","contrastDefaultColor","contrastLightColors","contrastDarkColors","1000","greyMap","extendPalette","theme","primaryPalette","default","hue-1","hue-2","hue-3","accentPalette","backgroundPalette","DebugEnabled","debugEnabled","debugInfoEnabled","disableWarnings","generateThemesOnDemand","interceptors","push","$window","$q","response","test","headers","Accept","data","location","reload","reject","$rootScope","$injector","responseError","rejection","deferred","iframe","usesCASAuthentication","status","defer","element","on","get","$http","then","resolve","remove","appendChild","promise","usesSAML2Authentication","$broadcast","_$mdThemingProvider","run","runBlock","$interpolate","$document","$log","buildCssSelectors","selectors","join","fgDefault","bgDefault","bdrDefault","fgDefaultHue","bgDefaultHue","fgColor","bgColor","bdrColor","fgHue","bgHue","customSheet","style","head","querySelector","createElement","title","createTextNode","sheet","getStyleSheet","index","cssRules","length","deleteRule","forEach","_THEMES","themeName","addRule","_PALETTES","colors","primary","name","hues","addBorderRule","color","paletteName","fgInterpolate","bgInterpolate","colorArray","hueName","context","palette","contrast","hue","insertRule","bdrInterpolate","colorValue","decodeUri","decodeURIComponent","filter","encodeUri","encodeURIComponent","ensureTarget","$sce","tree","find","attr","trustAs","html","l","n","res","i","parseInt","txt2html","linkyFilter","text","String","replace","undefined","AclController","$timeout","$mdDialog","Dialog","usersWithACL","User","folder","vm","this","users","selectedUser","selectedUid","userToAdd","searchText","folderClassName","isFunction","getClassName","templateName","user","getElementById","$isAnonymous","userFilter","$query","$filter","$acl","closeModal","$resetUsersRights","hide","saveModal","$saveUsersRights","alert","confirmChange","confirmation","$confirmRights","showing","message","removeUser","$removeUser","uid","addUser","$addUser","selectUser","selectAllRights","$selectAllRights","showRights","inactive","$event","target","parentNode","$rights","controller","navController","$scope","$interval","$mdSidenav","$mdToast","$mdMedia","sgConstant","sgSettings","Resource","Alarm","resource","$onInit","leftIsClose","centerIsClose","currentDay","window","secondsBeforeTomorrow","$watch","newVal","isGtMedium","$on","onHttpError","getAlarms","toggleLeft","isOpen","triggerHandler","toggle","debug","toggleRight","toggleCenter","options","save","post","state","event","isString","statusText","show","template","hideDelay","position","Acl","folderId","Settings","extend","$$resource","$User","prototype","$users","owner","_this","isDefined","userResource","fetch","canSubscribeUser","isSubscribed","wasSubscribed","bind","_","indexOf","map","userClass","isGroup","$shadowRights","splice","rights","right","$resetRights","deferredSave","deferredSubscribe","action","$rightsAreDirty","$omit","copy","uids","all","currentAlarm","now","Date","browserTime","Math","floor","getTime","alarms","sort","a","b","x","next","pop","utc","url","alarmTime","delay","f","showAlarm","cancel","$toast","locals","AlarmController","scope","summary","reminder","close","snooze","AlarmService","PolicyPasswordChangeUnsupported","PolicyPasswordSystemUnknown","PolicyPasswordUnknown","PolicyPasswordExpired","PolicyAccountLocked","PolicyChangeAfterReset","PolicyPasswordModNotAllowed","PolicyMustSupplyOldPassword","PolicyInsufficientPasswordQuality","PolicyPasswordTooShort","PolicyPasswordTooYoung","PolicyPasswordInHistory","PolicyNoError","provider","redirectUrl","username","domain","userName","address","baseAddress","parts","hostpart","protocol","href","split","startsWith","endsWith","$get","getService","$cookies","passwordPolicyConfig","readLoginCookie","loginValues","cookie","substr","base64decode","d","password","rememberLogin","loginSuffix","method","loginCookie","expire","grace","cn","msg","perr","LDAPPasswordPolicyError","error","changePassword","newPassword","xsrfCookie","X-XSRF-TOKEN","formatted","put","content","$modal","htmlContent","ok","multiple","confirm","prompt","label","o","id","asCSSIdentifier","parent","clickOutsideToClose","escapeToClose","inputType","PromptDialogController","DialogService","size","alternate_avatar","y","hash","s","substring","md5","no_404","_http","_q","_path","_activeUser","$factory","compact","escape","arguments","Array","apply","slice","call","params","flatten","newguid","create","newValue","download","type","accept","responseType","cache","transformResponse","fileName","blob","Error","Blob","filename","header","trim","saveAs","sgFocus","sgHotkeys","$sgHotkeys","service","KEY_CODES","8","9","13","16","17","18","19","20","27","32","33","34","35","36","37","38","39","40","45","46","96","97","98","99","101","102","103","104","105","106","107","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","CHAR_CODES","42","63","HotKey","guid","key","description","callback","preventInClass","args","onKeyUp","lkey","clone","Hotkeys","_hotkeys","_hotkeysUp","_preventIn","_preventInClass","_onKeydown","_onKeyup","_onKeypress","initialize","registerHotkey","createHotkey","_toggleCheatSheet","addEventListener","_invokeHotkeyHandlers","keyString","hotkeys","hotkey","srcElement","nodeName","toUpperCase","includes","intersection","e","console","keyStringFromEvent","charCode","keyCode","which","result","fromCharCode","toLowerCase","ctrlKey","altKey","shiftKey","metaKey","uniq","_deregisterHotkey","ret","table","callbackArray","callbackData","deregisterHotkey","_validateHotkey","isArray","TypeError","_registerKey","_registerKeys","registerHotkeyUp","fn","$apply","match","eventHotkey","Boolean","_cheatSheet","CheatSheetController","finally","closeDialog","userData","init","search","excludedUsers","dry","when","results","compareUids","isUndefined","$$shortFormat","$shortFormat","$$image","image","$avatarIcon","$isGroup","$isSpecial","empty","$fullname","fullname","c_info","c_email","$confirmation","some","values","constructor","isEqual","zero","keys","$folders","$$folders","folders","toString","sgAvatarImageController","$element","Preferences","Gravatar","toggleZoomFcn","off","old","urlEmail","showGenericAvatar","defaults","SOGoGravatarEnabled","SOGoAlternateAvatar","hideGenericAvatar","getGravatar","attributes","src","addClass","toggleClass","img","genericImg","removeClass","directive","restrict","bindToController","transclude","link","attrs","deregisterWatcher","imgElement","mdIcons","mdIconElement","mdBadgeElement","css","ngDisabled","isDisabled","disabled","display","controllerAs","sgBlockToggle","$mdUtil","$animateCss","$$rAF","button","icon","icon_rotate_class","block","add","visibility","targetHeight","scrollHeight","easing","to","height","duration","start","renderContent","setAttribute","sgCheckmarkDirective","$parse","$mdAria","$mdTheming","CHECKED_CSS","require","compile","tElement","tAttrs","hasAttribute","stopImmediatePropagation","ngModelCtrl","trueValue","parseConstantExpr","sgTrueValue","falseValue","sgFalseValue","fakeNgModel","expectWithText","ev","viewValue","$viewValue","$setViewValue","$render","expression","fallback","parseFn","sgColorPickerController","$mdPanel","sgColors","$ctrl","ngModelController","$postLink","buttonIcon","updateColor","newColor","showPicker","panelPosition","newPanelPosition","relativeTo","addPanelPosition","xPosition","ALIGN_START","yPosition","ALIGN_TOPS","panelAnimation","newPanelAnimation","openFrom","withAnimation","animation","FADE","columns","column","currentColor","currentContrastColor","selected","attachTo","MenuController","targetEvent","trapFocus","focusOnOpen","open","panelRef","panelEl","one","mdPanelRef","$state","setColor","currentTarget","parentElement","children","tile","sgCompile","$compile","ensureCompileRunsOnce","$eval","contents","datepickerCtrl","listener","eq","input","prop","sgDraggable","dragStart","count","sgDragStart","sgDragCount","sgDraggableObject","$destroy","helper","bindedOnDragDetect","onDragDetect","bindedOnDrag","onDrag","dragHasStarted","getDistanceFromStart","delta","startPosition","clientX","clientY","sqrt","stopPropagation","onDragEnd","counter","$emit","isRemote","top","pageY","left","pageX","sgDroppable","dropAction","droppable","deregisterFolderDragStart","deregisterFolderDragEnd","overElement","sgDrop","dragFolder","onEnter","onLeave","mode","dragMode","sgEnter","preventDefault","elem","sgEscape","sgFocusOn","focus","select","ngModel","transparent","hex","ratio","hexToRgb","r","g","clean","$pristine","$dirty","placeholder","$invalid","date","sgRippleClick","ripple","container","containerId","coordinates","getBoundingClientRect","overflow","scrollTop","offsetTop","offsetLeft","width","sgSearchPreTransclude","priority","tAttr","inputEl","selectEl","buttonEl","removeAttr","iElement","iAttr","compiledButtonEl","formName","inputName","allowDot","fields","doSearch","cancelSearch","sgSearchController","searchTextOptions","updateOn","debounce","blur","waitforFieldsOnce","searchField","onChange","form","rawSearchText","$valid","$setValidity","append","autoComplete","selectedItem","$applyAsync","sgSubscribe","folderType","onFolderSelect","sgSubscribeDialogController","showDialog","templateUrl","sgSubscribeController","$setTouched","selectFolder","folderData","TimePaneCtrl","controllers","sgTimePaneCtrl","mdInputContainer","configureNgModel","nextUniqueId","$$mdDateUtil","$mdConstant","$attrs","$mdDateLocale","m","dateUtil","KEY_CODE","timePaneElement","SELECTED_TIME_CLASS","FOCUSED_TIME_CLASS","displayTime","selectedTime","isInitialized","hours","displayName","min5","min1","ii","show5min","getToggleBtnLbl","is5min","toggleManual5min","manual5min","tabindex","self","hourClickHandler","displayVal","updated","setHours","Number","setNgModelValue","minuteClickHandler","val","setMinutes","boundKeyHandler","handleKeyEvent","nextTick","changeSelectedTime","previousSelectedTime","prevH","getHours","prevHCell","prevM","getMinutes","prevMCell","prevM5Cell","mCell","newH","hCell","newM","changed","ESCAPE","TAB","ENTER","opt_date","today","previousFocus","timePickerDirective","ariaLabelValue","ariaLabel","mdPlaceholder","TimePickerCtrl","mdTimePickerCtrl","parentForm","parseAttributeBoolean","mdNoAsterisk","parentSubmittedWatcher","$submitted","isSubmitted","updateErrorState","INVALID_CLASS","OPEN_CLASS","TIME_PANE_HEIGHT","MIN5","GTXS","XS","MIN1","TIME_PANE_WIDTH","IS_MOBILE_REGEX","dateLocale","documentElement","inputElement","ngInputElement","inputContainer","timePane","timeButton","inputMask","isFocused","setDisabled","isTimeOpen","timePaneOpenedFrom","timePaneId","nextUid","bodyClickHandler","handleBodyClick","windowEventName","navigator","userAgent","vendor","opera","windowEventHandler","closeTimePane","windowBlurHandler","handleWindowBlur","leftMargin","topMargin","$set","installPropertyInterceptors","attachChangeListeners","attachInteractionListeners","detachTimePane","$formatters","time","formatTime","resizeInputElement","$viewChangeListeners","unshift","debounceInterval","handleInputEvent","keyCodes","DOWN_ARROW","openTimePane","$digest","$parent","Object","defineProperty","set","clearErrorState","isValidDate","field","inputString","parsedTime","parseTime","attachTimePane","transform","elementRect","bodyRect","paneTop","paneLeft","viewportTop","viewportLeft","scrollLeft","viewportBottom","innerHeight","viewportRight","innerWidth","paneWidth","scale","min","paneHeight","enableScrolling","removeChild","disableScrollAround","evalAttr","removeEventListener","getTimePaneCtrl","focusTime","ctrl","setFocused","getClosest","inputFocusedOnWindowBlur","activeElement","sgToggleGrid","$mdColors","modelAttr","tiles","modelDays","flattenedDays","sgToggleGridAttr","$validate","setInvalid","$isEmpty","day","findIndex","$setDirty","invalid","tagName","getThemeColor","suffix","pattern","lastIndexOf","encodeEntities","charCodeAt","_base64_keyStr","base64encode","chr1","chr2","chr3","enc1","enc2","enc3","enc4","output","utf8encode","isNaN","charAt","L","k","K","G","I","F","H","u","aa","Z","D","t","B","P","h","E","v","Y","X","W","V","C","J","capitalize","asDate","newDate","newString","isValidEmail","characters","escapeds","re","RegExp","timeInterval","parseDate","localeProvider","format","string","formattingTokens","tokens","token","regexes","parsedInput","matchesCount","year","getYear","month","getMonth","getDate","hour","minute","%d","%e","%m","%b","shortMonths","toLower","%B","months","%y","nearFuture","getFullYear","%Y","%H","%I","%M","%p","linput","am","pm","NaN","daysUpTo","otherDate","days","day1","day2","tmp","nbrDays","round","setTime","minutesTo","valueOf","getTimezoneOffset","stringWithSeparator","separator","str","addDays","initialDate","milliSeconds","dstOffset","addHours","nbrHours","addMinutes","nbrMinutes","beginOfDay","setSeconds","setMilliseconds","dayOfWeek","offset","baseDayOfWeek","firstDayOfWeek","getDay","firstWeekOfYearForDate","firstWeekRule","januaryFirst","firstWeekOfYear","setMonth","setDate","beginOfWeek","getWeek","firstWeek","previousWeek","weekNumber","endOfWeek","getDayString","getHourString","separators","max","validParts","%a","shortDays","%A","%U","shift","j","labels","clabels","parseFloat","exec","c","pow","S4","random"],"mappings":"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","file":"Common.js"}
\ No newline at end of file
diff --git a/UI/WebServerResources/js/Scheduler.services.js b/UI/WebServerResources/js/Scheduler.services.js
index 18d32f7fe..3063d53e4 100644
--- a/UI/WebServerResources/js/Scheduler.services.js
+++ b/UI/WebServerResources/js/Scheduler.services.js
@@ -1,2 +1,2 @@
-!function(){"use strict";function e(t){if(this.init(t),this.name&&!this.id){var n=e.$$resource.create("createFolder",this.name);this.$unwrap(n)}}e.$factory=["$q","$timeout","$log","sgSettings","Resource","Preferences","Component","Acl",function(t,n,a,o,i,r,s,c){return angular.extend(e,{$q:t,$timeout:n,$log:a,$$resource:new i(o.activeUser("folderURL")+"Calendar",o.activeUser()),$Preferences:r,$Component:s,$$Acl:c,activeUser:o.activeUser(),$view:null}),e}];try{angular.module("SOGo.SchedulerUI")}catch(e){angular.module("SOGo.SchedulerUI",["SOGo.Common"])}angular.module("SOGo.SchedulerUI").value("CalendarSettings",{EventDragDayLength:96,EventDragHorizontalOffset:3,ConflictHTTPErrorCode:409}).factory("Calendar",e.$factory),e.$defaultCalendar=function(){var t;return"first"==e.$Preferences.defaults.SOGoDefaultCalendar&&(t=_.find(e.$findAll(null,!0),function(e){return e.active}))?t.id:"personal"},e.$add=function(t){var n,a;n=t.isWebCalendar?this.$webcalendars:t.isSubscription?this.$subscriptions:this.$calendars,(a=_.findIndex(n,function(e,n){return"personal"==t.id||"personal"!=e.id&&e.name.localeCompare(t.name)>0}))<0?n.push(t):n.splice(a,0,t),e.$Preferences.settings.Calendar.FoldersOrder&&e.saveFoldersOrder(_.flatMap(e.$findAll(),"id")),e.$reloadAll()},e.$findAll=function(t,n){var a=this;if(t)this.$calendars=[],this.$subscriptions=[],this.$webcalendars=[],angular.forEach(t,function(t,n){var o=new e(t);o.isWebCalendar?a.$webcalendars.push(o):o.isSubscription?a.$subscriptions.push(o):a.$calendars.push(o)});else if(angular.isUndefined(this.$calendars))return this.$calendars=[],this.$subscriptions=[],this.$webcalendars=[],e.$$resource.fetch("calendarslist").then(function(t){return e.$findAll(t.calendars,n)});return n?_.union(this.$calendars,_.filter(this.$subscriptions,function(e){return e.isOwned||e.acls.objectCreator})):_.union(this.$calendars,this.$subscriptions,this.$webcalendars)},e.$reloadAll=function(){var t=this;e.$$resource.fetch("calendarslist").then(function(n){_.forEach(n.calendars,function(n){var a,o;a=n.isWebCalendar?t.$webcalendars:n.owner!=e.activeUser.login?t.$subscriptions:t.$calendars,(o=_.find(a,function(e){return e.id==n.id}))&&o.init(n)})})},e.$get=function(t){var n;return(n=_.find(e.$calendars,function(e){return e.id==t}))||(n=_.find(e.$subscriptions,function(e){return e.id==t})),n||(n=_.find(e.$webcalendars,function(e){return e.id==t})),n},e.$getIndex=function(t){var n;return(n=_.indexOf(_.map(e.$calendars,"id"),t))<0&&(n=_.indexOf(_.map(e.$subscriptions,"id"),t)),n<0&&(n=_.indexOf(_.map(e.$webcalendars,"id"),t)),n},e.$subscribe=function(t,n){var a=this;return e.$$resource.userResource(t).fetch(n,"subscribe").then(function(t){var n=new e(angular.extend({active:1},t));return _.find(a.$subscriptions,function(e){return e.id==t.id})||e.$add(n),n})},e.$addWebCalendar=function(t){var n=e.$q.defer();return _.find(this.$webcalendars,function(e){return e.urls.webCalendarURL==t})?n.reject():e.$$resource.post(null,"addWebCalendar",{url:t}).then(function(a){angular.extend(a,{isWebCalendar:!0,isEditable:!0,isRemote:!1,owner:e.activeUser.login,urls:{webCalendarURL:t}});var o=new e(a);e.$$resource.fetch(o.id,"reload").then(function(t){e.$log.debug(JSON.stringify(t,void 0,2)),e.$add(o),n.resolve()},function(e){401==e.status?n.resolve(o):n.reject()})},n.reject),n.promise},e.reloadWebCalendars=function(){var t=[];return _.forEach(this.$webcalendars,function(n){var a=e.$$resource.fetch(n.id,"reload");a.then(function(e){n.$error=!1},function(e){n.$error=l(e.statusText)}),t.push(a)}),e.$q.all(t)},e.$deleteComponents=function(t){var n={},a=[];return _.forEach(t,function(e){angular.isDefined(n[e.pid])||(n[e.pid]=[]),n[e.pid].push(e.id)}),_.forEach(n,function(t,n){a.push(e.$$resource.post(n,"batchDelete",{uids:t}))}),e.$q.all(a)},e.saveFoldersActivation=function(t){var n={};return _.forEach(t,function(t){var a=e.$get(t);n[a.id]=a.active}),e.$$resource.post(null,"saveFoldersActivation",n)},e.saveFoldersOrder=function(t){return this.$$resource.post(null,"saveFoldersOrder",{folders:t}).then(function(){if(e.$Preferences.settings.Calendar.FoldersOrder=t,!t)return e.$$resource.fetch("calendarslist").then(function(t){return e.$findAll(t.calendars)})})},e.prototype.init=function(t){this.color=this.color||"#AAAAAA",this.active=1,angular.extend(this,t),this.id&&(this.$acl=new e.$$Acl("Calendar/"+this.id)),this.isOwned=e.activeUser.isSuperUser||this.owner==e.activeUser.login,this.isSubscription=!this.isRemote&&this.owner!=e.activeUser.login,angular.isUndefined(this.$shadowData)&&(this.$shadowData=this.$omit())},e.prototype.$id=function(){return this.id?e.$q.when(this.id):this.$futureCalendarData.then(function(e){return e.id})},e.prototype.getClassName=function(e){return angular.isUndefined(e)&&(e="fg"),e+"-folder"+this.id},e.prototype.$rename=function(){var t,n,a=this;return this.name==this.$shadowData.name?e.$q.when():(n=this.isWebCalendar?e.$webcalendars:this.isSubscription?e.$subscriptions:e.$calendars,(t=_.indexOf(_.map(n,"id"),this.id))>-1?this.$save().then(function(){n.splice(t,1),e.$add(a)}):e.$q.reject())},e.prototype.$delete=function(){var t,n,a=this;return this.isSubscription?(n=e.$$resource.fetch(this.id,"unsubscribe"),t=e.$subscriptions):(n=e.$$resource.remove(this.id),t=this.isWebCalendar?e.$webcalendars:e.$calendars),n.then(function(){var e=_.indexOf(_.map(t,"id"),a.id);t.splice(e,1)})},e.prototype.$reset=function(){var e=this;angular.forEach(this,function(t,n){"constructor"!=n&&"$"!=n[0]&&delete e[n]}),angular.extend(this,this.$shadowData),this.$shadowData=this.$omit()},e.prototype.$save=function(){var t=this;return e.$$resource.save(this.id,this.$omit()).then(function(e){return t.$shadowData=t.$omit(),e},function(n){return e.$log.error(JSON.stringify(n,void 0,2)),t.$reset(),n})},e.prototype.setCredentials=function(t,n){var a=this,o=e.$q.defer();return e.$$resource.post(this.id,"set-credentials",{username:t,password:n}).then(function(){e.$$resource.fetch(a.id,"reload").then(function(t){e.$add(a),o.resolve()},function(e){401==e.status?o.reject(l("Wrong username or password")):o.reject(e.statusText)})},o.reject),o.promise},e.prototype.export=function(){var t;return t={type:"application/octet-stream",filename:this.name+".ics"},e.$$resource.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","User","Card","Gravatar","Resource",function(t,n,a,o,i,r,s,c,l,d,u){return angular.extend(e,{STATUS:r,$q:t,$timeout:n,$log:a,$rootScope:o,$settings:i,$User:c,$Preferences:s,$Card:l,$gravatar:d,$$resource:new u(i.activeUser("folderURL")+"Calendar",i.activeUser()),timeFormat:"%H:%M",$query:{value:"",search:"title_Category_Location"},$queryEvents:{sort:"start",asc:1,filterpopup:"view_next7"},$queryTasks:{sort:"status",asc:1,filterpopup:"view_incomplete"},$refreshTimeout:null,$ghost:{}}),s.settings.Calendar.EventsFilterState&&(e.$queryEvents.filterpopup=s.settings.Calendar.EventsFilterState),s.settings.Calendar.TasksFilterState&&(e.$queryTasks.filterpopup=s.settings.Calendar.TasksFilterState),s.settings.Calendar.EventsSortingState&&(e.$queryEvents.sort=s.settings.Calendar.EventsSortingState[0],e.$queryEvents.asc=parseInt(s.settings.Calendar.EventsSortingState[1])),s.settings.Calendar.TasksSortingState&&(e.$queryTasks.sort=s.settings.Calendar.TasksSortingState[0],e.$queryTasks.asc=parseInt(s.settings.Calendar.TasksSortingState[1])),e.$queryTasks.show_completed=parseInt(s.settings.ShowCompletedTasks),e.$categories=s.defaults.SOGoCalendarCategoriesColors,s.defaults.SOGoTimeFormat&&(e.timeFormat=s.defaults.SOGoTimeFormat),e}];try{angular.module("SOGo.SchedulerUI")}catch(e){angular.module("SOGo.SchedulerUI",["SOGo.Common"])}angular.module("SOGo.SchedulerUI").constant("sgComponent_STATUS",{NOT_LOADED:0,DELAYED_LOADING:1,LOADING:2,LOADED:3,DELAYED_MS:300}).factory("Component",e.$factory),e.$selectedCount=function(){var t;return t=0,e.$events&&(t+=_.filter(e.$events,function(e){return e.selected}).length),e.$tasks&&(t+=_.filter(e.$tasks,function(e){return e.selected}).length),t},e.$startRefreshTimeout=function(t){e.$refreshTimeout&&e.$timeout.cancel(e.$refreshTimeout);var n=e.$Preferences.defaults.SOGoRefreshViewCheck;if(n&&"manually"!=n){var a=angular.bind(e.$rootScope,e.$rootScope.$emit,"calendars:list");e.$refreshTimeout=e.$timeout(a,1e3*n.timeInterval())}},e.$isLoading=function(){return e.$loaded==e.STATUS.LOADING},e.$filter=function(t,n){var a,o,i=this,r=new Date,s=r.getDate(),c=r.getMonth()+1,l=r.getFullYear(),d="$query"+t.capitalize(),u={day:l+(c<10?"0":"")+c+(s<10?"0":"")+s},p=!1;return e.$startRefreshTimeout(t),angular.extend(this.$query,u),n&&_.forEach(_.keys(n),function(t){p|=i.$query[t]&&n[t]!=e.$query[t],"reload"==t&&n[t]?p=!0:angular.isDefined(i.$query[t])?i.$query[t]=n[t]:i[d][t]=n[t]}),a=this.$$resource.fetch(null,t+"list",angular.extend(this[d],this.$query)),p&&(delete e[o="tasks"==t?"$events":"$tasks"],e.$log.debug("force reload of "+o)),this.$unwrapCollection(t,a)},e.$find=function(t,n,a){var o=[t,encodeURIComponent(n)];return a&&o.push(a),new e(this.$$resource.fetch(o.join("/"),"view"))},e.filterCategories=function(t){var n=new RegExp(t,"i");return _.filter(_.keys(e.$categories),function(e){return-1!=e.search(n)})},e.saveSelectedList=function(e){return this.$$resource.post(null,"saveSelectedList",{list:e+"ListView"})},e.$eventsBlocksForView=function(t,n){var a,o,i,r;return a=e.$Preferences.defaults.SOGoFirstDayOfWeek,"day"==t?(o="dayView",i=r=n):"multicolumnday"==t?(o="multicolumndayView",i=r=n):"week"==t?(o="weekView",i=n.beginOfWeek(a),(r=new Date).setTime(i.getTime()),r.addDays(6)):"month"==t&&(o="monthView",(i=n).setDate(1),i=i.beginOfWeek(a),(r=new Date).setTime(n.getTime()),r.setMonth(r.getMonth()+1),r.addDays(-1),r=r.endOfWeek(a)),this.$eventsBlocks(o,i,r)},e.$eventsBlocks=function(t,n,a){var o,i,r,s=[],c=[],l=e.$q.defer();return o={view:t.toLowerCase(),sd:n.getDayString(),ed:a.getDayString()},this.$$resource.fetch(null,"eventsblocks",o).then(function(t){var n,a;n=function(t,n,a){var o,i=_.zipObject(this.eventsFields,n),r=new Date(1e3*i.c_startdate);return i.hour=r.getHourString(),i.blocks=[],o=new e(i),t.push(o),t},a=function(e){this[e.nbr].blocks.push(e),e.component=this[e.nbr],e.isFirst=1==this[e.nbr].blocks.length},e.$views=[],e.$timeout(function(){_.forEach(t,function(t,o){var l,d=[],u={},p={};for(t.eventsFields.splice(_.indexOf(t.eventsFields,"c_folder"),1,"pid"),t.eventsFields.splice(_.indexOf(t.eventsFields,"c_name"),1,"id"),t.eventsFields.splice(_.indexOf(t.eventsFields,"c_recurrence_id"),1,"occurrenceId"),t.eventsFields.splice(_.indexOf(t.eventsFields,"c_title"),1,"summary"),_.reduce(t.events,_.bind(n,t),d),_.forEach(_.flatten(t.blocks),_.bind(a,d)),_.forEach(_.flatten(t.allDayBlocks),_.bind(a,d)),0===s.length&&(s=_.flatMap(t.days,"date"),c=_.flatMap(t.days,"number")),i=0;i0&&(this.repeat.month={type:"bymonthday"}),angular.isUndefined(this.repeat.month)&&(this.repeat.month={}),angular.isUndefined(this.repeat.month.occurrence)&&angular.extend(this.repeat.month,{occurrence:"1",day:"SU"}),angular.isUndefined(this.repeat.months)&&(this.repeat.months=[]),angular.isUndefined(this.repeat.year)&&(this.repeat.year={}),this.repeat.count?this.repeat.end="count":this.repeat.until?(this.repeat.end="until",angular.isString(this.repeat.until)&&(this.repeat.until=e.$parseDate(this.repeat.until,{no_time:!0}))):this.repeat.end="never",this.$hasCustomRepeat=this.hasCustomRepeat(),this.isNew){var a="appointment"==this.type?"Events":"Tasks";this.classification=e.$Preferences.defaults["SOGoCalendar"+a+"DefaultClassification"].toLowerCase();var o=/-PT?([0-9]+)([MHDW])/.exec(e.$Preferences.defaults.SOGoCalendarDefaultReminder);o&&(this.$hasAlarm=!0,this.alarm.quantity=parseInt(o[1]),this.alarm.unit={M:"MINUTES",H:"HOURS",D:"DAYS",W:"WEEKS"}[o[2]]),this.sendAppointmentNotifications=e.$Preferences.defaults.SOGoAppointmentSendEMailNotifications}else angular.isUndefined(t.$hasAlarm)&&(this.$hasAlarm=angular.isDefined(t.alarm));this.destinationCalendar=this.pid,this.attendees&&_.forEach(this.attendees,function(t){t.image=e.$gravatar(t.email,32)}),this.updateFreeBusy(),this.selected=!1},e.prototype.initOrganizer=function(t){var n,a=this;t&&t.isSubscription?n=e.$User.$filter(t.owner).then(function(e){var t=e[0];a.organizer={uid:t.uid,name:t.cn,email:t.c_email}}):(this.organizer={uid:e.$settings.activeUser("login"),name:e.$settings.activeUser("identification"),email:e.$settings.activeUser("email")},n=e.$q.when()),n.then(function(){a.updateFreeBusyAttendee(a.organizer)})},e.prototype.hasCustomRepeat=function(){return angular.isUndefined(this.occurrenceId)&&angular.isDefined(this.repeat)&&(this.repeat.interval>1||angular.isDefined(this.repeat.days)&&this.repeat.days.length>0||angular.isDefined(this.repeat.monthdays)&&this.repeat.monthdays.length>0||angular.isDefined(this.repeat.months)&&this.repeat.months.length>0||angular.isDefined(this.repeat.month)&&angular.isDefined(this.repeat.month.type)||angular.isDefined(this.repeat.dates)&&this.repeat.dates.length>0)},e.prototype.isEditable=function(){return!this.occurrenceId&&!this.isReadOnly},e.prototype.isEditableOccurrence=function(){return this.occurrenceId&&!this.isReadOnly},e.prototype.isInvitation=function(){return!this.occurrenceId&&this.userHasRSVP},e.prototype.isInvitationOccurrence=function(){return this.occurrenceId&&this.userHasRSVP},e.prototype.showPercentComplete=function(){return"task"==this.type&&this.percentComplete>0&&"cancelled"!=this.status},e.prototype.enablePercentComplete=function(){return"task"==this.type&&"not-specified"!=this.status&&"cancelled"!=this.status},e.prototype.coversFreeBusy=function(e,t,n){return angular.isDefined(this.freebusy[e])&&angular.isDefined(this.freebusy[e][t])&&1==this.freebusy[e][t][n]},e.prototype.updateFreeBusyCoverage=function(){var e=this,t={};if(this.start&&this.end){var n=new Date(this.start.getTime()),a=new Date(this.end.getTime()),o=parseInt(n.getMinutes()/15+.5),i=parseInt(a.getMinutes()/15+.5);return n.setMinutes(15*o),a.setMinutes(15*i),_.forEach(n.daysUpTo(a),function(n,a){var i,r=n.getDate(),s=n.getDayString();if(s==e.start.getDayString())for(i=n.getHours().toString(),t[s]={},t[s][i]=[];o>0;)t[s][i].push(0),o--;else n=n.beginOfDay(),t[s]={};for(;n.getTime()0},e.prototype.addAttachUrl=function(e){if(angular.isUndefined(this.attachUrls))this.attachUrls=[{value:e}];else{for(var t=0;t-1&&this.attachUrls.length>e&&this.attachUrls.splice(e,1)},e.prototype.$addDueDate=function(){this.due=new Date,this.due.setMinutes(15*Math.round(this.due.getMinutes()/15)),this.dueDate=this.due.toISOString()},e.prototype.$deleteDueDate=function(){delete this.due,delete this.dueDate},e.prototype.$addStartDate=function(){this.start=new Date,this.start.setMinutes(15*Math.round(this.start.getMinutes()/15))},e.prototype.$deleteStartDate=function(){delete this.start,delete this.startDate},e.prototype.$addRecurrenceDate=function(){var e=new Date;e.setMinutes(15*Math.round(e.getMinutes()/15)),angular.isUndefined(this.repeat.dates)&&(this.repeat={frequency:"custom",dates:[]}),this.repeat.dates.push(e)},e.prototype.$deleteRecurrenceDate=function(e){e>-1&&this.repeat&&this.repeat.dates&&this.repeat.dates.length>e&&this.repeat.dates.splice(e,1)},e.prototype.$reset=function(){var e=this;angular.forEach(this,function(t,n){"constructor"!=n&&"$"!=n[0]&&delete e[n]}),this.init(this.$shadowData),this.$shadowData=this.$omit()},e.prototype.$reply=function(){var t,n=this,a=[this.pid,encodeURIComponent(this.id)];return this.occurrenceId&&a.push(this.occurrenceId),t={reply:this.reply,delegatedTo:this.delegatedTo,alarm:this.$hasAlarm?this.alarm:{}},e.$$resource.save(a.join("/"),t,{action:"rsvpAppointment"}).then(function(e){return n.$shadowData=n.$omit(),e})},e.prototype.$adjust=function(t){var n=[this.pid,encodeURIComponent(this.id)];return _.every(_.values(t),function(e){return 0===e})?e.$q.when():(this.occurrenceId&&n.push(this.occurrenceId),e.$log.debug("adjust "+n.join("/")+" "+JSON.stringify(t)),e.$$resource.save(n.join("/"),t,{action:"adjust"}))},e.prototype.$save=function(t){var n,a,o,i,r=this;return o=this.$omit(),i=e.$Preferences.$mdDateLocaleProvider,o.startDate=o.start?o.start.format(i,"%Y-%m-%d"):"",o.startTime=o.start?o.start.format(i,"%H:%M"):"",o.endDate=o.end?o.end.format(i,"%Y-%m-%d"):"",o.endTime=o.end?o.end.format(i,"%H:%M"):"",o.dueDate=o.due?o.due.format(i,"%Y-%m-%d"):"",o.dueTime=o.due?o.due.format(i,"%H:%M"):"",o.completedDate=o.completed?o.completed.format(i,"%Y-%m-%d"):"",this.hasCustomRepeat()?"monthly"==this.repeat.frequency&&this.repeat.month.type&&"byday"==this.repeat.month.type&&"relative"!=this.repeat.month.day||"yearly"==this.repeat.frequency&&this.repeat.year.byday?(delete o.repeat.monthdays,o.repeat.days=[{day:this.repeat.month.day,occurrence:this.repeat.month.occurrence.toString()}]):"monthly"!=this.repeat.frequency&&"yearly"!=this.repeat.frequency||!this.repeat.month.type?"custom"==this.repeat.frequency&&this.repeat.dates&&_.forEach(o.repeat.dates,function(e,t,n){n[t]={date:e.format(i,"%Y-%m-%d"),time:e.format(i,"%H:%M")}}):(delete o.repeat.days,"relative"==this.repeat.month.day&&(o.repeat.monthdays=[this.repeat.month.occurrence])):this.repeat.frequency&&"never"!=this.repeat.frequency&&(o.repeat={frequency:this.repeat.frequency}),o.startDate&&this.repeat.frequency&&"never"!=this.repeat.frequency?"until"==this.repeat.end&&this.repeat.until?o.repeat.until=this.repeat.until.stringWithSeparator("-"):"count"==this.repeat.end&&this.repeat.count?o.repeat.count=this.repeat.count:(delete o.repeat.until,delete o.repeat.count):delete o.repeat,"not-specified"==this.status?delete o.status:"completed"!=this.status&&delete o.completedDate,o.startDate&&this.$hasAlarm?!this.alarm.action||"email"!=this.alarm.action||this.attendees&&this.attendees.length>0||(o.alarm.attendees=0,o.alarm.organizer=1):o.alarm={},a=[this.pid,encodeURIComponent(this.id)],this.isNew&&(n={action:"saveAs"+this.type.capitalize()}),this.occurrenceId&&a.push(this.occurrenceId),angular.extend(o,t),e.$$resource.save(a.join("/"),o,n).then(function(e){return r.$shadowData=r.$omit(),e})},e.prototype.remove=function(t){var n=[this.pid,encodeURIComponent(this.id)];return t&&this.occurrenceId&&n.push(this.occurrenceId),e.$$resource.remove(n.join("/"))},e.prototype.$unwrap=function(t){var n=this;this.$futureComponentData=t,this.$futureComponentData.then(function(e){n.init(e),n.$shadowData=n.$omit()},function(t){angular.extend(n,t),n.isError=!0,e.$log.error(n.error)})},e.prototype.$omit=function(){var e={};return angular.forEach(this,function(t,n){"constructor"==n||"$hasAlarm"!=n&&"$"==n[0]||"blocks"==n||(e[n]=angular.copy(t))}),e},e.prototype.repeatDescription=function(){var e=null;return this.repeat&&(e=l("repeat_"+this.repeat.frequency.toUpperCase())),e},e.prototype.alarmDescription=function(){var e,t=null;return this.alarm&&(e=["reminder",this.alarm.quantity],this.alarm.quantity>0&&e.push(this.alarm.unit.toUpperCase(),this.alarm.reference.toUpperCase()),(e=e.join("_"))===(t=l(e))&&(t=[this.alarm.quantity,l("reminder_"+this.alarm.unit.toUpperCase()),l("reminder_"+this.alarm.reference.toUpperCase())].join(" "))),t},e.prototype.copyTo=function(t){return e.$$resource.post(this.pid+"/"+encodeURIComponent(this.id),"copy",{destination:t})},e.prototype.moveTo=function(t){return e.$$resource.post(this.pid+"/"+encodeURIComponent(this.id),"move",{destination:t})},e.prototype.toString=function(){return"[Component "+this.id+"]"}}(),function(){"use strict";e.$inject=["$scope","$rootScope","$state","$stateParams","sgHotkeys","Calendar","Component","Preferences","stateEventsBlocks"];function e(t,n,a,o,i,r,s,c,d){var u,p=this,h=[];angular.isUndefined(e.expandedAllDays)&&(e.expandedAllDays=!1),p.selectedDate=o.day.asDate(),p.expandedAllDays=e.expandedAllDays,p.toggleAllDays=function(){e.expandedAllDays=!e.expandedAllDays,p.expandedAllDays=e.expandedAllDays},p.views=d,p.changeDate=y,p.changeView=v,this.$onInit=function(){(e=h).push(i.createHotkey({key:l("hotkey_today"),description:l("Today"),callback:y,args:new Date})),e.push(i.createHotkey({key:l("hotkey_dayview"),description:l("Day"),callback:v,args:"day"})),e.push(i.createHotkey({key:l("hotkey_weekview"),description:l("Week"),callback:v,args:"week"})),e.push(i.createHotkey({key:l("hotkey_monthview"),description:l("Month"),callback:v,args:"month"})),e.push(i.createHotkey({key:l("hotkey_multicolumndayview"),description:l("Multicolumn Day View"),callback:v,args:"multicolumnday"})),e.push(i.createHotkey({key:"left",description:l("Move backward"),callback:m,args:-1})),e.push(i.createHotkey({key:"right",description:l("Move forward"),callback:m,args:1})),_.forEach(e,function(e){i.registerHotkey(e)});var e;f(p.selectedDate),u=n.$on("calendars:list",g),t.$on("$destroy",function(){u(),_.forEach(h,function(e){i.deregisterHotkey(e)})})};function m(e,t){var n;"week"==o.view?n=p.selectedDate.beginOfWeek(c.defaults.SOGoFirstDayOfWeek).addDays(7*t):"month"==o.view?((n=p.selectedDate).setDate(1),n.setMonth(n.getMonth()+t)):n=p.selectedDate.addDays(t),y(e,n)}function f(e){"month"==o.view?(e.setDate(1),e.setHours(12),e.$dateFormat="%B %Y"):"week"==o.view?(e.setTime(e.beginOfWeek(c.defaults.SOGoFirstDayOfWeek).getTime()),e.$dateFormat=l("Week %d").replace("%d","%U")):e.$dateFormat="%A"}function g(){s.$eventsBlocksForView(o.view,o.day.asDate()).then(function(e){var t,n,a;for(t=0;t=t;n--)p.views.splice(n,1)})}function y(e,t){var n=t?t.getDayString():angular.element(e.currentTarget).attr("date");t&&f(t),a.go("calendars.view",{day:n})}function v(e,t){a.go("calendars.view",{view:t})}}angular.module("SOGo.SchedulerUI").controller("CalendarController",e)}(),function(){"use strict";e.$inject=["$rootScope","$scope","$q","$timeout","$state","$mdDialog","sgHotkeys","sgFocus","Dialog","Preferences","CalendarSettings","Calendar","Component","Alarm"];function e(e,t,n,a,o,i,r,s,c,d,u,p,h,m){var f,g=this,y=[];g.component=h,g.componentType="events",g.selectedList=0,g.selectComponentType=v,g.unselectComponents=function(){_.forEach(h["$"+g.componentType],function(e){e.selected=!1}),g.mode.multiple=0},g.selectAll=function(){_.forEach(h["$"+g.componentType],function(e){e.selected=!0}),g.mode.multiple=h["$"+g.componentType].length},g.searchMode=$,g.toggleComponentSelection=function(e,t){t.selected=!t.selected,g.mode.multiple+=t.selected?1:-1,e.preventDefault(),e.stopPropagation()},g.confirmDeleteSelectedComponents=function(){c.confirm(l("Warning"),l("Are you sure you want to delete the selected components?"),{ok:l("Delete")}).then(function(){var t=_.filter(h["$"+g.componentType],function(e){return e.selected});p.$deleteComponents(t).then(function(){g.mode.multiple=0,e.$emit("calendars:list")})})},g.openEvent=function(e,t){C(e,t,"appointment")},g.openTask=function(e,t){C(e,t,"task")},g.newComponent=b,g.filterpopup=function(){return h["$query"+g.componentType.capitalize()].filterpopup},g.filter=function(e){h.$filter(g.componentType,{filterpopup:e})},g.filteredBy=function(e){return h["$query"+g.componentType.capitalize()].filterpopup==e},g.sort=function(e){h.$filter(g.componentType,{sort:e})},g.sortedBy=function(e){return h["$query"+g.componentType.capitalize()].sort==e},g.reload=function(){p.reloadWebCalendars().finally(function(){e.$emit("calendars:list")})},g.cancelSearch=function(){g.mode.search=!1,h.$filter(g.componentType,{value:""})},g.mode={search:!1,multiple:0},this.$onInit=function(){(n=y).push(r.createHotkey({key:l("hotkey_search"),description:l("Search"),callback:$})),n.push(r.createHotkey({key:l("hotkey_create_event"),description:l("Create a new event"),callback:b,args:"appointment"})),n.push(r.createHotkey({key:l("hotkey_create_task"),description:l("Create a new task"),callback:b,args:"task"})),_.forEach(n,function(e){r.registerHotkey(e)});var n;f="events","tasksListView"==d.settings.Calendar.SelectedList&&(g.selectedList=1,f="tasks"),v(f,{reload:!0}),e.$on("calendars:list",function(){h.$filter(g.componentType,{reload:!0})}),e.$on("calendar:dragend",D),t.$on("$destroy",function(){_.forEach(y,function(e){r.deregisterHotkey(e)})})};function v(e,t){(t&&t.reload||g.componentType!=e)&&(angular.isUndefined(h["$"+e])&&h.$filter(e),g.unselectComponents(),g.componentType=e,h.saveSelectedList(e))}function $(){g.mode.search=!0,s("search")}function C(e,t,a){if(t.viewable){var o=n.when();angular.isUndefined(t.$futureComponentData)&&(o=(t=p.$get(t.pid).$getComponent(t.id,t.occurrenceId)).$futureComponentData),o.then(function(){var n="UIx"+a.capitalize()+"ViewTemplate";i.show({parent:angular.element(document.body),targetEvent:e,clickOutsideToClose:!0,escapeToClose:!0,templateUrl:n,controller:"ComponentController",controllerAs:"editor",locals:{stateComponent:t}})})}}function b(e,t,n){var a;n?(a=n).updateFreeBusy():a=new h({pid:p.$defaultCalendar(),type:t});var o="UIx"+t.capitalize()+"EditorTemplate";return i.show({parent:angular.element(document.body),targetEvent:e,clickOutsideToClose:!0,escapeToClose:!0,templateUrl:o,controller:"ComponentEditorController",controllerAs:"editor",locals:{stateComponent:a}})}function D(t){var n,o,r,s,c,d,f;n=h.$ghost.component,o=h.$ghost.pointerHandler,n.isNew?(r=o.currentEventCoordinates,n.summary="",n.isAllDay&&(r.duration-=96),n.setDelta(15*r.duration),b(null,"appointment",n).catch().finally(function(){a(function(){h.$resetGhost()})})):(s=o.currentEventCoordinates.getDelta(o.originalEventCoordinates),c={days:s.dayNumber,start:15*s.start,duration:15*s.duration},o.originalCalendar&&0!==s.dayNumber&&(d=o.currentEventCoordinates.dayNumber,f=_.filter(p.$findAll(),{active:1}),c.destination=f[d].id,c.days=0),n.isException||!n.occurrenceId?n.$adjust(c).then(function(){e.$emit("calendars:list"),m.getAlarms()},function(e){y(e,n,c)}).finally(function(){a(function(){h.$resetGhost()})}):n.occurrenceId&&i.show({clickOutsideToClose:!0,escapeToClose:!0,locals:{component:n,params:c},template:['',' '," "+l("editRepeatingItem")+"
"," "," ",' '+l("button_thisOccurrenceOnly")+" ",' '+l("button_allOccurrences")+" "," "," "].join(""),controller:g}).then(function(){e.$emit("calendars:list")},function(){}).finally(function(){a(function(){h.$resetGhost()})})),g.$inject=["$scope","$mdDialog","component","params"];function g(e,t,n,a){e.updateThisOccurrence=function(){n.$adjust(a).then(t.hide,function(e){t.cancel().then(function(){y(e,n,a)},function(){})})},e.updateAllOccurrences=function(){delete n.occurrenceId,n.$adjust(a).then(t.hide,function(e){t.cancel().then(function(){y(e,n,a)},function(){})})}}function y(t,n,a){t.status==u.ConflictHTTPErrorCode&&t.data&&t.data.message&&angular.isObject(t.data.message)&&i.show({parent:angular.element(document.body),clickOutsideToClose:!1,escapeToClose:!1,templateUrl:"UIxAttendeeConflictDialog",controller:v,controllerAs:"$AttendeeConflictDialogController",locals:{component:n,params:a,conflictError:t.data.message}}).then(function(){e.$emit("calendars:list")},function(){})}v.$inject=["$scope","$mdDialog","component","params","conflictError"];function v(e,t,n,a,o){this.conflictError=o,this.cancel=t.cancel,this.save=function(){n.$adjust(angular.extend({ignoreConflicts:!0},a)).then(t.hide)}}}}angular.module("SOGo.SchedulerUI").controller("CalendarListController",e)}(),function(){"use strict";e.$inject=["$rootScope","$scope","$window","$mdDialog","$log","$mdToast","Dialog","sgSettings","Preferences","Calendar"];function e(e,t,n,a,o,i,r,s,c,d){var u=this;u.activeUser=s.activeUser,u.service=d,u.newCalendar=function(e){r.prompt(l("New calendar"),l("Name of the Calendar")).then(function(e){var t=new d({name:e,isEditable:!0,isRemote:!1,owner:UserLogin});t.$id().then(function(){d.$add(t)})})},u.addWebCalendar=function(){r.prompt(l("Subscribe to a web calendar..."),l("URL of the Calendar"),{inputType:"url"}).then(function(t){d.$addWebCalendar(t).then(function(n){angular.isObject(n)&&a.show({parent:angular.element(document.body),clickOutsideToClose:!0,escapeToClose:!0,templateUrl:"UIxWebCalendarAuthDialog",controller:e,controllerAs:"$WebCalendarAuthDialogController",locals:{url:t,calendar:n}})})}),e.$inject=["scope","$mdDialog","url","calendar"];function e(e,t,n,a){var o=this,i=n.split("/"),r=i[2];o.title=l("Please identify yourself to %{0}").formatted(r),o.url=n,o.authenticate=function(e){!e.$valid&&e.$error.required||a.setCredentials(o.username,o.password).then(function(e){t.hide()},function(t){e.password.$setValidity("credentials",!1)})},o.cancel=function(){t.cancel()}}},u.subscribeToFolder=function(e){o.debug("subscribeToFolder "+e.owner+e.name),d.$subscribe(e.owner,e.name).then(function(e){i.show(i.simple().content(l("Successfully subscribed to calendar")).position("top right").hideDelay(3e3))})},u.filter={name:""},u.sortableMode=!1,u.toggleSortableMode=function(){u.sortableMode=!u.sortableMode,u.filter.name=""},u.resetSort=function(){d.saveFoldersOrder()},u.sortableCalendars={scrollableContainer:"#sidenav-content",containment:"md-list",orderChanged:function(){d.saveFoldersOrder(_.flatMap(d.$findAll(),"id"))},accept:function(e,t,n){return e.sortableScope.element[0]==t.element[0]}},this.$onInit=function(){u.categories=_.map(c.defaults.SOGoCalendarCategories,function(e){return{id:e.asCSSIdentifier(),name:e,color:c.defaults.SOGoCalendarCategoriesColors[e]}}),t.$watch(function(){return _.union(_.map(d.$calendars,function(e){return _.pick(e,["id","active","color"])}),_.map(d.$subscriptions,function(e){return _.pick(e,["id","active","color"])}),_.map(d.$webcalendars,function(e){return _.pick(e,["id","active","color"])}))},function(t,n){var a,i,r;a=_.intersectionBy(t,n,"id"),i=_.map(_.filter(a,function(e){var t=_.find(n,{id:e.id});return!_.isEqual(e,t)}),"id"),r=d.$q.when(),i.length>0&&(o.debug(i.join(", ")+" changed"),r=d.saveFoldersActivation(i)),(i.length>0||a.length!=t.length||a.length!=n.length)&&r.then(function(){e.$emit("calendars:list")})},!0)}}angular.module("SOGo.SchedulerUI").controller("CalendarsController",e)}(),function(){"use strict";e.$inject=["$rootScope","$mdDialog","Calendar","Component","AddressBook","Alarm","Account","stateComponent"];function e(e,t,n,a,o,i,r,s){var c,d=this;d.calendarService=n,d.service=a,d.component=s,d.close=function(){t.hide()},d.highPriority=function(){return d.component&&d.component.priority&&d.component.priority<5},d.cardFilter=function(e){return o.$filterAll(e)},d.newMessageWithAllRecipients=function(e){var t=_.map(d.component.attendees,function(e){return e.name+" <"+e.email+">"});u(e,t)},d.newMessageWithRecipient=function(e,t,n){u(e,[t+" <"+n+">"])},d.edit=p,d.editAllOccurrences=function(){(c=n.$get(d.component.pid).$getComponent(d.component.id)).$futureComponentData.then(function(){d.component=c,p()})},d.reply=h,d.replyAllOccurrences=function(){(c=n.$get(d.component.pid).$getComponent(d.component.id)).$futureComponentData.then(function(){c.reply=d.component.reply,c.delegatedTo=d.component.delegatedTo,c.$hasAlarm=d.component.$hasAlarm,c.alarm=d.component.alarm,h(c)})},d.deleteOccurrence=function(){d.component.remove(!0).then(function(){e.$emit("calendars:list"),t.hide()})},d.deleteAllOccurrences=function(){d.component.remove().then(function(){e.$emit("calendars:list"),t.hide()})},d.toggleRawSource=function(e){n.$$resource.post(d.component.pid+"/"+d.component.id,"raw").then(function(n){t.hide(),t.show({parent:angular.element(document.body),targetEvent:e,clickOutsideToClose:!0,escapeToClose:!0,template:['',' ',' '," "," ",' '+l("Close")+" "," "," "].join(""),controller:a,locals:{data:n}}),a.$inject=["scope","$mdDialog","data"];function a(e,t,n){e.data=n,e.close=function(){t.hide()}}})},d.copySelectedComponent=function(n){d.component.copyTo(n).then(function(){t.hide(),e.$emit("calendars:list")})},d.moveSelectedComponent=function(n){d.component.moveTo(n).then(function(){t.hide(),e.$emit("calendars:list")})},d.organizer=[s.organizer];function u(e,n){r.$findAll().then(function(a){var o=_.find(a,function(e){if(0===e.id)return e});o.$getMailboxes().then(function(a){o.$newMessage().then(function(a){angular.extend(a.editable,{to:n,subject:d.component.summary}),t.show({parent:angular.element(document.body),targetEvent:e,clickOutsideToClose:!1,escapeToClose:!1,templateUrl:"../Mail/UIxMailEditor",controller:"MessageEditorController",controllerAs:"editor",locals:{stateAccount:o,stateMessage:a}})})})}),e.preventDefault(),e.stopPropagation()}function p(){var e="vevent"==d.component.component?"Appointment":"Task";t.hide().then(function(){var n="UIx"+e+"EditorTemplate";t.show({parent:angular.element(document.body),clickOutsideToClose:!0,escapeToClose:!0,templateUrl:n,controller:"ComponentEditorController",controllerAs:"editor",locals:{stateComponent:d.component}})})}function h(n){(n||d.component).$reply().then(function(){e.$emit("calendars:list"),i.getAlarms(),t.hide()})}}t.$inject=["$rootScope","$scope","$log","$timeout","$mdDialog","sgFocus","User","CalendarSettings","Calendar","Component","AddressBook","Card","Alarm","stateComponent"];function t(e,t,n,a,o,i,r,s,c,d,u,p,h,m){var f,g,y=this;y.service=c,y.component=m,y.categories={},y.showRecurrenceEditor=y.component.$hasCustomRepeat,y.toggleRecurrenceEditor=function(){y.showRecurrenceEditor=!y.showRecurrenceEditor,y.component.$hasCustomRepeat=y.showRecurrenceEditor},y.recurrenceMonthDaysAreRequired=function(){return y.component&&"monthly"==y.component.repeat.frequency&&"bymonthday"==y.component.repeat.month.type},y.showAttendeesEditor=y.component.attendees&&y.component.attendees.length,y.toggleAttendeesEditor=function(){y.showAttendeesEditor=!y.showAttendeesEditor},y.changeFrequency=function(){"custom"==y.component.repeat.frequency&&(y.showRecurrenceEditor=!0)},y.changeCalendar=function(){y.component.attendees&&y.component.attendees.length>0&&y.component.initOrganizer(c.$get(y.component.destinationCalendar))},y.cardFilter=function(e){return u.$filterAll(e),u.$cards},y.addAttendee=function(e){var t,n,a=!y.component.attendees||0===y.component.attendees.length,o=c.$get(y.component.destinationCalendar),i=a?{organizerCalendar:o}:{},r=/([\w\!\#$\%\&\'\*\+\-\/\=\?\^\`{\|\}\~]+\.)*[\w\!\#$\%\&\'\*\+\-\/\=\?\^\`{\|\}\~]+@((((([a-z0-9]{1}[a-z0-9\-]{0,62}[a-z0-9]{1})|[a-z])\.)+[a-z]{2,})|(\d{1,3}\.){3}\d{1,3}(\:\d{1,5})?)/i;function s(e){var t=e.match(r),n=t[0],o=e.replace(new RegExp(" *"+n+">? *"),"");return y.showAttendeesEditor|=a,y.searchText="",new p({c_cn:_.trim(o,' "'),emails:[{value:n}]})}if(angular.isString(e)){for(n="",t=0;t5?l("low"):y.component.priority>4?l("normal"):l("high")},y.changeAlarmRelation=v,y.onAlarmChange=function(e){if("task"!==y.component.type)return;y.component.start||"START"!=y.component.alarm.relation?y.component.due||"END"!=y.component.alarm.relation||(y.component.alarm.relation="START"):y.component.alarm.relation="END"},y.reset=$,y.cancel=function(e){$(e),y.component.isNew&&(y.component=null);o.hide()},y.edit=C,y.save=function(t,n){v(t),t.$valid&&y.component.$save(n).then(function(t){e.$emit("calendars:list"),h.getAlarms(),o.hide()},function(e){e.status==s.ConflictHTTPErrorCode&&_.isObject(e.data.message)?y.attendeeConflictError=e.data.message:C(t)})},y.attendeeConflictError=!1,y.attendeesEditor={days:b(),hours:function(){for(var e=[],t=0;t<=23;t++)e.push(t.toString());return e}()},y.addStartDate=function(e){y.component.$addStartDate(),f=new Date(y.component.start.getTime()),y.component.due||(y.component.alarm.relation="START");v(e)},y.removeStartDate=function(e){y.component.$deleteStartDate(),y.component.due&&(y.component.alarm.relation="END");v(e)},y.addDueDate=function(e){y.component.$addDueDate(),new Date(y.component.due.getTime()),y.component.start||(y.component.alarm.relation="END");v(e)},y.removeDueDate=function(e){y.component.$deleteDueDate(),y.component.start&&(y.component.alarm.relation="START");v(e)},y.adjustStartTime=function(){if(y.component.start){0!==f.valueOf()-y.component.start.valueOf()&&(f=new Date(y.component.start.getTime()),"appointment"===y.component.type&&(y.component.end=new Date(y.component.start.getTime()),y.component.end.addMinutes(y.component.delta),g=new Date(y.component.end.getTime())),D())}},y.adjustEndTime=function(){if(y.component.end){var e=g.valueOf()-y.component.end.valueOf();0!==e&&((e=y.component.start.minutesTo(y.component.end))<0?y.component.end=new Date(g.getTime()):(y.component.delta=e,g=new Date(y.component.end.getTime())),D())}},y.adjustDueTime=function(){new Date(y.component.due.getTime())},y.component.start&&(f=new Date(y.component.start.getTime())),y.component.end&&(g=new Date(y.component.end.getTime())),y.component.due&&new Date(y.component.due.getTime());function v(e){"task"==y.component.type&&(!y.component.start&&"START"==y.component.alarm.relation||!y.component.due&&"END"==y.component.alarm.relation)?e.alarmRelation.$setValidity("alarm",!1):e.alarmRelation.$setValidity("alarm",!0)}function $(e){y.component.$reset(),e.$setPristine()}function C(e){y.attendeeConflictError=!1,e.$setPristine(),e.$setDirty()}function b(){var e=[];return y.component.start&&y.component.end&&(e=y.component.start.daysUpTo(y.component.end)),_.map(e,function(e){return{stringWithSeparator:e.stringWithSeparator(),getDayString:e.getDayString()}})}function D(){y.attendeesEditor.days=b(),y.component.updateFreeBusy()}}angular.module("SOGo.SchedulerUI").controller("ComponentController",e).controller("ComponentEditorController",t)}(),function(){"use strict";e.$inject=["$scope","Calendar"];function e(e,t){this.day=e.day,this.dayNumber=e.dayNumber,this.dayString=e.dayString,this.calendarData=function(){var n,a,o;return e.calendar?(n=e.calendar,o=_.filter(t.$findAll(),{active:1}),a=_.findIndex(o,function(e){return e.id==n}),{pid:n,index:a}):null}}angular.module("SOGo.SchedulerUI").directive("sgCalendarDay",function(){return{restrict:"E",scope:{day:"@sgDay",dayNumber:"@sgDayNumber",dayString:"@sgDayString",calendar:"@sgCalendar"},controller:e}})}(),function(){"use strict";e.$inject=["CalendarSettings"];function e(e){return{restrict:"E",scope:{block:"=sgBlock",clickBlock:"&sgClick"},replace:!0,template:function(e,t){var n=_.has(t,"sgCalendarGhost")?"":"::";return['",'
','
",'
','
{{'+n+"block.component.c_priority}} "," {{ "+n+"block.component.summary }}",'
',' ',' ',' ',' '," ",'
',' place ',"
","
","
",'
{{ block.startHour }}
','
{{ block.endHour }}
',"
"].join("")},link:function(e,t,n){var a,o,i;_.has(n,"sgCalendarGhost")||(a=100/e.block.siblings,o=e.block.position*a,0===(i=100-(e.block.position+1)*a)&&(i=10),t.css("left",o+"%"),t.css("right",i+"%"),e.block.component&&e.block.component.c_isallday||(t.addClass("starts"+e.block.start),t.addClass("lasts"+e.block.length)),e.block.userState&&t.addClass("sg-event--"+e.block.userState),e.block.component&&(t.addClass("bg-folder"+e.block.component.pid),t.addClass("contrast-bdr-folder"+e.block.component.pid),0===e.block.component.c_isopaque&&t.addClass("sg-event--transparent"),0===e.block.component.c_status&&t.addClass("sg-event--cancelled")))}}}angular.module("SOGo.SchedulerUI").directive("sgCalendarDayBlock",e)}(),function(){"use strict";angular.module("SOGo.SchedulerUI").directive("sgCalendarDayTable",function(){return{restrict:"E",scope:{blocks:"=sgBlocks",day:"@sgDay",clickBlock:"&sgClick"},template:[" '].join("")}})}(),function(){"use strict";e.$inject=["$rootScope","$timeout","CalendarSettings","Calendar","Component"];function e(e,t,n,a,o){return{restrict:"A",require:["^sgCalendarDay","^sgCalendarScrollView"],link:function(t,i,r,s){var c,l,d,u,p;c=i[0],l=s[0],d=s[1],u=-1,i.addClass("sg-event--ghost md-whiteframe-3dp ng-hide");var h=e.$on("calendar:dragstart",function(){var e,n,a;t.block=o.$ghost,(n=l.calendarData())&&(u=n.index,e=n.pid,p=t.block.pointerHandler.originalCalendar.index);e||(e=t.block.component.pid);(a=t.block.component.blocks[0].userState)&&i.addClass("sg-event--"+a);i.addClass("bg-folder"+e)}),m=e.$on("calendar:drag",function(){var e,o,r,s,c,h,m,f;if(e=!1,a.$view&&a.$view.type==d.type){if(o="multiday-allday"===d.type,r=t.block.component.c_isallday,s=t.block.pointerHandler.currentEventCoordinates.dayNumber,c=t.block.pointerHandler.currentEventCoordinates.start,m=t.block.pointerHandler.currentEventCoordinates.duration,f=n.EventDragDayLength-c,angular.isUndefined(m))return;for((h=m)>f&&(h=f),s>-1&&(u<0&&s==l.dayNumber||s==u&&(p==u||!t.block.component.isException))&&(e=!0,o||(r||(t.block.startHour=($=c,g($))),a.$view.quarterHeight?(i.css("top",c*a.$view.quarterHeight+"px"),i.css("height",h*a.$view.quarterHeight+"px")):i.css("top",a.$view.topOffset+"px")),i.removeClass("fg-folder"+t.block.component.pid),i.removeClass("sg-event--ghost--last"),i.addClass("sg-event--ghost--first"),t.block.isFirst=!0),m-=h,s++;!e&&m&&s<=l.dayNumber;)(h=m)>n.EventDragDayLength&&(h=n.EventDragDayLength),s>-1&&s==l.dayNumber&&(e=!0,o||(i.css("top",a.$view.topOffset+"px"),a.$view.quarterHeight&&i.css("height",h*a.$view.quarterHeight+"px")),i.removeClass("sg-event--ghost--first"),i.removeClass("sg-event--ghost--last"),i.addClass("fg-folder"+t.block.component.pid)),m-=h,s++,c=0;m||(o?i.addClass("sg-event--ghost--last"):r||(t.block.endHour=(y=c,v=h,g((y+v)%n.EventDragDayLength))))}var y,v;var $;e?i.removeClass("ng-hide"):i.addClass("ng-hide")}),f=e.$on("calendar:dragend",function(){_.forEachRight(c.classList,function(e){/^bg-folder/.test(e)&&i.removeClass(e)}),i.addClass("ng-hide")});t.$on("$destroy",function(){h(),m(),f()});function g(e){var t,n,a;return t=15*e,(n=Math.floor(t/60))<10&&(n="0"+n),(a=t%60)<10&&(a="0"+a),n+":"+a}}}}angular.module("SOGo.SchedulerUI").directive("sgCalendarGhost",e)}(),function(){"use strict";e.$inject=["CalendarSettings"];function e(e){return{restrict:"E",scope:{component:"=sgComponent",clickComponent:"&sgClick"},replace:!0,template:function(e,t){return['','
",'
'," {{ ::component.c_title }}",'
',' ',' ',' ',' '," ",'
',' access_time ',"
",'
',' place ',"
","
"].join("")},link:function(e,t,n){e.component.viewable&&t.addClass("md-clickable");e.component.userstate&&t.addClass("sg-event--"+e.component.userstate);t.addClass("bg-folder"+e.component.pid),t.addClass("contrast-bdr-folder"+e.component.pid),0===e.component.c_isopaque&&t.addClass("sg-event--transparent");0===e.component.c_status&&t.addClass("sg-event--cancelled")}}}angular.module("SOGo.SchedulerUI").directive("sgCalendarListEvent",e)}(),function(){e.$inject=["$rootScope","$scope","$element","$timeout","$mdToast","$mdPanel","$mdMedia","$mdSidenav","sgConstant","Dialog","Calendar"];function e(e,t,n,a,o,i,r,s,c,d,u){var p=this;this.$onInit=function(){this.editMode=!1},this.$postLink=function(){this.clickableElement=n.find("p")[0],this.nameElements=this.clickableElement.getElementsByClassName("sg-calendar-name"),this.inputContainer=n.find("md-input-container")[0],this.inputElement=n.find("input")[0],this.moreOptionsButton=_.last(n.find("md-icon")),this.updateCalendarName()},this.updateCalendarName=function(){_.forEach(this.nameElements,function(e){e.innerHTML=p.calendar.name})},this.editFolder=function(e){e.stopPropagation(),e.preventDefault(),this.editMode=!0,this.inputElement.value=this.calendar.name,this.clickableElement.classList.add("ng-hide"),this.inputContainer.classList.remove("ng-hide"),"touchend"==e.srcEvent.type?a(function(){p.inputElement.focus(),p.inputElement.select()},200):(this.inputElement.select(),this.inputElement.focus()),this.panel&&this.panel.close()},this.saveFolder=function(e){this.inputElement.disabled||(this.calendar.name=this.inputElement.value,this.inputElement.disabled=!0,this.calendar.$rename().then(function(e){p.editMode=!1,p.inputContainer.classList.add("ng-hide"),p.clickableElement.classList.remove("ng-hide"),p.updateCalendarName()}).finally(function(){p.inputElement.disabled=!1}))},this.revertEditing=function(){this.editMode=!1,this.clickableElement.classList.remove("ng-hide"),this.inputContainer.classList.add("ng-hide"),this.inputElement.value=this.calendar.name},this.confirmDelete=function(){this.calendar.isSubscription?this.calendar.$delete().catch(function(e,t){d.alert(l('An error occured while deleting the calendar "%{0}".',p.calendar.name),l(e.error))}):d.confirm(l("Warning"),l('Are you sure you want to delete the calendar "%{0}"?',this.calendar.name),{ok:l("Delete")}).then(function(){p.calendar.$delete().catch(function(e,t){d.alert(l('An error occured while deleting the calendar "%{0}".',p.calendar.name),l(e.error))})})},this.showMenu=function(t){var n=i.newPanelPosition().relativeTo(this.moreOptionsButton).addPanelPosition(i.xPosition.ALIGN_START,i.yPosition.ALIGN_TOPS),a=i.newPanelAnimation().openFrom(this.moreOptionsButton).duration(100).withAnimation(i.animation.FADE),r={attachTo:angular.element(document.body),locals:{itemCtrl:this,calendar:this.calendar,editFolder:angular.bind(this,this.editFolder),confirmDelete:angular.bind(this,this.confirmDelete)},bindToController:!0,controller:s,controllerAs:"$menuCtrl",position:n,animation:a,targetEvent:t,templateUrl:"UIxCalendarMenu",trapFocus:!0,clickOutsideToClose:!0,escapeToClose:!0,focusOnOpen:!0};i.open(r).then(function(e){p.panel=e,e.panelEl.one("click",function(){e.close()})}),s.$inject=["mdPanelRef","$mdDialog","FileUploader","User"];function s(n,a,i,r){var s=this;this.showOnly=function(){_.forEach(u.$findAll(),function(e){s.calendar.id==e.id?e.active=1:e.active=0})},this.showAll=function(){_.forEach(u.$findAll(),function(e){e.active=1})},this.showProperties=function(){var e=this.calendar.color;a.show({templateUrl:this.calendar.id+"/properties",controller:t,controllerAs:"properties",clickOutsideToClose:!0,escapeToClose:!0,locals:{srcCalendar:this.calendar}}).catch(function(){s.calendar.color=e}),t.$inject=["$scope","$mdDialog","srcCalendar"];function t(e,t,n){var a=this;a.calendar=new u(n.$omit()),a.saveProperties=function(e){e.$valid&&(a.calendar.$save(),n.init(a.calendar.$omit()),t.hide())},a.close=function(){t.cancel()},e.$watch(function(){return a.calendar.color},function(){n.color=a.calendar.color})}},this.showLinks=function(){a.show({parent:angular.element(document.body),clickOutsideToClose:!0,escapeToClose:!0,templateUrl:this.calendar.id+"/links",controller:e,controllerAs:"links",locals:{calendar:this.calendar}}),e.$inject=["$mdDialog","calendar"];function e(e,t){this.calendar=t,this.close=function(){e.hide()}}},this.importCalendar=function(){a.show({parent:angular.element(document.body),targetEvent:t,clickOutsideToClose:!0,escapeToClose:!0,templateUrl:"UIxCalendarImportDialog",controller:n,controllerAs:"$CalendarImportDialogController",locals:{folder:this.calendar}}),n.$inject=["scope","$mdDialog","folder"];function n(t,n,a){this.uploader=new i({url:ApplicationBaseURL+[a.id,"import"].join("/"),autoUpload:!0,queueLimit:1,filters:[{name:r,fn:r}],onSuccessItem:function(t,a,i,r){var s;n.hide(),0===a.imported?s=l("No event was imported."):(s=l("A total of %{0} events were imported in the calendar.",a.imported),e.$emit("calendars:list")),o.show(o.simple().content(s).position("top right").hideDelay(3e3))},onErrorItem:function(e,t,n,a){o.show({template:["",' ',' error_outline '," "+l("An error occurred while importing calendar.")+" ","
"," "].join(""),position:"top right",hideDelay:3e3})}}),this.close=function(){n.hide()};function r(e){var t=0===e.type.indexOf("text")||/\.(ics)$/.test(e.name);return t||o.show({template:["",' ',' error_outline '," "+l("Select an iCalendar file (.ics).")+" ","
"," "].join(""),position:"top right",hideDelay:3e3}),t}}},this.share=function(){this.calendar.$acl.$users().then(function(){a.show({templateUrl:s.calendar.id+"/UIxAclEditor",controller:"AclController",controllerAs:"acl",clickOutsideToClose:!0,escapeToClose:!0,locals:{usersWithACL:s.calendar.$acl.users,User:r,folder:s.calendar}})})}}}}angular.module("SOGo.SchedulerUI").controller("sgCalendarListItemController",e).directive("sgCalendarListItem",function(){return{restrict:"C",scope:{},bindToController:{calendar:"=sgCalendar"},template:[' ','',' ',' error ',' ',' ',"
",'',' '," ",''," drag_handle "," ",''].join(""),controller:"sgCalendarListItemController",controllerAs:"$ctrl"}})}(),function(){"use strict";angular.module("SOGo.SchedulerUI").directive("sgCalendarMonthDay",function(){return{restrict:"E",scope:{blocks:"=sgBlocks",day:"@sgDay",clickBlock:"&sgClick"},template:[" '].join("")}})}(),function(){"use strict";angular.module("SOGo.SchedulerUI").directive("sgCalendarMonthEvent",function(){return{restrict:"E",scope:{block:"=sgBlock",clickBlock:"&sgClick"},replace:!0,template:function(e,t){var n=_.has(t,"sgCalendarGhost")?"":"::";return['','
",'
{{ '+n+"block.component.startHour }} ",'
{{'+n+"block.component.c_priority}} "," {{ "+n+"block.component.summary }}",'
',' ',' ',' ',' '," ","
"].join("")},link:function(e,t,n){_.has(n,"sgCalendarGhost")||(e.block.userState&&t.addClass("sg-event--"+e.block.userState),e.block.component&&(t.addClass("bg-folder"+e.block.component.pid),0===e.block.component.c_isopaque&&t.addClass("sg-event--transparent"),0===e.block.component.c_status&&t.addClass("sg-event--cancelled")))}}})}(),function(){"use strict";e.$inject=["$rootScope","$window","$document","$q","$timeout","$mdGesture","Calendar","Component","Preferences"];function e(e,n,a,o,i,r,s,c,l){return{restrict:"A",scope:{type:"@sgCalendarScrollView"},controller:t,link:function(t,a,o,r){var d,u,p=!1;d=null,u=t.type,p="multicolumndayview"==a.attr("sg-view"),r.isMultiColumn=p,i(function(){if(d=new h(a,u),"monthly"!=u){var e,t,n;l.defaults.SOGoDayStartTime&&(e=l.defaults.SOGoDayStartTime.split(":"),t=document.getElementById("hour"+parseInt(e[0])),n=parseInt(e[1])*d.quarterHeight,d.element.scrollTop=t.offsetTop+n)}r.quarterHeight=d.quarterHeight}),t.$on("$destroy",function(){d&&d.$destroy()});function h(t,a){this.$element=t,this.element=t[0],this.type=a,this.quarterHeight=this.getQuarterHeight(),this.scrollStep=6*this.quarterHeight,this.dayNumbers=this.getDayNumbers(),this.maxX=this.getMaxColumns(),this.deregisterDragStart=e.$on("calendar:dragstart",angular.bind(this,this.onDragStart)),this.deregisterDragStop=e.$on("calendar:dragend",angular.bind(this,this.onDragEnd)),this.bindedUpdateCoordinates=angular.bind(this,this.updateCoordinates),this.bindedUpdateFromPointerHandler=angular.bind(this,this.updateFromPointerHandler),this.updateCoordinates(),angular.element(n).on("resize",this.bindedUpdateCoordinates)}h.prototype={$destroy:function(){this.deregisterDragStart(),this.deregisterDragStop(),this.$element.off("mousemove",this.bindedUpdateFromPointerHandler),angular.element(n).off("resize",this.bindedUpdateCoordinates)},onDragStart:function(){this.$element.on("mousemove",this.bindedUpdateFromPointerHandler),this.updateCoordinates(),this.updateFromPointerHandler()},onDragEnd:function(){this.$element.off("mousemove",this.bindedUpdateFromPointerHandler),s.$view=null},getQuarterHeight:function(){var e,t,n=null;return e=document.getElementById("hour0"),t=document.getElementById("hour23"),e&&t&&(n=(t.offsetTop-e.offsetTop)/92),n},getDayDimensions:function(e){var t,n,a,o,i,r,s;return n=t=a=o=0,(i=this.element.getElementsByClassName("day")).length>0&&(n=(r=i[0].getBoundingClientRect()).height,t=r.width,a=r.left-e,(s=i[0].getElementsByClassName("sg-calendar-tile-header")).length>0&&(o=s[0].clientHeight)),{height:n,width:t,offset:{left:a,top:o}}},getDayNumbers:function(){var e;return e=this.element.getElementsByTagName("sg-calendar-day"),_.map(e,function(e,t){return p?t:parseInt(e.attributes["sg-day-number"].value)})},getMaxColumns:function(){var e,t=0;return"monthly"==this.type?(e=this.element.getElementsByTagName("md-grid-list")[0],t=parseInt(e.attributes["md-cols"].value)-1):t=this.element.getElementsByClassName("day").length-1,t},updateCoordinates:function(){var e,t;e=this.element.getBoundingClientRect(),t=this.getDayDimensions(e.left),angular.extend(this,{coordinates:{x:e.left,y:e.top},dayHeight:t.height,dayWidth:t.width,daysOffset:t.offset.left,topOffset:t.offset.top})},updateFromPointerHandler:function(){var e,t,n,a,o,i;e=c.$ghost.pointerHandler,this.coordinates&&e&&(t=e.getContainerBasedCoordinates(this))&&(s.$view=this,n=(new Date).getTime(),(!this.lastScroll||n>this.lastScroll+100)&&(this.lastScroll=n,(a=t.y-this.scrollStep)<0?(a<(o=-this.element.scrollTop)&&(a=o),this.element.scrollTop+=a):(i=(a=t.y+this.scrollStep)-this.element.clientHeight)>0&&(this.element.scrollTop+=i)))}}}}}t.$inject=["$scope"];function t(e){this.type=e.type}angular.module("SOGo.SchedulerUI").directive("sgCalendarScrollView",e)}(),function(){"use strict";angular.module("SOGo.SchedulerUI").directive("sgCategoryStylesheet",function(){return{restrict:"E",require:"ngModel",scope:{ngModel:"="},replace:!0,template:['"].join("")}})}(),function(){"use strict";e.$inject=["$rootScope","$timeout","$log","Preferences","Calendar","CalendarSettings","Component"];function e(e,t,n,a,o,i,r){return{restrict:"CA",require:"^sgCalendarDay",link:function(s,c,d,u){if(s.block){if(!s.block.component.editable||s.block.userState)return void c.removeClass("sg-draggable-calendar-block");!function(){var e,t,n,a,o,i,r,l,d,u;if(s.block.length<3)return;e=s.block.component,t=s.block.dayIndex,n=_.findIndex(e.blocks,["dayIndex",t]),a=0===n,o=n===e.blocks.length-1,(i=angular.element('
')).addClass("bdr-folder"+e.pid),e.c_isallday||"SG-CALENDAR-MONTH-DAY"===c[0].parentNode.tagName?(a&&(r=angular.element('
').append(i),c.append(r)),o&&(l=angular.element('
').append(i.clone()),c.append(l))):(a&&(d=angular.element('
').append(i),c.append(d)),o&&(u=angular.element('
').append(i.clone()),c.append(u)))}()}c.on("mousedown",p),s.$on("$destroy",function(){c.off("mousedown",p),c.off("mousemove",h)});function p(e){var t,n,a,o;e.stopPropagation(),e.target.scrollHeight>e.target.clientHeight+1&&(a=e.target.getBoundingClientRect(),o=a.left+a.width-18,e.pageX>o)||(t="move-event",s.block&&s.block.component?"dragGrip-top"==e.target.className||"dragGrip-left"==e.target.className?t="change-start":"dragGrip-bottom"!=e.target.className&&"dragGrip-right"!=e.target.className||(t="change-end"):t="change-end",(n=new y(t)).initFromEvent(e),r.$ghost.pointerHandler=n,angular.element(document).one("mouseup",m),angular.element(document).on("mousemove",h))}function h(e){var n=r.$ghost.pointerHandler;t(function(){n.updateFromEvent(e)})}function m(t){var n,a;n=s.block,a=r.$ghost.pointerHandler,angular.element(document).off("mousemove",h),a.dragHasStarted&&(e.$emit("calendar:dragend"),a.dragHasStarted=!1),n&&n.component&&_.forEach(n.component.blocks,function(e){e.dragging=!1})}function f(){}f.prototype={x:-1,y:-1,getDelta:function(e){var t=new f;return t.x=this.x-e.x,t.y=this.y-e.y,o.$view&&(t.days=o.$view.dayNumbers[this.x]-o.$view.dayNumbers[e.x]),t},getDistance:function(e){var t=this.getDelta(e);return Math.sqrt(t.x*t.x+t.y*t.y)},clone:function(){var e=new f;return e.x=this.x,e.y=this.y,e}};function g(e){this.setEventType(e)}g.prototype={dayNumber:-1,weekDay:-1,start:-1,duration:-1,eventType:null,setEventType:function(e){this.eventType=e},initFromBlock:function(e){var t=-1;"monthly"===this.eventType?(this.start=0,this.duration=e.component.blocks.length*i.EventDragDayLength):(this.start=e.component.blocks[0].start,this.duration=_.sumBy(e.component.blocks,function(e){var n,a;return a=e.dayNumber,n=t<0?0:a-t-1,t=a,e.length+n*i.EventDragDayLength}))},initFromCalendar:function(e){this.dayNumber=e},getDelta:function(e){var t=new g;return t.dayNumber=this.dayNumber-e.dayNumber,t.start=this.start-e.start,t.duration=this.duration-e.duration,t},_quartersToHM:function(e){var t=15*e,n=Math.floor(t/60);n<10&&(n="0"+n);var a=t%60;return a<10&&(a="0"+a),n+":"+a},getStartTime:function(){return this._quartersToHM(this.start)},getEndTime:function(){var e=(this.start+this.duration)%i.EventDragDayLength;return this._quartersToHM(e)},clone:function(){var e=new g;return e.dayNumber=this.dayNumber,e.start=this.start,e.duration=this.duration,e}};function y(e){this.dragMode=e}y.prototype={originalCoordinates:null,currentCoordinates:null,originalViewCoordinates:null,currentViewCoordinates:null,originalEventCoordinates:null,currentEventCoordinates:null,originalCalendar:null,dragHasStarted:!1,getEventViewCoordinates:null,initFromBlock:function(e){this.currentEventCoordinates=new g(this.eventType),this.originalEventCoordinates=new g(this.eventType),this.originalEventCoordinates.initFromBlock(e)},initFromEvent:function(e){this.currentCoordinates=new f,this.updateFromEvent(e),this.originalCoordinates=this.currentCoordinates.clone()},initFromCalendar:function(e){this.originalCalendar=e,this.currentEventCoordinates.initFromCalendar(e.index),this.originalEventCoordinates.initFromCalendar(e.index)},updateFromEvent:function(t){if(this.currentCoordinates.x=t.pageX,this.currentCoordinates.y=t.pageY,this.dragHasStarted&&o.$view){var i=this.getEventViewCoordinates(o.$view);this.originalViewCoordinates||(this.originalViewCoordinates=this.getEventViewCoordinates(o.$view,this.originalCoordinates),r.$ghost.component.isNew&&(this.setTimeFromQuarters(r.$ghost.component.start,this.originalViewCoordinates.y),n.debug("new event start date "+r.$ghost.component.start))),this.currentViewCoordinates&&i&&i.x==this.currentViewCoordinates.x&&i.y==this.currentViewCoordinates.y||(this.currentViewCoordinates=i,this.originalViewCoordinates&&(i||(this.currentViewCoordinates=this.originalViewCoordinates.clone()),this.updateEventCoordinates()))}else if(this.originalCoordinates&&this.currentCoordinates&&!this.dragHasStarted){var d=this.getDistance();d>3&&(this.dragHasStarted=!0,function(t){var i,d,p,h,m,f,g,y,v;p=c.hasClass("clickableHourCell"),h="SG-CALENDAR-MONTH-DAY"==c[0].parentNode.tagName||c.hasClass("clickableDayCell"),v=u.calendarData(),s.block&&s.block.component?i=s.block:(m=u.dayString.parseDate(a.$mdDateLocaleProvider,"%Y-%m-%e"),f={type:"appointment",pid:v?v.pid:o.$defaultCalendar(),summary:l("New Event"),startDate:m,isAllDay:p?0:1},g=new r(f),(i={component:g,dayNumber:u.dayNumber,length:0}).component.blocks=[i]);d="multiday",h?d="monthly":i.component.c_isallday&&(d="multiday-allday");_.forEach(i.component.blocks,function(e){e.dragging=!0}),(y=r.$ghost.pointerHandler).prepareWithEventType(d),y.initFromBlock(i),v&&y.initFromCalendar(v);r.$ghost.component=i.component,n.debug("emit calendar:dragstart "+d),e.$emit("calendar:dragstart")}())}},updateEventCoordinates:function(){var t,a=this.currentViewCoordinates.getDelta(this.originalViewCoordinates),r=a.days*i.EventDragDayLength+a.y;n.debug("quarters delta "+r),angular.isUndefined(this.originalEventCoordinates.start)?(this.originalEventCoordinates.dayNumber=o.$view.dayNumbers[this.originalViewCoordinates.x],this.originalEventCoordinates.start=this.originalViewCoordinates.y):this.originalEventCoordinates.dayNumber<0&&(this.originalEventCoordinates.dayNumber=o.$view.dayNumbers[s.block.component.blocks[0].dayIndex]),this.currentEventCoordinates.dayNumber=this.originalEventCoordinates.dayNumber,"move-event"==this.dragMode?(this.currentEventCoordinates.start=this.originalEventCoordinates.start+r,this.currentEventCoordinates.duration=this.originalEventCoordinates.duration):"change-start"==this.dragMode?(t=this.originalEventCoordinates.duration-r)>0?(this.currentEventCoordinates.start=this.originalEventCoordinates.start+r,this.currentEventCoordinates.duration=t):t<0&&(this.currentEventCoordinates.start=this.originalEventCoordinates.start+this.originalEventCoordinates.duration,this.currentEventCoordinates.duration=-t):"change-end"==this.dragMode&&((t=this.originalEventCoordinates.duration+r)>0?(this.currentEventCoordinates.start=this.originalEventCoordinates.start,this.currentEventCoordinates.duration=t):t<0&&(this.currentEventCoordinates.start=this.originalEventCoordinates.start+t,this.currentEventCoordinates.duration=-t));var c;this.currentEventCoordinates.start<0?(c=Math.ceil(-this.currentEventCoordinates.start/i.EventDragDayLength),this.currentEventCoordinates.start+=c*i.EventDragDayLength,this.currentEventCoordinates.dayNumber-=c):this.currentEventCoordinates.start>=i.EventDragDayLength&&(c=Math.floor(this.currentEventCoordinates.start/i.EventDragDayLength),this.currentEventCoordinates.start-=c*i.EventDragDayLength,this.currentEventCoordinates.dayNumber+=c),n.debug("event coordinates "+JSON.stringify(this.currentEventCoordinates)),e.$emit("calendar:drag")},getContainerBasedCoordinates:function(e,t){var n=t||this.currentCoordinates,a=n.getDelta(e.coordinates),o=e.element;return(a.xo.clientWidth||a.y<0||a.y>o.clientHeight)&&(a=null),a},prepareWithEventType:function(e){var t={multiday:this.getEventMultiDayViewCoordinates,"multiday-allday":this.getEventMultiDayAllDayViewCoordinates,monthly:this.getEventMonthlyViewCoordinates,unknown:null},n=t[e];this.eventType=e,this.getEventViewCoordinates=n},getEventMultiDayViewCoordinates:function(e,t){var n=this.getEventMultiDayAllDayViewCoordinates(e,t);if(n){var a=e.quarterHeight,o=this.getContainerBasedCoordinates(e,t);o.y+=e.element.scrollTop,n.y=Math.floor((o.y-i.EventDragHorizontalOffset)/a);var r=i.EventDragDayLength-1;n.y<0?n.y=0:n.y>r&&(n.y=r)}return n},getEventMultiDayAllDayViewCoordinates:function(e,t){var n,a=this.getContainerBasedCoordinates(e,t);if(a){n=new f;var i=e.dayWidth,r=e.daysOffset;n.x=Math.floor((a.x-r)/i);var s=0,c=o.$view.maxX;if("move-event"!=this.dragMode){var l=u.calendarData();l&&(s=c=l.index)}n.xc&&(n.x=c),n.y=0}else n=null;return n},getEventMonthlyViewCoordinates:function(e,t){var n,a=this.getContainerBasedCoordinates(e,t);if(a){n=new f;var o=e.maxX,i=e.dayWidth,r=e.daysOffset,s=e.dayHeight,c=Math.floor((a.y-0)/s);c<0&&(c=0),n.x=Math.floor((a.x-r)/i),n.x<0?n.x=0:n.x>o&&(n.x=o),n.x+=(o+1)*c,n.y=0}else n=null;return n},getDistance:function(){return this.currentCoordinates.getDistance(this.originalCoordinates)},setTimeFromQuarters:function(e,t){var n,a;n=Math.floor(t/4),a=t%4*15,e.setHours(n,a)}}}}}angular.module("SOGo.SchedulerUI").directive("sgDraggableCalendarBlock",e)}(),function(){"use strict";e.$inject=["$scope","$element","$timeout"];function e(e,t,n){var a,o=this,i=t.controller("sgCalendarScrollView");e.nowDay=null,e.lineElement=null,e.updateLine=function(r){var s=new Date,c=s.getDayString(),l=s.getHours(),d=4*e.quarterHeight,u=s.getMinutes(),p=e.quarterHeight/15,h=parseInt(l*d+u*p-1);(r||c!=e.nowDay)&&(e.lineElement&&e.lineElement.remove(),e.lineElement=function(e,n){var a=angular.element("");i.isMultiColumn?n&&n[0].attributes["sg-day"].value==e&&t.append(a):_.forEach(n,function(t){t.attributes["sg-day"].value==e&&angular.element(t).find("div").eq(0).append(a)});return a}(c,e.days),e.nowDay=c);e.lineElement&&(e.lineElement.css("top",h+"px"),a=n(angular.bind(o,e.updateLine),6e4))},e.$on("$destroy",function(){a&&n.cancel(a)})}angular.module("SOGo.SchedulerUI").directive("sgNowLine",function(){return{restrict:"C",require:"^^sgCalendarScrollView",link:function(e,t,n,a){function o(){return t.find("sg-calendar-day")}var i=e.$watch(function(){return a.quarterHeight},function(t){if(t){i(),e.quarterHeight=t;var n=e.$watch(o,function(t){t.length&&(n(),e.days=t,e.updateLine())})}})},controller:e}})}();
+!function(){"use strict";function e(t){if(this.init(t),this.name&&!this.id){var n=e.$$resource.create("createFolder",this.name);this.$unwrap(n)}}e.$factory=["$q","$timeout","$log","sgSettings","Resource","Preferences","Component","Acl",function(t,n,a,o,i,r,s,c){return angular.extend(e,{$q:t,$timeout:n,$log:a,$$resource:new i(o.activeUser("folderURL")+"Calendar",o.activeUser()),$Preferences:r,$Component:s,$$Acl:c,activeUser:o.activeUser(),$view:null}),e}];try{angular.module("SOGo.SchedulerUI")}catch(e){angular.module("SOGo.SchedulerUI",["SOGo.Common"])}angular.module("SOGo.SchedulerUI").value("CalendarSettings",{EventDragDayLength:96,EventDragHorizontalOffset:3,ConflictHTTPErrorCode:409}).factory("Calendar",e.$factory),e.$defaultCalendar=function(){var t;return"first"==e.$Preferences.defaults.SOGoDefaultCalendar&&(t=_.find(e.$findAll(null,!0),function(e){return e.active}))?t.id:"personal"},e.$add=function(t){var n,a;n=t.isWebCalendar?this.$webcalendars:t.isSubscription?this.$subscriptions:this.$calendars,(a=_.findIndex(n,function(e,n){return"personal"==t.id||"personal"!=e.id&&e.name.localeCompare(t.name)>0}))<0?n.push(t):n.splice(a,0,t),e.$Preferences.settings.Calendar.FoldersOrder&&e.saveFoldersOrder(_.flatMap(e.$findAll(),"id")),e.$reloadAll()},e.$findAll=function(t,n){var a=this;if(t)this.$calendars=[],this.$subscriptions=[],this.$webcalendars=[],angular.forEach(t,function(t,n){var o=new e(t);o.isWebCalendar?a.$webcalendars.push(o):o.isSubscription?a.$subscriptions.push(o):a.$calendars.push(o)});else if(angular.isUndefined(this.$calendars))return this.$calendars=[],this.$subscriptions=[],this.$webcalendars=[],e.$$resource.fetch("calendarslist").then(function(t){return e.$findAll(t.calendars,n)});return n?_.union(this.$calendars,_.filter(this.$subscriptions,function(e){return e.isOwned||e.acls.objectCreator})):_.union(this.$calendars,this.$subscriptions,this.$webcalendars)},e.$reloadAll=function(){var t=this;e.$$resource.fetch("calendarslist").then(function(n){_.forEach(n.calendars,function(n){var a,o;a=n.isWebCalendar?t.$webcalendars:n.owner!=e.activeUser.login?t.$subscriptions:t.$calendars,(o=_.find(a,function(e){return e.id==n.id}))&&o.init(n)})})},e.$get=function(t){var n;return(n=_.find(e.$calendars,function(e){return e.id==t}))||(n=_.find(e.$subscriptions,function(e){return e.id==t})),n||(n=_.find(e.$webcalendars,function(e){return e.id==t})),n},e.$getIndex=function(t){var n;return(n=_.indexOf(_.map(e.$calendars,"id"),t))<0&&(n=_.indexOf(_.map(e.$subscriptions,"id"),t)),n<0&&(n=_.indexOf(_.map(e.$webcalendars,"id"),t)),n},e.$subscribe=function(t,n){var a=this;return e.$$resource.userResource(t).fetch(n,"subscribe").then(function(t){var n=new e(angular.extend({active:1},t));return _.find(a.$subscriptions,function(e){return e.id==t.id})||e.$add(n),n})},e.$addWebCalendar=function(t){var n=e.$q.defer();return _.find(this.$webcalendars,function(e){return e.urls.webCalendarURL==t})?n.reject():e.$$resource.post(null,"addWebCalendar",{url:t}).then(function(a){angular.extend(a,{isWebCalendar:!0,isEditable:!0,isRemote:!1,owner:e.activeUser.login,urls:{webCalendarURL:t}});var o=new e(a);e.$$resource.fetch(o.id,"reload").then(function(t){e.$log.debug(JSON.stringify(t,void 0,2)),e.$add(o),n.resolve()},function(e){401==e.status?n.resolve(o):n.reject()})},n.reject),n.promise},e.reloadWebCalendars=function(){var t=[];return _.forEach(this.$webcalendars,function(n){var a=e.$$resource.fetch(n.id,"reload");a.then(function(e){n.$error=!1},function(e){n.$error=l(e.statusText)}),t.push(a)}),e.$q.all(t)},e.$deleteComponents=function(t){var n={},a=[];return _.forEach(t,function(e){angular.isDefined(n[e.pid])||(n[e.pid]=[]),n[e.pid].push(e.id)}),_.forEach(n,function(t,n){a.push(e.$$resource.post(n,"batchDelete",{uids:t}))}),e.$q.all(a)},e.saveFoldersActivation=function(t){var n={};return _.forEach(t,function(t){var a=e.$get(t);n[a.id]=a.active}),e.$$resource.post(null,"saveFoldersActivation",n)},e.saveFoldersOrder=function(t){return this.$$resource.post(null,"saveFoldersOrder",{folders:t}).then(function(){if(e.$Preferences.settings.Calendar.FoldersOrder=t,!t)return e.$$resource.fetch("calendarslist").then(function(t){return e.$findAll(t.calendars)})})},e.prototype.init=function(t){this.color=this.color||"#AAAAAA",this.active=1,angular.extend(this,t),this.id&&(this.$acl=new e.$$Acl("Calendar/"+this.id)),this.isOwned=e.activeUser.isSuperUser||this.owner==e.activeUser.login,this.isSubscription=!this.isRemote&&this.owner!=e.activeUser.login,angular.isUndefined(this.$shadowData)&&(this.$shadowData=this.$omit())},e.prototype.$id=function(){return this.id?e.$q.when(this.id):this.$futureCalendarData.then(function(e){return e.id})},e.prototype.getClassName=function(e){return angular.isUndefined(e)&&(e="fg"),e+"-folder"+this.id},e.prototype.$rename=function(){var t,n,a=this;return this.name==this.$shadowData.name?e.$q.when():(n=this.isWebCalendar?e.$webcalendars:this.isSubscription?e.$subscriptions:e.$calendars,(t=_.indexOf(_.map(n,"id"),this.id))>-1?this.$save().then(function(){n.splice(t,1),e.$add(a)}):e.$q.reject())},e.prototype.$delete=function(){var t,n,a=this;return this.isSubscription?(n=e.$$resource.fetch(this.id,"unsubscribe"),t=e.$subscriptions):(n=e.$$resource.remove(this.id),t=this.isWebCalendar?e.$webcalendars:e.$calendars),n.then(function(){var e=_.indexOf(_.map(t,"id"),a.id);t.splice(e,1)})},e.prototype.$reset=function(){var e=this;angular.forEach(this,function(t,n){"constructor"!=n&&"$"!=n[0]&&delete e[n]}),angular.extend(this,this.$shadowData),this.$shadowData=this.$omit()},e.prototype.$save=function(){var t=this;return e.$$resource.save(this.id,this.$omit()).then(function(e){return t.$shadowData=t.$omit(),e},function(n){return e.$log.error(JSON.stringify(n,void 0,2)),t.$reset(),n})},e.prototype.setCredentials=function(t,n){var a=this,o=e.$q.defer();return e.$$resource.post(this.id,"set-credentials",{username:t,password:n}).then(function(){e.$$resource.fetch(a.id,"reload").then(function(t){e.$add(a),o.resolve()},function(e){401==e.status?o.reject(l("Wrong username or password")):o.reject(e.statusText)})},o.reject),o.promise},e.prototype.export=function(){var t;return t={type:"application/octet-stream",filename:this.name+".ics"},e.$$resource.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","User","Card","Gravatar","Resource",function(t,n,a,o,i,r,s,c,l,d,u){return angular.extend(e,{STATUS:r,$q:t,$timeout:n,$log:a,$rootScope:o,$settings:i,$User:c,$Preferences:s,$Card:l,$gravatar:d,$$resource:new u(i.activeUser("folderURL")+"Calendar",i.activeUser()),timeFormat:"%H:%M",$query:{value:"",search:"title_Category_Location"},$queryEvents:{sort:"start",asc:1,filterpopup:"view_next7"},$queryTasks:{sort:"status",asc:1,filterpopup:"view_incomplete"},$refreshTimeout:null,$ghost:{}}),s.settings.Calendar.EventsFilterState&&(e.$queryEvents.filterpopup=s.settings.Calendar.EventsFilterState),s.settings.Calendar.TasksFilterState&&(e.$queryTasks.filterpopup=s.settings.Calendar.TasksFilterState),s.settings.Calendar.EventsSortingState&&(e.$queryEvents.sort=s.settings.Calendar.EventsSortingState[0],e.$queryEvents.asc=parseInt(s.settings.Calendar.EventsSortingState[1])),s.settings.Calendar.TasksSortingState&&(e.$queryTasks.sort=s.settings.Calendar.TasksSortingState[0],e.$queryTasks.asc=parseInt(s.settings.Calendar.TasksSortingState[1])),e.$queryTasks.show_completed=parseInt(s.settings.ShowCompletedTasks),e.$categories=s.defaults.SOGoCalendarCategoriesColors,s.defaults.SOGoTimeFormat&&(e.timeFormat=s.defaults.SOGoTimeFormat),e}];try{angular.module("SOGo.SchedulerUI")}catch(e){angular.module("SOGo.SchedulerUI",["SOGo.Common"])}angular.module("SOGo.SchedulerUI").constant("sgComponent_STATUS",{NOT_LOADED:0,DELAYED_LOADING:1,LOADING:2,LOADED:3,DELAYED_MS:300}).factory("Component",e.$factory),e.$selectedCount=function(){var t;return t=0,e.$events&&(t+=_.filter(e.$events,function(e){return e.selected}).length),e.$tasks&&(t+=_.filter(e.$tasks,function(e){return e.selected}).length),t},e.$startRefreshTimeout=function(t){e.$refreshTimeout&&e.$timeout.cancel(e.$refreshTimeout);var n=e.$Preferences.defaults.SOGoRefreshViewCheck;if(n&&"manually"!=n){var a=angular.bind(e.$rootScope,e.$rootScope.$emit,"calendars:list");e.$refreshTimeout=e.$timeout(a,1e3*n.timeInterval())}},e.$isLoading=function(){return e.$loaded==e.STATUS.LOADING},e.$filter=function(t,n){var a,o,i=this,r=new Date,s=r.getDate(),c=r.getMonth()+1,l=r.getFullYear(),d="$query"+t.capitalize(),u={day:l+(c<10?"0":"")+c+(s<10?"0":"")+s},p=!1;return e.$startRefreshTimeout(t),angular.extend(this.$query,u),n&&_.forEach(_.keys(n),function(t){p|=i.$query[t]&&n[t]!=e.$query[t],"reload"==t&&n[t]?p=!0:angular.isDefined(i.$query[t])?i.$query[t]=n[t]:i[d][t]=n[t]}),a=this.$$resource.fetch(null,t+"list",angular.extend(this[d],this.$query)),p&&(delete e[o="tasks"==t?"$events":"$tasks"],e.$log.debug("force reload of "+o)),this.$unwrapCollection(t,a)},e.$find=function(t,n,a){var o=[t,encodeURIComponent(n)];return a&&o.push(a),new e(this.$$resource.fetch(o.join("/"),"view"))},e.filterCategories=function(t){var n=new RegExp(t,"i");return _.filter(_.keys(e.$categories),function(e){return-1!=e.search(n)})},e.saveSelectedList=function(e){return this.$$resource.post(null,"saveSelectedList",{list:e+"ListView"})},e.$eventsBlocksForView=function(t,n){var a,o,i,r;return a=e.$Preferences.defaults.SOGoFirstDayOfWeek,"day"==t?(o="dayView",i=r=n):"multicolumnday"==t?(o="multicolumndayView",i=r=n):"week"==t?(o="weekView",i=n.beginOfWeek(a),(r=new Date).setTime(i.getTime()),r.addDays(6)):"month"==t&&(o="monthView",(i=n).setDate(1),i=i.beginOfWeek(a),(r=new Date).setTime(n.getTime()),r.setMonth(r.getMonth()+1),r.addDays(-1),r=r.endOfWeek(a)),this.$eventsBlocks(o,i,r)},e.$eventsBlocks=function(t,n,a){var o,i,r,s=[],c=[],l=e.$q.defer();return o={view:t.toLowerCase(),sd:n.getDayString(),ed:a.getDayString()},this.$$resource.fetch(null,"eventsblocks",o).then(function(t){var n,a;n=function(t,n,a){var o,i=_.zipObject(this.eventsFields,n),r=new Date(1e3*i.c_startdate);return i.hour=r.getHourString(),i.blocks=[],o=new e(i),t.push(o),t},a=function(e){this[e.nbr].blocks.push(e),e.component=this[e.nbr],e.isFirst=1==this[e.nbr].blocks.length},e.$views=[],e.$timeout(function(){_.forEach(t,function(t,o){var l,d=[],u={},p={};for(t.eventsFields.splice(_.indexOf(t.eventsFields,"c_folder"),1,"pid"),t.eventsFields.splice(_.indexOf(t.eventsFields,"c_name"),1,"id"),t.eventsFields.splice(_.indexOf(t.eventsFields,"c_recurrence_id"),1,"occurrenceId"),t.eventsFields.splice(_.indexOf(t.eventsFields,"c_title"),1,"summary"),_.reduce(t.events,_.bind(n,t),d),_.forEach(_.flatten(t.blocks),_.bind(a,d)),_.forEach(_.flatten(t.allDayBlocks),_.bind(a,d)),0===s.length&&(s=_.flatMap(t.days,"date"),c=_.flatMap(t.days,"number")),i=0;i0&&(this.repeat.month={type:"bymonthday"}),angular.isUndefined(this.repeat.month)&&(this.repeat.month={}),angular.isUndefined(this.repeat.month.occurrence)&&angular.extend(this.repeat.month,{occurrence:"1",day:"SU"}),angular.isUndefined(this.repeat.months)&&(this.repeat.months=[]),angular.isUndefined(this.repeat.year)&&(this.repeat.year={}),this.repeat.count?this.repeat.end="count":this.repeat.until?(this.repeat.end="until",angular.isString(this.repeat.until)&&(this.repeat.until=e.$parseDate(this.repeat.until,{no_time:!0}))):this.repeat.end="never",this.$hasCustomRepeat=this.hasCustomRepeat(),this.isNew){var a="appointment"==this.type?"Events":"Tasks";this.classification=e.$Preferences.defaults["SOGoCalendar"+a+"DefaultClassification"].toLowerCase();var o=/-PT?([0-9]+)([MHDW])/.exec(e.$Preferences.defaults.SOGoCalendarDefaultReminder);o&&(this.$hasAlarm=!0,this.alarm.quantity=parseInt(o[1]),this.alarm.unit={M:"MINUTES",H:"HOURS",D:"DAYS",W:"WEEKS"}[o[2]]),this.sendAppointmentNotifications=e.$Preferences.defaults.SOGoAppointmentSendEMailNotifications}else angular.isUndefined(t.$hasAlarm)&&(this.$hasAlarm=angular.isDefined(t.alarm));this.destinationCalendar=this.pid,this.attendees&&_.forEach(this.attendees,function(t){t.image=e.$gravatar(t.email,32)}),this.updateFreeBusy(),this.selected=!1},e.prototype.initOrganizer=function(t){var n,a=this;t&&t.isSubscription?n=e.$User.$filter(t.owner).then(function(e){var t=e[0];a.organizer={uid:t.uid,name:t.cn,email:t.c_email}}):(this.organizer={uid:e.$settings.activeUser("login"),name:e.$settings.activeUser("identification"),email:e.$settings.activeUser("email")},n=e.$q.when()),n.then(function(){a.updateFreeBusyAttendee(a.organizer)})},e.prototype.hasCustomRepeat=function(){return angular.isUndefined(this.occurrenceId)&&angular.isDefined(this.repeat)&&(this.repeat.interval>1||angular.isDefined(this.repeat.days)&&this.repeat.days.length>0||angular.isDefined(this.repeat.monthdays)&&this.repeat.monthdays.length>0||angular.isDefined(this.repeat.months)&&this.repeat.months.length>0||angular.isDefined(this.repeat.month)&&angular.isDefined(this.repeat.month.type)||angular.isDefined(this.repeat.dates)&&this.repeat.dates.length>0)},e.prototype.isEditable=function(){return!this.occurrenceId&&!this.isReadOnly},e.prototype.isEditableOccurrence=function(){return this.occurrenceId&&!this.isReadOnly},e.prototype.isInvitation=function(){return!this.occurrenceId&&this.userHasRSVP},e.prototype.isInvitationOccurrence=function(){return this.occurrenceId&&this.userHasRSVP},e.prototype.showPercentComplete=function(){return"task"==this.type&&this.percentComplete>0&&"cancelled"!=this.status},e.prototype.enablePercentComplete=function(){return"task"==this.type&&"not-specified"!=this.status&&"cancelled"!=this.status},e.prototype.coversFreeBusy=function(e,t,n){return angular.isDefined(this.freebusy[e])&&angular.isDefined(this.freebusy[e][t])&&1==this.freebusy[e][t][n]},e.prototype.updateFreeBusyCoverage=function(){var e=this,t={};if(this.start&&this.end){var n=new Date(this.start.getTime()),a=new Date(this.end.getTime()),o=parseInt(n.getMinutes()/15+.5),i=parseInt(a.getMinutes()/15+.5);return n.setMinutes(15*o),a.setMinutes(15*i),_.forEach(n.daysUpTo(a),function(n,a){var i,r=n.getDate(),s=n.getDayString();if(s==e.start.getDayString())for(i=n.getHours().toString(),t[s]={},t[s][i]=[];o>0;)t[s][i].push(0),o--;else n=n.beginOfDay(),t[s]={};for(;n.getTime()0},e.prototype.addAttachUrl=function(e){if(angular.isUndefined(this.attachUrls))this.attachUrls=[{value:e}];else{for(var t=0;t-1&&this.attachUrls.length>e&&this.attachUrls.splice(e,1)},e.prototype.$addDueDate=function(){this.due=new Date,this.due.setMinutes(15*Math.round(this.due.getMinutes()/15)),this.dueDate=this.due.toISOString()},e.prototype.$deleteDueDate=function(){delete this.due,delete this.dueDate},e.prototype.$addStartDate=function(){this.start=new Date,this.start.setMinutes(15*Math.round(this.start.getMinutes()/15))},e.prototype.$deleteStartDate=function(){delete this.start,delete this.startDate},e.prototype.$addRecurrenceDate=function(){var e=new Date;e.setMinutes(15*Math.round(e.getMinutes()/15)),angular.isUndefined(this.repeat.dates)&&(this.repeat={frequency:"custom",dates:[]}),this.repeat.dates.push(e)},e.prototype.$deleteRecurrenceDate=function(e){e>-1&&this.repeat&&this.repeat.dates&&this.repeat.dates.length>e&&this.repeat.dates.splice(e,1)},e.prototype.$reset=function(){var e=this;angular.forEach(this,function(t,n){"constructor"!=n&&"$"!=n[0]&&delete e[n]}),this.init(this.$shadowData),this.$shadowData=this.$omit()},e.prototype.$reply=function(){var t,n=this,a=[this.pid,encodeURIComponent(this.id)];return this.occurrenceId&&a.push(this.occurrenceId),t={reply:this.reply,delegatedTo:this.delegatedTo,alarm:this.$hasAlarm?this.alarm:{}},e.$$resource.save(a.join("/"),t,{action:"rsvpAppointment"}).then(function(e){return n.$shadowData=n.$omit(),e})},e.prototype.$adjust=function(t){var n=[this.pid,encodeURIComponent(this.id)];return _.every(_.values(t),function(e){return 0===e})?e.$q.when():(this.occurrenceId&&n.push(this.occurrenceId),e.$log.debug("adjust "+n.join("/")+" "+JSON.stringify(t)),e.$$resource.save(n.join("/"),t,{action:"adjust"}))},e.prototype.$save=function(t){var n,a,o,i,r=this;return o=this.$omit(),i=e.$Preferences.$mdDateLocaleProvider,o.startDate=o.start?o.start.format(i,"%Y-%m-%d"):"",o.startTime=o.start?o.start.format(i,"%H:%M"):"",o.endDate=o.end?o.end.format(i,"%Y-%m-%d"):"",o.endTime=o.end?o.end.format(i,"%H:%M"):"",o.dueDate=o.due?o.due.format(i,"%Y-%m-%d"):"",o.dueTime=o.due?o.due.format(i,"%H:%M"):"",o.completedDate=o.completed?o.completed.format(i,"%Y-%m-%d"):"",this.hasCustomRepeat()?"monthly"==this.repeat.frequency&&this.repeat.month.type&&"byday"==this.repeat.month.type&&"relative"!=this.repeat.month.day||"yearly"==this.repeat.frequency&&this.repeat.year.byday?(delete o.repeat.monthdays,o.repeat.days=[{day:this.repeat.month.day,occurrence:this.repeat.month.occurrence.toString()}]):"monthly"!=this.repeat.frequency&&"yearly"!=this.repeat.frequency||!this.repeat.month.type?"custom"==this.repeat.frequency&&this.repeat.dates&&_.forEach(o.repeat.dates,function(e,t,n){n[t]={date:e.format(i,"%Y-%m-%d"),time:e.format(i,"%H:%M")}}):(delete o.repeat.days,"relative"==this.repeat.month.day&&(o.repeat.monthdays=[this.repeat.month.occurrence])):this.repeat.frequency&&"never"!=this.repeat.frequency&&(o.repeat={frequency:this.repeat.frequency}),o.startDate&&this.repeat.frequency&&"never"!=this.repeat.frequency?"until"==this.repeat.end&&this.repeat.until?o.repeat.until=this.repeat.until.stringWithSeparator("-"):"count"==this.repeat.end&&this.repeat.count?o.repeat.count=this.repeat.count:(delete o.repeat.until,delete o.repeat.count):delete o.repeat,"not-specified"==this.status?delete o.status:"completed"!=this.status&&delete o.completedDate,o.startDate&&this.$hasAlarm?!this.alarm.action||"email"!=this.alarm.action||this.attendees&&this.attendees.length>0||(o.alarm.attendees=0,o.alarm.organizer=1):o.alarm={},a=[this.pid,encodeURIComponent(this.id)],this.isNew&&(n={action:"saveAs"+this.type.capitalize()}),this.occurrenceId&&a.push(this.occurrenceId),angular.extend(o,t),e.$$resource.save(a.join("/"),o,n).then(function(e){return r.$shadowData=r.$omit(),e})},e.prototype.remove=function(t){var n=[this.pid,encodeURIComponent(this.id)];return t&&this.occurrenceId&&n.push(this.occurrenceId),e.$$resource.remove(n.join("/"))},e.prototype.$unwrap=function(t){var n=this;this.$futureComponentData=t,this.$futureComponentData.then(function(e){n.init(e),n.$shadowData=n.$omit()},function(t){angular.extend(n,t),n.isError=!0,e.$log.error(n.error)})},e.prototype.$omit=function(){var e={};return angular.forEach(this,function(t,n){"constructor"==n||"$hasAlarm"!=n&&"$"==n[0]||"blocks"==n||(e[n]=angular.copy(t))}),e},e.prototype.repeatDescription=function(){var e=null;return this.repeat&&(e=l("repeat_"+this.repeat.frequency.toUpperCase())),e},e.prototype.alarmDescription=function(){var e,t=null;return this.alarm&&(e=["reminder",this.alarm.quantity],this.alarm.quantity>0&&e.push(this.alarm.unit.toUpperCase(),this.alarm.reference.toUpperCase()),(e=e.join("_"))===(t=l(e))&&(t=[this.alarm.quantity,l("reminder_"+this.alarm.unit.toUpperCase()),l("reminder_"+this.alarm.reference.toUpperCase())].join(" "))),t},e.prototype.copyTo=function(t){return e.$$resource.post(this.pid+"/"+encodeURIComponent(this.id),"copy",{destination:t})},e.prototype.moveTo=function(t){return e.$$resource.post(this.pid+"/"+encodeURIComponent(this.id),"move",{destination:t})},e.prototype.toString=function(){return"[Component "+this.id+"]"}}(),function(){"use strict";e.$inject=["$scope","$rootScope","$state","$stateParams","sgHotkeys","Calendar","Component","Preferences","stateEventsBlocks"];function e(t,n,a,o,i,r,s,c,d){var u,p=this,h=[];angular.isUndefined(e.expandedAllDays)&&(e.expandedAllDays=!1),p.selectedDate=o.day.asDate(),p.expandedAllDays=e.expandedAllDays,p.toggleAllDays=function(){e.expandedAllDays=!e.expandedAllDays,p.expandedAllDays=e.expandedAllDays},p.views=d,p.changeDate=y,p.changeView=v,this.$onInit=function(){(e=h).push(i.createHotkey({key:l("hotkey_today"),description:l("Today"),callback:y,args:new Date})),e.push(i.createHotkey({key:l("hotkey_dayview"),description:l("Day"),callback:v,args:"day"})),e.push(i.createHotkey({key:l("hotkey_weekview"),description:l("Week"),callback:v,args:"week"})),e.push(i.createHotkey({key:l("hotkey_monthview"),description:l("Month"),callback:v,args:"month"})),e.push(i.createHotkey({key:l("hotkey_multicolumndayview"),description:l("Multicolumn Day View"),callback:v,args:"multicolumnday"})),e.push(i.createHotkey({key:"left",description:l("Move backward"),callback:m,args:-1})),e.push(i.createHotkey({key:"right",description:l("Move forward"),callback:m,args:1})),_.forEach(e,function(e){i.registerHotkey(e)});var e;f(p.selectedDate),u=n.$on("calendars:list",g),t.$on("$destroy",function(){u(),_.forEach(h,function(e){i.deregisterHotkey(e)})})};function m(e,t){var n;"week"==o.view?n=p.selectedDate.beginOfWeek(c.defaults.SOGoFirstDayOfWeek).addDays(7*t):"month"==o.view?((n=p.selectedDate).setDate(1),n.setMonth(n.getMonth()+t)):n=p.selectedDate.addDays(t),y(e,n)}function f(e){"month"==o.view?(e.setDate(1),e.setHours(12),e.$dateFormat="%B %Y"):"week"==o.view?(e.setTime(e.beginOfWeek(c.defaults.SOGoFirstDayOfWeek).getTime()),e.$dateFormat=l("Week %d").replace("%d","%U")):e.$dateFormat="%A"}function g(){s.$eventsBlocksForView(o.view,o.day.asDate()).then(function(e){var t,n,a;for(t=0;t=t;n--)p.views.splice(n,1)})}function y(e,t){var n=t?t.getDayString():angular.element(e.currentTarget).attr("date");t&&f(t),a.go("calendars.view",{day:n})}function v(e,t){a.go("calendars.view",{view:t})}}angular.module("SOGo.SchedulerUI").controller("CalendarController",e)}(),function(){"use strict";e.$inject=["$rootScope","$scope","$q","$timeout","$state","$mdDialog","sgHotkeys","sgFocus","Dialog","Preferences","CalendarSettings","Calendar","Component","Alarm"];function e(e,t,n,a,o,i,r,s,c,d,u,p,h,m){var f,g=this,y=[];g.component=h,g.componentType="events",g.selectedList=0,g.selectComponentType=v,g.unselectComponents=function(){_.forEach(h["$"+g.componentType],function(e){e.selected=!1}),g.mode.multiple=0},g.selectAll=function(){_.forEach(h["$"+g.componentType],function(e){e.selected=!0}),g.mode.multiple=h["$"+g.componentType].length},g.searchMode=$,g.toggleComponentSelection=function(e,t){t.selected=!t.selected,g.mode.multiple+=t.selected?1:-1,e.preventDefault(),e.stopPropagation()},g.confirmDeleteSelectedComponents=function(){c.confirm(l("Warning"),l("Are you sure you want to delete the selected components?"),{ok:l("Delete")}).then(function(){var t=_.filter(h["$"+g.componentType],function(e){return e.selected});p.$deleteComponents(t).then(function(){g.mode.multiple=0,e.$emit("calendars:list")})})},g.openEvent=function(e,t){C(e,t,"appointment")},g.openTask=function(e,t){C(e,t,"task")},g.newComponent=b,g.filterpopup=function(){return h["$query"+g.componentType.capitalize()].filterpopup},g.filter=function(e){h.$filter(g.componentType,{filterpopup:e})},g.filteredBy=function(e){return h["$query"+g.componentType.capitalize()].filterpopup==e},g.sort=function(e){h.$filter(g.componentType,{sort:e})},g.sortedBy=function(e){return h["$query"+g.componentType.capitalize()].sort==e},g.reload=function(){p.reloadWebCalendars().finally(function(){e.$emit("calendars:list")})},g.cancelSearch=function(){g.mode.search=!1,h.$filter(g.componentType,{value:""})},g.mode={search:!1,multiple:0},this.$onInit=function(){(n=y).push(r.createHotkey({key:l("hotkey_search"),description:l("Search"),callback:$})),n.push(r.createHotkey({key:l("hotkey_create_event"),description:l("Create a new event"),callback:b,args:"appointment"})),n.push(r.createHotkey({key:l("hotkey_create_task"),description:l("Create a new task"),callback:b,args:"task"})),_.forEach(n,function(e){r.registerHotkey(e)});var n;f="events","tasksListView"==d.settings.Calendar.SelectedList&&(g.selectedList=1,f="tasks"),v(f,{reload:!0}),e.$on("calendars:list",function(){h.$filter(g.componentType,{reload:!0})}),e.$on("calendar:dragend",D),t.$on("$destroy",function(){_.forEach(y,function(e){r.deregisterHotkey(e)})})};function v(e,t){(t&&t.reload||g.componentType!=e)&&(angular.isUndefined(h["$"+e])&&h.$filter(e),g.unselectComponents(),g.componentType=e,h.saveSelectedList(e))}function $(){g.mode.search=!0,s("search")}function C(e,t,a){if(t.viewable){var o=n.when();angular.isUndefined(t.$futureComponentData)&&(o=(t=p.$get(t.pid).$getComponent(t.id,t.occurrenceId)).$futureComponentData),o.then(function(){var n="UIx"+a.capitalize()+"ViewTemplate";i.show({parent:angular.element(document.body),targetEvent:e,clickOutsideToClose:!0,escapeToClose:!0,templateUrl:n,controller:"ComponentController",controllerAs:"editor",locals:{stateComponent:t}})})}}function b(e,t,n){var a;n?(a=n).updateFreeBusy():a=new h({pid:p.$defaultCalendar(),type:t});var o="UIx"+t.capitalize()+"EditorTemplate";return i.show({parent:angular.element(document.body),targetEvent:e,clickOutsideToClose:!0,escapeToClose:!0,templateUrl:o,controller:"ComponentEditorController",controllerAs:"editor",locals:{stateComponent:a}})}function D(t){var n,o,r,s,c,d,f;n=h.$ghost.component,o=h.$ghost.pointerHandler,n.isNew?(r=o.currentEventCoordinates,n.summary="",n.isAllDay&&(r.duration-=96),n.setDelta(15*r.duration),b(null,"appointment",n).catch().finally(function(){a(function(){h.$resetGhost()})})):(s=o.currentEventCoordinates.getDelta(o.originalEventCoordinates),c={days:s.dayNumber,start:15*s.start,duration:15*s.duration},o.originalCalendar&&0!==s.dayNumber&&(d=o.currentEventCoordinates.dayNumber,f=_.filter(p.$findAll(),{active:1}),c.destination=f[d].id,c.days=0),n.isException||!n.occurrenceId?n.$adjust(c).then(function(){e.$emit("calendars:list"),m.getAlarms()},function(e){y(e,n,c)}).finally(function(){a(function(){h.$resetGhost()})}):n.occurrenceId&&i.show({clickOutsideToClose:!0,escapeToClose:!0,locals:{component:n,params:c},template:['',' '," "+l("editRepeatingItem")+"
"," "," ",' '+l("button_thisOccurrenceOnly")+" ",' '+l("button_allOccurrences")+" "," "," "].join(""),controller:g}).then(function(){e.$emit("calendars:list")},function(){}).finally(function(){a(function(){h.$resetGhost()})})),g.$inject=["$scope","$mdDialog","component","params"];function g(e,t,n,a){e.updateThisOccurrence=function(){n.$adjust(a).then(t.hide,function(e){t.cancel().then(function(){y(e,n,a)},function(){})})},e.updateAllOccurrences=function(){delete n.occurrenceId,n.$adjust(a).then(t.hide,function(e){t.cancel().then(function(){y(e,n,a)},function(){})})}}function y(t,n,a){t.status==u.ConflictHTTPErrorCode&&t.data&&t.data.message&&angular.isObject(t.data.message)&&i.show({parent:angular.element(document.body),clickOutsideToClose:!1,escapeToClose:!1,templateUrl:"UIxAttendeeConflictDialog",controller:v,controllerAs:"$AttendeeConflictDialogController",locals:{component:n,params:a,conflictError:t.data.message}}).then(function(){e.$emit("calendars:list")},function(){})}v.$inject=["$scope","$mdDialog","component","params","conflictError"];function v(e,t,n,a,o){this.conflictError=o,this.cancel=t.cancel,this.save=function(){n.$adjust(angular.extend({ignoreConflicts:!0},a)).then(t.hide)}}}}angular.module("SOGo.SchedulerUI").controller("CalendarListController",e)}(),function(){"use strict";e.$inject=["$rootScope","$scope","$window","$mdDialog","$log","$mdToast","Dialog","sgSettings","Preferences","Calendar"];function e(e,t,n,a,o,i,r,s,c,d){var u=this;u.activeUser=s.activeUser,u.service=d,u.newCalendar=function(e){r.prompt(l("New calendar"),l("Name of the Calendar")).then(function(e){var t=new d({name:e,isEditable:!0,isRemote:!1,owner:UserLogin});t.$id().then(function(){d.$add(t)})})},u.addWebCalendar=function(){r.prompt(l("Subscribe to a web calendar..."),l("URL of the Calendar"),{inputType:"url"}).then(function(t){d.$addWebCalendar(t).then(function(n){angular.isObject(n)&&a.show({parent:angular.element(document.body),clickOutsideToClose:!0,escapeToClose:!0,templateUrl:"UIxWebCalendarAuthDialog",controller:e,controllerAs:"$WebCalendarAuthDialogController",locals:{url:t,calendar:n}})})}),e.$inject=["scope","$mdDialog","url","calendar"];function e(e,t,n,a){var o=this,i=n.split("/"),r=i[2];o.title=l("Please identify yourself to %{0}").formatted(r),o.url=n,o.authenticate=function(e){!e.$valid&&e.$error.required||a.setCredentials(o.username,o.password).then(function(e){t.hide()},function(t){e.password.$setValidity("credentials",!1)})},o.cancel=function(){t.cancel()}}},u.subscribeToFolder=function(e){o.debug("subscribeToFolder "+e.owner+e.name),d.$subscribe(e.owner,e.name).then(function(e){i.show(i.simple().content(l("Successfully subscribed to calendar")).position("top right").hideDelay(3e3))})},u.filter={name:""},u.sortableMode=!1,u.toggleSortableMode=function(){u.sortableMode=!u.sortableMode,u.filter.name=""},u.resetSort=function(){d.saveFoldersOrder()},u.sortableCalendars={scrollableContainer:"#sidenav-content",containment:"md-list",orderChanged:function(){d.saveFoldersOrder(_.flatMap(d.$findAll(),"id"))},accept:function(e,t,n){return e.sortableScope.element[0]==t.element[0]}},this.$onInit=function(){u.categories=_.map(c.defaults.SOGoCalendarCategories,function(e){return{id:e.asCSSIdentifier(),name:e,color:c.defaults.SOGoCalendarCategoriesColors[e]}}),t.$watch(function(){return _.union(_.map(d.$calendars,function(e){return _.pick(e,["id","active","color"])}),_.map(d.$subscriptions,function(e){return _.pick(e,["id","active","color"])}),_.map(d.$webcalendars,function(e){return _.pick(e,["id","active","color"])}))},function(t,n){var a,i,r;a=_.intersectionBy(t,n,"id"),i=_.map(_.filter(a,function(e){var t=_.find(n,{id:e.id});return!_.isEqual(e,t)}),"id"),r=d.$q.when(),i.length>0&&(o.debug(i.join(", ")+" changed"),r=d.saveFoldersActivation(i)),(i.length>0||a.length!=t.length||a.length!=n.length)&&r.then(function(){e.$emit("calendars:list")})},!0)}}angular.module("SOGo.SchedulerUI").controller("CalendarsController",e)}(),function(){"use strict";e.$inject=["$rootScope","$mdDialog","Calendar","Component","AddressBook","Alarm","Account","stateComponent"];function e(e,t,n,a,o,i,r,s){var c,d=this;d.calendarService=n,d.service=a,d.component=s,d.close=function(){t.hide()},d.highPriority=function(){return d.component&&d.component.priority&&d.component.priority<5},d.cardFilter=function(e){return o.$filterAll(e)},d.newMessageWithAllRecipients=function(e){var t=_.map(d.component.attendees,function(e){return e.name+" <"+e.email+">"});u(e,t)},d.newMessageWithRecipient=function(e,t,n){u(e,[t+" <"+n+">"])},d.edit=p,d.editAllOccurrences=function(){(c=n.$get(d.component.pid).$getComponent(d.component.id)).$futureComponentData.then(function(){d.component=c,p()})},d.reply=h,d.replyAllOccurrences=function(){(c=n.$get(d.component.pid).$getComponent(d.component.id)).$futureComponentData.then(function(){c.reply=d.component.reply,c.delegatedTo=d.component.delegatedTo,c.$hasAlarm=d.component.$hasAlarm,c.alarm=d.component.alarm,h(c)})},d.deleteOccurrence=function(){d.component.remove(!0).then(function(){e.$emit("calendars:list"),t.hide()})},d.deleteAllOccurrences=function(){d.component.remove().then(function(){e.$emit("calendars:list"),t.hide()})},d.toggleRawSource=function(e){n.$$resource.post(d.component.pid+"/"+d.component.id,"raw").then(function(n){t.hide(),t.show({parent:angular.element(document.body),targetEvent:e,clickOutsideToClose:!0,escapeToClose:!0,template:['',' ',' '," "," ",' '+l("Close")+" "," "," "].join(""),controller:a,locals:{data:n}}),a.$inject=["scope","$mdDialog","data"];function a(e,t,n){e.data=n,e.close=function(){t.hide()}}})},d.copySelectedComponent=function(n){d.component.copyTo(n).then(function(){t.hide(),e.$emit("calendars:list")})},d.moveSelectedComponent=function(n){d.component.moveTo(n).then(function(){t.hide(),e.$emit("calendars:list")})},d.organizer=[s.organizer];function u(e,n){r.$findAll().then(function(a){var o=_.find(a,function(e){if(0===e.id)return e});o.$getMailboxes().then(function(a){o.$newMessage().then(function(a){angular.extend(a.editable,{to:n,subject:d.component.summary}),t.show({parent:angular.element(document.body),targetEvent:e,clickOutsideToClose:!1,escapeToClose:!1,templateUrl:"../Mail/UIxMailEditor",controller:"MessageEditorController",controllerAs:"editor",locals:{stateAccount:o,stateMessage:a}})})})}),e.preventDefault(),e.stopPropagation()}function p(){var e="vevent"==d.component.component?"Appointment":"Task";t.hide().then(function(){var n="UIx"+e+"EditorTemplate";t.show({parent:angular.element(document.body),clickOutsideToClose:!0,escapeToClose:!0,templateUrl:n,controller:"ComponentEditorController",controllerAs:"editor",locals:{stateComponent:d.component}})})}function h(n){(n||d.component).$reply().then(function(){e.$emit("calendars:list"),i.getAlarms(),t.hide()})}}t.$inject=["$rootScope","$scope","$log","$timeout","$mdDialog","sgFocus","User","CalendarSettings","Calendar","Component","AddressBook","Card","Alarm","stateComponent"];function t(e,t,n,a,o,i,r,s,c,d,u,p,h,m){var f,g,y=this;y.service=c,y.component=m,y.categories={},y.showRecurrenceEditor=y.component.$hasCustomRepeat,y.toggleRecurrenceEditor=function(){y.showRecurrenceEditor=!y.showRecurrenceEditor,y.component.$hasCustomRepeat=y.showRecurrenceEditor},y.recurrenceMonthDaysAreRequired=function(){return y.component&&"monthly"==y.component.repeat.frequency&&"bymonthday"==y.component.repeat.month.type},y.showAttendeesEditor=y.component.attendees&&y.component.attendees.length,y.toggleAttendeesEditor=function(){y.showAttendeesEditor=!y.showAttendeesEditor},y.changeFrequency=function(){"custom"==y.component.repeat.frequency&&(y.showRecurrenceEditor=!0)},y.changeCalendar=function(){y.component.attendees&&y.component.attendees.length>0&&y.component.initOrganizer(c.$get(y.component.destinationCalendar))},y.cardFilter=function(e){return u.$filterAll(e),u.$cards},y.addAttendee=function(e){var t,n,a=!y.component.attendees||0===y.component.attendees.length,o=c.$get(y.component.destinationCalendar),i=a?{organizerCalendar:o}:{},r=/([\w\!\#$\%\&\'\*\+\-\/\=\?\^\`{\|\}\~]+\.)*[\w\!\#$\%\&\'\*\+\-\/\=\?\^\`{\|\}\~]+@((((([a-z0-9]{1}[a-z0-9\-]{0,62}[a-z0-9]{1})|[a-z])\.)+[a-z]{2,})|(\d{1,3}\.){3}\d{1,3}(\:\d{1,5})?)/i;function s(e){var t=e.match(r),n=t[0],o=e.replace(new RegExp(" *"+n+">? *"),"");return y.showAttendeesEditor|=a,y.searchText="",new p({c_cn:_.trim(o,' "'),emails:[{value:n}]})}if(angular.isString(e)){for(n="",t=0;t5?l("low"):y.component.priority>4?l("normal"):l("high")},y.changeAlarmRelation=v,y.onAlarmChange=function(e){if("task"!==y.component.type)return;y.component.start||"START"!=y.component.alarm.relation?y.component.due||"END"!=y.component.alarm.relation||(y.component.alarm.relation="START"):y.component.alarm.relation="END";v(e)},y.reset=$,y.cancel=function(e){$(e),y.component.isNew&&(y.component=null);o.hide()},y.edit=C,y.save=function(t,n){v(t),t.$valid&&y.component.$save(n).then(function(t){e.$emit("calendars:list"),h.getAlarms(),o.hide()},function(e){e.status==s.ConflictHTTPErrorCode&&_.isObject(e.data.message)?y.attendeeConflictError=e.data.message:C(t)})},y.attendeeConflictError=!1,y.attendeesEditor={days:b(),hours:function(){for(var e=[],t=0;t<=23;t++)e.push(t.toString());return e}()},y.addStartDate=function(e){y.component.$addStartDate(),f=new Date(y.component.start.getTime()),y.component.due||(y.component.alarm.relation="START");v(e)},y.removeStartDate=function(e){y.component.$deleteStartDate(),y.component.due&&(y.component.alarm.relation="END");v(e)},y.addDueDate=function(e){y.component.$addDueDate(),new Date(y.component.due.getTime()),y.component.start||(y.component.alarm.relation="END");v(e)},y.removeDueDate=function(e){y.component.$deleteDueDate(),y.component.start&&(y.component.alarm.relation="START");v(e)},y.adjustStartTime=function(){if(y.component.start){0!==f.valueOf()-y.component.start.valueOf()&&(f=new Date(y.component.start.getTime()),"appointment"===y.component.type&&(y.component.end=new Date(y.component.start.getTime()),y.component.end.addMinutes(y.component.delta),g=new Date(y.component.end.getTime())),D())}},y.adjustEndTime=function(){if(y.component.end){var e=g.valueOf()-y.component.end.valueOf();0!==e&&((e=y.component.start.minutesTo(y.component.end))<0?y.component.end=new Date(g.getTime()):(y.component.delta=e,g=new Date(y.component.end.getTime())),D())}},y.adjustDueTime=function(){new Date(y.component.due.getTime())},y.component.start&&(f=new Date(y.component.start.getTime())),y.component.end&&(g=new Date(y.component.end.getTime())),y.component.due&&new Date(y.component.due.getTime());function v(e){"task"==y.component.type&&y.component.$hasAlarm&&(!y.component.start&&"START"==y.component.alarm.relation||!y.component.due&&"END"==y.component.alarm.relation)?e.alarmRelation.$setValidity("alarm",!1):e.alarmRelation.$setValidity("alarm",!0)}function $(e){y.component.$reset(),e.$setPristine()}function C(e){y.attendeeConflictError=!1,e.$setPristine(),e.$setDirty()}function b(){var e=[];return y.component.start&&y.component.end&&(e=y.component.start.daysUpTo(y.component.end)),_.map(e,function(e){return{stringWithSeparator:e.stringWithSeparator(),getDayString:e.getDayString()}})}function D(){y.attendeesEditor.days=b(),y.component.updateFreeBusy()}}angular.module("SOGo.SchedulerUI").controller("ComponentController",e).controller("ComponentEditorController",t)}(),function(){"use strict";e.$inject=["$scope","Calendar"];function e(e,t){this.day=e.day,this.dayNumber=e.dayNumber,this.dayString=e.dayString,this.calendarData=function(){var n,a,o;return e.calendar?(n=e.calendar,o=_.filter(t.$findAll(),{active:1}),a=_.findIndex(o,function(e){return e.id==n}),{pid:n,index:a}):null}}angular.module("SOGo.SchedulerUI").directive("sgCalendarDay",function(){return{restrict:"E",scope:{day:"@sgDay",dayNumber:"@sgDayNumber",dayString:"@sgDayString",calendar:"@sgCalendar"},controller:e}})}(),function(){"use strict";e.$inject=["CalendarSettings"];function e(e){return{restrict:"E",scope:{block:"=sgBlock",clickBlock:"&sgClick"},replace:!0,template:function(e,t){var n=_.has(t,"sgCalendarGhost")?"":"::";return['",'
','
",'
','
{{'+n+"block.component.c_priority}} "," {{ "+n+"block.component.summary }}",'
',' ',' ',' ',' '," ",'
',' place ',"
","
","
",'
{{ block.startHour }}
','
{{ block.endHour }}
',"
"].join("")},link:function(e,t,n){var a,o,i;_.has(n,"sgCalendarGhost")||(a=100/e.block.siblings,o=e.block.position*a,0===(i=100-(e.block.position+1)*a)&&(i=10),t.css("left",o+"%"),t.css("right",i+"%"),e.block.component&&e.block.component.c_isallday||(t.addClass("starts"+e.block.start),t.addClass("lasts"+e.block.length)),e.block.userState&&t.addClass("sg-event--"+e.block.userState),e.block.component&&(t.addClass("bg-folder"+e.block.component.pid),t.addClass("contrast-bdr-folder"+e.block.component.pid),0===e.block.component.c_isopaque&&t.addClass("sg-event--transparent"),0===e.block.component.c_status&&t.addClass("sg-event--cancelled")))}}}angular.module("SOGo.SchedulerUI").directive("sgCalendarDayBlock",e)}(),function(){"use strict";angular.module("SOGo.SchedulerUI").directive("sgCalendarDayTable",function(){return{restrict:"E",scope:{blocks:"=sgBlocks",day:"@sgDay",clickBlock:"&sgClick"},template:[" '].join("")}})}(),function(){"use strict";e.$inject=["$rootScope","$timeout","CalendarSettings","Calendar","Component"];function e(e,t,n,a,o){return{restrict:"A",require:["^sgCalendarDay","^sgCalendarScrollView"],link:function(t,i,r,s){var c,l,d,u,p;c=i[0],l=s[0],d=s[1],u=-1,i.addClass("sg-event--ghost md-whiteframe-3dp ng-hide");var h=e.$on("calendar:dragstart",function(){var e,n,a;t.block=o.$ghost,(n=l.calendarData())&&(u=n.index,e=n.pid,p=t.block.pointerHandler.originalCalendar.index);e||(e=t.block.component.pid);(a=t.block.component.blocks[0].userState)&&i.addClass("sg-event--"+a);i.addClass("bg-folder"+e)}),m=e.$on("calendar:drag",function(){var e,o,r,s,c,h,m,f;if(e=!1,a.$view&&a.$view.type==d.type){if(o="multiday-allday"===d.type,r=t.block.component.c_isallday,s=t.block.pointerHandler.currentEventCoordinates.dayNumber,c=t.block.pointerHandler.currentEventCoordinates.start,m=t.block.pointerHandler.currentEventCoordinates.duration,f=n.EventDragDayLength-c,angular.isUndefined(m))return;for((h=m)>f&&(h=f),s>-1&&(u<0&&s==l.dayNumber||s==u&&(p==u||!t.block.component.isException))&&(e=!0,o||(r||(t.block.startHour=($=c,g($))),a.$view.quarterHeight?(i.css("top",c*a.$view.quarterHeight+"px"),i.css("height",h*a.$view.quarterHeight+"px")):i.css("top",a.$view.topOffset+"px")),i.removeClass("fg-folder"+t.block.component.pid),i.removeClass("sg-event--ghost--last"),i.addClass("sg-event--ghost--first"),t.block.isFirst=!0),m-=h,s++;!e&&m&&s<=l.dayNumber;)(h=m)>n.EventDragDayLength&&(h=n.EventDragDayLength),s>-1&&s==l.dayNumber&&(e=!0,o||(i.css("top",a.$view.topOffset+"px"),a.$view.quarterHeight&&i.css("height",h*a.$view.quarterHeight+"px")),i.removeClass("sg-event--ghost--first"),i.removeClass("sg-event--ghost--last"),i.addClass("fg-folder"+t.block.component.pid)),m-=h,s++,c=0;m||(o?i.addClass("sg-event--ghost--last"):r||(t.block.endHour=(y=c,v=h,g((y+v)%n.EventDragDayLength))))}var y,v;var $;e?i.removeClass("ng-hide"):i.addClass("ng-hide")}),f=e.$on("calendar:dragend",function(){_.forEachRight(c.classList,function(e){/^bg-folder/.test(e)&&i.removeClass(e)}),i.addClass("ng-hide")});t.$on("$destroy",function(){h(),m(),f()});function g(e){var t,n,a;return t=15*e,(n=Math.floor(t/60))<10&&(n="0"+n),(a=t%60)<10&&(a="0"+a),n+":"+a}}}}angular.module("SOGo.SchedulerUI").directive("sgCalendarGhost",e)}(),function(){"use strict";e.$inject=["CalendarSettings"];function e(e){return{restrict:"E",scope:{component:"=sgComponent",clickComponent:"&sgClick"},replace:!0,template:function(e,t){return['','
",'
'," {{ ::component.c_title }}",'
',' ',' ',' ',' '," ",'
',' access_time ',"
",'
',' place ',"
","
"].join("")},link:function(e,t,n){e.component.viewable&&t.addClass("md-clickable");e.component.userstate&&t.addClass("sg-event--"+e.component.userstate);t.addClass("bg-folder"+e.component.pid),t.addClass("contrast-bdr-folder"+e.component.pid),0===e.component.c_isopaque&&t.addClass("sg-event--transparent");0===e.component.c_status&&t.addClass("sg-event--cancelled")}}}angular.module("SOGo.SchedulerUI").directive("sgCalendarListEvent",e)}(),function(){e.$inject=["$rootScope","$scope","$element","$timeout","$mdToast","$mdPanel","$mdMedia","$mdSidenav","sgConstant","Dialog","Calendar"];function e(e,t,n,a,o,i,r,s,c,d,u){var p=this;this.$onInit=function(){this.editMode=!1},this.$postLink=function(){this.clickableElement=n.find("p")[0],this.nameElements=this.clickableElement.getElementsByClassName("sg-calendar-name"),this.inputContainer=n.find("md-input-container")[0],this.inputElement=n.find("input")[0],this.moreOptionsButton=_.last(n.find("md-icon")),this.updateCalendarName()},this.updateCalendarName=function(){_.forEach(this.nameElements,function(e){e.innerHTML=p.calendar.name})},this.editFolder=function(e){e.stopPropagation(),e.preventDefault(),this.editMode=!0,this.inputElement.value=this.calendar.name,this.clickableElement.classList.add("ng-hide"),this.inputContainer.classList.remove("ng-hide"),"touchend"==e.srcEvent.type?a(function(){p.inputElement.focus(),p.inputElement.select()},200):(this.inputElement.select(),this.inputElement.focus()),this.panel&&this.panel.close()},this.saveFolder=function(e){this.inputElement.disabled||(this.calendar.name=this.inputElement.value,this.inputElement.disabled=!0,this.calendar.$rename().then(function(e){p.editMode=!1,p.inputContainer.classList.add("ng-hide"),p.clickableElement.classList.remove("ng-hide"),p.updateCalendarName()}).finally(function(){p.inputElement.disabled=!1}))},this.revertEditing=function(){this.editMode=!1,this.clickableElement.classList.remove("ng-hide"),this.inputContainer.classList.add("ng-hide"),this.inputElement.value=this.calendar.name},this.confirmDelete=function(){this.calendar.isSubscription?this.calendar.$delete().catch(function(e,t){d.alert(l('An error occured while deleting the calendar "%{0}".',p.calendar.name),l(e.error))}):d.confirm(l("Warning"),l('Are you sure you want to delete the calendar "%{0}"?',this.calendar.name),{ok:l("Delete")}).then(function(){p.calendar.$delete().catch(function(e,t){d.alert(l('An error occured while deleting the calendar "%{0}".',p.calendar.name),l(e.error))})})},this.showMenu=function(t){var n=i.newPanelPosition().relativeTo(this.moreOptionsButton).addPanelPosition(i.xPosition.ALIGN_START,i.yPosition.ALIGN_TOPS),a=i.newPanelAnimation().openFrom(this.moreOptionsButton).duration(100).withAnimation(i.animation.FADE),r={attachTo:angular.element(document.body),locals:{itemCtrl:this,calendar:this.calendar,editFolder:angular.bind(this,this.editFolder),confirmDelete:angular.bind(this,this.confirmDelete)},bindToController:!0,controller:s,controllerAs:"$menuCtrl",position:n,animation:a,targetEvent:t,templateUrl:"UIxCalendarMenu",trapFocus:!0,clickOutsideToClose:!0,escapeToClose:!0,focusOnOpen:!0};i.open(r).then(function(e){p.panel=e,e.panelEl.one("click",function(){e.close()})}),s.$inject=["mdPanelRef","$mdDialog","FileUploader","User"];function s(n,a,i,r){var s=this;this.showOnly=function(){_.forEach(u.$findAll(),function(e){s.calendar.id==e.id?e.active=1:e.active=0})},this.showAll=function(){_.forEach(u.$findAll(),function(e){e.active=1})},this.showProperties=function(){var e=this.calendar.color;a.show({templateUrl:this.calendar.id+"/properties",controller:t,controllerAs:"properties",clickOutsideToClose:!0,escapeToClose:!0,locals:{srcCalendar:this.calendar}}).catch(function(){s.calendar.color=e}),t.$inject=["$scope","$mdDialog","srcCalendar"];function t(e,t,n){var a=this;a.calendar=new u(n.$omit()),a.saveProperties=function(e){e.$valid&&(a.calendar.$save(),n.init(a.calendar.$omit()),t.hide())},a.close=function(){t.cancel()},e.$watch(function(){return a.calendar.color},function(){n.color=a.calendar.color})}},this.showLinks=function(){a.show({parent:angular.element(document.body),clickOutsideToClose:!0,escapeToClose:!0,templateUrl:this.calendar.id+"/links",controller:e,controllerAs:"links",locals:{calendar:this.calendar}}),e.$inject=["$mdDialog","calendar"];function e(e,t){this.calendar=t,this.close=function(){e.hide()}}},this.importCalendar=function(){a.show({parent:angular.element(document.body),targetEvent:t,clickOutsideToClose:!0,escapeToClose:!0,templateUrl:"UIxCalendarImportDialog",controller:n,controllerAs:"$CalendarImportDialogController",locals:{folder:this.calendar}}),n.$inject=["scope","$mdDialog","folder"];function n(t,n,a){this.uploader=new i({url:ApplicationBaseURL+[a.id,"import"].join("/"),autoUpload:!0,queueLimit:1,filters:[{name:r,fn:r}],onSuccessItem:function(t,a,i,r){var s;n.hide(),0===a.imported?s=l("No event was imported."):(s=l("A total of %{0} events were imported in the calendar.",a.imported),e.$emit("calendars:list")),o.show(o.simple().content(s).position("top right").hideDelay(3e3))},onErrorItem:function(e,t,n,a){o.show({template:["",' ',' error_outline '," "+l("An error occurred while importing calendar.")+" ","
"," "].join(""),position:"top right",hideDelay:3e3})}}),this.close=function(){n.hide()};function r(e){var t=0===e.type.indexOf("text")||/\.(ics)$/.test(e.name);return t||o.show({template:["",' ',' error_outline '," "+l("Select an iCalendar file (.ics).")+" ","
"," "].join(""),position:"top right",hideDelay:3e3}),t}}},this.share=function(){this.calendar.$acl.$users().then(function(){a.show({templateUrl:s.calendar.id+"/UIxAclEditor",controller:"AclController",controllerAs:"acl",clickOutsideToClose:!0,escapeToClose:!0,locals:{usersWithACL:s.calendar.$acl.users,User:r,folder:s.calendar}})})}}}}angular.module("SOGo.SchedulerUI").controller("sgCalendarListItemController",e).directive("sgCalendarListItem",function(){return{restrict:"C",scope:{},bindToController:{calendar:"=sgCalendar"},template:[' ','',' ',' error ',' ',' ',"
",'',' '," ",''," drag_handle "," ",''].join(""),controller:"sgCalendarListItemController",controllerAs:"$ctrl"}})}(),function(){"use strict";angular.module("SOGo.SchedulerUI").directive("sgCalendarMonthDay",function(){return{restrict:"E",scope:{blocks:"=sgBlocks",day:"@sgDay",clickBlock:"&sgClick"},template:[" '].join("")}})}(),function(){"use strict";angular.module("SOGo.SchedulerUI").directive("sgCalendarMonthEvent",function(){return{restrict:"E",scope:{block:"=sgBlock",clickBlock:"&sgClick"},replace:!0,template:function(e,t){var n=_.has(t,"sgCalendarGhost")?"":"::";return['','
",'
{{ '+n+"block.component.startHour }} ",'
{{'+n+"block.component.c_priority}} "," {{ "+n+"block.component.summary }}",'
',' ',' ',' ',' '," ","
"].join("")},link:function(e,t,n){_.has(n,"sgCalendarGhost")||(e.block.userState&&t.addClass("sg-event--"+e.block.userState),e.block.component&&(t.addClass("bg-folder"+e.block.component.pid),0===e.block.component.c_isopaque&&t.addClass("sg-event--transparent"),0===e.block.component.c_status&&t.addClass("sg-event--cancelled")))}}})}(),function(){"use strict";e.$inject=["$rootScope","$window","$document","$q","$timeout","$mdGesture","Calendar","Component","Preferences"];function e(e,n,a,o,i,r,s,c,l){return{restrict:"A",scope:{type:"@sgCalendarScrollView"},controller:t,link:function(t,a,o,r){var d,u,p=!1;d=null,u=t.type,p="multicolumndayview"==a.attr("sg-view"),r.isMultiColumn=p,i(function(){if(d=new h(a,u),"monthly"!=u){var e,t,n;l.defaults.SOGoDayStartTime&&(e=l.defaults.SOGoDayStartTime.split(":"),t=document.getElementById("hour"+parseInt(e[0])),n=parseInt(e[1])*d.quarterHeight,d.element.scrollTop=t.offsetTop+n)}r.quarterHeight=d.quarterHeight}),t.$on("$destroy",function(){d&&d.$destroy()});function h(t,a){this.$element=t,this.element=t[0],this.type=a,this.quarterHeight=this.getQuarterHeight(),this.scrollStep=6*this.quarterHeight,this.dayNumbers=this.getDayNumbers(),this.maxX=this.getMaxColumns(),this.deregisterDragStart=e.$on("calendar:dragstart",angular.bind(this,this.onDragStart)),this.deregisterDragStop=e.$on("calendar:dragend",angular.bind(this,this.onDragEnd)),this.bindedUpdateCoordinates=angular.bind(this,this.updateCoordinates),this.bindedUpdateFromPointerHandler=angular.bind(this,this.updateFromPointerHandler),this.updateCoordinates(),angular.element(n).on("resize",this.bindedUpdateCoordinates)}h.prototype={$destroy:function(){this.deregisterDragStart(),this.deregisterDragStop(),this.$element.off("mousemove",this.bindedUpdateFromPointerHandler),angular.element(n).off("resize",this.bindedUpdateCoordinates)},onDragStart:function(){this.$element.on("mousemove",this.bindedUpdateFromPointerHandler),this.updateCoordinates(),this.updateFromPointerHandler()},onDragEnd:function(){this.$element.off("mousemove",this.bindedUpdateFromPointerHandler),s.$view=null},getQuarterHeight:function(){var e,t,n=null;return e=document.getElementById("hour0"),t=document.getElementById("hour23"),e&&t&&(n=(t.offsetTop-e.offsetTop)/92),n},getDayDimensions:function(e){var t,n,a,o,i,r,s;return n=t=a=o=0,(i=this.element.getElementsByClassName("day")).length>0&&(n=(r=i[0].getBoundingClientRect()).height,t=r.width,a=r.left-e,(s=i[0].getElementsByClassName("sg-calendar-tile-header")).length>0&&(o=s[0].clientHeight)),{height:n,width:t,offset:{left:a,top:o}}},getDayNumbers:function(){var e;return e=this.element.getElementsByTagName("sg-calendar-day"),_.map(e,function(e,t){return p?t:parseInt(e.attributes["sg-day-number"].value)})},getMaxColumns:function(){var e,t=0;return"monthly"==this.type?(e=this.element.getElementsByTagName("md-grid-list")[0],t=parseInt(e.attributes["md-cols"].value)-1):t=this.element.getElementsByClassName("day").length-1,t},updateCoordinates:function(){var e,t;e=this.element.getBoundingClientRect(),t=this.getDayDimensions(e.left),angular.extend(this,{coordinates:{x:e.left,y:e.top},dayHeight:t.height,dayWidth:t.width,daysOffset:t.offset.left,topOffset:t.offset.top})},updateFromPointerHandler:function(){var e,t,n,a,o,i;e=c.$ghost.pointerHandler,this.coordinates&&e&&(t=e.getContainerBasedCoordinates(this))&&(s.$view=this,n=(new Date).getTime(),(!this.lastScroll||n>this.lastScroll+100)&&(this.lastScroll=n,(a=t.y-this.scrollStep)<0?(a<(o=-this.element.scrollTop)&&(a=o),this.element.scrollTop+=a):(i=(a=t.y+this.scrollStep)-this.element.clientHeight)>0&&(this.element.scrollTop+=i)))}}}}}t.$inject=["$scope"];function t(e){this.type=e.type}angular.module("SOGo.SchedulerUI").directive("sgCalendarScrollView",e)}(),function(){"use strict";angular.module("SOGo.SchedulerUI").directive("sgCategoryStylesheet",function(){return{restrict:"E",require:"ngModel",scope:{ngModel:"="},replace:!0,template:['"].join("")}})}(),function(){"use strict";e.$inject=["$rootScope","$timeout","$log","Preferences","Calendar","CalendarSettings","Component"];function e(e,t,n,a,o,i,r){return{restrict:"CA",require:"^sgCalendarDay",link:function(s,c,d,u){if(s.block){if(!s.block.component.editable||s.block.userState)return void c.removeClass("sg-draggable-calendar-block");!function(){var e,t,n,a,o,i,r,l,d,u;if(s.block.length<3)return;e=s.block.component,t=s.block.dayIndex,n=_.findIndex(e.blocks,["dayIndex",t]),a=0===n,o=n===e.blocks.length-1,(i=angular.element('
')).addClass("bdr-folder"+e.pid),e.c_isallday||"SG-CALENDAR-MONTH-DAY"===c[0].parentNode.tagName?(a&&(r=angular.element('
').append(i),c.append(r)),o&&(l=angular.element('
').append(i.clone()),c.append(l))):(a&&(d=angular.element('
').append(i),c.append(d)),o&&(u=angular.element('
').append(i.clone()),c.append(u)))}()}c.on("mousedown",p),s.$on("$destroy",function(){c.off("mousedown",p),c.off("mousemove",h)});function p(e){var t,n,a,o;e.stopPropagation(),e.target.scrollHeight>e.target.clientHeight+1&&(a=e.target.getBoundingClientRect(),o=a.left+a.width-18,e.pageX>o)||(t="move-event",s.block&&s.block.component?"dragGrip-top"==e.target.className||"dragGrip-left"==e.target.className?t="change-start":"dragGrip-bottom"!=e.target.className&&"dragGrip-right"!=e.target.className||(t="change-end"):t="change-end",(n=new y(t)).initFromEvent(e),r.$ghost.pointerHandler=n,angular.element(document).one("mouseup",m),angular.element(document).on("mousemove",h))}function h(e){var n=r.$ghost.pointerHandler;t(function(){n.updateFromEvent(e)})}function m(t){var n,a;n=s.block,a=r.$ghost.pointerHandler,angular.element(document).off("mousemove",h),a.dragHasStarted&&(e.$emit("calendar:dragend"),a.dragHasStarted=!1),n&&n.component&&_.forEach(n.component.blocks,function(e){e.dragging=!1})}function f(){}f.prototype={x:-1,y:-1,getDelta:function(e){var t=new f;return t.x=this.x-e.x,t.y=this.y-e.y,o.$view&&(t.days=o.$view.dayNumbers[this.x]-o.$view.dayNumbers[e.x]),t},getDistance:function(e){var t=this.getDelta(e);return Math.sqrt(t.x*t.x+t.y*t.y)},clone:function(){var e=new f;return e.x=this.x,e.y=this.y,e}};function g(e){this.setEventType(e)}g.prototype={dayNumber:-1,weekDay:-1,start:-1,duration:-1,eventType:null,setEventType:function(e){this.eventType=e},initFromBlock:function(e){var t=-1;"monthly"===this.eventType?(this.start=0,this.duration=e.component.blocks.length*i.EventDragDayLength):(this.start=e.component.blocks[0].start,this.duration=_.sumBy(e.component.blocks,function(e){var n,a;return a=e.dayNumber,n=t<0?0:a-t-1,t=a,e.length+n*i.EventDragDayLength}))},initFromCalendar:function(e){this.dayNumber=e},getDelta:function(e){var t=new g;return t.dayNumber=this.dayNumber-e.dayNumber,t.start=this.start-e.start,t.duration=this.duration-e.duration,t},_quartersToHM:function(e){var t=15*e,n=Math.floor(t/60);n<10&&(n="0"+n);var a=t%60;return a<10&&(a="0"+a),n+":"+a},getStartTime:function(){return this._quartersToHM(this.start)},getEndTime:function(){var e=(this.start+this.duration)%i.EventDragDayLength;return this._quartersToHM(e)},clone:function(){var e=new g;return e.dayNumber=this.dayNumber,e.start=this.start,e.duration=this.duration,e}};function y(e){this.dragMode=e}y.prototype={originalCoordinates:null,currentCoordinates:null,originalViewCoordinates:null,currentViewCoordinates:null,originalEventCoordinates:null,currentEventCoordinates:null,originalCalendar:null,dragHasStarted:!1,getEventViewCoordinates:null,initFromBlock:function(e){this.currentEventCoordinates=new g(this.eventType),this.originalEventCoordinates=new g(this.eventType),this.originalEventCoordinates.initFromBlock(e)},initFromEvent:function(e){this.currentCoordinates=new f,this.updateFromEvent(e),this.originalCoordinates=this.currentCoordinates.clone()},initFromCalendar:function(e){this.originalCalendar=e,this.currentEventCoordinates.initFromCalendar(e.index),this.originalEventCoordinates.initFromCalendar(e.index)},updateFromEvent:function(t){if(this.currentCoordinates.x=t.pageX,this.currentCoordinates.y=t.pageY,this.dragHasStarted&&o.$view){var i=this.getEventViewCoordinates(o.$view);this.originalViewCoordinates||(this.originalViewCoordinates=this.getEventViewCoordinates(o.$view,this.originalCoordinates),r.$ghost.component.isNew&&(this.setTimeFromQuarters(r.$ghost.component.start,this.originalViewCoordinates.y),n.debug("new event start date "+r.$ghost.component.start))),this.currentViewCoordinates&&i&&i.x==this.currentViewCoordinates.x&&i.y==this.currentViewCoordinates.y||(this.currentViewCoordinates=i,this.originalViewCoordinates&&(i||(this.currentViewCoordinates=this.originalViewCoordinates.clone()),this.updateEventCoordinates()))}else if(this.originalCoordinates&&this.currentCoordinates&&!this.dragHasStarted){var d=this.getDistance();d>3&&(this.dragHasStarted=!0,function(t){var i,d,p,h,m,f,g,y,v;p=c.hasClass("clickableHourCell"),h="SG-CALENDAR-MONTH-DAY"==c[0].parentNode.tagName||c.hasClass("clickableDayCell"),v=u.calendarData(),s.block&&s.block.component?i=s.block:(m=u.dayString.parseDate(a.$mdDateLocaleProvider,"%Y-%m-%e"),f={type:"appointment",pid:v?v.pid:o.$defaultCalendar(),summary:l("New Event"),startDate:m,isAllDay:p?0:1},g=new r(f),(i={component:g,dayNumber:u.dayNumber,length:0}).component.blocks=[i]);d="multiday",h?d="monthly":i.component.c_isallday&&(d="multiday-allday");_.forEach(i.component.blocks,function(e){e.dragging=!0}),(y=r.$ghost.pointerHandler).prepareWithEventType(d),y.initFromBlock(i),v&&y.initFromCalendar(v);r.$ghost.component=i.component,n.debug("emit calendar:dragstart "+d),e.$emit("calendar:dragstart")}())}},updateEventCoordinates:function(){var t,a=this.currentViewCoordinates.getDelta(this.originalViewCoordinates),r=a.days*i.EventDragDayLength+a.y;n.debug("quarters delta "+r),angular.isUndefined(this.originalEventCoordinates.start)?(this.originalEventCoordinates.dayNumber=o.$view.dayNumbers[this.originalViewCoordinates.x],this.originalEventCoordinates.start=this.originalViewCoordinates.y):this.originalEventCoordinates.dayNumber<0&&(this.originalEventCoordinates.dayNumber=o.$view.dayNumbers[s.block.component.blocks[0].dayIndex]),this.currentEventCoordinates.dayNumber=this.originalEventCoordinates.dayNumber,"move-event"==this.dragMode?(this.currentEventCoordinates.start=this.originalEventCoordinates.start+r,this.currentEventCoordinates.duration=this.originalEventCoordinates.duration):"change-start"==this.dragMode?(t=this.originalEventCoordinates.duration-r)>0?(this.currentEventCoordinates.start=this.originalEventCoordinates.start+r,this.currentEventCoordinates.duration=t):t<0&&(this.currentEventCoordinates.start=this.originalEventCoordinates.start+this.originalEventCoordinates.duration,this.currentEventCoordinates.duration=-t):"change-end"==this.dragMode&&((t=this.originalEventCoordinates.duration+r)>0?(this.currentEventCoordinates.start=this.originalEventCoordinates.start,this.currentEventCoordinates.duration=t):t<0&&(this.currentEventCoordinates.start=this.originalEventCoordinates.start+t,this.currentEventCoordinates.duration=-t));var c;this.currentEventCoordinates.start<0?(c=Math.ceil(-this.currentEventCoordinates.start/i.EventDragDayLength),this.currentEventCoordinates.start+=c*i.EventDragDayLength,this.currentEventCoordinates.dayNumber-=c):this.currentEventCoordinates.start>=i.EventDragDayLength&&(c=Math.floor(this.currentEventCoordinates.start/i.EventDragDayLength),this.currentEventCoordinates.start-=c*i.EventDragDayLength,this.currentEventCoordinates.dayNumber+=c),n.debug("event coordinates "+JSON.stringify(this.currentEventCoordinates)),e.$emit("calendar:drag")},getContainerBasedCoordinates:function(e,t){var n=t||this.currentCoordinates,a=n.getDelta(e.coordinates),o=e.element;return(a.xo.clientWidth||a.y<0||a.y>o.clientHeight)&&(a=null),a},prepareWithEventType:function(e){var t={multiday:this.getEventMultiDayViewCoordinates,"multiday-allday":this.getEventMultiDayAllDayViewCoordinates,monthly:this.getEventMonthlyViewCoordinates,unknown:null},n=t[e];this.eventType=e,this.getEventViewCoordinates=n},getEventMultiDayViewCoordinates:function(e,t){var n=this.getEventMultiDayAllDayViewCoordinates(e,t);if(n){var a=e.quarterHeight,o=this.getContainerBasedCoordinates(e,t);o.y+=e.element.scrollTop,n.y=Math.floor((o.y-i.EventDragHorizontalOffset)/a);var r=i.EventDragDayLength-1;n.y<0?n.y=0:n.y>r&&(n.y=r)}return n},getEventMultiDayAllDayViewCoordinates:function(e,t){var n,a=this.getContainerBasedCoordinates(e,t);if(a){n=new f;var i=e.dayWidth,r=e.daysOffset;n.x=Math.floor((a.x-r)/i);var s=0,c=o.$view.maxX;if("move-event"!=this.dragMode){var l=u.calendarData();l&&(s=c=l.index)}n.xc&&(n.x=c),n.y=0}else n=null;return n},getEventMonthlyViewCoordinates:function(e,t){var n,a=this.getContainerBasedCoordinates(e,t);if(a){n=new f;var o=e.maxX,i=e.dayWidth,r=e.daysOffset,s=e.dayHeight,c=Math.floor((a.y-0)/s);c<0&&(c=0),n.x=Math.floor((a.x-r)/i),n.x<0?n.x=0:n.x>o&&(n.x=o),n.x+=(o+1)*c,n.y=0}else n=null;return n},getDistance:function(){return this.currentCoordinates.getDistance(this.originalCoordinates)},setTimeFromQuarters:function(e,t){var n,a;n=Math.floor(t/4),a=t%4*15,e.setHours(n,a)}}}}}angular.module("SOGo.SchedulerUI").directive("sgDraggableCalendarBlock",e)}(),function(){"use strict";e.$inject=["$scope","$element","$timeout"];function e(e,t,n){var a,o=this,i=t.controller("sgCalendarScrollView");e.nowDay=null,e.lineElement=null,e.updateLine=function(r){var s=new Date,c=s.getDayString(),l=s.getHours(),d=4*e.quarterHeight,u=s.getMinutes(),p=e.quarterHeight/15,h=parseInt(l*d+u*p-1);(r||c!=e.nowDay)&&(e.lineElement&&e.lineElement.remove(),e.lineElement=function(e,n){var a=angular.element("");i.isMultiColumn?n&&n[0].attributes["sg-day"].value==e&&t.append(a):_.forEach(n,function(t){t.attributes["sg-day"].value==e&&angular.element(t).find("div").eq(0).append(a)});return a}(c,e.days),e.nowDay=c);e.lineElement&&(e.lineElement.css("top",h+"px"),a=n(angular.bind(o,e.updateLine),6e4))},e.$on("$destroy",function(){a&&n.cancel(a)})}angular.module("SOGo.SchedulerUI").directive("sgNowLine",function(){return{restrict:"C",require:"^^sgCalendarScrollView",link:function(e,t,n,a){function o(){return t.find("sg-calendar-day")}var i=e.$watch(function(){return a.quarterHeight},function(t){if(t){i(),e.quarterHeight=t;var n=e.$watch(o,function(t){t.length&&(n(),e.days=t,e.updateLine())})}})},controller:e}})}();
//# sourceMappingURL=Scheduler.services.js.map
\ No newline at end of file
diff --git a/UI/WebServerResources/js/Scheduler.services.js.map b/UI/WebServerResources/js/Scheduler.services.js.map
index fc4b41f75..ed4fd3fc8 100644
--- a/UI/WebServerResources/js/Scheduler.services.js.map
+++ b/UI/WebServerResources/js/Scheduler.services.js.map
@@ -1 +1 @@
-{"version":3,"sources":["Scheduler/Calendar.service.js","Scheduler/Component.service.js","Scheduler/CalendarController.js","Scheduler/CalendarListController.js","Scheduler/CalendarsController.js","Scheduler/ComponentController.js","Scheduler/sgCalendarDay.directive.js","Scheduler/sgCalendarDayBlock.directive.js","Scheduler/sgCalendarDayTable.directive.js","Scheduler/sgCalendarGhost.directive.js","Scheduler/sgCalendarListEvent.directive.js","Scheduler/sgCalendarListItem.directive.js","Scheduler/sgCalendarMonthDay.directive.js","Scheduler/sgCalendarMonthEvent.directive.js","Scheduler/sgCalendarScrollView.directive.js","Scheduler/sgCategoryStylesheet.directive.js","Scheduler/sgDraggableCalendarBlock.directive.js","Scheduler/sgNowLine.directive.js"],"names":["Calendar","futureCalendarData","this","init","name","id","newCalendarData","$$resource","create","$unwrap","$factory","$q","$timeout","$log","Settings","Resource","Preferences","Component","Acl","angular","extend","activeUser","$Preferences","$Component","$$Acl","$view","module","e","value","EventDragDayLength","EventDragHorizontalOffset","ConflictHTTPErrorCode","factory","$defaultCalendar","calendar","defaults","SOGoDefaultCalendar","_","find","$findAll","active","$add","list","sibling","isWebCalendar","$webcalendars","isSubscription","$subscriptions","$calendars","findIndex","o","i","localeCompare","push","splice","settings","FoldersOrder","saveFoldersOrder","flatMap","$reloadAll","data","writable","_this","forEach","isUndefined","fetch","then","calendars","union","filter","isOwned","acls","objectCreator","calendarData","group","owner","login","$get","$getIndex","indexOf","map","$subscribe","uid","path","userResource","$addWebCalendar","url","d","defer","urls","webCalendarURL","reject","post","isEditable","isRemote","debug","JSON","stringify","undefined","resolve","response","status","promise","reloadWebCalendars","promises","$error","l","statusText","all","$deleteComponents","components","component","isDefined","pid","uids","saveFoldersActivation","ids","request","folders","prototype","color","$acl","isSuperUser","$shadowData","$omit","$id","when","$futureCalendarData","getClassName","base","$rename","$save","$delete","remove","$reset","key","save","error","setCredentials","username","password","export","options","type","filename","download","$setActivation","$getComponent","componentId","recurrenceId","$find","isError","isObject","futureComponentData","newComponentData","newguid","isNew","$rootScope","Component_STATUS","User","Card","Gravatar","STATUS","$settings","$User","$Card","$gravatar","timeFormat","$query","search","$queryEvents","sort","asc","filterpopup","$queryTasks","$refreshTimeout","$ghost","EventsFilterState","TasksFilterState","EventsSortingState","parseInt","TasksSortingState","show_completed","ShowCompletedTasks","$categories","SOGoCalendarCategoriesColors","SOGoTimeFormat","constant","NOT_LOADED","DELAYED_LOADING","LOADING","LOADED","DELAYED_MS","$selectedCount","count","$events","event","selected","length","$tasks","task","$startRefreshTimeout","cancel","refreshViewCheck","SOGoRefreshViewCheck","f","bind","$emit","timeInterval","$isLoading","$loaded","$filter","otherType","now","Date","day","getDate","month","getMonth","year","getFullYear","queryKey","capitalize","params","dirty","keys","$unwrapCollection","calendarId","occurrenceId","encodeURIComponent","join","filterCategories","query","re","RegExp","category","saveSelectedList","componentType","$eventsBlocksForView","view","date","firstDayOfWeek","viewAction","startDate","endDate","SOGoFirstDayOfWeek","beginOfWeek","setTime","getTime","addDays","setDate","setMonth","endOfWeek","$eventsBlocks","j","dayDates","dayNumbers","deferred","toLowerCase","sd","getDayString","ed","views","reduceComponent","associateComponent","objects","eventData","componentData","zipObject","eventsFields","start","c_startdate","hour","getHourString","blocks","block","nbr","isFirst","$views","viewIndex","viewData","allDayBlocks","reduce","events","flatten","days","dayIndex","dayNumber","calendarName","fields","invokeMap","monthData","dayData","$resetGhost","pointerHandler","startHour","endHour","$parseDate","dateString","time","substring","split","no_time","categories","repeat","alarm","action","quantity","unit","reference","relation","delta","isString","setMinutes","Math","round","getMinutes","end","minutesTo","setDelta","dueDate","due","completedDate","completed","c_category","$isRecurrent","byDayMask","occurrence","frequency","byday","toString","dates","rdate","rdates","interval","monthdays","months","until","$hasCustomRepeat","hasCustomRepeat","classification","match","exec","SOGoCalendarDefaultReminder","$hasAlarm","M","H","D","W","sendAppointmentNotifications","SOGoAppointmentSendEMailNotifications","destinationCalendar","attendees","attendee","image","email","updateFreeBusy","initOrganizer","results","organizer","cn","c_email","updateFreeBusyAttendee","isReadOnly","isEditableOccurrence","isInvitation","userHasRSVP","isInvitationOccurrence","showPercentComplete","percentComplete","enablePercentComplete","coversFreeBusy","quarter","freebusy","updateFreeBusyCoverage","roundedStart","roundedEnd","startQuarter","endQuarter","daysUpTo","index","hourKey","currentDay","dayKey","getHours","beginOfDay","addMinutes","resource","domain","sday","eday","isMSExchange","c_folder","addAttendee","card","organizerCalendar","$isList","expandable","container","c_name","listId","refs","ref","c_cn","$preferredEmail","role","partstat","c_uid","$avatarIcon","c_domain","ismsexchange","hasAttendee","emails","deleteAttendee","currentAttendee","canRemindAttendeesByEmail","addAttachUrl","attachUrl","attachUrls","deleteAttachUrl","$addDueDate","toISOString","$deleteDueDate","$addStartDate","$deleteStartDate","$addRecurrenceDate","$deleteRecurrenceDate","$reply","reply","delegatedTo","$adjust","every","values","v","extraAttributes","dlp","$mdDateLocaleProvider","format","startTime","endTime","dueTime","stringWithSeparator","occurrenceOnly","$futureComponentData","copy","repeatDescription","localizedString","toUpperCase","alarmDescription","copyTo","destination","moveTo","CalendarController","$inject","$scope","$state","$stateParams","sgHotkeys","stateEventsBlocks","deregisterCalendarsList","vm","hotkeys","expandedAllDays","selectedDate","asDate","toggleAllDays","changeDate","changeView","$onInit","createHotkey","description","callback","args","_goToPeriod","registerHotkey","_formatDate","$on","updateView","deregisterHotkey","$event","direction","setHours","$dateFormat","replace","newDate","element","currentTarget","attr","go","controller","CalendarListController","$mdDialog","focus","Dialog","CalendarSettings","Alarm","selectedList","selectComponentType","unselectComponents","mode","multiple","selectAll","searchMode","toggleComponentSelection","preventDefault","stopPropagation","confirmDeleteSelectedComponents","confirm","ok","openEvent","openComponent","openTask","newComponent","filteredBy","field","sortedBy","reload","finally","cancelSearch","SelectedList","updateComponentFromGhost","viewable","templateUrl","show","parent","document","body","targetEvent","clickOutsideToClose","escapeToClose","controllerAs","locals","stateComponent","baseComponent","coordinates","calendarNumber","activeCalendars","currentEventCoordinates","summary","isAllDay","duration","catch","getDelta","originalEventCoordinates","originalCalendar","isException","getAlarms","onComponentAdjustError","template","RecurrentComponentDialogController","updateThisOccurrence","hide","updateAllOccurrences","message","AttendeeConflictDialogController","conflictError","ignoreConflicts","CalendarsController","$window","$mdToast","service","newCalendar","ev","prompt","UserLogin","addWebCalendar","inputType","WebCalendarAuthDialogController","scope","parts","hostname","title","formatted","authenticate","form","$valid","required","reason","$setValidity","subscribeToFolder","simple","content","position","hideDelay","sortableMode","toggleSortableMode","resetSort","sortableCalendars","scrollableContainer","containment","orderChanged","accept","sourceItemHandleScope","destSortableScope","destItemScope","sortableScope","SOGoCalendarCategories","asCSSIdentifier","$watch","pick","newList","oldList","commonList","intersectionBy","oldObject","isEqual","ComponentController","AddressBook","Account","calendarService","close","highPriority","priority","cardFilter","$filterAll","newMessageWithAllRecipients","recipients","_newMessage","newMessageWithRecipient","edit","editAllOccurrences","replyAllOccurrences","deleteOccurrence","deleteAllOccurrences","toggleRawSource","ComponentRawSourceDialogController","copySelectedComponent","moveSelectedComponent","accounts","account","$getMailboxes","mailboxes","$newMessage","editable","to","subject","stateAccount","stateMessage","ComponentEditorController","oldStartDate","oldEndDate","showRecurrenceEditor","toggleRecurrenceEditor","recurrenceMonthDaysAreRequired","showAttendeesEditor","toggleAttendeesEditor","changeFrequency","changeCalendar","$cards","address","emailRE","createCard","str","searchText","trim","charCodeAt","test","charAt","removeAttendee","$setDirty","priorityLevel","changeAlarmRelation","onAlarmChange","reset","attendeeConflictError","attendeesEditor","getDays","hours","addStartDate","removeStartDate","addDueDate","removeDueDate","adjustStartTime","valueOf","adjustEndTime","adjustDueTime","alarmRelation","$setPristine","sgCalendarDayController","dayString","directive","restrict","sgCalendarDayBlock","clickBlock","tElem","tAttrs","p","has","link","iElement","attrs","pc","left","right","siblings","css","c_isallday","addClass","userState","c_isopaque","c_status","sgCalendarGhost","require","ctrls","domElement","calendarDayCtrl","scrollViewCtrl","originalCalendarNumber","deregisterDragStart","deregisterDrag","showGhost","isRelative","durationLeft","maxDuration","quartersToHM","quarterHeight","topOffset","removeClass","deregisterDragEnd","forEachRight","classList","c","quarters","minutes","mins","floor","sgCalendarListEvent","clickComponent","userstate","sgCalendarListItemController","$element","$mdPanel","$mdMedia","$mdSidenav","sgConstant","$ctrl","editMode","$postLink","clickableElement","nameElements","getElementsByClassName","inputContainer","inputElement","moreOptionsButton","last","updateCalendarName","innerHTML","editFolder","add","srcEvent","select","panel","saveFolder","disabled","revertEditing","confirmDelete","alert","showMenu","panelPosition","newPanelPosition","relativeTo","addPanelPosition","xPosition","ALIGN_START","yPosition","ALIGN_TOPS","panelAnimation","newPanelAnimation","openFrom","withAnimation","animation","FADE","config","attachTo","itemCtrl","bindToController","MenuController","trapFocus","focusOnOpen","open","panelRef","panelEl","one","mdPanelRef","FileUploader","$menuCtrl","showOnly","showAll","showProperties","PropertiesDialogController","srcCalendar","saveProperties","showLinks","LinksDialogController","importCalendar","CalendarImportDialogController","folder","uploader","ApplicationBaseURL","autoUpload","queueLimit","filters","filterByExtension","fn","onSuccessItem","item","headers","msg","imported","onErrorItem","isTextFile","share","$users","usersWithACL","users","sgCalendarScrollView","$document","$mdGesture","sgCalendarScrollViewController","isMultiColumn","sgScrollView","hourCell","quartersOffset","SOGoDayStartTime","getElementById","scrollTop","offsetTop","$destroy","getQuarterHeight","scrollStep","getDayNumbers","maxX","getMaxColumns","onDragStart","deregisterDragStop","onDragEnd","bindedUpdateCoordinates","updateCoordinates","bindedUpdateFromPointerHandler","updateFromPointerHandler","on","off","hour0","hour23","height","getDayDimensions","viewLeft","width","leftOffset","nodes","domRect","tileHeader","getBoundingClientRect","clientHeight","offset","top","getElementsByTagName","el","attributes","mdGridList","max","dayDimensions","x","y","dayHeight","dayWidth","daysOffset","pointerCoordinates","scrollY","minY","getContainerBasedCoordinates","lastScroll","ngModel","sgDraggableCalendarBlock","blockIndex","isFirstBlock","isLastBlock","dragGrip","leftGrip","rightGrip","topGrip","bottomGrip","parentNode","tagName","append","clone","initGrips","onDragDetect","onDrag","dragMode","rect","scrollableZone","target","scrollHeight","pageX","className","SOGoEventDragPointerHandler","initFromEvent","updateFromEvent","pointer","dragHasStarted","b","dragging","SOGoCoordinates","otherCoordinates","getDistance","sqrt","SOGoEventDragEventCoordinates","eventType","setEventType","weekDay","initFromBlock","prevDayNumber","sumBy","currentDayNumber","initFromCalendar","_quartersToHM","getStartTime","getEndTime","originalCoordinates","currentCoordinates","originalViewCoordinates","currentViewCoordinates","getEventViewCoordinates","pageY","newEventCoordinates","setTimeFromQuarters","updateEventCoordinates","distance","isHourCell","isMonthly","newData","hasClass","parseDate","prepareWithEventType","dragStart","newDuration","deltaQuarters","deltaDays","ceil","clientWidth","methods","multiday","getEventMultiDayViewCoordinates","multiday-allday","getEventMultiDayAllDayViewCoordinates","monthly","getEventMonthlyViewCoordinates","unknown","method","pxCoordinates","maxY","minX","daysY","sgNowLineController","updater","nowDay","lineElement","updateLine","force","hourHeight","minuteHeight","$lineElement","dayElement","eq","_addLine","iAttr","sgCalendarScrollViewCtrl","_getDays","_unwatchView","_unwatchDays"],"mappings":"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","file":"Scheduler.services.js"}
\ No newline at end of file
+{"version":3,"sources":["Scheduler/Calendar.service.js","Scheduler/Component.service.js","Scheduler/CalendarController.js","Scheduler/CalendarListController.js","Scheduler/CalendarsController.js","Scheduler/ComponentController.js","Scheduler/sgCalendarDay.directive.js","Scheduler/sgCalendarDayBlock.directive.js","Scheduler/sgCalendarDayTable.directive.js","Scheduler/sgCalendarGhost.directive.js","Scheduler/sgCalendarListEvent.directive.js","Scheduler/sgCalendarListItem.directive.js","Scheduler/sgCalendarMonthDay.directive.js","Scheduler/sgCalendarMonthEvent.directive.js","Scheduler/sgCalendarScrollView.directive.js","Scheduler/sgCategoryStylesheet.directive.js","Scheduler/sgDraggableCalendarBlock.directive.js","Scheduler/sgNowLine.directive.js"],"names":["Calendar","futureCalendarData","this","init","name","id","newCalendarData","$$resource","create","$unwrap","$factory","$q","$timeout","$log","Settings","Resource","Preferences","Component","Acl","angular","extend","activeUser","$Preferences","$Component","$$Acl","$view","module","e","value","EventDragDayLength","EventDragHorizontalOffset","ConflictHTTPErrorCode","factory","$defaultCalendar","calendar","defaults","SOGoDefaultCalendar","_","find","$findAll","active","$add","list","sibling","isWebCalendar","$webcalendars","isSubscription","$subscriptions","$calendars","findIndex","o","i","localeCompare","push","splice","settings","FoldersOrder","saveFoldersOrder","flatMap","$reloadAll","data","writable","_this","forEach","isUndefined","fetch","then","calendars","union","filter","isOwned","acls","objectCreator","calendarData","group","owner","login","$get","$getIndex","indexOf","map","$subscribe","uid","path","userResource","$addWebCalendar","url","d","defer","urls","webCalendarURL","reject","post","isEditable","isRemote","debug","JSON","stringify","undefined","resolve","response","status","promise","reloadWebCalendars","promises","$error","l","statusText","all","$deleteComponents","components","component","isDefined","pid","uids","saveFoldersActivation","ids","request","folders","prototype","color","$acl","isSuperUser","$shadowData","$omit","$id","when","$futureCalendarData","getClassName","base","$rename","$save","$delete","remove","$reset","key","save","error","setCredentials","username","password","export","options","type","filename","download","$setActivation","$getComponent","componentId","recurrenceId","$find","isError","isObject","futureComponentData","newComponentData","newguid","isNew","$rootScope","Component_STATUS","User","Card","Gravatar","STATUS","$settings","$User","$Card","$gravatar","timeFormat","$query","search","$queryEvents","sort","asc","filterpopup","$queryTasks","$refreshTimeout","$ghost","EventsFilterState","TasksFilterState","EventsSortingState","parseInt","TasksSortingState","show_completed","ShowCompletedTasks","$categories","SOGoCalendarCategoriesColors","SOGoTimeFormat","constant","NOT_LOADED","DELAYED_LOADING","LOADING","LOADED","DELAYED_MS","$selectedCount","count","$events","event","selected","length","$tasks","task","$startRefreshTimeout","cancel","refreshViewCheck","SOGoRefreshViewCheck","f","bind","$emit","timeInterval","$isLoading","$loaded","$filter","otherType","now","Date","day","getDate","month","getMonth","year","getFullYear","queryKey","capitalize","params","dirty","keys","$unwrapCollection","calendarId","occurrenceId","encodeURIComponent","join","filterCategories","query","re","RegExp","category","saveSelectedList","componentType","$eventsBlocksForView","view","date","firstDayOfWeek","viewAction","startDate","endDate","SOGoFirstDayOfWeek","beginOfWeek","setTime","getTime","addDays","setDate","setMonth","endOfWeek","$eventsBlocks","j","dayDates","dayNumbers","deferred","toLowerCase","sd","getDayString","ed","views","reduceComponent","associateComponent","objects","eventData","componentData","zipObject","eventsFields","start","c_startdate","hour","getHourString","blocks","block","nbr","isFirst","$views","viewIndex","viewData","allDayBlocks","reduce","events","flatten","days","dayIndex","dayNumber","calendarName","fields","invokeMap","monthData","dayData","$resetGhost","pointerHandler","startHour","endHour","$parseDate","dateString","time","substring","split","no_time","categories","repeat","alarm","action","quantity","unit","reference","relation","delta","isString","setMinutes","Math","round","getMinutes","end","minutesTo","setDelta","dueDate","due","completedDate","completed","c_category","$isRecurrent","byDayMask","occurrence","frequency","byday","toString","dates","rdate","rdates","interval","monthdays","months","until","$hasCustomRepeat","hasCustomRepeat","classification","match","exec","SOGoCalendarDefaultReminder","$hasAlarm","M","H","D","W","sendAppointmentNotifications","SOGoAppointmentSendEMailNotifications","destinationCalendar","attendees","attendee","image","email","updateFreeBusy","initOrganizer","results","organizer","cn","c_email","updateFreeBusyAttendee","isReadOnly","isEditableOccurrence","isInvitation","userHasRSVP","isInvitationOccurrence","showPercentComplete","percentComplete","enablePercentComplete","coversFreeBusy","quarter","freebusy","updateFreeBusyCoverage","roundedStart","roundedEnd","startQuarter","endQuarter","daysUpTo","index","hourKey","currentDay","dayKey","getHours","beginOfDay","addMinutes","resource","domain","sday","eday","isMSExchange","c_folder","addAttendee","card","organizerCalendar","$isList","expandable","container","c_name","listId","refs","ref","c_cn","$preferredEmail","role","partstat","c_uid","$avatarIcon","c_domain","ismsexchange","hasAttendee","emails","deleteAttendee","currentAttendee","canRemindAttendeesByEmail","addAttachUrl","attachUrl","attachUrls","deleteAttachUrl","$addDueDate","toISOString","$deleteDueDate","$addStartDate","$deleteStartDate","$addRecurrenceDate","$deleteRecurrenceDate","$reply","reply","delegatedTo","$adjust","every","values","v","extraAttributes","dlp","$mdDateLocaleProvider","format","startTime","endTime","dueTime","stringWithSeparator","occurrenceOnly","$futureComponentData","copy","repeatDescription","localizedString","toUpperCase","alarmDescription","copyTo","destination","moveTo","CalendarController","$inject","$scope","$state","$stateParams","sgHotkeys","stateEventsBlocks","deregisterCalendarsList","vm","hotkeys","expandedAllDays","selectedDate","asDate","toggleAllDays","changeDate","changeView","$onInit","createHotkey","description","callback","args","_goToPeriod","registerHotkey","_formatDate","$on","updateView","deregisterHotkey","$event","direction","setHours","$dateFormat","replace","newDate","element","currentTarget","attr","go","controller","CalendarListController","$mdDialog","focus","Dialog","CalendarSettings","Alarm","selectedList","selectComponentType","unselectComponents","mode","multiple","selectAll","searchMode","toggleComponentSelection","preventDefault","stopPropagation","confirmDeleteSelectedComponents","confirm","ok","openEvent","openComponent","openTask","newComponent","filteredBy","field","sortedBy","reload","finally","cancelSearch","SelectedList","updateComponentFromGhost","viewable","templateUrl","show","parent","document","body","targetEvent","clickOutsideToClose","escapeToClose","controllerAs","locals","stateComponent","baseComponent","coordinates","calendarNumber","activeCalendars","currentEventCoordinates","summary","isAllDay","duration","catch","getDelta","originalEventCoordinates","originalCalendar","isException","getAlarms","onComponentAdjustError","template","RecurrentComponentDialogController","updateThisOccurrence","hide","updateAllOccurrences","message","AttendeeConflictDialogController","conflictError","ignoreConflicts","CalendarsController","$window","$mdToast","service","newCalendar","ev","prompt","UserLogin","addWebCalendar","inputType","WebCalendarAuthDialogController","scope","parts","hostname","title","formatted","authenticate","form","$valid","required","reason","$setValidity","subscribeToFolder","simple","content","position","hideDelay","sortableMode","toggleSortableMode","resetSort","sortableCalendars","scrollableContainer","containment","orderChanged","accept","sourceItemHandleScope","destSortableScope","destItemScope","sortableScope","SOGoCalendarCategories","asCSSIdentifier","$watch","pick","newList","oldList","commonList","intersectionBy","oldObject","isEqual","ComponentController","AddressBook","Account","calendarService","close","highPriority","priority","cardFilter","$filterAll","newMessageWithAllRecipients","recipients","_newMessage","newMessageWithRecipient","edit","editAllOccurrences","replyAllOccurrences","deleteOccurrence","deleteAllOccurrences","toggleRawSource","ComponentRawSourceDialogController","copySelectedComponent","moveSelectedComponent","accounts","account","$getMailboxes","mailboxes","$newMessage","editable","to","subject","stateAccount","stateMessage","ComponentEditorController","oldStartDate","oldEndDate","showRecurrenceEditor","toggleRecurrenceEditor","recurrenceMonthDaysAreRequired","showAttendeesEditor","toggleAttendeesEditor","changeFrequency","changeCalendar","$cards","address","emailRE","createCard","str","searchText","trim","charCodeAt","test","charAt","removeAttendee","$setDirty","priorityLevel","changeAlarmRelation","onAlarmChange","reset","attendeeConflictError","attendeesEditor","getDays","hours","addStartDate","removeStartDate","addDueDate","removeDueDate","adjustStartTime","valueOf","adjustEndTime","adjustDueTime","alarmRelation","$setPristine","sgCalendarDayController","dayString","directive","restrict","sgCalendarDayBlock","clickBlock","tElem","tAttrs","p","has","link","iElement","attrs","pc","left","right","siblings","css","c_isallday","addClass","userState","c_isopaque","c_status","sgCalendarGhost","require","ctrls","domElement","calendarDayCtrl","scrollViewCtrl","originalCalendarNumber","deregisterDragStart","deregisterDrag","showGhost","isRelative","durationLeft","maxDuration","quartersToHM","quarterHeight","topOffset","removeClass","deregisterDragEnd","forEachRight","classList","c","quarters","minutes","mins","floor","sgCalendarListEvent","clickComponent","userstate","sgCalendarListItemController","$element","$mdPanel","$mdMedia","$mdSidenav","sgConstant","$ctrl","editMode","$postLink","clickableElement","nameElements","getElementsByClassName","inputContainer","inputElement","moreOptionsButton","last","updateCalendarName","innerHTML","editFolder","add","srcEvent","select","panel","saveFolder","disabled","revertEditing","confirmDelete","alert","showMenu","panelPosition","newPanelPosition","relativeTo","addPanelPosition","xPosition","ALIGN_START","yPosition","ALIGN_TOPS","panelAnimation","newPanelAnimation","openFrom","withAnimation","animation","FADE","config","attachTo","itemCtrl","bindToController","MenuController","trapFocus","focusOnOpen","open","panelRef","panelEl","one","mdPanelRef","FileUploader","$menuCtrl","showOnly","showAll","showProperties","PropertiesDialogController","srcCalendar","saveProperties","showLinks","LinksDialogController","importCalendar","CalendarImportDialogController","folder","uploader","ApplicationBaseURL","autoUpload","queueLimit","filters","filterByExtension","fn","onSuccessItem","item","headers","msg","imported","onErrorItem","isTextFile","share","$users","usersWithACL","users","sgCalendarScrollView","$document","$mdGesture","sgCalendarScrollViewController","isMultiColumn","sgScrollView","hourCell","quartersOffset","SOGoDayStartTime","getElementById","scrollTop","offsetTop","$destroy","getQuarterHeight","scrollStep","getDayNumbers","maxX","getMaxColumns","onDragStart","deregisterDragStop","onDragEnd","bindedUpdateCoordinates","updateCoordinates","bindedUpdateFromPointerHandler","updateFromPointerHandler","on","off","hour0","hour23","height","getDayDimensions","viewLeft","width","leftOffset","nodes","domRect","tileHeader","getBoundingClientRect","clientHeight","offset","top","getElementsByTagName","el","attributes","mdGridList","max","dayDimensions","x","y","dayHeight","dayWidth","daysOffset","pointerCoordinates","scrollY","minY","getContainerBasedCoordinates","lastScroll","ngModel","sgDraggableCalendarBlock","blockIndex","isFirstBlock","isLastBlock","dragGrip","leftGrip","rightGrip","topGrip","bottomGrip","parentNode","tagName","append","clone","initGrips","onDragDetect","onDrag","dragMode","rect","scrollableZone","target","scrollHeight","pageX","className","SOGoEventDragPointerHandler","initFromEvent","updateFromEvent","pointer","dragHasStarted","b","dragging","SOGoCoordinates","otherCoordinates","getDistance","sqrt","SOGoEventDragEventCoordinates","eventType","setEventType","weekDay","initFromBlock","prevDayNumber","sumBy","currentDayNumber","initFromCalendar","_quartersToHM","getStartTime","getEndTime","originalCoordinates","currentCoordinates","originalViewCoordinates","currentViewCoordinates","getEventViewCoordinates","pageY","newEventCoordinates","setTimeFromQuarters","updateEventCoordinates","distance","isHourCell","isMonthly","newData","hasClass","parseDate","prepareWithEventType","dragStart","newDuration","deltaQuarters","deltaDays","ceil","clientWidth","methods","multiday","getEventMultiDayViewCoordinates","multiday-allday","getEventMultiDayAllDayViewCoordinates","monthly","getEventMonthlyViewCoordinates","unknown","method","pxCoordinates","maxY","minX","daysY","sgNowLineController","updater","nowDay","lineElement","updateLine","force","hourHeight","minuteHeight","$lineElement","dayElement","eq","_addLine","iAttr","sgCalendarScrollViewCtrl","_getDays","_unwatchView","_unwatchDays"],"mappings":"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","file":"Scheduler.services.js"}
\ No newline at end of file