mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-02-19 08:26:24 +00:00
2 lines
19 KiB
JavaScript
2 lines
19 KiB
JavaScript
!function(){"use strict";function l(e){var t;"function"!=typeof e.then?(this.init(e),this.name&&!this.id?(t=l.$$resource.create("createFolder",this.name),this.$unwrap(t),this.acls={objectEditor:1,objectCreator:1,objectEraser:1}):this.id&&(this.$acl=new l.$$Acl("Contacts/"+this.id))):this.$unwrap(e)}l.$factory=["$q","$timeout","$log","sgSettings","sgAddressBook_PRELOAD","Resource","Card","Acl","Preferences",function(e,t,i,r,s,n,o,a,d){return angular.extend(l,{$q:e,$timeout:t,$log:i,PRELOAD:s,$$resource:new n(r.activeUser("folderURL")+"Contacts",r.activeUser()),$Card:o,$$Acl:a,$Preferences:d,$query:{value:"",sort:"c_cn",asc:1},activeUser:r.activeUser(),$addressbooks:[],$subscriptions:[],$remotes:[],selectedFolder:null,$refreshTimeout:null}),d.settings.Contact.SortingState&&(l.$query.sort=d.settings.Contact.SortingState[0],l.$query.asc=parseInt(d.settings.Contact.SortingState[1])),l}];try{angular.module("SOGo.ContactsUI")}catch(e){angular.module("SOGo.ContactsUI",["SOGo.Common","SOGo.PreferencesUI"])}angular.module("SOGo.ContactsUI").constant("sgAddressBook_PRELOAD",{LOOKAHEAD:50,SIZE:100}).factory("AddressBook",l.$factory),l.$filterAll=function(n,o,e,a){var t={search:n};return n?(angular.isUndefined(o)&&(o=[]),angular.extend(t,e),l.$$resource.fetch(null,"allContactSearch",t).then(function(e){for(var t,i=function(e){return void 0===this.sourceID||void 0===e.sourceid?this.id==e.id:this.id==e.id&&this.sourceID==e.sourceid},r=a?_.filter(e.contacts,function(e){return _.isUndefined(_.find(a,_.bind(i,e)))}):e.contacts,s=o.length-1;0<=s;s--)t=o[s],_.isUndefined(_.find(r,_.bind(i,t)))&&o.splice(s,1);return _.forEach(r,function(e,t){_.isUndefined(_.find(o,_.bind(i,e)))&&(e=new l.$Card(_.mapKeys(e,function(e,t){return t.toLowerCase()}),n),o.splice(t,0,e))}),o})):(o=[],l.$q.when(o))},l.$add=function(t){var e=t.isSubscription?this.$subscriptions:this.$addressbooks,i=_.find(e,function(e){return"personal"==t.id||"personal"!=e.id&&1===e.name.localeCompare(t.name)}),i=i?_.indexOf(_.map(e,"id"),i.id):1;e.splice(i,0,t)},l.$findAll=function(e){var i=this;if(e&&e.length)this.$addressbooks.splice(0,this.$addressbooks.length),this.$subscriptions.splice(0,this.$subscriptions.length),this.$remotes.splice(0,this.$remotes.length),angular.forEach(e,function(e,t){e=new l(e);(e.isRemote?i.$remotes:e.isSubscription?i.$subscriptions:i.$addressbooks).push(e)});else if(angular.isArray(e))return l.$$resource.fetch("addressbooksList").then(function(e){return l.$findAll(e.addressbooks)});return _.union(this.$addressbooks,this.$subscriptions,this.$remotes)},l.$subscribe=function(e,t){var i=this;return l.$$resource.userResource(e).fetch(t,"subscribe").then(function(t){var e=new l(t);return _.isUndefined(_.find(i.$subscriptions,function(e){return e.id==t.id}))&&l.$add(e),e})},l.$reloadAll=function(){var i=this;return l.$$resource.fetch("addressbooksList").then(function(e){_.forEach(e.addressbooks,function(t){var e=t.isRemote?i.$remotes:t.owner!=l.activeUser.login?i.$subscriptions:i.$addressbooks,e=_.find(e,function(e){return e.id==t.id});e&&e.init(t)})})},l.prototype.init=function(e,t){var i=this;this.$$cards||(this.$$cards=[]),this.idsMap={},this.$cards=[],angular.forEach(e,function(e,t){"headers"!=t&&"cards"!=t&&(i[t]=e)}),this.isOwned=l.activeUser.isSuperUser||this.owner==l.activeUser.login,this.isSubscription=!this.isRemote&&this.owner!=l.activeUser.login},l.prototype.$id=function(){return this.id?l.$q.when(this.id):this.$futureAddressBookData.then(function(e){return e?e.id:l.$q.reject()})},l.prototype.getLength=function(){return this.$cards.length},l.prototype.getItemAtIndex=function(e){var t;return!this.$isLoading&&0<=e&&e<this.$cards.length&&(t=this.$cards[e],this.$lastVisibleIndex=Math.max(0,e-3),this.$loadCard(t))?t:null},l.prototype.$loadCard=function(e){var t,i,r=e.id,s=this.idsMap[r],n=this.$cards.length,r=!1;if(angular.isUndefined(this.ids)&&e.id)r=!0;else if(angular.isDefined(s)&&s<this.$cards.length&&(e.$loaded!=l.$Card.STATUS.NOT_LOADED&&(r=!0),t=Math.min(s+l.PRELOAD.LOOKAHEAD,n-1),this.$cards[t].$loaded!=l.$Card.STATUS.NOT_LOADED?(e=Math.max(s-l.PRELOAD.LOOKAHEAD,0),this.$cards[e].$loaded!=l.$Card.STATUS.LOADED&&(t=s,s=Math.max(s-l.PRELOAD.SIZE,0))):t=Math.min(s+l.PRELOAD.SIZE,n-1),this.$cards[s].$loaded==l.$Card.STATUS.NOT_LOADED||this.$cards[t].$loaded==l.$Card.STATUS.NOT_LOADED)){for(i=[];s<t&&s<n;s++)this.$cards[s].$loaded!=l.$Card.STATUS.NOT_LOADED?t++:(i.push(this.$cards[s].id),this.$cards[s].$loaded=l.$Card.STATUS.LOADING);l.$log.debug("Loading Ids "+i.join(" ")+" ("+i.length+" cards)"),0<i.length&&(e=l.$$resource.post(this.id,"headers",{ids:i}),this.$unwrapHeaders(e))}return r},l.prototype.hasSelectedCard=function(){return angular.isDefined(this.selectedCard)},l.prototype.isSelectedCard=function(e){return this.hasSelectedCard()&&this.selectedCard==e},l.prototype.$selectedCard=function(){var t=this;return _.find(this.$cards,function(e){return e.id==t.selectedCard})},l.prototype.$selectedCardIndex=function(){return _.indexOf(_.map(this.$cards,"id"),this.selectedCard)},l.prototype.$selectedCards=function(){return _.filter(this.$cards,function(e){return e.selected})},l.prototype.$selectedCount=function(){var e=0;return e=this.$cards?_.filter(this.$cards,function(e){return e.selected}).length:e},l.prototype.$startRefreshTimeout=function(){l.$refreshTimeout&&l.$timeout.cancel(l.$refreshTimeout);var e,t=l.$Preferences.defaults.SOGoRefreshViewCheck;t&&"manually"!=t&&(e=angular.bind(this,l.prototype.$reload),l.$refreshTimeout=l.$timeout(e,1e3*t.timeInterval()))},l.prototype.$reload=function(){return this.$startRefreshTimeout(),this.$filter()},l.prototype.$filter=function(u,e,c){var t,h=this,i=e&&e.dry;return i?t={value:"",sort:"c_cn",asc:1}:(this.$isLoading=!0,t=l.$query,this.isRemote||(t.partial=1)),e&&(angular.extend(t,e),i)&&!u?(h.$$cards=[],l.$q.when(h.$$cards)):(angular.isDefined(u)&&(t.value=u),h.$id().then(function(d){var e=l.$$resource.post(d,"view",t);return i?e.then(function(e){function i(e){return this==e.id}var t,r,s,n,o,a=h.$$cards;for(e.headers&&(n=_.invokeMap(e.headers[0],"toLowerCase"),o=n.indexOf("id"),e.headers.splice(0,1),t=_.map(e.headers,function(e){return e[o]})),e.ids&&(t=c?_.filter(e.ids,function(e){return _.isUndefined(_.find(c,_.bind(i,e)))}):e.ids),s=a.length-1;0<=s;s--)r=a[s],_.isUndefined(_.find(t,_.bind(i,r.id)))&&a.splice(s,1);return _.forEach(t,function(e,t){_.isUndefined(_.find(a,_.bind(i,e)))&&(e=new l.$Card({pid:d,id:e},u),a.splice(t,0,e))}),_.forEach(t,function(e,t){_.isUndefined(a[t])||a[t].id==e||(e=_.findIndex(a,_.bind(i,e)),e=a.splice(e,1),a.splice(t,0,e[0]))}),_.forEach(e.headers,function(e){var t=_.findIndex(a,_.bind(i,e[o]));-1<t&&(e=_.zipObject(n,e),a[t].init(e,u))}),a}):h.$unwrap(e)}))},l.prototype.$rename=function(e){var t=this,i=this.isSubscription?l.$subscriptions:l.$addressbooks,r=_.indexOf(_.map(i,"id"),this.id);return this.$save().then(function(){i.splice(r,1),t.name=e,l.$add(t)})},l.prototype.$delete=function(){var e,t=this,i=l.$q.defer(),r=this.isSubscription?(e=l.$$resource.fetch(this.id,"unsubscribe"),l.$subscriptions):(e=l.$$resource.remove(this.id),l.$addressbooks);return e.then(function(){var e=_.indexOf(_.map(r,"id"),t.id);r.splice(e,1),i.resolve()},i.reject),i.promise},l.prototype.$_deleteCards=function(r){var s=this;_.forEachRight(this.$cards,function(t,e){var i=_.findIndex(r,function(e){return t.id==e});-1<i?(r.splice(i,1),delete s.idsMap[t.id],s.isSelectedCard(t.id)&&delete s.selectedCard,s.$cards.splice(e,1)):s.idsMap[t.id]-=r.length})},l.prototype.$deleteCards=function(e){var t=this,i=_.map(e,"id");return l.$$resource.post(this.id,"batchDelete",{uids:i}).then(function(){t.$_deleteCards(i)})},l.prototype.$copyCards=function(e,t){e=_.map(e,"id");return l.$$resource.post(this.id,"copy",{uids:e,folder:t})},l.prototype.$moveCards=function(e,t){var i=this,r=_.map(e,"id");return l.$$resource.post(this.id,"move",{uids:r,folder:t}).then(function(){return i.$_deleteCards(r)})},l.prototype.$save=function(){return l.$$resource.save(this.id,this.$omit()).then(function(e){return e})},l.prototype.exportCards=function(e){var t=null,i={type:"application/octet-stream",filename:this.name+".ldif"};return e&&(e=_.filter(this.$cards,function(e){return e.selected}),t={uids:_.map(e,"id")}),t?l.$$resource.download(this.id,"export",t,i):l.$$resource.open(this.id,"export",t,i)},l.prototype.downloadProvisioningProfile=function(){var e,t={type:"application/octet-stream",filename:"addressbook.mobileconfig"},i=this.isSubscription?(i=this.urls.cardDavURL.indexOf("/dav/"),e=(i=this.urls.cardDavURL.substring(i+5).split(/\//))[0],e=l.$$resource.userResource(e),i[1]+"/"+i[2]):(e=l.$$resource,this.id);return e.open(i,"mobileconfig",null,t)},l.prototype.$unwrap=function(e){var n=this;this.$isLoading=!0,this.$futureAddressBookData=e.then(function(r){var s=_.map(n.$selectedCards(),"id");return l.$timeout(function(){var i;return(!r.ids||n.$topIndex>r.ids.length-1)&&(n.$topIndex=0),angular.forEach(l.$findAll(),function(e,t){e.id==r.id&&angular.extend(n,e)}),n.init(r),n.ids&&(l.$log.debug("unwrapping "+n.ids.length+" cards"),_.reduce(n.ids,function(e,t,i){t={pid:n.id,id:t};return n.idsMap[t.id]=i,(i=new l.$Card(t)).selected=-1<s.indexOf(i.id),e.push(i),e},n.$cards)),r.headers&&(i=_.invokeMap(r.headers[0],"toLowerCase"),r.headers.splice(0,1),n.ids?_.forEach(r.headers,function(e){var e=_.zipObject(i,e),t=n.idsMap[e.id];n.$cards[t].init(e)}):(n.$cards=[],angular.forEach(r.headers,function(e){var e=_.zipObject(i,e);angular.extend(e,{pid:n.id}),(e=new l.$Card(e)).selected=-1<s.indexOf(e.id),n.$cards.push(e)}))),n.$acl=new l.$$Acl("Contacts/"+n.id),n.$startRefreshTimeout(),n.$isLoading=!1,l.$log.debug("addressbook "+n.id+" ready"),n})},function(e){n.isError=!0,angular.isObject(e)&&l.$timeout(function(){angular.extend(n,e)})})},l.prototype.$unwrapHeaders=function(e){var r=this,s=l.$q.defer();return this.$futureHeadersData=s.promise,e.then(function(e){l.$timeout(function(){var t,i;0<e.length&&(t=_.invokeMap(e[0],"toLowerCase"),e.splice(0,1),_.forEach(e,function(e){e=_.zipObject(t,e),i=r.idsMap[e.id],angular.isDefined(i)&&r.$cards[i].init(e)})),s.resolve(r.$cards)})},function(){s.reject()}),this.$futureHeadersData},l.prototype.$omit=function(){var i={};return angular.forEach(this,function(e,t){"constructor"!=t&&"acls"!=t&&"ids"!=t&&"idsMap"!=t&&"urls"!=t&&"$"!=t[0]&&(i[t]=e)}),i}}(),function(){"use strict";function a(e,t){"function"!=typeof e.then?(this.init(e,t),this.pid&&!this.id&&(t=a.$$resource.newguid(this.pid),this.$unwrap(t),this.isNew=!0)):this.$unwrap(e)}a.$TEL_TYPES=["work","home","cell","fax","pager"],a.$EMAIL_TYPES=["work","home","pref"],a.$URL_TYPES=["work","home","pref"],a.$ADDRESS_TYPES=["work","home"],a.$factory=["$q","$timeout","sgSettings","sgCard_STATUS","encodeUriFilter","Resource","Preferences",function(e,t,i,r,s,n,o){return angular.extend(a,{STATUS:r,encodeUri:s,$$resource:new n(i.activeUser("folderURL")+"Contacts",i.activeUser()),$q:e,$timeout:t,$Preferences:o}),o.defaults.SOGoContactsCategories&&(a.$categories=o.defaults.SOGoContactsCategories),o.defaults.SOGoAlternateAvatar&&(a.$alternateAvatar=o.defaults.SOGoAlternateAvatar),a}];try{angular.module("SOGo.ContactsUI")}catch(e){angular.module("SOGo.ContactsUI",["SOGo.Common","SOGo.PreferencesUI"])}angular.module("SOGo.ContactsUI").constant("sgCard_STATUS",{NOT_LOADED:0,DELAYED_LOADING:1,LOADING:2,LOADED:3,DELAYED_MS:300}).factory("Card",a.$factory),a.$find=function(e,t){e=this.$$resource.fetch([e,t].join("/"),"view");return t?new a(e):a.$unwrapCollection(e)},a.filterCategories=function(e){var t=new RegExp(e,"i");return _.map(_.filter(a.$categories,function(e){return-1!=e.search(t)}),function(e){return{value:e}})},a.$unwrapCollection=function(e){var i={};return(i.$futureCardData=e).then(function(e){a.$timeout(function(){angular.forEach(e,function(e,t){i[e.id]=new a(e)})})}),i},a.prototype.init=function(e,t){var i=this;angular.isUndefined(this.refs)&&(this.refs=[]),angular.isUndefined(this.categories)&&(this.categories=[]),this.c_screenname=null,angular.extend(this,e),this.pid||(this.pid=this.container),this.$$fullname||(this.$$fullname=this.$fullname()),this.$$email||(this.$$email=this.$preferredEmail(t)),this.$$image||(this.$$image=this.image),this.$$image||(this.$$image=a.$Preferences.avatar(this.$$email,40,{no_404:!0})),this.hasphoto&&(this.photoURL=a.$$resource.path(this.pid,this.id,"photo")),this.isgroup&&(this.c_component="vlist"),this.$avatarIcon=this.$isList()?"group":"person",e.orgs&&e.orgs.length&&(this.orgs=_.map(e.orgs,function(e){return{value:e}})),e.notes&&e.notes.length?this.notes=_.map(e.notes,function(e){return{value:e}}):this.notes&&this.notes.length||(this.notes=[{value:""}]),angular.forEach(["addresses","phones","urls"],function(e){angular.forEach(i[e],function(e){e.type&&(e.type=e.type.toLowerCase())})}),angular.forEach(this.refs,function(e,t){e.email&&(e.emails=[{value:e.email}]),e.id=e.reference,i.refs[t]=new a(e)}),this.birthday&&angular.isString(this.birthday)&&(t=a.$Preferences.$mdDateLocaleProvider,this.birthday=this.birthday.parseDate(t,"%Y-%m-%d"),this.$birthday=t.formatDate(this.birthday)),this.$loaded=angular.isDefined(this.c_name)?a.STATUS.LOADED:a.STATUS.NOT_LOADED,this.empty=" "},a.prototype.$id=function(){return this.$futureCardData.then(function(e){return e.id})},a.prototype.$path=function(){return[this.pid,this.id]},a.prototype.$isLoading=function(){return this.$loaded==a.STATUS.LOADING},a.prototype.$reload=function(){var e;return this.$futureCardData?this:(e=a.$$resource.fetch(this.$path(),"view"),this.$unwrap(e))},a.prototype.$members=function(){var t=this;return this.members?a.$q.when(this.members):this.$isGroup({expandable:!0})?a.$$resource.fetch(this.$path(),"members").then(function(e){return t.members=_.map(e.members,function(e){return new a(e)}),t.members}):a.$q.reject("Card "+this.id+" is not an LDAP group")},a.prototype.$save=function(e){var t,i=this,r="saveAsContact";return"vlist"==this.c_component&&(r="saveAsList",_.forEach(this.refs,function(e){e.reference=e.id})),t=this.$omit(),e&&e.ignoreDuplicate&&angular.extend(t,e),a.$$resource.save([a.encodeUri(this.pid),a.encodeUri(this.id)||"_new_"].join("/"),t,{action:r}).then(function(e){return i.birthday&&(i.$birthday=a.$Preferences.$mdDateLocaleProvider.formatDate(i.birthday)),i.$shadowData=i.$omit(!0),e})},a.prototype.$delete=function(e,t){if(!e)return a.$$resource.remove(this.$path());-1<t&&this[e].length>t?this[e].splice(t,1):delete this[e]},a.prototype.export=function(){var e={uids:[this.id]},t={type:"application/octet-stream",filename:this.$$fullname+".ldif"};return a.$$resource.download(this.pid,"export",e,t)},a.prototype.$fullname=function(t){function e(e){return t&&t.html&&e&&0<e.length?e.replace(/./gm,function(e){return"&#"+e.charCodeAt(0)+";"}):e}var i,r=e(this.c_cn)||"",s=t&&t.html;return 0===r.length&&(i=[],this.c_givenname&&0<this.c_givenname.length&&i.push(e(this.c_givenname)),this.nickname&&0<this.nickname.length&&i.push((s?"<em>":"")+e(this.nickname)+(s?"</em>":"")),this.c_sn&&0<this.c_sn.length&&i.push(e(this.c_sn)),0<i.length?r=i.join(" "):this.org&&0<this.org.length?r=e(this.org):this.emails&&0<this.emails.length&&(s=_.find(this.emails,function(e){return""!==e.value}))&&(r=e(s.value))),this.contactinfo&&(r+=" ("+e(this.contactinfo.split("\n").join("; "))+")"),r},a.prototype.$description=function(){var e=[];return this.title&&e.push(this.title),this.role&&e.push(this.role),this.org&&e.push(this.org),this.orgs&&(e=_.concat(e,_.map(this.orgs,"value"))),this.description&&e.push(this.description),e.join(", ")},a.prototype.$preferredEmail=function(e){var t,i;return e&&(i=new RegExp(e,"i"),t=_.find(this.emails,function(e){return i.test(e.value)})),t=(t=t||_.find(this.emails,function(e){return"pref"==e.type}))?t.value:this.emails&&this.emails.length?this.emails[0].value:this.c_mail&&this.c_mail.length?this.c_mail[0]:""},a.prototype.$shortFormat=function(e){var t=[this.$$fullname],e=this.$preferredEmail(e);return e&&e!=this.$$fullname&&t.push(" <"+e+">"),t.join(" ")},a.prototype.$isCard=function(){return"vcard"==this.c_component},a.prototype.$isList=function(e){e=!e||!e.expandable||e.expandable&&!this.isgroup;return"vlist"==this.c_component&&e},a.prototype.$isGroup=function(e){e=!e||!e.expandable||e.expandable&&a.$Preferences.defaults.SOGoLDAPGroupExpansionEnabled;return this.isgroup&&e},a.prototype.$addOrg=function(e){return angular.isUndefined(this.orgs)?this.orgs=[e]:e==this.org||_.includes(this.orgs,e)||this.orgs.push(e),this.orgs.length-1},a.prototype.$addEmail=function(e){return angular.isUndefined(this.emails)?this.emails=[{type:e,value:""}]:_.isUndefined(_.find(this.emails,function(e){return""===e.value}))&&this.emails.push({type:e,value:""}),this.emails.length-1},a.prototype.$addScreenName=function(e){this.c_screenname=e},a.prototype.$addPhone=function(e){return angular.isUndefined(this.phones)?this.phones=[{type:e,value:""}]:_.isUndefined(_.find(this.phones,function(e){return""===e.value}))&&this.phones.push({type:e,value:""}),this.phones.length-1},a.prototype.$addUrl=function(e,t){return angular.isUndefined(this.urls)?this.urls=[{type:e,value:t}]:_.isUndefined(_.find(this.urls,function(e){return e.value==t}))&&this.urls.push({type:e,value:t}),this.urls.length-1},a.prototype.$addAddress=function(e,t,i,r,s,n,o,a){return angular.isUndefined(this.addresses)?this.addresses=[{type:e,postoffice:t,street:i,street2:r,locality:s,region:n,country:o,postalcode:a}]:_.find(this.addresses,function(e){return e.street==i&&e.street2==r&&e.locality==s&&e.country==o&&e.postalcode==a})||this.addresses.push({type:e,postoffice:t,street:i,street2:r,locality:s,region:n,country:o,postalcode:a}),this.addresses.length-1},a.prototype.$addMember=function(e){var t,i=new a({email:e,emails:[{value:e}]});if(angular.isUndefined(this.refs))this.refs=[i];else if(0===e.length)this.refs.push(i);else{for(t=0;t<this.refs.length&&this.refs[t].email!=e;t++);t==this.refs.length&&this.refs.push(i)}return this.refs.length-1},a.prototype.$certificate=function(){var t=this;return this.hasCertificate?this.$$certificate?a.$q.when(this.$$certificate):a.$$resource.fetch(this.$path(),"certificate").then(function(e){return t.$$certificate=e}):a.$q.reject()},a.prototype.$removeCertificate=function(e){var t=this;if(e)return a.$$resource.fetch(this.$path(),"removeCertificate").then(function(){t.hasCertificate=!1});this.hasCertificate=!1},a.prototype.explode=function(){var t,i=[];return this.emails?1<this.emails.length?(t=this.$omit(),_.forEach(this.emails,function(e){e=new a(angular.extend({},t,{emails:[e]}));i.push(e)}),i):[this]:[]},a.prototype.$reset=function(){var i=this;angular.forEach(this,function(e,t){"constructor"!=t&&"$"!=t[0]&&delete i[t]}),this.init(this.$shadowData),this.$shadowData=this.$omit(!0)},a.prototype.$unwrap=function(e){var t=this;return this.$loaded=a.STATUS.DELAYED_LOADING,a.$timeout(function(){t.$loaded!=a.STATUS.LOADED&&(t.$loaded=a.STATUS.LOADING)},a.STATUS.DELAYED_MS),this.$futureCardData=e.then(function(e){return t.init(e),t.$loaded=a.STATUS.LOADED,t.$shadowData=t.$omit(!0),t}),this.$futureCardData},a.prototype.$omit=function(i){var r={};return angular.forEach(this,function(e,t){"refs"==t?r.refs=_.map(e,function(e){return e.$omit(i)}):"constructor"!=t&&"$"!=t[0]&&(r[t]=i?angular.copy(e):e)}),i||(r.birthday=r.birthday?r.birthday.format(a.$Preferences.$mdDateLocaleProvider,"%Y-%m-%d"):""),this.orgs&&(r.orgs=_.map(this.orgs,"value")),this.notes&&(r.notes=_.map(this.notes,"value")),r},a.prototype.toString=function(){var e=this.id+" "+this.$$fullname;return this.$$email&&(e+=" <"+this.$$email+">"),"["+e+"]"}}();
|
|
//# sourceMappingURL=Contacts.services.js.map
|