sogo/UI/WebServerResources/js/Common.js

4 lines
68 KiB
JavaScript
Raw Normal View History

2015-12-04 21:38:30 +01:00
(function(){"use strict";angular.module("SOGo.Common",["ngAnimate","ngMaterial","mdColors"]).value("sgSettings",{isPopup:document.body.classList.contains("popup"),baseURL:function(){return ApplicationBaseURL||null},activeUser:function(param){var settings={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,logoff:UserLogoffPath||null}};if(param)return settings[param];else return settings}}).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: 1279px)","gt-md":"(min-width: 1280px)",lg:"(min-width: 1280px) and (max-width: 1919px)","gt-lg":"(min-width: 1920px)",xl:"(min-width: 1920px)"}).config(configure).factory("AuthInterceptor",AuthInterceptor);configure.$inject=["$logProvider","$compileProvider","$mdThemingProvider","$httpProvider"];function configure($logProvider,$compileProvider,$mdThemingProvider,$httpProvider){$mdThemingProvider.definePalette("sogo-green",{50:"eaf5e9",100:"cbe5c8",200:"aad6a5",300:"88c781",400:"66b86a",500:"56b04c",600:"4da143",700:"388e3c",800:"367d2e",900:"225e1b",A100:"ffffff",A200:"69f0ae",A400:"00e676",A700:"00c853",contrastDefaultColor:"dark",contrastLightColors:["300","400","500","600","700","800","900"]});$mdThemingProvider.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"]});$mdThemingProvider.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"]});$mdThemingProvider.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("grey",{"default":"A100","hue-1":"200","hue-2":"300","hue-3":"500"});if(!DebugEnabled){$logProvider.debugEnabled(false);$compileProvider.debugInfoEnabled(false)}$httpProvider.interceptors.push("AuthInterceptor")}AuthInterceptor.$inject=["$window","$q"];function AuthInterceptor($window,$q){return{response:function(response){if(/^application\/json/.test(response.config.headers.Accept)&&/^<!DOCTYPE html>/.test(response.data)){$window.location.reload(true);return $q.reject()}return response}}}})();(function(){"use strict";var _$mdThemingProvider;angular.module("mdColors",["ngMaterial"]).config(configure).run(runBlock);configure.$inject=["$mdThemingProvider"];function configure($mdThemingProvider){_$mdThemingProvider=$mdThemingProvider}runBlock.$inject=["$interpolate","$document","$log"];function runBlock($interpolate,$document,$log){function buildCssSelectors(selectors){var result=selectors.join("");return res
})();(function(){"use strict";function sgColorPicker(){return{restrict:"E",require:"ngModel",template:["<md-menu>",' <md-button class="md-icon-button"',' label:aria-label="Options"'," ng-style=\"{ 'background-color': sgColor }\"",' ng-click="$mdOpenMenu()"',' md-menu-origin="md-menu-origin">',' <md-icon style="color: #fff">color_lens</md-icon>'," </md-button>",' <md-menu-content width="3">',' <md-content class="md-padding">',' <md-grid-list class="sg-color-picker" md-cols="7" md-row-height="1:1" md-gutter="0.5em">',' <md-grid-tile ng-repeat="color in ::sgColors track by $index"'," ng-style=\"{ 'background-color': color }\"",' ng-class="{ selected: color == sgColor }"',' ng-click="setColor(color)"><md-icon ng-style="{ color: color }">check_box</md-icon></md-grid-tile>'," </md-grid-list>"," </md-content>"," </md-menu-content>","</md-menu>"].join(""),replace:true,controller:sgColorPickerController,link:link};function link(scope,iElement,iAttr,ngModelController){ngModelController.$render=function(){scope.sgColor=ngModelController.$viewValue}}}sgColorPickerController.$inject=["$scope","$element","sgColors"];function sgColorPickerController($scope,$element,sgColors){var ngModelController=$element.controller("ngModel");$scope.sgColors=sgColors.selection;$scope.setColor=function(color){$scope.sgColor=color;ngModelController.$setViewValue(color)}}angular.module("SOGo.Common").directive("sgColorPicker",sgColorPicker)})();(function(){"use strict";sgCompile.$inject=["$compile"];function sgCompile($compile){return{restrict:"A",link:sgCompileLink};function sgCompileLink(scope,element,attrs){var ensureCompileRunsOnce=scope.$watch(function(scope){return scope.$eval(attrs.sgCompile)},function(value){element.html(value);$compile(element.contents())(scope);ensureCompileRunsOnce()})}}angular.module("SOGo.Common").directive("sgCompile",sgCompile)})();(function(){"use strict";function sgEnter(){var ENTER_KEY=13;return function(scope,element,attrs){element.bind("keydown keypress",function(event){if(event.which===ENTER_KEY){scope.$apply(attrs.sgEnter);event.preventDefault()}})}}angular.module("SOGo.Common").directive("sgEnter",sgEnter)})();(function(){"use strict";function sgEscape(){var ESCAPE_KEY=27;return function(scope,elem,attrs){elem.bind("keydown",function(event){if(event.keyCode===ESCAPE_KEY){scope.$apply(attrs.sgEscape)}})}}angular.module("SOGo.Common").directive("sgEscape",sgEscape)})();(function(){"use strict";function sgFocusOn(){return function(scope,elem,attr){scope.$on("sgFocusOn",function(e,name){if(name===attr.sgFocusOn){elem[0].focus();elem[0].select()}})}}angular.module("SOGo.Common").directive("sgFocusOn",sgFocusOn)})();(function(){"use strict";function sgFolderStylesheet(){return{restrict:"E",require:"ngModel",scope:{ngModel:"="},replace:true,bindToController:true,controller:sgFolderStylesheetController,controllerAs:"cssCtrl",template:['<style type="text/css">'," .bg-folder{{ cssCtrl.ngModel.id }},"," .bg-folder{{ cssCtrl.ngModel.id }} label,"," .bg-folder{{ cssCtrl.ngModel.id }} .md-input {"," background-color: {{ cssCtrl.ngModel.color }} !important;"," color: {{ cssCtrl.contrast(cssCtrl.ngModel.color) }} !important;"," }"," .sg-event.bg-folder{{ cssCtrl.ngModel.id }} md-icon {"," color: {{ cssCtrl.contrast(cssCtrl.ngModel.color) }} !important;"," }"," md-toolbar.bg-folder{{ cssCtrl.ngModel.id }} md-icon:not(.sg-icon-toolbar-bg) {"," color: {{ cssCtrl.contrast(cssCtrl.ngModel.color) }} !important;"," }"," .bg-folder{{ cssCtrl.ngModel.id }} label {"," color: {{ cssCtrl.contrast(cssCtrl.ngModel.color) }} !important;"," opacity: 0.8;"," }"," .fg-folder{{ cssCtrl.ngModel.id }},"," .sg-event.fg-folder{{ cssCtrl.ngModel.id }} md-icon {"," color: {{ cssCtrl.ngModel.color }} !important;"," }"," .bdr-folder{{ cssCtrl.ngModel.id }} {"," border-color: {{ cssCtrl.ngModel.color }} !important;"," }"," .checkbox-folder{{ cssCtrl.ngModel.id }} .md-icon {","
V=f(V,Y,X,W,C[P+2],z,4243563512);W=f(W,V,Y,X,C[P+7],y,1735328473);X=f(X,W,V,Y,C[P+12],w,2368359562);Y=D(Y,X,W,V,C[P+5],o,4294588738);V=D(V,Y,X,W,C[P+8],m,2272392833);W=D(W,V,Y,X,C[P+11],l,1839030562);X=D(X,W,V,Y,C[P+14],j,4259657740);Y=D(Y,X,W,V,C[P+1],o,2763975236);V=D(V,Y,X,W,C[P+4],m,1272893353);W=D(W,V,Y,X,C[P+7],l,4139469664);X=D(X,W,V,Y,C[P+10],j,3200236656);Y=D(Y,X,W,V,C[P+13],o,681279174);V=D(V,Y,X,W,C[P+0],m,3936430074);W=D(W,V,Y,X,C[P+3],l,3572445317);X=D(X,W,V,Y,C[P+6],j,76029189);Y=D(Y,X,W,V,C[P+9],o,3654602809);V=D(V,Y,X,W,C[P+12],m,3873151461);W=D(W,V,Y,X,C[P+15],l,530742520);X=D(X,W,V,Y,C[P+2],j,3299628645);Y=t(Y,X,W,V,C[P+0],U,4096336452);V=t(V,Y,X,W,C[P+7],T,1126891415);W=t(W,V,Y,X,C[P+14],R,2878612391);X=t(X,W,V,Y,C[P+5],O,4237533241);Y=t(Y,X,W,V,C[P+12],U,1700485571);V=t(V,Y,X,W,C[P+3],T,2399980690);W=t(W,V,Y,X,C[P+10],R,4293915773);X=t(X,W,V,Y,C[P+1],O,2240044497);Y=t(Y,X,W,V,C[P+8],U,1873313359);V=t(V,Y,X,W,C[P+15],T,4264355552);W=t(W,V,Y,X,C[P+6],R,2734768916);X=t(X,W,V,Y,C[P+13],O,1309151649);Y=t(Y,X,W,V,C[P+4],U,4149444226);V=t(V,Y,X,W,C[P+11],T,3174756917);W=t(W,V,Y,X,C[P+2],R,718787259);X=t(X,W,V,Y,C[P+9],O,3951481745);Y=K(Y,h);X=K(X,E);W=K(W,v);V=K(V,g)}var i=B(Y)+B(X)+B(W)+B(V);return i.toLowerCase()};return md5(this.toLowerCase())};String.prototype.capitalize=function(){return this.charAt(0).toUpperCase()+this.slice(1)};String.prototype.asDate=function(){var newDate;var date=this.split("/");if(date.length==3)newDate=new Date(date[2],date[1]-1,date[0]);else{date=this.split("-");if(date.length==3)newDate=new Date(date[0],date[1]-1,date[2]);else{if(this.length==8){newDate=new Date(this.substring(0,4),this.substring(4,6)-1,this.substring(6,8))}}}return newDate};String.prototype.formatTime=function(hours,minutes){var newString=this;var p="am",i=hours,m=minutes;if(hours>12){p="pm";i=hours%12}if(minutes<10){m="0"+minutes}newString=newString.replace("%H",hours<10?"0"+hours:hours);newString=newString.replace("%I",i<10?"0"+i:i);newString=newString.replace("%M",m);newString=newString.replace("%p",p);return newString};String.prototype.isValidEmail=function(){var emailRE=/^([\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;return emailRE.test(this)};String.prototype.asCSSIdentifier=function(){var characters=["_","\\.","#","@","\\*",":",","," ","'","&","\\+"];var escapeds=["_U_","_D_","_H_","_A_","_S_","_C_","_CO_","_SP_","_SQ_","_AM_","_P_"];var newString=this;for(var i=0;i<characters.length;i++){var re=new RegExp(characters[i],"g");newString=newString.replace(re,escapeds[i])}if(/^\d+/.test(newString)){newString="_"+newString}return newString};String.prototype.timeInterval=function(){var interval;if(this=="once_per_hour")interval=3600;else if(this=="every_minute")interval=60;else{interval=parseInt(this.substr(6))*60}return interval};Date.prototype.daysUpTo=function(otherDate){var days=[];var day1=this.getTime();var day2=otherDate.getTime();if(day1>day2){var tmp=day1;day1=day2;day2=tmp}var nbrDays=Math.round((day2-day1)/864e5)+1;for(var i=0;i<nbrDays;i++){var newDate=new Date;newDate.setTime(day1+i*864e5);days.push(newDate)}return days};Date.prototype.minutesTo=function(otherDate){var delta,dstOffset;delta=Math.floor(otherDate.valueOf()-this.valueOf())/1e3/60;dstOffset=otherDate.getTimezoneOffset()-this.getTimezoneOffset();return delta-dstOffset};Date.prototype.stringWithSeparator=function(separator){var month=""+(this.getMonth()+1);var day=""+this.getDate();var year=this.getYear();if(year<1e3)year=""+(year+1900);if(month.length==1)month="0"+month;if(day.length==1)day="0"+day;if(separator=="-")str=year+"-"+month+"-"+day;else str=day+"/"+month+"/"+year;return str};Date.prototype.addDays=function(nbrDays){var initialDate,milliSeconds,dstOffset;milliSeconds=this.getTime();initialDate=new Date(milliSeconds);milliSeconds+=864e5*nbrDays;this.setTime(milliSeconds);dstOffset=this.getTimezoneOffset()-initialDate.getTimezoneOffset();if(dstOffset!==0){milliSeconds=this.getTime()+ds
//# sourceMappingURL=Common.js.map