!function(){"use strict";functione(e,a){e.state("app",{url:"/addressbooks",abstract:!0,views:{addressbooks:{templateUrl:"UIxContactFoldersView",controller:"AddressBooksController",controllerAs:"app"}},resolve:{stateAddressbooks:t}}).state("app.addressbook",{url:"/:addressbookId",views:{addressbook:{templateUrl:"addressbook",controller:"AddressBookController",controllerAs:"addressbook"}},resolve:{stateAddressbook:o}}).state("app.addressbook.new",{url:"/{contactType:(?:card|list)}/new",params:{refs:{array:!0}},views:{card:{templateUrl:"UIxContactEditorTemplate",controller:"CardController",controllerAs:"editor"}},resolve:{stateCard:r}}).state("app.addressbook.card",{url:"/:cardId",abstract:!0,views:{card:{template:"<ui-view/>"}},resolve:{stateCard:s},onEnter:d,onExit:n}).state("app.addressbook.card.view",{url:"/view",views:{"card@app.addressbook":{templateUrl:"UIxContactViewTemplate",controller:"CardController",controllerAs:"editor"}}}).state("app.addressbook.card.editor",{url:"/edit",views:{"card@app.addressbook":{templateUrl:"UIxContactEditorTemplate",controller:"CardController",controllerAs:"editor"}}}),a.otherwise("/addressbooks/personal")}functiont(e){returne.$findAll(window.contactFolders)}functiono(e,t,o,r){vars=_.find(r.$findAll(),function(e){returne.id==o.addressbookId});returns?(deletes.selectedCard,s.$reload(),s):e.reject("Addressbook "+o.addressbookId+" not found")}functionr(e,t,o){varr="v"+e.contactType,s=newo({pid:e.addressbookId,c_component:r,refs:e.refs});returnt.selectedCard=!0,s}functions(e,t,o){returno.$futureAddressBookData.then(function(){varr=_.find(o.$cards,function(e){returne.id==t.cardId});if(r)returnr.$reload();e.go("app.addressbook")})}functiond(e,t){t.selectedCard=e.cardId}functionn(e){deleteo.selectedCard}functiona(e,t,o){e.$on("$stateChangeError",function(e,r,s,d,n,a){t.error(a),o.go("app.addressbook",{addressbookId:"personal"})}),e.$on("$routeChangeError",function(e,o,r,s){t.error(e,o,r,s)})}angular.module("SOGo.ContactsUI",["ngCookies","ui.router","angularFileUpload","ck","SOGo.Common","SOGo.PreferencesUI","SOGo.MailerUI"]).config(e).run(a),e.$inject=["$stateProvider","$urlRouterProvider"],t.$inject=["AddressBook"],o.$inject=["$q","$state","$stateParams","AddressBook"],r.$inject=["$stateParams","stateAddressbook","Card"],s.$inject=["$state","$stateParams","stateAddressbook"],d.$inject=["$stateParams","stateAddressbook"],n.$inject=["stateAddressbook"],a.$inject=["$rootScope","$log","$state"]}(),function(){"use strict";functione(e,t,o,r,s,d,n,a,c,i,u,f,p,h,m,g){function$(e){vart=w.selectedFolder.$selectedCardIndex();returnangular.isDefined(t)?(t--,w.selectedFolder.$topIndex>0&&w.selectedFolder.$topIndex--):(t=w.selectedFolder.$cards.length()-1,w.selectedFolder.$topIndex=w.selectedFolder.getLength()),t>-1&&w.selectCard(w.selectedFolder.$cards[t]),e.preventDefault(),t}functionk(e){vart=w.selectedFolder.$selectedCardIndex();returnangular.isDefined(t)?(t++,w.selectedFolder.$topIndex<w.selectedFolder.$cards.length&&w.selectedFolder.$topIndex++):t=0,t<w.selectedFolder.$cards.length?w.selectCard(w.selectedFolder.$cards[t]):t=-1,e.preventDefault(),t}functionb(e){vart;w.selectedFolder.hasSelectedCard()&&(t=$(e))>=0&&toggleCardSelection(e,w.selectedFolder.$cards[t])}functionC(e){vart;w.selectedFolder.hasSelectedCard()&&(t=k(e))>=0&&toggleCardSelection(e,w.selectedFolder.$cards[t])}functionv(e,t){varo,s,d,a,c,i,u;o=w.selectedFolder,c=!1,s=o.$selectedCards(),(d=_.filter(s,function(e){returne.$isCard()})).length!=s.length&&n.show(n.simple().content(l("Lists can't be moved or copied.")).position("top right").hideDelay(2e3)),d.length&&("copy"==e?(i=o.$copyCards(d,t),u=l("%{0} card(s) copied",d.length)):(i=o.$moveCards(d,t),u=l("%{0} card(s) moved",d.length),a=_.map(d,"id"),c=o.selectedCard&&a.indexOf(o.selectedCard)>=0),i.then(function(){c&&r.go("app.addressbook"),n.show(n.simple().content(u).position("top right").hideDelay(2e3))}))}varw=this,y=[];this.$onInit=function(){i.selectedFolder=g,this.service=i,this.selectedFolder=g,this.mode={search:!1,multiple:0},function(e){e.