!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:r}}).state("app.addressbook.new",{url:"/{contactType:(?:card|list)}/new",params:{refs:{array:!0}},views:{card:{templateUrl:"UIxContactEditorTemplate",controller:"CardController",controllerAs:"editor"}},resolve:{stateCard:s}}).state("app.addressbook.card",{url:"/:cardId",abstract:!0,views:{card:{template:"<ui-view/>"}},resolve:{stateCard:d},onEnter:n,onExit:a}).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)}functionr(e,t,o,r){r=_.find(r.$findAll(),function(e){returne.id==o.addressbookId});returnr?(deleter.selectedCard,r.$reload(),r):e.reject("Addressbook "+o.addressbookId+" not found")}functions(e,t,o){varr="v"+e.contactType,e=newo({pid:e.addressbookId,c_component:r,refs:e.refs});returnt.selectedCard=!0,e}functiond(t,o,r){returnr.$futureAddressBookData.then(function(){vare=_.find(r.$cards,function(e){returne.id==o.cardId});if(e)returne.$reload();t.go("app.addressbook")})}functionn(e,t){t.selectedCard=e.cardId}functiona(e){deleter.selectedCard}functiont(e,t,o,r){e.DebugEnabled||r.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),r.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"],r.$inject=["$q","$state","$stateParams","AddressBook"],s.$inject=["$stateParams","stateAddressbook","Card"],d.$inject=["$state","$stateParams","stateAddressbook"],n.$inject=["$stateParams","stateAddressbook"],a.$inject=["stateAddressbook"],t.$inject=["$window","$log","$transitions","$state"]}(),function(){"use strict";functione(n,a,e,i,t,c,u,o,h,r,s,d,f,p,m,g){var$,k=this,b=[];functionC(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=C(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,r,s=k.selectedFolder,d=!1,n=s.$selectedCards(),a=_.filter(n,function(e){returne.$isCard()});a.length!=n.length&&u.show(u.simple().textContent(l("Lists can't be moved or copied.")).position("top right").hideDelay(2e3)),a.length&&("copy"==e?(o=s.$copyCards(a,t),r=l("%{0} card(s) copied",a.length)):(o=s.$moveCards(a,t),r=l("%{0} card(s) moved",a.length),a=_.map(a,"id"),d=s.selectedCard&&0<=a.indexOf(s.selectedCard)),o.then(function(){d&&i.go("app.addressbook"),u.show(u.simple().textContent(r).position("top right").hideDelay(2e3))}))}