}}angular.module("SOGo.Common").directive("sgFolderStylesheet",a)}(),function(){"use strict";functiona(){return{restrict:"A",scope:{placeholder:"=sgPlaceholder"},link:function(a,b,c){a.$watch("placeholder",function(){b[0].placeholder=a.placeholder})}}}angular.module("SOGo.Common").directive("sgPlaceholder",a)}(),function(){"use strict";functiona(a,b){functionc(c,d){returnfunction(c,d,e){functionf(a){d[0].hasAttribute("disabled")||(h.classList.contains("ng-hide")?(angular.element(i).css({overflow:"hidden"}),h.classList.remove("ng-hide"),angular.element(h).css({top:i.scrollTop+"px"}),g.css({top:a.pageY-i.offsetTop+i.scrollTop+"px",left:a.pageX-i.offsetLeft+"px",width:"400vmin",height:"400vmin"})):(g.css({top:a.pageY-i.offsetTop+i.scrollTop+"px",left:a.pageX-i.offsetLeft+"px",height:"0px",width:"0px"}),h.classList.add("ng-hide"),b(function(){angular.element(i).css({overflow:""})},800)))}varg,h,i,j;for(j=d.attr("sg-ripple-click"),i=d[0].parentNode;i&&i.id!=j;)i=i.parentNode;returni?(h=i.querySelector("sg-ripple-content"))?(g=i.querySelector("sg-ripple"),g?g=angular.element(g):(g=angular.element('<sg-ripple class="md-default-theme md-bg"></sg-ripple>'),i.appendChild(g[0]),h.classList.contains("ng-hide")||h.classList.add("ng-hide")),voidd.on("click",f)):voida.error("sg-ripple-content not found inside #"+j):voida.error("No parent element found with id "+j)}}return{restrict:"A",compile:c}}angular.module("SOGo.Common").directive("sgRippleClick",a),a.$inject=["$log","$timeout"]}(),function(){"use strict";functiona(a){functionb(b,c){vard=(b.find("md-input-container"),b.find("input")),e=b.find("md-select"),f=b.find("md-button");returnd.attr("ng-model","$sgSearchController.searchText"),d.attr("ng-model-options","$sgSearchController.searchTextOptions"),d.attr("ng-change","$sgSearchController.onChange()"),e&&(e.attr("ng-model","$sgSearchController.searchField"),e.attr("ng-change","$sgSearchController.onChange()")),f&&f.attr("sg-search-cancel")?(f.attr("ng-click",f.attr("sg-search-cancel")),f.removeAttr("sg-search-cancel")):f=null,function(b,c,e,g){varh=c.find("button");g.formName=c.attr("name"),g.inputName=d.attr("name"),g.allowDot=a(c.attr("sg-allow-dot"))(b),g.doSearch=a(c.attr("sg-search")),f&&h&&h.on("click",g.cancelSearch)}}return{restrict:"A",controller:"sgSearchController",controllerAs:"$sgSearchController",priority:1001,compile:b}}functionb(){functiona(a,b){returnfunction(a,b,c,d,e){e(function(a){b.append(a)})}}return{restrict:"A",priority:1e3,transclude:!0,compile:a}}functionc(a,b,c){vard,e=this;d=angular.isNumber(a.minimumSearchLength)?a.minimumSearchLength:2,e.searchText=null,e.searchTextOptions={updateOn:"default blur",debounce:{default:300,blur:0}},e.onChange=function(){vara=b[e.formName],c=a[e.inputName],d=c.$viewValue;(e.allowDot&&"."==d||a.$valid&&d)&&("."==d&&c.$setValidity("minlength",!0),e.doSearch(b,{searchText:d,searchField:e.searchField}))},e.cancelSearch=function(){e.searchText=null}}a.$inject=["$parse"],c.$inject=["$window","$scope","$element"],angular.module("SOGo.Common").controller("sgSearchController",c).directive("sgSearch",a).directive("sgSearch",b)}(),function(){"use strict";functiona(){functiona(a,b,c,d){functione(){returnb.find("input").eq(0)}varf=a.$watch(e,function(b){varc;b.length&&(f(),c=b.controller("ngModel"),b.on("blur",function(){d.scope.selectedItem||a.$applyAsync(c.$setValidity("required",!1))}))})}return{link:a,require:"mdAutocomplete",restrict:"A"}}angular.module("SOGo.Common").directive("sgSelectOnly",a)}(),function(){"use strict";functiona(a){return{restrict:"A",scope:{folderType:"@sgSubscribe",onFolderSelect:"&sgSubscribeOnSelect"},replace:!1,bindToController:!0,controller:c,controllerAs:"$sgSubscribeDialogController",link:b}}functionb(a,b,c,d){b.find("input");b.on("click",d.showDialog)}functionc(a){varb=this;b.showDialog=function(){a.show({templateUrl:"../Contacts/UIxContactsUserFolders",clickOutsideToClose:!0,locals:{folderType:b.folderType,onFolderSelect:b.onFolderSelect},controller:d,controllerAs:"subscribe"})}}functiond(a,b,c,d){vare=this;e.selectedU