!function(){"use strict";functione(e,t){e.state("app",{url:"/addressbooks",abstract:!0,views:{addressbooks:{templateUrl:"UIxContactFoldersView",controller:"AddressBooksController",controllerAs:"app"}},resolve:{stateAddressbooks:o}}).state("app.addressbook",{url:"/:addressbookId",views:{addressbook:{templateUrl:"addressbook",controller:"AddressBookController",controllerAs:"addressbook"}},resolve:{stateAddressbook:s}}).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:d},onEnter:n,onExit:i}).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"}}}),t.rules.otherwise({state:"app.addressbook",params:{addressbookId:"personal"}})}functiono(e){returne.$findAll(window.contactFolders)}functions(e,t,o,s){s=_.find(s.$findAll(),function(e){returne.id==o.addressbookId});returns?(deletes.selectedCard,s.$reload(),s):e.reject("Addressbook "+o.addressbookId+" not found")}functionr(e,t,o){vars="v"+e.contactType,e=newo({pid:e.addressbookId,c_component:s,refs:e.refs});returnt.selectedCard=!0,e}functiond(t,o,s){returns.$futureAddressBookData.then(function(){vare=_.find(s.$cards,function(e){returne.id==o.cardId});if(e)returne.$reload();t.go("app.addressbook")})}functionn(e,t){t.selectedCard=e.cardId}functioni(e){deletes.selectedCard}functiont(e,t,o,s){e.DebugEnabled||s.defaultErrorHandler(function(){}),o.onError({to:"app.**"},function(e){"app"==e.to().name||e.ignored()||(t.error("transition error to "+e.to().name+": "+e.error().detail),s.go("app.addressbook",{addressbookId:"personal"}))})}angular.module("SOGo.ContactsUI",["ngCookies","ui.router","angularFileUpload","sgCkeditor","SOGo.Common","SOGo.PreferencesUI","SOGo.MailerUI"]).config(e).run(t),e.$inject=["$stateProvider","$urlServiceProvider"],o.$inject=["AddressBook"],s.$inject=["$q","$state","$stateParams","AddressBook"],r.$inject=["$stateParams","stateAddressbook","Card"],d.$inject=["$state","$stateParams","stateAddressbook"],n.$inject=["$stateParams","stateAddressbook"],i.$inject=["stateAddressbook"],t.$inject=["$window","$log","$transitions","$state"]}(),function(){"use strict";functione(n,i,e,a,t,c,u,o,h,s,r,d,f,p,m,g){var$,k=this,C=[];functionb(e){vart=k.selectedFolder.$selectedCardIndex();returnangular.isDefined(t)?(t--,0<k.selectedFolder.$topIndex&&k.selectedFolder.$topIndex--):(t=k.selectedFolder.$cards.length()-1,k.selectedFolder.$topIndex=k.selectedFolder.getLength()),-1<t&&k.selectCard(k.selectedFolder.$cards[t]),e.preventDefault(),t}functionv(e){vart=k.selectedFolder.$selectedCardIndex();returnangular.isDefined(t)?(t++,k.selectedFolder.$topIndex<k.selectedFolder.$cards.length&&k.selectedFolder.$topIndex++):t=0,t<k.selectedFolder.$cards.length?k.selectCard(k.selectedFolder.$cards[t]):t=-1,e.preventDefault(),t}functionw(e){vart;k.selectedFolder.hasSelectedCard()&&0<=(t=b(e))&&toggleCardSelection(e,k.selectedFolder.$cards[t])}functiony(e){vart;k.selectedFolder.hasSelectedCard()&&0<=(t=v(e))&&toggleCardSelection(e,k.selectedFolder.$cards[t])}functionF(e,t){varo,s,r=k.selectedFolder,d=!1,n=r.$selectedCards(),i=_.filter(n,function(e){returne.$isCard()});i.length!=n.length&&u.show(u.simple().textContent(l("Lists can't be moved or copied.")).position("top right").hideDelay(2e3)),i.length&&("copy"==e?(o=r.$copyCards(i,t),s=l("%{0} card(s) copied",i.length)):(o=r.$moveCards(i,t),s=l("%{0} card(s) moved",i.length),i=_.map(i,"id"),d=r.selectedCard&&0<=i.indexOf(r.selectedCard)),o.then(function(){d&&a.go("app.addressbook"),u.show(u.simple().textContent(s).position("top right").hideDelay(2e3))}))}